(Luận văn thạc sĩ) Nghiên cứu mạng nơron CNN và ứng dụng trong bài toán phân – Tài liệu text
(Luận văn thạc sĩ) Nghiên cứu mạng nơron CNN và ứng dụng trong bài toán phân loại ảnh
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 (3.01 MB, 84 trang )
I HC THI NGUYấN
TRƯờNG ĐạI HọC CÔNG NGHệ THÔNG TIN Và TRUYềN THÔNG
Lấ CM H
NGHIấN CU MNG NRON CNN V ỨNG DỤNG
TRONG BÀI TOÁN PHÂN LOẠI ẢNH
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN – 2020
I HC THI NGUYấN
TRƯờNG ĐạI HọC CÔNG NGHệ THÔNG TIN Và TRUYềN THÔNG
Lấ CM H
NGHIấN CU MNG NRON CNN V ỨNG DỤNG
TRONG BÀI TOÁN PHÂN LOẠI ẢNH
Chuyên ngành: Khoa học máy tính
Mã số: 8 48 01 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Giáo viên hướng dẫn: TS.Nguyễn Đình Dũng
THÁI NGUYÊN – 2020
i
LỜI CẢM ƠN
Luận văn này được hoàn thành tại Trường Đại học Công nghệ Thông tin và
Truyền thông dưới sự hướng dẫn của TS. Nguyễn Đình Dũng. Tác giả xin bày
tỏ lịng biết ơn tới các thầy cơ giáo thuộc Trường Đại học Công nghệ Thông tin
và Truyền thông, các thầy cô giáo thuộc Viện Công nghệ Thông tin – Viện Hàn
lâm Khoa học và Công nghệ Việt Nam đã tạo điều kiện, giúp đỡ tác giả trong
quá trình học tập và làm luận văn tại Trường, đặc biệt tác giả xin bày tỏ lịng biết
ơn tới TS. Nguyễn Đình Dũng đã tận tình hướng dẫn và cung cấp nhiều tài liệu
cần thiết để tác giả có thể hồn thành luận văn đúng thời hạn.
Xin chân thành cảm ơn anh chị em học viên cao học và bạn bè đồng nghiệp
đã trao đổi, khích lệ tác giả trong q trình học tập và làm luận văn tại Trường Đại
học Công nghệ Thông tin và Truyền thông – Đại học Thái Nguyên.
Cuối cùng tác giả xin gửi lời cảm ơn đến gia đình, những người đã ln
bên cạnh, động viên và khuyến khích tơi trong q trình thực hiện đề tài.
Thái Nguyên, tháng 10 năm 2020
Học viên cao học
Lê Cẩm Hà
ii
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này do chính tơi thực hiện, dưới sự hướng
dẫn khoa học của TS. Nguyễn Đình Dũng, các kết quả lý thuyết được trình
bày trong luận văn là sự tổng hợp từ các kết quả đã được cơng bố và có trích
dẫn đầy đủ, kết quả của chương trình thực nghiệm trong luận văn này được
tác giả thực hiện là hoàn toàn trung thực, nếu sai tơi hồn tồn chịu trách
nhiệm.
Thái Ngun, tháng 10 năm 2020
Học viên
Lê Cẩm Hà
iii
MỤC LỤC
Một số thuật toán tiêu biểu trong phân loại ảnh …………………………………….. 19
1.5.1 Thuật toán KNN ………………………………………………………………………………. 19
1.5.2 Thuật toán sử dụng mạng Nơ ron ……………………………………………………….. 20
1.5.3 Thuật toán SVM ………………………………………………………………………………. 21
Kết luận chương 1 …………………………………………………………………………….. 21
CHƯƠNG 2
MẠNG NƠ RON CNN VÀ ỨNG DỤNG TRONG PHÂN LOẠI
ẢNH
………………………………………………………………………………………….. 23
iv
Các khái niệm chung về mạng nơron …………………………………………………… 23
2.1.1 Mạng nơron sinh học ………………………………………………………………………… 23
2.1.2 Mạng nơron nhân tạo ………………………………………………………………………… 24
2.1.3 Mơ hình tốn học và kiến trúc mạng nơron………………………………………….. 27
2.1.4 Phân loại mạng nơ ron ………………………………………………………………………. 30
2.1.5 Huấn luyện mạng nơron ……………………………………………………………………. 31
Mạng nơron CNN ……………………………………………………………………………… 32
2.2.1 Giới thiệu ………………………………………………………………………………………… 32
2.2.2 Kiến trúc mạng CNN ………………………………………………………………………… 33
2.2.3 Ứng dụng CNN trong phân loại ảnh ……………………………………………………. 37
Xây dựng mạng CNN cho phân loại ảnh ……………………………………………… 38
2.3.1 Trường tiếp nhận cục bộ (Local receptive fields) …………………………………. 38
2.3.2 Trọng số chia sẻ và độ lệch (Shared weights and biases)……………………….. 42
2.3.3 Lớp chứa hay lớp tổng hợp (Pooling layer) …………………………………………. 42
2.3.4 Cách chọn tham số cho CNN …………………………………………………………….. 45
Cập nhật một số hướng nghiên cứu về bài toán phân loại ảnh sử dụng mạng
nơ ron CNN ……………………………………………………………………………………………….. 45
2.4.1 Các nghiên cứu trên thế giới ………………………………………………………………. 45
2.4.2 Các nghiên cứu trên trong nước …………………………………………………………. 46
Kết luận chương ……………………………………………………………………………….. 48
CHƯƠNG 3
XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG ỨNG DỤNG MẠNG
CNN TRONG PHÂN LOẠI ẢNH ……………………………………………………………….. 49
Đặt vấn đề………………………………………………………………………………………… 49
Bài toán nhận dạng chữ viết tay ………………………………………………………….. 50
3.2.1 Mơ tả bài tốn ………………………………………………………………………………….. 50
3.2.2 Các bước thực hiện …………………………………………………………………………… 51
3.2.3 Một số kết quả đạt được ……………………………………………………………………. 57
Bài tốn giải mã Capcha…………………………………………………………………….. 61
3.3.1 Mơ tả bài tốn ………………………………………………………………………………….. 61
3.3.2 Các bước thực hiện …………………………………………………………………………… 65
v
3.3.3 Một số kết quả đạt được ……………………………………………………………………. 67
Kết luận chương ……………………………………………………………………………….. 68
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ……………………………………………………… 70
TÀI LIỆU THAM KHẢO ……………………………………………………………………………. 72
vi
DANH MỤC CÁC TỪ VIẾT TẮT
Từ hoặc
Từ tiếng Anh
cụm từ
Từ tiếng Việt
AI
Artificial Intelligence
Trí tuệ nhân tạo
ANN
Artificial Neural Network
Mạng nơron nhân tạo
CV
Computer Vision
Thị giác máy tính
CNN
Convolutional Neural Network
Mạng nơron tích chập
DL
Deep Learning
Học sâu
Completely Automated Public Phép thử Turing cơng cộng hồn
CAPCHA Turing test to tell Computers and toàn tự động để phân biệt máy tính
Humans Apart
với người
MCR
Miss Classification Rate
Tỷ lệ nhận dạng sai
RMSE
Root Mean Square Error
Sai số bình phương trung bình
MLP
Multilayer Neural Network
Mạng nơron nhiều lớp
Modified National Institute of
MNIST
Standards
and
Technology Cơ sở dữ liệu về chữ số viết tay
database
ReLU
Rectified Linear Units
Hàm tinh chỉnh các đơn vị tuyến tính
vii
DANH MỤC CÁC HÌNH ẢNH
Hình 1.1. Các giai đoạn chính trong xử lý ảnh …………………………………………………..5
Hình 1.2. Minh họa hệ màu RGB …………………………………………………………………….8
Hình 1.3. Ví dụ về ảnh màu …………………………………………………………………………….8
Hình 1.4. Biểu diễn ảnh theo tensor 3 chiều ………………………………………………………9
Hình 1.5. Ví dụ về ảnh xám …………………………………………………………………………..10
Hình 1.6. Minh họa phép tích chập trong xử lý ảnh ………………………………………….11
Hình 1.7. Ma trận đầu ra Y khi chập ảnh X với kernel W ………………………………….11
Hình 1.8. Stride=1, padding=1 ……………………………………………………………………….12
Hình 1.9. Stride=2, padding=1 ……………………………………………………………………….12
Hình 1.10. Một số bộ lọc Kerne1 trong xử lý ảnh …………………………………………….13
Hình 1.11. Phương pháp lưới …………………………………………………………………………16
Hình 1.12. Phương pháp cung ………………………………………………………………………..16
Hình 1.13. Biểu diễn mẫu bằng tập kí hiệu ………………………………………………………18
Hình 1.14. Minh họa thuật tốn KNN ……………………………………………………………..19
Hình 2.1. Cấu trúc cơ bản của nơron sinh học ………………………………………………….23
Hình 2.2. Nơron nhân tạo ………………………………………………………………………………25
Hình 2.3. Mơ hình tốn học mạng nơron nhân tạo ……………………………………………27
Hình 2.4. Nơron 1 đầu vào với hàm hoạt hoá là hàm hardlimit ………………………….29
Hình 2.5. Phân loại mạng nơ ron ……………………………………………………………………30
Hình 2.6. Học có giám sát ……………………………………………………………………………..31
Hình 2.7. Học khơng có giám sát ……………………………………………………………………31
Hình 2.8. Học tăng cường ……………………………………………………………………………..32
Hình 2.9. Cách máy tính “nhìn” một hình [16] …………………………………………………32
Hình 2.10. Mạng nơ-ron thơng thường (trái) và CNN (phải) ……………………………..34
Hình 2.11. Kiến trúc mạng CNN ……………………………………………………………………34
Hình 2.12. Max pooling kích thước 2×2 ………………………………………………………….36
Hình 2.13. Lớp kết nối đầy đủ ……………………………………………………………………….36
Hình 2.14. Các bước phân loại ảnh sử dụng mạng CNN ……………………………………37
viii
Hình 2.16. Lớp input gồm 28×28 nơ ron cho nhận dạng chữ từ tập dữ liệu MNIST
…………………………………………………………………………………………………………………..38
Hình 2.17. Kết nối vùng 5×5 nơ ron input với nơ ron lớp ẩn ……………………………..39
Hình 2.18. Vị trí bắt đầu của trường tiếp nhận cục bộ ……………………………………….39
Hình 2.19. Vị trí thứ 2 của trường tiếp nhận cục bộ và nơ ron lớp ẩn ………………….40
Hình 2.20. Trường tiếp nhận cục bộ với ba bản đồ đặc trưng …………………………….40
Hình 2.21. Trường tiếp nhận cục bộ với 20 bản đồ đặc trưng …………………………….41
Hình 2.22. Ví dụ về Max pooling 2×2 …………………………………………………………….43
Hình 2.23. Max pooling với ba bản đồ đặc trưng ……………………………………………..43
Hình 2.24. Một kiến trúc mạng CNN cho nhận dạng chữ viết từ dữ liệu MNIST …44
Hình 3.1. Giao diện chính của chương trình mơ phỏng ……………………………………..49
Hình 3.2. Chữ viết tay số “5” từ bộ dữ liệu MNIST ………………………………………….50
Hình 3.3. Giao diện thiết kế mạng CNN ………………………………………………………….55
Hình 3.4. Mạng CNN cơ bản …………………………………………………………………………55
Hình 3.5. Tiến trình luyện mạng với kernel 7 x 7 and 8 bản đồ đặc trưng. …………..56
Hình 3.6. Giao diện chương trình nhận dạng chữ viết tay. …………………………………60
Hình 3.7. Một số mẫu captcha ……………………………………………………………………….62
Hình 3.8. Một số kết quả tấn cơng captcha ………………………………………………………63
Hình 3.9. Hai cách tiếp cận để nhận dạng captcha bằng CNN ……………………………64
Hình 3.10. Kiểu dữ liệu captcha dùng trong bài tốn nhận dạng …………………………65
Hình 3.11. Kí tự W và Q bị dính với nhau ……………………………………………………….65
Hình 3.12. Giãn nở ký tự trong captcha để dễ phát hiện vùng liên thơng …………….66
Hình 3.13. Phát hiện thành phần liên thơng ……………………………………………………..66
Hình 3.14. Một mẫu captcha có 2 ký tự dính liền nhau ……………………………………..66
Hình 3.15. Vùng nhận dạng liên tục nhận 2 ký tự vào 1 ảnh cắt, chưa tốt ……………66
Hình 3.16. Kết quả sau khi dùng thủ thuật cắt đôi vùng nhận các ký tự liền nhau ..66
Hình 3.17. Ví dụ tập các ảnh kí tự đã được cắt và xếp theo thư mục …………………..67
Hình 3.18. Chương trình mơ phỏng nhận dạng mã Captcha ………………………………68
ix
DANH MỤC BẢNG BIỂU
Bảng 2.1. Một số dạng hàm hoạt hóa trong mạng nơron nhân tạo ………………………29
Bảng 3.1. Các tham số hoạt động của mạng CNN cơ bản ………………………………….57
Bảng 3.2. Các tham số hoạt động của mạng CNN ba lớp ẩn ………………………………58
Bảng 3.3. So sánh kết quả của một số phương pháp trên bộ dữ liệu MNIST ………..61
1
MỞ ĐẦU
1. Tính khoa học và cấp thiết của đề tài
Ứng dụng của công nghệ phân loại hiện nay đang phát triển rất mạnh ở rất
nhiều lĩnh vực như: học thuật, kinh doanh, bảo mật, y tế… và các ở các đối tượng như:
nhà nghiên cứu xã hội, chính phủ và các tổ chức phi lợi nhuận khác. Vì các tổ chức
này sở hữu một lượng lớn dữ liệu không có cấu trúc và việc xử lý dữ liệu sẽ trở nên
dễ dàng hơn rất nhiều nếu như các dữ liệu này được chuẩn hóa bởi các chủ đề/nhãn.
Nền tảng cơng nghệ để thực hiện bài tốn phân loại chính là trí tuệ nhân tạo (Artificial
Intelligence – AI) và học sâu (Deep Learning – DL).
Trong ngành Thị giác máy tính (Computer Vision – CV), nhờ những thành tự
của lĩnh vực học sau mà trong những năm gần đây, ta đã chứng kiến được nhiều thành
tựu vượt bậc. Các hệ thống xử lý ảnh lớn như Facebook, Google hay Amazon đã đưa
vào sản phẩm của mình những chức năng thơng minh như nhận diện khuôn mặt người
dùng, phát triển xe hơi tự lái hay drone giao hàng tự động.
Từ lâu các nhà khoa học đã nhận thấy những ưu điểm của bộ óc con người và
tìm cách bắt chước để thực hiện trên những máy tính, tạo cho nó có khả năng học tập,
nhận dạng và phân loại. Vì vậy các nhà khoa học đã nghiên cứu và sáng tạo ra mạng
nơron nhân tạo. Nó thực sự được chú ý và nhanh chóng trở thành một hướng nghiên
cứu mới triển vọng đặc biệt là lĩnh vực nhận dạng, dự đoán và phân loại.
Convolutional Neural Network (Mạng nơ-ron tích chập – CNN) là một trong
những mơ hình Deep Learning tiên tiến giúp cho chúng ta xây dựng được những hệ
thống thông minh với độ chính xác cao như hiện nay. Việc nghiên cứu về mạng nơron
cũng như mạng CNN (tích chập) và sử dụng mơ hình CNNs trong phân lớp ảnh
(Image Classification) là một bài tốn dầy hấp dẫn và có khả năng áp dụng để giải
quyết nhiều vấn đề trong thực tế.
Được sự gợi ý của thầy giáo hướng dẫn tôi đã chọn đề tài: “Nghiên cứu mạng
nơron CNN và ứng dụng trong bài toán phân loại ảnh” làm luận văn tốt nghiệp của
mình. Mục tiêu chính của luận văn là tìm hiểu về bài tốn phân loại hình ảnh trong
CV và cách thực hiện bằng mạng CNN cho hai ứng dụng (bài toán nhận dạng chữ
viết tay và bài toán giải mã Capcha).
2
2. Đối tượng và phạm vi nghiên cứu của đề tài
– Đối tượng nghiên cứu: Luận văn nghiên cứu kỹ thuật phân loại ảnh sử dụng
mạng CNN
– Phạm vi nghiên cứu: Luận văn tập trung nghiên cứu trên hai bài toán (bài toán
nhận dạng chữ viết tay và bài toán giải mã Capcha) dựa trên các bộ dữ liệu ảnh
có sẵn được cộng đồng khoa học quốc tế công nhận.
3. Phương pháp luận nghiên cứu
– Phương pháp nghiên cứu lý thuyết: Tổng hợp, nghiên cứu các tài liệu về bài
toán phân loại ảnh, mạng nơ ron CNN; Tìm hiểu các kiến thức liên quan. Ứng dụng
mạng nơ ron CNN bài toán nhận dạng chữ viết tay và bài toán giải mã Capcha.
– Phương pháp nghiên cứu thực nghiệm: Sau khi nghiên cứu lý thuyết, luận
văn sẽ tập trung vào xây dựng phần mềm mô phỏng việc phân loại dữ liệu ảnh trong
hai bài toán nêu trên; Đánh giá kết quả sau khi thử nghiệm
– Phương pháp trao đổi khoa học: Thảo luận, xemina, lấy ý kiến chuyên gia.
4. Nội dung và bố cục của luận văn
Ngoài phần mở đầu, kết luận và hướng phát triển, luận văn được bố cục thành
ba chương chính như sau:
Chương 1 Tổng quan bài tốn phân loại ảnh số: Nghiên cứu các khái niệm cơ
bản trong xử lý ảnh số, tập trung sâu vào phân loại ảnh số, một số thuật toán tiêu biểu
được sử dụng trong phân loại ảnh số.
Chương 2 Mạng nơ ron CNN và ứng dụng trong phân loại ảnh: Nghiên cứu về
mạng nơron nhân tạo, tập trung vào mạng nơron CNN và các ứng dụng của mạng này
trong thực tế, đặc biệt trong phân lớp dữ liệu ảnh
Chương 3 Xây dựng chương trình mơ phỏng ứng dụng mạng CNN trong phân
loại ảnh: Chương này giới thiệu về hai bài toán nhận dạng chữ viết tay và giải mã
Capcha. Xây dựng các mơ hình mạng nơ ron CNN để giải quyết hai bài tốn này dựa
trên tập mẫu dữ liệu ảnh có sẵn được cộng đồng khoa học quốc tế công nhận. Đánh
giá hiệu năng của mơ hình mạng CNN thu được với một số phương pháp cơng bố
trước đó.
3
CHƯƠNG 1
TỔNG QUAN BÀI TOÁN PHÂN LOẠI ẢNH SỐ
Tổng quan xử lý ảnh số
1.1.1 Một số khái niệm cơ bản trong xử lý ảnh
Ảnh số
Ảnh số thực tế là biểu diễn số học của hình ảnh trong máy tính, thường là biểu
diễn nhị phân. Có thể phân ảnh số thành 2 loại: ảnh xám và ảnh màu.
Ảnh xám thực chất là một hàm hai chiều của cường độ sáng f(x,y), trong đó x
và y là các toạ độ khơng gian và giá trị của hàm f tại một điểm (x,y) tỷ lệ với cường
độ sáng của ảnh tại điểm đó. Nếu chúng ta có một ảnh mầu thì f là một vector mà mỗi
thành phần của vector đó chỉ ra cường độ sáng của ảnh tại điểm (x,y) đó tương ứng
với dải mầu [2] .
Mỗi thành phần của mảng (x,y) được gọi là một điểm ảnh (pixel: picture
element) và là phần tử nhỏ nhất cấu tạo nên ảnh. Điểm ảnh được hiểu như 1 dấu hiệu
hay cường độ sáng tại một tọa độ xác định trong khơng gian. Hình ảnh được xem như
là 1 tập hợp các điểm. Với cùng kích thước nếu sử dụng càng nhiều điểm ảnh thì bức
ảnh càng đẹp, càng mịn và càng thể hiện rõ hơn chi tiết của ảnh người ta gọi đặc điểm
này là độ phân giải.
Cường độ sáng của một ảnh tại một ví trí điểm ảnh
Mỗi điểm ảnh của một ảnh tương ứng với một phần của một đối tượng vật lý
tồn tại trong thế giới thực. Đối tượng vật lý này được chiếu sáng bởi một vài tia sáng
mà tia sáng này bị phản xạ một phần hay hấp thụ một phần khi chiếu lên đối tượng
vật lý đó. Phần ánh sáng phản xạ lại đi tới các bộ cảm biến được sử dụng để tạo ảnh
cảm nhận và tạo ra các giá trị ghi nhận được đối tượng đối với từng điểm ảnh. Giá trị
thu nhận được phụ thuộc vào phổ ánh sáng phản xạ. Giá trị cường độ sáng của các
điểm ảnh khác nhau chỉ có ý nghĩa tương đối mà khơng có ý nghĩa trong các tốn
hạng tuyệt đối [2] .
4
Số bits cần thiết để lưu trữ một ảnh
Ở đây chúng ta chỉ quan tâm tới ảnh xám, nếu ảnh được lưu trữ dưới dạng một
mảng hai chiều với kích thước NxN và có 2m mức xám thì số bits cần thiết để lưu trữ
ảnh là:
b N x N x 2m
(1.1)
Ví dụ như, một ảnh cỡ 512 x 512 với 256 (tức m=8) mức xám thì cần số bits
lưu trữ là: 512 x 512 x 256=2.097.152 bits.
Độ phân giải ảnh
Độ phân giải ảnh biểu diễn mức độ chi tiết của ảnh mà chúng ta có thể nhìn rõ
đối tượng. Khi thay đổi các giá trị m và N trong phương trình thì sẽ có các hiện tượng
thay đổi khác nhau. Xong thực nghiệm cho thấy khi giữ nguyên kích thước ảnh N và
tăng số mức xám m lên thì sẽ thể hiện rõ hơn mức độ chi tiết trong ảnh.
1.1.2 Tổng quan về một hệ thống xử lý ảnh
Xử lý ảnh là đối tượng nghiên cứu của lĩnh vực thị giác máy, là quá trình biến
đổi từ một ảnh ban đầu sang một ảnh mới với các đặc tính và tuân theo ý muốn của
người sử dụng. Xử lý ảnh có thể gồm q trình phân tích, phân lớp các đối tượng,
làm tăng chất lượng, phân đoạn và tách cạnh, gán nhãn cho vùng hay quá trình biên
dịch các thơng tin hình ảnh của ảnh [2] .
Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin học
ứng dụng. Xử lý dữ liệu bằng đồ hoạ đề cập đến những ảnh nhân tạo, các ảnh này
được xem xét như là một cấu trúc dữ liệu và được tạo ra bởi các chương trình. Xử lý
ảnh số bao gồm các phương pháp và kĩ thuật để biến đổi, để truyền tải hoặc mã hố
các ảnh tự nhiên. Mục đích của xử lý ảnh gồm:
–
Biến đổi ảnh, làm tăng chất lượng ảnh.
–
Tự động nhận dạng, đoán nhận, đánh giá các nội dung của ảnh.
Các bước cần thiết trong xử lý ảnh được mô tả chi tiết trong Hình 1.1 bao gồm
các bước sau:
5
CAMERA
Lưu trữ
Thu nhận
ảnh
Số hóa
Phân tích
ảnh
Phân loại
ảnh
SCANNER
Lưu trữ
Hệ Q.định
Hình 1.1. Các giai đoạn chính trong xử lý ảnh
Đầu tiên là quá trình thu nhận ảnh. Ảnh có thể thu nhận được qua camera.
Thường khi thu nhận ảnh qua camera là tín hiệu tương tự (loại camera ống kiểu
CCIR), nhưng cũng có thể là tín hiệu số hóa (loại CCD- Charge Coupled Device).
Ảnh cũng có thể thu nhận từ vệ tinh qua các bộ cảm ứng (sensor), hay ảnh tranh được
quét trên scanner. Tiếp theo là q trình số hóa (Digitalizer) để biến đổi tín hiệu tương
tự sang tín hiệu rời rạc (lấy mẫu) và số hóa bằng lượng hóa, trước khi chuyển sang
giai đoạn xử lý, phân tích hay lưu trữ lại. Trước hết là công việc tăng cường ảnh để
nâng cao chất lượng ảnh. Do những nguyên nhân khác nhau: có thể do chất lượng
thiết bị thu nhận ảnh, do nguồn sáng hay do nhiễu, ảnh có thể bị suy biến do vậy cần
phải tăng cường và khôi phục lại ảnh để làm nổi bật một số đặc tính chính của ảnh,
hay làm cho ảnh gần giống nhất với trạng thái gốc – trạng thái trước khi bị biến dạng.
Giai đoạn tiếp theo là phát hiện các đặc tính như biên, phân vùng ảnh, trích chọn các
đặc tính…v.v…
Cuối cùng tùy theo mục đích của ứng dụng, sẽ là giai đoạn nhận dạng, phân
loại hay các quyết định khác.
1.1.3 Một số thao tác cơ bản trong xử lý ảnh
Biểu diễn ảnh
Trong biểu diễn ảnh, người ta thường dùng các phần tử đặc trưng của ảnh là
pixel. Nhìn chung có thể một hàm hai biến chứa các thông tin như biểu diễn của một
6
ảnh. Các mơ hình biểu diễn cho ta một mơ tả logic hay định lượng các tính chất của
hàm này. Trong biểu diễn ảnh cần chú ý đến tính trung thực hoặc các tiêu chuẩn
“thông minh” để đo chất lượng ảnh hoặc tính hiệu quả của các kĩ thuật xử lý.
Một số mơ hình thường được dùng trong biểu diễn ảnh: mơ hình bài tốn, mơ
hình thống kê. Trong mơ hình bài tốn, ảnh hai chiều được biểu diễn nhờ các hàm hai
biến trực giao gọi là các hàm cơ sở. Cịn mơ hình thống kê, một ảnh được coi như
một phần tử của một tập hợp đặc trưng bởi các đại lượng như: kỳ vọng toán học, hiệp
biến, phương sai, moment.
Biến đổi ảnh (Image Transform)
Thuật ngữ biến đổi ảnh thường dùng để nói tới một lớp các ma trận đơn vị và
các kĩ thuật dùng để biến đổi ảnh.
Biến đổi ảnh nhằm làm giảm các nguyên nhân của ảnh để việc xử lý hiệu quả
hơn. Như làm rõ hơn các thông tin mà người dùng quan tâm nhưng người dùng phải
chấp nhận mất đi một số thông tin cần thiết.
Phân tích ảnh
Phân tích ảnh liên quan đến việc xác định các độ đo định lượng của 1 ảnh để
đưa ra một mơ tả đầy đủ về ảnh.
Q trình phân tích ảnh thực chất bao gồm nhiều cơng đoạn nhỏ. Trước hết là
công việc tăng cường ảnh để nâng cao chất lượng ảnh, giai đoạn tiếp theo là phát hiện
các đặc tính như phát hiện biên, phân vùng ảnh, trích chọn các đặc tính..v.v..
Tăng cường ảnh – khơi phục ảnh
Tăng cường ảnh là một bước quan trọng, tạo tiền đề cho xử lý ảnh. Nó gồm
các kỹ thuật như: lọc độ tương phản, khử nhiễu, nổi màu…
Khôi phục ảnh là nhằm loại bỏ các suy giảm trong ảnh.
Xử lý biên ảnh
Biên là vấn đề chủ yếu trong phân tích ảnh vì các điểm trích chọn trong q
trình phân tích ảnh đều dựa vào biên. Mỗi điểm ảnh có thể là biên nếu ở đó có sự thay
7
đổi đột ngột về mức xám. Tập hợp các điểm biên tạo thành biên hay đường bao quanh
của ảnh.
Phân vùng ảnh
Phân vùng là bước then chốt trong xử lý ảnh. Giai đoạn này nhằm phân tích
ảnh thành những thành phần có tính chất nào đó dựa theo biên hay các vùng liên
thông. Tiêu chuẩn để xác định các vùng liên thơng có thể là mức xám, cùng màu hay
độ tương phản.
Nhận dạng ảnh
Nhận dạng ảnh là quá trình liên quan đến các mô tả đối tượng mà người ta
muốn đặc tả nó. Q trình nhận dạng thường đi sau q trình trích chọn các đặc tính
chủ yếu của đối tượng. Có hai kiểu mơ tả đối tượng:
Mơ tả tham số (nhận dạng theo tham số).
Mô tả theo cấu trúc (nhận dạng theo cấu trúc).
Trên thực tế người ta đã áp dụng kỹ thuật nhận dạng khá thành công với nhiều
đối tượng khác nhau như: nhận dạng ảnh vân tay, nhận dạng chữ viết.
Nén ảnh
Dữ liệu ảnh cũng như các dữ liệu khác cần phải lưu trữ hay truyền đi trên mạng
mà lượng thông tin để biểu diễn cho một ảnh là rất lớn. Do đó làm giảm lượng thơng
tin hay nén dữ liệu là một nhu cầu cần thiết.
Nén dữ liệu là q trình làm giảm lượng thơng tin “dư thừa” trong dữ liệu gốc và
do vậy lượng thông tin thu được sau khi nén thường nhỏ hơn dữ liệu gốc rất nhiều.
Biểu diễn ảnh trong máy tính
1.2.1 Ảnh màu
Hệ màu RGB
RGB viết tắt của red (đỏ), green (xanh lục), blue (xanh lam), là ba màu chính
của ánh sáng khi tách ra từ lăng kính. Khi trộn ba màu trên theo tỉ lệ nhất định có thể
tạo thành các màu khác nhau.
8
Hình 1.2. Minh họa hệ màu RGB
Hình 1.2 minh họa việc chọn màu thường thấy trong các chương trình máy
tính. Khi ta chọn một màu thì sẽ ra một bộ ba số tương ứng (r,g,b) màu được chọn. Ở
đây là rgb(102, 255, 153), nghĩa là r=102, g=255, b=153.
Biểu diễn ảnh màu
Hình 1.3. Ví dụ về ảnh màu
Ảnh màu (Hình 1.3) là một ma trận các pixel mà mỗi pixel biểu diễn một điểm
màu. Mỗi điểm màu được biểu diễn bằng bộ 3 số (r,g,b). Để tiện cho việc xử lý ảnh
thì sẽ tách ma trận pixel ra 3 channel red, green, blue.
Bức ảnh trên Hình 1.3 có kích thước 800 pixel * 600 pixel, bức ảnh này có thể
biểu diễn dưới dạng một ma trận kích thước 600 * 800 như (1.2).
9
(1.2)
Trong đó mỗi phần tử w ij là một pixel. Tuy nhiên để biểu diễn 1 màu ta cần
3 thông số (r,g,b) nên gọi w ij (rij , gij , bij ) ta có thể để biểu diễn dưới dạng ma trận
như sau:
Mỗi ma trận được tách ra (r, g, b) được gọi là 1 channel nên ảnh màu được gọi
là 3 channel: channel red, channel green, channel blue.
Ảnh màu trên máy tính sẽ được biểu diễn dưới dạng tensor 3 chiều chồng lên
nhau. Hình 1.4 mơ tả biểu diễn một ảnh màu kích thước 28*28 trên máy tính. Trong
đó, ảnh được biểu diễn dưới dạng tensor 3 chiều kích thước 28*28*3 do có 3 ma trận
(channel) màu red, green, blue kích thước 28*28 chồng lên nhau.
Hình 1.4. Biểu diễn ảnh theo tensor 3 chiều
10
1.2.2 Ảnh xám
Hình 1.5. Ví dụ về ảnh xám
Hình 1.5 mơ tả ảnh xám của bắc ảnh màu trong Hình 1.3. Tương tự ảnh màu,
ảnh xám cũng có kích thước 800 pixel * 600 pixel, có thể biểu diễn dưới dạng một
ma trận kích thước 600 * 800 như (1.2).
Tuy nhiên mỗi pixel trong ảnh xám chỉ cần biểu diễn bằng một giá trị nguyên
trong khoảng từ [0,255] thay vì (r,g,b) như trong ảnh màu. Giá trị 0 là màu đen, 255
là màu trắng và giá trị pixel càng gần 0 thì càng tối và càng gần 255 thì càng sáng.
Do đó khi biểu diễn ảnh xám trong máy tính chỉ cần một ma trận là đủ.
Phép tích chập trong xử lý ảnh
Phép tích chập (Convolution) là kỹ thuật quan trọng trong xử lý ảnh, được sử
dụng chính yếu trong các phép toán trên ảnh như: đạo hàm ảnh, làm trơn ảnh, trích
xuất biên cạnh trong ảnh…Kí hiệu phép tính convolution là : Y X W
Theo toán học, tích chập là phép tốn tuyến tính, cho ra kết quả là một hàm
bằng việc tính tốn dựa trên hai hàm đã có (X và W). Để cho dễ hình dung mình sẽ
lấy ví dụ trên ảnh xám, tức là ảnh được biểu diễn dưới dạng ma trận X kích thước
m*n [2] .
Cơng thức tích chập giữa hàm ảnh X(x, y) và bộ lọc W(x, y) (kích thước mxn):
Y x, y X x, y W x, y
m /2
n /2
X u, v W x u, y v
u m /2 v n /2
Kernel
(1.3)
11
Ta định nghĩa kernel là một ma trận vng kích thước k*k trong đó k là số lẻ.
k có thể bằng 1, 3, 5, 7, 9,… Ví dụ kernel kích thước 3*3 như (1.4)
(1.4)
Với mỗi phần tử x ij trong ma trận X lấy ra một ma trận có kích thước bằng
kích thước của kernel W có phần tử x ij làm trung tâm (đây là vì sao kích thước của
kernel thường lẻ) gọi là ma trận A. Sau đó tính tổng các phần tử của phép tính
element-wise của ma trận A và ma trận W, rồi viết vào ma trận kết quả Y.
Hình 1.6 minh hoạ việc thực hiện phép tích chập trong xử lý ảnh số khi tính
tại x 22 (ơ khoanh đỏ trong hình), ma trận A cùng kích thước với W, có x 22 làm trung
tâm có màu nền da cam. Sau đó tính y 11 :
y 11 x11 * w11 x12 * w12 x13 * w13 x21 * w21 x22 * w22
x23 * w23 x31 * w32 x32 * w32 x33 * w33 4
Hình 1.6. Minh họa phép tích chập trong xử lý ảnh
Hình 1.7. Ma trận đầu ra Y khi chập ảnh X với kernel W
(1.5)
12
Làm tương tự với các phần tử còn lại trong ma trận ta thu được kết quả là ma
trận Y đầu ra (Hình 1.7). Ma trận Y này có kích thước nhỏ hơn ma trận X. Kích thước
của ma trận Y là (m-k+1) * (n-k+1).
Padding
Như đã phân tích ở trên, mỗi lần thực hiện phép tính convolution xong, kích
thước ma trận Y đều nhỏ hơn X. Nếu muốn ma trận Y thu được có kích thước bằng
ma trận X ta phải thêm giá trị 0 ở viền ngoài ma trận X. Phép tính này gọi là
convolution với padding=1. Padding=k nghĩa là thêm k vector 0 vào mỗi phía của ma
trận (Hình 1.8).
Hình 1.8. Stride=1, padding=1
Stride
Như ở trên ta thực hiện tuần tự các phần tử trong ma trận X, thu được ma trận
Y cùng kích thước ma trận X, ta gọi là stride=1. Tuy nhiên, nếu stride=k (k > 1) thì
ta chỉ thực hiện phép tính convolution trên các phần tử x 1i*k ,1 j*k . Hình 1.9 minh họa
trường hợp stride=2.
Hình 1.9. Stride=2, padding=1
13
Hiểu đơn giản là bắt đầu từ vị trí x 11 sau đó nhảy k bước theo chiều dọc và
ngang cho đến hết ma trận X. Kích thước của ma trận Y lúc này là 3*3 đã giảm đi
đáng kể so với ma trận X. Tổng quát cho phép tính convolution của ma trận X kích
thước m*n với kernel kích thước k*k, stride = s, padding = p ra ma trận Y với kích
mk 2p n k 2p
1 *
1 . Stride thường dùng để giảm kích thước của
s
s
thước là
ma trận sau phép tính convolution.
Ý nghĩa của phép tính convolution
Hình 1.10. Một số bộ lọc Kerne1 trong xử lý ảnh
Mục đích của phép tính convolution trên ảnh là làm mở, làm nét ảnh; xác định
các đường;… Mỗi kernel khác nhau thì sẽ phép tính convolution sẽ có ý nghĩa khác
nhau. Hình 1.10 minh họa một số bộ lọc Kernel được xử dụng trong các thao tác xử
lý ảnh như làm nét ảnh, xác định biên ảnh, làm mờ ảnh.
Lý thuyết phân loại ảnh số
1.4.1 Các khái niệm cơ bản
Mẫu và mô tả mẫu
14
Người ta mơ tả tất cả những kích thước vật lý có thể thu nhận được trong thế
giới xung quanh ta bằng các mẫu (pattern). Phân loại mẫu chính là việc xử lý mô tả
và diễn dịch các mẫu. Các mẫu thường được mô tả bằng một tập các thuộc tính đặc
trưng của đối tượng. Giả sử các pi là đại lượng biểu diễn đặc trưng của đối tượng đang
xét thì ta có thể biểu diên một mẫu là P p1 , p2 ,… pn . Để mô tả mẫu từ các đặc trưng
của đối tượng người ta có thể sử dụng hai phương pháp sau:
– Phương pháp số
– Phương pháp cấu trúc
Khoảng cách mẫu:
Khoảng cách mẫu là một khái niệm được xây dựng để đánh giá các đối
tượng có ở “gần nhau” hay khơng. Khi khoảng cách nhỏ hơn một mức ngưỡng nào
đó thì ta có thể coi như hai đối tượng là đồng dạng với nhau và chúng sẽ ở cùng
một lớp. Trường hợp khoảng cách lớn hơn mức ngưỡng chúng sẽ thuộc về hai lớp
phân biệt.
Lớp mẫu và phân lớp mẫu:
Không gian mẫu là một tập các mẫu trộn lẫn nhau. Nhờ vào quá trình phân lớp
(classification) của bài tốn phân loại mà các mẫu được nhóm lại thành từng lớp mẫu
(class) riêng biệt. Các lớp mẫu phân biệt chứa các mẫu đồng dạng với nhau. Mỗi lớp
mẫu sẽ được gán một cái tên. Như vậy khi mẫu của một đối tượng được quá trình
phân lớp gán vào một lớp mẫu nào đó thì cũng có nghĩa là đối tượng đó đã được phân
loại.
Không gian mẫu và không gian diễn dịch
Các đặc trưng cơ bản của các đối tượng tạo nên các thành phần biểu diễn mẫu.
Tập hợp các mẫu của các đối tượng sẽ tạo nên khơng gian mẫu. Cịn tập các tên gọi
của các đối tượng tạo thành không gian diễn dịch. Nói một cách khác tập các mẫu
chuẩn sẽ tạo thành khơng gian diễn dịch. Như vậy q trình nhận dạng mẫu là q
trình ánh xạ f từ tập khơng gian mẫu ={P1 ,P2 ,…PN} sang tập không gian diễn dịch
={n1,n2,…,nS} (S:số tên gọi cho các đối tượng cần nhận dạng).
Nhận dạng được giám sát và không được giám sát:
LỜI CẢM ƠNLuận văn này được hoàn thành tại Trường Đại học Công nghệ Thông tin vàTruyền thông dưới sự hướng dẫn của TS. Nguyễn Đình Dũng. Tác giả xin bàytỏ lịng biết ơn tới các thầy cơ giáo thuộc Trường Đại học Công nghệ Thông tinvà Truyền thông, các thầy cô giáo thuộc Viện Công nghệ Thông tin – Viện Hànlâm Khoa học và Công nghệ Việt Nam đã tạo điều kiện, giúp đỡ tác giả trongquá trình học tập và làm luận văn tại Trường, đặc biệt tác giả xin bày tỏ lịng biếtơn tới TS. Nguyễn Đình Dũng đã tận tình hướng dẫn và cung cấp nhiều tài liệucần thiết để tác giả có thể hồn thành luận văn đúng thời hạn.Xin chân thành cảm ơn anh chị em học viên cao học và bạn bè đồng nghiệpđã trao đổi, khích lệ tác giả trong q trình học tập và làm luận văn tại Trường Đạihọc Công nghệ Thông tin và Truyền thông – Đại học Thái Nguyên.Cuối cùng tác giả xin gửi lời cảm ơn đến gia đình, những người đã lnbên cạnh, động viên và khuyến khích tơi trong q trình thực hiện đề tài.Thái Nguyên, tháng 10 năm 2020Học viên cao họcLê Cẩm HàiiLỜI CAM ĐOANTôi xin cam đoan luận văn này do chính tơi thực hiện, dưới sự hướngdẫn khoa học của TS. Nguyễn Đình Dũng, các kết quả lý thuyết được trìnhbày trong luận văn là sự tổng hợp từ các kết quả đã được cơng bố và có tríchdẫn đầy đủ, kết quả của chương trình thực nghiệm trong luận văn này đượctác giả thực hiện là hoàn toàn trung thực, nếu sai tơi hồn tồn chịu tráchnhiệm.Thái Ngun, tháng 10 năm 2020Học viênLê Cẩm HàiiiMỤC LỤCMột số thuật toán tiêu biểu trong phân loại ảnh …………………………………….. 191.5.1 Thuật toán KNN ………………………………………………………………………………. 191.5.2 Thuật toán sử dụng mạng Nơ ron ……………………………………………………….. 201.5.3 Thuật toán SVM ………………………………………………………………………………. 21Kết luận chương 1 …………………………………………………………………………….. 21CHƯƠNG 2MẠNG NƠ RON CNN VÀ ỨNG DỤNG TRONG PHÂN LOẠIẢNH………………………………………………………………………………………….. 23ivCác khái niệm chung về mạng nơron …………………………………………………… 232.1.1 Mạng nơron sinh học ………………………………………………………………………… 232.1.2 Mạng nơron nhân tạo ………………………………………………………………………… 242.1.3 Mơ hình tốn học và kiến trúc mạng nơron………………………………………….. 272.1.4 Phân loại mạng nơ ron ………………………………………………………………………. 302.1.5 Huấn luyện mạng nơron ……………………………………………………………………. 31Mạng nơron CNN ……………………………………………………………………………… 322.2.1 Giới thiệu ………………………………………………………………………………………… 322.2.2 Kiến trúc mạng CNN ………………………………………………………………………… 332.2.3 Ứng dụng CNN trong phân loại ảnh ……………………………………………………. 37Xây dựng mạng CNN cho phân loại ảnh ……………………………………………… 382.3.1 Trường tiếp nhận cục bộ (Local receptive fields) …………………………………. 382.3.2 Trọng số chia sẻ và độ lệch (Shared weights and biases)……………………….. 422.3.3 Lớp chứa hay lớp tổng hợp (Pooling layer) …………………………………………. 422.3.4 Cách chọn tham số cho CNN …………………………………………………………….. 45Cập nhật một số hướng nghiên cứu về bài toán phân loại ảnh sử dụng mạngnơ ron CNN ……………………………………………………………………………………………….. 452.4.1 Các nghiên cứu trên thế giới ………………………………………………………………. 452.4.2 Các nghiên cứu trên trong nước …………………………………………………………. 46Kết luận chương ……………………………………………………………………………….. 48CHƯƠNG 3XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG ỨNG DỤNG MẠNGCNN TRONG PHÂN LOẠI ẢNH ……………………………………………………………….. 49Đặt vấn đề………………………………………………………………………………………… 49Bài toán nhận dạng chữ viết tay ………………………………………………………….. 503.2.1 Mơ tả bài tốn ………………………………………………………………………………….. 503.2.2 Các bước thực hiện …………………………………………………………………………… 513.2.3 Một số kết quả đạt được ……………………………………………………………………. 57Bài tốn giải mã Capcha…………………………………………………………………….. 613.3.1 Mơ tả bài tốn ………………………………………………………………………………….. 613.3.2 Các bước thực hiện …………………………………………………………………………… 653.3.3 Một số kết quả đạt được ……………………………………………………………………. 67Kết luận chương ……………………………………………………………………………….. 68KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ……………………………………………………… 70TÀI LIỆU THAM KHẢO ……………………………………………………………………………. 72viDANH MỤC CÁC TỪ VIẾT TẮTTừ hoặcTừ tiếng Anhcụm từTừ tiếng ViệtAIArtificial IntelligenceTrí tuệ nhân tạoANNArtificial Neural NetworkMạng nơron nhân tạoCVComputer VisionThị giác máy tínhCNNConvolutional Neural NetworkMạng nơron tích chậpDLDeep LearningHọc sâuCompletely Automated Public Phép thử Turing cơng cộng hồnCAPCHA Turing test to tell Computers and toàn tự động để phân biệt máy tínhHumans Apartvới ngườiMCRMiss Classification RateTỷ lệ nhận dạng saiRMSERoot Mean Square ErrorSai số bình phương trung bìnhMLPMultilayer Neural NetworkMạng nơron nhiều lớpModified National Institute ofMNISTStandardsandTechnology Cơ sở dữ liệu về chữ số viết taydatabaseReLURectified Linear UnitsHàm tinh chỉnh các đơn vị tuyến tínhviiDANH MỤC CÁC HÌNH ẢNHHình 1.1. Các giai đoạn chính trong xử lý ảnh …………………………………………………..5Hình 1.2. Minh họa hệ màu RGB …………………………………………………………………….8Hình 1.3. Ví dụ về ảnh màu …………………………………………………………………………….8Hình 1.4. Biểu diễn ảnh theo tensor 3 chiều ………………………………………………………9Hình 1.5. Ví dụ về ảnh xám …………………………………………………………………………..10Hình 1.6. Minh họa phép tích chập trong xử lý ảnh ………………………………………….11Hình 1.7. Ma trận đầu ra Y khi chập ảnh X với kernel W ………………………………….11Hình 1.8. Stride=1, padding=1 ……………………………………………………………………….12Hình 1.9. Stride=2, padding=1 ……………………………………………………………………….12Hình 1.10. Một số bộ lọc Kerne1 trong xử lý ảnh …………………………………………….13Hình 1.11. Phương pháp lưới …………………………………………………………………………16Hình 1.12. Phương pháp cung ………………………………………………………………………..16Hình 1.13. Biểu diễn mẫu bằng tập kí hiệu ………………………………………………………18Hình 1.14. Minh họa thuật tốn KNN ……………………………………………………………..19Hình 2.1. Cấu trúc cơ bản của nơron sinh học ………………………………………………….23Hình 2.2. Nơron nhân tạo ………………………………………………………………………………25Hình 2.3. Mơ hình tốn học mạng nơron nhân tạo ……………………………………………27Hình 2.4. Nơron 1 đầu vào với hàm hoạt hoá là hàm hardlimit ………………………….29Hình 2.5. Phân loại mạng nơ ron ……………………………………………………………………30Hình 2.6. Học có giám sát ……………………………………………………………………………..31Hình 2.7. Học khơng có giám sát ……………………………………………………………………31Hình 2.8. Học tăng cường ……………………………………………………………………………..32Hình 2.9. Cách máy tính “nhìn” một hình [16] …………………………………………………32Hình 2.10. Mạng nơ-ron thơng thường (trái) và CNN (phải) ……………………………..34Hình 2.11. Kiến trúc mạng CNN ……………………………………………………………………34Hình 2.12. Max pooling kích thước 2×2 ………………………………………………………….36Hình 2.13. Lớp kết nối đầy đủ ……………………………………………………………………….36Hình 2.14. Các bước phân loại ảnh sử dụng mạng CNN ……………………………………37viiiHình 2.16. Lớp input gồm 28×28 nơ ron cho nhận dạng chữ từ tập dữ liệu MNIST…………………………………………………………………………………………………………………..38Hình 2.17. Kết nối vùng 5×5 nơ ron input với nơ ron lớp ẩn ……………………………..39Hình 2.18. Vị trí bắt đầu của trường tiếp nhận cục bộ ……………………………………….39Hình 2.19. Vị trí thứ 2 của trường tiếp nhận cục bộ và nơ ron lớp ẩn ………………….40Hình 2.20. Trường tiếp nhận cục bộ với ba bản đồ đặc trưng …………………………….40Hình 2.21. Trường tiếp nhận cục bộ với 20 bản đồ đặc trưng …………………………….41Hình 2.22. Ví dụ về Max pooling 2×2 …………………………………………………………….43Hình 2.23. Max pooling với ba bản đồ đặc trưng ……………………………………………..43Hình 2.24. Một kiến trúc mạng CNN cho nhận dạng chữ viết từ dữ liệu MNIST …44Hình 3.1. Giao diện chính của chương trình mơ phỏng ……………………………………..49Hình 3.2. Chữ viết tay số “5” từ bộ dữ liệu MNIST ………………………………………….50Hình 3.3. Giao diện thiết kế mạng CNN ………………………………………………………….55Hình 3.4. Mạng CNN cơ bản …………………………………………………………………………55Hình 3.5. Tiến trình luyện mạng với kernel 7 x 7 and 8 bản đồ đặc trưng. …………..56Hình 3.6. Giao diện chương trình nhận dạng chữ viết tay. …………………………………60Hình 3.7. Một số mẫu captcha ……………………………………………………………………….62Hình 3.8. Một số kết quả tấn cơng captcha ………………………………………………………63Hình 3.9. Hai cách tiếp cận để nhận dạng captcha bằng CNN ……………………………64Hình 3.10. Kiểu dữ liệu captcha dùng trong bài tốn nhận dạng …………………………65Hình 3.11. Kí tự W và Q bị dính với nhau ……………………………………………………….65Hình 3.12. Giãn nở ký tự trong captcha để dễ phát hiện vùng liên thơng …………….66Hình 3.13. Phát hiện thành phần liên thơng ……………………………………………………..66Hình 3.14. Một mẫu captcha có 2 ký tự dính liền nhau ……………………………………..66Hình 3.15. Vùng nhận dạng liên tục nhận 2 ký tự vào 1 ảnh cắt, chưa tốt ……………66Hình 3.16. Kết quả sau khi dùng thủ thuật cắt đôi vùng nhận các ký tự liền nhau ..66Hình 3.17. Ví dụ tập các ảnh kí tự đã được cắt và xếp theo thư mục …………………..67Hình 3.18. Chương trình mơ phỏng nhận dạng mã Captcha ………………………………68ixDANH MỤC BẢNG BIỂUBảng 2.1. Một số dạng hàm hoạt hóa trong mạng nơron nhân tạo ………………………29Bảng 3.1. Các tham số hoạt động của mạng CNN cơ bản ………………………………….57Bảng 3.2. Các tham số hoạt động của mạng CNN ba lớp ẩn ………………………………58Bảng 3.3. So sánh kết quả của một số phương pháp trên bộ dữ liệu MNIST ………..61MỞ ĐẦU1. Tính khoa học và cấp thiết của đề tàiỨng dụng của công nghệ phân loại hiện nay đang phát triển rất mạnh ở rấtnhiều lĩnh vực như: học thuật, kinh doanh, bảo mật, y tế… và các ở các đối tượng như:nhà nghiên cứu xã hội, chính phủ và các tổ chức phi lợi nhuận khác. Vì các tổ chứcnày sở hữu một lượng lớn dữ liệu không có cấu trúc và việc xử lý dữ liệu sẽ trở nêndễ dàng hơn rất nhiều nếu như các dữ liệu này được chuẩn hóa bởi các chủ đề/nhãn.Nền tảng cơng nghệ để thực hiện bài tốn phân loại chính là trí tuệ nhân tạo (ArtificialIntelligence – AI) và học sâu (Deep Learning – DL).Trong ngành Thị giác máy tính (Computer Vision – CV), nhờ những thành tựcủa lĩnh vực học sau mà trong những năm gần đây, ta đã chứng kiến được nhiều thànhtựu vượt bậc. Các hệ thống xử lý ảnh lớn như Facebook, Google hay Amazon đã đưavào sản phẩm của mình những chức năng thơng minh như nhận diện khuôn mặt ngườidùng, phát triển xe hơi tự lái hay drone giao hàng tự động.Từ lâu các nhà khoa học đã nhận thấy những ưu điểm của bộ óc con người vàtìm cách bắt chước để thực hiện trên những máy tính, tạo cho nó có khả năng học tập,nhận dạng và phân loại. Vì vậy các nhà khoa học đã nghiên cứu và sáng tạo ra mạngnơron nhân tạo. Nó thực sự được chú ý và nhanh chóng trở thành một hướng nghiêncứu mới triển vọng đặc biệt là lĩnh vực nhận dạng, dự đoán và phân loại.Convolutional Neural Network (Mạng nơ-ron tích chập – CNN) là một trongnhững mơ hình Deep Learning tiên tiến giúp cho chúng ta xây dựng được những hệthống thông minh với độ chính xác cao như hiện nay. Việc nghiên cứu về mạng nơroncũng như mạng CNN (tích chập) và sử dụng mơ hình CNNs trong phân lớp ảnh(Image Classification) là một bài tốn dầy hấp dẫn và có khả năng áp dụng để giảiquyết nhiều vấn đề trong thực tế.Được sự gợi ý của thầy giáo hướng dẫn tôi đã chọn đề tài: “Nghiên cứu mạngnơron CNN và ứng dụng trong bài toán phân loại ảnh” làm luận văn tốt nghiệp củamình. Mục tiêu chính của luận văn là tìm hiểu về bài tốn phân loại hình ảnh trongCV và cách thực hiện bằng mạng CNN cho hai ứng dụng (bài toán nhận dạng chữviết tay và bài toán giải mã Capcha).2. Đối tượng và phạm vi nghiên cứu của đề tài- Đối tượng nghiên cứu: Luận văn nghiên cứu kỹ thuật phân loại ảnh sử dụngmạng CNN- Phạm vi nghiên cứu: Luận văn tập trung nghiên cứu trên hai bài toán (bài toánnhận dạng chữ viết tay và bài toán giải mã Capcha) dựa trên các bộ dữ liệu ảnhcó sẵn được cộng đồng khoa học quốc tế công nhận.3. Phương pháp luận nghiên cứu- Phương pháp nghiên cứu lý thuyết: Tổng hợp, nghiên cứu các tài liệu về bàitoán phân loại ảnh, mạng nơ ron CNN; Tìm hiểu các kiến thức liên quan. Ứng dụngmạng nơ ron CNN bài toán nhận dạng chữ viết tay và bài toán giải mã Capcha.- Phương pháp nghiên cứu thực nghiệm: Sau khi nghiên cứu lý thuyết, luậnvăn sẽ tập trung vào xây dựng phần mềm mô phỏng việc phân loại dữ liệu ảnh tronghai bài toán nêu trên; Đánh giá kết quả sau khi thử nghiệm- Phương pháp trao đổi khoa học: Thảo luận, xemina, lấy ý kiến chuyên gia.4. Nội dung và bố cục của luận vănNgoài phần mở đầu, kết luận và hướng phát triển, luận văn được bố cục thànhba chương chính như sau:Chương 1 Tổng quan bài tốn phân loại ảnh số: Nghiên cứu các khái niệm cơbản trong xử lý ảnh số, tập trung sâu vào phân loại ảnh số, một số thuật toán tiêu biểuđược sử dụng trong phân loại ảnh số.Chương 2 Mạng nơ ron CNN và ứng dụng trong phân loại ảnh: Nghiên cứu vềmạng nơron nhân tạo, tập trung vào mạng nơron CNN và các ứng dụng của mạng nàytrong thực tế, đặc biệt trong phân lớp dữ liệu ảnhChương 3 Xây dựng chương trình mơ phỏng ứng dụng mạng CNN trong phânloại ảnh: Chương này giới thiệu về hai bài toán nhận dạng chữ viết tay và giải mãCapcha. Xây dựng các mơ hình mạng nơ ron CNN để giải quyết hai bài tốn này dựatrên tập mẫu dữ liệu ảnh có sẵn được cộng đồng khoa học quốc tế công nhận. Đánhgiá hiệu năng của mơ hình mạng CNN thu được với một số phương pháp cơng bốtrước đó.CHƯƠNG 1TỔNG QUAN BÀI TOÁN PHÂN LOẠI ẢNH SỐTổng quan xử lý ảnh số1.1.1 Một số khái niệm cơ bản trong xử lý ảnhẢnh sốẢnh số thực tế là biểu diễn số học của hình ảnh trong máy tính, thường là biểudiễn nhị phân. Có thể phân ảnh số thành 2 loại: ảnh xám và ảnh màu.Ảnh xám thực chất là một hàm hai chiều của cường độ sáng f(x,y), trong đó xvà y là các toạ độ khơng gian và giá trị của hàm f tại một điểm (x,y) tỷ lệ với cườngđộ sáng của ảnh tại điểm đó. Nếu chúng ta có một ảnh mầu thì f là một vector mà mỗithành phần của vector đó chỉ ra cường độ sáng của ảnh tại điểm (x,y) đó tương ứngvới dải mầu [2] .Mỗi thành phần của mảng (x,y) được gọi là một điểm ảnh (pixel: pictureelement) và là phần tử nhỏ nhất cấu tạo nên ảnh. Điểm ảnh được hiểu như 1 dấu hiệuhay cường độ sáng tại một tọa độ xác định trong khơng gian. Hình ảnh được xem nhưlà 1 tập hợp các điểm. Với cùng kích thước nếu sử dụng càng nhiều điểm ảnh thì bứcảnh càng đẹp, càng mịn và càng thể hiện rõ hơn chi tiết của ảnh người ta gọi đặc điểmnày là độ phân giải.Cường độ sáng của một ảnh tại một ví trí điểm ảnhMỗi điểm ảnh của một ảnh tương ứng với một phần của một đối tượng vật lýtồn tại trong thế giới thực. Đối tượng vật lý này được chiếu sáng bởi một vài tia sángmà tia sáng này bị phản xạ một phần hay hấp thụ một phần khi chiếu lên đối tượngvật lý đó. Phần ánh sáng phản xạ lại đi tới các bộ cảm biến được sử dụng để tạo ảnhcảm nhận và tạo ra các giá trị ghi nhận được đối tượng đối với từng điểm ảnh. Giá trịthu nhận được phụ thuộc vào phổ ánh sáng phản xạ. Giá trị cường độ sáng của cácđiểm ảnh khác nhau chỉ có ý nghĩa tương đối mà khơng có ý nghĩa trong các tốnhạng tuyệt đối [2] .Số bits cần thiết để lưu trữ một ảnhỞ đây chúng ta chỉ quan tâm tới ảnh xám, nếu ảnh được lưu trữ dưới dạng mộtmảng hai chiều với kích thước NxN và có 2m mức xám thì số bits cần thiết để lưu trữảnh là:b N x N x 2m(1.1)Ví dụ như, một ảnh cỡ 512 x 512 với 256 (tức m=8) mức xám thì cần số bitslưu trữ là: 512 x 512 x 256=2.097.152 bits.Độ phân giải ảnhĐộ phân giải ảnh biểu diễn mức độ chi tiết của ảnh mà chúng ta có thể nhìn rõđối tượng. Khi thay đổi các giá trị m và N trong phương trình thì sẽ có các hiện tượngthay đổi khác nhau. Xong thực nghiệm cho thấy khi giữ nguyên kích thước ảnh N vàtăng số mức xám m lên thì sẽ thể hiện rõ hơn mức độ chi tiết trong ảnh.1.1.2 Tổng quan về một hệ thống xử lý ảnhXử lý ảnh là đối tượng nghiên cứu của lĩnh vực thị giác máy, là quá trình biếnđổi từ một ảnh ban đầu sang một ảnh mới với các đặc tính và tuân theo ý muốn củangười sử dụng. Xử lý ảnh có thể gồm q trình phân tích, phân lớp các đối tượng,làm tăng chất lượng, phân đoạn và tách cạnh, gán nhãn cho vùng hay quá trình biêndịch các thơng tin hình ảnh của ảnh [2] .Cũng như xử lý dữ liệu bằng đồ hoạ, xử lý ảnh số là một lĩnh vực của tin họcứng dụng. Xử lý dữ liệu bằng đồ hoạ đề cập đến những ảnh nhân tạo, các ảnh nàyđược xem xét như là một cấu trúc dữ liệu và được tạo ra bởi các chương trình. Xử lýảnh số bao gồm các phương pháp và kĩ thuật để biến đổi, để truyền tải hoặc mã hốcác ảnh tự nhiên. Mục đích của xử lý ảnh gồm:Biến đổi ảnh, làm tăng chất lượng ảnh.Tự động nhận dạng, đoán nhận, đánh giá các nội dung của ảnh.Các bước cần thiết trong xử lý ảnh được mô tả chi tiết trong Hình 1.1 bao gồmcác bước sau:CAMERALưu trữThu nhậnảnhSố hóaPhân tíchảnhPhân loạiảnhSCANNERLưu trữHệ Q.địnhHình 1.1. Các giai đoạn chính trong xử lý ảnhĐầu tiên là quá trình thu nhận ảnh. Ảnh có thể thu nhận được qua camera.Thường khi thu nhận ảnh qua camera là tín hiệu tương tự (loại camera ống kiểuCCIR), nhưng cũng có thể là tín hiệu số hóa (loại CCD- Charge Coupled Device).Ảnh cũng có thể thu nhận từ vệ tinh qua các bộ cảm ứng (sensor), hay ảnh tranh đượcquét trên scanner. Tiếp theo là q trình số hóa (Digitalizer) để biến đổi tín hiệu tươngtự sang tín hiệu rời rạc (lấy mẫu) và số hóa bằng lượng hóa, trước khi chuyển sanggiai đoạn xử lý, phân tích hay lưu trữ lại. Trước hết là công việc tăng cường ảnh đểnâng cao chất lượng ảnh. Do những nguyên nhân khác nhau: có thể do chất lượngthiết bị thu nhận ảnh, do nguồn sáng hay do nhiễu, ảnh có thể bị suy biến do vậy cầnphải tăng cường và khôi phục lại ảnh để làm nổi bật một số đặc tính chính của ảnh,hay làm cho ảnh gần giống nhất với trạng thái gốc – trạng thái trước khi bị biến dạng.Giai đoạn tiếp theo là phát hiện các đặc tính như biên, phân vùng ảnh, trích chọn cácđặc tính…v.v…Cuối cùng tùy theo mục đích của ứng dụng, sẽ là giai đoạn nhận dạng, phânloại hay các quyết định khác.1.1.3 Một số thao tác cơ bản trong xử lý ảnhBiểu diễn ảnhTrong biểu diễn ảnh, người ta thường dùng các phần tử đặc trưng của ảnh làpixel. Nhìn chung có thể một hàm hai biến chứa các thông tin như biểu diễn của mộtảnh. Các mơ hình biểu diễn cho ta một mơ tả logic hay định lượng các tính chất củahàm này. Trong biểu diễn ảnh cần chú ý đến tính trung thực hoặc các tiêu chuẩn“thông minh” để đo chất lượng ảnh hoặc tính hiệu quả của các kĩ thuật xử lý.Một số mơ hình thường được dùng trong biểu diễn ảnh: mơ hình bài tốn, mơhình thống kê. Trong mơ hình bài tốn, ảnh hai chiều được biểu diễn nhờ các hàm haibiến trực giao gọi là các hàm cơ sở. Cịn mơ hình thống kê, một ảnh được coi nhưmột phần tử của một tập hợp đặc trưng bởi các đại lượng như: kỳ vọng toán học, hiệpbiến, phương sai, moment.Biến đổi ảnh (Image Transform)Thuật ngữ biến đổi ảnh thường dùng để nói tới một lớp các ma trận đơn vị vàcác kĩ thuật dùng để biến đổi ảnh.Biến đổi ảnh nhằm làm giảm các nguyên nhân của ảnh để việc xử lý hiệu quảhơn. Như làm rõ hơn các thông tin mà người dùng quan tâm nhưng người dùng phảichấp nhận mất đi một số thông tin cần thiết.Phân tích ảnhPhân tích ảnh liên quan đến việc xác định các độ đo định lượng của 1 ảnh đểđưa ra một mơ tả đầy đủ về ảnh.Q trình phân tích ảnh thực chất bao gồm nhiều cơng đoạn nhỏ. Trước hết làcông việc tăng cường ảnh để nâng cao chất lượng ảnh, giai đoạn tiếp theo là phát hiệncác đặc tính như phát hiện biên, phân vùng ảnh, trích chọn các đặc tính..v.v..Tăng cường ảnh – khơi phục ảnhTăng cường ảnh là một bước quan trọng, tạo tiền đề cho xử lý ảnh. Nó gồmcác kỹ thuật như: lọc độ tương phản, khử nhiễu, nổi màu…Khôi phục ảnh là nhằm loại bỏ các suy giảm trong ảnh.Xử lý biên ảnhBiên là vấn đề chủ yếu trong phân tích ảnh vì các điểm trích chọn trong qtrình phân tích ảnh đều dựa vào biên. Mỗi điểm ảnh có thể là biên nếu ở đó có sự thayđổi đột ngột về mức xám. Tập hợp các điểm biên tạo thành biên hay đường bao quanhcủa ảnh.Phân vùng ảnhPhân vùng là bước then chốt trong xử lý ảnh. Giai đoạn này nhằm phân tíchảnh thành những thành phần có tính chất nào đó dựa theo biên hay các vùng liênthông. Tiêu chuẩn để xác định các vùng liên thơng có thể là mức xám, cùng màu hayđộ tương phản.Nhận dạng ảnhNhận dạng ảnh là quá trình liên quan đến các mô tả đối tượng mà người tamuốn đặc tả nó. Q trình nhận dạng thường đi sau q trình trích chọn các đặc tínhchủ yếu của đối tượng. Có hai kiểu mơ tả đối tượng:Mơ tả tham số (nhận dạng theo tham số).Mô tả theo cấu trúc (nhận dạng theo cấu trúc).Trên thực tế người ta đã áp dụng kỹ thuật nhận dạng khá thành công với nhiềuđối tượng khác nhau như: nhận dạng ảnh vân tay, nhận dạng chữ viết.Nén ảnhDữ liệu ảnh cũng như các dữ liệu khác cần phải lưu trữ hay truyền đi trên mạngmà lượng thông tin để biểu diễn cho một ảnh là rất lớn. Do đó làm giảm lượng thơngtin hay nén dữ liệu là một nhu cầu cần thiết.Nén dữ liệu là q trình làm giảm lượng thơng tin “dư thừa” trong dữ liệu gốc vàdo vậy lượng thông tin thu được sau khi nén thường nhỏ hơn dữ liệu gốc rất nhiều.Biểu diễn ảnh trong máy tính1.2.1 Ảnh màuHệ màu RGBRGB viết tắt của red (đỏ), green (xanh lục), blue (xanh lam), là ba màu chínhcủa ánh sáng khi tách ra từ lăng kính. Khi trộn ba màu trên theo tỉ lệ nhất định có thểtạo thành các màu khác nhau.Hình 1.2. Minh họa hệ màu RGBHình 1.2 minh họa việc chọn màu thường thấy trong các chương trình máytính. Khi ta chọn một màu thì sẽ ra một bộ ba số tương ứng (r,g,b) màu được chọn. Ởđây là rgb(102, 255, 153), nghĩa là r=102, g=255, b=153.Biểu diễn ảnh màuHình 1.3. Ví dụ về ảnh màuẢnh màu (Hình 1.3) là một ma trận các pixel mà mỗi pixel biểu diễn một điểmmàu. Mỗi điểm màu được biểu diễn bằng bộ 3 số (r,g,b). Để tiện cho việc xử lý ảnhthì sẽ tách ma trận pixel ra 3 channel red, green, blue.Bức ảnh trên Hình 1.3 có kích thước 800 pixel * 600 pixel, bức ảnh này có thểbiểu diễn dưới dạng một ma trận kích thước 600 * 800 như (1.2).(1.2)Trong đó mỗi phần tử w ij là một pixel. Tuy nhiên để biểu diễn 1 màu ta cần3 thông số (r,g,b) nên gọi w ij (rij , gij , bij ) ta có thể để biểu diễn dưới dạng ma trậnnhư sau:Mỗi ma trận được tách ra (r, g, b) được gọi là 1 channel nên ảnh màu được gọilà 3 channel: channel red, channel green, channel blue.Ảnh màu trên máy tính sẽ được biểu diễn dưới dạng tensor 3 chiều chồng lênnhau. Hình 1.4 mơ tả biểu diễn một ảnh màu kích thước 28*28 trên máy tính. Trongđó, ảnh được biểu diễn dưới dạng tensor 3 chiều kích thước 28*28*3 do có 3 ma trận(channel) màu red, green, blue kích thước 28*28 chồng lên nhau.Hình 1.4. Biểu diễn ảnh theo tensor 3 chiều101.2.2 Ảnh xámHình 1.5. Ví dụ về ảnh xámHình 1.5 mơ tả ảnh xám của bắc ảnh màu trong Hình 1.3. Tương tự ảnh màu,ảnh xám cũng có kích thước 800 pixel * 600 pixel, có thể biểu diễn dưới dạng mộtma trận kích thước 600 * 800 như (1.2).Tuy nhiên mỗi pixel trong ảnh xám chỉ cần biểu diễn bằng một giá trị nguyêntrong khoảng từ [0,255] thay vì (r,g,b) như trong ảnh màu. Giá trị 0 là màu đen, 255là màu trắng và giá trị pixel càng gần 0 thì càng tối và càng gần 255 thì càng sáng.Do đó khi biểu diễn ảnh xám trong máy tính chỉ cần một ma trận là đủ.Phép tích chập trong xử lý ảnhPhép tích chập (Convolution) là kỹ thuật quan trọng trong xử lý ảnh, được sửdụng chính yếu trong các phép toán trên ảnh như: đạo hàm ảnh, làm trơn ảnh, tríchxuất biên cạnh trong ảnh…Kí hiệu phép tính convolution là : Y X WTheo toán học, tích chập là phép tốn tuyến tính, cho ra kết quả là một hàmbằng việc tính tốn dựa trên hai hàm đã có (X và W). Để cho dễ hình dung mình sẽlấy ví dụ trên ảnh xám, tức là ảnh được biểu diễn dưới dạng ma trận X kích thướcm*n [2] .Cơng thức tích chập giữa hàm ảnh X(x, y) và bộ lọc W(x, y) (kích thước mxn):Y x, y X x, y W x, y m /2n /2 X u, v W x u, y v u m /2 v n /2 Kernel(1.3)11Ta định nghĩa kernel là một ma trận vng kích thước k*k trong đó k là số lẻ.k có thể bằng 1, 3, 5, 7, 9,… Ví dụ kernel kích thước 3*3 như (1.4)(1.4)Với mỗi phần tử x ij trong ma trận X lấy ra một ma trận có kích thước bằngkích thước của kernel W có phần tử x ij làm trung tâm (đây là vì sao kích thước củakernel thường lẻ) gọi là ma trận A. Sau đó tính tổng các phần tử của phép tínhelement-wise của ma trận A và ma trận W, rồi viết vào ma trận kết quả Y.Hình 1.6 minh hoạ việc thực hiện phép tích chập trong xử lý ảnh số khi tínhtại x 22 (ơ khoanh đỏ trong hình), ma trận A cùng kích thước với W, có x 22 làm trungtâm có màu nền da cam. Sau đó tính y 11 :y 11 x11 * w11 x12 * w12 x13 * w13 x21 * w21 x22 * w22 x23 * w23 x31 * w32 x32 * w32 x33 * w33 4Hình 1.6. Minh họa phép tích chập trong xử lý ảnhHình 1.7. Ma trận đầu ra Y khi chập ảnh X với kernel W(1.5)12Làm tương tự với các phần tử còn lại trong ma trận ta thu được kết quả là matrận Y đầu ra (Hình 1.7). Ma trận Y này có kích thước nhỏ hơn ma trận X. Kích thướccủa ma trận Y là (m-k+1) * (n-k+1). PaddingNhư đã phân tích ở trên, mỗi lần thực hiện phép tính convolution xong, kíchthước ma trận Y đều nhỏ hơn X. Nếu muốn ma trận Y thu được có kích thước bằngma trận X ta phải thêm giá trị 0 ở viền ngoài ma trận X. Phép tính này gọi làconvolution với padding=1. Padding=k nghĩa là thêm k vector 0 vào mỗi phía của matrận (Hình 1.8).Hình 1.8. Stride=1, padding=1 StrideNhư ở trên ta thực hiện tuần tự các phần tử trong ma trận X, thu được ma trậnY cùng kích thước ma trận X, ta gọi là stride=1. Tuy nhiên, nếu stride=k (k > 1) thìta chỉ thực hiện phép tính convolution trên các phần tử x 1i*k ,1 j*k . Hình 1.9 minh họatrường hợp stride=2.Hình 1.9. Stride=2, padding=113Hiểu đơn giản là bắt đầu từ vị trí x 11 sau đó nhảy k bước theo chiều dọc vàngang cho đến hết ma trận X. Kích thước của ma trận Y lúc này là 3*3 đã giảm điđáng kể so với ma trận X. Tổng quát cho phép tính convolution của ma trận X kíchthước m*n với kernel kích thước k*k, stride = s, padding = p ra ma trận Y với kích mk 2p n k 2p 1 * 1 . Stride thường dùng để giảm kích thước của thước là ma trận sau phép tính convolution. Ý nghĩa của phép tính convolutionHình 1.10. Một số bộ lọc Kerne1 trong xử lý ảnhMục đích của phép tính convolution trên ảnh là làm mở, làm nét ảnh; xác địnhcác đường;… Mỗi kernel khác nhau thì sẽ phép tính convolution sẽ có ý nghĩa khácnhau. Hình 1.10 minh họa một số bộ lọc Kernel được xử dụng trong các thao tác xửlý ảnh như làm nét ảnh, xác định biên ảnh, làm mờ ảnh.Lý thuyết phân loại ảnh số1.4.1 Các khái niệm cơ bản Mẫu và mô tả mẫu14Người ta mơ tả tất cả những kích thước vật lý có thể thu nhận được trong thếgiới xung quanh ta bằng các mẫu (pattern). Phân loại mẫu chính là việc xử lý mô tảvà diễn dịch các mẫu. Các mẫu thường được mô tả bằng một tập các thuộc tính đặctrưng của đối tượng. Giả sử các pi là đại lượng biểu diễn đặc trưng của đối tượng đangxét thì ta có thể biểu diên một mẫu là P p1 , p2 ,… pn . Để mô tả mẫu từ các đặc trưngcủa đối tượng người ta có thể sử dụng hai phương pháp sau:- Phương pháp số- Phương pháp cấu trúc Khoảng cách mẫu:Khoảng cách mẫu là một khái niệm được xây dựng để đánh giá các đốitượng có ở “gần nhau” hay khơng. Khi khoảng cách nhỏ hơn một mức ngưỡng nàođó thì ta có thể coi như hai đối tượng là đồng dạng với nhau và chúng sẽ ở cùngmột lớp. Trường hợp khoảng cách lớn hơn mức ngưỡng chúng sẽ thuộc về hai lớpphân biệt. Lớp mẫu và phân lớp mẫu:Không gian mẫu là một tập các mẫu trộn lẫn nhau. Nhờ vào quá trình phân lớp(classification) của bài tốn phân loại mà các mẫu được nhóm lại thành từng lớp mẫu(class) riêng biệt. Các lớp mẫu phân biệt chứa các mẫu đồng dạng với nhau. Mỗi lớpmẫu sẽ được gán một cái tên. Như vậy khi mẫu của một đối tượng được quá trìnhphân lớp gán vào một lớp mẫu nào đó thì cũng có nghĩa là đối tượng đó đã được phânloại. Không gian mẫu và không gian diễn dịchCác đặc trưng cơ bản của các đối tượng tạo nên các thành phần biểu diễn mẫu.Tập hợp các mẫu của các đối tượng sẽ tạo nên khơng gian mẫu. Cịn tập các tên gọicủa các đối tượng tạo thành không gian diễn dịch. Nói một cách khác tập các mẫuchuẩn sẽ tạo thành khơng gian diễn dịch. Như vậy q trình nhận dạng mẫu là qtrình ánh xạ f từ tập khơng gian mẫu ={P1 ,P2 ,…PN} sang tập không gian diễn dịch={n1,n2,…,nS} (S:số tên gọi cho các đối tượng cần nhận dạng). Nhận dạng được giám sát và không được giám sát: