Tải bản đầy đủ (.doc) (57 trang)

NHẬN DẠNG CHỮ VIẾT TAY TIẾNG VIỆT SỬ DỤNG MẠNG NEURON TÍCH CHẬP

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.15 MB, 57 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG

KHOA CƠNG NGHỆ THÔNG TIN
----- -----

BÀI TẬP
MÔN CHUYÊN ĐỀ HỆ THỐNG THÔNG TIN

TÊN ĐỀ TÀI

NHẬN DẠNG CHỮ VIẾT TAY TIẾNG VIỆT
SỬ DỤNG MẠNG NEURON TÍCH CHẬP

CHUN NGÀNH : HỆ THỐNG THƠNG TIN

1


HÀ NỘI – NĂM 2021
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA CÔNG NGHỆ THÔNG TIN
----- -----

BÀI TẬP
MÔN CHUYÊN ĐỀ HỆ THỐNG THÔNG TIN

TÊN ĐỀ TÀI : NGHIÊN CỨU VỀ MẠNG NEURON TÍCH CHẬP
VÀ ỨNG DỤNG CHO BÀI TỐN NHẬN DẠNG CHỮ VIẾT TAY
TIẾNG VIỆT
CHUYÊN NGÀNH : HỆ THỐNG THÔNG TIN



GIẢNG VIÊN HƯỚNG DẪN: PGS.TS. NGUYỄN QUANG HOAN

2


HÀ NỘI – NĂM 2021
MỤC LỤC
PHẦN MỞ ĐẦU
Chương I. TỔNG QUAN TÀI LIỆU
1.1 . Giới thiệu.
1.1.1 . Tổng quan về nhận diện ký tự quang học
1.2 . Phạm vi nghiên cứu.
1.3 . Khái quát về xử lý ảnh.
1.3.1 . Một số khái niệm cơ bản
1.3.2 . Một số vấn đề trong xử lý ảnh ký tự
1.3.2.1 . Các hệ thống xử lý ảnh
1.3.2.2 . Các hình thái của ảnh
1.3.2.3 . Một số ứng dụng trong xử lý ảnh
1.4 . Hệ thống nhận diện ký tự viết tay.
1.4.1 . Những khó khan của bài toán
1.4.2 . Tầm quan trọng và ứng dụng của bài toán nhận dạng chữ viết tay
1.4.3 . Các thành phần của hệ thống
Chương II. CƠ SƠ LÝ THUYẾT VÀ MƠ HÌNH NGHIÊN CỨU.
2.1 . Hệ thống phát hiện ký tự.
2.1.1 . Tiền xử lý
2.1.1.1 . Nhị phân hóa
2.1.1.2 . Phân ngưỡng ảnh với thuật tốn Otsu
2.1.1.3 . Lọc ảnh
2.1.1.4 . Làm trơn biên chữ

2.1.1.5 . Làm mảnh chữ
2.1.1.6 . Làm đầy chữ
2.1.2 . Phát hiện ký tự, phát hiện biên canny
2.2 . Hệ thống nhận diện ký tự.
2.2.1 . Mạng nơ-ron và mạng nơ-ron lan truyền ngược
2.2.1.1 . Giới thiệu về mạng nơ-ron.
2.2.1.2 . Một số kiểu mạng nơ-ron.
2.2.1.3 . Mạng nơ-ron truyền thẳng nhiều lớp MP
2.2.2 . Mạng nơ-ron tích chập.
2.2.2.1 . Định nghĩa mạng nơ-ron tích chập
2.2.2.2 . Tích chập (Convolution)
2.2.2.3 . Mơ hình mạng nơ-ron tích chập
Chương III. THIẾT KẾ, MƠ PHỎNG
3.1.1 . Thu thập dữ liệu
3.1.2 . Huấn luyện dữ liệu
3


3.1.2.1 . Mơ hình sử dụng
3.2.2.2 . Cơng cụ huấn luyện và phần cứng huấn luyện
3.2.2.3 . Các tiêu chi đánh giá và huấn luyện
KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO

4


DANH MỤC CHỮ VIẾT TẮT
DANH MỤC ĐỒ THỊ
Hình 1.1. Quá trình xử lý ảnh
Hình 1.2. Các bước cơ bản trong một hệ thống xử lý ảnh

Hình 1.3 Các thành phần của hệ thống nhận dạng
Hình 2.1. Nhị phân hố ảnh
Hình 2.2. Ảnh và Histogram tương ứng của ảnh
Hình 2.3. Minh hoạ việc lọc ảnh
Hình 2.4.Minh hoạ kết quả của việc nhân ma trận
Hình 2.5. Minh hoạ phép lọc Gauss
Hình 2.6. (a) Ảnh gốc, (b) Ảnh sau khi được làm trơn biên.
Hình 2.7. Làm mảnh chữ
Hình 2.8. Phát hiện ký tự trong ảnh
Hình 2.9. Tìm biên dựa trên điểm cực đại
Hình 2.10. Minh hoạ về ngưỡng lọc
Hình 2.11. Một vài ký tự thu được sau khi tiến hành phát hiện biên
Hình 2.12. Cấu tạo một Neural
Hình 2.13. Mạng tự kết hợp
Hình 2.14. Mạng kết hợp khác kiểu
Hình 2.15. Mạng neural lan truyền ngược MLP
Hình 2.16 . Mơ hình mạng neuron lan truyền ngược
Hình 2.17 . Ảnh hưởng của kích thước mẫu
Hình 2.18. Minh họa tích chập
Hình 2.19 Ảnh mờ sau khi chập
Hình 2.20. Ảnh được phát hiện biên sai khi chập
Hình 2.21. Mơ hình mạng neural tích chập
Hình 2.22. Mơ hình mạng perceptron đa tầng
Hình 3.1. Một số ký tự trong bộ EMNIST
Hình 3.2. Danh sách các lớp và các tham số
Hình 3.3. Tóm tắt mơ hình huấn luyện
Hình 3.4. Độ chính xác trung bình sau mỗi vịng lặp
Hình 3.5. Độ chính xác tuyệt đối của mỗi vịng lặp
Hình 3.6. Giá trị trung bình của hàm mất mát qua mỗi vịng lặp
Hình 3.7. Giá trị tuyệt đối của hàm mất mát tại mỗi vịng lặp

