1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo Cáo + Full Code Xây Dựng hệ thống xử lý, nhận dạng và chuyển đổi văn bản scan thành text

15 41 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 582,9 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Báo Cáo + Full Code Xây Dựng hệ thống chuyển đổi văn bản scan thành text Cùng với sự phát triển của khoa học kỹ thuật và nhu cầu, đời sống của người dân tăng cao, kéo theo nhiều hoạt động, dịch vụ ra đời, song song với đó là số lượng văn bản được in ra ngày càng nhiều khiến việc số hóa, lưu trữ dữ liệu gặp nhiều khó khăn đã làm nảy sinh nhiều vấn đề trong việc sao lưu cũng như quản lý, truy xuất các tài liệu, hồ sơ, các văn bản, chứng từ, bằng khen, giấy khen,... Để giải quyết vấn đề này nhu cầu đặt ra là áp dụng các hệ thống tự động. Ngày nay, với sự phát triển thần tốc của công nghệ, thế giới đã hoàn toàn thay đổi theo một hướng hoàn toàn khác. Việc tích hợp một hệ thống áp dụng được nhiều trong công ty, doanh nghiệp trong việc sao lưu tài liệu, nhận diện thông tin, hay chỉ là chuyển đổi các scan thành văn bản đánh máy để tối ưu hóa thời gian nhập dữ liệu. Chính vì lý do đó, để giúp doanh nghiệp có thể dễ dàng đăng tải sản phẩm, một phần mềm tiên tiến chính là giải pháp mà tất cả những người kinh doanh đang tìm kiếm. Hôm nay, nhóm 6 xin giới thiệu phần mềm “ Xây Dựng hệ thống chuyển đổi văn bản scan thành text”.

Trang 1

TRƯỜNG ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ

BÁO CÁO ĐỒ ÁN HỌC PHẦN PHÁT TRIỂN ỨNG DỤNG VỚI MÃ NGUỒN MỞ

Đề tài:

HỆ THỐNG NHẬN DIỆN VĂN BẢN SCAN THÀNH

TEXT

Giảng viên hướng dẫn: TS Trần Xuân Sang

Sinh viên thực hiện:

Hồ Văn Cường - 18574802010178

Trần Văn Khải - 18574802010118

Nguyễn Đức Thành - 185748020

Hồ Sỹ Dũng - 18574802010033

Phùng Quốc Tiến - 18574802010146

Trang 2

LỜI CẢM ƠN 3

LỜI CẢM ƠN

Lời đầu tiên, nhóm 6 chúng em xin cảm ơn Thầy Cô trong Viện Kỹ thuật và Công nghệ - Trường Đại học Vinh đã tận tình truyền đạt những kiến thức quan trọng

Trang 3

Đặc biệt, em xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất tới giảng viên

TS Trần Xuân Sang – người trực tiếp hướng dẫn, đóng góp ý kiến quý báu và động viên em trong quá trình làm đề tài và hoàn thành đề tài này Bên cạnh đó, nhờ sự quan tâm động viên của gia đình và bạn bè đã tạo điều kiện và tinh thần cho chúng em trong quá trình học tập và thực hiện đề tài

Do thời gian, kiến thức và kinh nghiệm còn hạn chế của bản thân nên bài báo cáo này không thể tránh khỏi nhiều sai sót Chúng em rất mong nhận được sự chỉ bảo, lời nhận xét, góp ý của các thầy cô giúp em có điều kiện bổ sung, nâng cao ý thức của mình, phục vụ tốt hơn cho công việc thực tế sau này

Chúng em kính chúc quý Thầy cô trong Viện Kỹ thuật và Công nghệ nói chung

và Thầy cô Ngành Công nghệ thông tin nói riêng lời chúc sức khỏe, thành công trong công việc

Chúng em xin chân thành cảm ơn!

Nghệ An, ngày 10 tháng 1 năm 2022

Nhóm sinh viên thực hiện

Nhóm 6

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

Trang 4

Cùng với sự phát triển của khoa học kỹ thuật và nhu cầu, đời sống của người dân tăng cao, kéo theo nhiều hoạt động, dịch vụ ra đời, song song với đó là số lượng văn bản được in ra ngày càng nhiều khiến việc số hóa, lưu trữ dữ liệu gặp nhiều khó khăn đã làm nảy sinh nhiều vấn đề trong việc sao lưu cũng như quản lý, truy xuất các tài liệu, hồ sơ, các văn bản, chứng từ, bằng khen, giấy khen, Để giải quyết vấn đề này nhu cầu đặt ra là áp dụng các hệ thống tự động

