Tải bản đầy đủ (.pdf) (5 trang)

Ứng dụng nhận dạng danh thiếp tiếng Việt trên Android

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 (388.75 KB, 5 trang )

HỘI NGHỊ NGHIÊN CỨU KHOA HỌC SINH VIÊN TRƯỜNG ĐẠI HỌC ĐÀ LẠT NĂM 2018

ỨNG DỤNG NHẬN DẠNG DANH THIẾP TIẾNG VIỆT TRÊN
ANDROID
Nguyễn Tấn Đạt - 1410272
Đỗ Phạm Thành Hương – 1413031

Lớp CTK38, Khoa Công nghệ Thông tin
1.

MỞ ĐẦU

Danh thiếp là một tấm thẻ nhỏ có chứa thơng tin liên lạc của một cá nhân hay của một tổ
chức. Danh thiếp được sử dụng để giới thiệu thông tin liên lạc của cá nhân, của tổ chức trong
những buổi gặp mặt đầu tiên. Ngày nay, danh thiếp được mọi người sử dụng rộng rãi, từ những
tổ chức, công ty, cửa hàng buôn bán cho tới những cá nhân muốn giới thiệu thơng tin liên lạc
một cách đầy đủ nhanh chóng.
Thế nhưng, việc quản lý và sử dụng danh thiếp gặp nhiều khó khăn khi mà một người
nhận được nhiều danh thiếp. Khi họ muốn tìm thơng tin liên lạc trên số danh thiếp này là rất
mất thời gian. Việc tìm kiếm sẽ đơn giản hơn nếu các thông tin trên danh thiếp được lưu vào
điện thoại. Người dùng có thể dành thời gian để ngồi nhập thông tin trên danh thiếp vào điện
thoại, nhưng việc ngồi nhập danh thiếp là một công việc tốn công sức và thời gian. Ngày nay,
với sự phát triển của công nghệ xử lý ảnh, và sự phát triển mạnh các thiết bị smartphone, việc
lấy thơng tin trên danh thiếp có thể được lấy tự động thông qua ảnh chụp danh thiếp.
Trong khuôn khổ của nghiên cứu với đề tài “Nhận dạng danh thiếp tiếng Việt trên
Android” em mong muốn xây dựng một ứng dụng cho người dùng di động Android, ứng dụng
nhận dạng danh thiếp từ ảnh, hỗ trợ nhận dạng Tiếng Việt. Ngoài việc nhận dạng, ứng dụng
cho phép người dùng quản lý danh bạ trên điện thoại.
Qua tìm hiểu, em nhận thấy nhận dạng thơng tin chữ viết từ ảnh có thể sử dụng công
nghệ nhận dạng văn bản OCR, cụ thể là thư viện Tesseract. Q trình trích rút thơng tin liên lạc
thông tin dựa trên đặc điểm tên người, địa điểm của Việt Nam. Tuy nhiên quá trình nhận dạng


văn bản tốn nhiều thời gian xử lý, và trên các máy cấu hình thấp sẽ mất nhiều thời gian. Vì thế,
để tăng độ chính xác nhận dạng và hoạt động trên nhiều thiết bị khác nhau, em sử dụng thư
việc OpenCV để xứ lý ảnh nhằm tăng tốc độ nhận dạng.
Cụ thể đề tài nghiên cứu thực hiện những công việc sau: Tìm hiểu cơng nghệ xử lý ảnh,
thư viện OpenCV; Tìm hiểu cơng nghệ nhận dạng OCR; Tìm hiểu lý thuyết về Android, cách
xây dựng ứng dụng; và Thiết kế và xây dựng thử nghiệm ứng dụng BCR dựa trên việc tích hợp
các thành phần nói trên.
2.

PHƯƠNG PHÁP NGHIÊN CỨU

Nghiên cứu lý thuyết về OpenCV, ORC, Tesseract và phát triển ứng dụng thực tế. Tìm
hiểu cách thức xử lý ảnh của OpenCV, cách thức Tesseract trích rút văn bản, cách trích rút
thơng tin để xây dựng ứng dụng nhận dạng danh thiếp trên Android.
35


HỘI NGHỊ NGHIÊN CỨU KHOA HỌC SINH VIÊN TRƯỜNG ĐẠI HỌC ĐÀ LẠT NĂM 2018

3.

NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU

