Tải bản đầy đủ (.pdf) (13 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.51 MB, 13 trang )

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:
Nguyễn Vân Anh
Trường Đại học Kinh Doanh và Công Nghệ Hà Nội
Email:

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
cùng
mộtđối
kíchtượng
thướccần
cho 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
ảnhthước cụ thể)
ta đưa
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
vàobài
từng
bàinhận dạng người để làm

đây
ta
lấy
toán
Đầu tiêntoán
ta phải
định ra
được
tượng
cần cụ
quan
tâm, sau đó sẽ cắt và điều chỉnh kích
màxác
ta đưa
tỉ lệđốikích
thước
thể)
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
Ở đây ta lấy bài toán nhận dạng người để làm ví
cụ thể)


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
để làm ví dụ:
ta tiến hành cắt đối tượng cần quan tâm

Từtổng
mộtthểbức
ảnhthước
tổng ban
thểđầu

kích64x128
thước
kích
thước
(tỉhành
lệđầu
1:2)
Từ một bức ảnh
có kích
720x475
ta tiếnban
cắt đối tượng cần quan
tâm về kích720x475
thước 64x128
(tỉ lệ hành
1:2) cắt đối tượng cần quan tâm về
ta tiến
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.
128và
giáct
Hình 2.1. Điều chỉnhĐầu
và phân
tiêntách
cácảnhgradient chiều diễn
ngang
Bước 2: Tính toán Gradient
của các hình ảnh
trưng cho hư
thẳng.

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
góc 0,dựa
20,40,…
Đầu tiên các gradient
chiều Điều
ngangnày
và sẽchiều
gradient.
thực hiện được
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ủa các
các nhân
sau:
Ví dụ vớ
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:
gradient. Điều này sẽ thực hiện được dựa trên hệ
được vẻ bên n
Điều này
tính
được
bằng
cách
sử
dụng
toán

tử
thống các nhân (kernels) sau:
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

Đ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
gy = cv2.Sobel(img,cv2.CV_32F,
0, 1, lõi
ksize
=1) cỡ là 1.
Sobel trong OpenCV với
kích
im = cv2.imread (‘bolt.png’)
Tiếp theo chúng
ta sẽ tìm
được độ lớn và hướng của gradien bằng công thức sau:
# Read
image
im = np.float32 (im) / 255.0
Ở giữa:
g= √(g_x^2+g_y^2
im = )cv2.imread (‘bolt.png’)
gradient bằng
TẠP CHÍ KHOA HỌC 17

im = np.float32 (im) / 255.0
# Calculate gradient

QUẢN LÝ VÀ CÔNG NGHỆ


t bộ
hcần
rút
ảnh
ại bỏ
chbài
để

m ví

đầu
g cần
m
về
c ảnh
g bài

àm ví

θ=arctan g_y/g_x

𝑔𝑔 = √𝑔𝑔𝑥𝑥 + 𝑔𝑔𝑦𝑦
𝜃𝜃 = 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎


𝑔𝑔𝑦𝑦
𝑔𝑔𝑥𝑥

Kết quả sauKết
khi tính
chúng
sẽ có nhưchúng
sau:
quảtoán
saugradient
khi tính
toántagradient

như sau:
Sobel theo chiều x

Sobel theo chiều y

ta sẽ có

Cường độ gradient

Hình 2.2. Phân tích ảnh bằng gradient
Bước 3: Tính toán biểu đồ các Gradient trong một
cells 8x8

Chia ảnh thành các ô có kích thước 8x8 pixel.
Với mỗi thành phần nhỏ trong ô ảnh màu sẽ chứa
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
ảnh
Phân
ảnhbằng
bằnggradient
gradient
nhỏ đó chỉ chưa 8x8x2=128 giá trị pixel vì trong
BướcGradient
3: Tính toán
đồ các
Gradient
trong
8x8
chỉbiểu
chứa
2 giá
trị là độ
lớnmột
vàcells
hướng.
Chia ảnh
thành
các
ô cótoán
kích thước
8x8 các
Với mỗi thành
nhỏ trong ô ảnh màu sẽ

Bước
Tính
biểu
trong
một
Và3:để
việc
biểu
diễn đồ
trở pixel.
lên Gradient
gọn
hơn ta
sẽphần
biểu
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
8x8
diễn
trị2đó
biểu
đồ có 9 hướng tượng
vì trong Gradient
chỉgiá
chứa
giátrên
trị là một
độ lớn
và hướng.
trưng Chia

cho hướng
của các
gradient.
Nó tương
ứng với
9
ảnhtrởthành
thước
pixel.
Và để việc biểu
diễn
lên gọn
hơnô tacósẽkích
biểu diễn
1288x8
giá trị
đó trên một biểu đồ có 9
góc
0,mỗi
20,40,…,160.
Vớitrưng
thành
phần
nhỏ trong
ô ảnhứng
màu
chứa
hiều hướng tượng
cho
hướng

của gradient.
Nó tương
với 9sẽgóc
0, 20,40,…,160.
8x8x3=
giáx trị
pixel.
Còn xvới
Gradient
thìnhận
phần
các
Ví ảnh
dụ192
với
ảnh
nhỏ
8được
chúng
ta sẽ
Ví dụ với hình
nhỏ 8hình
8 chúng
ta sẽ 8nhận
vẻ bên
ngoài
của gradient.
nhỏ vẻ
đó bên
chỉ ngoài

chưa của
8x8x2=128
n hệ
được
gradient. giá trị pixel vì trong
Gradient chỉ chứa 2 giá trị là độ lớn và hướng.

