Xem mẫu

  1. NHẬN DẠNG SỐ VIẾT TAY SỬ DỤNG THUỘC TÍNH HOG KẾT HỢP VỚI SUPPORT VECTOR MACHINE MCS HOG FEATURES AND SUPPORT VECTOR MACHINE BASED HANDWRITTEN DIGIT RECOGINITION SYSTEM Đỗ Thị Thanh Nga Trường Đại học Công nghệ và Quản lý Hữu Nghị Email: thanhngait94@gmail.com Nguyễn Vân Anh Trường Đại học Kinh Doanh và Công Nghệ Hà Nội Email: vnvananhcomputer@gmail.com Ngày tòa soạn nhận được bài báo: 28/11/2018 Ngày phản biện đánh giá: 18/12/2018 Ngày bài báo được duyệt đăng: 28/12/2018 Tóm tắt: Nhận dạng chữ số viết tay là một bài toán khó nhưng có rất nhiều ứng dụng trong thực tế. Nhận dạng chữ số viết tay có thể ứng dụng trong nhận dạng số báo danh tự động, nhận dạng câu trả lời trắc nghiệm tự động,… Mục tiêu của bài báo là nghiên cứu về thuộc tính trích chọn đặc trưng HOG và thuật toán học máy SVM, đồng thời sử dụng SVM với thuộc tính HOG trong nhận dạng chữ số viết tay cho bài toán nhận dạng số báo danh tự động. Từ khóa: Summary: Handwriting digit recognition is a difficult problem but there are many practical applications. Handwritten alphanumeric identification can be applied in automatic attendance check, automatic multiple choice test answer identification, etc. The objective of the paper is to study the attribute HOG features and SVM, while using SVM with HOG attribute in hand writeen digit identification for automatic attendance check. Keywords: HOG, SVM, MNIST TẠP CHÍ KHOA HỌC 15 QUẢN LÝ VÀ CÔNG NGHỆ
  2. I. TỔNG QUAN NHẬN DẠNG CHỮ SỐ Nhận dạng chữ số là đề tài thu hút rất nhiều nhà nghiên cứu quan tâm. Nhận dạng chữ số được chia thành 2 loại: Nhận dạng chữ số in và nhận dạng chữ số viết tay. Và trong bài báo này ta sẽ chỉ tìm hiểu về nhận dạng chữ số viết tay. Các bước trong nhận dạng chữ số Bước 1: Tiền xử lý Bước này sẽ giúp tăng độ chính xác cho hệ thống nhận dạng. Vì trong quá trình quét ảnh sẽ gặp các loại nhiễu, kích thước ảnh không đồng nhất hoặc ảnh thiếu ánh sáng trong quá trình chụp. Bước 2: Tách các chữ số Ở bước này sẽ tiến hành tách từng riêng từng ký tự để phục vụ nhận dạng. Vì chỉ khi tách riêng từng ký tự đơn ra khỏi một tổng thể lớn thì hệ thống mới dễ dàng phân lớp và nhận dạng. Bước 3: Trích rút đặc trưng Đặc trưng của ảnh là những đặc điểm riêng biệt giúp phân biệt ảnh này với ảnh khác. Và để giảm độ phức tạp và tăng độ chính xác của thuật toán thì đòi hỏi các đặc trưng được trích chọn rút gọn nhưng vẫn đảm bảo đủ thông tin đối tượng. Từ những tiêu chí trên ta phải tập hợp được đặc trưng riêng cho từng lớp để phân biệt các lớp với nhau. Bước 4: Huấn luyện và Nhận dạng • Huấn luyện Dữ liệu huấn luyện sau khi qua các khâu tiền xử lý và trích chọn đặc trưng sẽ được đưa vào huấn luyện. Sau khi kết thúc quá trình huấn luyện, hệ thống sẽ lưu lại giá trị các tham số của hàm quyết định phân lớp để phục vụ cho việc nhận dạng sau này. Quá trình huấn luyện tiêu tốn khá nhiều thời gian. Tốc độ huấn luyện nhanh hay chậm còn tùy thuộc vào từng thuật toán huấn luyện, chiến lược và số lượng mẫu tham gia huấn luyện. • Nhận dạng Để nhận dạng thì có rất nhiều các phương pháp khác nhau, mỗi phương pháp đều có những đặc điểm riêng. Từ bộ dữ liệu đã được huấn luyện kết hợp với các thuật toán phân lớp dữ liệu ta sẽ đưa ra được kết quả nhận dạng. II. TRÍCH CHỌN ĐẶC TRƯNG VỚI HOG Histogram of Oriented Gradients là một bộ vector mô tả đặc trưng của đối tượng. Nó trích rút những thông tin đặc trưng hữu ích bằng cách loại bỏ những thông tin dư thừa gây nhiễu với mục đích để phát hiện đối tượng. Bài toán tính toán HOG gồm 5 bước: 16 TẠP CHÍ KHOA HỌC QUẢN LÝ VÀ CÔNG NGHỆ
  3. Bước 1: Tiền xử lý quan tâm, sau đó sẽ cắt và điều chỉnh kích thước Đầu tiên ta phải xác về định cùngđược mộtđốikíchtượng thướccầncho trước (Tùy vào từng quan tâm, sau đó sẽ cắt vàtoán điềumàchỉnh kíchrathước ta đưa ảnhthước cụ thể) tỉ lệ kích Bước 1: Tiền xử lý về cùng một kích thước cho trước Ở (Tùy đây ta vàobài lấy từng bàinhận dạng người để làm toán Đầu tiêntoán màxác ta phải ta đưa định ra tỉ lệđốikích được thước tượng cần cụ thể) quan tâm, sau đó sẽ cắt và điều chỉnh kích dụ: thước ảnh về cùng một kích thước cho trước (Tùy vào từng bài toán mà ta đưa ra tỉ lệ kích thước cụ thể) Ở đây ta lấy bài toán nhận dạng người để làm ví Từ một bức ảnh tổng thể có kích thước ban dụ: Ở đây ta lấy bài toán nhận dạng người 720x475 ta tiến hành cắt đối tượng cần quan tâm để làm ví dụ: Từtổng Từ một bức ảnh mộtthểbức ảnhthước có kích tổng ban thểđầu kích có kích64x128 thước thước 720x475 ta tiếnban lệđầu (tỉhành 1:2) cắt đối tượng cần quan tâm về kích720x475 ta tiến thước 64x128 (tỉ lệ hành 1:2) cắt đối tượng cần quan tâm về kích thước 64x128 (tỉ lệ 1:2) Hình Bước 3: Tính cells 8x8 Chia ảnh Với mỗi thàn 8x8x3= 192 nhỏ đó chỉ c Hình 2.1. Điều chỉnh và phân tách ảnh Gradient chỉ c Bước 2: Tính toán Gradient của các hình Và ảnh để vi Hình 2.1. Điều chỉnh và phân tách ảnh. Hình 2.1. Điều chỉnhĐầu cácảnhgradient chiều diễn tiêntách và phân ngang128vàgiáct Bước 2: Tính toán Gradient của các hình ảnh thẳng. trưng cho hư Bước 2: Tính toán Gradient của các hình ảnh Sau đó, chúng ta sẽ tính toán biểu đồ của Đầu tiên các gradient chiều Điều gradient. ngangnàyvà sẽchiều thực hiện được góc 0,dựa 20,40,… trên Đầu tiên các gradient chiều ngang và chiều thẳng. Sau đó, chúng ta sẽ tính toán biểu đồ của thẳng. Sau đó, chúng ta sẽthống tính toán biểu (kernels) các nhân đồ của các sau: các gradient. Điều này sẽ thực hiện được dựa trên hệ thống các nhân (kernels) sau: Ví dụ vớ gradient. Điều này sẽ thực hiện được dựa trên hệ được vẻ bên n Điều nàythống các nhân (kernels) sau: tính được bằng cách sử dụng toán tử Sobel trong OpenCV với lõi kích cỡ là 1. # Read image im = cv2.imread (‘bolt.png’) im = np.float32 (im) / 255.0 # Calculate gradient Điều này tính được bằng cách sử dụng toá Sobel trong OpenCV với lõi kích cỡ là 1. gx = cv2.Sobel(img,cv2.CV_32F, 1, 0, ksize =1) Điều này tính được bằng cách sử dụng toán tử # Read image Sobel trong OpenCV với gy = cv2.Sobel(img,cv2.CV_32F, 0, 1, lõi kích ksize =1) cỡ là 1. im = cv2.imread (‘bolt.png’) # Read Tiếp theo chúng image ta sẽ tìm được độ lớn và hướng của gradien bằng công thức sau: im = np.float32 (im) / 255.0 Ở giữa: im = )cv2.imread (‘bolt.png’) g= √(g_x^2+g_y^2 gradient bằng im = np.float32 (im) / 255.0 TẠP CHÍ KHOA HỌC 17 QUẢN LÝ VÀ CÔNG NGHỆ
  4. 𝑔𝑔 = √𝑔𝑔𝑥𝑥 + 𝑔𝑔𝑦𝑦 t bộ hcần rút 𝜃𝜃 = 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑔𝑔𝑦𝑦 ảnh ại bỏ θ=arctan g_y/g_x 𝑔𝑔𝑥𝑥 chbài để Kết quả sauKết khi tính quảtoán saugradient khi tínhchúng toántagradient sẽ có nhưchúng sau: ta sẽ có như sau: m ví Sobel theo chiều x Sobel theo chiều y Cường độ gradient đầu g cần m về c ảnh Hình 2.2. Phân tích ảnh bằng gradient g bài Bước 3: Tính toán biểu đồ các Gradient trong một àm ví cells 8x8 Chia ảnh thành các ô có kích thước 8x8 pixel. n đầu Với mỗi thành phần nhỏ trong ô ảnh màu sẽ chứa m về 8x8x3= 192 giá trị pixel. Còn với Gradient thì phần Hình Hình 2.2. 2.2. Phân tíchtích Phân ảnh ảnhbằng bằnggradient gradient nhỏ đó chỉ chưa 8x8x2=128 giá trị pixel vì trong BướcGradient 3: Tính toán chỉbiểu chứađồ các 2 giáGradient trong trị là độ lớnmột vàcells 8x8 hướng. Bước Chia ảnh Và3:để thành Tính các ô cótoán việc biểu diễn đồ kích thước biểu 8x8 các lên Gradient trở pixel. trong Với mỗi thành gọn hơn ta sẽphần một biểu nhỏ trong ô ảnh màu sẽ chứa 8x8x3= 192 giá trị pixel. Còn với Gradient thì phần nhỏ đó chỉ chưa 8x8x2=128 giá trị pixel cells128 diễn vì trong Gradient 8x8 chỉgiá chứatrị2đó giátrên trị là một biểu độ lớn đồ có 9 hướng tượng và hướng. trưng Chia cho hướng của các ảnhtrởthành gradient. Nó tương ứng với 9 Và để việc biểu diễn lên gọn hơnô tacósẽkích thước biểu diễn 1288x8 pixel. giá trị đó trên một biểu đồ có 9 góc hiều hướng tượng 0,mỗi 20,40,…,160. Vớitrưng thành cho hướng phần nhỏ trong của gradient. ô ảnhứng Nó tương màuvới 9sẽgóc chứa 0, 20,40,…,160. các 8x8x3= Ví dụ với hình dụ192 Ví ảnh với giáx trị nhỏ 8hình pixel. ảnh 8 chúng nhỏCòn xvới ta sẽ 8nhận Gradient 8được chúng thìnhận ta sẽ vẻ bên ngoài phần của gradient. n hệ nhỏ vẻ được đó bên chỉ ngoài chưa của 8x8x2=128 gradient. giá trị pixel vì trong Gradient chỉ chứa 2 giá trị là độ lớn và hướng. Và để việc biểu diễn trở lên gọn hơn ta sẽ biểu h. diễn 128 giá trị đó trên một biểu đồ có 9 hướng tượng trưng cho hướng của gradient. Nó tương ứng với 9 chiều góc 0, 20,40,…,160. a các Ví dụ với hình ảnh nhỏ 8 x 8 chúng ta sẽ nhận n hệ được vẻ bên ngoài của gradient. n tử Ở giữa: MộtỞhình giữa: Một vàhình nhỏ RGB trình nhỏ RGB bày các và bằng gradient trìnhcách bàysửcác dụng mũi tên. gradient bằng cách sử dụng mũi tên. 18 TẠP CHÍ KHOA HỌC QUẢN LÝ VÀ CÔNG NGHỆ
  5. Từ hình ảnh trên ta thấy, các mũi tên được trình bày với hướng của các gradient và độ dài chỉ cường Bên phải: Các gradient cùng một phần được biểu diễn dưới các con số. độ của các gradient. Hình 2.3. Ảnh được phân tích độ lớn và hướng Ở bên phải chúng ta thấy các số nguyên thể hiện Từ hình ảnh trên ta thấy, các mũi tên được trình bày với hướng của các gradient và độ dài cácđộgradient chỉ cường trong các ô 8 x 8 với một sự khác biệt của các gradient. nhỏ - các góc nằm ở giữa 0 và 180 thay vì 0 đến 360. Ở bên phải chúng ta thấy các số nguyên thể hiện các gradient trong các ô 8 x 8 với một sự Vìnhỏ khác biệt ở đây mộtnằm - các góc mũi tên 0của ở giữa gradient và 180 thay vì 0 và đếnmột góc 360. Vì 180 ở đây mộtđộ mũi tên của gradient và mộtđối diệnđộđược góc 180 coi đối diện là giống được nhau. coi là giống nhau. Dưới đây là kết quả việc miêu tả quá trình minh họa biểu đồ gradient: Dưới đây là kết quả việc miêu tả quá trình minh họa biểu đồ gradient: Hì đồ gradie Với P góc là 165 bin tương giữa bin 1 Khoả Khoả = 0.75. Do k trọng số phân bố v Hình 2.4. Bảng minh họa biểu đồ gradient Bin 1 Hình 2.4. Bảng minh họa biểu đồ gradient nhận giá t Tại các pixel bao quanh màu xanh. Nó là các giá trị là 2 Tại các pixel bao quanh màu xanh. Nó là các góc (hướng) của 80 độ và giá trị cường độ là góc 2. Vì vậy (hướng) sẽ thêm của 2 vào vị trí 580 độdãyvàtương trong giá ứng trị với cường 80 độ.độ là 2. Vì Lần l vậy sẽ thêm 2 vào vị trí 5 trong dãy tương ứng với 80 Với các pixel xung quanh màu đỏ có giá trị góc là 10 độ và giá trị cường độ là 4. Vớichúng 10 độ ta đ độ. là một nửa giữa 0 và 20 độ: Với • Khoảng các cách từ 0pixel -> 10 =xung quanh 10, tỉ lệ 10/20 =màu 0.5 đỏ có giá trị góc là 10 độ • Khoảng cáchvà giá->trị từ 10 20 =cường 10, tỉ lệ độ là=4. 10/20 0.5Với 10 độ là một nửatrịgiữa  Giá cường0độ vàgradient 20 độ:g = 4 phân bố đều cho hai góc 0 và 20, mỗi góc có giá trị 4x0.5 = 2.  Khoảng cách từ 0 -> 10 = 10, tỉ lệ 10/20 = 0.5  Khoảng cách từ 10  20 = 10, tỉ lệ 10/20 QUẢN = 0.5TẠP CHÍ KHOA HỌC LÝ VÀ CÔNG NGHỆ 19  Giá trị cường độ gradient g = 4 phân bố đều cho hai góc 0 và 20, mỗi góc có giá trị 4x0.5
  6. 60. độ n được biểu inh hướng Hình 2.5. Điều chỉnh bảng minh họa biểu đồ gradient được trình chỉ cường Với Pixel ở vị trí khoanh tròn xanh lá có giá trị ên thể hiện góc là 165, giá trị cường độ là 85. Trong histogram 9 ự khác biệt bin tương ứng với các góc 0 -> 180 nên góc 165 nằm 0 đến 360. giữa bin 160 và bin 0. góc 180 độ Khoảng cách từ 160 -> 165 = 5, tỉ lệ 5/20 = 0.25 trình minh Khoảng cách từĐiều 165 -> 180bảng (~0)minh = 15,họa tỉ lệbiểu 15/20 Hình Hình 2.5. 2.5. Điều chỉnh chỉnh bảng minh họa biểu đồ gradient = 0.75. đồ gradient Với Pixel ở vị trí khoanh tròn xanh lá có giá trị góc là 165, giá trị cường độ là 85. Trong histogram 9 binDo tươngkhoảng ứng với cách các góctừ0 -> 165 180 -> nên160 gầnnằm góc 165 hơn giữanênbin 160 và bin 0. trọng số Với Pixel phân bốở vào vị trí bin khoanh 160tròn sẽ xanh lá có giá là 0.75, trị số trọng Khoảng cách từ 160 -> giá 165trị = 5, tỉ lệ 5/20 độ là= 85. 0.25Trong histogram 9 phângóc bố là 165, vào bin0 cường sẽ là 0.25. bintừtương Khoảng cách 165 ->ứng 180với các (~0) góctỉ0lệ->15/20 = 15, 180 =nên góc 165 nằm 0.75. nt Bin giữa 160 sẽ vànhận bin 160 bin 0.giá trị 85x0.75 = 63.75, bin 0 Do khoảng cách từ 165 -> 160 gần hơn nên trọng số phân bố vào bin 160 sẽ là 0.75, trọng nhận giá trị 85x0.2 số phân bố vào bin0Khoảng cách = sẽ là 0.25. từ 1.25. 160 ->Ở bước 165 = 5, tỉtrước bin lệ 5/20 0 đã có = 0.25 các giá trị là 2, nên bin 0 sẽ có giá trị là 2 + 21.25 = 23.25 Bin 160 sẽ nhậnKhoảng cách từ=165 giá trị 85x0.75 -> 180 63.75, bin 0(~0) nhận= giá 15, trị tỉ lệ 15/20= 1.25. Ở bước trước bin 85x0.2 Vì = Lần 0 đã có giá trị là 0.75. lượt 2, nên bin tính cho 0 sẽ có tấtlà cả giá trị 2 + các 21.25ô= 23.25 trong cell trên, 80 chúng Lần lượt tính ta chođược Do cảbiểu các ôđồ tất khoảng histogram cách trong từ cell165 trên,->như 160sau: chúng tagần hơn được nên biểu đồ histogram như sau: trọng số phân bố vào bin 160 sẽ là 0.75, trọng số góc phân bố vào bin0 sẽ là 0.25. gradient một Bin 160 sẽ nhận giá trị 85x0.75 = 63.75, bin 0 nhận giá trị 85x0.2 = 1.25. Ở bước trước bin 0 đã có . Nó là các giá trị là 2, nên bin 0 sẽ có giá trị là 2 + 21.25 = 23.25 độ là 2. Vì Lần lượt tính cho tất cả các ô trong cell trên, 5ứng với 80 chúng ta được biểu đồ histogram như sau: đều giá trị góc 0.5 0 độ là một 20 = 0.5 20 = 0.5 hân bố đều Hình 2.6. Biểu Hình 2.6. đồ đánh Biểu giá giá đồ đánh kếtkết quảquả iá trị 4x0.5 20 Bước TẠP CHÍ4: Chuẩn KHOA HỌC hóa khối 16 x 16 QUẢN LÝ VÀ CÔNG NGHỆ Các Gradient rất nhạy cảm với ánh sáng, nhất là các vùng chồng lấn lên nhau. Vì thế chúng ta sẽ
  7. càng lớn thì mặ thời việc phân lo Bước 4: Chuẩn hóa khối 16 x 16 Các Gradient rất nhạy cảm với ánh sáng, nhất là các vùng chồng lấn lên nhau. Vì thế chúng Ta thấy mỗi ta sẽ khốihóa chuẩn 16x16 sẽđồ lại biểu gồm 4 ô 8x8 để chúng khôngmàbị1ảnh ô hưởng với 1. cácÝ biến tưởngđổi của thuật toán: ánh sáng. có vector histogram kích thước là 9x1. Vậy một Cho trước một tập huấn lu Ở đây thay vì chuẩn hóa vector 16x16 sẽ có vector histogram kích thước là histogram từng ô 8x8, tadiễn trên hóa sẽ chuẩn mộtcho từng gian không khối 16x16. vector. Ph 1. Việc chuẩn Ta thấyhóa mỗi vecto 36 xsẽ1 gồm khối 16x16 được 4 ôtính mà 1 ô 8x8 có sẽ 8x8 toán tìm histogram vector ra một siêukíchphẳng thước là và9x1. quyết đ một cửa sổ trượt với bước di chuyển là 8 pixel, Vậy một khối 16x16 sẽ có vector histogram kích thước là phân tách thành các lớp trên không 36x1. Việc chuẩn hóa vecto 36 x 1 gi được tính toán trên một lần lượt trượt cửa sổ 16x16Hình cửa sổ trượt từ trái với bước di chuyển là 8 pixel, và ta lần lượt trượt cửa sổ 2.7.qua Quáphải, trìnhtừ của 16x16 di chuyển khối siêu phẳng này được quyết địn 16x16 từ trái qua phải, từ trên xuống dưới đến khi hết hình. xuống dưới đến khi hết hình. Bước 5: Tính toán vecto đặc trưng HOG cách (gọi là biên) của điểm dữ liệu gầ lớp đến Bước 5:cho mặttoán Tính phẳng này. KhiHình vecto đặc trưng đó kho 3.2 Để tính toán vecto đặc trưng cuối cùng toàn bộ các hình ảnh nhỏ, các đoạn vecto HOGcàng lớn thì mặt phẳng quyết định 36 x 1 sẽ được kho thời việc phân loại càng chính xác. nối lại thành một vecto khổng lồ. VàĐể đâytính là cách toántính vecto đặc trưng cuối vecto này: cùng cho toàn bộ các hình ảnh2. nhỏ, Các bước ch các Chúng ta có bao nhiêu vị tríđoạn của vecto 36 x16 các khối 1 sẽ x được nối lạiĐầu thành vào của một vecto khổng lồ. Và đây là cách tính 16? Có 7 vị trí nằm ngang và 15 dọc tổng cộng sẽ có vecto này: Tiền xử lý d 7 x 15 = 105 vị trí quá trình tính to Chúng ta có bao nhiêu vị trí của các Mỗi khối 16 x 16 sẽ biểu diễn một vecto 36 x 1. khối 16 x 16? Có 7 vị trí nằmthuộc ngangtính.và Thư Vì vậy chúng ta sẽ có một vecto khổng lồ, vecto đó 15 dọc tổng cộng sẽ có 7 x 15 chuyển= 105 vịvề tríđoạn [ chứa một vecto 36 x 105 = 3780 chiều. Mỗi khối 16 x 16 sẽ biểu diễn Chọnmộthàm h III. THUẬT TOÁN SVM vecto 36 x 1. Vì vậy chúng tahợp sẽ cótương một ứng HìnhHình 2.7. 2.7. QuáQuá trình didichuyển trình SVM khối chuyển khối 16x16 thực hiện 16x16chuyển tập vectomẫu từ không khổng gian đó chứachính lồ, vecto xác cao tro một vecto c 5: Tính toán vecto đặc biểu diễn HOG trưng Rn của chúng sang một 36không x 105 =gian 3780 Rdchiều. có Thực hiện v số chiều lớn hơn. Trong không gian Rd tìm một Hình siêu3.2. Siêutham phẳng phân số cho ứngc Để tính toán vecto đặc trưng phẳng cuối tối ưucùng để cho toàn phân hoạch tập mẫu này dựa trên khoảng cách biên lớn cá nh III. THUẬT TOÁN SVM Sử dụng ác hình ảnh nhỏ, các đoạn phânvecto lớp của 36chúng, x 1 sẽcóđược nghĩa là tìm ra miền phân bổ mẫu: trong quá tr ại thành một SVM vecto khổng thực hiện củalồ. chuyển Và từng đâytrong tậplớp mẫu là không từ cách khôngtínhgian gian biểu biểu diễn diễn RnRn, củađể từ đósang một không gian chúng tối tập ưu mẫu hóa khoản o này:Rd có số chiều lớn hơn. xác Trong định không gian Rd được phân lớptìmcủamộtmột siêumẫu phẳng 2. tối ưu nhận Các bướcđể phân hoạch dạng. chính trình phân lớp, x này dựa trên phân lớp SVMcủa chúng, là một có nghĩa là phương tìm có pháp ra miền tính phân tổng bổ của quát từng cao, cólớp trong không gian Chúngbiểu ta diễn có bao Rn, nhiêu để từ đóvịxác thể trí định được của các dụngkhối áp được phân 16 lớpxcủa cho nhiều bàimột toánmẫunhận Đầu nhận dạng vào kháccủa dạng. SVMthuật gian toán là một đặc trưng là các phương vecn Có 7 vị trí có pháp nằmtínhngang và tổng quát 15 cao,dọc nhau. tổng có thể cộng được ápsẽ dụngcó cho nhiều bài toán nhận dạng khácgian nhau.đặc trưng bằ Tiền xử lý dữ liệu:làBiến kiểm đổi dữ dl thử tập 15 = 105 vị trí quá trình tính toán, tránh các số quá Mỗi khối 16 x 16 sẽ biểu diễn một vecto 36 x 1. 3. Các dạng b thuộc tính. Thường nên co giãn (s Bài toán ậy chúng ta sẽ có một vecto khổng lồ, vecto đó chuyển về đoạn [-1, 1] hoặc [0, 1].  Bài toán một vecto 36 x 105 = 3780 chiều.  hàP Chọn hàm hạt nhân: lựa chọn THUẬT TOÁN SVM hợp tương ứng cho từng bài toán  cP SVM thực hiện chuyển tập mẫu từ không gian chính xác cao trong quá trình phân lớp diễn Rn của chúng sang một không gianPhân Rd có Thực hiệngian việc Rd.kiểm tra chéo đ Hình Hình 3.1. Phân hoạch tập3.1. hoạchgian mẫu từ không tập Rn mẫusang từ không không IV. THỰC NGH hiều lớn hơn. Trong không gian Rd tìmRn gian một siêu sang Rd. số cho ứng dụng.1. Mô tả bài to không gian tham g tối ưu để phân hoạch tập mẫu này dựa trên Hiện nay, c TẠP CHÍ KHOA HỌC 21 SửQUẢN dụng LÝ VÀcác CÔNGtham số cho nghiệm NGHỆ huấn được sử lớp của chúng, có nghĩa là tìm ra miền phân bổ mẫu: trong quá trình huấn luyện sẽ sử ừng lớp trong không gian biểu diễn Rn, để từ đó tối ưu hóa khoảng cách giữa các siêu
  8. 1. Ý tưởng của thuật toán: Cho trước một tập huấn luyện được biểu diễn trên một không gian vector. Phương pháp này 1. Ý tưởng của thuật toán: sẽ tìm ra một siêu phẳng và quyết định tốt nhất để phân tách Cho thành trướccác mộtlớp tậptrên không huấn luyệngian. đượcChấtbiểulượng diễn trên một không gian vector. Phương pháp này của sẽ siêu tìm raphẳng nàyphẳng một siêu được vàquyết định quyết địnhbởi tốtkhoảng nhất để phân tách thành các lớp trên không gian. Chất cách (gọicủa lượng là biên) siêu của phẳngđiểm dữđược này liệu gần nhấtđịnh quyết của bởi mỗi khoảng cách (gọi là biên) của điểm dữ liệu gần lớp đếncủa nhất mặt phẳng mỗi này.mặt lớp đến Khiphẳng đó khoảng này. Khicách biên đó khoảng cách biên càng lớn thì mặt phẳng quyết định càng lớn thì mặt phẳng quyết định càng tốt, càng tốt, đồng thời việc phân loại càng chính xác. đồng thời việc phân loại càng chính xác. 2. Các bước chính Đầu vào của thuật toán là các vector của số thực. Tiền xử lý dữ liệu: Biến đổi dữ liệu phù hợp cho quá trình tính toán, tránh các số quá lớn mô tả các thuộc tính. Thường nên co giãn (scaling) dữ liệu chuyển về đoạn [-1, 1] hoặc [0, 1]. Chọn hàm hạt nhân: lựa chọn hàm hạt nhân phù hợp tương ứng cho từng bài toán cụ thể để Hình 3.2. Siêu phẳng phân chia dữ liệu với khoảng Hình 3.2. Siêu cách phân phẳng biên lớn nhất. chia dữ liệu đạt độ chính xác cao trong quá trình phân lớp. với khoảng cách biên lớn nhất. Thực hiện việc kiểm tra chéo để xác định các 2. Các bước chính tham số cho ứng dụng. Đầu vào của thuật toán là các vector của số thực. Tiền xử lý dữ Sử dụng cácliệu: tham Biến số đổi chodữ liệuluyện huấn phù hợp vớichotập mẫu: trong quá trình huấn luyện sẽ sử dụng quá trình tính toán, tránh các số quá lớn mô tả các thuật toán tối ưu hóa khoảng cách giữa các siêu phẳng trong quá trình phân lớp, xác định hàm thuộc phântính. Thường lớp trong khôngnên gian co giãn (scaling) đặc trưng nhờdữ liệu việc ánh xạ dữ liệu vào không gian đặc trưng bằng chuyển cách môvề đoạn tả hạt[-1, 1] hoặc nhân [0, 1]. và cuối cùng là kiểm thử tập dữ liệu Chọn 3. Cáchàmdạng hạt nhân: lựaphân bài toán chọn lớp hàmtrong hạt nhân SVMphù hợp tương ứng cho từng bài toán cụ thể để đạt độ chính • xácBài caotoán trongphân quá trình phân lớp nhị lớp.với SVM phân Thực • Bàihiện việc toán kiểm nhiều tra lớp phân chéovớiđểSVM xác định các tham số cho ứng dụng.  Phương pháp thứ 1: One - vs – One Sử dụng các tham số cho huấn luyện với tập mẫu: trong quá trình Phươnghuấnpháp luyệnthứ sẽ sử 2: dụng One -thuật vs –toán Rest tối ưu hóa khoảng cách giữa các siêu phẳng trong quá trình phân lớp, xác định hàm phân lớp trong không gian đặc trưng nhờ IV. THỰC việc ánh xạ dữ liệu vào không NGHIỆM gian đặc trưng bằng cách mô tả hạt nhân và cuối cùng 1. thử là kiểm Môtậptả bài toán dữ liệu 3. Các dạng Hiện nay,bài có toán phânmẫu rất nhiều lớp phiếu trong trả SVMlời trắc nghiệm được sử dụng cho từng kỳ thi khác nhau.  Bài Nhưng toán trong đóphân có 2 lớp mẫunhị phântrả phiếu vớilờiSVM trắc nghiệm phổ biến: Phiếu dành cho kỳ thi tuyển sinh  Bài toán nhiều phân lớp với SVM đại học (Phiếu 1) và phiếu dành cho các kỳ kiểm tra kết thúc môn học (Phiếu 2).  Phương pháp thứ 1: One - vs – One 22 TẠP Phương CHÍ KHOApháp HỌC thứ 2: One - vs – Rest QUẢN LÝ VÀ CÔNG NGHỆ IV. THỰC NGHIỆM
  9. phổ biến: Phiếu dành cho kỳ thi tuyển sinh đại học không khớp với số báo danh được ghi bằng (Phiếu 1) và phiếu dành cho các kỳ kiểm tra kết thúc tay. môn học (Phiếu 2). Phiếu Đối1 với “Phiếu 2”: Phần ghi thông tin số báo danh của th gồm phần ghi bằng tay. Nhận dạng số báo danh viết tay nhằm hỗ trợ giáo viên lên điểm mỗi kỳ thi. 2. Kho dữ liệu thử nghiệm Bộ dữ liệu chuẩn MNIST Bộ cơ sở dữ liệu MNIST là bộ cơ sở d nhất về chữ số viết tay. MNIST bao gồm 70.000 dữ liệu được dạng hình ảnh: trong đấy ta sử dụng 50.00 cho huấn luyện và 20.000 dữ liệu cho việc k Bộ dữ liệu số báo danh viết tay Xây dựng bộ dữ liệu viết tay phục vụ thử nghiệm bao gồm 150 ảnh số báo danh cắt ra từ phiếu trả lời trắc nghiệm, mỗi ản chữ số viết tay. Vậy tổng cộng có 150x6 =9 viết tay. Phiếu 2 Phiếu 1 Với đề tài nhận dạng số viết tay ta có thể áp Với đề tài nhận dạng số viết tay ta có thểvới dụng áp cả dụng vớitoán 2 bài cả 2trên: bài toán trên: • Đối với “Phiếu 1”:  Đối với “Phiếu 1”: Phầngồm Phần ghi thông tin số báo danh của thí sinh ghi2thông phần:tin số đánh phần báo danh củadanh số báo thí sinh bằnggồm cách 2 phần: tô các chấm tròn trên các chữ số và phần ghi sốphần đánhbằng báo danh số báo tay. danh bằng cách tô các chấm tròn trên các chữ số và phần ghi số báo danh Nhận dạng số báo danh viết tay nhằm mục đích loại bỏ các Phiếu trả lời trắc nghiệm không bằng tay. hợp lệ do số báo danh được ghi bằng phương pháp chấm tròn Hình không3.3. khớpMột vớisốsốhình báoảnh danh về dữ l được ghi bằng cách viết tay. Nhận dạng số báo danh viết tay nhằm mục viết tay đích loại bỏ các Phiếu trả lời trắc nghiệm không hợp lệ do • Đối với “Phiếu 2”: 3. Giải quyết bài toán Các kỹ Phần ghi thông tin số báo danh của thí sinh chỉ gồm phần ghithuật bằng sử tay.dụng:  lênDữ Nhận dạng số báo danh viết tay nhằm mục đích hỗ trợ giáo viên liệu: điểm mỗiTập kỳ dữ thi.liệu MNIST viết tay tự tạo 2. Kho dữ liệu thử nghiệm  Đặc trưng: Đặc trưng HOG Bộ dữ liệu chuẩn MNIST  Thuật toán: Thuật toán SVM Các bước giải quyết bài toán Bộ cơ sở dữ liệu MNIST là bộ cơ sở dữ liệu lớn nhất về chữ số viết tay. Phiếu 2 Đầu tiên ta xây dựng mô hình huấn luyệ MNIST bao gồm 70.000 dữ liệu được lưu dưới dạng hình ảnh:vụ để phục trong cho đấy bướctanhận sử dụng 50.000 dạng. Với đề tài nhận dạng số viết tay ta có thể áp dữ liệu cho huấn luyện và 20.000 dữ liệu cho việc kiểm tra. dụng với cả 2 bài toán trên: Ở đây ta giả định đã xác định và cắt đượ số báo danh. TẠP CHÍ KHOA HỌC 23  Đối với “Phiếu 1”: QUẢN LÝ VÀ CÔNG NGHỆ Đầu tiên, ảnh thu được từ camera hoặc Phần ghi thông tin số báo danh của thí sinh gồm đưa vào hệ thống. 2 phần: phần đánh số báo danh bằng cách tô các
  10. Bộ dữ liệu số báo danh viết tay Xây dựng bộ dữ liệu viết tay phục vụ cho việc Bộ dữ liệuthử nghiệm số báo baotaygồm 150 ảnh số báo danh đã được danh viết cắt ra từ phiếu trả lời trắc nghiệm, mỗi ảnh chứa 6 Xây dựng bộ dữ liệu viết tay phục vụ cho việc thử nghiệm bao gồm 150 ảnh số báo danh đã được cắt ra từchữ sốtrả phiếu viết lời tay. Vậy tổng trắc nghiệm, mỗi cộng có 150x6 ảnh chứa 6 chữ số=900 chữ viết tay. sốtổng cộng có 150x6 Vậy =900 chữ số viết tay. viết tay. Hình 3.3. Một số hình ảnh về dữ liệu SBD viết tay i quyết bài toán huật sử dụng:  Dữ liệu: Tập dữ liệuHình MNIST3.3. Một và dữsốliệu hình ảnh về dữ liệu SBD Hình 3.3. Một số hình viếtảnh tayvề dữ liệu SBD viết tay viết tay tự tạo  Đặc3. trưng: Giải quyết Đặcbài 3. toán HOG trưng Giải quyết bài toán  Thuật Cáctoán: Thuật kỹ thuật toán SVM sử dụng: Các kỹ thuật sử dụng: ớc giải quyết • Dữbài toán liệu: Tập dữ liệu MNIST và dữ liệu viết tay tự tạo  Dữ liệu: Tập dữ liệu MNIST và dữ liệu • Đặc trưng: Đặc tiên ta xây dựng mô hình huấn trưng HOGluyện dữtạo liệu viết tay tự vụ cho bước nhận • Thuật dạng. toán: ThuậttoánĐặc SVMtrưng: Đặc trưng HOG ây ta giả Các địnhbước đã xác địnhvà giải quyết Thuật bài cắt toán đượctoán: vị tríThuật ô toán SVM anh. Đầu tiên taCác xâybước dựng mô giảihình quyết huấnbài toán luyện dữ liệu để phục vụ cho bước nhận dạng. tiên, ảnhỞ thu đây được từĐầu ta giả định camera đãtiên hoặc ta xác định vàscan xây dựng cắt được đượcmôvị hình huấn trí ô số luyện dữ liệu báo danh. hệ thống. để phục vụ cho bước nhận dạng. thể áp Ở đây ta giả định đã xác Đầu định và cắt tiên, ảnh thu được vịcamera được từ trí ô hoặc scan được số báo danh. đưa vào hệ thống. Hình 3.4.Ảnh 3.4. ẢnhĐầuđầutiên, vào ảnh thu được từ camera hoặc scan được nhTiếp gồm Hình đầu vào đưalạivào theo, điều chỉnh kíchhệ thống. thước ảnh và tô ảnh yển cácvề ảnh đen trắng. áo danh Tiếp theo, điều chỉnh lại kích thước ảnh và chuyển ảnh về ảnhBảng kết quả thực nghiệm trên tập dữ liệu MNIST đen trắng. với thuật toán SVM: ục đích Hình Hình 3.5. Ảnh sau khi chuyển sang đen trắng3.4.Ảnh Dữ đầuliệu vào huấn luyện 50.000 ợp lệ do Hình 3.5. Ảnh sau khi Dữ liệu test 20.000 Sau khi đãchuyển chuẩn hóa sangkích thước đen và khử nhiễu, trắng c hiện xác định viền của từng đối tượng: Thời gian Thời Độ chính Độ chính huấn gian xác_Training xác_Test 24 TẠP CHÍ KHOA HỌC luyện (s) Test (s) (%) (%) QUẢN LÝ VÀ CÔNG NGHỆ Lần 1 235.94 0.46 97.74 96.84 Hình 3.6. Ảnh sau khi được xác định viền Lần 2
  11. được chuẩn hóa bằng thuộc tính HOG. Hình 3.5. Ảnh sau khi chuyển sang đen trắng với thuật toán SVM: Dữ liệu huấn luyện 235.94 50.000 0.46 97.74 Hình 3.5. Ảnh sau khi chuyển sang đen trắng Dữ liệu huấn luyện 50.000 Sau Dữ liệukhi test mẫu dữ liệu đã 20.000 qua các bước Lần 2 xử lý tiền Hình Sau Sau khi đã3.6.chuẩn khi đã chuẩn Ảnh hóa sau hóa kích khi vàđược thước kích thước xác định viền khử nhiễu, và khử nhiễu, Thời Dữ liệu test gian Thời Độ chính 20.000 Độ chính thực hiện xác định viền của từng đối tượng: thực hiện xác định viền của từng đối tượng: vàThờitrích huấn gianchọn Thời gian đặc xác_Training trưng, 221.90 Độ chính dựa vào 0.48 Độ giá trị các tham chính xác_Test 97.71số Loại bỏ các viền nhiễu bằng cách chỉ lấythu những Sau luyện huấnkhi được(s) đã chuẩn khi (s) hóa gianhuấn Test kích thước luyện xác_Training (%) và ta sẽxác_Test sửkhử (%) dụng nhiễu, Lần thựctoán thuật 3 luyện (s) Test (s) (%) (%) ền có diện tích lớn nhất. hiện xác định SVM để xem xem viền của Lần từng Lầnvector1 214.33 1 đối tượng: đó thuộc 0.49 về lớp nào. 97.77Kết 235.94 0.46 97.74 96.84 Hình quả trả về là mộtLần 235.94 0.46 số 2thực tương ứng vớiLần 97.74 96.84 nhãn 4 mà ta Hình 3.6. Ảnh3.6. Ảnh sau khi được sauxáckhiđịnh viền Lần 2 Hình 3.6. Ảnh sau khi được xác định viền đã221.90 huấn luyện, 0.48 có 10 nhãn 97.71 tương 96.88 220.53 ứng 0.46 với các số từ 0 - 97.63 Loại bỏ cácđược viền nhiễuxácbằng định cáchviềnchỉ lấy những 221.90 0.48 97.71 96.88 Loại bỏ các viền nhiễu bằng cách chỉ lấy những viền có diện tích lớn nhất. 9. Lần Lần 3 3 Lần 5 viền có diện tích lớn nhất. 214.33 0.49 97.77 96.64 214.33 0.49 97.77 96.64 Hình 3.7. Ảnh sau khi loại bỏ viền nhiễu 4.LoạiKết bỏ quảcác0.46 sau nhiễu viền khi Lần Lần 4 4nhận 217.38 bằng dạng cách0.49 chỉ lấy những 97.79 viền 220.53 97.63 96.81 220.53 0.46 97.63 96.81 Trung bình cóMột diệnsố tích lớn nhất. tiếnkết quả tốtLần 5 Sau khi đã tách được các ký tự ở bước trên, 217.38 0.49 Lần 5 222.012 97.79 0.48 96.68 97.73 Hình 3.7. Ảnh sau khi loại bỏ viền nhiễu 217.38 0.49 97.79 96.68 ành chuẩn Hìnhhóa Hình 3.7. Ảnhkích sauthước 3.7. Ảnh khi loạisauđườngkhi nhiễu bỏ viền Sau khi đã tách được các ký tự ở bước trên, tiến viền bằng 28x28. Trung bình Trung bình ừhànhđó,Sau tính chuẩn khi đã hóa loạiđược vetor tách bỏ viền đặc kích thước các ký nhiễu trưng đường tự ởcủabướctừng viền bằng đối tượng trên, tiến 28x28. 222.012 vừa 0.48 222.012 0.48 97.73 97.73 96.77 96.77 hành chuẩn hóa kích thước đường viền bằng 28x28. ược Từ chuẩn Từ đó, đó, tính hóa vetor bằng tính vetor đặc trưng đặc trưng thuộc của từngtính của từng đốiHOG. tượng vừa đối tượng vừa Bảng kết quả thực nghiệm trên tập được chuẩnSau hóa bằngkhi thuộc đã tính HOG. tách được các ký tự ở bước Bảng trên, kết tiến hành quả thực chuẩn nghiệm trênhóa tập dữ kích liệuthước số báo đường viền được chuẩn hóa bằng thuộc tính HOG. SauSaubằngkhi khi mẫu mẫu dữ 28x28. dữ liệu liệu đã Từđãđó,qua đã các qua bước các tiền xửbước lý tiềnBảng kết quả thực nghiệm danhxử lý viết tay với SVM danh viết trên tậptaydữ vớiliệu số SVM báo Sau khi mẫu dữ liệu qua tính vetor các bước tiềnđặc xử lýtrưng củadanh từng đốivớitượng viết tay SốSVM Số vừa được chuẩn hóa bằng thuộc Số Số à và trích trích chọn và trích chọn đặc tính HOG. chọn đặc đặc trưng, trưng, trưng, dựa vào dựa vào dựa giá vào trị cácgiá giá trị các tham trị tham số các tham số Chữ sốSốSố lượng Số lượng Chữ Số KQ KQSố sai KQ Tỉ lệ lượng %Tỉ lệ Tỉ lệ lệ lượng KQ thu được khi huấn luyện ta sẽ sử dụng thuật toán Chữ số lượng lượng tách lượng tách đúng KQ % Tỉsai uSVMđược thu được khi khi huấn để xem xem huấnvectorluyện đó thuộctavềsẽ luyện ta sẽ sử dụng sử lớp nào.dụng thuật toán thuậtsố toán Kết lượng tách sai số tách đúng lượngsai đúng đúng % tách % sai tách đúng đúng SVM để xem Sauxem khivector mẫu đó dữthuộc liệu vềđãlớp qua nào.các Kếtbước tiền 0 xử165lý và trích 1sai chọnđúng đặc 164 164 trưng,0 dựa 100 sai vào 0 giá đúngtrị các VM quả để quả trả trả vềxem thamvề là mộtxem là một số thựcvector số thực tương ứng tương đó ứng vớithuộc với nhãn mà nhãn về mà ta lớp nào. ta 10 Kết 165 85 201 65164 164 40 250 100 61.54 0 38.46 luyện,số thunhãn được tươngkhi ứnghuấnvới cácluyện số từ 0ta- sẽ sử 2dụng thuật toán SVM 065 để xem 40165 425 xem 1 vector 38.46 164 đó thuộc164 uảđã huấn có 10 1 85 020 61.54 đãtrả về là một số thực tương ứng với nhãn mà ta 105 105 101 96.19 3.81 huấn luyện, có 10 nhãn tương ứng với về lớp nào. Kết quả trả về là một số thực tương các số từ 0 - 2 105 ứng 0 105 101 4 96.19 3.81 105 với00nhãn85 mà ta55100đã huấn luyện, 4.76có 10 nhãn 9. 3 105 0 1 105 100 85 5 95.2420 4.76 65 40 9. 43 105 305 95.24 ã 4.huấn Kết luyện, tương quả sau ứng có 10 nhậnnhãn khi với cácdạngsốtươngtừ 0 - ứng9. với các số 5từ 4 0 85-85 85 20 2 83 85 55 83 105 030 64.71 64.71 100 0 35.29 35.29 0 105 101 4. Kết quả sau khi nhận dạng 65 85 55 02 383 55 83105 50 50 1000 90.91 0 9.09 105 100 Một số kết quả tốt 76 55 75 00 75 55 50 56 195 90.91 25.33 74.67 9.09 Một số kết4. quảKếttốt quả sau khi nhận dạng 87 75 75 10 4 74 75 56 72 85 219 97.3074.670 25.33 2.70 85 55 Kết quả sau khi nhận dạng 98 9 75 65 65 0 240 1 5 65 74 65 49 85 16 72 49 2 75.382 16 87.90 97.30 75.38 12.10 2.70 24.62 24.62 83 83 Một số kết quả tốt Tổng Tổng 900 900 Một24 số876 kết quả 6876 77055chưa 770 106 106 được 87.90 tốt 55 0 12.10 50 ột số kết quả tốt Một Thực số Thựckết nghiệm quảtrên nghiệm trên ta chưa 7thấy kết quả ta thấy được 75 nhận dạng kết quảtốt 0 trên nhận dạng trên 75 56 bộ dữ liệu số báo danh viết 8 tay không 75 được tốt1 bằng 74 72 bộ dữ liệu số báo danh viết tay không được tốt bằng khi thực nghiệm kiểm tra 9 trên bộ65dữ liệu của 0 tập 65 49 khi thực nghiệm kiểm tra trên bộ dữ liệu của tập MNIST. Nguyên nhân Tổng là vì: 900 24 876 770 MNIST. Nguyên nhân là vì:  Sự khác biệt về hình dáng chữ viết của người  Sự khác biệt về hình dáng Việt Nam và người phương Thực Tây. nghiệm trên ta thấy kết quả chữ viết của người Việt Nam và người phương Tây.  Chữ viết nguệch ngoạc, bộ dữ  Chữ viết nguệch ngoạc, cách điệu cáchliệuđiệu số báo danh viết tay không o, điều chỉnh lại kích thước ảnh và  Nét chữ không đềukhi  Nét chữ không đều dẫnthực dẫn đến bị mất đến bị mấtnghiệm nét trongkiểm các nét trong các tra trên bộ d ề ảnh đen trắng. bước tiền xử lý bước tiền xử lý MNIST. Nguyên nhân là vì: Một số kết quả chưa được tốt Từ những khó khăn, hạn chế trên ta có thể đưa ra Một số kết quả chưa được tốt Từ những khó khăn, hạn chế trên ta có thể đưa ra phương pháp cải thiện kết quả bằng cách xây dựng phương pháp cải thiện kết quả Sự bằng bộ dữ liệu riêng phù hợp với hình dáng chữ số viết khác cáchbiệt xây dựngvề hình dáng chữ bộBảngdữ liệu kết quả riêng tay của người Việt Nam. phùthực hợp với nghiệm hình trên dáng Việt Nam và người chữ tậpsố dữ viết liệu MNIST phương Tây. tay của người Việt Nam. với thuật V. KẾT LUẬN toán SVM:  Chữ viết nguệch ngoạc, cách điệu V. KẾT LUẬN 5. Ảnh sau khi chuyển sang đen trắng Dữ liệu huấn luyện  Nét chữ không50.000 đều dẫn đến bị mấ đã chuẩn hóa kích thước và khử nhiễu, Dữ liệu test bước tiền xử lý20.000 định viền của từng đối tượng: Thời gian Thời Độ chính Độ chính ột số kết quả chưa được tốt huấn gian Từ những khó xác_Trainingkhăn, hạn chế trên xác_Test luyện (s) Test phương (s) pháp(%) cải thiện kết quả (%) bằng bộ dữ liệu Lầnriêng 1 phù hợp với hình dá 235.94 tay của người97.74 0.46 Việt Nam. 96.84 3.6. Ảnh sau khi được xác định viền Lần 2 V. KẾT LUẬN 221.90 0.48 97.71 96.88 các viền nhiễu bằng cách chỉ lấy những Lần 3 ích lớn nhất. TẠP CHÍ KHOA HỌC 25 214.33 0.49 QUẢN LÝ97.77 VÀ CÔNG NGHỆ 96.64 Lần 4 220.53 0.46 97.63 96.81
  12. kích thước ảnh và ại kích thước ảnh và g. Bảng kết quảBảng thựckết nghiệm quả thực trên tập dữ nghiệm liệu trên tậpMNIST dữ liệuvới thuật toán SVM: MNIST Bảng kết quả thực nghiệm trên tập dữ liệu MNIST với thuật với thuật toántoánSVM: SVM: chuyển Dữ liệu liệu huấn huấnluyện luyện 50.000 chuyểnsang sangđen đen trắng trắng Dữ 50.000 ích thước Dữ liệu Dữ liệu test test 20.000 20.000 kích thướcvà và khử khử nhiễu, nhiễu, Thời giangian Thời Thời Độchính chính Độchính chính ừng từngđốiđốitượng: tượng: Thời Độ Độ huấn huấn gian gian xác_Training xác_Training xác_Test xác_Test luyện (s) luyện (s) Test (s) Test (s) (%) (%) (%)(%) Lần11 Lần 235.94 235.94 0.46 0.46 97.74 97.74 96.84 96.84 hihiđược đượcxácxácđịnh định viền viền Lần22 Lần 221.90 221.90 0.48 0.48 97.71 97.71 96.88 96.88 bằng bằngcách cáchchỉ chỉ lấy lấy những những Lần33 Lần 214.33 214.33 0.49 0.49 97.77 97.77 96.64 96.64 Lần Lần44 220.53 220.53 0.46 0.46 97.63 97.63 96.81 96.81 Lần Lần 5 5 khi loạibỏ bỏviền viềnnhiễu nhiễu 217.38 217.38 0.49 0.49 97.79 97.79 96.68 96.68 hi loại Trung Trung bình bình cáckýkýtựtựởởbước bước trên, trên, tiến tiến 222.012 222.012 0.48 0.48 97.73 97.73 96.77 96.77 đường viền bằng đường viền bằng 28x28. 28x28. củatừng của từng đối đối tượng tượng vừavừa tính HOG. Bảng kết quả Bảng thực nghiệm trên tập dữ trên liệu số báo danh viết tay với SVM nh HOG. Bảng kết kết quảquả thực thựcnghiệmnghiệm trêntập tậpdữdữliệu liệusốsốbáobáo ãqua quacáccácbước bước tiền tiền xử xử lý lý danh viết tay với danh viết tay vớiSốSVM Số SVM a vào giá trị các tham số Số Số Tỉ lệ vào giá trị các tham số Chữ Số lượng lượng KQ KQ KQ saiKQ % Tỉ lệ Tỉ lệ a sẽ sử dụng thuật toán Chữ số Số lượng lượng tách lượng đúng tách % % sai Tỉ lệ sẽ sử dụng thuật toán số lượng tách tách đúng sai đúng % sai đó thuộc về lớp nào. Kết sai đúng đúng ó thuộc về lớp nào. Kết 0 165 1sai đúng 164 164 0 100 0 ương ứng với nhãn mà ta 10 165 85 201 164 65 40164 25 0 61.54 100 38.460 ơng ứng với nhãn ương ứng với các số từ 0 -mà ta 21 85 105 020 10565 10140 4 25 61.54 96.19 38.46 3.81 ơng ứng với các số từ 0 - 32 105 105 00 105 105 100101 5 4 95.2496.19 4.76 3.81 43 105 85 00 105 85 55100 30 5 95.24 64.71 35.294.76 dạng 54 85 85 20 8385 8355 0 30 64.71 100 035.29 ạng 65 85 55 02 5583 5083 5 0 100 90.91 9.09 0 76 55 75 00 7555 5650 19 5 90.91 74.67 25.339.09 87 75 75 10 7475 7256 2 19 74.67 97.30 25.33 2.70 98 65 75 01 6574 4972 16 2 75.38 97.30 24.622.70 Tổng 9 900 65 240 87665 77049 10616 87.90 75.38 12.10 24.62 Tổng 900 24 876 770 106 87.90 12.10 Thực nghiệm trên ta thấy kết quả nhận dạng trên bộ dữ Thực nghiệm trên ta thấy kếtThựcquảnghiệm liệu sốnhận trên ta báo dạng danh thấy viết trên bộkết tay dữ quả không nhận liệuđược dạng tốt số báo trênviết tay không được bằng danh bộ dữ khi tốt bằng khi thực nghiệm kiểm thựcliệu tra số bộ nghiệm trên báodữ danh kiểm viết liệutracủa tay trên không tậpbộ được dữ liệu MNIST. tốt tập của Nguyên bằng nhân là vì: khi thựcNguyên MNIST. nghiệmnhân kiểm tra trên bộ dữ liệu của tập là vì: • Sự khác biệt về hình dáng chữ MNIST. viết nhân Nguyên của người là vì: Việt Nam và người phương Tây.  Sự khác biệt về hình dáng chữ viết của người  Việt • Chữ viết nguệch ngoạc, Sựcách Nam khác và người biệt điệu về hìnhphương dángTây. chữ viết của người  Chữ Việt viết Namnguệch và ngườingoạc,phương cách Tây. điệu • Nét chữ không đều dẫn đến bị mất nét trong các bước tiền xử lý  Nét chữ không đều dẫn Chữ viết nguệch ngoạc, cách điệu đến bị mất nét trong các Từ những khó khăn, hạn chếbước Néttrêntiềnta chữ xửcólýthể không đềuđưa dẫnrađến bị mấtpháp phương nét trong các kết quả bằng cách cải thiện xây dựng bộ dữ liệu riêng phùTừ bước hợp tiền những xử lýkhăn, với hình khó dánghạn chữchế sốtrên viếttatay cócủa người thể đưa ra Việt Nam. ốt phương pháp cải Từ những khóthiện khăn, kếthạn quảchế bằng trêncách ta cóxây thểdựng đưa ra t 26 TẠP CHÍ KHOA HỌCbộ phương pháp cải thiện kết quả bằng cách xây viết dữ liệu riêng phù hợp với hình dáng chữ số dựng QUẢN LÝ VÀ CÔNGtay của liệu NGHỆ người Việtphù Nam. bộ dữ riêng hợp với hình dáng chữ số viết tay của V. KẾTngườiLUẬN Việt Nam.
  13. V. KẾT LUẬN Trong bài báo này đã nghiên cứu tổng quan về nhận dang chữ số, phương pháp trích chọn đặc trưng HOG và thuật toán SVM để áp dụng vào bài toán nhận dạng số báo danh trong phiếu thi trắc nghiệm. Giải pháp dùng thuật toán SVM mặc dù chưa đem lại kết quả tuyệt đối nhưng nó sẽ là nền tảng cho các nghiên cứu về nhận dạng sau này. TÀI LIỆU THAM KHẢO Tiếng việt [1] Huỳnh Hữu Hưng, Nguyễn Trọng Nguyên, Võ Đức Hoàng (2015), Giáo trình Xử Lý Ảnh. NXB TT&TT. [2] Lương Mạnh Bá, Nguyễn Thanh Thuỷ. Nhập môn xử lý ảnh số. Nhà xuất bản. Nhà xuất bản Khoa học và Kỹ thuật, 2003. Tiếng Anh [3] Navneet Dalal and Bill Triggs. "Histograms of Oriented Gradients for Human Detection". International Conference on Computer Vision & Pattern Recognition.June 2005. Trang Website [4] https://machinelearningcoban.com (Bài 19 - Support Vector Machine) [5] https://www.learnopencv.com/histogram-of-oriented-gradients/ [6] https://www.learnopencv.com/support-vector-machines-svm [7] https://dominhhai.github.io/vi/2017/12/ml-logistic-regression/ TẠP CHÍ KHOA HỌC 27 QUẢN LÝ VÀ CÔNG NGHỆ
nguon tai.lieu . vn