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

Phát hiện và nhận dạng văn bản trong video tt

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 (531.45 KB, 23 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-------------------------------

Ngô Ngọc Hà

PHÁT HIỆN VÀ NHẬN DẠNG VĂN BẢN TRONG VIDEO

Chuyên ngành: Hệ thống thông tin
Mã số: 8480104

TÓM TẮT LUẬN VĂN THẠC SĨ

HÀ NỘI - 2019


Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: TS. Vũ Hữu Tiến

Phản biện 1: PGS.TS. Nguyễn Hà Nam
Phản biện 2: TS. Vũ Văn Thỏa

Luận văn đã được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học
viện Công nghệ Bưu chính Viễn thông
Vào lúc: 10 giờ ngày 19 tháng 1 năm 2019

Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông


1



MỞ ĐẦU

1. Lý do chọn đề tài
Cùng với sự phát triển của công nghệ thông tin, ngoài những
điểm như tốc độ, dịch vụ internet được cải thiện rõ nét thì việc nội
dung đăng tải trên đó cũng tăng đến chóng mặt. Có thể kể ra như
Youtube có hơn 1 tỉ người dùng và mỗi ngày mọi người xem hàng
triệu giờ trên Youtube và tạo ra hàng tỉ lượt xem. Hay trung bình 13
người trên trái đất thì có 1 người dùng Facebook và đăng tải ít nhất 3
ảnh trên đó. Tính riêng số lượng video bài giảng, diễn thuyết… phục
vụ học tập cho mọi lứa tuổi đang được tải lên và chia sẻ trên internet
đã là một con số khổng lồ. E-Learning không còn là khái niệm mới lạ
với người dùng và đang phát triển mạnh mẽ. Bài giảng có thể ở nhiều
cách tiếp cận khác nhau, từ trình chiếu đến tư liệu quay phim ….
Trong thời điểm hiện tại, người dùng có nhu cầu học tập
dưới mọi loại tài liệu và mọi loại ngôn ngữ khác nhau, đặc biệt là
tiếng Anh, từ các bài hướng dẫn thủ thuật được chia sẻ miễn phí trên
Youtube hay tài liệu chuyên ngành. Tuy nhiên, sẽ bất tiện cho người
học khi liên tục phải xem hết tài liệu qua video. Từ đó đòi hỏi phải có
một công cụ có thể rút ngắn thời gian xem mà vẫn đáp ứng thu nhận
đầy đủ nội dung truyền tải từ tài liệu đó. Để làm được điều này, ta sẽ
sử dụng kỹ thuật nhận dạng ký tự quang học để nhận dạng nội dung
từ ảnh chụp trong video ra thành văn bản. Điều này vừa giữ nguyên


2
nội dung vừa giảm thiểu dung lượng lưu trữ, tái sử dụng dưới nhiều
mục đích khác nhau.
Từ ý nghĩa khoa học và thực tiễn nêu trên, học viên chọn đề

tài: “Phát hiện và nhận dạng văn bản trong Video”.

2. Tổng quan về vấn đề nghiên cứu
Những nghiên cứu ở Việt Nam và ngoài nước trong 20 năm
trở lại đây về vấn đề phát hiện và nhận dạng văn bản nói chung đều
chỉ ra rằng khối lượng thông tin đến từ nội dung của video là rất lớn.
Những thông tin được lấy ra được áp dụng vào những lĩnh vực khác
nhau như: giao thông, kho bãi, bán hàng hoặc thậm chí cả tìm kiếm
và dịch thuật… Tuy nhiên do những vấn đề khác nhau của dữ liệu
đầu vào như: chất lượng video, kiểu văn bản, kích thước văn bản …
đã đã trở ngại cho các nghiên cứu tìm ra được phương án tối ưu cho
vấn đề này
Mục tiêu chính của của Luận văn là tập trung nghiên cứu xây
dựng một công cụ như vậy để phát hiện và nhận dạng nội dung các
bài giảng, thuyết trình, trình diễn dưới dạng video. Người dùng chỉ
cần chọn video đầu vào, kết quả trả về sẽ là các nội dung dưới dạng
văn bản có trong video đó.
Vấn đề cần giải quyết ở trong đề tài này là giải pháp xử lý
video đầu vào. Phát hiện và nhận dạng văn bản có trong video. Đầu
tiên, video sẽ được phân tách thành từng ảnh nhỏ theo từng khung
hình với khoảng thời gian nhất định. Tiếp theo, các dữ liệu văn bản
chứa trong hình ảnh của khung hình được trích xuất bằng cách sử
dụng kĩ thuật nhận dạng kí tự quang học. Các văn bản trích xuất sẽ


3
được xử lý trùng lặp, và lưu trữ dưới dạng văn bản để người dùng có
thể đọc lại nội dung từ đó.

3. Mục đích nghiên cứu

- Tìm hiểu phương pháp phân đoạn ảnh từ video và trích xuất
văn bản .
- Cài đặt chương trình tìm kiếm thử nghiệm, đánh giá độ
chính xác của mô hình phát hiện và nhận dạng.

4. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu:
Các phương pháp xử lý video, phát hiện và nhận dạng ký tự quang
học.
Phạm vi nghiên cứu:
- Kỹ thuật xử lý video.
- Kỹ thuật trích xuất văn bản từ ảnh
- Kỹ thuật phát hiện và nhận dạng ký tự quang học
- Xây dựng và thử nghiệm chương trình

5. Phương pháp nghiên cứu
- Nghiên cứu lý thuyết: Sử dụng các phương pháp phân tích,
tổng hợp thông tin để tổng kết các kiến thức nền tảng, các công bố
khoa học và các ứng dụng của các phương pháp xử lý video, phương
pháp phát hiện và nhận dạng ký tự quang từ các nguồn tài liệu trên
internet và các nguồn tài liệu khác: bao gồm các bài báo khoa học
trên các kỷ yếu hội thảo, tạp chí chuyên ngành…
- Nghiên cứu thực nghiệm: Bao gồm các nội dung:


4
1) Tìm hiểu bài toán trích xuất nội dung video từ kĩ thuật
nhận dạng ký tự quang.
2) Cài đặt chương trình và thử nghiệm chương trình trên dữ
liệu thử nghiệm.