n đầu
m về

h.

chiều
a các
n hệ

Và để việc biểu diễn trở lên gọn hơn ta sẽ biểu
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
góc 0, 20,40,…,160.
Ví dụ với hình ảnh nhỏ 8 x 8 chúng ta sẽ nhận
được vẻ bên ngoài của gradient.

n tử

Ở giữa: MộtỞhình
nhỏ RGB
trình nhỏ
bày các
gradient

dụng mũi tên.
giữa:
Một vàhình
RGB
và bằng
trìnhcách
bàysửcác

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
trong các ô 8 x 8 với một sự khác biệt
chỉ cường
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ỏ
ở đây
mộtnằm
mũi
tên 0của
gradient
góc
180
khác biệt
- các góc
ở giữa
và 180
thay vì 0 và
đếnmột
360. Vì
ở đây
mộtđộ
mũi tên của gradient
và mộtđối
góc 180
đối diện
được
coi là giống
nhau.
diệnđộđược
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:


đồ 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
Hình 2.4. Bảng minh họa biểu đồ gradient

Bin 1
nhận giá t
giá trị là 2

Tại các pixel bao quanh màu xanh. Nó là các
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
(hướng)
của
độdãyvàtương
giá ứng
trị với
cường
2. Vì vậy
sẽ thêm
2 vào vị
trí 580
trong
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 độ:
-> 10 =xung
• Khoảng
cách
từ 0pixel
10, tỉ lệ
10/20 =màu
0.5
Với
các
quanh

đỏ có giá trị góc
là 10 độ
giá->trị
là=4.
• Khoảng
cáchvà
từ 10
20 =cường
10, tỉ lệ độ
10/20
0.5Với 10 độ là một
nửatrịgiữa
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
 Giá
cường0độ
= 2. 

Khoảng cách từ 0 -> 10 = 10, tỉ lệ 10/20 = 0.5


TẠP CHÍ KHOA HỌC
Khoảng cách từ 10  20 = 10, tỉ lệ 10/20 QUẢN
= 0.5
LÝ VÀ CÔNG NGHỆ
 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

19


60.
độ

n được biểu

inh

hướng
được trình
chỉ cường

ên thể hiện
ự khác biệt
0 đến 360.
góc 180 độ
trình minh


nt

các

80

Hình 2.5. Điều chỉnh bảng minh họa biểu
đồ 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
bin tương ứng với các góc 0 -> 180 nên góc 165 nằm
giữa bin 160 và bin 0.
Khoảng cách từ 160 -> 165 = 5, tỉ lệ 5/20 = 0.25
Khoảng
cách
từĐiều
165 ->
180bảng
(~0)minh
= 15,họa
tỉ lệbiểu
15/20
Hình
2.5.
chỉnh
Hình
2.5.
Điều
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
khoảng
165
gầnnằm
hơn
histogram 9 binDo
tương
ứng với cách
các góctừ0 ->
180 ->
nên160
góc 165
giữanên
bin 160 và bin 0.

Pixel
vị trí bin
khoanh
lá có giá
trị số
phân
bốở vào

160tròn
sẽ xanh
là 0.75,
trọng
trọng số Với

Khoảng cách
từ 160
-> giá
165trị
= 5,
tỉ lệ 5/20
0.25Trong histogram 9
165,
cường
độ là= 85.
phângóc
bố là
vào
bin0
sẽ là
0.25.

bintừtương
các
góctỉ0lệ->15/20
180 =nên
góc 165 nằm
Khoảng cách
165 ->ứng

180với
(~0)
= 15,
0.75.

giữa 160
bin 160
bin 0.giá trị 85x0.75 = 63.75, bin 0
Bin
sẽ vànhận

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
bước
bin
0 đã có
cách =
từ 1.25.
160 ->Ở
165
= 5, tỉtrước
lệ 5/20
= 0.25
số phân bố vào bin0Khoảng
sẽ là 0.25.

giá trị là 2, nên bin 0 sẽ có giá trị là 2 + 21.25 = 23.25

cách từ=165

-> 180
= giá
15, trị
tỉ lệ
15/20= 1.25. Ở bước trước bin
Bin 160 sẽ nhậnKhoảng
giá trị 85x0.75
63.75,
bin 0(~0)
nhận
85x0.2
=
0.75.
0 đã có giá trị là
2, nên
bin tính
0 sẽ có
giá trị
2 + các
21.25ô= 23.25
Lần
lượt
cho
tấtlà cả
trong cell trên,
Do
cách
từ
160sau:
hơn

nên
chúng
histogram
như
Lần lượt
tính ta
chođược
tất khoảng
cảbiểu
các ôđồ
trong
cell165
trên,->
chúng
tagần
được
biểu
đồ histogram như sau:

góc
gradient
một

. Nó là các
độ là 2. Vì
5ứng với 80

đều
giá trị góc
0.5


trọng số phân bố vào bin 160 sẽ là 0.75, trọng số
phân bố vào bin0 sẽ là 0.25.

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ó
giá trị là 2, nên bin 0 sẽ có giá trị là 2 + 21.25 = 23.25
Lần lượt tính cho tất cả các ô trong cell trên,
chúng ta được biểu đồ histogram như sau:

0 độ là một

20 = 0.5

20 = 0.5
Hình
2.6. đồ
Biểu
đồ đánh
quả
Hình 2.6.
Biểu
đánh
giá giá
kếtkết
quả
hân bố đều
iá trị 4x0.5 20 Bước
Chuẩn
hóa khối 16 x 16

