Tải bản đầy đủ (.docx) (24 trang)

Báo cáo công nghệ OCR

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 (429.99 KB, 24 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP. HCM
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO MÔN HỌC
Đề tài :

TÌM HIỂU VỀ CÔNG NGHỆ
OCR

Giảng viên : Mạnh Thiên Lý
Môn học: Công Nghệ Phần Mềm
Danh sách thành viên:
1. Trương Quốc Phong
2001170129
2. Nguyễn Xuân Nhật
2001170121
3. Nguyễn Chí Sanh
2001170149
4. Nguyễn Thị Phương Uyên 2001170230
5. Đặng Quốc Hải
2001170046


Tân Phú, Tháng 6/2020


BẢNG PHÂN CÔNG
Thành Viên

MSSV


Công việc

Xếp Loại

Trương Tấn Phong

2001170129 Phân chia công việc cho từng
thành viên,tìm video và tài liệu
về OCR.

A+

Đặng Quốc Hải

2001170046 Tìm hiểu và thiết kế PowerPoint,
làm lại word(bổ sung)

A

Nguyễn Chí Sanh

2001170149 Demo ứng dụng của công nghệ
OCR.

A

Nguyễn Xuân Nhật

2001170121 Tìm hiểu và thiết kế Word về đề
tài OCR.


A

Nguyễn Thị Phương
Uyên

2001170230 Tổng hợp ý và thuyết trình về đề
tài OCR.

A


LỜI MỞ ĐẦU
♥♥♥
Thời đại công nghệ là một bước rẻ đầy ngoạn mục và táo bạo của nền khoa học
nhân loại. Đó là thời điểm nhu cầu về việc rút trích từ ngữ từ hình ảnh đang ngày càng
phát triển, bên cạnh sự gia tăng về nhu cầu là sự phát triển về công nghệ nhận dạng ký
tự quang học(Optical Character Recognition) hay còn được gọi tắt là OCR. Đây là một
công nghệ giúp chúng ta chuyển đổi hình ảnh của chữ viết tay hoặc đánh máy thành ký
tự đã được mã hóa trong máy tính. Giả sử chúng ta cần chỉnh sửa một số tài liệu giấy
như: Các bài viết trên tạp chí, tờ rơi hay tập tin PDF hình ảnh. Rõ rành chúng ta không
thể sử dụng một máy quét để chuyển các tài liệu này thành tập tin văn bản để có thể
chỉnh sửa.
Tất cả những gì máy quét có thể làm là tạo ra một hình ảnh hoặc một bản chụp
của các tài liệu. Để giải nén giải nén và sử dụng lại từ tài liệu được quét, hình ảnh máy
ảnh hoặc hình ảnh tập tin PDF, chúng ta cần một phần mềm OCR. Nó sẻ xuất ra ký tự
trên hình ảnh, ghép chúng thành từ và sau đó ghép các từ thành câu hoàn chỉnh. Nhờ
vậy, chúng ta có thể truy cập và chỉnh sửa nội dung của tài liệu gốc.
Nhận thức được điều đó nhóm sinh viên chúng em bộ môn Công nghệ phần mềm
của Trường Đại học Công nghiệp Thực phẩm đã tìm hiểu và biên soạn tài liệu này với

các tiêu chí ngắn gọn, dể hiểu. Từ đó tài liệu giúp độc giả hiểu rõ hơn, tạo điều kiện cho
các bạn học tập và nghiên cứu về công nghệ OCR.
Nội dung tài liệu gồm 4 chương:
Chương 1: Giới thiệu tổng quan về công nghệ OCR
Chương 2: Ưu điểm và nhược điểm của công nghệ OCR
Chương 3: Ứng dụng và một số phần mềm phổ biến hiện nay
Chương 4: Giới thiệu hệ thống mã nguồn mở tesseract OCR
Trong quá trình biên soạn, chắc chắn không tránh khỏi sai sót, kính mong quý
độc giả quan tâm góp ý và chia sẻ những nội dung còn khiếm khuyết để Nhóm chúng
em bổ sung hoàn thiện kịp thời đáp ứng tốt nhất yêu cầu của bạn đọc.
Trân trọng cảm ơn!


MỤC LỤC
1. Chương 1 Giới thiệu về công nghệ OCR....................................................................2
1.1. Tổng quan.............................................................................................................2
1.2. Khái niêm.............................................................................................................3
1.3. Lịch sử phát triển .................................................................................................3
1.4. Yêu cầu phần cứng, phần mềm............................................................................3
1.5. Yêu cầu giao diện và chức năng...........................................................................3
2. Chương
2
Ưu
điểm

nhược
điểm
công
nghệ


OCR...................................................4
2.1. Ưu
điểm

của

công

nghệ

OCR................................................................................4
2.2. Nhược điểm của công nghệ OCR.........................................................................5
3. Chương 3 Ứng dụng và một số phần mềm phổ biến...................................................6
3.1. Phần mềm nhận dạng OCR- Soda PDF................................................................6
3.2. Nuance OmniPage - Phần mềm nhận dạng chữ in OCR trên Windows..............6
3.3. Phần mềm nhận dạng chữ Adobe Acrobat DC....................................................7
3.4. Ứng dụng nhận dạng chữ Nuance PaperPort Professional...................................8
3.5. Ứng dụng phần mềm nhận dạng chữ IONE.........................................................9
4. Chương 4 Giới thiệu hệ thống mã nguồn mở tesseract OCR....................................10
4.1. Giới thiệu về bộ nhận dạng ký tự quang học Tesseract.......................................10
4.2. Lịch sử phát triển.................................................................................................10
4.3. Tiến trình nhận dạng sử dụng Tesseract OCR....................................................14
4.4. Đánh giá độ chính xác nhận dạng Tesseract OCR.............................................15

CHƯƠNG 1: GIỚI THIỆU VỀ CÔNG NGHỆ OCR
1.1 Tổng quan
Qui trình chung của một hệ thống nhận dạng chữ có nhiều phương pháp để tạo
ra một phần mềm dạng OCR, độ chính xác của các phương pháp này phụ thuộc vào



công nghệ tạo nên phần mềm. Các phương pháp này đạt được độ tin cậy trong các hình
ảnh có chất lượng tốt và vừa. Độ chính xác của việc rút trích văn bản là điều quan trọng
nhất. Nhóm tác giả Kirill Safronov cho rằng một số sai sót trong quá trình chuyển đổi
thường không quá quan trọng trừ các trường hợp như rút trích số serial từ ảnh chụp,...
Để khắc phục tình trạng kết quả xuất ra không chính xác của công nghệ OCR, nhiều
công nghệ khác đã ra đời, tác giả A. Vinutha M H đã ứng dụng định hướng robot
(Optical Character Recognition Based Auto Navigation of Robot). Việc định hướng của
robot dựa vào bảng tính hiệu như là một cột mốc đánh dấu đường đi tiếp theo của
robot. Định hướng tự động của các robot trong một vùng lớn đòi hỏi nhiều bảng tín
hiệu khác nhau với mô hình nhận dạng duy nhất.
Ngoài ra, hệ thống này còn cho phép nhận diện vị trí tên riêng. Bên cạnh việc cải
thiện độ chính xác, cần có sự thay đổi kích thước của thiết bị nhận dạng, tác giả Ali
Ahmadi đã đề cập trong nghiên cứu của mình, tốc độ xử lý và độ chính xác cao là yêu
cầu lớn hiện nay của các thiết bị nhận dạng ký tự dạng nhỏ, ví dụ như bút biết nhận
dạng. Nhưng dù có nhiều mặt hàng loại này được chào bán trên thị trường nhưng nó
vẫn không đáp ứng nhu cầu sử dụng và kích thước thiết bị. Ngoài sự đa dạng trong
cách thức nhận dạng, OCR còn đa dạng về cách dùng, nó được chia thành hai cách,
dùng online và dùng offline, có nhận xét về hai cách dùng này như sau:


Nhận dạng offline: nhận dạng các văn bản in ra giấy hoặc các bản viết tay và nó
đòi hỏi quá trình scan trên mặt giấy hoặc mặt vật liệu có chữ. Cách này thường đòi hỏi
con người phải thực hiện một số thao tác như phân loại, lưu trữ và chỉnh sửa văn bản
trước khi scan.

 Nhận dạng online: thường chỉ được dùng cho nhận dạng chữ viết tay được lưu trữ ở

dạng kỹ thuật số, thông thường để scan dạng này chúng ta thường dùng một loại bút
đặc biệt nhưng do sự thành công của các nghiên cứu gần đây mà giờ đã có các thiết bị
khác thay thế. Việc nhận dạng online nhằm giúp con người giao tiếp với máy tính tốt

hơn bằng cách viết tay thay vì gõ phím
1.2 Khái Niệm:
Nhận dạng ký tự quang học (tên tiếng anh là Optical Character Recognition –
OCR) là kỹ thuật được sử dụng để chuyển đổi ảnh văn bản sang dạng văn bản có thể


chỉnh sửa trong máy tính. Đầu vào của quá trình này là tập tin hình ảnh và đầu ra sẽ là
các tập tin văn bản chứa nội dung là các chữ viết, kí hiệu có trong hình ảnh đó.
Nhận dạng ký tự quang học (dùng các kỹ thuật quang học chẳng hạn như gương
và ống kính) và nhận dạng ký tự số (sử dụng máy quét và các thuật toán máy tính) lúc
đầu được xem xét như hai lĩnh vực khác nhau. Bởi vì chỉ có rất ít các ứng dụng tồn tại
với các kỹ thuật quang học thực sự, bởi vậy thuật ngữ Nhận dạng ký tự quang học
được mở rộng và bao gồm luôn ý nghĩa nhận dạng ký tự số.

1.3 Lịch sử phát triển
Khái niệm về OCR lần đầu tiên được đề xuất bởi nhà khoa học người Đức
Tausheck vào năm 1929. Trong giai đoạn đầu của nghiên cứu, phương pháp nhận dạng
văn bản chủ yếu được nghiên cứu và việc nhận dạng văn bản chỉ từ 0 đến 9 số.Từ năm
1965 đến 1970, nó bắt đầu có một số sản phẩm đơn giản. Phần mềm OCR ban đầu
không đáp ứng các yêu cầu thực tế do nhiều yếu tố như tỷ lệ nhận dạng và sản xuất.
Trong khi đó, vì chi phí thiết bị phần cứng cao, tốc độ chạy chậm, cũng không đạt mức
thực tế. Phần mềm OCR chỉ được sử dụng bởi các bộ phận riêng lẻ, chẳng hạn như bộ
phận thông tin và các tổ chức báo chí và xuất bản. Từ những năm 1990, với ứng dụng
rộng rãi của máy quét nền tảng và phổ biến tự động hóa thông tin và tự động hóa văn
phòng tại Trung Quốc, công nghệ OCR đã thúc đẩy sự phát triển hơn nữa của nó, làm
cho độ chính xác và tốc độ của nhận dạng OCR đáp ứng yêu cầu của đa số người dùng.
1.4 Yêu cầu phần cứng, phần mềm
Phần cứng: Window
Phần mềm: Microsoft Visual Studio 2010



Đối tượng sử dụng: Mọi ngành, mọi lĩnh vực như tài chính, y tế, giáo dục, giải trí, văn
hóa và thể thao, công nghệ thông tin, viễn thông.. cần xây dựng và ứng dụng hệ thống
công nghệ thông tin thì đều có nhu cầu cần sử dụng công nghệ:
 Đối với cá nhân: Sinh viên, học sinh, nhân viên dùng để lưu trữ văn bản,hình

ảnh ... trở nên dễ dàng,sao lưu nhanh chóng,tiết kiệm dữ liệu.
 Đối với tổ chức/doanh nghiệp: Ngân hàng, Y tế,Giáo dục,Tư Pháp..đơn giản hóa
các thủ tục vào quy trình làm việc,tăng năng suất lao động,tối ưu hóa các chi phí.
1.5 Yêu cầu giao diện và chức năng
Về giao diện có các giao diện chính sau:









Giao diện menu
Giao diện chọn ảnh đầu vào
Giao diện ảnh đầu ra
Giao diện lưu kết quả
Các chức năng cần thiết trong từng giao diện
Chức năng chọn ảnh đầu vào
Chức năng xử lý ảnh đầu vào
Chức năng lưu kết quả xử lý

CHƯƠNG 2: ƯU VÀ NHƯỢC ĐIỂM CỦA CÔNG NGHỆ OCR

2.1 Ưu điểm của công nghệ OCR:
a) Hỗ trợ cuộc sống của người già, người khiếm thị