Ngày nay, với sự phát triển thần tốc của công nghệ, thế giới đã hoàn toàn thay đổi theo một hướng hoàn toàn khác Việc tích hợp một hệ thống áp dụng được nhiều trong công ty, doanh nghiệp trong việc sao lưu tài liệu, nhận diện thông tin, hay chỉ là chuyển đổi các scan thành văn bản đánh máy để tối ưu hóa thời gian nhập dữ liệu Chính vì lý do đó, để giúp doanh nghiệp có thể dễ dàng đăng tải sản phẩm, một phần mềm tiên tiến chính là giải pháp mà tất cả những người kinh doanh đang tìm kiếm Hôm nay, nhóm 6 xin giới thiệu phần mềm “ Xây Dựng hệ thống chuyển đổi văn bản scan thành text”

CHƯƠNG 2: KIẾN THỨC LIÊN QUAN 2.1 Giới thiệu về Python

Python là một ngôn ngữ lập trình thông dịch (interpreted), hướng đối tượng (object-oriented), và là một ngôn ngữ bậc cao (high-level) ngữ nghĩa động (dynamic semantics)

Trang 5

Python hỗ trợ các module và gói (packages), khuyến khích chương trình module hóa và tái sử dụng mã Trình thông dịch Python và thư viện chuẩn mở rộng có sẵn dưới dạng mã nguồn hoặc dạng nhị phân miễn phí cho tất cả các nền tảng chính và

có thể được phân phối tự do

Hiện nay ngôn ngữ Python được xếp hạng thứ 3 trong Top 10 các ngôn ngữ lập trình phổ biến nhất đang được thế giới sử dụng sau C và Java

Các đặc điểm của Python:

- Ngữ pháp đơn giản, dễ đọc

Vừa hướng thủ tục (procedural oriented), vừa hướng đối tượng (object -oriented)

- Hỗ trợ module và hỗ trợ gói (package)

+ Xử lý lỗi bằng ngoại lệ (Exception)

+ Kiểu dữ liệu động ở mức cao

+ Có các bộ thư viện chuẩn và các module ngoài, đáp ứng tất cả các nhu cầu lập trình

+ Có khả năng tương tác với các module khác viết trên C/C++ (Hoặc Java cho Jython, hoặc Net cho IronPython)

+ Có thể nhúng vào ứng dụng như một giao tiếp kịch bản (scripting interface)

Trang 6

2.2 Giới thiệu OpenCV và Tesseract OCR

2.2.1 OpenCV

OpenCV là tên viết tắt của open source computer vision library – có thể được

hiểu là một thư viện nguồn mở cho máy tính Cụ thể hơn OpenCV là kho lưu trữ các

mã nguồn mở được dùng để xử lý hình ảnh, phát triển các ứng dụng đồ họa trong thời gian thực

OpenCV cho phép cải thiện tốc độ của CPU khi thực hiện các hoạt động real time Nó còn cung cấp một số lượng lớn các mã xử lý phục vụ cho quy trình của thị giác máy tính hay các learning machine khác

Thư viện OpenCV được phát hành với giấy phép BDS Do đó các dịch vụ nó cung cấp là hoàn toàn miễn phí và được hạn chế tối đa các rào cản thông thường Cụ thể, bạn được phép sử dụng phần mềm này cho cả hoạt động thương mại lẫn phi thương mại OpenCV sở hữu giao diện thiên thiện với mọi loại ngôn ngữ lập trình, ví

dụ như C++, C, Python hay Java… Ngoài ra, nó cũng dễ dàng tương thích với các hệ điều hành khác nhau, bao gồm từ Windows, Linux, Mac OS, iOS cho đến cả Android

Kể từ lần đầu xuất hiện từ năm 1999, giờ đây OpenCV đã sở hữu đội ngũ người dùng hùng hậu, con số ước tính có thể lên tới 47.000 người Tất cả là nhờ những ưu điểm vượt trội của OpenCV

2.2.2 Tesseract OCR

OCR là tạo một bản sao kỹ thuật số của các ký tự viết tay, in hoặc đánh máy đã được quét Kỹ thuật này được sử dụng rộng rãi để nhập dữ liệu, đặc biệt đối với các loại dữ liệu khác nhau được thu thập trên giấy, có thể là hóa đơn, hộ chiếu, tài liệu, danh thiếp, thư hoặc bản in