TẠP CHÍ4:
KHOA
HỌC
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
khốihóa
16x16
sẽđồ
gồm
4 ô 8x8
màbị1ảnh
ô hưởng với
1. các
Ý biến
tưởng
thuật toán:
ta sẽ
chuẩn
lại biểu

để chúng
không
đổi của
ánh sáng.
Cho trước một tập huấn lu
có vector histogram kích thước là 9x1. Vậy một

đây
thay

chuẩn
hóa
vector
histogram
từng
ô
8x8,
ta
sẽ
chuẩn
từng gian
khối 16x16.
diễn trên hóa
mộtcho
không
vector. Ph
16x16 sẽ có vector histogram kích thước là
tìm histogram
ra một siêu
và9x1.

quyết đ
1. Việc chuẩn
36 xsẽ1 gồm
được
Ta thấyhóa
mỗi vecto
khối 16x16
4 ôtính
8x8 toán
mà 1 ô 8x8 có sẽ
vector
kíchphẳng
thước là
Vậy
một
khối
16x16
sẽ

vector
histogram
kích
thước

36x1.
Việc
chuẩn
hóa
vecto
36

x
1
phân tách thành các lớp trên không
gi
một cửa sổ trượt với bước di chuyển là 8 pixel,
được
tính
toán
trên
một
cửa
sổ
trượt
với
bước
di
chuyển

8
pixel,

ta
lần
lượt
trượt
cửa
sổ
của 16x16
siêu phẳng này được quyết địn
lần lượt trượt cửa sổ 16x16Hình

từ trái
2.7.qua
Quáphải,
trìnhtừ
di chuyển khối
16x16 từ trái qua phải, từ trên xuống dưới đến khi hết hình.
cách (gọi là biên) của điểm dữ liệu gầ
xuống dưới đến khi hết hình.
Bước 5: Tính toán vecto đặc trưng HOG
lớp đến
mặttoán
phẳng
này. KhiHình
đó kho
3.2
Bước
5:cho
Tính
vecto đặc trưng
Để tính toán vecto đặc trưng cuối
cùng
toàn
kho
lớn thì mặt phẳng quyết định
HOGcàng
bộ các hình ảnh nhỏ, các đoạn vecto
36 x 1 sẽ được
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 ảnh
các
2. nhỏ,
Các
bước ch

36 x16
1 sẽ
thành
Chúng ta có bao nhiêu vị tríđoạn
của vecto
các khối
x được nối lạiĐầu
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.
Chọn
Mỗi khối 16 x 16 sẽ biểu diễn
mộthàm h
III. THUẬT TOÁN SVM
tương
vecto 36 x 1. Vì vậy chúng tahợp
sẽ có
một ứng
HìnhHình
2.7. 2.7.
QuáQuá
trình
didichuyển
xác cao tro
SVM khối
thực
hiện
mẫu từ
không
gian đó chứachính
khổng
lồ, vecto
một vecto
trình

chuyển
khối 16x16
16x16chuyển tập vecto
36không
x 105 =
3780
biểu
diễn HOG
Rn của chúng sang một
gian
Rdchiều.

Thực hiện v
c 5: Tính toán vecto đặc
trưng
số chiều lớn hơn. Trong không gian Rd tìm một
siêu3.2. Siêutham
Hình
phẳng
phân
số cho
ứngc
Để tính toán vecto đặc trưng
cuối
cùng
cho toàn
phẳng
tối
ưu
để

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
36chúng,
x 1 sẽcóđược
phânvecto
lớp của
nghĩa là tìm ra miền phân bổ
mẫu: trong quá tr
SVM vecto
thực hiện
chuyển
tậplớp
mẫu
từ
gian
biểu
diễn
RnRn,

củađể
chúng
ại thành một
khổng

đâytrong
là không
cách
tính
củalồ.
từng
không
gian
biểu
diễn
từ đósang một không gian
tối tập
ưu mẫu
hóa khoản
gian Rd
mộtmột
siêumẫu
phẳng
tối ưu
để phân hoạch
xác Trong
định không
được phân
lớptìmcủa
nhận

dạng.
o này:Rd có số chiều lớn hơn.
2.
Các
bước
chính
trình phân lớp, x
này dựa trên phân lớp
của chúng,
nghĩa là
tìm có
ra miền
của
từng
SVM
là một có
phương
pháp
tính phân
tổng bổ
quát
cao,
cólớp trong không gian
gian
đặc
trưng
Chúngbiểu
ta diễn
có bao
vịxác

trí định
của
các
16
Rn, nhiêu
để từ đó
phân
lớpxcủa
nhận
dạng.
SVMthuật
là một
phương
Đầu
vào
toán
là các
vecn
thể
được
áp được
dụngkhối
cho nhiều
bàimột
toánmẫu
nhận
dạng
kháccủa
đặc trưng bằ
pháp

tínhngang
tổng quát
cao,dọc
có thể
được
ápsẽ
dụng
nhau.
Có 7 vị
trí có
nằm

15
tổng
cộng
có cho nhiều bài toán nhận dạng khácgian
nhau.
Tiền xử lý dữ liệu:làBiến
dữ dl
kiểm đổi
thử tập
15 = 105 vị trí

Mỗi khối 16 x 16 sẽ biểu diễn một vecto 36 x 1.
ậy chúng ta sẽ có một vecto khổng lồ, vecto đó
một vecto 36 x 105 = 3780 chiều.

THUẬT TOÁN SVM

quá trình tính toán, tránh các số quá