Hình 3.8. Kết quả huấn luyện tổng thể
DANH MỤC BẢNG

5


LỜI MỞ ĐẦU
Deep Learning là một thuật toán dựa trên một số ý tưởng từ não bộ tới việc tiếp
thu nhiều tầng biểu đạt, cả cụ thể lẫn trừu tượng, qua đó làm rõ ý nghĩa của các từ loại dữ
liệu. Deep Learning được ứng dụng trong nhận diện ảnh, nhận diện giọng nói, xử lý ngơn
ngữ tự nhiên.
Hiện nay rất nhiều các bài toán nhận dạng sử dụng deep learning để giải quyết do
deep learning có thể giải quyết các bài tốn với số lượng lớn, kích thước đầu vào lớn với
hiệu năng cũng như độ chính xác vượt trội so với các phương pháp phân lớp truyền
thống.
Convolution Neural Network (CNNs – Mạng nơ-ron tích chập) 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. Trong bài tiểu luận này, em đi vào nghiên
cứu về mạng neural cũng như mạng Convolution của mơ hình CNNs trong phân lớp ảnh,
và áp dụng trong việc xây dựng hệ thống nhận dạng chữ viết tay tiếng Việt.
Trong bài tiểu luận này em sẽ xây dựng mơ hình mạng nơ-ron tích chập với việc
sử dụng nhiều lớp khác nhau của mạng để trích chọn tự động được các đặc trưng tốt nhất
trong ảnh. Đồng thời, cũng kết hợp giữa mạng nơ-ron tích chập và Multi-layer Perceptron
nhằm cải thiện hiệu suất của mơ hình.
Nhận dạng chữ viết tay là bài toán được quan tâm rất nhiều vì nó là một trong các
u cầu trong nhiều ứng dụng thực tế. Các ứng dụng của nhận dạng chữ viết tay đã và
đang được ứng dụng vào đời sống như phục vụ cho cơng việc tựu động hóa đọc tài liệu,
tăng tốc độ và hiệu quả nhập thông tin vào máy tính. Nhận dạng chữ viết tay có thể phục
vụ cho các ứng dụng đọc và xử lý các chứng từ, hóa đơn, phiếu ghi, bản viết tay chương
trình, ….

Hiện nay, đã có một số đề tài nghiên cứu nhận dạng chữ viết tay sử dụng các mơ
hình như: K láng giềng gần nhất (K-Nearest Neighbor - KNN), máy hỗ trợ vec-tơ (Suport
Vector Machine - SVM), mơ hình Markov ẩn (Hidden Markov Model-HMM)….. Tuy
nhiên, các mơ hình này cho kết quả nhận dạng không cao, mất nhiều thời gian cho việc
trích rút đặc trưng ảnh. Vì vậy, trong nghiên cứu này chúng tôi sẽ xây dựng một mô hình
mới để có thể trích rút tự động các đặc trưng trong ảnh và mơ hình mới này cũng cho kết
quả tốt hơn các mơ hình trước đó.
6


CHƯƠNG I: TỔNG QUAN TÀI LIỆU
Giới thiệu.
Bài toán nhận dạng chữ viết tay được ứng dụng rất nhiều trong thực tế, được tích
hợp vào hệ thống nhận dạng form tự động, tích hợp trong các máy PDA có màn hình cảm
ứng, nhận dạng ký tự… Do có nhiều ứng dụng quan trọng như vậy nên từ lâu bài toán
nhận dạng chữ viết tay đã thu hút sự quan tâm của nhiều nhà nghiên cứu, Nghiên cứu của
Norhidayu và các tác giả sử dụng thuật toán phân loại KNN cho kết quả phân loại cao
nhất là 99,26%. Kết quả thục nghiệm cho thấy phương pháp LBP có thể nhận dạng ký tự
chữ số viết tay trên bộ dữ liệu MNIST với độ chính xác 89,81% và trên dữ liệu C1 với độ
chính xác là 70,91%.
Từ những nhận định ở trên em sẽ thử áp dụng mạng convolution neuron network để
thục hiện bài toán nhận dạng chữ viết tay. Nhận dạng ký tự viết tay được phân ra làm hai
loại: nhận dạng ký tự viết tay online (trực tuyến) và nhận dạng ký tự viết tay offline
(ngoại tuyến).
1.1.

Nhận dạng ký tự viết tay online được thực hiện trên cơ 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 viết trong quá trình nó đang viết.
Đây chính là cơ sở để máy tính nhận diện được các chữ cái, do đó việc nhận dạng khơng
gặp q nhiều khó khăn. Một trong những sản phẩm nhận dạng chữ viết tay trực tuyến

tiêu biểu nhất là hệ thống nhận dạng chữ viết tay rời rạc trực tuyến trên một trạm làm
việc IBM do H.S.M.Beigi, C.C.Tapert, M.Ukeison và C.G.Wolf ở phòng thực hành
Waston IBM cài đặt[1]. Ngược lại đối với nhận dạng ký tự viết tay offline, dữ liệu đầu
vào là ảnh văn bản được quét vào nên việc nhận dạng có độ khó cao hơn nhiều so với
nhận dạng ký tự viết tay online. Do dữ liệu đầu vào là ảnh văn bản nên nhận dạng ký tự
viết tay offline và nhận dạng chữ in còn được gọi chung là nhận diện ký tự quang học
(tiếng Anh: Optical Character Recognition, viết tắt là OCR).
1.1.1. Tổng quan về nhận diện ký tự quang học
Nhận dạng ký tự quang học là loại phần mềm máy tính được tạo ra để chuyển các
hình ảnh của chữ viết tay hoặc chữ đánh máy (thường được quét bằng máy scanner)
thành các văn bản tài liệu. OCR được hình thành từ một lĩnh vực nghiên cứu về nhận
dạng mẫu, trí tuệ nhận tạo và machine vision. Mặc dù công việc nghiên cứu học thuật vẫn
tiếp tục, một phần công việc của OCR đã chuyển sang ứng dụng trong thực tế với các kỹ
thuật đã được chứng minh.
Nhận dạng ký tự quang học (dùng các kỹ thuật quang học chẳng hạn như gương và
ống kính) và nhận dạng ký tự số (sử dụng máy qt và các thuật tốn máy tính) lúc đầu
được xem xét như hai lĩnh vực khác nhau. Bởi vì chỉ có rất ít các ứng dụng tồn tại với các
kỹ thuật quang học thực sự, bởi vậy thuật ngữ Nhận dạng ký tự quang học được mở rộng
và bao gồm luôn ý nghĩa nhận dạng ký tự số.
Đầu tiên hệ thống nhận dạng yêu cầu phải được huấn luyện với các mẫu của các ký
tự cụ thể. Các hệ thống "thơng minh" với độ chính xác nhận dạng cao đối với hầu hết các
1