6. Bố cục luận văn
Luận văn có bố cục gồm: Phần mở đầu, 3 chương chính,
phần kết luận, tài liệu tham khảo và phụ lục. Được bố trí theo thứ tự:
- Mở đầu.
- Chương 1: Tổng quan về phân tích dữ liệu Video.
- Chương 2: Phát hiện và nhận dạng văn bản trong Video.
- Chương 3: Xây dựng và thử nghiệm chương trình Phát
hiện và nhận dạng văn bản trong Video.
- Kết luận.
- Tài liệu tham khảo.


5

Chương 1- TỔNG QUAN VỀ PHÂN TÍCH DỮ LIỆU
VIDEO
1.1. Phát biểu bài toán
Ngày nay, khối lượng dữ liệu chứa trong video là rất lớn.
Điều đó đòi hỏi cần thiết để tạo rac các công cụ hữu ích cho phép
trích xuất thông tin từ các chuỗi video này để phân loại hoặc phân
tích mà không cần sự giám sát của con người. Chú thích hoặc văn
bản trên ảnh nền là được sử dụng hơn cả trong việc tách lọc thông
tin. Mặc dù văn bản có thể dễ dàng phát hiện đối với con người, ngay
cả trong trường hợp viết tắt hoặc loại ngoại ngữ khác. Tuy nhiên ở
thời điểm hiện tại, không có phương pháp nào cho phép trích xuất
văn bản một cách tối ưu nhất. Điều này là do thực tế rằng văn bản tồn
tại trong video có rất nhiều các cách thể hiện khác nhau (Ví dụ: kích
thước, phong cách, định hướng, ...), hoặc do độ phân giải thấp của
hình ảnh (chất lượng) và độ phức tạp của nền. Mặc dù những hạn chế

này, các dòng văn bản vẫn thể hiện một số tính đồng nhất, làm cho
nó có thể phát hiện được như độ tương phản, độ bám dính không
gian, bề ngoài kết cấu, độ đồng nhất màu, độ dày nét, độ đồng nhất
theo thời gian, chuyển động theo trình tự, vị trí trên khung, vv . Do
đó, mục đích của luận văn này là một giải pháp cho việc phát hiện và
nhận dạng văn bản trong video dựa vào xử lý ảnh và công nghệ OCR.
Trong khuôn khổ luận văn này, tác giả chỉ đề cập đến các
video bài giảng, thuyết trình dưới dạng slide hoặc có phụ đề và bài
toán liên quan đến quá trình nhận dạng văn bản từ những video dạng


6
nói trên. Ngoài ra, còn rất nhiều chủng loại video khác nữa, và nội
dung nghiên cứu các video khác là nằm ngoài khuôn khổ trong luận
văn. Trọng tâm của luận văn là nghiên cứu cách thức xử lý và nhận
dạng văn bản cho video đầu vào.