Trang 7

Khi văn bản được số hóa, tìm kiếm và chỉnh sửa văn bản có thể được thực hiện bằng điện tử Thêm vào đó, bộ lưu trữ nhỏ gọn hơn và các tài liệu có thể được hiển thị trực tuyến

Với công nghệ OCR này, công ty công nghệ hàng đầu thế giới Google cũng cho ra phần mềm nguồn mở từ năm 2006 với cái tên Tesseract OCR với giấy phép của Apache

Trang 8

Khi một trang in hoặc viết tay được quét, nó được lưu dưới dạng tệp ánh xạ bit

có định dạng TIF Chúng ta có thể đọc hình ảnh này khi nó được hiển thị trên màn hình Tuy nhiên, với máy tính, nó chỉ là một loạt các dấu chấm màu trắng và đen Nó nhìn vào từng dòng của hình ảnh và xác định xem chuỗi các chấm có khớp với một số hoặc chữ cái cụ thể không

2.3 Phân tích về nhận diện văn bản

2.3.1 Phân tích đề bài

Xây Dựng ứng dụng phần mềm hệ thống thông minh, tối ưu hóa việc chuyển đổi văn bản scan thành text Nhận diện tốt các font chữ phổ biến trong các doanh nghiệp là công việc quan trọng, đòi hỏi bộ phận nhân viên phải tiến hành nhiều nghiệp

vụ phức tạp

Việc ứng dụng CNTT đã mang lại bước đột phá mới cho công tác Xây Dựng ứng dụng phần mềm hệ thống thông minh, tối ưu hóa việc chuyển đổi văn bản scan thành text, giúp doanh nghiệp sao chép, lưu trữ, nắm bắt thông tin một cách chính

Trang 9

xác và kịp thời Từ đó người quản lý có thể đưa ra các kế hoạch và quyết định đúng đắn, tối ưu, nhanh chóng, tiết kiệm thời gian, chi phí Hệ thống chạy được đa nền tảng

2.3.2 Nhận dạng chuyển đổi văn bản là gì?

Nhận dạng văn bản là ứng dụng công nghệ chuyên dùng để đọc text ở file ảnh Được biết đến là một công cụ scan kỹ thuật số chuyên nhận dạng các ký tự, chữ viết tay, hay chữ đánh máy, công nghệ này chuyên dùng để truyền tải, nhập liệu dữ liệu Đặc biệt, có khả năng kỹ thuật số nhiều dưới nhiều dạng tài liệu khác nhau: hóa đơn,

hộ chiếu, danh thiếp, tài liệu…

2.3.3 Vai trò của hệ thống nhận dạng chuyển đổi văn bản

a Đối với hệ thống chuyển đổi văn bản công ty

- Bằng công nghệ kỹ thuật số hiện đại hệ thống nhận dạng văn bản chuyển đổi tệp hình ảnh thành text giúp thu thập và liên kết dữ liệu nhanh chóng Hệ thống có thể tự động ghi lại thông tin được hiển thị trên văn bản một cách chi tiết, chính xác, đầy đủ và nhanh chóng chuyển đổi chúng thành văn bản - text phục vụ tốt các yêu cầu đặt ra

- Giúp người dùng truy xuất thông tin nhanh, khảo lại khi cần thiết hơn là Giúp người dùng quản lý làm việc nhanh chóng nhờ tính năng nhận dạng chuyển đổi văn bản scan thành text

b Đối với đời sống

- Giúp cho con người sao lưu văn bản dễ dàng

- Giảm bớt nhân công làm việc đánh máy, ghi chép,

- Tiết kiệm được thời gian, chi phí, tinh gọn các bước sao lưu

2.3.4 Hạn chế nhận dạng chuyển đổi văn bản

Ngoài những điểm ưu việt mà hệ thống nhận dạng chuyển đổi văn bản scan thành text mang lại, nó còn có một số hạn chế sau :

Trang 10

- Ảnh hưởng từ các yếu tố như : ánh sáng Ví dụ văn bản được ép plastic, bọc nilon khi chụp ảnh sẽ bị lóa

- Giấy tờ có thể bị mục nát trong quá trình bảo quản, gây ra khó đọc, nhận diện sai

- Một số từ lạ, khù khoằm, gây rắc rối cho hệ thống