Vào những năm 1970, công ty Kurzweil Computer Products Inc của Mỹ đã cho ra
đời hệ thống phông chữ Omni đầu tiên trên thế giới. Phần mềm OCR có khả năng nhận
dạng phông chữ này. Ngay lập tức, công nghệ OCR đã được tích hợp với công nghệ
tổng hợp giọng nói (giọng máy), giúp máy có khả năng đọc hiểu văn bản. Nói cách
khác, văn bản không chỉ được phần mềm OCR giải mã, mà còn được công cụ tổng hợp
giọng nói đọc ra thành tiếng. Giọng nói vi tính hóa đã được ứng dụng vào việc đọc văn
bản trong sách, báo, tạp chí cho người cao tuổi, người khiếm thị, giúp cuộc sống của họ
trở nên nhẹ nhàng hơn.
b) Sắp xếp tài liệu trong các công ty luật và toà án

Trong mỗi vụ án, các giấy tờ tài liệu pháp lí, hồ sơ rất nhiều và phức tạp. Để đảm
bảo không bỏ sót bất kì chi tiết, giấy tờ nào quan trọng, luật sư phải sắp xếp và tìm
kiếm mất rất nhiều thời gian. Nhờ phần mềm OCR, các luật sư có thể số hóa tất cả các
văn bản một cách vô cùng nhanh chóng. Khi cần, họ dễ dàng tìm tài liệu theo từ khoá,
ngày tháng, tên tệp… một cách đơn giản, tiện lợi và khoa học. Điều này đồng nghĩa với
việc, luật sư không phải thuê nhiều trợ lí để thực hiện các nhiệm vụ thủ công, mà vẫn
đảm bảo giám sát được công việc.
c) Bảo tồn các văn bản có giá trị
Các thư viện cổ, trung tâm văn hóa lịch sử hay viện bảo tàng… là những nơi lưu trữ
rất nhiều các bản thảo, tài liệu, hồi kí… Quá trình cất giữ và bảo quản những tài liệu
này không hề đơn giản. Chúng rất dễ bị mối mọt và hư hại theo thời gian. Việc nhập
liệu thủ công chính xác và đầy đủ lượng văn bản khổng lồ đấy là điều vô cùng khó
khăn và vất vả, có thể mất tới hàng chục năm. Tuy nhiên, công nghệ OCR ra đời đã
giúp nhiều tổ chức giải quyết bài toán đó một cách đơn giản hơn. Các văn bản, tài liệu
quan trọng được chuyển đổi từ dạng giấy sang file mềm, giúp việc lưu trữ và bảo tồn
nhiều di sản văn học trở nên dễ dàng hơn.