Ứng dụng nhận dạng danh thiếp trên Android cho phép người dùng nhận dạng danh
thiếp và lưu vô danh bạ. Người dùng có thể thực hiện cuộc gọi, nhắn tin, gửi mail ngay trên
ứng dụng. Ngồi ra, nếu có tài khoản người dùng có thể đồng bộ hóa dữ liệu của mình mà
khơng lo bị mất.
3.1.

Mơ tả hệ thống


Hình 1. Mơ hình tổng quan hệ thống

Ứng dụng được phát triển gồm có bốn giai đoạn chính như sau: i) Tiền xử lý ảnh với
OpenCV; ii) Nhận dạng thông tin từ ảnh; iii) Trích rút thơng tin liên lạc; và iv) Quản lý danh
bạ.
3.1.1. Tiền xử lý ảnh với OpenCV
Ảnh chụp từ camera thường có chất lượng khơng cao và chịu nhiều sự tác động của môi
trường đặc biệt là ánh sáng. Có rất nhiều các thuật tốn xử lý nâng cao chất lượng ảnh, nhưng
việc tự cài đặt là mất thời gian. OpenCV là thư viện xử lý ảnh, cung cấp rất nhiều hàm xử lý
ảnh. Do đó ứng dụng sẽ sử dụng OpenCV là thư viện để thực hiện quá trình tiền xử lý ảnh cho
OCR.
OpenCV là một thư viện đa nền tảng, giúp ta có thể phát triển các ứng dụng thị giác máy
tính. Nó chủ yếu trọng tâm vào xử lý hình ảnh, quay video và phân tích bao gồm các tính năng
như phát hiện khn mặt và phát hiện đối tượng. Sử dụng thư viện OpenCV, ta có thể: Đọc và
ghi hình ảnh; Ghi hình và lưu video; Xử lý hình ảnh (lọc, chuyển đổi); Thực hiện nhận dạng
đặc điểm; Phát hiện các đối tượng xác định như khn mặt, mắt, xe trong video hoặc hình ảnh;
Phân tích video,... ước lượng chuyển động của nó, trừ nền ra và theo dõi các đối tượng trong
video. OpenCV ban đầu được phát triển trong C++. Hơn thế nữa, Python và Java cũng được hỗ
trợ. OpenCV chạy trên nhiều Hệ điều hành khác nhau như Windows, Linux, OS, FreeBSD, Net
BSD, Open BSD, ...
36


HỘI NGHỊ NGHIÊN CỨU KHOA HỌC SINH VIÊN TRƯỜNG ĐẠI HỌC ĐÀ LẠT NĂM 2018

3.1.2. Nhận dạng thông tin từ ảnh sử dụng Tesseract OCR Engine
OCR là một thuật ngữ viết tắt từ cụm từ Optical Character Recognition có thể tạm dịch
là nhận dạng ký tự bằng quang học. Đây là công nghệ được áp dụng để đọc text trên một file
ảnh thành định dạng text. OCR là công nghệ nhận dạng kí tự trên ảnh. Việc xây dựng OCR từ

đầu là phức tạp vì thế cần chọn lựa một bộ thư viện OCR cho q trình lấy thơng tin từ ảnh.
Tuy nhiên, các thư viện OCR hiện nay cho kết quả có độ chính xác tùy thuộc vào chất lượng
ảnh đầu vào, nên vẫn cần thông qua tiền xử lý ảnh.
Ưu điểm của OCR là dể dàng sử dụng, giúp người dùng tiết kiệm thời gian. Trong khi
đó nhược điểm của OCR là hầu hết chỉ nhận dạng được khoảng 80 - 90% trên hình ảnh rõ nét,
đối với những hình ảnh có màu nền mà màu chữ khơng có nhiều chênh lệch, hay các hình chụp
chữ viết tay thì kết quả nhận dạng khơng khả quan cho lắm. Hiện nay, một số ứng dụng đã triển
khai trong thực tế như Abbyy FineReader 12 Professional, Soda PDF, Adobe Acrobat DC,
Nuance OmniPage…. Tuy nhiên, chất lượng nhận dạng tiếng Việt của các phần mềm này vẫn
cịn nhiều hạn chế.
3.1.3. Trích rút thông tin liên lạc
Các thông tin thu được từ q trình nhận dạng là các kí tự trên ảnh đầu vào. Từ các
thơng tin này, ứng dụng sẽ trích rút các thông tin như số điện thoại, tên, địa chỉ, email. Để có
thể trích rút được kết quả mong muốn nhóm em đã sử dụng database để chứa họ, địa chỉ để
trích rút thơng tin họ tên và địa chỉ. Để nhận dạng được số điện thoại, địa chỉ email nhóm đã sử
dụng regex. Regex là cách để diễn tả một đoạn mẫu phức tạp dùng để tìm kiếm (search pattern)
bằng một chuỗi. Ví dụ như ta có thể kiểm tra chuỗi bao gồm chữ hoặc số, kiểm tra số lượng kí
tự, vị trí của kí tự, chữ hoa, chữ thường
3.1.4. Quản lý danh bạ
Danh thiếp sau khi được trích rút thơng tin sẽ được lưu vào danh bạ của Hệ điều hành
Android. Danh bạ của Android cho phép lưu đủ các thơng tin của một danh thiếp.

