intTypePromotion=1
ADSENSE

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

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:5

7
lượt xem
1
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết trình bày việc 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.

Chủ đề:
Lưu

Nội dung Text: Ứng dụng nhận dạng danh thiếp tiếng Việt trên Android

  1. 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. Quá 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
  2. 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. Ngoà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 toá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 khuôn 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ư khuôn 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
  3. 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 quá 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ừ quá 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
  4. 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, x x x nhắn tin Đồ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
  5. 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] https://github.com/tesseract-ocr/tesseract/wiki/Documentation [2] https://github.com/tesseract-ocr/tesseract/wiki/Training-Tesseract [3] http://tesseract-ocr.github.io/3.x/ [4] http://tesseract -ocr.github.io/4.x/ [5] http://kurup87.blogspot.in/2012/03/android-ocr-tutorial-image-to-text.html 39
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2