d) Nhận dạng cá nhân

Khi đăng kí mở tài khoản ngân hàng, mở thẻ thành viên hay bất kì một hành động
nào cần phải xác minh danh tính, bạn đều phải cung cấp thông tin cá nhân đúng và đầy


đủ với các bên đối tác. Quá trình kê tờ khai mất kha khá thời gian của bạn và bên làm
dịch vụ. Đôi khi, nhập liệu sai dẫn đến những rắc rối không đáng có về sau. Với phần
mềm OCR, các tài liệu pháp lí như chứng minh nhân dân, hộ chiếu, bằng lái xe và
nhiều loại giấy tờ khác đều có thể được quét nhanh chóng bởi các văn phòng công
chứng, phòng cảnh sát, sân bay và nhiều tổ chức, dịch vụ cần xử lí thông tin cá nhân.
Đối với các giấy tờ tùy thân không quá nhiều kí tự, công nghệ OCR có khả năng nhận
dạng chính xác gần như tuyệt đối, giảm thiếu tối đa lỗi nhập liệu. Hơn thế nữa, việc
nhận dạng và trích xuất thông tin bằng máy giúp các cơ quan, đơn vị, tổ chức dễ dàng
lưu trữ thông tin và có thể truy xuất thông tin người dùng bất cứ lúc nào.
e) Xử lí hóa đơn và nhiều loại chứng từ

Tất cả các cơ quan, tổ chức đều có hàng nghìn các loại giấy tờ, tài liệu, với nhiều
định dạng khác nhau như các văn bản in/viết tay trên giấy, file PDF, JPG… Các nhân
viên khó có thể nhập tất cả các dữ liệu đó vào hệ thống, hoặc phải tốn rất nhiều thời
gian để xử lí khối lượng giấy tờ không hồi kết đó. Hơn thế, xác suất sai sót trong nhập
liệu khá lớn.
Nhiều cơ quan, tổ chức chọn giải pháp chuyển đổi các hợp đồng, hóa đơn, chứng từ
và nhiều loại giấy tờ khác thành văn bản dưới dạng kĩ thuật số, để tiện sử dụng dữ liệu
đó cho các báo cáo tài chính, lưu trữ hay trao đổi tài liệu. Và phần mềm OCR là sự lựa
chọn tuyệt vời.
Hiện nay, hơn 60% các công ty lớn trên toàn thế giới đã sử dụng OCR để nhập dữ
liệu cho nhiều bước trong quy trình hoạt động của doanh nghiệp. Công nghệ OCR cho
phép các công ty tự động lưu trữ dữ liệu vào hệ thống, dễ dàng tích hợp, chuyển đổi
hay liên kết đến một nền tảng khác như qua email, fax hoặc EDI truyền thống.