3. Các dạng b
thuộc tính. Thường nên co giãn
(s
Bài toán
chuyển về đoạn [-1, 1] hoặc
[0, 1].
 Bài toán

 hàP
Chọn hàm hạt nhân: lựa chọn
 cP
hợp tương ứng cho từng bài toán
chính xác cao trong quá trình phân lớp

SVM thực hiện chuyển tập mẫu từ không gian
diễn Rn của chúng sang một không
gianPhân
Rd có
IV. THỰC NGH
Thực
hiệngian
việc
Hình
hoạchgian
tập Rn
mẫusang
từ
không
Hình 3.1. Phân hoạch
tập3.1.

mẫu từ không
không
Rd.kiểm tra chéo đ
hiều lớn hơn. Trong không gian Rd
tìmRn
một
siêu
gian
sang
không gian tham
Rd. số cho ứng dụng.1. Mô tả bài to
Hiện nay, c
TẠP CHÍ KHOA HỌC 21
g tối ưu để phân hoạch tập mẫu này dựa trên
SửQUẢN
dụng
các
tham
số cho
huấn
LÝ VÀ
CÔNG
NGHỆ
nghiệm
đượ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
không
gian.
Chất
lượng
Cho thành
trướccác
mộtlớp
tậptrên
huấn
luyện
được
biểu
diễn trên một không gian vector. Phương pháp này
định
bởi
của
nàyphẳng
được và
quyết
sẽ siêu

tìm raphẳng
một siêu
quyết
định
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à biên)
điểm
dữđược
liệu gần
nhấtđịnh
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ượng
siêu của
phẳng
này
quyết
lớp
đếncủa
mặt
phẳng
này.mặt
Khiphẳng
đó khoảng
cách
biên
nhất

mỗi
lớp đến
này. Khi
đó 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,
đồng
càng tốt, đồng thời việc phân loại càng chính xác.
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
đạt độ chính xác cao trong quá trình phân lớp.
khoảng
cách phân

biên lớn
nhất.
Hình 3.2. Siêu
phẳng
chia
dữ liệu
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.
Sử dụng
cácliệu:
tham
số đổi
chodữ
huấn
vớicho
tập mẫu: trong quá trình huấn luyện sẽ sử dụng
Tiền
xử lý dữ
Biến
liệuluyện
phù hợp
quá

trình
tính
toán,
tránh
các
số
quá
lớn

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
Thường
nên gian
co giãn
(scaling)
liệu
phântính.
lớp trong
không
đặc trưng
nhờdữ
việc
ánh xạ dữ liệu vào không gian đặc trưng bằng
chuyển
về đoạn
1] hoặc
[0, 1].
cách mô