1.2. Các nghiên cứu trước đây về phân tích dữ liệu video
1.2.1. Tổng quan về video
Về mặt bản chất thì video được cấu thành từ những ảnh tĩnh.
Những ảnh này sau đó được sắp xếp liên tiếp nhau và cùng trình diễn
trong một đơn vị thời gian đủ nhỏ để làm cho mắt của chúng ta cảm
nhận rằng các đối tượng này đang chuyển động. Thông thường thì
các video được quay ở khoảng 24-30 hình mỗi giây. Tuy nhiên khi
các ảnh được trình chiếu nhanh hơn thì chúng ta cảm nhận được
mượt mà và linh động hơn.
Mỗi hình này được gọi là một frame. Số frame trên một giây
được đo bằng một số nguyên được kí hiệu FPS. Một video đơn giản
được hiểu là tổng số khung hình được lưu trữ cùng nhau và trình
chiếu theo một thứ tự, do vậy một video thông thường có khoảng vài

trăm đến vài trăm nghìn khung hình.

1.2.2. Những nghiên cứu liên quan
Kể từ năm 1994 đến nay, đã có rất nhiều những nghiên cứu
khác nhau về việc phát hiện và nhận dạng văn bản trong video của
các tác giả trên thế giới. Trong đó có những nghiên cứu cho thấy tính
khả quan trong những phương pháp có thể áp dụng trong việc phát
hiện và nhận dạng văn bản trong video, và cũng có những nghiên cứu
chỉ ra những điểm còn hạn chế của việc làm này.


7

1.2.3. Phát hiện và nhận dạng văn bản trong thời điểm hiện
tại
Sự nhận dạng chính xác ký tự Latin đánh máy được xem là
vấn đề đã được giải quyết. Tỷ lệ chính xác thực tế đạt tới 99%, mặc
dù một số ứng dụng đòi hỏi tỷ lệ chính xác cao hơn nữa cần phải con
người kiểm tra lại lỗi. Tuy nhiên, việc nhận dạng chữ in bằng tay,
chữ viết tay, văn bản trong video, vẫn còn là một đề tài của các
nghiên cứu.
Các hệ thống nhận dạng ký tự viết tay đã đạt được những
thành công lớn về mặt thương mại trong những năm gần đây. Trong
số đó là thiết bị nhập cho những thiết bị hỗ trợ cá nhân (PDA) như
những phần mềm chạy trên Palm OS. hãng Apple Newton đi tiên
phong trong công nghệ này. Những giải thuật sử dụng trong những
thiết bị này sử dụng những ưu điểm rằng thứ tự, tốc độ, và hướng của
những đoạn dòng đơn lẻ đã được biết trước. Tương tự, người dùng có
thể được yêu cầu sử dụng chỉ một vài loại kiểu chữ nhất định. Những
phương pháp này không thể dùng được trong phần mềm scan tài liệu

giấy, do đó sự nhận dạng chính xác văn bản in bằng tay vẫn là một
vấn đề lớn đang được bỏ ngỏ. Với mức chính xác từ 80% đến 90%,
những ký tự in bằng tay sạch sẽ có thể được nhận ra, nhưng độ chính
xác đó vẫn tạo ra hàng tá lỗi mỗi trang, khiến cho công nghệ đó chỉ
hiệu quả trong vài trường hợp nào đó. Sự đa dạng của OCR hiện nay
được biết đến trong công nghiệp là ICR, (Intelligent Character
Recognition - Nhận dạng Ký tự Thông minh).


8

1.3. Hướng nghiên cứu của tác giả
Dựa vào các phương pháp tiếp cận nghiên cứu đã nêu trong
phần 1.1 và 1.2, tác giả lựa chọn phương pháp tiếp cận để trích xuất
văn bản từ video bằng công nghệ OCR thay vì sử dụng các công
nghệ khác vì tính ứng dụng cao của công nghệ này.
Công cụ phát hiện và nhận dạng văn bản từ video mà tác giả mong
muốn xây dựng được hình thành từ cách giải quyết các bài toán cụ
thể sau:


Phân đoạn video.



Trích xuất văn bản đại diện:
o

Nhận dạng kí tự quang học.


o

Xử lý trùng lặp văn bản.

1.4. Kết luận chương 1
Trong chương 1, học viên đã trình bày khái quát về bài toán
phát hiện và nhận dạng văn bản trong video. Đồng thời dựa trên
những nghiên cứu trước đây của các tác giả khác và công nghệ trong
thời gian hiện tại để đưa ra hướng giải quyết bài toán có thể áp dụng
trong lĩnh vực phát hiện và nhận dạng văn bản trong video.


9

