Song đối với một khéi lượng tải liệu khẳng lễ ví dụ như cả kho sách, đây là một vấn để nan giải, mặc dù với việc đánh máy độ chính xác rất cao nhưng lại tốn quá nhiều thời gian, trong k
Trang 1DẠI HỌC QUỐC GIÁ HÀ NỘI
TRUONG DAL HQC CONG NGHE
PHAM PHI HIỆU
XÂY DUNG HE THONG NHAN DANG VA DICH
TREN THIET BI DIDONG
LUẬN VĂN THẠC SŸ
THả Nội - 2011
Trang 2PHAM PHI HIỆU
XÂY DUNG HE THONG NHAN DANG VA DICH
TREN THIET BI DIDONG
Ngành: Công nghệ thông tin
Trang 31
MỤC LỤC DANH MỤC HIND VE
1.1 Một số khải niệm cơ bản
12 Các bước cơ bản trong một hệ thông OCR
CHƯƠNG 2 — CÁC CÔNG NGHỆ SỬ DỤNG TRONG HỆ THÔNG
2.1 Công nghệ Tesseract OCR
2.11 Gidi thiguvé Tesseract OCR
2.1.2 Tesscract làm việc như thế nào”
23.1 Giới thiệu về mô hình chent/server
23.2 Cac kidn tric client/server
23.21 Client/Server hai (Ang
23.2.2 Ctient/server ba tang
2.3.2.3 Client/server n-ting
2.4 Công nghé dich thugt Google ‘Transiate
24.1 Xirlyngdn nett te abién
2.4.3 Dịch vụ dịch thuật trực tuyến Google Translate CHUONG 3 —HE THONG NHAN DANG VA DICH TREN THIET BIDI DONG 42
3.2 (ng dung › trên client - 48
3.3.3 Chức năng hậu xử lý kết quả OCR
343.4 Chức năng sứalỗi chính ta ty dong
3.3.41, Ham dinh gif minimum edit distance (MED) -
3.3.4.2 Tim đánh giá maxinưmn số cặp kỷ lự giống nhau 33
CHƯƠNG 4— THỰC NGHIỆM VÀ ĐÁNH GIÁ .à so 55
Trang 5DANH MUC HiNH VE
Hình 1.1: Ung dung OCR
Hình 1.2: Các đường cơ bản trong dòng text
Hình 1.3: Thành phần liên thông 4 va 8
Hình 1.4: Quy trình cơ ban trong mt hé thing OCR
Tinh 1.5 Mé tả lược để mức xám
Hình 1.6 Phân ngưỡng trên lược đồ mức xám
Hình 1.7 Kết quả chọn ngưỡng xám theo phương pháp Otsu
Tinh 1.8 Ảnh văn bản trước và sau khi chỉnh nghiêng
Hình 1.9 Ảnh văn bản trước và sau khi chỉnh hướng đúng
Hình 1.10 Các vùng nhiễu trên ảnh văn ban
Hình 1.11 b-Cầu trúc vật lý; e,d-Cấu trúc lôgic
Hình 2.1 Kiến trúc Tesseract He
Tình 2.2 Ảnh trước và sau phân tích bố cục
Hinh 2.3 Fitting cap line, mean line, baseline, descent line
Ilinh 2.4 Vi dy bé fixed pitch thanh cac ky tự
Hình 2.5 Sự khác nhau trong khoảng các từ
Hình 2.6 Các thành viên của "Liên mình di động mở"
Hình 2.7 Kiến trúc Android OS
Hình 2.8 Mê hình chentserver
Tình 2.9 Mồ hình kiến trúc client/server 2 tầng
Hình 2.10 Mê hình kiến trúc client/server 3 tầng
Hình 2.11 Dịch vụ dịch thuật online Google translate
Tlinh 2.12 Các ngôn ngữ Google Translate hỗ trợ dich
Hình 3.1 Sơ đồ hệ thắng nhận dang và dịch trên thiết bị di động,
Tình 3.2 Giao điện chính chương trinh client
Trang 6
Hình 3.5 Ảnh chụp ở chế độ chụp “block mode”
Hình 3.6 Chương trình đang chờ xử lý
Hình 3.7 Giao điện thiếp lập tùy chọn
Hình 3.8 Giao điện tab OCR Result
Tình 3.9 Giao điện tạo liễn hệ mới
Hình 3.10 Giao diện gửi SMB
Ilinh 3.11 Giao điện tim kiếm và hiển thị thông tin
Hình 3.12 Ảnh có bố cục và phân bố mẫu sắc nhức Lạp
Hình 3.13 Ảnh gốc sau khi nhị phân hóa và làm sạch
Hình 3.14 Các ảnh con cắt ra từ ảnh gốc
Hình 3.15 Kết quả OCR trên ảnh gốc
Hình 3 l6 Kết qua OCR trên các ảnh con
Hình 3.17 Định nghĩa hàm OerEromirnapc()
Hình 4.1 Kết quả thực nghiệm OCR với Tesseract engine
Tình 4.2 Kết quả thực nghiệm OCR trên 4 hệ thống khác nhau
Trang 7+khếi đữ liệu lớn, ít bị hư hồng, đễ quản lí, dễ tìm kiếm, đễ chỉnh sửa Tuy nhiên
sẽ được sử dụng để lưu trữ tài
m thiết của nó trong cuộc sống hàng ngảy (ví dụ sách, báo ) MôL
giấy vẫn là một vật liệu quan trọng đã, dang va
liệu vì sự
nhu cầu tất yếu, con người muốn đưa cáo tài liệu đang lưu trữ trên giấy (cũng
như trên một số vật liệu khác) lên máy tỉnh để cỏ thể làm việc với chang mat
hiệu quả hơn Miệt cách thông thường, con người sẽ đánh máy trực tiếp các tài
liêu đó lên máy tính Dỗi với một số lương nhỏ tài liệu, việc này hoản toàn bình
thường Song đối với một khéi lượng tải liệu khẳng lễ (ví dụ như cả kho sách),
đây là một vấn để nan giải, mặc dù với việc đánh máy độ chính xác rất cao
nhưng lại tốn quá nhiều thời gian, trong khi với các công nghệ hiện có cho phép
1a giải quyết vấn đề này: chụp ảnh tài liệu và nhận dang ky ty trong ảnh
Nhận dạng ký tự quang học (ếng Anh: Opttoal Charaoler Recognuion,
viết tất là OCR)|20| lả quá trình rút trích kỷ tự trong ảnh cho ra dưới đạng văn ban dễ có thể lưu trữ, chỉnh sửa và tìm kiếm được lĩnh vực OCR lả một nhảnh trong ngành khoa học xử lý ảnh, tuy cỏn mới mé so với nhiều lĩnh vực khoa hợc
khác nhưng nhanh chóng đã đạt được nhiễu bước tiển quan trong, Xuất phát từ nhu cầu thực tế là đưa các tải liệu lưu trữ trên giấy vào máy tính mà không phải
đánh máy, nhiều công nghệ OCR ra đời (phát hành đưới dạng sản phẩm thương mại, miễn phí hoặc nguồn mở) đã và đang ứng dụng rộng rãi trong các lĩnh vực
liền quan đến việc nhận đạng Với sự đầu tư mạnh mế và nghiên cửu liên tục của
các cá nhân tổ chức, kết quả nhận dạng trong lĩnh vực OCR ngày càng được oẫi
thiện, đặc biệt sự nhận dạng ký tự Latinh đánh máy có thể tiến tới Li lệ chính xác
100%, Ngoài công nghệ nhận dạng ký lự quang học OCR thì hiện nay con có
thêm nhiều cơ chế nhận dạng tiêu biểu khác được ửng dụng vào thực tế như nhận dạng ký tự thông minh (Jatelligent Character Recognition, viét tit ICR),
nhận dạng vàng đánh dấu (Optical Mark Recognition, viết tắt OMR], nhận dạng
chit muc tir (éagnetic Ink Character Recognition, viét tit MICR), nhan dang mã
vach (Barcode Regconition)
Chúng ta thưởng thực hiện công việc nhận đạng trục tiếp trên máy tỉnh:
dùng các thiết bị thu ảnh để scan, chụp ảnh các tải liệu và đưa các ảnh đó lên
may Unh réi chạy ứng dụng nhận dạng đã oài đặi Điều này hầu như chi thuc
Trang 8Tuy nhiên nhu cầu OCR của chúng La có thể xuất hiện mọi lúc mọi nơi, ví dụ
muốn lưu nhanh thông tin trong một namc card mả người bạn đưa chủ vào diện
thoại mã không phải nhận bằng tay Song chúng ta không thể lúc nào cũng mang,
bén mink may scan, may ảnh cũng như máy tính đễ hỗ trợ cho việc OCR Chưa
kế đôi khi chứng ta muốn dịch nhanh một bảng chỉ dẫn bằng tiếng nước ngoài
mả không có từ điền bên cạnh Xiệt khó khăn nữa là các ứng dụng OCR hiệu
quả cho công việc của chúng ta lại đa phần được tung ra đưới dạng thương mại,
muốn sử dụng phải mắt một chỉ phí không nhỏ Chính những sự bắt tiện thực tế
trên, vấn dé đặt ra là phải có những hệ thống phần cứng-phần mềm nhỏ gọn, di
động nhưng vẫn thực hiện mội cách linh hoại và hiệu quả các chức năng chụp
ảnh tải liệu, OCR trên ảnh đã chụp và dịch kết quả ra ngôn ngữ khác
Hiện nay công nghệ mang internet phát triển mạnh mẽ, internet có mặt hầu hết khắp nơi trên thể giới Công nghệ di động phát trién vượt bậc, việc sử
dụng điện thoại bung nỗ, điện thoại đi động trở thành mặt hàng bình dân mà ai
cũng có thể sở hữu được Nhiều công nghệ OCE tiên tiến được đưa ra đưới dạng,
mã nguồn mở và được các công ty, tổ chức lớn tài trợ phát triển Với nên ting công nghệ hiện có ở trên đã tạo ra nhiều giải pháp để xây dựng được nhiều hệ
thống có khả năng đán ứng cao với vấn đề đặt ra
Mục tiêu nghiên cứu
Với mong, muôn tìm hiểu về lĩnh vực và một số công nghệ OCR tiên tiền,
dang thời mong muốn góp phần vào kho ứng dụng OCR hiện có một sản phẩm
nguồn mở mới: một hệ thông trên thiết bị di đông giúp con người có thể thu ảnh, rút trích thông tin trong ảnh, dich kết quả ra ngôn ngữ mong muốn và quản lý
các thông tỉn ấy trên thiết bị di động Thiết bị di động được chọn là điện thoại đi
động chạy hệ điều hành nguồn mở Android Và từ đó luận văn lựa chọn để tai
nghiên cứu “Vậy đựng hệ thông nhận dang và địch trên thiết bị di động”
Nội dung nghiên cứu
Lề mặt tô thuyết
-_ Nghiên cứu tổng quan về lĩnh vực OƠR, các thành phan trong một
hệ thông OCR cơ bản
- _ Nghiên cứu công nghệ mã nguồn mé ‘Tesseract -_ Nghiên cửu công nghệ mã nguồn mở Android
-_ Nghiên cứu mô hỉnh client/server
-_ Nghiên cứu công nghé dich Google ‘Iranslate
- _ Nghiên cửu phương pháp sửa lỗi chỉnh tả tự động.
Trang 9dung nguồn mở của Tossoraot đỗ tạo ra module có chức
module có chức năng dịch văn bản sang ngôn ngữ tùy chọn Web service còn hỗ trợ chức năng hậu xử lý kết quả OCR và tự dông sửa
lỗi chính tả trên ngôn ngữ tiếng Anh
-_ Nghiên cứu xây dựng ứng dụng trên chent: sử dụng Android SI2K
để tạo ra ứng dụng chạy trên điện thoại Android có chức năng chụp
ảnh, gửi ảnh về server và nhận kết quả xử lý từ server trả về; quản
1ý nội dung thông tin đã rút trích từ ảnh,
Bồ cục luận văn
Ngoài phần mở đầu giới thiệu về mục tiêu, ý nghĩa, tỉnh hình nghiên cứu liên quan vả phần kết luận tôm tắt những kết quả chính đạt dược cũng như dưa
ra nhận xét, bố cục luận văn gồm 4 chương chính
Chương 1: Trinh bày kiên thức tổng quan về lĩnh vực OCR làm nên tảng cho các nghiên cứu về sau
Chương 2- Trình bảy nội dưng tìm hiểu về sông nghệ mã nguồn mở
Tesseract OCR, céng nghé Android, m6 hinh client/server, céng nghé dich
Google Translatc Các công nghệ, mô hình nảy được sứ dựng để xây dựng hệ
thống
Chương 3: Giới thiêu kiến trúc và các thành phần cơ bản của hệ thống
nhận đạng và dịch trên thiết bị di động đã xây dựng
Chương 4: Trình bày kết quả thực nghiệm chức năng rút trích thông tin từ ảnh của hệ thông cũng như so sánh một sách tương đối kết quả OCR với một số
hệ thắng khác
Trang 101.1 Giới thiệu về OCR
OCR (optical character recognition)[7] là lĩnh vực nhận dạng ký tự quang
học Kỹ thuật này cho phép máy tính tự động nhân dạng ký tự thông qua cơ chế
quang học Đối tượng của OCR là anh scan cae tai li
liên quan Mục tiêu của OCR là chuyển các nguồn tài liêu này sang các định
dạng có thể chỉnh sửa và tìm kiếm được
sách, hoặc các video
Vào những những năm đầu của thế kỷ 20, các nhà khoa học đã quan tâm
nghiên cứu trong lĩnh vực OCR Tuy nhiên kết quả lúc bấy giờ vẫn còn rất hạn chế Từ những năm 90 đến nay, OCR có những nghiên cứu mang tính đột phá, kết hợp với những công nghệ tiến tiến của thời đại đã cho ra đời những hệ thông
OCR mạnh mẽ và hiệu suất cao
Trang 11ọ
Năm 1929, đã xuất hiện chiếc máy nhận đạng chữ số Đến những năm đầu
của thập niên 1950, chiếc máy đầu tiên có khả năng chuyển tài liệu bản in thành
ngôn ngữ trên máy tỉnh dược phat minh bởi David Shepard, một chuyên giá về
giải mã làm việc cho cơ quan An Ninh quốc gia Hoa Kỷ Năm 1955 khi
Reader's Digest mua lại công nghệ này, sản phẩm từ công nghệ OCR được đưa
ra thương mại hóa lần đầu tiên Tuy nhiên mãi dến năm 1978, phién ban OCR
cho máy tính mới được ra đời, ứng dụng đầu tiên của nó là dùng để tải những van bản luật và tin tức lên cơ sở dữ liệu trực tuyến Ngày nay, cong nghé OCR được kết hợp với máy scan tốc độ cao và những thuật toán máy tính phức hợp đã làm gia tăng tốc độ xứ lý cũng như sự chính xác của đỡ liệu Những công nghệ
OŒR hiện tại đều có thể nhận dang hau hết gác font chữ với độ chính xác cao,
một số củn hỗ trợ khá năng kết xuất ra những doạn văn bản co dinh dang gin
gidng hoàn toán với bản pốc|21|
Ngoài công nghệ nhận dạng ký tự quang học OCR thì hiện nay còn có
thêm nhiều cơ chế nhận dạng tiêu biểu khác[9] được ứng đụng vào thực tế như: nhận dạng kỹ tự thông minh ICR (1nfelligent Characier Recognition), nhận dạng ving danh dau OMR (Optical Mark Recognition), nhan dang chit myc tit MICR
(Magnetic Ink Character Recognition) va co chế nhận dạng mã vạch (barcodie)
Các công nghệ Liên tiến này đã hỗ trợ rất nhiều cho các tổ chức và doanh nghiệp
trong việu xử lý thông tin phát sinh xuyên suốt quá trình hoạt động Những lĩnh
vực thường được ứng dụng cáo công nghệ nhận dạng (rên là giáo dục, tải chính,
y tẾ, bảo hiểm, giao vận vá ngay cả trong các tổ chức của chỉnh phú như thuế,
hải quan[21]
Công nghệ nhận dạng QCR đã tạo ra sự ảnh hưởng to lớn trong việc lưu trữ, chia sẻ và chỉnh sửa thông tin Trước đây, nêu chủng ta muốn chuyên một
quyền sách từ bản in sang bản điện tử thì cách duy nhất là ngồi nhập thủ công
toàn bộ quyển sách vào máy tính thông qua chương trình soạn thảo văn bản, và điều nảy buộc chúng ta phải trả giá với một khoảng thời không nhỏ Tuy nhiên,
ngày nay với sự phát triển vượt bậo của công nghệ thông tin, chỉ cần một máy
scan kết nối với một máy tính tích hợp sẵn phần mễm nhận dạng OCR, bằng một vài thao tác đơn giản, toàn bộ quyền sách sẽ được chuyển thành tập tín đúng, như mong muốn của người sử dụng, Do dó có thể nói, công nghệ OCR đã giúp
người ta đến gần với nhiều dạng thông tin hơn, xóa bê nhiều rào cân về việc chia
sé nguồn tri thức của nhân loại
Mặc dù không được sử đụng phố biến và nhắc đến nhiều như các ngành công nghiệp viễn thông, phần cứng hay phần mềm nhưng ngành công nghiệp
Trang 12thực tế Việc chuyển đổi thông tin Lừ tải liệu giấy sang tài liệu điện tử giúp nhiều
người dùng có thể Iruy cặp thông Lin một cách dễ đàng, cùng một lúc dù ở bất cứ dâu mả không phải chờ dợi hoặc mắt quá nhiều thời gian cho việc tìm kiểm
Diéu này cũng tạo cho công tác quản lý và bảo mật thông tin trở nên đơn giản
hơn khi tất cả những thay dỗi hoặc ngảy giờ truy cập thông tin déu dược kiểm
soát chặt chẽ Dối với các doanh nghiệp, các tổ chức, các cơ quan hành chính,
công nghệ OCR mang lại nhiều lợi ích kinh tế, tiết kiện được những khoảng chỉ phí không nhỏ như giảm thiểu không gian lưu trữ, giảm téi đa nguồn nhân lực trong công tác quản lý thông tin
Hiện nay nhiều ứng dung OCR được dua ra sử đụng dưới dạng olflinc trên máy tính hoặc tích hợp và chạy online trên các thiết bị OCR chuyên dụng,
Đặc biệt các hệ thống OƠR thời pian thực dược chú trọng phát triển ác kỹ thuật nhận dạng hiện nay kết hợp rất hiệu quả với một số phương pháp luận
trong lĩnh vực học máy (machine learning) nhu mang no ron, mé hinh Markov 4n, SVM (supper vector machines), xt ly ngôn ngữ tự nhiên Mặc dù được phát triển mạnh mẽ, nhưng kết quả nghiên cứu trong lĩnh vực OCR cũng gặp phải những trở ngại nhất định OCR không bao giờ đạt tới tỷ lệ chính xác 100% trong
nhiễu Irường hợp Các yếu tô ảnh hưởng nhiều đến kết quả OCR như chất lượng
anh dầu vào, bố cục ánh, loại ÍonL chữ, các ký Lự dặc biệt (vi đụ công thức toán
học), các dạng chữ viết phức lap (nhu chit Trung Quéc) và một số yếu Lã khác
1.12 Một số công nghệ, phần mềm OR tiêu biểu
Lĩnh vực OCR hiện nay được rất nhiều cá nhân, tổ chức quan tâm nghiên
cứu, nhiều công nghệ OCR ra đời và được ứng dụng rộng rãi trong nhiều lĩnh vực liên quan đến nhận dạng Dưới đây liệt kê danh sách một số phần mềm
OCR tiêu biểu [17]
ABBYY FimeReader Proprietary
Trang 1311
Microsoft Office OneNote 2007 Proprietary
1.1.3 Một số khái niệm cơ bản
Pixel (Picture element)[2] - Ảnh trong thực tế là một ảnh liên tục về không gian vả giả trị về dộ sáng Ảnh cần phải số hóa để củ thể xử lý ảnh bằng, máy tính Trong quả trình số hóa ảnh người ta biến đổi tín hiệu liên tục thành tín
hiệu rời rạc thông qua quá trình lấy mẫu (rời rạc hóa về không gian) và lượng
hóa thành phần giá trị mà nguyền tắc mắt thường không phân biệt được hai điểm
kê nhau Khai nigm Picture Hlement (ta quen gọi hay viết là pixel - phân tử ánh, điểm ảnh) được sử dụng trong quá trình này Do vậy một ảnh có thể coi là một
tập các pixel Ở đây cũng cần phân biệt khái niệm pixel hay đề cập đến trong các
hệ thống dỗ họa máy tính Để tránh nhằm lẫn ta tạm gọi khải niềm pixel này là
pixol thiết bị Khái niệm pixel thiết bị có thể xem xét như sau: khi ta quan sal
màn hình (chế độ đồ họa), mản hình không liên Lục mà gỗm nhiễu diém nhỏ, gọi
là pixel Trong ảnh 2 chiều, mỗi pixel gềm một cặp tọa độ x, y và mâu
Dé phan giải của ảnh(esolution)[2]: chính là mật độ điểm ảnh được an
định trên một ảnh số được hiển thị Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thay được sự liên tục của ảnh Việc
lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bổ, đó chính là độ
phân giải và được bố trí theo hai trục x, y trong không gian hai chiều Đơn vị
cho độ phân giái là dpi (dots per inch)
Trang 14xám là kết quả của sự mã hóa tương ứng một cường độ sáng của mỗi điểm ảnh với một giá trị số - kết quả của quá trình lượng hóa Các thang giá trị mức xám thông thường lả 16, 32, 64, 128, 256, trong đó mức thông dụng nhất là 256, mỗi
pixel được mã hóa bởi 8 bit
Anh nhi phân: Tùy theo giá trị mức xám của điểm ảnh mà các ảnh được phân chia ra thành ảnh màu, ảnh xám hay ảnh nhị phân Khi trên một ảnh chỉ có giá trị 0 hoặc 1 thì ta nói đó là một ảnh nhị phân hay một ảnh đen trắng và các
điểm ảnh của nó gọi là điểm ảnh nhị phân
Anh mau: hay còn gọi là ảnh RGB Cách biểu diễn cũng tương tu như
ảnh đen trắng, chỉ khác là các số tại mỗi phần tử của ma trận biểu diễn cho ba
màu riêng lẻ gồm: đỏ (Red), lục (Green), lam (Blue) Để biểu diễn cho một điểm
ảnh màu cần 24 bit, 24 bit này chia thành 3 khoảng 8 bịt Mỗi khoảng nảy biểu
diễn cho cường độ sáng của một trong các màu chính tổ hợp của các màu ta
được nhiều mức biểu diễn, như vậy mỗi điểm ảnh có thể được mô tả rõ giá trị
màu tự nhiên của nó (true color)
Ảnh đa cấp xám: là ảnh có nhiều mức xám khác nhau Thực tế chỉ ra rằng
bất cứ ứng dụng nảo trên ảnh mức xám cũng được ứng dụng trên anh mau Ta cd
thể biển đổi ảnh màu về ảnh xám Mỗi điểm ảnh mảu gồm 3 giá trị (Red, Green,
Blue), nếu 3 giá trị này bằng nhau thì ta có ảnh xám (grey) Khi đó mỗi điểm ảnh ta chỉ cần lưu 1 giá trị
Các đường cơ bản trong dòng text
Hình 1.2 Các đường cơ bãn trong dòng text
® Đường l (caplne): là đường thắng giới hạn chiều cao của đỉnh cao nhất
của một số chữ cái (ví dụ §, b,h,L )
© Đường 2 (mean line): là đường thẳng ở giữa của một dòng chữ, giới hạn
chiều cao của các chữ bình thường (ví dụ u,a,r,n, )
© Đường 3 (baseline): là đường thẳng thẳng nối các phần chân của hầu hết
các chữ cái trong dỏng text, và bất kì một chữ nảo cũng nằm trên một
đường này
©_ Đường 4 (đescent line) là đường thẳng giới hạn phần thấp của các chữ có thể tạo ra trên một dòng (p.y ).
Trang 1513
© Khoảng cach gitta mean line va baseline la chiều cao cơ bản của một
dong chi, goi li x-Height
Thanh phan lién théng (connected component): là tap hop cac pixel lan cân nhau Thành phần liên thông gồm thành phần liên thông 4 và thành phần liên thông 8
a EI hon
a "mm
Hình 1.3 Thành phần liên thông 4 và 8
1.2 Các bước cơ bản trong một hệ thống OCR
Hoạt động của một hệ thông OCR thông thường gồm các bước sau: thu nhận ảnh, tiền xử lý ảnh, phân tích bố cục trang, tách dong va tir, hudn luyện và
nhận dạng, hậu xử lý Kết quả của mỗi bước ảnh hưởng rất lớn đến kết quả cuối cùng của hệ thông
Thu nhận ảnh là bước đầu tiên trong quy trình của hệ thông OCR Hình
ảnh tài liệu bên ngoài được thu nhận qua các thiết bị thu ảnh như camera, máy
ảnh, máy scan và được số hóa để biến đổi tín hiệu tương tự thành tín hiệu rời rạc
(lấy mẫu) và lưu vào máy tính đưới các định dạng file ảnh Ảnh thu được có thé
là ảnh trắng đen, ảnh màu, ảnh đa cấp xám Độ phân giải của ảnh ảnh hưởng rất
lớn đến kết quả OCR Ảnh thu được có độ phân giải 300dpi không phải là chuẩn
Trang 16chính thức quy ước cho các ảnh đầu vàn của các hệ thống OCR nhưng cũng có
thể xem như một chuẩn tương đối tốt Tuy nhiên không phải ảnh có độ phân giải
cảng cao thỉ kết quá OCR càng tốt Do đó các hệ thống OCR khuyến nghị các bức ảnh dầu vào nên có độ phân giải từ 200dpi — 400dpi Để nâng cao hiệu quả
OCR, ngoài việc cổ gắng đám bảo đô phân giải của ảnh nằm trong khoâng tương
dỗi chấp nhận được, các bức ảnh thu dược cần tiến hành xử lý nhằm nâng cao
chất lượng trước khi đưa vào nhận dạng Quá trình nảy gọi là tiền xử lý ảnh
1.2.2 Tiền xử lý ảnh
Các bức ảnh thu được chất lượng thường không tết như ý muốn, có thể do
một số nguyễn nhân như: chất lượng của thiết bị thu ảnh (độ phân giải thấp), yếu
tố nguồn sáng, tải liệu ánh thực tế bị suy bién, ur thé chụp không đúng, Do vậy
1.2.2.1 Nhi phan hóa ảnh
Mục dích của nhị phân hóa là biến ảnh gốc thành ảnh nhị phân nhằm tăng
sự tương phần piữa nén (background) va các dối tượng (object hay forcground) Nếu dau vào là ảnh màu, trước khi nhị phân hóa cần chuyển sang ảnh xám theo
Trang 1715
Việc tính toán chọn ngưỡng T phù hợp có ý nghĩa rất lớn trong quá trình nhị phân hóa Một số phương pháp xác định ngưỡng xám T phô biển và hiệu quả như Otsu (ngưỡng toàn cục), Niblack, Sauvola (ngưỡng cục bộ) Dưới đây trình bay phương pháp Otsu trong vi xác định ngưỡng xám toàn cục
Phuong phap Otsu[6]
Lược đỗ mức xám: là một hàm rời rạc cung câp tân suất xuất hiện của mỗi mức
Phương pháp Otsu được mô tả như sau
Bước 1: Chọn một giá trị ước lượng ngưỡng xám ban đầu T Thông
thường T được chọn là giá trị mức xám trung bình của bức ảnh Vi dụ trong lược đồ mức xám Hình 1.5, có thể chọn T =
Bước 2- Dùng ngưỡng T phân hoạch bức ảnh thành 2 phân vùng #;, Ro
(tương ứng 2 lược đồ mức xám mới Hinh 1.6)
= ree Tpixels 2 pixels ư>~— | plxels 4plxels
Hình 1.6 Phân ngưỡng trên lược đồ mức xảm
Trang 18Ry, Ro
Bước 4: Tính toán lại giả trị ngưỡng T mới : T= 3 (uy, +4)
Bước 5- Lặp lại bước 2 đến bước 4 đến khi nào độ biến thiên của ngưỡng
T bẻ hơn giá trị e cho trước
| =>
LÏ LH"
Hình 1.7 Kết quả chọn ngưỡng xảm theo phương pháp Otsu
1.2.2.2 Chỉnh độ nghiêng và hướng
Ảnh thu được có thể bị nghiêng, bị xoay ngang đọc do vị trí đặt tài liệu
cần thu ảnh lêch vi trí đúng với thiết bị thu ảnh Với những bức ảnh như thế,
hiệu quả nhận dạng giảm đi rõ rệt Do đó trước khi nhận dạng, ta cần thực hiện việc chính lại độ nghiêng và hướng của trang ảnh Sau khi xác định được đô
nghiêng vả hướng chính xác của ảnh sẽ thực hiện việc quay ảnh về lại trang thái
đúng ban đầu Tuy nhiên ít nhiều chất lượng ảnh sẽ bị giảm sau khi quay
Một số phương pháp xác định độ nghiêng trang ảnh như phương pháp
hình chiều, phương pháp biến đổi Hough, phương pháp dựa trên các thành phần liên thông và một số phương pháp khác như phân tích độ lệch so với trục dọc, biến đổi Fourier, các phép toán hình thái[§] Nhiều phương pháp dò hướng cũng được đề xuất và áp dụng, một số tác giả như Caprari đưa ra năm 1999, Aradhyu
đưa ra năm 2005, Lu và một số tác giả khác đưa ra năm 2006[8] Việc dỏ tìm độ
nghiêng và hướng của trang ảnh có thể thực hiện riêng lẻ hoặc kết hợp đồng thời
với nhau Một phương pháp tiêu biểu cho việc kết hợp giữa việc đò độ nghiêng
và hướng được đưa ra bởi Breuel (vả một số tác giả khác) sử dụng mô hình hóa
hình học của các dòng text chữ viết Latinh[8]
Dỏ độ nghiêng vả quay ảnh thực hiện trong pham vi góc -45°, +45” (Hình
1.8) đò hướng đúng và quay ảnh theo các hướng 0°, 90°, 180°, 270” (Hình 1 9)
Part of the recognition process for any character|
fon Pros fp recognition engine isto identify how a word should be
= sie hạ avon ter} [segmented into characters The initial segmentation
inding jg clas Hal 6 oa be} output from line finding is classified first The rest of
SEP appyiog = tS hes ony 1, 8 St of The req, | {the word recognition step applies only to non-fixed-
* 10 ronstiyeg | [MRIEM,
Trang 19‘war you
-paxy-uou o1 xjuo sardde days womans puon 2x
01804 Os pargssepa st Sumpury duty wou yndno
uonewauiBos JENUI 31 “31392 01M: J3MAUỂX
I4 JINME pI0w # A01 JIU20| 01 $J 3IIỂU9 01Uẫ0321
Part of the recognition process for any character
recognition engine is to identify how a word should be}
segmented into characters The initial segmentation
loutput from line finding is classified first The rest of
Ihe word recognition siep applies only to non-fixed:|
Việc xuất hiện nhiễu, đặc biệt ở biên ảnh (các thành phần không mong
muốn trong ảnh) làm tăng thời gian và giảm kết quả OCR bởi nhiễu trong ảnh
nếu không làm lọc đi sẽ được OCR như là kỷ tự bình thường, thâm chí làm sai
lệch nghiêm trọng kết quả với các vùng text thực sự
Page Frame
'Non-Textual Noise
Hình 1.10 Các vùng nhiễu trên ảnh văn ban[8]
Nhiễu trong tài liêu ảnh có thể do nhiều nguyên nhân: sự xuống cấp của
tải liệu theo thời gian sự tác động vật lý, hóa học của môi trường xung quanh; tác động ngoại cảnh trong quá trình chụp ảnh như ánh sáng không tốt Do đó
trước khi nhân dạng, ảnh cần áp dụng một vải kỹ thuật phủ hợp để giảm nhiễu
nhằm tạo ra một anh tốt hơn cho các bước phía sau của quá trình OCR
Nhiễu trong ảnh thực tế gồm nhiều loại song chúng ta thường chú ý và
xem xét đến 3 loại nhiễu chính: nhiễu công, nhiễu nhân, nhiễu xung [3]
- Nhiễu cộng thường phân bố khắp ảnh Nếu gọi ảnh quan sát (ảnh thu
được) là Xạ , ảnh gốc là X;¿e nhiễu là 7, anh thu được có thể biểu diễn
bởi:
Xqs= Xgic+ 7
Trang 20- Nhiéu nhân thường được phân bế khắp ảnh và ảnh thu được sẽ biểu điễn
bởi công thức
Xo = Xuắc * 7
- Nhidgu xung thường gây đột biến tại một số điểm ảnh
Từ bắn chất của nhiễu (thường lương ửng với tần số cao) và từ sơ sở lý
thuyết lọc là: bộ lọc chỉ cho tin hiểu có tần số nào đó thông qua, do dé dé loc nhiễu người ta thường sử đụng bệ lọc thông thấp (thea quan điểm tần số không, gian) hay lấy tổ hợp tuyển tỉnh dễ sang băng (bộ lọc trung bình) Để làm nỗi
cạnh (ứng với tần số cao), người ta sử dụng bộ lọc thông cao loc Laplace[2]
De có nhiều loại nhiễu can thiệp vào quá trình xử lý ảnh nên cần nhiễu bộ
lọc thích hợp Với nhiễn cộng và nhiễu nhân ta dùng các bệ lọc thông thắp, trung bình và lọc đồng hình (homomorphie); với nhiễu xung ta đàng bộ lọc
trung vị, giả trung vị, lạc ngoài (Outlier)[2
Trong lạc Irung bình người Is ưu tiên cho các hướng dễ bảo vệ biển cúa
ảnh khỏi bị mờ khi lâm trơn ảnh Các kiểu mặt nạ dược sứ dụng tùy theo các
trường hợp khác nhau Các bộ lọc trên là bô lọc tuyến tính theo nghĩa điểm ảnh
ở tâm cửa số sẽ được thay bởi tố hợp các điểm lân cân chập với mặt nạ Lọc
thông thấp thường được dùng để làm trơn nhiễu
Các bộ lục phi Luyến cũng được dùng trong kỹ thuật tăng cường ảnh
Trong kỹ thuật này người ta dùng bộ lọc trung vị, giả trung vị, lọc ngoài Với bộ
lọc trung vị các điểm ảnh sẽ được thay thế bởi trung vị các điểm ảnh, còn lọc giả
trung vị sẽ dùng trung bình cộng của 2 giá trị “trưng vị” (trung bình cộng cúa max va min)[2]
1.2.3 Phân tích bố cục
‘lai liệu ảnh thường gồm các “vùng đối tượng” có nội dung, tích chất khác
nhau (vủng ảnh, vùng text, bảng biểu .) Phân tích bố cục tài liệu ảnh là một bước quan trọng được thực hiện để xác định cầu trúc, xác định các vùng đổi
tượng được bố trí trong tải liệu ảnh Cầu trúc của tải liệu ánh thường được quan
tâm trong việc phân tích bố cục là cầu trắc vật ly và oấu trúc lôgic
Cấu trúc vật lý chỉ ra vị trí, dường biên giữa các vùng đối tượng khác nhau Việc xác định cấu trúc vật lý có ý nghĩa rất lớn dối với lĩnh vực OƠR
trong việc chỉ lấy và xử lý các vùng text, giảm thời gian thực biện và tăng độ
chính xác kết quả.
Trang 2119
Câu trúc logic chỉ chức năng của từng vùng đối tượng (ví dụ vùng tiêu đề,
vùng địa chỉ ) cũng như mỗi liên hệ logic giữa các vùng đối tượng ay Xác định
cấu trúc logic của tài liêu ảnh cũng có thể suy ra quy tắc đọc phủ hợp Ví dụ các
văn bản ngôn ngữ Latinh đoc từ trái qua phải, một số ngôn ngữ khác như Trung
Quốc, Nhật bản đọc từ phải qua trái Việc xác định cấu trúc logic thường thực
hiện sau khi xác định được cấu trúc vật lý
Hình 1.11 b-Cấu trúc vật l; c,d-Cấu trúc lôgic [3]
Các phương pháp phân tích bố cục tải liệu ảnh có thể chia làm hai loại
chính [3]
- Phuong phap co thir bac
* Phuong phap bottom-up: bắt đầu từ các phần tử nhỏ nhất (pixel, thành phân liên thông), thực hiện liên kết các phần tử liên quan để thành các
'Whitespace Analysis (1994), Docstrum (1993); Voronoi (1998); RAST (2002) —
bởi Thomas Breuel
1.2.4 Tách dòng và từ
Phân tích bố cục tài liệu ảnh xác định các block text Các thuật toán tìm
dòng sẽ chạy trên các block text để tách thành các dòng text (text-line) Một số
Trang 22xoay ảnh nghiêng về vị trí đúng Do đó tránh cho chất lượng tài liệu ảnh bị giảm
xuống khi phải thực hiện thao tác xoay ảnh
‘Tay theo tính chất của các ký tư trong một từ cũng như vị trí tương đổi
của các từ trong một dòng text, các thuật toán tách từ được chọn một cách phủ
hợp để cắt các đòng text đã xác định ở trên thành các từ rời nhau
1.2.5 Huấn luyện và nhận dạng
Một hệ thống OCR thường chỉ cho ra kết quá rất hạn chế nếu như không được tập huần, một ảnh kỷ tự đủ hình dạng dơn giản cũng rất khó xác định đó là
ký tự gi nếu không có sự so sánh với ảnh ký tự mẫu cho trước Huấn luyễn chính
là làm cho hệ thống OCR có thể nhận biết một cách chính xác các ảnh của một
tập lớn các ký tự mẫu khác nhau về ngôn ngữ font chữ Các dẫu hiệu để nhận biết tập ảnh các ký tự này được hệ thống lưu lại theo một phương thức nào đó
thảnh đữ liệu tập huấn Khi muốn nhận dạng một ký tự, hệ thống dựa vào dữ
liệu tập huấn sẽ cho ra một ký tự tương ứng phù hợp nhất
liầu hết các thuật toản OCR thường có hai phần chính: trích chọn đặc
Một thành phân phụ cũng tham gia vào quá Irinh nhận dang
là quá trình xứ lý dựa trên ngữ cảnh |3]
trưng và phân Jo:
Trích chọn đặc trưng liên quan đến việc rút trích ra những thuộc tính của
đối tượng dưới dạng các đô đo Để biểu diễn một lớp ký tự phải xây dựng một
mô hình nguyên mẫu chung cho các lớp ký tụ Và do đó quá trình trích chọn đặc trưng sẽ cỗ găng tìm ra các đặc tính dựa trên nguyên mẫu đã xây dựng cho các lớp Các đặc trưng chung như số lượng các lễ hỗng trong ký tự, mặt lõm của
đường viền bên ngoài, sự nhô ra của điểm cao nhất và các đặc trưng nội tại, các
điểm cắt ngang, các điểm kết thúc, các góc sẽ được sử dụng Mỗi ảnh ký tự sẽ
trích ra các đặc trưng và phân loại chúng vào lớn lương img
Trong phương pháp phân loại dựa trên thống kế, những mẫu ảnh ký tự
được biểu diễn bằng các điểm đặc trưng trong không gian đa chiều Mỗi một
thành phần trong không pian da chiều biểu diễn cho một dé do dặc trưng Quá
trình phân loại sẽ chia không gian da chiều thành các vùng tương ứng với các lớp ký tự và chúng được gản nhần tương ứng
Nhận dạng dựa trên ngữ cảnh sử dụng thông tin từ các ký tự khác nhau
được nhận dạng trong một từ và ý nghĩa của từ khi lắp ghép ký Lự vào từ Công
việc nảy thường được kết hợp với lừ điển của ngôn ngữ nhận dạng Một công cụ
hiệu quả má các hệ thống OƠR hay sử dụng là mô hình ngôn ngữ thẳng kê
Trang 23Trên thể giới cô Tắt nhiều loại chữ viết, mỗi nước hầu như đều có chữ viết
riêng, song có thé phân chia làm hai loại chỉnh là chữ Latinh và chữ tượng hỉnh
Do có quá nhiều loại chữ viết như trên nên khó có một phương pháp nhận dạng
hiệu quả đồng thời với tất cả các loại Đỗi với mỗi loại chữ, có thể thể hiện bởi
huấn luyện các loại font này cho quá trình nhận dạng cũng là một vấn dé nan
font chữ mới thường xuyên xuât hiện Do đó việc
giải
1.2.6 Xử lý kết quả
Kết quả nhận đạng it nhiều vẫn xuất hiện lỗi Lỗi có thế đo con người
trước nhận dang như lỗi đánh máy (lỗi này ít xảy ra) hoặc lỗi do nhận dang (phổ
tiến) Lỗi nhận dang cé thé chia thành một số loại:
-_ Lỗi phân đoạn: cl <z d,rn cy m
-_ Lỗi do nhằm lẫn hình dạng: e «> c,2 «> Z, 0 <> 0
-_ Lỗi do nhiễu (nhận dạng nhiễu thành các ký tự): ?⁄°
Với kết quả nhận dạng được, la thường áp dụng các biện pháp sửa lỗi để
tăng hiệu quả xử lý Nếu lỗi thuộc về loại lỗi chính tả (vi đụ #uu — hưu, mang —
marg, hOa — hoa), có thê ding các chương trình sửa lỗi chính tả phủ hợp với
từng ngôn ngữ Nếu là lỗi cú phap (vi du tink — tỉnh, vân — vẫn), thường người
doc sẽ duyệt lại và sửa bằng tay.
Trang 24
2.1 Céng nghé Tesseract OCR
2.1.1 Giới thiệu về Tesseract OCR
Tesseract[11,12] 1A céng nghé OCR được phát triển những năm từ 1984
đến 1994 ở ITP, bắt đầu như một dự án nghiên cứu Liên sĩ ở phòng thí nghiệm
Tuy dạt dược những kết quả nhất định nhưng lúc ấy vẫn chưa thể phát triển
thành sắn phẩm thương mại Cuối năm 2005, HP phát hành Tossoraot dưới dạng
mã nguồn mở và hiện tại được tập đoàn Google tài trợ phát triển Địa chỉ hiện tại cho mã nguồn Tesseract là http://code.google.com/p/teseract-ocr ‘Vesseract
được phát triên để chạy trên cả hệ điều hành nhân Linux và Windows Phiên bản
hiện tại là Tesseract 3.01 với một số nhà phát triển tiêu biểu như Ray Smith,
Thomas Breuel, Luc Vincent
Tir khi Tesseract OCR trở thành mã nguồn mỡ, nó được phát triển một cách nhanh chóng, hỗ trợ nhận dạng trên 30 ngôn ngữ khác nhau, độ chính xác
đang tiền tới lí lộ 100% trên một số ngôn ngữ với những ảnh văn ban chất lượng
Tuy vây dự án Tosscraot vẫn chưa phát triển một GUT cho người đúng sử dụng
công nghệ nảy Các tổ chức, cá nhân muốn sử dụng TosscracL OCR phải dùng
sơurce code cung cấp sẵn dem về tủy biến vả xây dựng thành GUI OCR riêng
cho minh Sản phẩm OCR dua trén ‘Tesseract cd thé phat hành lại dưới dạng mã nguồn mã bay sản phẩm thương mại Một số GUI đựa trên Tesseract:
VietOCR: Yéu cau Java hoje NET
gimageRteader: Yêu cầu python, PyGtk
OCRFeeder: Yéu cau linux, Python, pyGTK, Ghostscript, Unpaper
FreeOCR: Yêu cầu Windows, NET
PDF OCR X: Yêu cầu Mác O§ Ä 10.5/Windows với Java 1.6 ưỡ lên
Tảme @CR: Yêu cầu Windows, TmapelMagick
Oerivist Yéu cau Linux, Pascal
Lecfar: Yêu cầu Dython, Q4
?esseract-GUI: Yêu cầu python, pyŒIK
QTesseract: Yêu cầu QT4, cr+
Tiên cạnh các GUI cộng đồng quan tâm đến OCR đã xây đựng nhiều
wrapper cho Tesseract lương ứng lrên nhiều ngôn ngữ lập trình, thuận tiện cho
việc xây dựng các ứng dụng OCR nhanh chong ma không phải di sâu tìm hiểu
souree cođe TesscracL đã phải hành, Các wrappr TesscraoL được xây dựng để
tao ứng dụng OCR trên cả máy tỉnh và diện thoại di đông
Trang 25#*ython: hhp:/code google.com/p/python-tesseract/
Ruby: : hitps://github com/dannnylo/rtesseract
Jeade google com/p/pylesser?
hitp://www pixel-technology com/freewarestessnet2/
hitp://cade google com/p/iesjeract (INI wrapper)
hitp:/Aess4j.sourceforge.nel/ JNA wrapper)
Ta còn có một số wrapper khác như:
fenseract-android-fools: tập các hàm Android API cho tesseract
Mobile OCR: Muc dich 14 tao ra img dung OCR (irén ảnh do camera
mobile chụp dược) trên nền tang Android Ung dung tương lai có thể áp
dựng cho những người có thị lực kém
Clarify: gitp OCR chi én file PDE Clarify lá một modun python
module, wrapper cho tcsscract-ocr, xpdÏ vả netpbm Yêu cầu: python,
tesscract-ocr, xpdf, netpbm
hOcr2Pdf NET 1a thu vién cho người lập trình lạo ra các ứng dụng dễ có
thể tìm kiếm trên file pdf Yêu cầu: NET 2.0 or higher, Vesseract 3 0,
JBig2.exe
ASeanHizCards: Giai phap cho scan business card trên mobile Yêu cầu
iPhone 4/iPhone 3/Android 2.0
customocr com: 1a dich va OCR dua trên Web
Tally-Ha: doc min hinh cho cdc site nhu la google book
Mayan EDMS: hé thong quan ly tai ligu voi tesseract
Olena: nén tang xử lý ảnh phổ biển và hiệu quả có sử dụng tesseract
Trang 262.1.2 Tesseract lam viée nhu thé nao?
Binary ‘age Layout Component Outlines
Le ‘Analysis In Text Regions
‘Adaptng Image
Thresholding
Organized Words Outlines
Output: Text
Hình 2.1 Kiến trúc Tesseract [11,12]
Quá trình làm việc của Tesseract [11,12] được mô tả tóm tắt như sau:
- Adapting thresholding:: thuc hién việc nhị phân hóa ảnh đầu vào (ảnh màu hoặc ảnh xám ) dựa trên việc xác định ngưỡng xám tương thích
Tesseract cung cấp 2 phương pháp xác định ngưỡng xám: ngưỡng øsu ngưỡng tương thích cục bộ ¿sodata
- Page layout analysis: thuat toán phân tích bổ cục trang qua việc dò tab- stop [13] được để xuất và cải đặt trong Tesseract bởi Ray Smith nhằm xác định các block text, vùng ảnh
Hinh 2.2 Ảnh trước và sau phân tích bỗ cục [13J
- Text-line finding: Thuit todn tim dòng text [10] được thiết kế đò các đỏng text trong block mà không phụ thuộc vào độ nghiêng của ảnh tài liệu
ban đầu Khi đó các block text được tổ chức thành các dòng text.
Trang 27Hinh 2.3 Fitting cap line, mean line, baseline, descent line
Fixed pitch detection and chopping: Trén mỗi dòng text, Tesseract kiểm
tra để xác định có phải là fixed pitch text (phần text mả mỗi ký tự có độ rộng không đổi) hay không Tại những nơi xác định được fixed pitch text,
trồng giữa hàng chục và hàng đơn vị trong “11.9%” bằng khoảng trồng chung nhưng lại lớn hơn khoảng cách hai tlr “erated” va “junk”, Hay 1a
hầu như không có khoảng trống giữa các ký tự trong cdc tir “of” và
“financial”, Viée b6 cdc proportional text thanh cdc tir sir dung tinh chat
khoảng cách và khoảng cách mờ
of 9.5% annually while the Fed-
erated junk fund returned 11.9%
fear of financial collapse,
Hình 2 5 Sự khác nhau trong khoảng các từ Word recognition: Cac khối được chia cắt nhỏ nhất ở bước trên được gọi
là blod Quá trình nhân dang từ trải qua 2 pha Pha đầu tiên của quá trình nhận dạng cố gắng nhận dạng lần lượt từng blod Với mỗi blod thỏa mãn
sẽ được chuyển đến một phân lớp tương thích (adaptive classifier) như là
đữ liệu tập huấn Phân lớp tương thích được tăng thêm khả năng làm cho việc nhận dạng chính xác hơn cho những phần text phía sau Các từ không
được nhận dạng tốt ở pha thứ nhất sẽ được nhận dạng lại ở pha thứ hai bằng cách bổ các từ này thành các ký tự nhỏ hơn, nhận dạng và kết hợp
lại Trong quá trình nhận dạng từ, kết hợp với việc phân tích ngữ cảnh và
cú pháp để cho ra kết quả chính xác hơn.
Trang 28
Ứng dụng thực tế cho thấy Tesseract engine rat nhay cam ti su khác biệt
trong hình đáng font chữ I2o đó để có thể OCR tố
cho từng ngôn ngữ với nhiều loại font khác nhau đặc biệt là các font hay sử
dụng Để nhận dạng một ký tự đã được trích chọn, Tesseract sẽ tìm kiểm trong,
đữ liệu ngôn ngữ đã tập huấn va đưa ra ký tự tương đồng nhất Ngoài ra đữ liệu ngôn ngữ huấn luyện còn tham gia việc thay thể một số ký tự lỗi đựa theo ngữ
cảnh ngay sau khi nhận đạng Vi dụ: cũm = com, rr=n, <k, cl=d Luận văn
trình bảy vẫn để tập huấn ngôn ngữ cho Tesseract 3.0x]14]
các ngôn ngữ khác và các kỷ tự UTE-8 Với Tesseract 3.01, đã có 38 ngôn ngữ
được tập huẩn Tiếng Việt cũng đã có ngôn ngữ được tập huấn với các font cơ
ban như Times New Roman, Courier New, Vni-Times
Dễ huấn luyện cho một ngôn ngữ, cần tạo ra một số file dữ liệu trong thư
mục f#ssdafa, sau đó phép (móc nỗi với nhau) các file này thành một file đơn
Tén quy ude thudémg 1a languagecode file_name, language code tuan theo chuẩn
ISO 639-3 Tuy nhién language code có thể là một chuỗi bất kỳ Ví dụ những
file được tạo ra cha ngôn ngữ lếng Anh (3.00) gồm:
ở trên lại với nhau, dồng thời có một tablc sẽ lưu giữ vị trí lâm dấu hiệu nhận
sdata/eng =raineddata_ chỉ đơn giãn là ghép các file con
biết các file con ấy Thư vién couzil/cessdatamanagez.h trong source
code cung cấp danh sách các tên file hiện tại đã được chấp nhận
Trang 2927
Quy trình tập huấn Tesseract được giới thiệu chỉ tiết trong trang hitp://code google com/p/wiki/Training Tesseract, tuy hoi phite tap nhumg cé thé tom tat các bước sau (chú ý trước khi tập huấn cai dit can Tesseract 3.0x vao
may),
© Tao ra anh tap huấn Với mỗi trang văn bản mẫu (nội dung văn bản là các
ký tự của một ngôn ngữ theo một loại font nhất định), in ra và quét ở độ phân
giải khoảng 300dpi tif, đặt tên scan.tif Cần đảm bảo tối thiểu số mẫu cho mỗi
ký tự, trung bình là 10 và 5 cho một số ký tự hiếm Với những ký tự tần số xuất hiện cao, ít nhất là 20 mẫu nhưng không quá 32 mẫu
© Tao ra box file cho mdi anh tap huấn Box file là một file text chứa danh
sách các ký tự trong ảnh tập huấn Để tạo ra box file, chạy câu lệnh
tesseract scan.ti£ scan batch.nochop makebox
luc nay sé sinh ra file scan.txt, kiém tra sửa lỗi ở file này, đặt lại tên thành
scan.box Tesseract chưa có GUI để tạo ra box file, có thể đùng một số GUI đã
có để hỗ trợ edit box file Dưới đây là danh sách một vài Box File Editor đã
được cộng đồng xây dựng
pytesseracttrainer Jan2011 Python, GTK2 yes
Tesseract-OCR boxfile AJAX editor Sep 2010 _ online tool no
¢ Với mỗi cặp file ảnh huấn luyện và box file tương ứng: chạy tesseract ở
chế độ huấn luyện để tạo ra file scan.tr Cú pháp
tesseracE scan.tif scan nobatch box.train
Trang 30
raector để tạo ra fileunicharset Cú pháp
unicharset_extractor scan.box
unicharset -
© Chạy lệnh mftraining để tạo ra các file inttemp, pffmtable va
Microfeat, chạy lệnh cnTraining để tạo ra file normproto Cú pháp:
mftraining scan.tr
¢ Tao ra từ điển (tùy chon); tao ra 2 file text UTF-8 là
frequent_words list vawords list Các file này chứa ít nhất một từ
Các từ trong 2 file này không nên trùng nhau Chạy lệnh word1ist2dawg để
taoracac file DAWG (Directed Acyclic Word G6raph) Củ pháp
wordlist2dawg words_list word-dawg
* Tao ra file text UTF-8 unicharambigs: file nay hé tro viéc thay thé
giữa các chuỗi nhập nhằng với nhau sau khi nhận dạng Ví dụm = xr n,
ai i ai = m Dinh dang file nay nhw sau:
+ Các dỏng tiếp theo, mỗi dòng chứa 5 trường riêng biệt: trường 1
chứa số từ của trường 2; trường 3 chứa số từ của trường 4;
+ Quy tắc thay thể: Các từ trong trường 2 sẽ được thay thể bằng các
từ trong trường 4 nếu trường 5 có giá trị l: ngược lại nều trường 5
có giá trị bằng 0, sự thay thế là không cần thiết
« Gộp tất cả các file lại với nhau: Đổi tên lại các tập tin vừa tạo ra với việc
thêm tiền tố languagecode , sau đó chạy lệnh combine_tessdata để
gộp các file lại với nhau Củ pháp
combine tessdata languagecode
© Chay OCR trén anh géc để kiểm chứng lại kết quả huấn luyện File
output txt là file kết quả OCR Cú pháp
tesseract scan.tif output -1 languagecode
Trang 3129
2.2 Công nghệ Android
2.2.1 Giới thiệu về hệ điều hành android
Tháng 7/2005 Google mua lại công ty phát triển phần mềm Android Sau hơn 2 năm âm thầm phát triển, Google liên kết với các tập đoàn và công ty lớn
danh tiếng trên thể giới dưới danh hiệu "Open Handset Alliance" (OHA) cùng
nhau sảng tạo và phát triển công nghệ phần mềm "Android" cho các loại điện
thoại di động smartphone với một thị trường rất rộng lớn (3 tỷ máy) để cạnh tranh với những đối thủ lớn như Symbian, Microsoft, Palm
Từ khi công bố, Android[5,16] da la hé diéu hanh điện thoại di đông mở
nguồn mở miễn phí do Google phát triển dựa trên nền tảng mã nguồn mở Linux
OS (Kernel 2.6) cho máy di động và những phần mềm trung gian (middleware)
để hỗ trợ các ứng dụng mà người sử dụng cần đến Do đặc điểm của Android là bản quyền mã nguồn mở của nó rất thông thoáng (dựa trên nên tảng bản quyền của Apache V 2.0) nên bất kỳ một hãng sản xuất phần cứng nảo cũng đều có thể
tự do sử dụng hê điều hành Android cho thiết bị của mình, miễn là các thiết bị
ấy đáp ứng được các tiêu chuẩn cơ bản do Google đặt ra (có cảm ứng chạm, GPS, 3G ) Các nhà sản xuất có thể tự do thay đổi phiên bản Android trên may
của mình một cách tự do mà không cần phải xin phép hay trả bất kì khoản phí
nào nhưng phải đảm bảo tính tương thích ngược (backward compatibility) của
phiên bản chế riêng đó[20]
Những tính năng cơ bân hỗ trợ trên nền tảng Android[5,16]:
- Ung dung framework cho phép tái sử dụng và thay thể các thành phần
- May ảo Dalvik được thiết kế phủ hợp để chạy trên các thiết bị di động
- Trinh duyét web được tích hợp dựa trên mã nguồn mở WebKit
- _ Các thư viện đồ họa 2D, 3D mạnh mẽ và tối ưu
- Hé quan tri co sé dit liéu gon nhe SQLite
Trang 32quen thuộc như MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF
- H6 tro GSM, Bluetooth, EDGE, 3G và WiFi
- H6 tro camera, GPS, la ban
Đặc biệt Google phát triển Android SDK cung cấp các công cụ và bộ thư viên các hàm API cần thiết để phát triển ứng dụng cho nền tảng Android sử dụng ngôn ngữ lập trình java
Hệ điều hành Android ra đời đã tạo nên một cuộc cách mạng công nghệ
thực sự, cơ chế nguồn mở tạo ra nhiều thách thức và cơ hội cho những nhà phát
triển ứng dụng; đồng thời mang lại cho người dùng điện thoại sự cảm nhân khác biệt về 1 chiếc Smartphone, chưa đầy 2 năm kho phần mềm cho Android đã lên đến còn số hơn 30 nghìn ứng dụng Được nhiều tập đoàn công nghệ hàng đầu tham gia phát triển, nền tảng nảy ngày cảng nhiều tích năng nồi trội va day sang
tạo Phiên bản hệ điều hành Android mới nhất là 4.0 (tính đến ngày 30/08/2011) 2.2.2 Kiến trúc hệ thống
Kiến trúc Android[5,16,18] bao gồm các tầng và các thành phần trong đó
Tầng sẽ sử dụng các dịch vụ cung cấp bởi các tầng dưới Android được chia thành 4 tầng tầng nhân linux, tang Libraries va Android Runtime, tầng Application Framework, tang Application Cac thanh phan trong hệ điều hành Android được viết bằng cả C/C ++ va Java