phông chữ hiện nay đã trở nên phổ biến. Một số hệ thống cịn có khả năng tái tạo lại các
định dạng của tài liệu gần giống với bản gốc bao gồm: hình ảnh, các cột, bảng biểu, các
thành phần không phải là văn bản.
Hiện nay, với chữ Việt, phần mềm nhận dạng chữ Việt in VnDOCR 4.0 có khả năng
nhận dạng trực tiếp các loại tài liệu được quét qua máy quét, không cần lưu trữ dưới dạng
tệp ảnh trung gian. Các trang tài liệu có thể được quét và lưu trữ dưới dạng tệp tin nhiều

trang. Kết quả nhận dạng được lưu trữ sang định dạng của Microsoft Word, Excel... phục
vụ rất tốt nhu cầu số hóa dữ liệu.
1.2 . Phạm vi nghiên cứu.
Đầu vào là ảnh chụp từ các thiết bị kỹ thuật số chứa các ký tự viết tay được viết trên
giấy, có thể có nhiễu vạch, nhiễu đốm, tuy nhiên không chứa các vật thể phức tạp khác
như cây cối, xe cộ, con người vì sẽ làm ảnh hưởng đến quá trình phát hiện ký tự.
Các ký tự viết tay có thể nhận diện được bao gồm 62 ký tự: 26 ký tự latinh viết hoa
(A-Z), 26 ký tự latinh viết thường (a-z), 10 ký tự số (0-9).
1.3. Khái quát về xử lý ảnh.
1.3.1 . Một số khái niệm cơ bản
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng vai trò
quan trọng nhất. Những năm trở lại đây với sự phát triển của phần cứng máy tính, xử lý
ảnh và đồ hoạ đó phát triển một cách mạnh mẽ và có nhiều ứng dụng trong cuộc sống.
Xử lý ảnh và đồ hoạ đóng một vai trị quan trọng trong tương tác người máy. Quá trình
xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong
muốn. Kết quả đầu ra của một q trình xử lý ảnh có thể là một ảnh “tốt hơn” hoặc một
kết luận.

Ảnh “tốt hơn”
Ảnh

Xử lý ảnh
Kết luận
Hình 1.1. Q trình xử lý ảnh

Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như là đặc trưng
cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng trong khơng
gian và nó có thể xem như một hàm n biến P(c1, c2,..., cn). Do đó, ảnh trong xử lý ảnh có
thể xem như ảnh n chiều. Sơ đồ tổng quát của một hệ thống xử lý ảnh:


2


Hình 1.2. Các bước cơ bản trong một hệ thống xử lý ảnh
1.3.2 . Một số vấn đề trong xử lý ảnh ký tự
1.3.2.1. Các hệ thống xử lý ảnh
a. Tiền xử lý
Tiền xử lý là giai đoạn đầu tiên trong xử lý ảnh số. Tuỳ thuộc vào quá trình xử lý tiếp
theo trong giai đoạn này sẽ thực hiện các công đoạn khác nhau như: nâng cấp, chỉnh mức
sang, khơi phục ảnh, nắn chỉnh hình học, khử nhiễu v.v…
b. Trích chọn đặc trưng
Các đặc điểm của đối tượng được trích chọn tuỳ theo mục đích nhận dạng trong q
trình xử lý ảnh. Có thể nêu ra một số đặc điểm của ảnh sau đây:
Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên độ, điểm uốn v.v..
Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng việc thực hiện lọc
vùng (zonal filtering). Các bộ vùng được gọi là “mặt nạ đặc 10 điểm” (feature mask)
thường là các khe hẹp với hình dạng khác nhau (chữ nhật, tam giác, cung tròn v.v..)
Đặc điểm biên và đường biên: Đặc trưng cho đường biên của đối tượng và do vậy
rất hữu ích trong việc trích trọn các thuộc tính bất biến được dùng khi nhận dạng đối
tượng. Các đặc điểm này có thể được trích chọn nhờ toán tử gradient, toán tử la bàn, toán
tử Laplace, tốn tử “chéo khơng” (zero crossing) v.v..
Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối tượng ảnh
chính xác, với tốc độ tính tốn cao và dung lượng nhớ lưu trữ giảm xuống.
c. Nhận dạng
Nhận dạng tự động (automatic recognition), mô tả đối tượng, phân loại và phân nhóm
các mẫu là những vấn đề quan trọng trong thị giác máy, được ứng dụng trong nhiều
3


ngành khoa học khác nhau. Tuy nhiên, một câu hỏi đặt ra là: mẫu (pattern) là gì?