Công nghệ OCR ngày càng trở nên phổ biến bởi những tiện ích mà nó mang lại cho
cả các cơ quan tổ chức cũng như người dùng. Trong tương lai không xa, OCR sẽ được
tích hợp với rất nhiều công nghệ tiên tiến khác, để tạo ra những sản phẩm đột phá phục
vụ nhiều hoạt động của con người.
Ở Việt Nam, một trong những sản phẩm được tích hợp công nghệ OCR có tính
chính xác cao nhất trên thị trường đó là FPT.AI Vision, được phát triển bởi Ban công
nghệ, thuộc tập đoàn FPT. Đây là giải pháp nhận dạng và trích xuất thông tin trên các


giấy tờ tùy nhân như chứng minh nhân dân, giấy phép lái xe, hộ chiếu… có độ chính
xác lên đến 98%, dẫn đầu thị trường về chất lượng nhận diện.
Ngoài ra, công nghệ OCR của FPT.AI còn có khả năng nhận dạng và trích xuất
thông tin trên các loại giấy tờ như hóa đơn, hợp đồng và nhiều yêu cầu riêng tùy nhu
cầu của từng đối tác. FPT.AI Vision giúp các doanh nghiệp số hóa giấy tờ và nhận diện
thông tin khách hàng nhanh chóng. Nhờ có OCR, thời gian nhập liệu được rút ngắn,
thông tin có độ chính xác cao, giúp tiết kiệm thời gian, công sức và chi phí hoạt động.
2.2 Nhược điểm của công nghệ OCR
Những hạn chế của OCR - Đa số những phần mềm, ứng dụng chứa OCR chỉ có
khả năng nhận dạng chính xác khoảng 80-90% dựa vào hình ảnh rõ nét. ...
Ngoài ra, ở thời điểm hiện tại khi các ngôn ngữ ngày càng trở nên phong phú thì
công nghệ OCR lại chưa thể đáp ứng đa ngôn ngữ. OCR chưa hỗ trợ support cho tất cả
ngôn ngữ.
Các chương trình hỗ trợ OCR có thể nhận dạng ký tự với tỷ lệ trên 90% đối với
chất lượng hình ảnh rõ nét và font chữ thông thường. Đối với hình chất lượng kém, font
chữ đặc biệt hoặc chữ viết tay thì kết quả cho ra không mấy khả quan. Đối với văn bản
Tiếng Việt thì tỷ lệ phần trăm chính xác không cao so với các văn bản ngôn ngữ khác.

CHƯƠNG 3: ỨNG DỤNG VÀ MỘT SỐ PHẦN MỀM PHỔ BIẾN
1. Phần mềm nhận dạng OCR - Soda PDF
Nền tảng: Windows, Mac, Web.



Hồ trợ: giấy, ảnh , file PDF, có thể chỉnh sửa .
1.1. Ưu điểm
 Dành được cho 2 phiên bản: web và máy tính.
 Hỗ trợ với 300 định dạng file .

1.2. Nhược điểm
 Chỉ xuất được ra file PDF .
 Người dùng cần trả phí hàng năm.

Nếu bạn mong muốn tài liệu của mình xuất ra luôn được lưu dưới dạng file PDF,
vậy thì Soda là ứng dụng hoàn hảo để bạn cân nhắc nhất. Với sự hỗ trợ định dạng lên
tới 300 file.
Bên cạnh đó, khi dữ liệu đã scan thành PDF, bạn có thể dễ dàng chỉnh sửa nội dung
văn bản, thêm chú thích, diễn giải… Ứng dụng cung cấp tính năng gửi và theo dõi hợp
đồng.
Ngoài ra, ứng dụng cho phép bạn dùng thử trước khi quyết định mua. Vì vậy, hãy
cân nhắc để lựa chọn cho mình nhé!

2. Nuance OmniPage - Phần mềm nhận dạng chữ in OCR trên nền tảng Windows
Nền tảng: Windows.


Hỗ trợ: giấy, ảnh, PDF, có thể chỉnh sửa.
Hỗ trợ đa thiết bị: Không.
2.1. Ưu điểm
 Hỗ trợ nhiều nền tảng.
 Giải quyết được khối lượng văn bản lớn cùng lúc.


2.2. Nhược điểm
 Tính năng đơn giản nếu sử dụng cho các doanh nghiệp lớn.
 Chỉ hỗ trợ hệ windows.

Nuance là công ty phần mềm Hoa Kỳ, đây là cái tên uy tín trong lĩnh vực OCR.
Ứng dụng Omnipage là phần mềm hàng đầu của hãng hỗ trợ chuyển đổi scan sang máy
tính cục bộ hoặt network nhanh và hiệu quả.
Bên cạnh đó, Nuance Omnipage còn giúp hỗ trợ giải quyết số lượng tài liệu lớn từ
nhiều thiết bị, nén dữ liệu và chuyển đổi dữ liệu. Thêm vào đó, bạn có thể dễ dàng biến
văn bản trên giấy, form, hay ảnh sang dạng file kỹ thuật dễ chỉnh sửa.

3. Phần mềm nhận dạng chữ Adobe Acrobat DC


Nền tảng: Windows, Mac.
Hỗ trợ: giấy, ảnh, file PDF. Có thể chỉnh sửa.
3.1. Ưu điểm
 Sản phẩm của công ty uy tín, có thương hiệu Adobe.
 Nhiều tính năng đặc trưng và hữu ích.

3.2. Nhược điểm
 Không hỗ trợ Ebook.
 Giá thành cao.

Adobe Acrobat là một phần mềm nhận dạng chữ OCR được công nhận và sử dụng
rộng rãi. Với giao diện thân thiện và dễ dàng sử dụng, sản phẩm cho phép xuất dữ liệu
sang Microsoft Office nhanh chóng và chính xác. Mặc dù không thể tạo trên eBooks,
nhưng bạn có thể tạo thành file PDF thay thế. Đặc biệt, Adobe Acrobat còn hỗ trợ thêm
chữ ký điện tử và những thông tin quan trọng khác vào văn bản.



