Xem mẫu
- 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Ệ
- 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Ệ
- 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Ệ
- 𝑔𝑔 = √𝑔𝑔𝑥𝑥 + 𝑔𝑔𝑦𝑦
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Ệ
- 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
- 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ẽ
- 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
- 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
- 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
- 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ậttoánĐặc SVMtrưng: Đặc trưng HOG
ây ta giả Các
địnhbước
đã xác địnhvà
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
- đượ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
- 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.
- 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