Watanabe, một trong những người đi đầu trong lĩnh vực này đã định nghĩa: “Ngược lại
với hỗn loạn (chaos), mẫu là một thực thể (entity), được xác định một cách ang áng
(vaguely defined) và có thể gán cho nó một tên gọi nào đó”. Ví dụ mẫu có thể là ảnh của
vân tay, ảnh của một vật nào đó được chụp, một chữ viết, khn mặt người hoặc một ký
đồ tín hiệu tiếng nói. Khi biết một mẫu nào đó, để nhận dạng hoặc phân loại mẫu đó có
thể:
Hoặc phân loại có mẫu (supervised classification), chẳng hạn phân tích phân biệt
(discriminant analyis), trong đó mẫu đầu vào được định danh như một thành phần của
một lớp đã xác định.
Hoặc phân loại khơng có mẫu (unsupervised classification hay clustering) trong đó
các mẫu được gán vào các lớp khác nhau dựa trên một tiêu chuẩn đồng dạng nào đó. Các
lớp này cho đến thời điểm phân loại vẫn chưa biết hay chưa được định danh.
Hệ thống nhận dạng tự động bao gồm ba khâu tương ứng với ba giai đoạn chủ yếu sau
đây:
 Thu nhận dữ liệu và tiền xử lý.
 Biểu diễn dữ liệu.
 Nhận dạng, ra quyết định.
Bốn cách tiếp cận khác nhau trong lý thuyết nhận dạng là:
 Đối sánh mẫu dựa trên các đặc trưng được trích chọn.
 Phân loại thống kê.
 Đối sánh cấu trúc.
 Phân loại dựa trên mạng nơ-ron nhân tạo.
Trong các ứng dụng rõ ràng là không thể chỉ dùng có một cách tiếp cận đơn lẻ để
phân loại “tối ưu” do vậy cần sử dụng cùng một lúc nhiều phương pháp và cách tiếp cận
khác nhau. Do vậy, các phương thức phân loại tổ hợp hay được sử dụng khi nhận dạng và
nay đã có những kết quả có triển vọng dựa trên thiết kế các hệ thống lai (hybrid system)
bao gồm nhiều mơ hình kết hợp.
Việc giải quyết bài toán nhận dạng trong những ứng dụng mới, nảy sinh trong cuộc
sống không chỉ tạo ra những thách thức về thuật giải, mà còn đặt ra những u cầu về tốc
độ tính tốn. Đặc điểm chung của tất cả những ứng dụng đó là những đặc điểm đặc trưng

cần thiết thường là nhiều, không thể do chuyên gia đề xuất, mà phải được trích chọn dựa
trên các thủ tục phân tích dữ liệu.
d. Nén ảnh
Nhằm giảm thiểu không gian lưu trữ. Thường được tiến hành theo cả hai cách khuynh
hướng là nén có bảo tồn và khơng bảo tồn thơng tin. Nén khơng bảo tồn thì thường có
khả năng nén cao hơn nhưng khả năng phục hồi thì kém hơn. Trên cơ sở hai khuynh
hướng, có 4 cách tiếp cận cơ bản trong nén ảnh:
4


 Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần xuất xuất hiện
của giá trị các điểm ảnh, trên cơ sở đó mà có chiến lược mã hóa thích hợp. Một
ví dụ điển hình cho kỹ thuật mã hóa này là *.TIF
 Nén ảnh khơng gian: Kỹ thuật này dựa vào vị trí khơng gian của các điểm ảnh để
tiến hành mã hóa. Kỹ thuật lợi dụng sự giống nhau của các điểm ảnh trong các
vùng gần nhau. Ví dụ cho kỹ thuật này là mã nén *.PCX
 Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng nén không
bảo toàn và do vậy, kỹ thuật thướng nến hiệu quả hơn. *.JPG chính là tiếp cận
theo kỹ thuật nén này.
 Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh, thể hiện sự lặp
lại của các chi tiết. Kỹ thuật nén sẽ tính tốn để chỉ cần lưu trữ phần gốc ảnh và
quy luật sinh ra ảnh theo nguyên lý Fractal
1.3.2.2. Các hình thái của ảnh
a. Chuyển ảnh màu thành ảnh xám
Đơn vị tế bào của ảnh số là pixel. Tùy theo mỗi định dạng là ảnh màu hay ảnh xám
mà từng pixel có thơng số khác nhau. Đối với ảnh màu từng pixel sẽ mang thông tin của
ba màu cơ bản tạo ra bản màu khả kiến là Đỏ (R), Xanh lá (G) và Xanh biển (B) [Thomas
1892]. Trong mỗi pixel của ảnh màu, ba màu cơ bản R, G và B được bố trí sát nhau và có
cường độ sáng khác nhau. Thơng thường, mỗi màu cơ bản được biểu diễn bằng tám bit
tương ứng 256 mức độ màu khác nhau. Như vậy mỗi pixel chúng ta sẽ có 28x3=224 màu

(khoảng 16.78 triệu màu). Đối với ảnh xám, thông thường mỗi pixel mang thông tin của
256 mức xám (tương ứng với tám bit) như vậy ảnh xám hồn tồn có thể tái hiện đầy đủ
cấu trúc của một ảnh màu tương ứng thông qua tám mặt phẳng bit theo độ xám.
b. Lược đồ xám của ảnh (Histogram).
Lược đồ xám của một ảnh số có các mức xám trong khoảng
rạc
ảnh và

. Trong đó nk là số pixel có mức xám thứ
. Do đó

là một hàm rời
,

là tổng số pixel trong

cho một xấp xỉ xác suất xảy ra mức xám

. Vẽ

hàm này với tất cả các giá trị của k sẽ biểu diễn khái quát sự xuất hiện các mức xám của
một ảnh. Chúng ta cũng có thể thề hiện lược đồ mức xám của ảnh thông qua tần suất xuất
hiện mỗi mức xám qua hệ tọa độ vng góc
. Trong đó, trục hồnh biểu diễn số mức
xám từ 0 đến N (số bit của ảnh xám). Trục tung biểu diễn số pixel của mỗi mức xám.
1.3.2.3. Một số ứng dụng trong xử lý ảnh
Xử lý ảnh có ứng dụng rất rộng và gần như tất cả các lĩnh vực kỹ thuật đều bị ảnh
hưởng bởi DIP, sau đây là một số các ứng dụng chính của DIP.Xử lý hình ảnh khơng chỉ
giới hạn ở chổ chỉ điều chỉnh độ phân giải hình ảnh, tăng độ sáng của hình ảnh vv Nó có
rất rất nhiều ứng dụng.

