N h ư đã đề cập ở ch ư ơ n g I, bản chất củ a việc p h â n v ù n g ảnh là p h â n loại được các vùng thông tin trên ảnh, chẳng hạn như: V ù n g c h ữ ở p h ầ n tiêu đề, v ù n g chữ ở phần nội dung, v ù n g bảng, vùng công thức, v ù n g ảnh, v.v. Q u á trình p h â n v ù n g ảnh đối
Nguyễn Thị Thanh Tản Trang - 75 - Luận vãn thạc sĩ
với chữ viết tay thường phức tạp hơn nhiều so với in bởi lẽ chữ viết tay là chữ viết tự do nên k h o ả n g cách giữa các dòng, các từ cũng nh ư giữa các kí tự thư ờ ng là k h ô n g cố định thậm chí nhiều khi không thể xác định được (trường hợp các dòng, các từ hay kí tự bị dính nhau hoặc lồng nhau). Tuy nhiên, do giới hạn về mặt thời gian nên luận văn này không kỳ vọng là giải quyết được mọi vấn đề khó đối với chữ viết tay. M ụ c tiêu của chúng tôi đặt ra ở đây là xây dựng được m ộ t bộ nhận dạng từ có khả n ă n g giải quyết tốt vấn đề dính kí tự trong m ột từ. v ấ n đề dính dòng và dính từ không phải là trọng tâm giải quyết của luận văn, ở đây, ch ún g tôi giả thiết việc tách từ v à tách dòng trên các văn bản đầu vào là khả thi nói cách khác giữa các dòns, và giữa các từ phải có m ột khoảng cách nhất định, không được dính nhau hay lông nhau. N go ài ra, để đơn giản bớt quá trình phân vùng ảnh, c h ú n g tôi chỉ xem xét những văn bản có cấu trúc đơn giản - trên văn bản chỉ chứa v ù n g chữ. Khi đó toàn bộ v ăn bản có thể coi là m ột khối đồng nhất và công việc p h â n đoạn ảnh tập trung chủ y ế u ở ph ầ n tách dòng và tách từ.
3.3.1 Tách dòng văn bản
V ói giới hạ n bài toán đặt ra ờ trên, quá trình tách dòng sẽ được thực hiện d ựa trên biểu đồ tần suất th e o chiều ngang của khối chữ (thể hiện trên H ình 3.7).
/Ị ểũrỹv p o r t oịj deve>ểữj>íxỷ and r&ệỉỉịÌKỷ
---—-— -«---
<füar inCerệũtỡà ữ(ựùỳKỈiỈKỷ
«i ■■ ---
ớụ&aùt ổr k/ittẩôtug re^ỡarứùxf, de&eểớỊ)/K&{t ẾAv-irom&tá prỡừ-kiùỉ a r&Á ổ&t ớ ị r&souro&s ĩế
óo êxkũj(ô& thà ỈKỈÙkể, t hdó
4Ệ---—--——--—-- —
A ^ k ỉà ã rẨ ữràdừ'# ậ or iýổtL adẨỈKỷ
* /• J > ì
o-ổTỉ&ư w brfyeolf a/ra
Hình 3.7: Tách dòng chữ dựa trên histogram theo chiều ngang của khối chữ
Nguyền T hị Thanh Tản Trang - 76 - Luận văn thạc sĩ
Đ ầu vào của thuật toán là toạ độ của các khối chữ đã được xác định từ bước phân v ủ n e ảnh. Các bước của thuật toán tách dòng được thể hiện chi tiết trên H ình 3.8
Toạ độ của khối chữ (left, top, right, bottom) 1
1r
Xác định biểu đồ tần suất theo chiều ngang cùa khối .1.
\ r
Xác định vị trí tâm của dòng chữ
Hình 3.8: Sơ đồ thuật toán tách dòng văn bản
B ư ớ c đầ u tiên, thuật toán sẽ xác định biểu đồ tần suất theo chiều n g a n g (horizontal histo gram ) của khối chữ. B ước tiếp theo là xác định vị trí tâm c ủ a d òn g chữ dựa
Nguyễn Thị Thanh Tân Trang - 77 - Luận văn thạc sĩ
trên biểu đồ tần suất ngang của khối chữ, tâm của d ò n g ch ữ đầu tiên đ ư ợ c đ ư ợ c lấy mặc định tại đỉnh của khối chữ. T iếp theo, xuất phát từ vị trí tâm của d ò n g c h ữ vừa tìm được, ta x ác đường giới hạn ph ía trên v à đ ư ờ n g giới hạn p h ía dướ i của dòng chữ, để xác định đường giới hạn trên của d ò n g chữ, trước h ế t ta xác vị trí c ủ a v ù n g th u n s lũng p h ía trên (vùng m à tại đó h ư ớ n g đi của histo g ra m có sự đổi chiều) gần nhất với tâm đang xét (giả sử ta gọi vị trí này là x), sau đó ta tiến h à n h tìm k iế m dải trắng dài nhất trong v ùn g [x - độ rộ ng dải tìm kiếm , X + độ rộ n g dải tìm k iếm ], dải trắng dài nhất này chính là đ ư ờ n g giới hạn p h ía trên c ủa d ò n g chữ. V ớ i các h làm tương tự, ta c ũ n g xác định được đ ư ờ n g giới h ạn p h ía trên của d ò n g chữ. C ăn c ứ trên hai đường phân cách vừa tìm đượ c, ta sẽ x ác định đượ c biên c ủa d ò n g chữ. Cuối cùng, ta tiến hành tách dòng chữ theo vị trí biên v ừ a tìm được.
3.3.2 Tách từ
Trong qui trình nhận dạng chữ in, sau b ư ớ c tách d ò n g là b ư ớ c tách v à n h ậ n d ạ n g kí tự. Song, đối với chữ viết tay việc tách v à n h ậ n dạn g từ ng kí tự th ư ờ n g ch o k ế t quả không cao bởi lẽ chúng ta th ư ờ n g k h ô n g thể xác định đư ợ c c h ín h x ác đ ư ờ n g giới hạn giữa các kí tự, đối với hầu hết n gườ i viết, các kí tự trên m ộ t d ò n g th ư ờ n g bị dính nhau thậm chí lồng nhau. Giải pháp c h ú n g tôi đưa ra ở đây là x ử lý toàn bộ từ thay vì x ử lý riêng rẽ từng kí tự. Đ ể tách từ, p h ư ơ n g ph áp thích h ợ p đ ư ợ c sử dụ ng ở đây là tách theo m iền liên thông kết hợp với tiêu chuẩn đối sánh k h o ả n g cách giữa các kí tự.
T huật toán tách từ được m ô tả chi tiết trên Hình 3.9, b ao g ồ m hai c ô n g đ o ạ n chính:
• X ác định các vùng liên thông
• Đối sánh k h o ả n g cách giữa hai v ù n g liên th ô n g kề nhau: n ế u k h o ả n g các h nhỏ hơn n g ư ỡ n g 0 thì vùng liên th ôn g hiện tại sẽ đ ư ợ c ghép với v ù n g liên th ô n g phía trước đó, trư ờ n g hợp ngược lại, ta tiến h à n h tách v ù n g liên th ô n g p h ía trư ớc khỏi vùng đang xét và cập nhật v ù n g liên th ô n g hiện tại và o v ù n g đ a n g xét.
Nguyễn T hị Thanh Tân Trang - 78 - Luận văn thạc sĩ
( ^ ^ B ẩ t đầu
Tọa độ dòng văn bản (left, top, right, bottom)
Xác định vị trí hiện tại --- ► --- ^ p -— _ Vị trí < right --- ► T _________________ ị___________________________
Xác định vùng liên thông từ vị trí hiện tại
Xác định hoảng cách từ vùng liên thông hiện tại tới vùng liên thông liền trước nó
vào vùng liên g trước đó
F
Tách vùng liên thông phía trước đó và lưu lại vùng hiện tại
4---
H ình 3.9: Sơ đồ th u ậ t toán tách từ trê n m ột dòng văn bản
K h o ả n g các h g iữ a hai vùng liên th ô n g đ ư ợ c tính b à n g k h o ả n g cách g iữ a hai hình c h ữ nhật b a o của hai vùng liên th ô n g đó. V ới giả thiết c h ữ v iế t trên văn bản kh ông quá ng hiên g, hình chữ nhật bao c ủ a m ộ t v ù n g ảnh ( v ù n g liên thông) được xác định dựa trên biểu đồ tần suất theo c h iều đọc c ủ a k hối c h ữ (thể hiện trên Hình 3.10).
Nguyễn T hị Thanh Tân Trang - 79 - Luận văn thạc sĩ
Khoảng cách giữa hai kí tự
Khoảng cách giữa hai từ
Hình 3.10:Xác định khoảng cách giữa hai kí tự và giữa hai từ dựa trên histogram
D o ch ữ viết tay th ư ờ n g viết tự do k h ô n g có kích th ư ớ c cố định n ê n việ c lựa chọn n g ư ỡ n g đối sánh 0 thường m a n g tính kinh n gh iệm . Ở đây c h ú n g tôi lựa chọn
2
0 - — kích thước tru n g bình của m ột k í tự.
3.4 Quá trình nhận dạng
Sau khi ảnh của các từ đã được tách ra khỏi ản h v ă n bản đầu vào, c h ú n g sẽ đ ư ợ c gửi đến bộ n h ậ n dạng từ. Q uá trình nh ận d ạ n g cụ thể đã đ ư ợ c trình bà y ở p h ầ n 2.3. Sau khi quá trình nhận dạng kết thúc, toàn bộ dữ liệu đã n h ậ n d ạ n g sẽ đ ư ợ c c h u y ể n đến quá trình hậu x ử lý.
3.5 Quá trinh hậu xử lý
D o h ạ n chế về m ặ t thòi gian nên c h ú n g tôi c h ư a tập tru n g đ ư ợ c n h iề u v à o giai đoạn hậu x ử lý. N g o à i ra, do hệ thống chỉ làm việc với các file vă n b ả n có cấu trúc k h ô n g ph ứ c tạp n ê n việc tái tạo lại văn b ản đầu v à o là tư ơ n g đối đơn giản, ở đây, c h ú n g
Nguyễn Thị Thanh Tân Trang - 80 - Luận văn thạc sĩ
tôi chỉ cài đặt m ột số chức năng cơ bản như: ghép từ , ghép dòng và lưu file kết quả dưới dạng file rich text format (.RTF).
3.6 Kết luận
T ron g c h ư ơ n g này, luận văn đã thể hiện các bước cần thực hiện của hệ thố ng nhận dạng chữ viết tay hạn chế một cách tươ ng đối cụ thể. Q uá trình th ực hiện của hệ thống được chia thành ba giai đoạn: giai đoạn tiền nhận dạng, giai đoạn nhận dạng và giai đoạn hậu nhận dạng.
N ội dung c ủa chư ơ ng tập trung chủ yếu vào việc mô tả và thể hiện các chức năng của giai đoạn tiền nhận dạng. Giai đoạn nhận dạn g đã đượ c thể hiện rất chi tiết ở ch ư ơn g 2 nên k hông được nhắc lại ờ ch ư ơ n g này. C ác chức n ă n g xử lý Giai đoạn hậu nhận d ạ n g mới chỉ được cài đặt ở m ức đơn giản nên chúng tôi cũn g k h ô n g đượ c đề cập nhiều ở đây.
Nguyễn Thị Thanh Tàn Trano - 8 1 - Luận văn thạc sĩ
CHƯƠNG 4 - THỬ NGHIỆM HỆ THỐNG NHẬN DẠNG CHỮ VIẾT TAY HẠN CHẾ
T ron g c h ư ơ n g này, luận văn sẽ mô tả m ột cách chi tiết quá trình thử ngh iệm cũ ng nh ư các kết quả thử nghiệm hệ thống với các tập dữ liệu khác nhau
4.1 Môi trường thử nghiệm
C h ư ơ n g trinh được cài đặt trên ngôn n gữ Visual c + + 6.0, sử dụng thư viện C x lm a g e cho việc hiển thị và thao tác trên ảnh. C hư ơ ng trình đư ợ c th ử ngh iệm trên hệ điều hành W in d o w XP, m áy tính PC tốc độ 1,5GHz, bộ nhớ 25 6 M B R A M .
4.2 Dữ liệu và kết quả thử nghiệm
ở đây, chú ng tôi đã tiến hành hai kiểu thử nghiệm : N h ậ n dạng các kí tự (chữ số và chữ cái tiếng A nh) rời rạc và nhận dạng từ nguyên. Bộ dữ liệu th ử ng h iệm đ ư ợ c chia thành ba loại:
• D ữ liệu ch ữ số viết tay
• D ữ liệu ch ữ cái tiếng A n h viết tay (chữ thường)
• D ữ liệu từ viết tay
4.2.1 Thử nghiệm nhận dạng chữ số viết tay
Q uá trình thử nghiệm nhận dạng chữ sổ viết tay được tiến hành trên bộ m ẫu c h ữ số viết tay N I S T của V iện C ôn g nghệ v à T iêu chuẩn Q u ốc gia H o a K ỳ (N ational Institute o f Standard and T ech nolog y o f the U n ited States) bao gồm 60.000 m ẫ u học và 10000 m ẫ u thử.
So sánh với m ạ n g m ạng truyền thẳng 3 lớp (huấn luyện bằng thuật toán lan truyền n gư ợ c sai số), có thể rút ra m ột số nhận xét sau:
Nguyễn Thị Thanh Tân Trang - 82 - Luận văn thạc sĩ
C á c th ô n g số M ạ n g lan truyên n g ư ọ c 3 lóp
M ạ n g lan truyên n g ư ọ c
4 IÓ'P cải tiến
Sai số m ạ n g 0.1% 0.1%
Sô m â u học 60000 60000
Thời gian học >30 giờ < 24 giờ
T ỷ lệ nh ận dạng lại các m ẫu đã học
99.97% (18 m âu nhận dạng sai/ 60000 mẫu)
99.97%
(18 m ẫu sai / óOOOOmẫu)
Sô m âu nhận dạng 10000 10000 Thời gian nhận dạng ~ 2 phút ~ 3 p hú t Tỷ lệ nhận dạng đ ún g 82.2% (8220 mẫu nhận dạng đúng / tổng số 1900 mẫu) 95.4% (9544 m ẫu nhận dạng đúng / tổng số 10000 m ẫu thử)
Bảng 3-2: Kết quả thử nghiệm mạng trên tập dữ liệu chữ số viết tay MNIST
K êt quả th ử n g h iệ m với từng chữ sô được thê hiện trên Bảng 3-3
C h ữ số Số mẫu Sô m âu nhận
dạng đúng Đ ộ chính xác (%) 0 980 935 9 5.4% 1 1135 1098 9 6.7% 2 1032 983 9 5.3% 3 1010 955 9 4.6% 4 982 935 9 5.2% 5 892 863 96.8% 6 958 915 95.5% 7 1028 956 93.0% 8 974 937 96.2% 9 1009 967 95.8%
Bảng 3-3: Kết quả nhận dạng từng chữ số trong tập dữ liệu MNIST
Nguyễn Thị Thanh Tân Trang - 83 - Luận văn thạc sĩ