tả hạt[-1,
nhân
và cuối
cùng là kiểm thử tập dữ liệu
Chọn
hàmdạng
hạt nhân:
lựaphân
chọn lớp
hàmtrong
hạt nhân
3. Các
bài toán
SVMphù
hợp tương ứng cho từng bài toán cụ thể để đạt độ
lớp nhị
phân
chính •xácBài
caotoán
trongphân
quá trình
phân
lớp.với SVM

Thực
hiện
việc
kiểm
tra lớp
chéovới

đểSVM
xác định các
• Bài
toán
nhiều
phân
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
huấnpháp
luyệnthứ
sẽ sử
Phương
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ờ
việc ánh xạ dữ liệu vào không
IV.THỰC
NGHIỆM
gian đặc trưng bằng cách mô tả hạt nhân và cuối cùng
1.thử
Môtập
tả bài

toán
là kiểm
dữ liệu
3. Các
dạng
phânmẫu
lớp phiếu
trong trả
SVM
Hiện
nay,bài
có toán
rất nhiều
lời trắc nghiệm được sử dụng cho từng kỳ thi khác nhau.
 Bài
toán
nhị
phântrả
vớilờiSVM
Nhưng
trong
đóphân
có 2 lớp
mẫu
phiếu
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


không khớp với số báo danh được ghi bằng
tay.
Phiếu
Đối1 với “Phiếu 2”:

phổ biến: Phiếu dành cho kỳ thi tuyển sinh đạ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ầ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

Phiếu 1

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

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
áp cả
dụng
vớitoán
cả 2trên:
bài toán trên:

dụng
2 bài
• Đối với “Phiếu 1”:



Đối với “Phiếu 1”:

Phần ghi thông tin số báo danh của thí sinh
phần:tin
phần
số báo
bằnggồm
cách
Phầngồm
ghi2thông
số đánh
báo danh
củadanh
thí sinh
tô các chấm tròn trên các chữ số và phần
ghi sốphần
báo danh
tay. danh bằng cách tô các
2 phần:
đánhbằng
số báo

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ớp
vớisốsốhình
báoảnh
danh
Một
về dữ l
Nhận
dạng
số
báo
danh
viết
tay
nhằm
mục
đích
được ghi bằng cách viết tay.
viết tay
• Đối với “Phiếu 2”:

loại bỏ các Phiếu trả lời trắc nghiệm không hợp lệ do
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ữ
liệu:
Tập
Nhận dạng số báo danh viết tay nhằm mục đích hỗ trợ giáo viên
điểm
mỗi
kỳ dữ
thi.liệu MNIST
2. Kho dữ liệu thử nghiệm
Bộ dữ liệu chuẩn MNIST




viết tay tự tạo
Đặc trưng: Đặc trưng HOG
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ụ

trong
sử dụng
50.000
để phục
cho đấy
bướctanhận
dạng.
Với
đề
tài
nhận
dạng
số
viết
tay
ta

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:


Đối với “Phiếu 1”:

Phần ghi thông tin số báo danh của thí sinh gồm
2 phần: phần đánh số báo danh bằng cách tô các

Ở đây ta giả định đã xác định và cắt đượ

số báo danh. TẠP CHÍ KHOA HỌC 23
QUẢN LÝ VÀ CÔNG NGHỆ

Đầu tiên, ảnh thu được từ camera hoặc
đưa vào hệ thống.


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
nghiệm
baotaygồm 150 ảnh số báo danh đã được
Bộ dữ liệuthử
số báo
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 đã
sốtrả
viết
Vậy tổng
có 150x6
chữ
sốtổng cộng có 150x6
được cắt ra từchữ
phiếu
lời tay.
trắc nghiệm,
mỗi cộng
ảnh chứa
6 chữ số=900
viết tay.

Vậy
tay.
=900 chữ số viết
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:

3.3. Một
hình ảnh về dữ liệu SBD
Dữ liệu: Tập dữ liệuHình
MNIST
và dữsốliệu
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
Giải quyết
toán HOG
 Đặc3.trưng:
Đặcbài
trưng
3.
Giải
quyết bài toán
Cáctoán:

kỹ thuật
sử dụng:
 Thuật
Thuật
toán SVM
Các kỹ thuật sử dụng:
• Dữbài
liệu:
Tập dữ liệu MNIST và dữ liệu viết tay tự tạo
ớc giải quyết
toán
 Dữ liệu: Tập dữ liệu MNIST và dữ liệu

Đặc
trưng:
Đặc
trưng
HOG
tiên ta xây dựng mô hình huấn
luyện
dữtạo
liệu
viết
tay tự
vụ cho bước
nhận
dạng.
• Thuật
toán:
ThuậttoánĐặc

SVMtrưng: Đặc trưng HOG
Thuật
toán:
giải quyết
bài cắt
toán
ây ta giả Các
địnhbước
đã xác
địnhvà
được
vị tríThuật
ô toán SVM
anh.
Đầu tiên ta
xâybước
dựng mô
huấnbài
luyện
dữ liệu để phục vụ cho bước nhận dạng.
Các
giảihình
quyết
toán
tiên, ảnhỞ thu
từĐầu
camera
hoặc
được
đây được

ta giả định
đãtiên
xác định
vàscan
cắt
được
trí ô số
báo danh.
ta
xây
dựng
môvị hình
huấn
luyện dữ liệu
hệ thống.
để phục vụ cho bước nhận dạng.
thể áp
Đầu định
tiên, ảnh
thu được
được từ
Ở đây ta giả định đã xác
và cắt
vịcamera
trí ô hoặc scan được
đưa vào hệ thống.
số báo danh.


Đầu

tiên,
ảnh thu được từ camera hoặc scan được
Hình 3.4.Ảnh
3.4. Ảnh
đầu
vào
Hình
đầu
vào
nhTiếp
gồm
theo, điều chỉnh
kíchhệ
thước
ảnh và
đưalạivào
thống.
yển
tô ảnh
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

kết quả thực nghiệm trên tập dữ liệu MNIST
ảnh về ảnhBảng
đen trắng.

với thuật toán SVM:
ục đích
huấn luyện

Hình
đầuliệu
vào
Hình 3.5. Ảnh sau khi chuyển sang đen
trắng3.4.Ảnh Dữ
ợp lệ do Hình 3.5. Ảnh sau khi
Dữ liệu test

Sau khi đãchuyển
chuẩn hóa
kích
thước
và khử nhiễu,
sang
đen
trắng
c hiện xác định viền của từng đối tượng:
24 TẠP CHÍ KHOA HỌC

QUẢN LÝ VÀ CÔNG NGHỆ

Hình 3.6. Ảnh sau khi được xác định viền

Thời gian
huấn
luyện (s)

Thời
gian
Test (s)


235.94

0.46

50.000
20.000
Độ chính
Độ chính
xác_Training
xác_Test
(%)
(%)
Lần 1
97.74
96.84
Lần 2


được
chuẩn
hóa bằng thuộc tính HOG.
với thuật
toán SVM:
235.94 50.000 0.46
97.74
Dữ liệu huấn luyện
Hình 3.5. Ảnh sau khi chuyển sang đen trắng
Dữ liệu huấn luyện
50.000

Hình 3.5. Ảnh sau khi chuyển sang đen trắng
Dữ
liệu
test
20.000
Sau
khi
mẫu
dữ
liệu
đã
qua
các
bước
tiền
Lần 2 xử lý
Sau
khi đã3.6.
chuẩn
hóa kích
thước
khử nhiễu,
Dữ liệu test
20.000
Hình
Ảnh
khi vàđược
xác định viền
Sau
khi đã chuẩn

hóa sau
kích thước
và khử nhiễu,
Thời
gian
Thời
Độ
chính
Độ
chính
thực hiện xác định viền của từng đối tượng:
vàThời
trích
đặc xác_Training
trưng,
dựa vào
giá trị các tham
gianchọn
Thời
Độ chính
Độ
chính
221.90
0.48
97.71số
thực hiện xác định viền của từng đối tượng:
huấn
gian
xác_Test
huấn

gianhuấn
xác_Training
Sau
khi
chuẩn
kích thước

nhiễu,
thựctoán
Loại bỏ các viền nhiễu bằng cách chỉ lấythu
những
được
khi
luyện
ta sẽxác_Test
sửkhử
dụng
thuật
luyện
(s) đã
Test
(s) hóa
(%)
(%)
Lần
3
luyện
(s) Test
(s)
(%)

(%)
hiện
xác
định
viền
của
từng
đối
tượng:
Lầnvector
1
ền có diện tích lớn nhất.
SVM để xem xem
đó
thuộc
về
lớp
nào.
Kết
Lần
1
214.33
0.49
97.77
235.94
0.46
97.74
96.84
235.94
0.46

97.74
96.84
quả trả về là mộtLần
số 2thực tương ứng vớiLần
nhãn
4 mà ta
Hình
Ảnh
sau
Hình 3.6.
Ảnh3.6.
sau khi
được
xá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,
ứng
với các số
từ 0 0.48 có 10 nhãn
97.71 tương 96.88
xácbằng
định
viền
220.53
0.46
97.63
221.90

0.48
97.71
96.88
Loại bỏ cácđược
viền nhiễu
cách
chỉ lấy những
Lần
3
Loại bỏ các viền nhiễu bằng cách chỉ lấy những
9.
Lần 3
viền có diện tích lớn nhất.
Lần 5
214.33
0.49
97.77
96.64
viền có diện tích lớn nhất.
214.33
0.49
97.77
96.64
Lần
4
4.LoạiKết
sau nhiễu
khi
217.38
Lần

4nhận
bỏ quả
các0.46
viền
bằng dạng
cách0.49
chỉ lấy những 97.79
viền
Hình 3.7. Ảnh sau khi loại bỏ viền nhiễu
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.
5
tốtLần
Lần 5
Sau khi đã tách được các ký tự ở bước trên,
tiếnkết quả
217.38
0.49
97.79
96.68
222.012
0.48

97.73
Hình 3.7. Ảnh sau khi loại bỏ viền nhiễu
217.38
0.49
97.79
96.68
Hìnhhóa
3.7. Ảnh
sauthước
khi loại
bỏ viền
Hình
3.7.
Ảnh
sau
khi nhiễu
Trung bình
ành chuẩn
kích
đường
viền
bằng
28x28.
Trung bình
Sau khi đã tách được các ký tự ở bước trên, tiến
222.012
97.73
96.77
loạiđược
bỏ viền

khi đã
tách
các
ký nhiễu
tự ởcủa
bướctừng
trên, tiến
ừhành
đó,Sau
tính
vetor
đặc
trưng
đối tượng
vừa 0.48
222.012
0.48
97.73
96.77
chuẩn
hóa
kích thước
đường
viền bằng
28x28.
hành chuẩn hóa kích thước đường viền bằng 28x28.
Từ đó,
tính vetor đặc
trưng
của từng

đốiHOG.
tượng vừa
ược
thuộc
tính
Từ chuẩn
đó, tính hóa
vetor bằng
đặc trưng
của từng
đối tượng vừa
Bảng kết quả thực nghiệm trên tập
được chuẩnSau
hóa bằng
thuộc
tính HOG.
Bảng
kết tiến
quả thực
nghiệm
trênhóa
tập dữ
liệuthước
số báo đường viền
khi
đã
tách
được
các
ký tự ở bước

trên,
hành
chuẩn
kích
được chuẩn hóa bằng thuộc tính HOG.
Bảng kết quả thực nghiệm
trên
tậptay
dữ với
liệu số
báo
danh
viết
SVM
danh
viết
tay
với
SVM
Sau
khi
mẫu
dữ
liệu
đã
qua
các
bước
tiền
xử


Sau
khi
mẫu
dữ
liệu
đã
qua
các
bước
tiền
xử

bằng
28x28.
Từđãđó,
vetor
trưng của
từng
đốivớitượng
vừa được chuẩn hóa bằng thuộc
danh
viết tay
Sau
khi mẫu
dữ liệu
qua tính
các bước
tiềnđặc
xử lý

SốSVM Số
Số
Số
Tỉ lệ
trích chọn
chọn đặc
trưng,
dựa vào
giá trị
các tham trị
số
Số
Số
à và
trích
đặc
trưng,
dựa
sốSốSố lượng
Chữ
lượng
KQ
KQ
Tỉ lệ
tính
HOG.
Tỉ lệ
và trích
chọn
đặc

trưng,
dựa vào
giá vào
trị cácgiá
tham số các tham
%
Chữ
lượng
KQ
Chữ
lượng
lượng
KQSố sai
KQ
Tỉsai
lệ lượng
thu được khi huấn luyện ta sẽ sử dụng thuật toán
số
lượng
tách
tách
đúng
%
%
thu
được khi
khi huấn
luyện ta sẽ sử
dụng sử
thuật toán thuậtsố toán

lượng
tách
tách
đúng
uSVM
được
huấn
sai
đúng
số
lượngsai đúng
tách % sai tách
đúng
đúng
để xem xem
vectorluyện
đó thuộctavềsẽ
lớp nào.dụng
Kết
đúng đặc
Sauxem
khivector
mẫu đó
dữthuộc
liệu về
đãlớp
qua
xử165lý và trích
chọn
dựa

giá
0
1sai
164
164 trưng,
0
100
0
SVM để xem
nào.các
Kếtbước tiền
sai vào
đúngtrị các
quả trả
vềxem
là mộtxem
số thựcvector
tương ứng
với
nhãn mà
ta lớp nào.
165
164
164
100
0
VM
đó
thuộc
về

10 Kết
85
201
65
40
250
61.54
38.46
quả để
trả
về

một
số
thực
tương
ứng
với
nhãn

ta
tham
thunhãn
được
thuật
toán
SVM
để
xem
đó thuộc164

1
85
40165
61.54
38.46 164
065
1 vector
105
020
105
101
425 xem
96.19
3.81
huấn
luyện,số
có 10
tươngkhi
ứnghuấn
với cácluyện
số từ 0ta
- sẽ sử 2dụng
2
105
0
105
101
4
96.19
3.81

đãtrả
huấn
luyện,

10
nhãn
tương
ứng
với
các
số
từ
0
uảđã
về

một
số
thực
tương
ứng
với
nhãn

ta
3
105
0
105
100

5
95.24
4.76
1
85
20
65
40
về lớp nào. Kết quả trả về là một số thực tương
ứng
mà ta55100đã huấn
luyện,
9.
105 với00nhãn85
105
95.24
4.76có 10 nhãn
43
85
305
64.71
35.29
9.
2
105
0
105
101
4
85

55
64.71
35.29
ã 4.huấn
luyện,

10
0 85-85
20
83
83
030
100
0
tương
ứng
các
từ 0 - ứng
9. với các số 5từ
Kết
quả sau
khi với
nhậnnhãn
dạngsốtương
85
83105 50
1000
0
65
55

02
55
50
90.91
9.09
4. Kết quả sau khi nhận dạng
383
105
100
55
55
50
90.91 25.33
9.09
76
75
00
75
56
195
74.67
Một số kết quả
tốt
4
85
0
85
55
75
75

56
74.67
25.33
Một số kết4.
quảKết
tốt quả sau khi nhận dạng
87
75
10
74
72
219 97.30
2.70
8
75
1
74
72
2
97.30
2.70
5
83
83
9
65
0
65
49 85 16
75.382

24.62
Kết quả sau khi nhận dạng
9
65
65
49
16 87.90
75.38 12.10
24.62
900
240
770
106
Tổng
Một số kết quả tốt
Một
số876
kết quả
được
tốt 55
6876
0 12.10
50
900
24
77055chưa
106
87.90
Tổng
7thấy kết quả

75 nhận dạng
0 trên
75
56
Thực
nghiệm
trên
ta
ột số kết quả tốt
Một
số
quảtrên
chưa
được
Thựckết
nghiệm
ta thấy
kết quảtốt
nhận dạng trên
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
trên bộ65dữ liệu của
tập
9
0

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
chữ viết của người
Thực
Việt Nam và người phương
Tây. nghiệm trên ta thấy kết quả
Việt Nam và người phương Tây.
 Chữ viết nguệch ngoạc,
cáchliệu
điệu số báo danh viết tay không
bộ dữ
 Chữ viết nguệch ngoạc, cách điệu
 Nét chữ không đềukhi
dẫn đến bị mất
nét trongkiểm
các
o, điều chỉnh lại kích thước ảnh và
nghiệm
 Nét chữ không đều dẫnthực
đến bị mất

nét trong các tra trên bộ d
bước tiền xử lý
ề ảnh đen trắng.
bước tiền xử lý MNIST. Nguyên nhân là vì:
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
Một số kết quả chưa được tốt
phương pháp cải thiện kết quả bằng cách xây dựng
Sự bằng
khác
về hình dáng chữ
phương pháp cải thiện kết quả
cáchbiệt
xây dựng
bộ dữ liệu riêng phù hợp với hình dáng chữ số viết
bộ
dữ liệu
riêng
phùthực
hợp với
hình
dáng
chữ
số
viết liệu
Bảng
kết
quả
nghiệm

trên
tập
dữ
MNIST
Việt Nam và người
phương
Tây.
tay của người Việt Nam.
tay của người Việt Nam.
với
thuật
toán
SVM:
V. KẾT LUẬN
 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

đã chuẩn hóa kích thước và khử nhiễu,
định viền của từng đối tượng:

ột số kết quả chưa được tốt

3.6. Ảnh sau khi được xác định viền

các viền nhiễu bằng cách chỉ lấy những
ích lớn nhất.

Dữ liệu huấn luyện

 Nét chữ không50.000
đều dẫn đến bị mấ
Dữ liệu test bước tiền xử lý20.000
Thời gian
Thời
Độ chính
Độ chính
Từ
những
khó
khăn,
hạn
chế trên
huấn
gian
xác_Training
xác_Test
phương
cải thiện kết quả
luyện (s) Test
(s) pháp(%)
(%) bằng
bộ dữ liệu
phù hợp với hình dá
Lầnriêng
1
235.94
0.46
tay của người97.74
Việt Nam. 96.84

Lần 2
V. KẾT
LUẬN
221.90
0.48
97.71
96.88
Lần 3
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
trên
tập dữ
liệu
thuật toán SVM:

quả thực
nghiệm
trên
tậpMNIST
dữ liệuvới
MNIST
Bảng kết quả thực nghiệm trên tập dữ liệu MNIST
với thuật
thuật toán
toánSVM:
SVM:
với
Dữ liệu
liệu huấn
huấnluyện
luyện
50.000
chuyển
Dữ
50.000
chuyểnsang
sangđen
đen trắng
trắng
Dữ liệu
liệu test
test
20.000
Dữ
20.000

ích thước
kích
thướcvà
và khử
khử nhiễu,
nhiễu,
Thời gian
gian Thời
Thời
Độchính
chính
Độchính
chính
Thời
Độ
Độ
ừng
từngđối
đốitượng:
tượng:
huấn
gian
xác_Training
xác_Test
huấn
gian
xác_Training
xác_Test
luyện
(s)

Test
(s)
(%)
(%)
luyện (s) Test (s)
(%)
(%)
Lần11
Lần
235.94
0.46
97.74
96.84
235.94
0.46
97.74
96.84
Lần22
Lần
hihiđược
đượcxác
xácđịnh
định viền
viền
221.90
0.48
97.71
96.88
221.90
0.48

97.71
96.88
bằng
bằngcách
cáchchỉ
chỉ lấy
lấy những
những
Lần33
Lần
214.33
0.49
97.77
96.64
214.33
0.49
97.77
96.64
Lần
Lần44
220.53
0.46
97.63
96.81
220.53
0.46
97.63
96.81
Lần
5

Lần 5
217.38
0.49
97.79
96.68
217.38
0.49
97.79
96.68
khi
loạibỏ
bỏviền
viềnnhiễu
nhiễu
hi loại
Trung
bình
Trung
bình
kýtựtựởởbước
bước trên,
trên, tiến
tiến
cácký
222.012
0.48
97.73
96.77
222.012
0.48

97.73
96.77
đường
viền
bằng
28x28.
đường viền bằng 28x28.
củatừng
từng đối
đối tượng
tượng vừa
vừa
của
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
tính
HOG.
nh HOG.
Bảng kết
kết quả
quả thực
thựcnghiệm
nghiệm trêntập
tậpdữdữliệu
liệusốsốbáo

báo
danh
viết
tay
với
SVM
ãqua
quacác
cácbước
bước tiền
tiền xử
xử lý

danh viết tay vớiSốSVM Số
Tỉ lệ
a vào giá trị các tham số
Số
Số
Chữ
Số
lượng
lượng
KQ
KQ
Tỉ lệ Tỉ lệ
vào giá trị các tham số
Chữ
Số
lượng
lượng đúng

KQ saiKQ %
Tỉ lệ
a sẽ sử dụng thuật toán
số
lượng
tách
tách
% % sai
đúng
sẽ sử dụng thuật toán
số
lượng
tách
tách
đúng
sai
%
sai
sai
đúng
đúng
đó thuộc về lớp nào. Kết
đúng
0
165
1sai
164
164
0
100

0
ó thuộc về lớp nào. Kết
ương ứng với nhãn mà ta
165
164
100 38.460
10
85
201
65
40164
25 0 61.54
ơng
ứng
với
nhãn

ta
1
85
20
65
40
25
61.54
38.46
2
105
0
105

101
4
96.19
3.81
ương ứng với các số từ 0 105
105
101
96.19 4.76
3.81
ơng ứng với các số từ 0 32
105
00
105
100
5 4 95.24

dạng
ạng

ốt
t

43
54
65
76
87
98
Tổng
9

Tổng

105
85
85
85
85
55
55
75
75
75
65
75
900
65
900

00
20
02
00
10
01
240
24

105
85
8385

5583
7555
7475
6574
876
65
876

55100
8355
5083
5650
7256
4972
77049
770

30 5
0 30
5 0
19 5
2 19
16 2
10616
106

95.24
64.71
64.71
100

100
90.91
90.91
74.67
74.67
97.30
75.38
97.30
87.90
75.38
87.90

4.76
35.29
035.29
9.09 0
9.09
25.33
25.33
2.70
24.62
2.70
12.10
24.62
12.10

Thực nghiệm trên ta thấy kết quả nhận dạng trên
Thực
trên ta
thấy

nhận
dạng
trênviết tay không được
bộ
dữ
liệu
sốnhận
báo dạng
danh
viết
tay
không
tốt
bằng
Thực nghiệm trên ta thấy kết
quảnghiệm
trên
bộkết
dữ quả
liệuđược
số báo
danh
bộ dữ
liệu
số bộ
báodữ
danh
viết
tay
không

được
tốt tập
bằng
khi
thực
nghiệm
kiểm
trên
dữ liệu
của
tốt bằng khi thực nghiệm kiểm
tra
trên
liệutra
của
tậpbộ
MNIST.
Nguyên
nhân là vì:
khi thựcNguyên
nghiệmnhân
kiểm
tra trên bộ dữ liệu của tập
MNIST.
là vì:
• Sự khác biệt về hình
dáng chữ
viết nhân
của người
MNIST.

Nguyên
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
Nam
và người
phương
Tây.
• Chữ viết nguệch ngoạc,
cách
điệu
 Việt
Sự
khác
biệt
về hình
dáng
chữ viết của người
 Chữ
ngoạc,
cách Tây.
điệu
Việt viết
Namnguệch
và người
phương
• 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
đến
bị
mất nét trong các
Chữ viết nguệch ngoạc, cách điệu
bước
tiềnta
xử
 chế
Néttrên
chữ
không
đều
dẫn
bị mấtpháp
nét trong
các kết quả bằng cách
Từ những khó khăn, hạn
cólýthể
đưa
rađến
phương
cải thiện
bước
tiền
xử lýkhăn,
xây dựng bộ dữ liệu riêng phùTừ
hợp
với hình
dánghạn

chữchế
sốtrên
viếttatay
người
những
khó
cócủa
thể đưa
ra Việt Nam.
phương
pháp cải
kếthạn
quảchế
bằng
Từ những
khóthiện
khăn,
trêncách
ta cóxây
thểdựng
đưa ra
dữ
liệu
riêng
phù
hợp
với
hình
dáng
chữ

số
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ựng
QUẢN LÝ VÀ CÔNGtay
NGHỆ
của liệu
người
Việtphù
Nam.
bộ dữ
riêng
hợp với hình dáng chữ số viết
tay của
Việt Nam.
V.
KẾTngười
LUẬN


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] (Bài 19 - Support Vector Machine)
[5] />[6] />[7] />
TẠP CHÍ KHOA HỌC 27
QUẢN LÝ VÀ CÔNG NGHỆ



×