Các ứng dụng cơ bản:
- Khơi phục hình ảnh, chỉnh sửa, điều chỉnh độ phân giải.
5


- Trong lĩnh vực y tế
- Trong do thám, thám hiểm
- Truyền và mã hóa
- Thị giác máy tính, robot
- Xử lý màu
- Lĩnh vực nhận dạng
a,Xử lý và phục hồi hình ảnh
- Ứng dụng này tương tự như photoshop: từ một hình ảnh được chụp từ máy ảnh,ta
có thể chỉnh sửa, xử lý để làm ảnh đẹp hơn hoặc phù hợp nhu cầu người dung như: làm
mờ, lấy biên, chỉnh độ nét, chỉnh độ phân giải, phục hồi và nhận dạng ảnh….
Ví dụ phổ biến:
The zoomed image
Blurr image

Sharp image

Edges

6


b,Lĩnh vực y tế
- Các ứng dụng phổ biến của DIP trong lĩnh vực y tế là:
· Gamma ray imaging
· PET scan

· X Ray Imaging
· Medical CT
· UV imaging
c,UV imaging:
- Lĩnh vực này liên quan nhiều đến thám hiển, do thám. Cách hoạt động như sau: để phân
tích thiệt hại của một trận động đất mà con người không thể tới được. Mặt đất nơi đó sẽ
được quét bởi vệ tinh hoắc một máy bay sau đó truyền dữ liệu, hình ảnh về máy chủ để
phân tích. Sẽ rất nhanh chóng so với việc chờ đợi con người tới đó. Một trận động đất có
thể diện tích rất rộng mà con người khơng thể nào phân tích hết được.

7


d, Truyền và mã hóa:
- Lĩnh vực này khơng cần giải thích nhiều chắc các bạn cũng hiểu được. Mình sẽ cho một
ví dụ. Ngày nay con người sử dụng internet để truyền nhận các ảnh, video một cách
nhanh chóng. Hình ảnh khi ta chụp sẽ được mã hóa và truyền theo internet. Rất nhanh sau
vài giây là người bạn có thể nhận được một bức ảnh.

e,Thị giác máy tính và robot
- Hiện tại công nghệ robot đang phát triển nhanh chóng, và càng ngày càng giống con
người hơn. Thị giác của máy tính cũng là một phần quan trọng. Làm thế nào để robot có
thể nhìn mọi thứ, tránh vật cảng, nhận dạng các vật..? Đó chính là nhờ một hệ thống quá
trình xử lý ảnh phức tạp.
f,Phát hiện vật cản:
- Phát hiện vật cản cũng là một lĩnh vực mới và được thực hiện bởi xử lý ảnh: tính tốn
khoảng cách từ robot tới vật cản bằng cách xác định được các đối tượng khác nhau trong
hình ảnh sau đó xử lý và tính tốn chúng.
g, Cơng nghệ nhận dạng
- Xử lý ảnh dung để xác định, nhận dạng các đối tượng, các mối nguy hiểm, nhận dạng

vân tay, khuôn mặt, hoặc các loại bệnh trong lĩnh vự y tế.
8


1.4 . Hệ thống nhận diện ký tự viết tay.
Hệ thống nhận diện ký tự viết tay là một hệ thống nhận vào là một ảnh hoặc một đoạn
video (một chuỗi các ảnh). Qua xử lý tính tốn hệ thống xác định được vị trí ký tự (nếu
có) và xác định được đó là ký tự nào.
1.4.1 . Những khó khan của bài toán
1 Nét chữ:
Nét chữ của mỗi con người là khác nhau, chưa kể các biến đổi đa dạng trong cách viết
của từng người, tuỳ thời điểm, tâm trạng,v.v… mà nét chữ của mỗi người lại khác nhau
(chữ viết của 2 người tại 2 thời điểm khác nhau có thể khác nhau hồn tồn) vì vậy, với
dữ liệu thu thập được dù có phong phú đến mấy thì tỉ lệ nhận diện sai vẫn nghiễm nhiên
có khả năng xảy ra.
2 Góc chụp
Ảnh chụp văn bản thơng thường có thể thay đổi rất nhiều bởi vì góc chụp giữa camera
và mặt giấy. Chẳng hạn như chụp nghiêng qua trái, qua phải, lên trên hoặc xuống dưới
một góc làm chữ bị nghiêng, méo so với bình thường và chúng trở thành một khó khắn
lớn trong bài tốn nhận diện ký tự viết tay..
3 Sự xuất hiện của nhiễu
Các loại nhiễu như nhiễu muối tiêu, nhiễu vạch trước đây thường xuyên xảy ra do
chất lượng camera chụp ảnh không tốt
4 Sự che khuất bởi các vật thể khác
Sự che khuất của các vật thể như bút, tay, thẻ,v.v… có thể làm che khuất một phần
hoặc hoàn toàn ký tự cần nhận diện. Các hệ thống thơng minh có thể nhận diện dù ký tự
đã bị che khuất một phần. Tuy nhiên tỷ lệ phát hiện và nhận dạng đúng ở trường hợp này
còn tương đối thấp và vẫn còn là một thách thức với các nhà nghiên cứu.
5 Điều kiện chụp ảnh
Ảnh bị thiếu sáng hoặc quá sáng khi chụp làm ảnh hưởng rất lớn đến quá trình nhận

dạng khiến ký tự có thể khơng được phát hiện hoặc bị nhận diện nhầm thành một ký tự
khác.
6 Nền ảnh phức tạp
Các màu nền của chữ quá phức tạp, chứa quá nhiều chi tiết khác nhau có thể ảnh
hưởng trực tiếp đến q trình phát hiện ký tự. Đơi khi khung cảnh xung quanh có thể gây
nhầm lẫn với các ký tự.
7 Màu sắc chữ
Màu chữ quá nhạt hoặc quá gần màu với màu nền (ví dụ: nền màu đen và mực màu
xanh) có thể khiến hệ thống khơng nhận diện được chữ vì khác biệt giữa màu chữ và màu
nền là quá nhỏ.
1.4.2 . Các thành phần của hệ thống
Một hệ thống nhận diện ký tự viết tay nói chung cũng như một hệ nhận diện đối
tượng nói riêng về cơ bản thường bao gồm 3 bước: Tiền xử lý ảnh, phát hiện đối tượng,
9