Hình 2. Mơ hình quản lý danh bạ trong Android

37


HỘI NGHỊ NGHIÊN CỨU KHOA HỌC SINH VIÊN TRƯỜNG ĐẠI HỌC ĐÀ LẠT NĂM 2018

Row Contact biểu diễn thông tin về một người, được lấy từ một nguồn thông tin. Một

Contact có thể có nhiều Raw Contact, một Raw Contact tương ứng với một nguồn dữ liệu lấy
thơng tin. Chính điều này giúp cho việc kết hợp thông tin một người từ nhiều nguồn khác nhau.
Data chứa thông tin chi tiết về một Raw Contact, chẳng hạn như email, số điện thoại, địa chỉ ...
Một Raw Contact có thể có nhiều Data, điều này giúp cho một Raw Contact liên kết tới nhiều
số diện thoại, email, địa chỉ ... khác nhau. Contact biểu diễn thông tin về con người, các thông
tin này được kết hợp từ các Row Contact. Contact Provider kết hợp nhiều Raw Contact từ tất
cả các nguồn thông tin vào chung một Contact. Điều này tạo điều kiện hiển thị và chỉnh sửa tất
cả các dữ liệu người dùng đã thu thập cho một người. Contact Provider quản lý việc tạo ra các
Raw Contact mới, và kết hợp với Raw Contact hiện có.
3.2.

Kết quả triển khai hệ thống

Nhóm đã xây dựng được hệ thống với các chức năng chính sau: Nhận dạng danh thiếp
và lưu vào danh bạ; Thực hiện cuộc gọi, nhắn tin, gửi email trên ứng dụng; Đồng bộ hóa dữ
liệu khi có tài khoản. Bảng 1 mô tả các chức năng đạt được khi so sánh kết quả với một số ứng
dụng nổi tiếng.
Bảng 1. So sánh chức năng
Chức năng

CamCard

Evernote

BCR

Nhận dạng danh thiếp

x


x

x

Thực hiện cuộc gọi, email,
nhắn tin

x

x

x

Đồng bộ hóa dữ liệu

x

x

x

Chia sẻ hình ảnh

x

x

Một số hình ảnh kết quả trên các ứng dụng được mơ tả như trong Hình 3.

Hình 3. Một số hình ảnh so sánh: a, b) Camcard; c) Evernote; và c) BCR


38


HỘI NGHỊ NGHIÊN CỨU KHOA HỌC SINH VIÊN TRƯỜNG ĐẠI HỌC ĐÀ LẠT NĂM 2018

4.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

4.1.

Kết luận

Về mặt lý thuyết, hiểu rõ các khái niệm cách thức hoạt động của thư việc OpenCV,
Tesseract. Cách thức quản lý danh bạ của hệ thống Android. Về mặt thực nghiệm, đã xây dựng
được ứng dụng nhận dạng danh thiếp tiếng Việt trên Android với những chức năng cơ bản như
nhận dạng và quản lý danh ba, thực hiện cuộc gọi, nhắn tin, gửi email, đồng bộ hóa dữ liệu nếu
có tài khoản.
4.2.

Hướng phát triển


Cải thiện tốc độ xử lý



Nậng cao tỷ lệ chính xác




Xậy dựng chức năng nhận dạng nhiều ảnh một lúc



Chia sẻ thơng tin giữ các ứng dụng với nhau

TÀI LIỆU THAM KHẢO
[1] />[2] />[3] />[4] http://tesseract -ocr.github.io/4.x/
[5] />
39



×