Chương 2- PHÁT HIỆN VÀ NHẬN DẠNG VĂN BẢN
TRONG VIDEO
2.1. Bài toán nhận dạng văn bản video trong lĩnh vực dịch
thuật bài giảng trực tuyến
Văn bản trong video có thể được phân loại thành hai loại:
văn bản nằm trên cảnh và văn bản hậu xử lý. Văn bản nằm trên cảnh
là một phần của môi trường và được máy ảnh chụp cùng với phần
còn lại của cảnh. Văn bản nhân tạo được tạo riêng biệt từ quay video
và phủ lên cảnh trong giai đoạn hậu xử lý. Chúng tôi quan tâm đến
các phương pháp phát hiện văn bản nhân tạo (hoặc được nhúng)
trong video vì nó mang thông tin quan trọng về ngữ nghĩa của nội
dung video. Ví dụ: văn bản phụ đề có trong chương trình phát sóng
tin tức và phim tài liệu thường chú thích thông tin về vị trí, thời gian
và sự kiện được báo cáo. Cũng trong các chương trình thể thao, điểm
số và tên người chơi hoặc tên nhóm thường được xếp chồng lên
video ở dạng văn bản thay vì được nói to.


2.2. Kỹ thuật phân đoạn video thành ảnh
Như đã nói ở phần trên, thì một video có thể được trích xuất
ra đến hàng trăm, hàng nghìn hoặc thậm chí hàng vạn bức ảnh. Tuy
nhiên trên thực tế lượng thông tin nằm trong video không nhiều đến
vậy. Thông tin hay trong khuôn khổ luận văn này là văn bản được
trích xuất chỉ nằm trên các khung hình chính của video (keyframes)
là những hình ảnh được sử dụng làm tham chiếu trong video. Chúng
được sử dụng làm tham chiếu để ta có thể tìm kiếm và dễ dàng tham


10
chiếu đến các khung hình phía sau để có thể nén video lưu trữ sự
khác biệt giữa các khung hình chính và các khung hình sau nó thay vì
lưu trữ tất cả chúng. Đó là lý do ta có thể mong đợi chất lượng hình
ảnh và thông tin trên khung hình chính này.
Khoảng cách giữa các khung hình chính phụ thuộc vào video
được sử dụng. Tuy nhiên thông thường thì khoảng cách này dao động
từ 2-5 giây. Chúng ta có thể tìm kiếm được phần mềm, công cụ khác
nhau để hỗ trợ việc chuyển đổi video thành các frames như phần
mềm total video converter, video to picture converter… Nhưng tác
giả quan tâm nhất là công cụ mã nguồn mở Ffmpeg bởi ba lý do
chính:


Hỗ trợ nhiều định dạng video khác nhau, ví dụ .mp4, avi,
flv…




Điều chỉnh được FPS.



Mã nguồn mở.

FFMpeg là một thư viện có rất nhiều tiện ích cho việc xử lý video.
Tính năng nổi bật nhất có lẽ là khả năng encode/decode nhiều video
định dạng khác nhau, giúp chuyển đổi qua lại nhiều định dạng video.
Ngoài ra, chúng ta cũng có thể dùng FFMpeg để chia cắt một đoạn
video, chụp lại các frame và xuất ra dạng hình ảnh,…
Để trích xuất các khung hình chính từ tệp video bằng ffmpeg, ta có
thể sử dụng lệnh sau:
ffmpeg -i {IP} -vf "select=eq(pict_type\,I)" -vsync vfr {OP} hide_banner
Trong đó:


11
-vf: Bộ lọc của video. Trong trường hợp này, bộ lọc video
phức tạp hơn một chút so với trước đây. "select = eq (pict_type \, I)"
sẽ làm cho bộ lọc chọn tất cả hình ảnh là khung hình chính.
("pict_type \, I" dùng để chỉ loại hình ảnh chỉ mục, "eq" đề cập đến
bằng nhau, vì vậy chúng tôi có thể đọc nó là "chọn tất cả bằng hình
ảnh chỉ mục")
-vsync vfr: Đây là thông số cho bộ lọc sử dụng đồng bộ hóa
bitrate của biến. Nếu chúng ta không sử dụng tham số này ffmpeg sẽ
không tìm thấy chỉ các khung hình chính và trích xuất các khung
hình khác có thể không được xử lý chính xác.

2.3. Kỹ thuật nhận dạng và trích xuất văn bản từ ảnh

2.3.1. Các giải thuật trong nhận dạng văn bản
Ứng dụng Logic mờ trong nhận dạng văn bản
Ứng dụng mạng Neural nhân tạo trong nhận dạng văn bản

2.3.2. Phát hiện và nhận dạng văn bản bằng công nghệ OCR
Tổng quan về OCR
OCR (optical character recognition) là lĩnh vực nhận dạng ký
tự quang học. Kỹ thuật này cho phép máy tính tự động nhận dạng ký
tự thông qua cơ chế quang học. Đối tượng của OCR là ảnh scan các
tài liệu, sách, hoặc các video liên quan. Mục tiêu của OCR là chuyển
các nguồn tài liệu này sang các định dạng có thể chỉnh sửa và tìm
kiếm được.
Vào những những năm đầu của thế kỷ 20, các nhà khoa học
đã quan tâm nghiên cứu trong lĩnh vực OCR. Tuy nhiên kết quả lúc
bấy giờ vẫn còn rất hạn chế. Từ những năm 90 đến nay, OCR có


12
những nghiên cứu mang tính đột phá, kết hợp với những công nghệ
tiến tiến của thời đại đã cho ra đời những hệ thống OCR mạnh mẽ và
hiệu suất cao.
Ngày nay, công nghệ OCR được kết hợp với máy scan tốc độ
cao và những thuật toán máy tính phức hợp đã làm gia tăng tốc độ xử
lý cũng như sự chính xác của dữ liệu. Những công nghệ OCR hiện tại
đều có thể nhận dạng hầu hết các font chữ với độ chính xác cao, một
số còn hỗ trợ khả năng kết xuất ra những đoạn văn bản có định dạng
gần giống hoàn toàn với bản gốc.
Hoạt động của hệ thống OCR
Hoạt động của một hệ thống OCR thông thường gồm các bước sau:
thu nhận ảnh, tiền xử lý ảnh, phân tích bố cục trang, tách dòng và từ,

huấn luyện và nhận dạng, hậu xử lý. Kết quả của mỗi bước ảnh
hưởng rất lớn đến kết quả cuối cùng của hệ thống.
Công nghệ Tesseract OCR
Tesseract là công nghệ OCR được phát triển những năm từ
1984 đến 1994 ở HP, bắt đầu như một dự án nghiên cứu tiến sĩ ở
phòng thí nghiệm. Tuy đạt được những kết quả nhất định nhưng lúc
ấy vẫn chưa thể phát triển thành sản phẩm thương mại. Cuối năm
2005, HP phát hành Tesseract dưới dạng mã nguồn mở và hiện tại
được tập đoàn Google tài trợ phát triển. Địa chỉ hiện tại cho mã
nguồn Tesseract là Tesseract
được phát triển để chạy trên cả hệ điều hành nhân Linux và
Windows. Phiên bản hiện tại là Tesseract 4.00 với một số nhà phát
triển tiêu biểu như Ray Smith, Thomas Breuel, Luc Vincent. Khác


13
với những phần mềm vì mục tiêu thương mại, Tesseract là một thư
viện – không phải là chương trình – nhận dạng ký tự quang học.
Tesseract được đánh giá là một trong số ít những thư viện nhận dạng
ký tự quang học mã nguồn mở tốt nhất hiện nay.
Từ khi Tesseract OCR trở thành mã nguồn mỡ, nó được phát
triển một cách nhanh chóng, hỗ trợ nhận dạng trên 30 ngôn ngữ khác
nhau, độ chính xác đang tiến tới tỉ lệ 100% trên một số ngôn ngữ với
những ảnh văn bản chất lượng. Tuy vậy dự án Tesseract vẫn chưa
phát triển một GUI cho người dùng sử dụng công nghệ này. Các tổ
chức, cá nhân muốn sử dụng Tesseract OCR phải dùng source code
cung cấp sẵn đem về tùy biến và xây dựng thành GUI OCR riêng cho
mình. Sản phẩm OCR dựa trên Tesseract có thể phát hành lại dưới
dạng mã nguồn mã hay sản phẩm thương mại.
Kiến trúc Tesseract

Adapting thresholding: thực hiện việc nhị phân hóa ảnh đầu
vào (ảnh màu hoặc ảnh xám...) dựa trên việc xác định ngưỡng xám
tương thích. Tesseract cung cấp 2 phương pháp xác định ngưỡng
xám: ngưỡng otsu, ngưỡng tương thích cục bộ isodata.
Page layout analysis: thuật toán phân tích bố cục trang qua
việc dò tabstop [19] được đề xuất và cài đặt trong Tesseract bởi Ray
Smith nhằm xác định các block text, vùng ảnh....
Text-line finding: Thuật toán tìm dòng text [10] được thiết
kế dò các dòng text trong block mà không phụ thuộc vào độ nghiêng
của ảnh tài liệu ban đầu. Khi đó các block text được tổ chức thành
các dòng text.


14
Baseline fitting: Với mỗi dòng text tìm được, Tesseract xem
xét và ước lượng để tìm ra các đường cap line, mean line, baseline,
descent line thích hợp.
Fixed pitch detection and chopping: Trên mỗi dòng text,
Tesseract kiểm tra để xác định có phải là fixed pitch text (phần text
mà mỗi ký tự có độ rộng không đổi) hay không. Tại những nơi xác
định được fixed pitch text, Tesseract sẽ bổ các từ thành các ký tự.
Proportional (non-fixed pitch) word finding: Chữ in
nghiêng, chữ số, dấu chấm câu...là những yếu tố tạo ra các trường
hợp đặc biệt về khoảng cách giữa các ký tự cũng như giữa các từ trên
các dòng text.
Word recognition: Các khối được chia cắt nhỏ nhất ở bước
trên được gọi là blod. Quá trình nhận dạng từ trải qua 2 pha. Pha đầu
tiên của quá trình nhận dạng cố gắng nhận dạng lần lượt từng blod.
Với mỗi blod thỏa mãn sẽ được chuyển đến một phân lớp tương thích
(adaptive classifier) như là dữ liệu tập huấn. Phân lớp tương thích

được tăng thêm khả năng làm cho việc nhận dạng chính xác hơn cho
những phần text phía sau. Các từ không được nhận dạng tốt ở pha thứ
nhất sẽ được nhận dạng lại ở pha thứ hai bằng cách bổ các từ này
thành các ký tự nhỏ hơn, nhận dạng và kết hợp lại. Trong quá trình
nhận dạng từ, kết hợp với việc phân tích ngữ cảnh và cú pháp để cho
ra kết quả chính xác hơn.
Nhận dạng văn bản trong Tesseract
Trình phân loại hình dạng (Shape Classification) hoạt động
theo hai giai đoạn. Giai đoạn đầu tiên, được gọi là cắt tỉa lớp, làm


15
giảm các ký tự đặt thành một danh sách ngắn 1-10 ký tự, sử dụng một
phương pháp liên quan chặt chẽ đến hàm băm (LSH). Bước cuối sẽ
tính toán khoảng cách mờ từ nguyên mẫu của các ký tự trong danh
sách ngắn.
Ban đầu được thiết kế nhằm tiết kiệm thời gian, lớp cắt tỉa
phân vùng không gian thuộc tính chiều cao, bằng cách xem xét từng
thuộc tính 3-D riêng lẻ. Thay cho bảng băm của LSH, ta dùng một
bảng tra cứu đơn giản, trả về một vectơ các số nguyên trong phạm vi
[0, 3], tương ứng mỗi lớp trong bộ ký tự, với giá trị gần đúng phù
hợp với thuộc tính đó với nguyên mẫu của ký tự. Các kết quả vector
được tổng hợp rồi lấy các lớp có tổng số điểm trong một phần nhỏ
nhất được trả về dưới dạng danh sách rút gọn được phân loại theo
giai đoạn thứ hai. Lớp cắt tỉa tương đối nhanh, nhưng thời gian của
nó tỉ lệ tuyến tính với số lượng các lớp và cũng với số lượng các
thuộc tính.
Giai đoạn thứ hai tính toán khoảng cách df của mỗi đối tượng
từ nguyên mẫu gần nhất, như khoảng cách Euclide bình phương d
của tọa độ (x, y) từ dòng nguyên mẫu trong không gian 2-D, cộng với

chênh lệch trọng số (w) của góc 𝜃 từ nguyên mẫu:
𝑑𝑓 = 𝑑2 + 𝑤𝜃 2
Khoảng cách thuộc tính được chuyển đổi thành 𝐸𝑓 sử dụng phương
trình sau:
𝐸𝑓 =

1
1 + 𝑘𝑑𝑓2


16
Hằng số k được sử dụng để kiểm soát tốc độ mà tại đó các
bằng chứng phân rã với khoảng cách. Khi các thuộc tính được khớp
với mẫu thử, 𝐸𝑓 được sao chép vào các mẫu thử 𝐸𝑝 . Vì các mẫu thử
mong đợi nhiều tính năng được so khớp với chúng, và tập hợp “phù
hợp nhất” được thực hiện độc lập với tốc độ, tổng các thuộc tính và
bằng chứng mẫu thử có thể khác nhau. Với 𝐿𝑝 là tổng độ dài của mẫu
thử thì kết quả được chuyển đổi trở lại thành khoảng cách:
𝑑𝑓𝑖𝑛𝑎𝑙 = 1 −

∑𝑓 𝐸𝑓 + ∑𝑝 𝐸𝑝
𝑁𝑓 + ∑𝑝 𝐿𝑝

Bước vào quá trình nhận diện, input của chúng ta sẽ được
đánh giá, phân tích hai lần. Ở lần đầu tiên, OCR sẽ nhận diện ký tự
với kết quả phân tích ở bước trước đó. Các kết quả nhận diện thoả
mãn yêu cầu sẽ được đưa vào tập tin huấn luyện để hỗ trợ cho quá
trình nhận diện lần thứ hai với các kết quả chưa đạt yêu cầu. Đương
nhiên, việc xác nhận kết quả có thoả mãn yêu cầu hay không cần phải
dựa trên nhiều tiêu chí vì nhận diện nội dung phải trải qua một quá

trình lặp đi lặp lại gồm các bước nhận diện ký tự, ghép ký tự và so
khớp với từ điển. Các tiêu chí đó bao gồm khoảng cách của các ký tự,
độ phù hợp với từ điển và khoảng cách đến các dấu câu.
Nhận dạng khoảng cách giữa chữ và số là một bài toán rắc
rối. Trong văn bản có nhiều phông chữ khác nhau dẫn tới khoảng
cách giữa các từ và số khác nhau. Tesseract khắc phục khó khăn trên
bằng cách đo khoảng cách được chọn gần ngưỡng nào đó như là giá
trị mờ với sai số. Mỗi ký tự cần nhận dạng có những đặc trưng riêng,
có khoảng 50 tới 100 đặc trưng điển hình trong mỗi ký tự. Mỗi đặc


17
trưng chứa 3 tham số là hoành độ, tung độ, và góc xoay. Trong khi
đó mỗi ký tự mẫu có từ 10 tới 20 đặc trưng, mỗi đặc trưng có 4 tham
số là hoành độ, tung độ, góc xoay, độ dài.
So sánh, đánh giá công nghệ Tesseract OCR với các công nghệ
khác
Ưu điểm lớn nhất mà công nghệ Tesseract có được đó chính
là tính mở trong việc nghiên cứu. Ngoài ra Tesseract chú ý đến việc
huấn luyện học máy để nhận biết các kiểu chữ khác nhau, từ đó xây
dựng thư viện riêng cho từng loại văn bản khác nhau. Vì vậy so với
những công nghệ khác, Tesseract rất phù hợp với việc phát hiện và
nhận dạng các loại văn bản đặc biệt và không chính thống. Việc làm
này càng cho thấy tính chất phù hợp của công nghệ trong việc phát
hiện và nhận dạng văn bản trong video.

2.5. Kết luận chương 2
Trong chương 2 của luận văn, học viên đã trình bày một cách
khái quát về công nghệ cũng như những kỹ thuật được sử dụng trong
việc phát hiện và nhận dạng văn bản trong video. Đồng thời học viên

cũng trình bày những hiểu biết của mình về công nghệ Tesseract
OCR, chỉ ra kiến trúc cũng như hoạt động được sử dụng trong
Tesseract. Học viên cũng đưa ra những so sánh của công nghệ
Tesseract với các công nghệ nhận dạng văn bản khác để từ đó cho
thấy tính phù hợp của Tesseract trong việc xây dựng và thiết kế
chương trình phát hiện và nhận dạng văn bản trong video ở chương 3.


18
Chương 3- XÂY DỰNG VÀ THỬ NGHIỆM CHƯƠNG TRÌNH
PHÁT HIỆN VÀ NHẬN DẠNG VĂN BẢN TRONG VIDEO

3.1. Phân tích thiết kế bài toán nhận dạng nội dung video
bằng kỹ thuật nhận dạng ký tự quang học
3.2. Nghiên cứu và xây dựng chương trình dựa trên phần
mềm mã nguồn mở Tesseract - OCR
3.2.1. Công cụ và môi trường xây dựng chương trình
3.2.2. Giao diện chương trình
3.3. Thử nghiệm chương trình trên tập dữ liệu thực
Để đánh giá quá trình OCR bằng Tesseract-OCR, tác giả
đánh giá dựa vào 2 tiêu chí: phần trăm số khung hình có thể nhận
dạng đúng (P) và phần trăm văn bản có thể nhận dạng đúng trong 1
khung hình (R). Công thức được biểu diễn như sau:
Phần trăm số khung hình có thể nhận dạng đúng của 1 video
P=

∑ 𝑘ℎ𝑢𝑛𝑔 ℎì𝑛ℎ 𝑛ℎậ𝑛 𝑑ạ𝑛𝑔 đú𝑛𝑔
∗ 100%
𝑁
(với N là tổng số khung hình của video)


phần trăm văn bản có thể nhận dạng đúng của một video

R =

∑𝑁
𝑖=1 𝑅𝑖
𝑁

(với N là tổng số khung hình của video)

Vơi 𝑅𝑖 được tính theo công thức:

𝑅𝑖 =

∑ 𝑣ă𝑛 𝑏ả𝑛 𝑛ℎậ𝑛 𝑑ạ𝑛𝑔 đú𝑛𝑔
∑ 𝑣ă𝑛 𝑏ả𝑛 𝑛ℎậ𝑛 𝑑ạ𝑛𝑔 đượ𝑐

*100%

Qua thực nghiệm tác giả nhận ra rằng, đối với các khung
hình không bị ảnh hưởng bởi hiệu ứng trình chiếu thì kết quả nhận


19
dạng bằng Tesseract-OCR cho kết quả với độ chính xác cao, xấp xỉ
khoảng 80% đến 90%. Nhưng đối với các khung hình bị ảnh hưởng
thì cho kết quả nhận dạng thấp, khoảng 60% - 70%. Vì vậy độ chính
xác trung bình đối với một video bị giảm đáng kể, xấp xỉ 73.88%.
Đây cũng là thách thức và hạn chế của tác giả trong luận văn này.

3.4. Kết luận chương 3
Trong chương 3 của luận văn, học viên đã xây dựng và thiết
kế chương trình có khả năng phát hiện và nhận dạng văn bản trong
video từ những kiến thức đã nghiên cứu từ chương 2. Đồng thời ứng
dụng chương trình trên tập dữ liệu thực và cho ra những đánh giá ban
đầu về kết quả đạt được. Từ đó rút ra những định hướng phát triển
trong tương lai của chương trình như: thử nghiệm với những tập dữ
liệu đa dạng hơn, nghiên cứu các phương pháp, kĩ thuật nhằm nâng
cao khả năng nhận dạng văn bản của chương trình.


20
KẾT LUẬN
Hiện nay lĩnh vực OCR, với mục đích chính là rút trích các
ký tự trong ảnh và lưu thành dạng text, được ứng dụng một cách rộng
rãi trong nhiều lĩnh đời sống. Nhiều hệ thống OCR được xây dựng và
đưa ra dưới dạng sản phẩm thương mại hoặc miễn phí, thậm chí dưới
dạng mã nguồn mở. Với mong muốn tìm hiểu lĩnh vực OCR và góp
phần trong việc bổ sung vào kho ứng dụng OCR một sản phẩm mới,
luận văn đã đi vào nghiên cứu “Phát hiện và nhận dạng văn bản trong
Video” sử dụng công nghệ OCR mã nguồn mở tiên tiến Tesseract
OCR.
Qua quá trình làm luận văn, ngoài việc tạo ra được một sản
phẩm OCR thực tế, bản thân đã có cơ hội tìm tòi và hiểu biết nhiều
hơn, rộng hơn về lĩnh vực OCR và lập trình ứng dụng, các thuật toán
được sử dụng để nhị phân hóa ảnh, dò hướng và chỉnh độ nghiêng
của ảnh, phân tích bố cục trang ảnh, phương pháp nhận dạng ký tự...;
hiểu biết về công nghệ Tesseract OCR.
Trong khuôn khổ của luận văn, học viên trình bày một cách
tổng quan về lĩnh vực OCR cũng như một số vấn đề liên quan. Do

mục đích của luận văn là nghiên cứu xây dựng hệ thống nhận dạng
và dịch sử dụng mã nguồn mở cũng như một số công nghệ tiên tiến
hiện có nên không đi sâu vào lý thuyết từng phương pháp, từng thuật
toán cụ thể được sử dụng trong các bước của một hệ thống OCR. Ưu
điểm của hệ thống này là có thể nhận dạng khá chuẩn xác nhưng văn
bản trong video có chất lượng hình ảnh cao. Tuy nhiên sẽ có khuyết


21
điểm đáng kể với các video có chất lượng thấp hơn hoặc bộ chữ sử
dụng là đặc biệt.
Trong thời gian tới, hệ thống cần phát triển hơn nữa theo
hướng đưa dần việc OCR đối với một số ngôn ngữ đặc biệt khác.
Nghiên cứu các kỹ thuật sửa lỗi hậu OCR phù hợp trên nhiều ngôn
ngữ khác nhau, đồng thời tích hợp nhiều hơn các kỹ thuật nâng cao
chất lượng ảnh vào hệ thống, kết hợp mã nguồn mở OCRopus với
Tesseract để cho ra một công nghệ OCR mạnh mẽ hơn.



×