Xây dựng hệ thống nhận dạng và dịch trên
thiết bị di động
Phạm Phi Hiệu
Trường Đại học Công nghệ
Luận văn Thạc sĩ ngành: Công nghệ Phần mềm; Mã số: 60 48 10
Người hướng dẫn: TS. Kiều Văn Hưng
Năm bảo vệ: 2011
Abstract: Trình bày kiến thức tổng quan về lĩnh vực OCR (Optical Character
Recognition) - Lĩnh vực nhận dạng ký tự quang học. Tìm hiểu nội dung về công nghệ
mã nguồn mở Tesseract OCR, công nghệ Android, mô hình client/server, công nghệ
dịch Google Translate. Các công nghệ, mô hình này được sử dụng để xây dựng hệ
thống. 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 dạng và dịch
trên thiết bị di động đã xây dựng. 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.
Keywords: Công nghệ mã nguồn mở; Dịch; Hệ thống nhận dạng; Ký tự quang học;
Thiết bị di động
Content
MỞ ĐẦU
Đặt vấn đề
Từ lâu con người đã quen với việc sử dụng máy tính để lưu trữ những tài liệu cần
thiết, xuất phát từ những tiện ích to lớn do máy tính mang lại: lưu trữ khối dữ liệu lớn, ít bị hư
hỏng, dễ quản lí, dễ tìm kiếm, dễ chỉnh sửa Tuy nhiên giấy vẫn là một vật liệu quan trọng
đã, đang và sẽ được sử dụng để lưu trữ tài liệu vì sự cần thiết của nó trong cuộc sống hàng
ngày (ví dụ sách, báo ). Một nhu cầu tất yếu, con người muốn đưa các 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 chúng một
hiệu quả hơn. Mộ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. Đố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 ta giải quyết vấn đề này: chụp ảnh tài liệu và nhận dạng ký tự trong
ảnh.
Nhận dạng ký tự quang học (tiếng Anh: Optical Character Recognition, viết tắt là
OCR)[20] là quá trình rút trích ký tự trong ảnh cho ra dưới dạng văn bản để có thể lưu trữ,
2
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 trọng. 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 dướ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 dạ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 cải thiện, đặc biệt sự nhận dạng
ký tự Latinh đánh máy có thể tiến tới tỉ lệ chính xác 100%. 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 được ứng
dụng vào thực tế như: nhận dạng ký tự thông minh (Intelligent Character Recognition, viết tắt
ICR), nhận dạng vùng đánh dấu (Optical Mark Recognition, viết tắt OMR), nhận dạng chữ
mực từ (Magnetic Ink Character Recognition, viết tắt MICR), nhận dạng mã vạch (Barcode
Regconition).
Chúng ta thường thực hiện công việc nhận dạ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 máy tính rồi chạy ứng dụng
nhận dạng đã cài đặt. Điều này hầu như chỉ thực hiện được khi chúng ta làm việc ở nhà, ở cơ
quan với chiếc máy tính bên cạnh. Tuy nhiên nhu cầu OCR của chúng ta 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 name card mà người bạn đưa cho vào
điện thoại mà không phải nhập bằng tay. Song chúng ta không thể lúc nào cũng mang bên
mình máy scan, máy ả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.
Mộ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 dưới dạng thương mại, muốn sử dụng phải mất một chi phí không nhỏ. Chính
những sự bất tiện thực tế trên, vấn đề đặ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ột cách linh hoạt 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ệ mạng 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 bùng nổ,
điện thoại di độ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ệ OCR tiên tiến được đưa ra dướ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 tảng 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 đáp ứ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, đồng 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, dịch
kết quả ra ngôn ngữ mong muốn và quản lý các thông tin ấy trên thiết bị di động. Thiết bị di
3
động được chọn là điện thoại di động chạy hệ điều hành nguồn mở Android. Và từ đó luận
văn lựa chọn đề tài nghiên cứu “Xây dựng hệ thống nhận dạng và dịch trên thiết bị di động”.
Nội dung nghiên cứu
Về mặt lý thuyết:
- Nghiên cứu tổng quan về lĩnh vực OCR, các thành phần 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ệ dịch Google Translate.
- Nghiên cứu phương pháp sửa lỗi chính tả tự động.
Về mặt thực hành:
- Nghiên cứu xây dựng ứng dụng web service chạy trên server : sử dụng nguồn
mở của Tesseract để tạo ra module có chức năng OCR trên ảnh; sử dụng các
hàm API do Google cung cấp để tạo ra 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ự độ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 client: sử dụng Android SDK để 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 lý 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 được cũng như đưa ra nhận xét; bố cục luận
văn gồm 4 chương chính:
Chương 1: Trình 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 dung tìm hiểu về công nghệ mã nguồn mở Tesseract OCR,
công nghệ Android, mô hình client/server, công nghệ dịch Google Translate. 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 dạng và
dịch trên thiết bị di động đã xây dựng.
4
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.
References
Tiếng Việt
[1] Đinh Điền (2005), Xử lý ngôn ngữ tự nhiên, Giáo trình, NXB ĐHQG TPHCM.
[2] Nguyễn Quang Hoan (2006), Xử lý
ảnh, Giáo trình, Học viện Công nghệ Bưu chính Viễn
thông .
[3] Nguyễn Văn Huy (2009), Tìm hiểu phương pháp phân tích trang tài liệu, Luận văn Thạc
sĩ, Đại học Thái Nguyên.
[4] Đỗ Năng Toàn, Phạm Việt Bình (2007), Xử lý
ảnh, Giáo trình, Đại học Thái Nguyên.
Tiếng Anh
[5] Huang Xuguang, “An Introduction to Android”, Database Lab, Inha University,
November 2009.
[6] Hui-Fuang Ng*, “Automatic thresholding for defect detection”, February 2006.
[7] K. M. Mohiuddlin, Jianchang Mao, “Optical Character Recognition”, 27 Dec 1999.
[8] J. van Beusekom, F. Shafait, T. M. Breuel, “Combined orientation and skew detection
using geometric text-line modeling”, International Journal on Document Analysis and
Recognition, Vol. 13, No. 2. (1 June 2010), pp. 79-92.
[9] F. Shafait, T. M. Breuel, “A simple and effective approach for border noise removal from
document images”, in 13
th
IEEE Int. Multi-topic Conference, Islamabad, Pakistan, Dec 2009.
[10] R. Smith, “A simple and efficient skew detection algorithm via text row accumulation”,
Proc. 3
rd
Int. Conf. on Document Analysis and Recognition, 1995, pp1145-1148.
[11] R. Smith, “An overview of the Tesseract OCR Engine”, Proc 9
th
Int. Conf. on Document
Analysis and Recognition, 2007, pp629-633.
[12] R. Smith, D. Antonova, D. Lee, “Adapting the Tesseract open source OCR engine for
multilingual OCR”, in Proceedings of the International Workshop on Multilingual OCR,
2009.
[13] R. Smith, “Hybrid Page Layout Analysis via Tab-Stop Detection, Document Analysis
and Recognition” Proc 10
th
Int. Conf. on Document Analysis and Recognition, 2009.
Trang web
[14]
[15]
5
[16] .
[17]
[18]
[19]
[20]
[21]
[22] .