nhận dạng đối tượng. Đơi khi ta có thể gộp bước tiền xử lý bên trong bước phát hiện đối
tượng.

Tiền xử lý

Phát hiện
đối tượng

Nhận dạng
đối tượng

Hình 1.3 Các thành phần của hệ thống nhận dạng
CHƯƠNG II. CƠ SƠ LÝ THUYẾT VÀ MƠ HÌNH NGHIÊN CỨU.
2.1 . Hệ thống phát hiện ký tự.

2.1.1 . Tiền xử lý
Hình ảnh tiền xử lý là hình ảnh chưa được chỉnh sửa ở bất kỳ phương diện nào. Ở
bước này hình ảnh sẽ được cải thiện về độ tương phản, khử nhiễu, khử bóng, khử độ
lệch,v.v… và với mục đính làm cho ảnh trở nên tốt hơn nữa và thường được thực hiện bởi
những bộ lọc. Có rát nhiều phương pháp để xử lý ảnh ở giai đoạn này được trình bày và
dưới đây em xin được trình bày một số phương pháp cụ thể của tiền xử lý ảnh. Đa phần
các phương pháp này được em áp dụng vào hệ thống nhận diện ký tự viết tay.
2.1.1.1 . Nhị phân hóa
Là q trình biến đổi 1 ảnh xám thành ảnh nhị phân.


Gọi giá trị cường độ sáng tại 1 điểm ảnh là I(x,y) .



INP(x,y) là cường độ sáng của điểm ảnh trên ảnh nhị phân .

(Với 0 < x < image.width) và (0 < y < image.height).
Để biến đổi ảnh xám thành ảnh nhị phân. So sánh giá trị cường độ sáng của điểm ảnh
với 1 ngưỡng nhị phân T.




Nếu I(x,y) > T thì INP(x, y) = 0 (0).



Nếu I(x,y) > T thì INP(x, y) = 255 (1).


Chú ý


Có thể chọn giá trị T từ 0 đến 255, nhưng thông thường nhiều người hay chọn
1 giá trị đó là 128 tức là giá trị trung bình của max(255) và min(0) của cường
độ sáng (Intensity) của điểm ảnh.

Dễ dàng nhận thấy với mỗi T thì có 1 ảnh nhị phân khác nhau (Khác nhau ở
đây là cường độ sáng của các tấm ảnh nhị phân với mỗi giá trị T).
Có 1 kỹ thuật gọi là nhị phân hóa ngưỡng động giúp thu được ảnh nhị phân mà không
quan tâm tới cường độ sáng.


10


Hình 2.1. Nhị phân hố ảnh
2.1.1.2 . Phân ngưỡng ảnh với thuật toán Otsu
2.1.1.2.1 . Khái niệm phân ngưỡng.
Nhằm mục đích nhị phân hố ảnh, phân ngưỡng là tách hình ảnh của một vùng ra
khỏi ảnh nền dựa trên một ngưỡng xác định.
2.1.1.2.2 . Lược đồ xám Histogram
Là một đồ thị dạng thanh biểu diễn tần suất xuất hiện các mức xám của ảnh. Trong đó
trục hồnh biểu diễn giá trị mức xám của ảnh có giá trị từ 0 đến 255, trục tung biểu diễn
tần suất xuất hiện mức xám của ảnh.
rk là mức xám của ảnh f(x,y)

nk là số điểm ảnh (pixels) có giá trị rk

Biểu đồ mức xám chưa chuẩn hóa (unnormalized histogram) của f được định


nghĩa như sau: h(rk) = nk với k = 0, 1,..., L-1,L là số mức xám.
Biểu đồ chuẩn hoá (normalized histogram):


với M, N là chiều dài và chiều rộng của f hay là của ảnh

11


Ta lần lượt có ảnh và histogram tương ứng với các ảnh drank, light, low-contrast
vàhighcontrast

Hình 2.2. Ảnh và Histogram tương ứng của ảnh
Ta có nhận xét
 Với ảnh dark thì histogram có các cột tập trung vào bên trái tương ứng với màu tối
 Với ảnh light thì histogram có tập trung vào bên phải chứa các pixel trắng
 Với ảnh độ tương phản thấp (low-contrast) thì histogram có các cột tập trung xít
nhau và ở giữa
 Với ảnh độ tương phản cao (high-contrast) thì histogram san đều với các giá trị
2.1.1.2.3 . Thuật toán Otsu
Otsu được lấy tên theo tên tác giả của phương pháp này Nobuyuki Otsu đã giới
thiệu về kĩ thuật này trong tập báo của IEEE Transactions on Systems, Man, and
Cybernetics - Hiệp hội hệ thống, con người và điều khiển mạng trang 6266 của IEEE (Institute of Electrical and Electronics Engineers - Viện kỹ sư Điện và Điện
Tử)
 Đầu tiên sử dụng lược đồ Histogram biểu diễn tần suất xuất hiện mức xám:

(1.1 )
trong đó:


là số lượng điểm ảnh . L: 1,2,3,…256.;

 Chọn một ngưỡng

= ,

(tập hợp các điểm ảnh có giá trị

để phân ảnh đầu vào thành 2 lớp
) và

(tập hợp các điểm ảnh có giá trị lớn
12


hơn ). Tỉ lệ lớp
hiệu

với số lượng điểm ảnh k với tổng số lượng điểm ảnh được ký

, tương tự

ký hiệu là

Sau đó ta tính giá trị trung bình

của lớp

.


:

Theo Otsu, ta sẽ tính ngưỡng k* mà giá trị tại đó sự chênh lệch giữa hai đoạn (màu nền
và màu ký tự) đạt giá trị cực đại, ký hiệu

Trong đó

là phương sai hai lớp



, được tính:

. Ta có:

Từ cơng thức trên suy ra:

Trong đó:

là giá trị trung bình của ảnh.
hoặc
là giá trị trung bình đến ngưỡng k. Với
13


 Nếu có nhiều giá trị

lớn nhất bằng nhau, ta sẽ chọn k có giá trị lớn nhất làm

ngưỡng k*, sau đó ta thực hiện nhị phân biển số theo ngưỡng.


Trong đó:

là ảnh đầu ra.
là ảnh đầu vào
.
.

Như vậy mục đích cuối cùng của giải thuật là phân ngưỡng một cách thích hợp để sao
cho sau khi phân ngưỡng, các vật thể không phù hợp bị loại bỏ, tránh sai sót cho q
trình nhận dạng.
2.1.1.3 . Lọc ảnh
Lọc ảnh (làm mịn ảnh, làm mượt ảnh) là một bước rất quan trọng trong xử lý ảnh. Lọc
ảnh thực tế có rất nhiều tác dụng như loại bỏ nhiễu, tìm biên đối tượng. Dưới đây em xin
trình bày một vài phương pháp lọc phổ biến. Trong phạm vi nghiên cứu của đồ án
phương pháp được lựa chọn
Nguyên tắc chung của các phương pháp lọc là cho ma trận ảnh nhân với một ma trận
lọc (Kernel). Ma trận lọc lọc (Kernel) cịn có thể được gọi là cửa số chập (trong phép
nhân chập), cửa sổ lọc, mặt nạ,… Trong bài viết này tôi sử dụng thuật ngữ ma trận lọc
(Kernel).

14


Hình 2.3. Minh hoạ việc lọc ảnh
Việc nhân ảnh với ma trận lọc giống như việc trượt ma trận lọc theo hàng trên ảnh và
nhân với từng vùng của ảnh, cộng các kết quả lại tạo thành kết quả của điểm ảnh trung
tâm. Dưới đây là minh hoạ cho việc nhân ma trận lọc với ảnh đầu vào.

Hình 2.4.Minh hoạ kết quả của việc nhân ma trận


Ma trận đầu vào I được nhân với ma trận lọc (phần xám ở hình trái) để tạo thành ma
trận đầu ra O.
Trên thực tế, chúng ta sẽ thấy có 2 phép lọc ảnh là tương quan (correlation) và tích
chập (convolution). Với phép tương quan, ma trận lọc sẽ đượt trượt đi và nhân với từng
15


vùng của ảnh như trên. Tuy nhiên với phép tích chập, ma trận lọc sẽ được xoay 180 độ
(theo cả chiều ngang và dọc) trước khi thực hiện nhân. 2 phép toán này là tương đương
khi ma trận lọc đối xứng.
Với mỗi phép lọc ta có những ma trận lọc (Kernel) khác nhau, khơng có một quy định
cụ thể nào cho việc xác định M. Kích thước ma trận M là một số lẻ. Ví dụ: 3x3, 5x5.
Khi nhân các phần tử tương ứng với nhau (giữa pixel, các điểm lân cận – các thành
phần trong kernel), đối với các phần tử ở cạnh thì sẽ có một số pixel bị khuyết, lúc này,
có nhiều cách giải quyết như bỏ qua, chèn thêm một (một số) hàng, cột mang giá trị 0
hoặc bằng giá trị gần nhất, hoặc tạo một đối xứng gương ở cạnh ảnh.
Tổng Tpt các phẩn tử trong ma trận M thường là 1.
: Ảnh sau khi thực hiện xong phép lọc số ảnh (
ảnh ban đầu (Isrc); **

) có độ sáng lớn hơn so với

: **Ảnh sau khi thực hiện xong phép lọc số ảnh

độ sáng nhỏ hơn so với ảnh ban đầu



.


a. Lọc trung bình(Normalized Box Filter)
Định nghĩa :
Cho dãy x1, x2…, xn khi đó trung bình của dãy ký hiệu AV({x n}) được định nghĩa:

Giả sử ta có ảnh I, điểm ảnh P, cửa sổ W(P) và ngưỡng θ. Khi đó kỹ thuật lọc trung
bình phụ thuộc khơng gian bao gồm các bước cơ bản sau:
+ Bước 1: Tìm trung bình
{I(q)| q ∈ W(P)} → AV(P)
+ Bước 2: Gán giá trị

b. Lọc trung vị
Định nghĩa :
Cho dãy x1; x2...; xn đơn điệu tăng (giảm). Khi đó trung vị của dãy ký hiệu là
Med({xn}), được định nghĩa:
+ Nếu n lẻ: x[n/2 +1]
+ Nếu n chẵn: x[n/2] hoặc x[n/2 + 1]
Kỹ thuật lọc trung vị :
Giả sử ta có ảnh I ngưìng θ cửa sổ W(P) và điểm ảnh P Khi đó kỹ thuật lọc trung vị
phụ thuộc không gian bao gồm các bước cơ bản sau:
+ Bước 1: Tìm trung vị
{I(q)| q ∈ W(P)} → Med (P)
16


+ Bước 2: Gán giá trị

c. Lọc Gauss
Bộ lọc Gauss được cho là bộ lọc hữu ích nhất, được thực hiện bằng cách nhân chập
ảnh đầu vào với một ma trận lọc Gauss sau đó cộng chúng lại để tạo thành ảnh đầu ra.

Ý tưởng chung là giá trị mỗi điểm ảnh sẽ phụ thuộc nhiều vào các điểm ảnh ở gần hơn
là các điểm ảnh ở xa. Trọng số của sự phụ thuộc được lấy theo hàm Gauss (cũng được sử
dụng trong quy luật phân phối chuẩn).
Dưới đây là biểu diễn đồ thị của phép lọc Gauss:

Hình 2.5. Minh hoạ phép lọc Gauss
Giả sử ảnh là một chiều. Điểm ảnh ở trung tâm sẽ có trọng số lớn nhất. Các điểm ảnh ở
càng xa trung tâm sẽ có trọng số giảm dần khi khoảng cách từ chúng tới điểm trung tâm
tăng lên. Như vậy điểm càng gần trung tâm sẽ càng đóng góp nhiều hơn vào giá trị điểm
trung tâm.
Chú ý: Trên thực tế, việc lọc ảnh dựa trên hàm Gauss 2 chiều (ngang và dọc). Phân
phối chuẩn 2 chiều có thể biểu diễn dưới dạng:

Trong đó

là trung bình (đỉnh),

là phương sai của biến số

và .

Tham số

quyết định tác dụng của bộ lọc Gauss lên ảnh. Độ lớn của ma trận lọc

(kernel) cần được lựa chọn cho đủ rộng.
2.1.1.4 . Làm trơn biên chữ
17



Đôi khi do chất lượng quét quá xấu, các đường bê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

Hình 2.6. (a) Ảnh gốc, (b) Ảnh sau khi được làm trơn biên.
2.1.1.5 . 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 bên ngồi của các nét. Tuy nhiên, trong q trình làm mảnh chữ rất nhạy
cảm với việc khử nhiễu. Nếu khử nhiễu ngay sau khi co ảnh. Thuật tốn có thể hiểu nhầm
ký tự là nhiễu vì chúng đã bị co lại rất mỏng ta cũng có thể làm mảnh chữ nhằm loại bỏ
các nhiễu vạch. Do khi co vật thể lại thì các nhiễu vạch và nhiễu đốm sẽ biến mất

Hình 2.7. Làm mảnh chữ
2.1.1.6 . Làm đầy chữ
Ngược lại với q trình làm mảnh chữ ta có q trình làm đầy chữ thực chất là phép
dãn vật thể. Sau khi làm mảnh chữ để loại bỏ các nhiễu vạch, các nét chữ đầu ra hồn
tồn có thể bị đứt nét hoặc vốn dĩ nó đã bị đứt tự nhiên khi người dùng nó. Ta nên sử
dụng các thuật toán dãn vật thể để làm đầy chữ. Giúp ký tự đầu ra được liền nét và tránh
sai sót khi nhận dạng.
2.1.2 . Phát hiện ký tự
Bài toán phát hiện ký tự khá giống với bài toán phát hiện đối tượng trong ảnh. Đối
với bài toán phát hiện đối tượng trong ảnh có nhiều phương pháp phát hiện vật thể có thể
kể đến như: Sử dụng các mạng CNN đề xuất khu vực (RPN – Region Proposal Network)
như R-CNN(Region with CNN feature), Fast R-CNN, Faster R-CNN, Sử dụng máy dò đa
điểm (SSD – Single Shot MultiBox Detector), Yolo,v.v… đặc điểm chung của các
18


phương pháp trên là sử dụng mạng nơron trong việc phát hiện đối tượng. Tuy nhiên các
mạng này tương đối phức tạp và làm tăng đáng kể chi phí tính toán, đối với bài toán nhận

diện ký tự viết tay các ký tự được ghi trên giấy tách biệt hoàn tồn với nền nên ta khơng
nhất thiết phải sử dụng mạng nơron trong quá trình phát hiện ký tự. Ở đây em xin đề xuất
một vài phương pháp phát hiện đối tượng thông thường cho hiệu quả cao và tốc độ tính
tốn nhanh có thể kể đến như: Phương pháp Canny, phương pháp Gradient, kỹ thuật
Prewitt, kỹ thuật Sobel, kỹ thuật la bàn, kỹ thuật Laplace,v.v… Tuy nhiên trong giới hạn
phạm vi đồ án em xin sử dụng phương pháp phát hiện biên Canny. Một số hàm tìm biên
vật thể trong các thư viện học máy có sử dụng phương pháp này và cách cài đặt khá đơn
giản. ví dụ: hàm findContours trong thư viện OpenCV.
Phương pháp phát hiện ký tự ở đây dựa trên cấu trúc liên kết (Cấu trúc topo Topology) của ảnh. Để phát hiện bằng phương pháp này trước hết ảnh cần phải được
chuyển sang đa mức xám hoặc chuyển về ảnh nhị phân. Giả sử các thao tác tiền xử lý kể
trên đã giải quyết được hết các nhiễu và cho ta một ảnh đầu ra là ảnh nhị phân chỉ chứa
các ký tự. Ta có thể sử dụng phương pháp phân tích dựa trên cấu trúc liên kết giữa các
pixel ảnh để phát hiện toạ độ và kích thước của từng ký tự. Tổng quan thuật toán phát
hiện biên của ký tự như sau:

Ảnh đầu vào(Đã qua
tiền xử lý)

Phát hiện biên
Canny

Phát hiện vị
trí, kích thước

Hình 2.8. Phát hiện ký tự trong ảnh
Ngồi phát hiện biên bằng phương pháp Canny chúng ta có khá nhiều phương pháp
phát hiện biên khác có thể kể đến như: Phương pháp Gradient, kỹ thuật Prewitt, kỹ thuật
Sobel, kỹ thuật la bàn, kỹ thuật Laplace,v.v… Tuy nhiên trong giới hạn phạm vi đồ án em
xin sử dụng phương pháp phát hiện biên Canny. Một số hàm tìm biên vật thể trong các
thư viện học máy có sử dụng phương pháp này ví dụ: hàm findContours trong thư viện

OpenCV.
2.1.2.1 . Phát hiện biên canny
Trong hình ảnh, thường tồn tại các thành phần như: vùng trơn, góc / cạnh và nhiễu.
Cạnh trong ảnh mang đặc trưng quan trọng, thường là thuộc đối tượng trong ảnh (object).
Do đó, để phát hiện cạnh trong ảnh, giải thuật Canny là một trong những giải thuật phổ
biến / nổi tiếng nhất trong Xử lý ảnh.
Giải thuật phát hiện cạnh Canny gồm 4 bước chính sau:
 Giảm nhiễu : Làm mờ ảnh, giảm nhiễu dùng bộ lọc Gaussian kích thước 5x5. Kích
thước 5x5 thường hoạt động tốt cho giải thuật Canny. Dĩ nhiên bạn cũng có thể thay
đổi kích thước của bộ lọc làm mờ cho phù hợp. Tham khảo bài viết: Xử lý ảnh - Làm
19


×