4. Ứng dụng nhận dạng chữ Nuance PaperPort Professional
Nền tảng: Windows.
Hỗ trợ: giấy , ảnh , file PDF. Có thể chỉnh sửa.
Hỗ trợ đa thiết bị: Không.
4.1. Ưu điểm
 Mức giá phù hợp.
 Hoàn hảo và chuyên nghiệp cho mục đích bản thân.

4.2. Nhược điểm
 Không đủ mạnh khi sử dụng cho doanh nghiệp.
 Chỉ hỗ windows.

Nuance PaperPort Professional là phần mềm phù hợp cho các doanh nghiệp nhỏ và
độc lập. Sản phẩm cung cấp biện pháp scan, quản lý và tìm kiếm chia sẻ tài liệu bao
gồm văn bản giấy, file PDF, văn bản pháp lý và ảnh.


5. Ứng dụng phần mềm nhận dạng chữ IONE
Nền tảng: Windows.
Hỗ trợ: giấy , ảnh , file PDF. Có thể chỉnh sửa.
5.1. Ưu điểm
 Mức giá phù hợp.
 Hoàn hảo sử dụng cho cả cá nhân hoặc doanh nghiệp
 Hỗ trợ nhiều nền tảng.
 Giải quyết được số lượng tài liệu lớn cùng lúc.

5.2. Nhược điểm
 Người dùng cần trả phí hằng năm.


Ứng dụng OCR có thể bóc tách đc sổ đỏ, CMND, các tờ trình văn bản hợp đồng…
Việc áp dụng các công nghệ OCR của IONE giúp công việc quản lý, biên soạn lại các


tài liệu dạng ảnh, tìm kiếm tài liệu của doanh nghiệp hay các cơ quan nhà nước trở nên
đơn giản và thuận tiện. Đặc biệt với tài liệu có số lượng cực lớn như sổ đó, CMND việc
nhâp thông tin lên hệ thống không còn là công việc tốn thời gian, công sức của các cơ
quan nhà nước. Sử dụng IONE là giải pháp giúp nâng cao chất lượng làm việc và phục
vụ người dân và khách hàng. Cùng tìm hiểu thêm về ứng dụng IONE qua bài viết:
IONE - Công nghệ nhận dạng và bóc tách thông tin vượt trội ứng dụng OCR.

CHƯƠNG 4: GIỚI THIỆU MÃ NGUỒN MỞ TESSERACT OCR
4.1 Giới thiệu về bộ nhận dạng ký tự quang học Tesseract
Nhận dạng ký tự quang học (tên tiếng anh là Optical Character Recognition – OCR)
là kỹ thuật được sử dụng để chuyển đổi ảnh văn bản sang dạng văn bản có thể chỉnh
sửa trong máy tính. Đầu vào của quá trình này là tập tin hình ảnh và đầu ra sẽ là các tập
tin văn bản chứa nội dung là các chữ viết, ký hiệu có trong hình ảnh đó.
4.2 Lịch sử
Tesseract là một phần mềm mã nguồn mở và ban đầu nó được nghiên cứu và phát
triển tại hãng Hewlett Packet (HP) trong khoảng từ năm 1984 đến 1994. Vào năm 1995,
Tesseract nằm trong nhóm ba bộ nhận dạng OCR đứng đầu về độ chính xác khi tham
gia trong hội nghị thường niên của tổ chức UNLV. Lúc mới khởi động thì Tesseract là
một dự án nghiên cứu tiến sĩ tại phòng thí nghiệm HP ở Bristol và đã được tích hợp vào
trong các dòng máy quét dạng phẳng của hãng dưới dạng các add-on phần cứng hoặc
phần mềm. Nhưng thực tế dự án này đã thất bại ngay từ trong trứng nước vì nó chỉ làm
việc hiệu quả trên các tài liệu in có chất lượng tốt. Sau đó, dự án này cùng với sự cộng


tác của bộ phận máy quét HP ở bang Colorado đã đạt được một bước tiến quan trọng về
độ chuẩn xác khi nhận dạng và vượt lên nhiều bộ nhận dạng OCR thời đó nhưng dự án

đã không thể trở thành sản phẩm hoàn chỉnh vì độ cồng kềnh và phức tạp. Sau đó, dự
án được đưa về phòng thí nghiệm của HP để nghiên cứu về cách thức nén và tối ưu mã
nguồn. Dự án tập trung cải thiện hiệu năng làm việc của Tesseract dựa trên độ chính
xác đã có. Dự án này được hoàn tất vào cuối năm 1994 và sau đó vào năm 1995 bộ
Tesseract được gửi đi tham dự hội nghị UNLV thường niên về độ chính xác của OCR,
vượt trội hơn hẳn so với các phần mềm OCR lúc bấy giờ. Tuy nhiên, Tesseract đã
không thể trở thành một sản phẩm thương mại hoàn chỉnh được và vào năm 2005, HP
đã chuyển Tesseract sang mã nguồn mở và được hãng Google tài trợ. Tesseract cho đến
nay vẫn được nhiều nhà phát triển cộng tác và tiếp tục hoàn thiện. Phiên bản mới nhất
của bộ nhận dạng Tesseract là phiên bản 3.0.1.
Phần mềm thương mại Bộ nhận dạng Tesseract Hỗ trợ hơn 100 ngôn ngữ Hỗ trợ
trên 40 ngôn ngữ và đang tăng dần Có giao diện đồ họa Không hỗ trợ giao diện đồ họa
(dùng Command Line để gõ lệnh) Hầu hết chỉ hỗ trợ trên nền tảng Windows Hỗ trợ
trên Windows, Linux, Mac OS Độ chính xác cao mới đây Độ chính xác cao từ năm
1995 Chi phí khá cao 130$ - 500 $ Hoàn toàn miễn phí (mã nguồn mở).
So sánh phần mềm thương mại và Tesseract Vì Tesseract hiện nay là bộ thư viện mã
nguồn mở hoàn toàn miễn phí nên trên thế giới đã có nhiều phần mềm nhận dạng ký tự
quang học ra đời dựa trên bộ Tesseract với giao diện và các tính năng dễ sử dụng hơn
so với giao diện đơn giản của Tesseract ban đầu như: VietOCR cho nhận dạng tiếng
Việt, Tessenet2 bộ nhận diện Tesseract trên nền .Net của Microsoft, giao diện Java
(Java GUI frontend) cho Tesseract… Ngôn ngữ Tổng số ký tự (triệu) Tổng số từ (triệu)
Lỗi ký tự (%) Lỗi từ (%) Tiếng Anh 39 4 0.5 3.72 Tiếng Nga 213 26 0.75 5.78 Tiếng
Hoa giản thể 0.25 không xác định 3.77 không xác định Tiếng Hindi 1.4 0.33 15.41
69.44.
Độ chính xác của Tesseract trên một số ngôn ngữ 5 2.1.2 Kiến trúc hoạt động đầu
tiên, bộ nhận diện Tesseract sẽ nhận đầu vào là ảnh màu hoặc ảnh mức xám. Ảnh này
sẽ được chuyển đến bộ phận phân tích ngưỡng thích ứng (adaptive thresholding) để cho
ra ảnh nhị phân. Vì trước kia HP cũng đã phát triển bộ phận phân tích bố cục trang nên
Tesseract không cần phải có thành phần đó và được thừa hưởng từ HP. Vì thế mà
Tesseract nhận đầu vào là một ảnh nhị phân với các vùng đa giác tùy chọn đã được xác

