TRẦN DUY THANH
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
TRẦN HỮU LỘC
TRẦN DUY THANH
LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỆN TỬ
C
C
NGHIÊN CỨU PHƯƠNG PHÁP NHẬN DẠNG
SỐ NHÀ TỪ ẢNH CHỤP ĐƯỜNG PHỐ
R
L
T.
U
D
LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỆN TỬ
NĂM 2019
Đà Nẵng – Năm 2019
ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
TRẦN DUY THANH
C
C
NGHIÊN CỨU PHƯƠNG PHÁP NHẬN DẠNG
SỐ NHÀ TỪ ẢNH CHỤP ĐƯỜNG PHỐ
R
L
T.
U
D
Chuyển nghành: KỸ THUẬT ĐIỆN TỬ
Mã số: 8520203
LUẬN VĂN THẠC SĨ KỸ THUẬT ĐIỆN TỬ
Người hướng dẫn khoa hoc:
TS. HỒ PHƯỚC TIẾN
Đà Nẵng – Năm 2019
1
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
LỜI CAM ĐOAN
Kính gửi: Hội đồng bảo vệ luận văn tốt nghiệp Khoa Điện Tử - Viễn Thông,
Trường Đại Học Bách Khoa – Đại Học Đà Nẵng.
Tôi tên là: Trần Duy Thanh.
Hiện là học viên lớp Cao học Kỹ thuật điện tử - Khoá 36 - Khoa Điện Tử - Viễn
Thông, Trường Đại học Bách khoa – Đại học Đà Nẵng. Tôi xin cam đoan nội dung
của luận văn này không phải là bản sao chép của bất cứ luận văn hoặc công trình nào
đã có từ trước. Nếu vi phạm tôi xin chịu hoàn toàn trách nhiệm.
C
C
DU
R
L
T.
Học
Họcviên
viên
Trần Duy Thanh
Trần Duy Thanh
2
MỤC LỤC
LỜI CAM ĐOAN ............................................................................................... 1
MỤC LỤC .......................................................................................................... 2
TÓM TẮT LUẬN VĂN ...................................................................................... 4
DANH MỤC TỪ VIẾT TẮT .............................................................................. 5
DANH MỤC HÌNH VẼ ...................................................................................... 6
DANH MỤC BẢNG ........................................................................................... 9
CHƯƠNG 1. GIỚI THIỆU BÀI TOÁN NHẬN DẠNG SỐ NHÀ VÀ DEEP
LEARNING .............................................................................................................. 13
C
C
1.1.
Giới thiệu chương ............................................................................... 13
1.2.
Tổng quan về bài toán nhận dạng số nhà ............................................. 13
1.3.
Phương pháp học sâu (Deep Learning) và Ứng dụng .......................... 17
1.4.
Kết luận chương ................................................................................. 19
DU
R
L
T.
CHƯƠNG 2. MẠNG NEURON NHÂN TẠO VÀ MẠNG NEURON TÍCH
CHẬP ........................................................................................................................ 20
2.1 Giới thiệu chương.................................................................................... 20
2.2
Mạng Neuron nhân tạo........................................................................ 20
2.2.1 Cấu trúc một Neuron sinh học .......................................................... 20
2.2.2 Cấu trúc một Perceptron ................................................................ 21
2.3
Sigmoid Neuron .................................................................................. 22
2.4
Mô hình mạng Multi-layers Perceptron (MLP) ................................... 24
2.5
Mạng Neuron tích chập (Convolutional Neural Network – CNN) ....... 26
2.5.1 Vùng tiếp nhận cục bộ (Local receptive field)................................... 26
2.5.2 Trọng số chia sẻ ............................................................................. 29
2.5.3 Pooling .......................................................................................... 32
2.6
Kết luận chương ................................................................................. 33
CHƯƠNG 3. XÂY DỰNG PHƯƠNG PHÁP NHẬN DẠNG SỐ NHÀ ........... 34
3.1. Giới thiệu chương................................................................................... 34
3
3.2. Bài toán nhận dạng số nhà ...................................................................... 34
3.3.
Phương pháp mạng Neuron truyền thống ............................................ 35
3.4.
Phương pháp dùng mạng neuron tích chập .......................................... 37
3.5.
Mô hình Resnet................................................................................... 43
3.6.
Kết luận chương ................................................................................. 44
CHƯƠNG 4. THỰC NGHIỆM VÀ ĐÁNH GIÁ ............................................ 45
4.1.
Giới thiệu chương ............................................................................. 45
4.2.
Cơ sở dữ liệu SVHN .......................................................................... 45
4.3.
Kết quả với mạng truyền thống (MLP) ............................................... 46
4.4.
Kết quả với mạng CNN ...................................................................... 47
C
C
4.4.1. Ảnh hưởng của số lớp tích chập đến kết quả nhận dạng ............ 48
4.4.2. Tác động của các tham số ............................................................. 52
R
L
T.
4.5.
Kết quả với Resnet .............................................................................. 55
4.6.
Kết luận chương ................................................................................. 58
DU
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ......................................................... 59
DANH MỤC TÀI LIỆU THAM KHẢO ........................................................... 61
QUYẾT ĐỊNH GIAO ĐỀ TÀI .......................................................................... 63
PHỤ LỤC ......................................................................................................... 64
4
TÓM TẮT LUẬN VĂN
NGHIÊN CỨU PHƯƠNG PHÁP NHẬN DẠNG SỐ NHÀ TỪ ẢNH CHỤP
ĐƯỜNG PHỐ
Học viên:
Trần Duy Thanh
Mã số: 8520203
Khóa: 36
Chuyên ngành:
Kỹ thuật điện tử
Trường Đại học Bách khoa – Đại học Đà Nẵng
Tóm tắt -. Trong những năm gần đây, mạng Neuron tích chập (Convolutional Neural
Network-CNN) và đặc biệt là mạng Neuron tích chập sâu với nhiều lớp tích chập đã tạo ra
những bước tiến đáng kể trong việc giải quyết các bài toán về thị giác máy tính. Tuy nhiên,
việc nhận dạng hình ảnh trong môi trường tự nhiên vẫn là một vấn đề khó khăn đối với thị
giác máy tính. Luận văn này tập trung nghiên cứu và khảo sát thực nghiệm các kiến trúc mạng
Neuron nhân tạo bao gồm mạng MLP, CNN và mạng CNN sâu với nhiều lớp tích chập trong
việc nhận dạng hình ảnh số nhà được chụp từ đường phố. Vai trò của các khối chức năng
trong mạng sẽ được phân tích và đánh giá thông qua tỉ lệ nhận dạng. Việc đánh giá được thực
hiện thông qua bộ dữ liệu ảnh số nhà SVHN, đây là bộ dữ liệu được sử dụng rộng rãi trong
lĩnh vực nhận dạng ảnh. Quá trình thực nghiệm đã cho thấy những kết quả tốt về tỷ lệ nhận
dạng, cũng như thể hiện được ưu điểm của kiến trúc CNN, mạng CNN nhiều lớp, và đặc biệt
là mạng ResNet.
C
C
R
L
T.
Từ khóa - Deep Learning; Neuron network; MLP; CNN; Resnet; nhận dạng hình ảnh;
SVHN.
DU
METHODS TO RECOGNIZE STREET VIEW
HOUSE NUMBERS
Abstract - In the recent years, Convolutional Neural Network (CNN) and especially the Deep
Neural Network with multiple layers have made significant advances in solving computer
vision problems. However, image recognition in the natural environment is still a difficult
problem for computer vision. The thesis focuses on the research and empirical survey of
artificial neural network architectures including MLP network, CNN and deep CNN network
with multiple convolution layers, in order to recognize house numbers in images taken in the
street. The role of the functional blocks in the network will be analyzed and evaluated through
the recognition rate. The assessment is done with the popular dataset SVHN. The
experimental process has shown good results in the recognition rate, as well as demonstrated
the advantages of CNN architecture and CNN deep network compared to traditional MLP
network.
Key words - Deep Learning; Neural Network; MLP; CNN; Resnet; image classification;
SVHN.
5
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt
Diễn giải
Dịch nghĩa
AI
Artificial Intelligence
Trí tuệ nhân tạo
ANN
Artificial Neural Network
Mạng Neuron nhân tạo
CNN
Convolutional Neural Network
Mạng Neuron tích chập
FC
Fully-Connected
Kết nối đầy đủ
MLP
Multi-Layers Perceptron
Perceptron nhiều lớp
ReLU
Rectified Linear Units
ResNet
Residual Network
SVHN
Street View House Number
DU
Khối kích hoạt tuyến tính
phần dương
R
L
T.
C
C
Mạng Residual
Số nhà từ ảnh chụp đường phố
6
DANH MỤC HÌNH VẼ
Hình 1.1. Biểu diễn dữ liệu hình ảnh.......................................................................... 13
Hình 1.2 Số nhà có các font chữ số khác nhau (lấy từ tập dữ liệu SVHN [15])........... 15
Hình 1.3. Đối tượng nhận dạng có sự thay đổi theo khoảng cách [15]. ....................... 15
Hình 1.4. Hình dạng và bố cục khác nhau của các chữ số [15]. .................................. 15
Hình 1.5 Chữ số nhà bị che khuất, mất chi tiết số [15]. .............................................. 16
Hình 1.6. Tác động của ánh sáng đến việc nhận dạng chữ số [15]. ............................. 16
Hình 1.7. Khả năng gây nhầm lẫn khi đối tượng và bối cảnh có sự tương đồng [15]. . 16
Hình 1.8. Kiến trúc mạng Neuron nhân tạo. ............................................................... 17
Hình 1.9. Kiến trúc mạng Neuron nhân tạo với hai lớp ẩn.......................................... 17
C
C
Hình 1.10. Kiến trúc mạng Deep Learning đơn giản. ................................................. 18
R
L
T.
Hình 2.1. Tế bào Neuron thần kinh của người [6]. ..................................................... 20
Hình 2.2. Cấu trúc của một Perceptron đơn giản. ....................................................... 21
DU
Hình 2.3. Sự thay đổi nhỏ các giá trị trọng số dẫn đến sự thay đổi nhỏ tương ứng ở
ngõ ra [11]. ................................................................................................................ 23
Hình 2.4. Hàm kích hoạt của Perceptron [11]............................................................. 23
Hình 2.5. Mô hình Perceptron đơn giản [11]. ............................................................. 23
Hình 2.6. Minh họa hàm Sigmoid [11]. ...................................................................... 24
Hình 2.7. Một mô hình mạng MLP gồm các lớp Full Connection [11]. ...................... 25
Hình 2.8. Cấu trúc mạng MLP nhiều lớp [11]. ........................................................... 25
Hình 2.9. Ảnh ngõ vào với kích thước 28 × 28 [11]. ................................................. 27
Hình 2.10. Vùng cục bộ - vùng chấm đen đậm [11]. .................................................. 27
Hình 2.11. Quá trình dịch của các cửa sổ bộ lọc [11]. ................................................ 28
Hình 2.12. Minh họa việc áp dụng một filter lấy tích chập lên ảnh ngõ vào. .............. 30
Hình 2.13. Các bản đồ đặc tính được tạo thành tương ứng với các bộ lọc. ................. 30
Hình 2.14. Kích thước bị thu nhỏ sau quá trình lấy tích chập. .................................... 31
Hình 2.15. Chèn padding được thực hiện trước khi lấy tích chập. .............................. 32
Hình 2.16. Lấy mẫu xuống giúp giảm kích thước dữ liệu. .......................................... 33
Hình 3.1. Mô hình tổng quát của bài toán nhận dạng số nhà....................................... 34
7
Hình 3.2. Mạng MLP trong nhận dạng biển số nhà từ ảnh chụp đường phố. .............. 35
Hình 3.3. Mạng MLP với 1 lớp ẩn ............................................................................. 36
Hình 3.4. Mạng MLP với 2 lớp ẩn ............................................................................. 36
Hình 3.5. Mạng MLP 3 lớp ẩn ................................................................................... 36
Hình 3.6. Mạng MLP 4 lớp ẩn ................................................................................... 37
Hình 3.7. Cấu trúc mạng LeNet [8]. ........................................................................... 37
Hình 3.8. Kiến trúc mạng CNN cơ bản trong nhận dạng số nhà ................................. 38
Hình 3.9. Hàm kích hoạt ReLU, chuyển các giá trị âm về 0. ...................................... 38
Hình 3.10. Mô hình CNN sử dụng trong luận văn ...................................................... 41
Hình 3.11. Mô hình mạng CNN không sử dụng lớp batchNormalization ................... 42
C
C
Hình 3.12. So sánh kết quả nhận dạng khi tăng số lớp [4]. ......................................... 43
Hình 3.13. Mô hình một Residual block [4]. .............................................................. 44
R
L
T.
Hình 3.14. Mô hình mạng Resnet 18 [5]. ................................................................... 44
Hình 4.1. Kết quả nhận dạng của mạng MLP với 1 lớp ẩn ......................................... 46
DU
Hình 4.2. Kết quả nhận dạng của mạng MLP với 2 lớp ẩn ......................................... 46
Hình 4.3. Kết quả nhận dạng của mạng MLP với 3 lớp ẩn ......................................... 46
Hình 4.4. Kết quả nhận dạng của mạng MLP với 4 lớp ẩn ......................................... 46
Hình 4.5. Mạng CNN 2 lớp tích chập......................................................................... 48
Hình 4.6. Mô hình mạng CNN 2 lớp tích chập ........................................................... 48
Hình 4.7. Kết quả nhận dạng của mạng CNN 2 lớp tích chập..................................... 49
Hình 4.8. Mạng CNN 3 lớp tích chập......................................................................... 49
Hình 4.9. Kết quả nhận dạng của mạng CNN 3 lớp tích chập..................................... 50
Hình 4.10. Mạng CNN 4 lớp tích chập ....................................................................... 50
Hình 4.11. Kết quả nhận dạng đối với mạng CNN 4 lớp tích chập ............................. 51
Hình 4.12. Kết quả nhận dạng đối với mạng CNN 5 lớp tích chập ............................. 51
Hình 4.13. Vai trò của Learning rate trong mạng CNN ............................................. 53
Hình 4.14. Vai trò của Dropout trong mạng CNN ...................................................... 54
Hình 4.15. Vai trò của batchNormalization trong mạng CNN .................................... 55
Hình 4.16. Kết quả nhận dạng với mạng Resnet 8 (23 epoch) .................................... 56
8
Hình 4.17. Kết quả nhận dạng với mạng Resnet 18 .................................................... 56
Hình 4.18. Kết quả nhận dạng với mạng Resnet 18 (có Extra data) ............................ 57
C
C
DU
R
L
T.
9
DANH MỤC BẢNG
Bảng 4.1. Kết quả nhận dạng mạng MLP với tập dữ liệu SVHN ................................ 47
Bảng 4.2. Kết quả nhận dạng của mạng CNN với tập dữ liệu SVHN ......................... 52
Bảng 4.3. Kết quả nhận dạng của các mạng Neuron với tập dữ liệu SVHN ................ 58
C
C
DU
R
L
T.
10
MỞ ĐẦU
1. Tính cấp thiết của đề tài
Mạng Neuron nhân tạo – ANN (gọi tắt là mạng Neuron) là mô hình thuật toán
được đưa ra dựa trên hệ thống thần kinh của con người và Deep Learning (Deep
Neural Network) là một nhánh đặc biệt trong đó.
Mạng neuron sâu thực chất không phải là một khái niệm mới, mà đã xuất hiện
từ những năm 1950 nhưng mãi đến thời gian gần đây mới phát triển mạnh mẽ cùng với
sự bùng nổ của Internet và máy tính có tốc độ xử lý cao, giúp chúng ta có thể tận dụng
tất cả dữ liệu khổng lồ như hình ảnh, video, âm thanh,.. là các yếu tố quyết định giúp
mạng neuron hoạt động hiệu quả.
Hiện nay, kỹ thuật nhận dạng đang được rất nhiều người quan tâm, bởi đây là
một ngành khoa học có rất nhiều ứng dụng trong các lĩnh vực tin học, y tế, quốc
phòng, an ninh, kinh tế và xã hội.
C
C
R
L
T.
Luận văn này tập trung nghiên cứu Deep Learning và mạng Neuron tích chập
(CNN) để giải quyết vấn đề nhận dạng số nhà từ ảnh chụp trong bối cảnh phức tạp,
ảnh màu và ảnh có chứa những đối tượng khác có thể gây nhầm lẫn.
DU
Xuất phát từ nhu cầu thực tế và xu hướng nghiên cứu của thế giới, tác giả thực
hiện đề tài: “Nghiên cứu phương pháp nhận dạng số nhà từ ảnh chụp đường phố.”
2. Mục tiêu nghiên cứu
- Nghiên cứu áp dụng mạng neuron tích chập (CNN) và mạng Neuron tích chập
sâu (CNNs) giải quyết bài toán nhận dạng số nhà từ ảnh chụp đường phố.
- Nghiên cứu, đưa ra mô hình các mạng Neuron nhân tạo như MLP, CNN và
đánh giá hệ thống mạng dựa trên cơ sở dữ liệu SVHN.
- Đánh giá tác động của số lớp, tốc độ học của mạng, tỷ lệ loại bỏ ngẫu nhiên
(dropout)… đến hệ thống dựa trên tỷ lệ nhận dạng đúng hình ảnh chữ số.
3. Đối tượng và phạm vi nghiên cứu
a) Đối tượng nghiên cứu
- Mô hình mạng Neuron truyền thống MLP [11].
- Mô hình mạng Neuron tích chập (CNN) nhiều lớp [11].
- Mô hình mạng Neuron tích chập sâu Resnet [13].
- Cơ sở dữ liệu SVHN được lấy từ Google Street View – dùng để khảo sát và
đánh giá hệ thống [15].
- Ứng dụng phần mềm Matlab để mô phỏng.
11
b) Phạm vi nghiên cứu
- Nhận dạng ảnh số nhà.
- Phân tích, xử lý ảnh.
- Mạng Neuron nhân tạo, Mạng Neuron tích chập
- Tập dữ liệu hình ảnh số nhà SVHN.
- Phần mềm Matlab, mô phỏng và đánh giá hiệu quả của hệ thống.
4. Phương pháp nghiên cứu
Trong phạm vi luận văn, phương pháp nhận dạng số nhà từ ảnh chụp đường
phố được xây dựng dựa trên mạng Neuron tích chập (CNN).
Xây dựng mô hình mạng CNN và mô phỏng bằng Matlab nhằm đánh giá hiệu
quả của hệ thống.
C
C
Hệ thống được tiến hành đánh giá dựa trên tỷ lệ nhận dạng đúng (hoặc tỷ lệ
nhận dạng lỗi) hình ảnh, áp dụng với bộ cơ sở dữ liệu chính là SVHN.
R
L
T.
Phương pháp nghiên cứu xuyên suốt của luận văn là kết hợp nghiên cứu lý
thuyết, và đánh giá thông qua mô phỏng thực nghiệm. Quá trình thực hiện bao gồm
các bước: xây dựng mô hình, huấn luyện, đánh giá khả năng phân loại ảnh số nhà dựa
trên tỉ lệ nhận dạng đúng.
DU
5. Ý nghĩa khoa học và thực tiễn của đề tài
Việc nhận dạng các chữ số nhà từ ảnh chụp đường phố là một vấn đề quan
trọng đang được quan tâm hiện nay, các bức ảnh chụp đường phố thường có bối cảnh
phức tạp có chứa nhiều đối tượng gây nhầm lẫn trong nhận dạng là vấn đề đầy thách
thức và khó khăn. Tuy nhiên, các bài toán này có thể được giải quyết với sự trợ giúp
Deep Learning và mạng Neuron tích chập.
Việc khai thác ảnh chụp đường phố được lấy từ Google Street View giúp việc
xây dựng và cập nhật bản đồ cho một địa điểm, khu phố, con đường được thuận lợi
hơn.
6. Cấu trúc của luận văn
Trong luận văn “NGHIÊN CỨU PHƯƠNG PHÁP NHẬN DẠNG SỐ NHÀ TỪ
ẢNH CHỤP ĐƯỜNG PHỐ”, tôi tập trung vào việc nghiên cứu, xây dựng và khảo sát
hiệu quả của hệ thống để giải quyết bài toán nhận dạng hình ảnh số nhà từ ảnh chụp
trong môi trường tự nhiên. Nội dung của luận văn gồm 4 chương:
Chương 1: Giới thiệu bài toán nhận dạng số nhà và Deep Learning
Chương 2: Mạng Neuron nhân tạo và mạng Neuron tích chập
Chương 3: Xây dựng phương pháp nhận dạng ảnh số nhà
Chương 4: Thực nghiệm và đánh giá kết quả
12
Em xin bày tỏ sự biết ơn chân thành và sâu sắc nhất tới Thầy TS. Hồ Phước
Tiến đã hết lòng hướng dẫn và giúp đỡ Em trong suốt quá trình nghiên cứu và hoàn
thiện luận văn Thạc sĩ này.
Em cũng xin gửi lời cảm ơn chân thành tới các Thầy, các Cô là giảng viên của
Khoa Điện Tử Viễn Thông - Trường Đại học Bách khoa Đà Nẵng đã tận tình truyền
đạt và hướng dẫn cho Em trong suốt quá trình học tập.
Mặc dù đã hết sức cố gắng hoàn thành luận văn, nhưng do thời gian và trình độ
có hạn nên luận văn của em chắn chắn không thể tránh khỏi những sai sót, rất mong
nhận được các ý kiến đóng góp của quý Thầy, Cô và các Bạn để luận văn được hoàn
thiện hơn.
Em xin chân thành cảm ơn !
C
C
DU
R
L
T.
13
CHƯƠNG 1. GIỚI THIỆU BÀI TOÁN NHẬN DẠNG SỐ NHÀ
VÀ DEEP LEARNING
1.1. Giới thiệu chương
Ngày nay, Trí tuệ nhân tạo (Aritificial Intelligence - AI) và Học máy (Machine
Learning) hiện diện trong mọi lĩnh vực của đời sống con người, từ kinh tế, giáo dục, y
khoa cho đến những công việc nhà, giải trí hoặc thậm chí là trong quân sự. Những ứng
dụng nổi bật trong việc phát triển AI đến từ nhiều lĩnh vực để giải quyết nhiều vấn đề
khác nhau. Nhưng những đột phá phần nhiều đến từ Học sâu (Deep Learning), một
mảng nhỏ đang mở rộng dần đến từng loại công việc, từ đơn giản đến phức tạp.
Chương 1 sẽ giới thiệu tổng quan về bài toán nhận dạng số nhà và trình bày sơ lược về
Deep Learning cũng như về mạng Neuron nhân tạo.
1.2. Tổng quan về bài toán nhận dạng số nhà
C
C
Nhận dạng hình ảnh nói chung và nhận dạng ký tự, chữ số từ ảnh chụp nói riêng
là một trong những vấn đề đang được quan tâm hiện nay. Tuy nhiên việc nhận dạng
chữ số trong môi trường tự nhiên vẫn là một vấn đề khó khăn đối với thị giác máy
tính.
DU
R
L
T.
Hiện nay một số hãng công nghệ lớn như Google, Amazone đã đưa ra các thuật
toán nhận dạng hình ảnh vào ứng dụng như: tự tag khuôn mặt người dùng (Facebook),
tìm kiếm qua camera điện thoại bằng trí thông minh nhân tạo (Google Lens) hay siêu
thị tự động không cần thu ngân (Amazon Go).
Về cơ bản, nhận dạng số nhà là trích xuất các lớp thông tin từ hình ảnh để phân
loại các chữ số trong ảnh. Và dưới góc nhìn của một hệ thống, dữ liệu khi đưa vào
mạng được biểu diễn bằng ma trận (matrix) số liệu hay tổng quát hơn là ma trận nhiều
chiều (tensor).
Giả sử x là một ảnh màu RGB có kích thước H × W × D (tương ứng với kích
thước chiều cao, rộng và độ sâu) sẽ được biểu diễn bởi bằng một tensor H × W × 3.
Tensor này có 3 kênh (channel), tương ứng với ba màu đỏ, xanh lá cây và xanh dương.
Hình 1.1. Biểu diễn dữ liệu hình ảnh
14
Có hai phương pháp học máy chính được áp dụng vào nhận dạng chữ số: học
có giám sát (supervised learning) và học không giám sát (unsupervised learning).
-
Nhận dạng có giám sát:
Nhận dạng số nhà có giám sát là thuật toán dự đoán đầu ra của một số nhà mới
cần nhận dạng, dựa trên các cặp số nhà cần nhận dạng và kết quả nhận dạng đã biết từ
trước. Cặp dữ liệu này còn được gọi là dữ liệu, nhãn (data, label). Supervised Learning
là nhóm phổ biến nhất trong các thuật toán Machine Learning.
Một cách toán học, Supervised Learning là khi chúng ra có một tập hợp biến
đầu vào X={x1,x2,…,xN}và một tập hợp nhãn tương ứng Y={y1,y2,…,yN}, trong đó
xi,yi là các vector. Các cặp dữ liệu biết trước (xi,yi) được gọi là tập dữ liệu huấn luyện
(training data). Từ tập training data này, chúng ta cần tạo ra một hàm số ánh xạ mỗi
phần tử từ tập X sang một phần tử (xấp xỉ) tương ứng của tập Y:yi≈f(xi), ∀i=1,2,…,N.
C
C
Mục đích là xấp xỉ hàm số f thật tốt để khi có một số nhà x mới, chúng ta có thể
tính được nhãn tương ứng của nó y=f(x).
-
R
L
T.
Nhận dạng không giám sát:
Nhận dạng số nhà không giám sát là thuật toán mà chúng ta không biết được số
nhà ở đầu ra hay label mà chỉ có dữ liệu đầu vào.
DU
Một cách toán học, Unsupervised Learning là khi chúng ta chỉ có dữ liệu vào X
mà không biết nhãn Y tương ứng.
Hiện nay, với bài toán nhận dạng nói chung và bài toán nhận dạng số nhà nói
riêng, phần lớn các nghiên cứu vẫn tập trung vào phương pháp nhận dạng có giám sát.
Luận văn này cũng sẽ được thực hiện theo hướng nghiên cứu này.
Đối với bộ não người bình thường, thông qua quá trình tiến hóa và thu nhận
thông tin, cần chưa tới vài giây (hay thậm chí chỉ vài phần giây) để có thể nhận dạng
một đối tượng là chữ số, bức tường, hàng rào ... Tuy nhiên, đây lại là một vấn đề khó
khăn và cực kì phức tạp đối với các hệ thống máy tính. Thậm chí, trong một số trường
hợp với hình ảnh phức tạp hay dễ nhầm lẫn, bản thân con người cũng có thể không
nhận dạng được đối tượng. Một số thách thức trong nhận dạng số nhà từ ảnh chụp có
thể kể đến như:
- Về Font chữ số:
Ảnh chụp một số nhà có các font chữ số khác nhau sẽ dẫn tới dễ gây nhầm lẫn
trong phân biệt và nhận dạng.
15
Hình 1.2 Số nhà có các font chữ số khác nhau (lấy từ tập dữ liệu SVHN [15]).
- Về tỷ lệ của chữ số:
Việc nhận định về vật thể có thể chịu sự chi phối về kích thước và tỉ lệ của vật
thể. Trong trường hợp cụ thể, có thể kể đến việc sai khác về kích thước quan sát vật
thể ở các khoảng cách khác nhau. Cùng một vật thể được đánh giá, nếu ở khoảng cách
gần, chúng ta có thể quan sát được với kích thước lớn, và ngược lại khi vật thể ở xa.
C
C
DU
R
L
T.
Hình 1.3. Đối tượng nhận dạng có sự thay đổi theo khoảng cách [15].
- Về hình dạng, cách bố trí, góc nhìn, chiều xoay các chữ số:
Nhiều số nhà có thể bị biến đổi về bố cục sắp xếp, góc độ, chiều xoay của các
chữ số, đơn cử như chữ số nhà được xếp thành nhiều hàng, chữ số theo chiều dọc và
chiều ngang, chữ số theo góc nghiêng…. Đây cũng là một yếu tố ảnh hưởng đến việc
nhận dạng.
Hình 1.4. Hình dạng và bố cục khác nhau của các chữ số [15].
- Về vấn đề che khuất, mất chi tiết:
Trong thực tế, không phải lúc nào chúng ta cũng có thể quan sát toàn vẹn về đối
tượng. Trường hợp đối tượng bị che khuất một phần, chính là một ví dụ cụ thể.
16
Hình 1.5 Chữ số nhà bị che khuất, mất chi tiết số [15].
Trong Hình 1.5, Số nhà được chụp trong ảnh bị che khuất một phần chữ số, chữ
số bị mất một phần chi tiết, chỉ vài phần nhỏ của nó có thể nhìn thấy được. Quá trình
nhận dạng sẽ được thực hiện trong trạng thái khuyết thiếu dữ liệu.
-
Điều kiện chiếu sáng: Tác động của mức độ ánh sáng lên từng điểm ảnh:
C
C
DU
R
L
T.
Hình 1.6. Tác động của ánh sáng đến việc nhận dạng chữ số [15].
-
Nhầm lẫn bối cảnh, ảnh chụp mờ khó nhận dạng:
Một trường hợp khó xử lý khác mà chúng ta có thể kể đến là việc có nhiều chữ
số tương đồng hòa trộn vào môi trường xung quanh trong ảnh, chữ số và bối cảnh có
sự tương đồng, ảnh chụp các chữ số mờ khó nhận dạng.
Hình 1.7. Khả năng gây nhầm lẫn khi đối tượng và bối cảnh có sự tương đồng [15].
Bài toán nhận dạng đơn giản nhất hiện nay mà có thể xem là đã giải quyết được
là bài toán nhận dạng chữ số viết tay, với kết quả các nhà nghiên cứu đạt được lên đến
99%. Ngược lại, bài toán được cho là khó giải quyết nhất là bài toán nhận dạng ảnh
trong môi trường tự nhiên, do sự đa dạng về bối cảnh, màu sắc, góc nhìn, khoảng cách
chụp, thành phần gây nhầm lẫn,...
17
1.3. Phương pháp học sâu (Deep Learning) và Ứng dụng
1.3.1 Phương pháp học sâu (Deep Learning)
Deep Learning gắn liền với cụm từ “neural network”. Lĩnh vực này đã được
biết đến dưới nhiều cái tên khác nhau và đã trải qua một quá trình lịch sử lâu dài về
nghiên cứu.
C
C
R
L
T.
Hình 1.8. Kiến trúc mạng Neuron nhân tạo.
DU
Mạng Neuron không phải là một lĩnh vực mới, thậm chí chúng là những mô
hình machine learning lần đầu tiên xuất hiện từ đầu những năm 1950. Khởi đầu là
những nghiên cứu về mạng Neuron nhân tạo (ANN), lấy cảm hứng từ các mô hình
neuron sinh học như Perceptron, Adaline. Đến những năm 1960 - 1980 với sự phát
minh của thuật toán lan truyền ngược (back propagation) [11] đã góp phần thúc đẩy sự
phát triển của mạng Neuron, tuy nhiên phải đến thời gian gần đây mới gây được sự
chú ý trên thế giới.
Kiến trúc chung của mạng Neuron nhân tạo gồm có ba thành phần đó là lớp đầu
vào (Input layer), lớp ẩn (hidden layer) và lớp đầu ra (output layer) [11], như Hình 1.9.
Hình 1.9. Kiến trúc mạng Neuron nhân tạo với hai lớp ẩn
18
Trong một ANN có thể có nhiều hiden layer, một hidden layer gồm các neuron
nhận dữ liệu input từ neuron ở layer trước đó rồi xử lý input này sau đó tiến hành xuất
dữ liệu output cho các hiden layer tiếp theo. Mỗi neuron có một hàm kích hoạt
(activation function); hàm này thường mô phỏng đáp ứng phi tuyến trong hoạt động
của neuron.
C
C
DU
R
L
T.
Hình 1.10. Kiến trúc mạng Deep Learning đơn giản.
Deep Learning là một kỹ thuật trong Machine Learning, liên quan đến các thuật
toán dược xây dựng từ cấu trúc và hoạt động của bộ não con người gọi là mạng
Neuron nhân tạo (artificial neural networks). Một điểm đáng chú ý của các mạng
Neuron nhân tạo là không cần con người lập trình để thực hiện công việc. Thay vào
đó, các lập trình viên sẽ cung cấp cho máy tính một thuật toán học và một lượng lớn
dữ liệu hay mẫu để huấn luyện. Sau đó, máy tính sẽ tự học được cách để nhận dạng
một đối tượng nhất định.
Deep Learning về cơ bản chính là một ANN với nhiều hidden layer. Một ANN
cơ bản có thể có vài hidden layer, nhưng với Deep Learning số lượng có thể lên đến
hàng trăm, thậm chí hàng nghìn lớp (layer). Việc tăng nhiều lớp đồng nghĩa với việc
tăng độ chính xác cho ANN, tuy nhiên việc này đòi hỏi nhiều hơn về tài nguyên (dữ
liệu, nền tảng phần cứng ...). Ngoài ra, với mạng càng nhiều lớp thì quá trình huấn
luyện càng phức tạp hơn.
Một vấn đề quan trọng khác đối với Deep Learning là dữ liệu. Nói chung, ta
cần một lượng dữ liệu rất lớn để huấn luyện tốt một mạng Neuron nhiều lớp: dữ liệu
càng nhiều thì mạng Neuron sử dụng Deep Learning càng chuẩn xác. Tuy nhiên, đây
- Xem thêm -