TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CƠNG NGHỆ THƠNG TIN
BÁO CÁO MƠN HỌC
TÍNH TỐN MỀM
Tên đề tài: Nghiên cứu mạng nơ-ron và ứng dụng nhận
dạng chữ số viết tay
Sinh viên thực hiện : Nguyễn Minh Chiến
Lớp
: ĐH7C5
Hà Nội, tháng 06/2021
MỤC LỤC
MỞ ĐẦU...................................................................................................................5
1. Lý do chọn đề tài................................................................................................5
2. Mục tiêu nghiên cứu...........................................................................................5
2.1Mục tiêu tổng quát..........................................................................................5
2.2. Mục tiêu cụ thể.............................................................................................5
3. Đối tượng và phạm vi nghiên cứu......................................................................6
3.1. Đối tượng nghiên cứu...................................................................................6
3.2. Phạm vi nghiên cứu......................................................................................6
4.Nội dung nghiên cứu...........................................................................................6
5.Cấu trúc của luận văn..........................................................................................7
CHƯƠNG 1. TỔNG QUAN.....................................................................................8
1.1. Đặt vấn đề........................................................................................................8
1.2. Tổng quan về hệ thống nhận dạng mẫu...........................................................9
1.2.1. Phân lớp bài toán nhận dạng......................................................................9
1.2.2. Chu trình thiết kế hệ thống nhận dạng mẫu.............................................11
1.2.3. Thiết kế hệ thống nhận dạng chữ số viết tay...........................................12
1.3. Tổng quan về tình hình nghiên cứu...............................................................21
1.3.1. Tình hình nghiên cứu trong nước............................................................21
1.3.2. Tình hình nghiên cứu ngồi nước............................................................22
CHƯƠNG 2. MẠNG NƠ-RON NHÂN TẠO........................................................23
2.1. Giới thiệu 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.............................................................................25
2.1.3. Các ứng dụng của mạng nơ-ron..............................................................26
2.2. Kiến trúc mạng nơ-ron..................................................................................27
2.2.1.Mơ hình nơ-ron nhân tạo..........................................................................27
2.2.1.1. Mơ hình nơ-ron một đầu vào (Single - input neuron)..........................27
2.2.2. Mạng nơ-ron một tầng.............................................................................31
2.3. Mạng Perceptron một tầng............................................................................36
2.4. Mạng Perceptron nhiều tầng và thuật toán lan truyền ngược........................40
2
2.5. Mạng LVQ (Learning Vector Quantization)..................................................46
CHƯƠNG 3. THIẾT KẾ HỆ THỐNG NHẬN DẠNG..........................................49
CHỮ SỐ VIẾT TAY................................................................................................49
3.1. Cơ cở dữ liệu.................................................................................................49
3.2. Tiền xử lý.......................................................................................................51
3.3. Trích chọn đặc trưng của chữ số viết tay.......................................................51
3.4. Phân lớp dùng mạng Perceptron đa tầng.......................................................52
3.5. Một số nhận xét.............................................................................................60
KẾT LUẬN.............................................................................................................61
TÀI LIỆU THAM KHẢO.......................................................................................62
3
DANH MỤC CÁC BẢNG
Bảng 2.1. Một số hàm truyền của mạng nơ-ron..............................................30
Bảng 3.1. Số lượng các chữ số viết tay được phân bố trong các tập huấn
luyện........................................................................................................50
Bảng 3.2. Phương pháp chọn đặc trưng bằng chia ô theo cạnh với 2000
mẫu huấn luyện....................................................................................... 54
Bảng 3.3. Phương pháp chọn đặc trưng bằng chia ô theo cạnh với 10000
mẫu huấn luyện....................................................................................... 57
Bảng 3.4. Phương pháp chọn đặc trưng bằng chia ơ từ góc với 2000 mẫu
huấn luyện...............................................................................................57
Bảng 3.5. Phương pháp chọn đặc trưng bằng chia ơ từ góc với 10000 mẫu
huấn luyện...............................................................................................58
Bảng 3.6. Chọn đặc trưng bằng phương pháp phân tích thành phần chính
với K=20 và số mẫu huấn luyện 2000.................................................... 60
Bảng 3.7. Chọn đặc trưng bằng phương pháp phân tích thành phần chính
với K=50 và số mẫu huấn luyện 2000.................................................... 60
Bảng 3.8. Chọn đặc trưng bằng phương pháp phân tích thành phần chính
với K=100 và số mẫu huấn luyện 2000.................................................. 61
Bảng 3.9. Chọn đặc trưng bằng phương pháp phân tích thành phần chính
với K=20 và số mẫu huấn luyện 5000.................................................... 61
4
DANH MỤC CÁC HÌNH
Hình 1.1. Chu trình hệ thống nhận dạng mẫu………………………………..12
Hình1.2. Mơ tả một số hình ảnh mẫu trong cơ sở dữ liệu MNIST…………..14
Hình 1.3. Sơ đồ tổng quát của hệ thống nhận dạng chữ viết số tay………….14
Hình 2.1. Các thành phần của nơ-ron………………………………………..25
Hình 2.2. Mơ hình nơ-ron một đầu vào……………………………………...29
Hình 2.3. Mơ hình nơ-ron nhiều đầu vào........................................................31
Hình 2.4. Ký hiệu tắt mơ hình nơ-ron nhiều đầu vào………………………..32
Hình 2.5. Kiến trúc mạng nơ-ron một tầng………………………………….32
Hình 2.6. Mạng nơ-ron một tầng S nơ-ron, R đầu vào....................................33
Hình 2.7. Mạng 3 tầng.....................................................................................33
Hình 2.8. Ký hiệu tắt của mạng nơ-ron 3 tầng................................................33
Hình 2.9. Khối trễ............................................................................................34
Hình 2.10. Khối tích phân...............................................................................34
Hình 2.11. Mạng hồi quy.................................................................................35
Hình 2.12.Mạng Perceptron............................................................................ 36
Hình 2.13. Mạng Perceptron một nơ-ron hai đầu vào.....................................37
Hình 2.14. Mạng Perceptron........................................................................... 38
Hình 2.15. Mạng Perceptron nhiều tầng..........................................................41
Hình 2.16. Mạng LVQ.....................................................................................45
Hình 3.1. Tập 100 ký tự đầu tiên trong tập dữ liệu huấn luyện.......................49
Hình 3.2. Tập 100 ký tự đầu tiên trong tập dữ liệu huấn luyện.......................49
Hình 3.3. Phương pháp chia ơ từ góc..............................................................51
Hình 3.4. Q trình thực hiện của mạng nơ-ron 2 tầng...................................52
Hình 3.5. Ảnh nhận dạng đúng........................................................................53
Hình 3.6. Ảnh nhận dạng sai...........................................................................53
Hình 3.7. Quá trình thực hiện của mạng nơ-ron 3 tầng...................................56
5
MỞ ĐẦU
1. Lý do chọn đề tài
Nhận dạng chữ số viết tay hiện đang được ứng dụng rộng rãi trong nhiều
lĩnh vực như nhận dạng các chữ số trên chi phiếu ngân hàng, mã số trên bì thư
của dịch vụ bưu chính, hay các chữ số trên các biểu mẫu nói chung. Vấn đề nhận
dạng chữ viết tay nói chung và nhận dạng chữ số viết tay nói riêng là một thách
thức lớn đối với các nhà nghiên cứu. Việc nhận dạng chữ viết tay là một bài toán
khá phức tạp vì nó phụ thuộc nhiều yếu tố như phong cách viết và cách thể hiện
ngôn ngữ của người viết. Thực tế, chúng ta không thể luôn luôn viết một ký tự
chính xác theo cùng một cách giống hệt nhau. Do vậy, xây dựng hệ thống nhận
dạng chữ viết có thể nhận dạng bất cứ ký tự nào một cách đáng tin cậy trong các
ứng dụng khác nhau là một bài tốn cịn nhiều thách thức.
Xuất phát từ u cầu của thực tế, nhằm mục đích hướng tới một phần
nhiệm vụ nhận dạng chữ viết tay, luận văn “NGHIÊN CỨU MẠNG NƠRON VÀ ỨNG DỤNG NHẬN DẠNG CHỮ SỐ VIẾT TAY” nhằm nghiên
cứu, và xây dựng thử nghiệm hệ thống nhận dạng chữ số viết tay.
2. Mục tiêu nghiên cứu
2.1Mục tiêu tổng quát
Nghiên cứu và cài đặt thử nghiệm hệ thống nhận dạng chữ số viết tay sử
dụng mạng nơ-ron.
2.2. Mục tiêu cụ thể
Đề tài tập trung vào 3 mục tiêu chính sau:
(i) Nghiên cứu tổng quan về bài tốn nhận dạng chữ số viết tay.
(ii) Nghiên cứu trích chọn đặc trưng của chữ số viết tay.
(iii) Nghiên cứu và cài đặt một số thuật toán nhận dạng chữ số viết tay
bằng mạng nơ-ron; so sánh và đánh giá hiệu quả của các thuật toán tỷ lệ nhận
dạng.
6
3. Đối tượng và phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
(a) Nghiên cứu lý thuyết
- Nghiên cứu các tài liệu về bài toán nhận dạng chữ số viết tay đã cơng
bố ở trong và ngồi nước.
- Nghiên cứu tài liệu về trích chọn đặc trưng chữ số viết tay cho hệ thống
nhận dạng.
- Nghiên cứu mạng nơ-ron để xây dựng hệ thống nhận dạng.
(b) Nghiên cứu thực nghiệm
- Nghiên cứu cơ sở dữ liệu chữ số viết tay.
- Nghiên cứu ngơn ngữ lập trình Python và cài đặt một số mạng nơ-ron
cho bài toán nhận dạng chữ số viết tay.
- So sánh, đánh giá hiệu quả của các thuật toán.
3.2. Phạm vi nghiên cứu
Bài toán nhận dạng chữ số viết tay có thể được thực hiện bằng các thuật
tốn nhận dạng khác nhau như thuật toán K - láng giềng gần nhất, thuật toán
SVM (Support Vector Machine), … và có thể được giải quyết theo 2 phương
pháp là: gián tiếp (offline) và trực tiếp (online).
Trong phạm vi luận văn này, chúng tơi tập trung giải quyết bài tốn sử
dụng mạng nơ-ron để nhận dạng và bằng phương pháp gián tiếp (offline).
4.Nội dung nghiên cứu
- Nghiên cứu tổng quan về các hệ thống nhận dạng chữ số viết tay đã
được công bố.
- Nghiên cứu cơ sở dữ liệu chữ số viết tay.
- Nghiên cứu các phương pháp để trích chọn đặc trưng của chữ số viết tay.
- Nghiên cứu mạng nơ-ron cho bộ phân lớp.
- Nghiên cứu ngôn ngữ lập trình Pyton để cài hệ thống nhận dạng.
7
- Lập trình các thuật tốn trên máy tính và đánh giá hiệu quả của các
thuật toán.
5.Cấu trúc của luận văn
Bố cục của luận văn gồm 3 chương với các nội dung như sau:
Chương 1 trình bày tổng quan lý thuyết bài toán nhận dạng mẫu: phân
lớp bài toán nhận dạng, chu trình thiết kế hệ thống nhận dạng mẫu và thiết kế
hệ thống nhận dạng chữ số viết tay.
Chương 2 giới thiệu về mạng nơ-ron nhân tạo. Chương này sẽ mơ tả
tóm tắt mạng nơ-ron sinh học, mơ hình và kiến trúc mạng nơ-ron nhân tạo,
các luật huấn luyện mạng nơ-ron nhân tạo, và một số mạng nơ-ron nhân tạo sẽ
được dùng trong nhận dạng chữ số viết tay là mạng Perceptron đa tầng với
thuật toán lan truyền ngược và mạng LVQ.
Chương 3 mô tả hệ thống nhận dạng chữ số viết tay. Chương này chúng
tôi nghiên cứu cơ sở dữ liệu MNIST cho thực nghiệm và thực nghiệm nhận
dạng chữ số viết tay với mạng nơ-ron.
8
CHƯƠNG 1. TỔNG QUAN
1.1. Đặt vấn đề
Nhận dạng mẫu (pattern recognition) là một ngành thuộc lĩnh vực học
máy (machine learning) [13]. Nhận dạng mẫu nhằm mục đích phân loại dữ
liệu ( hoặc các mẫu) dựa trên: hoặc là kiến thức đã có (a priori) hoặc dựa vào
thơng tin thống kê được trích rút từ các mẫu có sẵn. Các mẫu cần phân loại
thường được biểu diễn thành các nhóm của các dữ liệu đo đạc hay quan sát
được, mỗi nhóm là một điểm ở trong một không gian đa chiều phù hợp. Đó là
khơng gian của các đặc tính để dựa vào đó ta có thể phân loại.
Một hệ thống nhận dạng mẫu bao gồm một thiết bị cảm nhận (sensor) để
thu thập các quan sát về đối tượng nhằm thu nhận dữ liệu cho hệ thống; một
phương pháp trích rút đặc trưng (feature extraction) để tính tốn các thơng tin
dưới dạng số hay dạng tượng trưng (symbolic) từ các dữ liệu quan sát được;
một bộ phân loại nhằm thực hiện cơng việc phân loại dựa vào các đặc tính đã
được trích rút.
Việc phân loại thường dựa vào sự có sẵn của một tập các mẫu mà đã
được phân loại sẵn. Tập các mẫu này được gọi là tập huấn luyện và chiến lược
học nhằm phân loại mẫu vào một trong các lớp có sẵn được gọi là học có
giám sát. Việc học cũng có thể là khơng có giám sát. Theo nghĩa hệ thống
không được cung cấp các mẫu được đánh nhãn (phân loại), mà nó phải tự đưa
ra các lớp để phân loại dựa vào tính ổn định trong thống kê của các mẫu.
Việc phân loại thường dùng một trong các hướng tiếp cận sau: thống kê
(hay lí thuyết quyết định), cú pháp (hay cấu trúc). Nhận dạng mẫu dùng thống
kê là dựa vào các đặc tính thống kê của các mẫu, chẳng hạn rằng các mẫu
được tạo bởi một hệ thống xác suất. Nhận dạng dùng cấu trúc là dựa vào
tương quan cấu trúc giữa các mẫu.
9
Các ứng dụng phổ biến là nhận dạng tiếng nói tự động, phân loại văn bản
thành nhiều loại khác nhau (ví dụ: những thư điện tử nào là spam/non-spam),
nhận dạng tự động các mã bưu điện viết tay trên các bao thư, hay hệ thống
nhận dạng danh tính dựa vào mặt người. Ba ví dụ cuối tạo thành lãnh vực con
phân tích ảnh của nhận dạng mẫu với đầu vào là các ảnh số.
1.2. Tổng quan về hệ thống nhận dạng mẫu
1.2.1. Phân lớp bài toán nhận dạng
Nhận dạng mẫu thường được phân thành 3 lớp bài toán [10]:
a. Học có giám sát (supervised learning) là một kĩ thuật của ngành học
máy để xây dựng một hàm (function) từ dữ liệu huấn luyện. Dữ liệu huấn
luyện bao gồm các cặp gồm đối tượng đầu vào (thường dạng vec-tơ), đầu ra
mong muốn. Đầu ra của một hàm có thể là một giá trị liên tục (gọi là hồi quy),
hay có thể là dự đoán một nhãn phân loại cho một đối tượng đầu vào (gọi là
phân loại).
Nhiệm vụ của chương trình học có giám sát là dự đốn giá trị của hàm
cho một đối tượng bất kì là đầu vào hợp lệ, sau khi đã xem xét một số ví dụ
huấn luyện (nghĩa là, các cặp đầu vào và đầu ra tương ứng). Để đạt được điều
này, chương trình học phải tổng quát hóa từ các dữ liệu sẵn có để dự đốn
được những tình huống chưa gặp phải theo một cách "hợp lí".
Học có giám sát có thể tạo ra 2 loại mơ hình. Phổ biến nhất, học có giám
sát tạo ra một mơ hình tồn cục (global model) để ánh xạ đối tượng đầu vào
đến đầu ra mong muốn. Tuy nhiên, trong một số trường hợp, việc ánh xạ được
thực hiện dưới dạng một tập các mơ hình cục bộ (như trong phương pháp lập
luận theo tình huống (case-based reasoning) hay giải thuật K láng giềng gần
nhất).
b. Học không có giám sát (unsupervised learning) là một phương pháp
của ngành học máy nhằm tìm ra một mơ hình mà phù hợp với các quan sát.
10
Khác với học có giám sát, trong học khơng có giám sát, đầu ra đúng tương
ứng cho mỗi đầu vào là khơng biết trước. Học khơng có giám sát thường đối
xử với các đối tượng đầu vào như là một tập các biến ngẫu nhiên. Sau đó, một
mơ hình mật độ kết hợp sẽ được xây dựng cho tập dữ liệu đó.
Học khơng có giám sát có thể được dùng kết hợp với suy diễn Bayes
(Bayesian inference) để cho ra xác suất có điều kiện (nghĩa là học có giám
sát) cho bất kì biến ngẫu nhiên nào khi biết trước các biến khác.
c. Học tăng cường (reinforcement learning) là một lĩnh vực con của học
máy, nghiên cứu cách thức một tác nhân trong một môi trường nên chọn thực
hiện các hành động nào để cực đại hóa một điểm thưởng về lâu dài. Các thuật
toán học tăng cường cố gắng tìm một chiến lược ánh xạ các trạng thái của thế
giới tới các hành động mà tác nhân nên chọn trong các trạng thái đó.
Mơi trường thường được biểu diễn dưới dạng một quá trình quyết định
Markov trạng thái hữu hạn (Markov decision process - MDP), và các thuật
toán học tăng cường cho ngữ cảnh này có liên quan nhiều đến các kỹ thuật
quy hoạch động. Các xác suất chuyển trạng thái và các xác suất thu lợi trong
MDP thường là ngẫu nhiên nhưng lại tĩnh trong quá trình của bài tốn.
Khác với học có giám sát, trong học tăng cường khơng có các cặp dữ liệu
vào/kết quả đúng, các hành động gần tối ưu cũng không được đánh giá đúng
sai một cách tường minh. Hơn nữa, ở đây hoạt động trực tuyến (on-line
performance) được quan tâm, trong đó có việc tìm kiếm một sự cân bằng giữa
khám phá (lãnh thổ chưa lập bản đồ) và khai thác (tri thức hiện có). Trong học
tăng cường, sự được và mất giữa khám phá và khai thác đã được nghiên cứu
chủ yếu qua bài tốn multi-armed bandit.
Do đó, học tăng cường đặc biệt thích hợp cho các bài tốn có sự được
mất giữa các khoản thưởng ngắn hạn và dài hạn. Học tăng cường đã được áp
11
dụng thành cơng cho nhiều bài tốn, trong đó có điều khiển robot, điều vận
thang máy, viễn thơng, các trị chơi backgammon và cờ vua.
1.2.2. Chu trình thiết kế hệ thống nhận dạng mẫu
Dữ liệu
Trích chọn đặc trưng
Lựa chọn mơ hình
Học
Đánh giá
Hình 1.1. Chu trình hệ thống nhận dạng mẫu
Trong đó:
Dữ liệu (Data): Dữ liệu đưa vào thường có kích thước lớn và gồm nhiều
dạng dữ liệu khác nhau, việc xử lý chúng rất khó khăn. Do vậy trước hết
chúng ta phải có các thao tác làm sạch và tiền xử lý dữ liệu:
- Làm sạch: là làm giảm nhiễu và loại bỏ các dư thừa dữ liệu.
- Tiền xử lý: sử dụng các phương pháp đổi tên, chuẩn hoá, rời rạc hố và
trừu tượng hố.
Trích chọn đặc trưng (Feature selection): Kích thước của các mẫu đưa
vào thường rất lớn. Mục đích làm giảm kích thước của mẫu thì phải trích chọn
các đặc trưng của mẫu.
12
Lựa chọn mơ hình (Model selection): Sử dụng các kiến thức về các
mẫu, phân tích sự tương quan để đốn mơ hình.
Học (Learning): Sử dụng các phương pháp đạo hàm, ma trận để giải các
bài tốn tối ưu, tìm tập tham số của mơ hình để tối ưu hố hàm lỗi.
Đánh giá (Evaluation): Sử dụng các phương pháp đánh giá đơn giản
như: chia tập dữ liệu thành tập huấn luyện và tập kiểm tra.
1.2.3. Thiết kế hệ thống nhận dạng chữ số viết tay
Nhận dạng chữ số viết tay đã được thực hiện từ những năm 1980. Nhiệm
vụ của nhận dạng chữ số viết tay phân loại các chữ số và được sử dụng trong
việc nhận dạng chữ viết tay trực tuyến trên máy tính, nhận dạng các mã ZIP
trên các thư, sắp xếp các thư từ trong bưu điện, xử lý các tài khoản ngân hàng,
điền các biểu mẫu bằng tay (ví dụ: biểu mẫu thuế)…..Có rất nhiều thách thức
khác nhau khi giải quyết bài toán này. Chữ số viết tay khơng bằng nhau về
kích thước, nét chữ, độ nghiêng, khoảng cách giữa các số. Mục tiêu của chúng
tôi đó là xây dựng phương pháp phân loại các mẫu đó để có thể nhận dạng
chữ số viết tay được cung cấp trong cơ sở dữ liệu về hình ảnh. Các chữ số viết
tay từ 0-9 của MNIST. Cơ sở dữ liệu chứa 60000 hình ảnh huấn luyện và
10000 hình ảnh kiểm tra, mỗi hình ảnh có kích thước 28x28 hình đa mức xám
(0-255) mơ tả của các số riêng biệt.
Các vấn đề khó khăn được dự đốn là chúng tôi sẽ đối mặt với các vấn
đề phân loại số các số gần giống nhau như 1 và 7, 5 và 6, 3 và 8, 9 và 8….và
một số người cũng đã viết các ký tự theo các các khác nhau ví dụ: ‘1’,’1’
hoặc‘1’ tương tự như vậy ‘7’,’7’ hoặc’7’ . Cuối cùng sự đồng nhất cũng như
sự thay đổi trong các cá nhân khác nhau thì cũng chịu ảnh hưởng tạo ra và sự
xuất hiện của các chữ số. Hình1.2. Mơ tả một số hình ảnh mẫu trong cơ sở dữ
liệu MNIST [8].
13
Hình1.2. Mơ tả một số hình ảnh mẫu trong cơ sở dữ liệu MNIST
Sơ đồ tổng quát của hệ thống nhận dạng chữ số viết tay được thể hiện ở
Hình 1.3.
Hình 1.3. Sơ đồ tổng quát của hệ thống nhận dạng chữ viết số tay
14
a. Tiền xử lý
Giai đoạn này góp phần làm tăng độ chính xác phân lớp của hệ thống
nhận dạng, tuy nhiên nó cũng làm cho tốc độ nhận dạng của hệ thống chậm
lại. Vì vậy, tùy thuộc vào chất lượng ảnh quét vào của từng văn bản cụ thể để
chọn một hoặc một vài chức năng trong khối này. Nếu cần ưu tiên tốc độ xử
lý và chất lượng của máy qt tốt thì có thể bỏ qua giai đoạn này. Khối tiền xử
lý bao gồm một số chức năng: Nhị phân hóa ảnh, lọc nhiễu, chuẩn hóa kích
thước ảnh, làm trơn biên chữ, làm đầy chữ, làm mảnh chữ và xoay văn bản.
+ Nhị phân hóa ảnh
Nhị phân hóa ảnh là một kỹ thuật chuyển ảnh đa mức xám sang ảnh nhị
phân. Trong bất kỳ bài tốn phân tích hoặc nâng cao chất lượng ảnh nào, nó
cũng cần thiết để xác định các đối tượng quan trọng. Nhị phân hóa ảnh phân
chia ảnh thành 2 phần: phần nền và phần chữ. Hầu hết các phương pháp nhị
phân hóa ảnh hiện nay đều lựa chọn một ngưỡng thích hợp theo cường độ
sáng của ảnh và sau đó chuyển tất cả các giá trị độ sáng lớn hơn ngưỡng đó
thành một giá trị độ sáng (ví dụ “trắng”) và tất cả các giá trị bé hơn ngưỡng
thành một giá trị độ sáng khác (“đen”).
+ Lọc nhiễu
Nhiễu là một tập các điểm sáng thừa trên ảnh. Khử nhiễu là một vấn đề
thường gặp trong nhận dạng, nhiễu có nhiều loại (nhiễu đốm, nhiễu vệt, nhiễu
đứt nét...). Để khử các nhiễu đốm (các nhiễu với kích thước nhỏ), có thể sử
dụng các phương pháp lọc (lọc trung bình, lọc trung vị...). Tuy nhiên, với các
nhiễu vệt (hoặc các nhiễu có kích thước lớn) thì các phương pháp lọc tỏ ra
kém hiệu quả, trong trường hợp này sử dụng phương pháp khử các vùng liên
thơng nhỏ tỏ ra có hiệu quả hơn.
15
+ Chuẩn hóa kích thước ảnh
Việc chuẩn hóa kích thước ảnh dựa trên việc xác định trọng tâm ảnh, sau
đó xác định khoảng cách lớn nhất từ tâm ảnh đến các cạnh trên, dưới, trái,
phải của hình chữ nhật bao quanh ảnh. Thơng qua khoảng cách lớn nhất đó,
có thể xác định được một tỷ lệ co, giãn của ảnh gốc so với kích thước đã xác
định, từ đó hiệu chỉnh kích thước ảnh theo tỷ lệ co, giãn này. Như vậy, thuật
tốn chuẩn hóa kích thước ảnh ln ln đảm bảo được tính cân bằng khi co
giãn ảnh, ảnh sẽ không bị biến dạng hoặc bị lệch.
+ Làm trơn biên chữ
Đôi khi do chất lượng quét ảnh quá xấu, các đường biên của chữ khơng
cịn giữ được dáng điệu trơn tru ban đầu mà hình thành các đường răng cưa
giả tạo. Trong các trường hợp này, phải dùng các thuật toán làm trơn biên để
khắc phục.
+ Làm đầy chữ
Chức năng này được áp dụng với các ký tự bị đứt nét một cách ngẫu
nhiên. Ảnh đứt nét gây khó khăn cho việc tách chữ, dễ bị nhầm hai phần liên
thông của ký tự thành hai ký tự riêng biệt, tạo nên sai lầm trong quá trình
nhận dạng.
+ Làm mảnh chữ
Đây là một bước quan trọng nhằm phát hiện khung xương của ký tự bằng
cách loại bỏ dần các điểm biên ngồi của các nét. Tuy nhiên, q trình làm
mảnh chữ rất nhạy cảm với việc khử nhiễu.
+ Điều chỉnh độ nghiêng của văn bản
Do trang tài liệu quét vào không cẩn thận hoặc do sự cố in ấn, các hàng
chữ bị lệch so với lề chuẩn một góc α, điều này gây khó khăn cho cơng đoạn
tách chữ, đơi khi không thể tách được. Trong những trường hợp như vậy, phải
tính lại tọa độ điểm ảnh của các chữ bị sai lệch.
16
Có nhiều kỹ thuật để điều chỉnh độ nghiêng, kỹ thuật phổ biến nhất dựa
trên cơ sở biểu đồ chiếu (projection profile) của ảnh tài liệu; một số kỹ thuật
dựa trên cơ sở các phép biến đổi Hough và Fourier.
b. Khối tách chữ
Khối này có nhiệm vụ tách từng ký tự ra khỏi văn bản. Chỉ khi nào văn
bản được tách và cô lập đúng từng ký tự đơn ra khỏi tổng thể văn bản thì hệ
thống mới có thể nhận dạng đúng ký tự đó. Một số phương pháp tách chữ
thông dụng:
+ Tách chữ theo chiều nằm ngang và thẳng đứng
Phương pháp này thường áp dụng cho chữ in. Khác với chữ viết tay, kích
thước và kiểu chữ cố định, phải tuân theo một số quy định in ấn, các chữ phải
nằm gọn trong một khung nên việc cô lập một ký tự đơn có thể đồng nhất với
việc tìm ra khung bao của chữ đó tại vị trí của nó trong văn bản. Tách chữ
theo chiều nằm ngang và thẳng đứng là tìm một hình chữ nhật có cạnh thẳng
đứng và nằm ngang chứa trọn một ký tự ở bên trong.
+ Tách chữ dùng lược đồ sáng
Đối với chữ viết tay thì việc tìm đường phân cách giữa các dòng và các
ký tự trong văn bản thường rất khó khăn. Trong trường hợp này, khơng thể
tìm đường phân cách theo nghĩa thông thường mà phải hiểu là đường phân
cách với số điểm cắt hai dịng là ít nhất. Khi đó phải xây dựng lược đồ sáng
của các dịng chữ, từ đó các đoạn thấp nhất trên lược đồ chính là đường phân
cách cần tìm.
c. Trích chọn đặc trưng
Trích chọn đặc trưng đóng vai trị cực kỳ quan trọng trong một hệ thống
nhận dạng. Trong trường hợp đơn giản nhất, ảnh đa mức xám hoặc ảnh nhị
phân được sử dụng cho việc nhận dạng. Tuy nhiên, trong hầu hết các hệ nhận
dạng, để giảm độ phức tạp và tăng độ chính xác của các thuật tốn phân lớp
17
thì địi hỏi các đặc trưng được trích chọn phải rút gọn lại càng nhỏ càng tốt
nhưng vẫn phải đảm bảo được thông tin của ký tự. Với mục tiêu này, một tập
các đặc trưng được trích chọn cho mỗi lớp sao cho có thể phân biệt được với
các lớp khác. Một số phương pháp trích chọn đặc trưng tương đối tốt đối với
nhận dạng chữ viết tay. Có hàng trăm phương pháp trích chọn đặc trưng cho
ảnh văn bản, nhưng chung quy lại, các phương pháp này được chia thành ba
nhóm chính sau:
+ Biến đổi tồn cục và khai triển chuỗi
Một tín hiệu liên tục thường chứa nhiều thơng tin và chúng có thể sử
dụng làm các đặc trưng cho mục đích phân lớp. Các đặc trưng được trích chọn
cũng có thể đúng đối với việc xấp xỉ các tín hiệu liên tục thành các tín hiệu rời
rạc. Một cách để biểu diễn một tín hiệu là sử dụng một tổ hợp tuyến tính của
một dãy các hàm đơn giản hơn. Các hệ số của tổ hợp tuyến tính cung cấp một
tri thức giải mã vừa đủ, chẳng hạn như các phép biến đổi hoặc khai triển
chuỗi. Một số biến dạng khác như các phép dịch chuyển và phép quay là bất
biến dưới các phép biến đổi toàn cục và khai triển chuỗi. Một số phương pháp
thường được áp dụng trong lĩnh vực nhận dạng chữ.
Biến đổi Fourier: Một trong những tính chất nổi bật nhất của phép biến
đổi Fourier là khả năng nhận dạng các ký tự có sự thay đổi về các tư thế khác
nhau, các phép biến đổi này đã được áp dụng để nhận dạng ký tự theo nhiều
cách khác nhau.
Biến đổi Wavelet: Phép biến đổi này là một dãy các kỹ thuật khai triển
cho phép mô tả đặc trưng của ảnh ở các mức độ khác nhau. Các công đoạn
tách chữ thành các ký tự hoặc từ được mô tả bằng các hệ số wavelet theo các
mức độ khác nhau đối với từng giải pháp. Sau đó các hệ số wavelet được
chuyển qua một máy phân lớp để phục vụ cho việc nhận dạng.
18
Phương pháp mô men: Theo phương pháp này, ảnh gốc sẽ được thay
thế bằng một tập các đặc trưng vừa đủ của để nhận dạng các đối tượng bất
biến đối với các phép thay đổi tỷ lệ, tịnh tiến hoặc quay. Các mô men được
xét như các dãy khai triển đặc trưng vì ảnh gốc có thể xây dựng lại một cách
đầy đủ từ các hệ số mô men.
Khai triển Karhunent-Loeve: Việc khai triển này nhằm phân tích các
véc tơ riêng để rút gọn số chiều của tập đặc trưng bằng cách tạo ra các đặc
trưng mới là tổ hợp tuyến tính của các đặc trưng gốc. Đây chỉ là một phép
biến đổi tối ưu trong một số giới hạn nào đó của việc nén thơng tin. Khai triển
Karhunent-Loeve được dùng trong một số bài toán nhận dạng mẫu như nhận
dạng mặt người, nó cũng được sử dụng trong hệ thống OCR của Viện Công
nghệ và Tiêu chuẩn Quốc gia Hoa Kỳ (NIST – National Institute of Standards
and Technology of the United States). Vì việc khai triển này địi hỏi phải sử
dụng các thuật tốn có khối lượng tính tốn rất lớn nên việc sử dụng các đặc
trưng Karhunent-Loeve trong các bài tốn nhận dạng chữ khơng được phổ
biến rộng rãi. Tuy nhiên, để tăng tốc độ tính tốn cho các máy phân lớp, các
đặc trưng này trở nên thiết thực hơn cho các hệ nhận dạng chữ trong những
năm gần đây.
+ Đặc trưng thống kê
Các đặc trưng thống kê của ảnh văn bản bảo toàn các kiểu biến đổi đa
dạng về hình dáng của chữ. Mặc dù các kiểu đặc trưng này không thể xây
dựng lại ảnh gốc, nhưng nó được sử dụng để thu nhỏ số chiều của tập đặc
trưng nhằm tăng tốc độ và giảm thiểu độ phức tạp tính tốn. Một số đặc trưng
thống kê thường dùng để biểu diễn ảnh ký tự:
Phân vùng (zoning): Khung chứa ký tự được chia thành một vài vùng
chồng nhau hoặc không chồng nhau. Mật độ của các điểm ảnh trong các vùng
khác nhau được phân tích và tạo thành các đặc trưng.
19
Các giao điểm và khoảng cách: Một đặc trưng thống kê phổ biến là số
giao điểm giữa chu tuyến của chữ với một đường thẳng theo một hướng đặc
biệt nào đó. Trong khung chứa ký tự được phân chia thành một tập các vùng
theo các hướng khác nhau và sau đó các dãy đen trong mỗi vùng được mã hóa
bởi các số lũy thừa của 2. Tương tự như vậy, khoảng cách từ biên của khung
chứa ảnh tới điểm đen đầu tiên của chu tuyến chữ trên cùng một dòng quét
cũng được sử dụng như những đặc trưng thống kê.
Các phép chiếu: Các ký tự có thể được biểu diễn bằng cách chiếu các
giá trị mức xám của từng điểm lên trên các dòng theo các hướng khác nhau.
Các đặc trưng này tạo ra dãy tín hiệu một chiều từ ảnh hai chiều.
Đặc trưng hướng: Các ký tự bao gồm các nét chữ, các nét này là các
đoạn thẳng có hướng, các cung hoặc các đường cong. Hướng của các nét đóng
vai trị quan trọng trong việc so sánh sự khác nhau giữa các ký tự. Các ký tự
được mô tả như các véc tơ mà các phần tử của nó là các giá trị thống kê về
hướng. Để trích chọn các đặc trưng này, góc định hướng của nét chữ phải
được phân chia thành một số vùng cố định và số các đoạn của nét chữ trong
mỗi vùng góc được chọn như một giá trị đặc trưng. Vì vậy, tập các số lượng
của các đoạn định hướng sẽ tạo thành một biểu đồ được gọi là biểu đồ hướng
và các đặc trưng về biểu đồ hướng có thể gọi chung là đặc trưng hướng. Các
ảnh ký tự được phân rã thành các mặt phẳng định hướng và một độ đo khoảng
cách được tính giữa các mặt phẳng đó với mẫu của mỗi lớp. Hướng nét chữ
cục bộ của một ký tự có thể được xác định bằng nhiều cách khác nhau: hướng
của xương, phân đoạn nét chữ, mã hóa chu tuyến, hướng đạo hàm. Hiện nay,
các đặc trưng mã hóa chu tuyến và hướng đạo hàm được áp dụng rộng rãi vì
chúng dễ cài đặt và xấp xỉ bất biến với sự biến đổi đa dạng của các nét chữ.
20
+ Đặc trưng hình học và hình thái
Các tính chất cục bộ và toàn cục khác nhau của các ký tự có thể được
biểu diễn bằng các đặc trưng hình học và hình thái. Các kiểu đặc trưng này
cũng có thể giải mã một số tri thức về cấu trúc của đối tượng ảnh hoặc có thể
cung cấp một số tri thức như sắp xếp các thành phần để tạo ra đối tượng. Các
loại đặc trưng này có thể phân thành các nhóm sau:
Trích chọn và đếm các cấu trúc hình thái: Trong nhóm đặc trưng này,
một cấu trúc đã xác định được tìm kiếm trong một ký tự hoặc một từ. Số
lượng vị trí hoặc quan hệ vị trí của các cấu trúc trong ký tự này tạo thành các
đặc trưng biểu diễn ký tự. Thông thường, các cấu trúc nguyên thủy (các đoạn
thẳng, các cung) là các nét tạo ra ký tự. Các ký tự và các từ có thể được mơ tả
bằng cách trích chọn và đếm nhiều loại đặc trưng về hình thái như các điểm
cực đại và cực tiểu, các điểm chóp trên và chóp dưới của một ngưỡng nào đó,
mở rộng cho các điểm trái, phải, trên, dưới và các giao điểm, các điểm nhánh,
điểm cuối đoạn thẳng, hướng của một nét từ một điểm đặc biệt, các điểm cô
lập... đã tạo nên các ký tự.
Đo và xấp xỉ các tính chất hình học: Trong nhiều cơng trình nghiên cứu,
các ký tự được biểu diễn bằng độ đo của các đại lượng hình học như tỷ số
giữa chiều rộng và chiều cao của hộp chứa ký tự, quan hệ khoảng cách giữa
hai điểm, so sánh độ dài giữa hai nét, độ rộng của một nét, khối lượng chữ hoa
và chữ thường của các từ, độ dài từ. Một độ đo tiêu biểu rất quan trọng nữa là
độ cong hoặc thay đổi độ cong. Các đại lượng hình học đo được có thể xấp xỉ
bởi một tập các đặc trưng hình học vừa đủ và thuận tiện hơn.
Đồ thị và cây: Đầu tiên, các từ hoặc các ký tự được phân chia thành một
tập các đối tượng nguyên thủy như các nét, các điểm chạc... Sau đó, các thành
phần nguyên thủy được thay thế bằng các thuộc tính hoặc các đồ thị liên quan.
Có hai loại đặc trưng ảnh được mô tả bằng đồ thị. Loại thứ nhất sử
21
dụng các tọa độ của hình dáng ký tự. Loại thứ hai là một đặc trưng trừu tượng,
các nút của đồ thị tương ứng với các nét chữ và các cạnh của đồ thị tương ứng
với các mối quan hệ giữa các nét chữ. Cây cũng có thể dùng để biểu diễn các từ
và các ký tự với một tập các đặc trưng theo một quan hệ phân cấp.
Trích chọn đặc trưng hầu hết được thực hiện trên ảnh nhị phân. Tuy
nhiên, việc nhị phân hóa ảnh đa mức xám có thể xóa đi một số thơng tin quan
trọng của các ký tự. Trong trường hợp này, cũng có một số cơng trình nghiên
cứu để trích chọn các đặc trưng trực tiếp từ các ảnh đa mức xám. Cuối cùng,
mục đích chính của việc trích chọn đặc trưng là lựa chọn một tập đặc trưng
phục vụ cho việc phân lớp sao cho hệ thống nhận dạng đạt độ chính xác cao
nhất với số lượng phần tử được trích chọn ít nhất. Luận văn chỉ tập trung
nghiên cứu một số đặc trưng thống kê và đặc trưng wavelet cho bài toán nhận
dạng chữ số viết tay rời rạc.
1.3. Tổng quan về tình hình nghiên cứu
1.3.1. Tình hình nghiên cứu trong nước
Nhận dạng chữ số viết tay được chia thành hai lớp bài toán lớn là nhận
dạng chữ số viết tay trực tuyến (online) và nhận dạng chữ số viết tay ngoại
tuyến (offline). Trong nhận dạng chữ số viết tay ngoại tuyến dữ liệu đầu vào
được cho dưới dạng các ảnh được quét từ các giấy tờ, văn bản. Ngược lại
nhận dạng chữ số viết tay trực tuyến là nhận dạng các chữ trên màn hình ngay
khi nó được viết. Trong hệ nhận dạng này máy tính sẽ lưu lại các thơng tin về
nét chữ như thứ tự nét viết hướng và tốc độ của nét.
Tại Việt Nam năm 2010, nhóm nghiên cứu Huỳnh Hữu Lộc, Lưu Quốc
Hải, Đinh Đức Anh Vũ (khoa Khoa học và Kỹ thuật máy tính, trường Đại học
Bách khoa, TP Hồ Chí Minh) đã đạt được những bước tiến đáng kể trong
nhận dạng ký tự viết tay. Hướng tiếp cận của nhóm nghiên cứu là nhận dạng
dựa trên thông tin tĩnh. Dựa trên nền tảng giải thuật trích rút thơng tin theo
22
chiều, nhóm tác giả đã cải tiến đa số các bước để đạt được độ chính xác cao
hơn trong việc nhận dạng ký tự (khoảng 95%) và có những bước tiến đáng kể
trong việc nhận dạng cả từ. Tuy nhiên sản phẩm vẫn chưa nhận dạng được
chữ viết tay tiếng Việt. Như vậy có thể thấy nhận dạng chữ viết tay, đặc biệt
chữ viết tay tiếng Việt đang là một hướng nghiên cứu rất được quan tâm hiện
nay và đang cịn nhiều vấn đề cần phải hồn thiện.
1.3.2. Tình hình nghiên cứu ngồi nước
Nhận dạng chữ viết tay nói chung và chữ số viết tay nói riêng đã được
nghiên cứu hơn 40 năm qua. Ngày này nhận dạng chữ viết đã nhận được sự
quan tâm đáng kể do sự phát triển của các máy tính cầm tay và điện thoại cầm
tay dựa trên các bàn phím, chuột và nhiều các thiết bị định vị khác. Các
phương pháp này tỏ ra khơng hữu hiệu hoặc xử lý chậm do đó người ta cần
nghiên cứu phương pháp nhận dạng chữ trên các máy Palm pilot hay các máy
tính bảng.
23
CHƯƠNG 2. MẠNG NƠ-RON NHÂN TẠO
Mạng nơ-ron (neural) nhân tạo được coi là một công cụ mạnh để giải
quyết các bài tốn có tính phi tuyến, phức tạp và đặc biệt trong các trường
hợp mà mối quan hệ giữa các q trình khơng dễ thiết lập một cách tường
minh. Có nhiều loại mạng nơ-ron khác nhau trong đó mạng nơ-ron truyền
thẳng nhiều lớp là một trong những mạng nơ-ron thông dụng nhất. Đã có
nhiều nghiên cứu sử dụng mạng nơ-ron truyền thẳng nhiều lớp trong bài toán
nhận dạng và đã chứng tỏ đây là hướng tiếp cận rất hiệu quả. Trong chương
này chúng ta sẽ tìm hiểu những kiến thức về mạng nơ-ron nhân tạo, mạng nơron truyền thẳng nhiều lớp và khả năng ứng dụng của chúng trong bài toán
nhận dạng. Nội dung của chương được tham khảo từ các tài liệu [3, 7, 12].
2.1. Giới thiệu về mạng nơ-ron
2.1.1. Mạng nơ-ron sinh học
Ramonny cajal (1934) và Sherrington (1933) đã chỉ ra rằng bộ óc con người
được phân tích thành các nơ-ron độc lập và có khoảng 10
khoảng 10
14
11
nơ-ron thần kinh với
liên kết tức là khoảng 1000 liên kết trên một nơ-ron [12].
Cơ quan cảm nhận như mắt, mũi, tai, da,…, cảm nhận các tác nhân kích
thích của mơi trường hoặc cơ thể con người sau đó chuyển thành xung điện.
Các thơng tin cảm nhận ngay sau đó được chuyển vào bộ óc là nơi trung tâm
của hệ thần kinh. Bộ óc liên tục nhận thơng tin để xử lý, so sánh và lưu trữ các
thông tin và tạo nên các quyết định phù hợp. Các mệnh lệnh cần thiết sau đó
được sinh ra và truyền tới các bộ phận phản ứng (Cơ quan vận động giống
như lưỡi, giây âm thanh,… đối với tiếng nói). Các bộ phận phản ứng chuyển
các xung điện thành các đáp ứng như các đầu ra của hệ thống. Cùng lúc đó, cơ
quan vận động được giám sát của trung tâm hệ thần kinh bằng liên kết phản
hồi bên trong và liên kết phản hồi bên ngoài đối với hành động giống
24
như sự phối hợp của tay- mắt. Như vậy, toàn bộ hệ thống giống như một hệ
thống điều khiển đóng.
Hình 2.1 chỉ ra sơ đồ khối của nơ-ron với các thành phần chính được gán
nhãn là: sợi trục thần kinh (axon), thân tế bào (cell body), xúc tua (dendrites)
và khớp thần kinh (synapse) [12].
Hình 2.1. Các thành phần của nơ-ron
Xúc tua (với nhiều nhánh nhỏ tương tự như một cây) là các bộ cảm nhận
của các tín hiệu điện từ các tế bào khác. Sợi trục thần kinh là đường truyền
mang tín hiệu ra khỏi nơ-ron. Chúng có bề mặt nhẵn, ít nhánh và dài như xúc
tua. Thân tế bào chứa các nhân tế bào và trách nhiệm cung cấp các chức năng
hỗ trợ cần thiết tới toàn bộ nơ-ron. Các chức năng hỗ trợ gồm tạo ra năng
lượng, tổng hợp protein,… thân tế bào làm việc như một bộ xử lý thông tin
bằng cách tổng hợp từ các xúc tua.
Sự tác động giữa các nơ-ron được thực hiện thông qua các lớp thần kinh. Bộ
nhớ lâu dài được định nghĩa trong hệ thần kinh theo dạng biến đổi cường độ
liên kết. Sự thay đổi ảnh hưởng liên kết được thực hiện thơng qua sự thay đổi
sinh hóa kết hợp với việc học và nhớ. Kinh nghiệm chứng minh
tính chất này như sau:
25