định. Ban đầu, Tesseract được thiết kế làm việc trên ảnh nhị phân sau đó chương trình


được cải tiến để có thể nhận dạng cả ảnh màu và ảnh mức xám. Chính vì thế mà cần bộ
phận phân tích ngưỡng thích ứng để chuyển đổi ảnh màu / ảnh mức xám sang ảnh nhị
phân. Sau đó quá trình nhận dạng sẽ được thực hiện tuần tự theo từng bước:
+ Bước đầu tiên là phân tích các thành phần liên thông. Kết quả của bước này sẽ là
tạo ra các đường bao quanh các ký tự. ·
+ Bước thứ hai là tìm hàng và tìm từ, kết quả của bước này cũng giống như bước
trên sẽ tạo ra các vùng bao quanh các hàng chữ và ký tự chứa trong vùng văn bản. ·
+ Bước tiếp theo sẽ là nhận dạng từ. Công đoạn nhận dạng từ sẽ được xử lý qua 2
giai đoạn. Giai đoạn đầu sẽ là nhận dạng các từ theo lượt. Các từ thỏa yêu cầu trong
giai đoạn này sẽ được chuyển sang bộ phân loại thích ứng (adaptive classifier) để làm
dữ liệu huấn luyện. Chính nhờ đó mà bộ phân loại thích ứng sẽ có khả năng nhận diện
được chính xác hơn ở phần sau của trang. Sau khi bộ phân loại thích ứng đã học được
các thông tin có ích từ giai đoạn đầu khi nhận dạng phần trên của trang thì giai đoạn thứ
2 của việc nhận dạng sẽ được thực hiện. Giai đoạn này sẽ quét hết toàn bộ trang, các từ
không được nhận diện chính xác ở giai đoạn đầu sẽ được nhận diện lại lần nữa. Cuối
cùng bộ nhận diện sẽ tổng hợp lại các thông tin ở trên và cho ra kết quả nhận diện hoàn
chỉnh. 6 2.1.3 Huấn luyện dữ liệu trên tesseract Tesseract ban đầu được thiết kế để nhận
dạng các từ tiếng Anh trên ngôn ngữ hệ Latinh. Sau này, nhờ sự cố gắng của nhiều nhà
phát triển mà các phiên bản của Tesseract đã có thể nhận diện các ngôn ngữ khác ngoài
hệ Latinh như tiếng Trung, tiếng Nhật và tương thích với các ký tự trong bảng mã UTF8. Việc nhận dạng các ngôn ngữ mới trên Tesseract có thể thực hiện được nhờ vào việc
huấn luyện dữ liệu. Từ phiên bản 3.0 trở đi, Tesseract đã có thể hỗ trợ thêm nhiều dạng
ngôn ngữ mới và mở rộng thêm việc huấn luyện theo font chữ. Bởi vì ban đầu, bộ
Tesseract được huấn luyện để nhận diện từ chính xác nhất trên một số loại font mặc
định, nếu sử dụng các font chữ khác để nhận diện thì có thể kết quả sẽ không có độ
chính xác cao khi làm việc với các loại font được cài đặt sẵn trong dữ liệu huấn luyện.
Để thực hiện quá trình huấn luyện thì ta phải sử dụng công cụ có sẵn của Tesseract.
Mặc định trong luận văn này, sử dụng công cụ Tesseract 3.01 cho việc thực hiện huấn

luyện ngôn ngữ và font mới. Để huấn luyện dữ liệu trên Tesseract (hoặc ngôn ngữ mới)
thì ta cần một tập các tập tin dữ liệu chứa trong thư mục tessdata, sau đó kết hợp các
tập tin này thành tập tin duy nhất. Các tập tin có trong thư mục tessdata có quy tắc đặt
tên theo dạng: tên_ngôn_ngữ.tên_tập tin. Ví dụ các tập tin cần thiết khi thực hiện việc
huấn luyện tiếng Anh: tessdata/eng.config. tessdata/eng.unicharset: Tập ký tự của


ngôn ngữ huấn luyện. tessdata/eng.unicharambigs. tessdata/eng.inttemp: Danh mục
cho tập hợp các ký tự. tessdata/eng.pffmtable: Tập tin dạng hộp – sử dụng để xác định
ký tự có trong tập tin huấn luyện. tessdata/eng.normproto: Như tập tin pffmtable.
tessdata/eng.punc-dawg. tessdata/eng.number-dawg. tessdata/eng.freq-dawg: Danh
sách các từ tổng quát. tessdata/eng.word-dawg: Danh sách các từ thông thường. ·
tessdata/eng.user-word: Danh sách từ của người dùng (tùy chọn có thể có hoặc không).
+ Bước cuối cùng sẽ tổng hợp dữ liệu từ bước trên và phát sinh ra tập tin dữ liệu
duy nhất có dạng: tessdata/eng.traineddata. Các tập tin cần thiết cho việc huấn luyện
dữ liệu sẽ được phát sinh khi ta sử dụng công cụ có sẵn để qua quá trình huấn luyện.
Tổng hợp lại ta có:
1