- Bề mặt sạch chỉ có nền và văn bản cần nhận dạng, nếu bề mặt phức tạp còn chưa xử lý được

2.4 Quy trình nhận dạng văn bản tiếng việt

Quy trình nhận dạng văn bản tiếng việt được thực hiện qua quá trình 6 bước sau:

Trang 11

2.5 Những hạn chế của hệ thống nhận dạng văn bản

Có một số hạn chế về nhận diện văn bản tiếng việt như sau:

- Lỗi thường bị bởi do lẫn lộn chữ hoa và chữ thường (upper and lower) — ví dụ: hOa, nhắC — có thể dễ dàng sửa chữa sử dụng các chương trình Unicode text editor

- Lỗi do sự xử lý không chính xác, gây ra các lỗi như thiếu sót dấu, lầm với ký tự

có hình dáng tương tự, v.v… — huu – hưu, mang – marg, h0a – hoa, la – 1a, chìu – nhìn, nhiều - nhiễ, dịch - địch, in – ĩn, nhiều - nhiễu, khó – khô, nãy – nây, lưu – lưa, truy – trny, là – lã, hồ - hỗ, thống - thống thần – thâu, các – cáo,

ưu – ưn, đó – đõ, thể - thẻ, nhóm – nhõm, xin – xùn…

- Lỗi khó phát hiện hơn bởi chúng liên quan đến ngữ nghĩa, semantics, có nghĩa

là những chữ đánh vần đúng (tức là mục từ có trong tự điển), nhưng sai nghĩa trong ngữ cảnh (context) — ví dụ: tinh – tình, vân – vấn

- Lỗi do dữ liệu đầu vào chất lượng kém dính các ký tự dẫn đến nhầm lẫn

2.6 Mô hình Training

Để huấn luyện mô hình nhóm sử dụng Tesseract OCR, thư viện OpenCV

- Bước 1: Đọc ảnh đầu vào chuyển về ảnh xám

Để đơn giản ta sẽ đọc ảnh từ một file có sẵn thay cho camera của điện thoại

Trang 12

- Bước 2: Kiểm tra sử dụng tiền xử lý ảnh

Nếu phân tách ảnh đen trắng:

if args["preprocess"] == "thresh":

gray = cv2.threshold(gray, 0 255,

cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]

Trang 13

Nếu làm mờ ảnh:

elif args["preprocess"] == "blur":

gray = cv2.medianBlur(gray, 3)

- Bước 3: Load ảnh và apply nhận dạng bằng Tesseract OCR

text = pytesseract.image_to_string(Image.open(filename), lang='vie')

- Bước 4: In dòng chữ nhận dạng ra được:

Trang 14

CHƯƠNG 3: KẾT QUẢ THỰC NGHIỆM 3.1 Kết quả nghiên cứu

Mặc dù gặp một số khó khăn trong quá trình nghiên cứu đề tài như là trình độ

về deep learning còn hạn chế, thành viên trong nhóm không đồng đều về năng lực, teamwork chưa nhịp nhàng giữa các khâu,… nhóm đã thực hiện đạt được kết quả đề

ra ban đầu như sau:

- Nghiên cứu được giải pháp chuyển ảnh thành chữ

- Hiểu rõ quy trình nhận diện hệ thống tự động

3.2 Kết luận

- Kết luận về kết quả đã nghiên cứu, thí nghiệm

Do hạn chế về kiến thức, thời gian, công nghệ mới lạ nên chưa đạt được kết quả tối ưu nhất, Hệ thống nhận diện tốt khi các chữ rõ nét, một số chữ bị mờ, nhòe, mất nét hệ thống gặp nhiều khó khăn trong việc nhận diện Trong tương lai nhóm sẽ cố gắng nghiên cứu, khắc phục và hoàn thiện hệ thống tối ưu hơn

Trang 15

TÀI LIỆU THAM KHẢO

https://www.pyimagesearch.com/2020/09/21/opencv-automatic-license-number-plate-recognition-anpr-with-python/

2 Transactions on Intelligent Transportation Systems (Sei Wang Chen - National Taiwan Normal University)

https://doceye.vn/tin-tuc/noi-dung/ocr-la-gi-nhung-tinh-nang-noi-bat-cua-ocr-21441.html

https://viblo.asia/p/tim-hieu-ve-ocr-xay-dung-chuc-nang-extract-text-tu-hinh-anh-su-dung-php-JQVkVBwMkyd

Ngày đăng: 29/01/2022, 19:56

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w