Sinh hình ảnh huấn luyện

2

Tạo các tập tin *.box

3

Bắt đầu chạy huấn luyện Tesseract

4


Clustering (tập hợp lại)

5

Thêm dữ liệu từ điển (tùy biến)

Tổ hợp kết quả lại với nhau: Trong việc ứng dụng Tesseract enginer cho nhận
dạng ký hiệu toán học, thực chất các vấn đề khó khăn nhất nằm ở khâu huấn luyện
hơn là các vấn đề về lập trình và tích hợp phần mềm.
6

Quá trình huấn luyện ngôn ngữ và font mới Để trải qua quá trình huấn luyện
ngôn ngữ hoặc loại font mới trên Tesseract ta cần thực hiện thông qua các giai đoạn
sau:
7

Phát sinh các tập tin hình ảnh cho việc huấn luyện: Đây là bước đầu tiên nhầm xác
định tập ký tự sẽ được sử dụng trong việc huấn luyện. Trước hết ta cần chuẩn bị sẵn
một tập tin văn bản chứa các dữ liệu huấn luyện (trường hợp cụ thể là một đoạn văn
bản). Việc tạo ra tập tin huấn luyện cần theo các quy tắc sau:
Bảo đảm số lần xuất hiện ít nhất của các ký tự trong mẫu từ khoảng 5 đến 10 lần
cho một ký tự. Nên có nhiều mẫu cho các từ xuất hiện thường xuyên, ít nhất là 20 lần.
Các dữ liệu huấn luyện nên được chia theo kiểu font, mỗi tập tin huấn luyện chỉ nên


chứa 1 loại font nhưng có thế huấn luyện nhiều loại font cho nhiều tập tin. Không nên
kết hợp nhiều loại font trong riêng một tập tin huấn luyện. Sau khi đã chuẩn bị mẫu
văn bản dùng cho việc huấn luyện thì ta cần phát sinh ra ảnh từ tập tin đó. Dùng các
phần mềm để chuyển tập tin mẫu văn bản sang dạng tập tin ảnh hoặc in mẫu văn bản

sau đó quét thành tập tin hình ảnh dạng .tif với độ phân giải là 300dpi. Tập tin cuối
cùng trước khi thực hiện việc huấn luyện là tập tin ảnh dạng .tif. Tạo các tập tin dạng
hộp .box: Một dạng tập tin để Tesseract có thể huấn luyện dựa trên các dữ liệu hình
ảnh đã có bước đầu là tập tin dạng hộp – box. Tập tin dạng hộp là tập tin văn bản chứa
1 dãy các ký tự tuần tự từ đầu đến cuối trong tập tin hình ảnh, mỗi hàng chứa thông tin
của 1 ký tự, tọa độ và đường bao quanh ký tự đó trong tập tin ảnh. Để tạo ra tập tin
dạng hộp ta sẽ dùng cách gõ lệnh (trên Windows là CMD và Linux là Terminal) sau
(yêu cầu người dùng phải cài đặt công cụ Tesseract để có thể chạy được các lệnh này):
Sau khi thực hiện câu lệnh trên thì ta sẽ tạo ra được các tập tin dạng hộp .box. Chạy
công cụ Tesseract trên máy tính để thực hiện việc huấn luyện dữ liệu. Sau khi được tập
tin .box thì chúng ta cần 1 trình chỉnh sửa tập tin dạng hộp để kiểm tra lại và chỉnh sửa
lại các thông số của từng ký tự cho khớp với văn bản ban đầu trong tập tin ảnh huấn
luyện. Ở đây nhóm em dùng phần mềm jTextBoxEditor để chỉnh sửa trực tiếp tập tin
dạng hộp. Sau khi kiểm tra và chỉnh sửa lại các ký tự cho chính xác trong tập tin dạng
hộp thì thực hiện lệnh tiếp theo: Nếu thành công thì tại giai đoạn này, Tesseract sẽ phát
sinh ra tập tin . Ước lượng tập ký tự của ngôn ngữ cần huấn luyện: Tesseract cần biết
hết các tập ký tự có thể xuất hiện trong dữ liệu. Ta dùng lệnh sau: Sau khi thực hiện,
tập tin unicharset sẽ được tạo ra. Xác định kiểu font trong dữ liệu (từ phiên bản 3.0.1
trở đi): Đây là tính năng mới chỉ có từ phiên bản Tesseract 3.0.1 trở đi. Với tính năng
này người dùng có thể huấn luyện dữ liệu với nhiều loại font khác nhau thay vì chỉ có
thể dùng các font mặc định sẵn ở các phiên bản trước. Ta cần tạo tập tin
font_properties để quy định thông số các kiểu font ta đã sử dụng trong các mẫu văn
bản huấn luyện. Cấu trúc của tập tin font_properties là mỗi hàng chứa tên 1 loại font
huấn luyện và các đặc tính của font đó: (đánh dấu có thuộc tính bằng bit 1 hoặc không
có dùng bit 0). Ví dụ cấu trúc tập tin font_properties với dữ liệu huấn luyện là tiếng
Anh: Gom nhóm dữ liệu: Tại giai đoạn này thì các đường nét khung của ký tự đã được
rút trích ra và chúng ta cần gom nhóm lại các dữ liệu ban đầu để tạo ra mẫu thử
(prototype). Hình dạng, đường nét của các ký tự sẽ được gom nhóm lại nhờ vào
chương trình mftraining và cntraining có sẵn trong công cụ Tesseract: Với lệnh
mftraining sẽ tạo ra tập tin dữ liệu: inttemp (chứa hình dạng mẫu), pffmtable và

Microfeat nhưng ít khi sử dụng). Cuối cùng dùng công cụ cntraining sẽ tạo ra tập tin


dữ liệu normproto. Tạo tập tin unicharambigs. Kết hợp các tập tin lại tạo thành tập tin
huấn luyện dữ liệu: Cuối cùng sau khi đã có đủ các tập tin huấn luyện cần thiết
(inttemp, pffmtable, normproto, Microfeat) thì ta đổi tên các tập tin lại cho đúng dạng
với tiền tố lang. trước tên tập tin với lang là 3 ký tự đại diện cho ngôn ngữ huấn luyện
theo chuẩn ISO 639- 2 10 Kết quả là tạo ra tập tin lang.trainedata. Bỏ tập tin này vào
thưc mục tessdata của Tesseract thì Tesseract đã có thể nhận diện được ngôn ngữ hoặc
font chữ mới (theo lý thuyết).
4.3 Tiến trình nhận dạng sử dụng Tesseract OCR
Xác định dòng Mục đích của bước này là nhận dạng các dòng của các hình ảnh
bị nghiêng, giúp giảm sự mất thông tin khi nhận dạng ảnh nghiêng. Các bộ phận quan
trọng của quá trình này là lọc dãy màu (còn được gọi là blobs) và xây dựng dòng. Bước
này cũng giúp loại bỏ các văn bản có dropcap. 2.3.2 Thiết lập dòng cơ sở Khi dòng văn
bản được tìm thấy, các dòng cơ sở được thiết lập chính xác hơn bằng cách sử dụng một
đường có tên là spline toàn phương (là dòng mà được kết hợp từ nhiều đoạn). Nó giúp
Tesseract xử lý các trang có đường cơ sở là đường cong. Các dòng cơ sở được thiết lập
bằng cách phân vùng các blobs thành các nhóm có thể thay thế thích hợp liên tục trong
đường cơ sở thẳng ban đầu. Một spline toàn phương được thiết lập cho phân vùng dày
đặc nhất, (giả định là đường cơ sở) của một hình có phương ít nhất. Spline có lợi thế là
tính toán ổn định, nhược điểm là sự gián đoạn có thể xảy ra khi nhiều phân đoạn spline
được yêu cầu. Cắt nhỏ từ Tesseract sẽ xác định xem có các ký tự dính với nhau trong
một từ hay không. Nếu có nó sẽ cắt nhỏ các ký tự ra thành các ký tự riêng lẻ. Nhận
dạng khoảng cách giữa chữ hoặc số Xác định khoảng cách giữa các số hoặc giữa các
chữ là một vấn đề khá phức tạp. Tesseract giải quyết những vấn đề này bằng cách đo
khoảng cách trong một phạm vi hạn chế theo chiều dọc giữa dòng cơ sở và dòng trung
bình. Nhận dạng từ Quá trình nhận dạng một từ là quá trình phân tích một từ được chia
ra thành các ký tự như thế nào. Hình 2.3 Quá trình nhận dạng từ Khi kết quả xuất ra
một từ mà nó không thỏa mãn nhu cầu thì Teseract cố gắng cải thiện kết quả này bằng

cách cắt nhỏ các từ có nghĩa không tốt nhất. Nếu việc cắt nhỏ không làm tăng chất
lượng từ thì nó sẽ phục hồi lại từ trước đó
4.4 Đánh giá độ chính xác nhận dạng Tesseract OCR
Hình ảnh muốn được OCR cần quét ở độ phân giải từ 200 DPI (dot per inch) trở lên
tới 400 trong trắng đen hoặc grayscale. Quét ảnh với độ phân giải cao hơn nữa chưa
hẳn sẽ tăng sự chính xác của kết quả nhận dạng. Hiện tại, mức chính xác có thể lên trên
97% cho Tiếng Việt (ảnh chuẩn), và phiên bản tới của Tesseract có thể nâng cao độ
nhận dạng hơn nữa. Dầu vậy, độ chính xác thực thụ vẫn còn tùy thuộc rất lớn vào phẩm
chất của ảnh quét. Thông số tiêu biểu cho quét ảnh là 300 DPI và 1 bpp (bit per pixel)


trắng đen hoặc 8 bpp grayscale dạng không nén (uncompressed) TIFF hay PNG. PNG
nhỏ gọn hơn những dạng ảnh khác mà vẫn giữ được chất lượng cao nhờ sử dụng thuật
toán lossless data compression; TIFF có lợi điểm ở khả năng chứa nhiều trang ảnh
(multipage) trong một file. 17 Chế độ Screenshot Mode cung cấp độ nhận dạng tốt hơn
cho những hình ảnh có độ phân giải thấp, chẳng hạn như ảnh in màn hình, bằng cách
rescaling chúng tới 300 DPI.

KẾT LUẬN
Kết quả đạt được
 Về mặt lý thuyết:

Tìm hiểu và ứng dụng của Tesseract Ocr
 Về mặt ứng dụng thực tiễn:
Hiện nay tại Việt Nam đã có chương trình nhận dạng phiên bản Tiếng Việt có tên là
VnDOCR được Phòng nhận dạng và Công nghệ Tri thức – Viện Công nghệ Thông tin
nghiên cứu và phát triển. Bên cạnh đó còn có một dự án OCR Tiếng Việt có tên
VietOCR. Dự án này được phát triển dựa trên nền tảng mã nguồn mở tesseract-ocr do
Google tài trợ.



Chúng em đã tìm hiểu và cho ra một ứng dụng nhỏ demo, chương trình này vẫn
còn trong giai đoạn khởi đầu, tính năng và chất lượng nhận dạng chỉ ở mức trung bình.
Đối với các văn bản viết tay thì hầu như không thể nhận dạng được.
Vì thời gian triển khai có hạn, và việc tìm hiểu công nghệ mới còn gặp nhiều khó
khăn do không có nhiều tài liệu nên không tránh được những sai sót. Em rất mong nhận
được sự đóng góp ý kiến và hướng dẫn của thầy cô để đồ án thêm hoàn thiện.
Em xin chân thành cảm ơn!

TÀI LIỆU THAM KHẢO
1. />
su-dung-cong-nghe-ocr-nhan-dang-ky-tu-co-tien-xu-ly-va-hau-xu-ly-22300.htm?
2. />3. />4. />


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×