Phát hiện và nhận dạng văn bản trong VideoPhát hiện và nhận dạng văn bản trong VideoPhát hiện và nhận dạng văn bản trong VideoPhát hiện và nhận dạng văn bản trong VideoPhát hiện và nhận dạng văn bản trong VideoPhát hiện và nhận dạng văn bản trong VideoPhát hiện và nhận dạng văn bản trong VideoPhát hiện và nhận dạng văn bản trong VideoPhát hiện và nhận dạng văn bản trong VideoPhát hiện và nhận dạng văn bản trong VideoPhát hiện và nhận dạng văn bản trong VideoPhát hiện và nhận dạng văn bản trong VideoPhát hiện và nhận dạng văn bản trong VideoPhát hiện và nhận dạng văn bản trong VideoPhát hiện và nhận dạng văn bản trong Video
Trang 1-
Ngô Ngọc Hà
PHÁT HIỆN VÀ NHẬN DẠNG VĂN BẢN TRONG VIDEO
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
HÀ NỘI - 2019
Trang 2-
Ngô Ngọc Hà
PHÁT HIỆN VÀ NHẬN DẠNG VĂN BẢN TRONG VIDEO
LUẬN VĂN THẠC SĨ KỸ THUẬT
Trang 4LỜI CAM ĐOAN
Tôi cam đoan đề tài: “Phát hiện và nhận dạng văn bản trong Video” là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của TS Vũ Hữu Tiến
Các kết quả, phân tích, kết luận trong luận văn thạc sỹ này (ngoài phần được trích dẫn) đều là kết quả làm việc của tác giả, các số liệu nêu trong luận văn là trung thực và chưa từng được công bố trong bất kỳ công trình nào khác
Nếu sai tôi xin hoàn toàn chịu trách nhiệm
Hà Nội, ngày 10 tháng 02 năm 2019
Tác giả
Ngô Ngọc Hà
Trang 5LỜI CẢM ƠN
Lời đầu tiên cho em xin gửi lời cảm ơn chân thành đến các thầy, cô giáo thuộc Khoa CNTT, Khoa QT&ĐT sau đại học thuộc Học viện Công nghệ Bưu chính viễn thông đã tận tình giảng dạy, truyền đạt các nội dung kiến thức, kinh nghiệm quý báu trong suốt quá trình em theo học tại Học viện Với những bài học quý giá, sự kèm cặp, chỉ bảo và truyền thụ tâm huyết của các thầy, cô đã giúp cá nhân em hoàn thiện hơn nữa hệ thống kiến thức chuyên ngành, phục vụ tốt hơn yêu cầu công tác của đơn vị đồng thời nâng cao hơn vốn tri thức của bản thân
Đặc biệt, em xin gửi lời cảm ơn trân thành tới thầy hướng dẫn khoa học TS
Vũ Hữu Tiến đã tâm huyết, tận tình chỉ bảo, hướng dẫn, cung cấp tài liệu và các
nội dung kiến thức quý báu, đồng thời có sự định hướng đúng đắn giúp em hoàn thành được luận văn này
Em cũng xin được bày tỏ sự cảm ơn sâu sắc tới gia đình, đồng nghiệp đã tạo điều kiện, dành sự ủng hộ đối với bản thân em để có nhiều thời gian cho khóa học, đạt được những kết quả khả quan trong quá trình học tập Đồng thời xin chân thành cảm ơn tập thể lớp Cao học Hệ thống thông tin – Đợt 1 năm 2016 đã đồng hành, khích lệ và chia sẻ trong suốt quá trình học tập
Trong quá trình thực hiện luận văn, mặc dù bản thân đã cố gắng, chủ động trong việc sưu tầm tài liệu, củng cố kiến thức… tuy nhiên chắc chắn luận văn vẫn còn nhiều thiếu sót Em rất mong nhận được sự chỉ dạy, đóng góp tận tình của các thầy, cô để luận văn của em được hoàn thiện hơn nữa và có tính ứng dụng cao hơn trong thực tiễn
Xin trân trọng cảm ơn!
Hà Nội, ngày 10 tháng 02 năm 2019
Học viên
Ngô Ngọc Hà
Trang 6MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v
DANH MỤC CÁC BẢNG vi
DANH MỤC CÁC HÌNH vii
MỞ ĐẦU 1
Chương 1 - TỔNG QUAN VỀ PHÂN TÍCH DỮ LIỆU VIDEO 4
1.1 Phát biểu bài toán 4
1.2 Các nghiên cứu trước đây về phân tích dữ liệu video 4
1.2.1 Tổng quan về video 4
1.2.2 Những nghiên cứu liên quan 6
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 8
1.3 Hướng nghiên cứu của tác giả 9
1.4 Kết luận chương 1 10
Chương 2 - PHÁT HIỆN VÀ NHẬN DẠNG VĂN BẢN TRONG VIDEO 11
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 11
2.2 Kỹ thuật phân đoạn video thành ảnh 13
2.3 Kỹ thuật nhận dạng và trích xuất văn bản từ ảnh 15
2.3.1 Các giải thuật trong nhận dạng văn bản 15
2.3.2 Phát hiện và nhận dạng văn bản bằng công nghệ OCR 20
Trang 7Chươ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 44
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 44
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 45
3.2.1 Công cụ và môi trường xây dựng chương trình 45
3.2.2 Giao diện chương trình 46
3.3 Thử nghiệm chương trình trên tập dữ liệu thực 48
3.4 Kết luận chương 3 51
KẾT LUẬN 52
DANH MỤC TÀI LIỆU THAM KHẢO 53
Trang 8DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
OCR optical character recognition Nhận dạng ký tự quang học
SVM supper vector machines Máy véc tơ hỗ trợ
ANN Artificial Neural Network Mạng nơ ron nhân tạo
LSTM Long Short Term Memory networks Mạng thần kinh tái phát
Trang 9DANH MỤC CÁC BẢNG
Bảng 2 1: Minh họa ký tự dưới dạng ảnh 16
Bảng 2 2: Nhị phân hóa mẫu ký tự mẫu 16
Bảng 2 3: Đối sánh nhận dạng ký tự số 17
Bảng 2 4: Các phần mềm OCR tiêu biểu 23
Bảng 3 1: Cấu hình môi trường xây dựng chương trình……… 45
Bảng 3 2: Công cụ sử dụng xây dựng chương trình 45
Bảng 3 3: Danh sách và đặc điểm tập dữ liệu thực 49
Bảng 3 4: Kết quả nhận dạng của chương trình trên tập dữ liệu thực 51
Trang 10DANH MỤC CÁC HÌNH
Hình 1 1: Kiến trúc chương trình phát hiện và nhận dạng văn bản trong video 10
Hình 2 1: Phân đoạn video thành ảnh theo keyframes………14
Hình 2 2: Nút neural nhân tạo 18
Hình 2 3: Mạng truyền thẳng nhiều tầng 19
Hình 2 4: Các đường cơ bản trong văn bản 25
Hình 2 5: Minh họa thành phần liên thông 26
Hình 2 6: Quy trình hoạt động của hệ thống OCR 26
Hình 2 7: Độ nghiêng và hướng của văn bản 29
Hình 2 8: Văn bản bị nhiễu trong ảnh 29
Hình 2 9: Bố cục của văn bản trong tài liệu 31
Hình 2 10: Quy trình hoạt động của Tesseract 36
Hình 2 11: Ảnh và ảnh đa cấp xám 38
Hình 2 12: Xác định vùng văn bản trong Tesseract 38
Hình 2 13: Xác định các đường của văn bản trong Tesseract 38
Hình 2 14: Phân tách từ thành ký tự trong Tesseract 39
Hình 2 15: Xác định khoảng cách giữa các từ trong Tesseract 39
Hình 2 16: Quy trình phân tích từ thành ký tự trong Tesseract 41
Hình 2 17: Xác định đặc trưng của ký tự trong Tesseract 42
Hình 3 1: Phân cấp chức năng của chương trình ……… 44
Hình 3 2: Chức năng tách và xử lý ảnh thành ảnh đa cấp xám 46
Hình 3 3: Chức năng sử dụng Tesseract OCR để nhận dạng văn bản 47
Hình 3 4: Chức năng lọc trùng văn bản 48
Hình 3 5: Khung hình minh họa tập dữ liệu kiểm thử 48
Hình 3 6: Các lỗi nhận dạng văn bản sai của chương trình 50
Trang 11MỞ ĐẦ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 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ề đề tài
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ả
Trang 12tì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
Google Books (tên gọi ban đầu Google Print hay Google Book Search) là một công cụ của Google cho phép tìm một đoạn văn đầy đủ trong một cuốn sách do Google scan lại và qua nhận dạng ký tự OCR, và lưu trữ trong một cơ sở dữ liệu số Dịch vụ này được biết đến lúc đầu với cái tên là Google Print khi nó được giới thiệu tại Frankfurt Book Fair vào tháng 10 năm 2004 Khi một cụm từ khớp với những từ khóa người dùng nhập vào, Google sẽ đưa ra một bảng danh sách các đầu sách có chứa từ khóa ở trên Nhấp vào kết quả từ Google Book Search sẽ mở ra một giao diện mới trong đó người dùng có thể xem từng trang trong cuốn sách cũng như các quảng cáo chứa thông tin liên quan và các đường link đến trang web của nhà xuất bản và nhà bán sách Đây là bước đi đầu cho việc Google mở rộng ra các dịch vụ sau như tìm kiếm nội dung video bài giảng trực tuyến trong thời gian tới
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ẽ đượ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 Nhiệm vụ 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
Trang 13Đố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:
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
Trang 14Chươ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 ra 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 [9] 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 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 đủ
Trang 15nhỏ để 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
Một số thuộc tính đặc trưng của Video ta cần biết
Video có bốn đặc trưng chính: Color (màu sắc), texture (kết cấu), shape (hình
dáng), motion (chuyển động)
Color: Màu là một thuộc tính quan trọng của ảnh Biểu đồ màu, biểu diến sự
phân bố màu, là một đặc trưng màu phổ biến nhất hiện nay Biểu đồ màu không phụ thuộc vào sự quay, dịch chuyển ảnh cũng như chiều nhìn ảnh Tính hiệu quả của nó lại phụ thuộc vào hệ màu và phương pháp định lượng được dùng Có một vấn đề với biểu đồ màu là nó không biểu diễn thông tin
về không gian phân bố các điểm ảnh, do đó hai ảnh có cùng biểu đồ màu có thể có nội dung rất khác nhau
Texture: Đây là một đặc trưng quan trọng của bề mặt, nơi xảy ra việc lặp lại
mẫu cơ bản Có hai dạng biểu diễn texture phổ biến: biểu diễn dạng ma trận đồng thời và biểu diễn Tamura Ma trận đồng thời mô tả hướng và khoảng cách giữa các điểm ảnh, nhờ đó các thống kê có nghĩa có thể được trích chọn Ngược lại, người ta thấy rằng entropi và mô men chênh lệch nghịch đảo lại có khả năng phân biệt tốt nhất Biểu diễn Tamura được thúc đẩy nhờ các nghiên cứu về tâm lý trong việc thu nhận trực giác của con người và nó bao gồm các đại lượng đo tính thô, độ tương phản, hướng, tính trơn, tính cân đối và độ ráp Các đặc trưng Tamura rất hấp dẫn trong việc hiểu nội dung ảnh vì nó biểu đạt trực quan Ngoài ra còn có một số các dạng biểu diễn khác như trường ngẫu nhiên Markov, biến đổi Gabor, biến đổi gợn sóng,
Trang 16 Shape: Các đặc trưng hình dáng có thể được biểu diễn sử dụng phân tích
hình dáng truyền thống như bất biến mô men, mô tả Fourier, mô hình học tự động quay lui và các thuộc tính hình học Các đặc trưng này có thể được phân chia thành đặc trưng toàn cục và đặc trưng cục bộ Đặc trưng toàn cục
là đặc trưng thuộc tính thu được từ toàn bộ hình dáng ảnh, chẳng hạn như chu vi, tính tròn, mô men trung tâm, hướng trục chính Đặc trưng cục bộ là đặc trưng thu được từ việc thao tác với một phần của ảnh, không phụ thuộc vào toàn bộ ảnh
Motion: Chuyển động là thuộc tính quan trọng của video Thông tin về
chuyển động có thể được sinh ra bằng các kỹ thuật ghép khối hoặc luồng ánh sáng Các đặc trưng chuyển động như mô men của trường chuyển động, biểu
đồ chuyển động hoặc là các tham số chuyển động toàn cục có thể được trích chọn từ vectơ chuyển động Các đặc trưng mức cao phản ánh di chuyển camera như quét camera (pan), nghiêng (tilt), phóng to (zoom out), thu nhỏ (zoom in) cũng có thể được trích chọn
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 Có thể kể đến như sau:
Ohya và các cộng sự (1994) [6] đã trình bày một phương pháp bốn giai đoạn cho việc trích xuất văn bản từ hình ảnh theo khung hình Họ cũng làm việc trên các
ký tự khác nhau, kích cỡ, vị trí và phông chữ trong điều kiện chiếu sáng khác nhau trong hình ảnh văn bản theo khung hình Bài báo kết luận rằng phương pháp đề xuất không thích hợp cho các tài liệu video, do sự hiện diện của một số đối tượng trong
đó quá với các cấp độ xám khác nhau và do ảnh hưởng của mức độ vỡ ảnh cao và các biến thể trong chiếu sáng
Trang 17Chen và cộng sự (2001) [3] đã sử dụng toán tử canny để phát hiện các cạnh trong một hình ảnh Hình thái giãn nở được thực hiện để kết nối các cạnh thành các cụm Một số kiến thức heuristic, chẳng hạn như tỷ lệ chiều ngang và chiều cao ngang, được sử dụng để thay đổi các cụm không phải văn bản Theo bài báo, nghiên cứu đã loại bỏ hoặc làm nhòe các cấu trúc không có thang đo đặc biệt Phát hiện văn bản đã được áp dụng cho hình ảnh nâng cao Các tác giả đã sử dụng gói OCR thương mại (gói Reader OCR) sau khi kích thước chuẩn hóa các ký tự riêng lẻ thành
128 pixel bằng cách sử dụng phép nội suy song tuyến
Chunmei Liu và cộng sự (2005) [5] đã đề xuất một thuật toán để phát hiện văn bản trong các khung hình của video và hình ảnh Nó được thực hiện bởi ba bước chính: phát hiện cạnh, phát hiện các ứng cử viên văn bản, và phát hiện các sàng lọc văn bản Lúc đầu, nó áp dụng quy trình phát hiện cạnh để có được bốn bản
đồ cạnh theo hướng lên trên, lên trên, dọc và ngang Trong bước tiếp theo, việc trích xuất đối tượng địa lý được thực hiện từ bốn bản đồ cạnh để thể hiện đặc tính kết cấu của văn bản Sau đó, thuật toán của kmeans được áp dụng cho việc phát hiện các ứng cử viên của văn bản ban đầu
C Misra và cộng sự (2012) [4] đã đề xuất một kỹ thuật trích xuất và nhận dạng văn bản từ hình ảnh bằng cách sử dụng NN Các phương pháp dựa trên HSV
đã được áp dụng để giảm màu Các tính năng được trích xuất từ mọi ROI cho mặt phẳng màu cụ thể đó và sau đó sử dụng chúng trong một trình phân loại dựa trên tính năng để tìm hiểu xem ROI có khối văn bản hay không phải văn bản Các khối được xác định được cung cấp bên cạnh OCR làm đầu vào Đầu ra của OCR dưới dạng ký tự của các từ khung hình ASCII được lưu trữ trong cơ sở dữ liệu dưới dạng
từ khóa có tham chiếu để truy xuất trong tương lai
S Ranjini và cộng sự (2013) [14] thảo luận về việc trích xuất văn bản tiếng Anh từ hình ảnh của truyện tranh blob bằng cách sử dụng các chiến lược khác nhau Quá trình trích xuất văn bản từ hình ảnh truyện tranh giúp bảo tồn văn bản và cung cấp văn bản có chất lượng cao từ tài liệu được in Tự động trích xuất văn bản từ các hình ảnh liên quan đến truyện tranh được phát triển xem xét do ứng dụng đã lên kế
Trang 18hoạch trong việc truy xuất hình ảnh Trong tác phẩm đã có, nội dung tiếng Nhật được trích từ hình ảnh Manga Comic bằng cách sử dụng các chức năng của Blob Extraction Trong thời gian đó, việc trích xuất văn bản được thực hiện từ các ràng buộc khác nhau bằng cách sử dụng OCR và biên dịch bản dịch tiếng Nhật của Manga sang vài ngôn ngữ khác nhau trong phương pháp đôi khi để chia sẻ niềm vui khi đọc Manga qua Internet
Shilpa Arora và cộng sự (2014) [15] trình bày sự công nhận văn bản Gurmukhi từ các hình ảnh biển hiệu được chụp qua camera điện thoại di động Những hình ảnh không được chuẩn bị và không vỡ hình Văn bản được trích xuất được phân đoạn thành các ký tự sử dụng cấu hình dự án Các phương pháp phân vùng được sử dụng để trích xuất các tính năng Các ký tự được phân loại bằng kỹ thuật SVM
Lienhart và cộng sự [11] đề xuất một phương pháp phát hiện văn bản trong video và hình ảnh Họ xây dựng một mạng noron nhiều tầng để huấn luyện phát hiện văn bản Thuật toán của họ xử lý với tất cả các khung hình phân đoạn được và cách tiếp cận này kém hiệu quả về thời gian xử lý
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.[16]
Các hệ thống nhận dạng văn bản đã đạ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
Trang 19trong 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)
Hiện nay, với chữ Việt, phần mềm nhận dạng chữ Việt in VnDOCR 4.0 có khả năng nhận dạng trực tiếp các loại tài liệu được quét qua máy quét, không cần lưu trữ dưới dạng tệp ảnh trung gian Các trang tài liệu có thể được quét và lưu trữ dưới dạng tệp tin nhiều trang Kết quả nhận dạng được lưu trữ sang định dạng của Microsoft Word, Excel phục vụ rất tốt nhu cầu số hóa dữ liệu
Ngoài ra, còn có một dự án OCR Tiếng Việt có tên VietOCR, được phát triển dựa trên nền tảng mã nguồn mở tesseract-ocr do Google tài trợ VietOCR có khả năng nhận dạng chữ Việt rất tốt Đây là một chương trình nguồn mở Java/.NET, hỗ trợ nhận dạng cho các dạng ảnh PDF, TIFF, JPEG, GIF, PNG, và BMP
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
Kiến trúc của chương trình phát hiện và nhận dạng văn bản từ video mà tác giả đề xuất được mô tả trong hình dưới đây:
Trang 20Hình 1 1: Kiến trúc chương trình phát hiện và nhận dạng văn bản trong video
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 Học viên cũng đã đề xuất được kiến trúc của chương trình phát hiện và nhận dạng văn bản trong viđeo để từ đó tạo tiền đề cho các chương tiếp theo để tiến hành nghiên cứu và xây dựng chương trình kiểm thử trên tập dữ liệu thực
Trang 21Chươ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
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ý[10] 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
Một số đặc tính chính của văn bản mà ta cần biết: [3]
Độ tương phản giữa văn bản và nền (Contrast between text and background)
Độ tương phản là một tính năng quan trọng vì trong hầu hết ảnh muốn đọc được thì ảnh không được mờ hay bị che khuất Thông thường ảnh phải có độ tương phản cao cũng như ánh sáng ổn định Một trong những vấn đề chính khiến rất khó phát hiện văn bản chính là độ tương phản thấp và nền phức tạp Trong trường hợp này, ta cần một số công cụ nâng cao để xử lý ảnh trước
Không gian kết nối (Spatial cohesion)
Các tính năng được nhắc đến trong phần này liên quan đến khía cạnh hình học của ký tự, chẳng hạn như:
Kiểu in (Typography): đề cập đến loại font sử dụng, kích thước, chiều
cao và độ rộng tối thiểu mà người ta có thể đọc được Chiều dài từ và
Trang 22câu cũng có thể được tính toán để tách các từ bằng khoảng trắng giữa chúng
Độ gắn kết (Compactness): phụ thuộc vào cách bố trí của tác giả khi
từ hay đoạn văn bản được đặt trong một hộp giới hạn
Hướng của văn bản (Direction): một văn bản có định hướng sẽ dễ đọc
hơn và thường được hiển thị theo chiều ngang
Kiến trúc bên ngoài (Textured appearance):
Hai tính năng ở trên, độ tương phản và không gian kết nối có thể khiến việc phát hiện văn bản trở thành phân đoạn kết cấu Việc xem xét văn bản dưới dạng toàn bộ xem nó có đủ các tính năng để phát hiện là văn bản hay không
Sự cố xảy ra khi kiến trúc của hình ảnh và văn bản giống nhau sẽ khiến việc phát hiện là rất khó khăn
Đồng nhất màu sắc (Colour homogeneit):
Chữ in thường là đơn sắc Một số loại giấy tờ yêu cầu tính đồng nhất về màu sắc là yếu tố hàng đầu, vì phân chia màu giữa đường biên sẽ dễ dàng hơn là phân chia bằng độ tương phản Các chữ đa sắc cũng có thể được phát hiện, tuy nhiên chúng mang tính nghệ thuật nhiều hơn là thông tin, do đó một vài tác giả có xu hướng bỏ qua chúng
Độ dày của nét (Strokes thickness):
Thông thường độ dày của nét chữ là không đổi, ngoại trừ một số kiểu chữ đặc biệt Độ dày nét còn phụ thuộc vào mật độ của nó trong ký tự
Tính đồng nhất và dư thừa tạm thời (Temporal uniformity redundancy)
Con người cần thời gian để đọc 1 câu Điều này có nghĩa là cứ sau 25 khung hình thứ hai xuất hiện Cùng một văn bản sẽ được chồng lên nhau trong nhiều khung hình để người có thể đủ thời gian để đọc được Nghiên cứu chỉ
ra rằng con người cần 2-3 giây để hiểu và xử lý một hình ảnh phức tạp Ngoài thời gian hiển thị thì còn là sự biến đổi và kích thước hoặc chuyển động của chúng trong suốt video mà không thay đổi quá nhiều trong mỗi khung hình
Trang 23 Chuyển động trên khung hình (Movement on the frame):
Là sự dịch chuyển của văn bản trên khung hình Có thể là chuyển động tuyến tính hoặc theo chiều từ phải sang trái, cuộn từ dưới lên hoặc bay tự do trên khung hình Khi đó khối văn bản có thể bị loại bỏ do giả định rằng văn bản này thường không có ý định cung cấp thông tin, nhưng để thu hút sự chú ý Mặt khác vận tốc trong chuyển động cũng là một yếu tố Khi vận tốc quá nhanh thì có nghĩa là vùng đó không để đọc
Vị trí trong khung hình (Position in the frame):
Thông thường, văn bản thường xếp chồng lên nhau trong cùng một vùng trong khung hình Ta vẫn thường thấy chúng xuất hiện ở những vị trí không bao gồm nội dung video (Ví dụ: Bảng tỉ số trận bóng nằm ở góc trên bên trái/phải khung hình)
Vì vậy, có thể nói việc nhận dạng văn bản từ Video là ta sẽ lấy văn bản từ từng frame được cắt Sau đó tổng hợp lại và xử lý lọc trùng lặp các văn bản giống nhau Để từ đó rút gọn lại được thành văn bản hoàn chỉnh
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)[17], 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 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
Trang 24frames 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 đó:
-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
Hình 2 1 : Phân đoạn video thành ảnh theo keyframes [17]
Trang 252.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
Hệ logic đơn giản nhất là logic mệnh đề, bất cứ một mệnh đề chỉ có thể nhận một trong hai giá trị là đúng hay sai Các mệnh đề kết hợp với nhau qua các phép toán phủ định, và, hoặc, kéo theo… Nhược điểm của logic mệnh đề là nó thiếu cơ chế diễn tả các quan hệ giữa các đối tượng, nó cũng không tổng quát hóa được các đối tượng trong tự nhiên
Logic vị từ là một phương tiện để nâng cao tính rõ nghĩa của logic mệnh đề
Sự tổng quát hóa của nó cho phép ta biểu diễn tri thức cũng như lập luận về các đối tượng và các thực thể quan hệ Cần phải nhấn mạnh rằng, phát biểu trong logic vị từ không mang giá trị đúng hoặc sai trừ phi các đối số nhận giá trị rõ Tuy nhiên, logic
vị từ vẫn là hệ logic hai giá trị, điều này dẫn tới sự hình thành hệ logic đa trị có giá trị thứ ba là không xác định (0.5)
Logic mờ (Fuzzy logic) được xây dựng dựa trên sự tổng quát của logic đa trị,
nó cho phép lập luận trên các đối tượng thực tế được định nghĩa không rõ ràng như các thực thể quan hệ Trong logic mờ, chỉ có các đối tượng xấp xỉ chứ không có đối tượng chính xác, do đó lập luận cũng là xấp xỉ Một chân trị là một điểm trong khoảng [0, 1] trường hợp giá trị là số hay là cụm từ như đúng, rất đúng, sai, kém… trường hợp giá trị chân lý là ngôn ngữ Ví dụ như thông tin dự báo thời tiết “Có mưa rải rác vài nơi” không thể biểu diễn bằng một trị chân lý 0 hay 1, nhưng nó vẫn
có giá trị đúng theo số phần trăm nào đó theo công tác nghiên cứu thống kê Trong trường hợp này, một khẳng định A kèm theo giá trị độ thuộc 0 ≤ μ(A) ≤ 1 đo sự chính xác của A, ký hiệu là (A, μ(A))
Để hiểu được giải thuật lôgic mờ trong bài toán nhận dạng ký tự quang học,
ta minh họa quá trình nhận dạng 10 ký tự số lưu trữ dưới dạng ảnh:
Trang 26Bảng 2 1: Minh họa ký tự dưới dạng ảnh
Bảng 2 2: Nhị phân hóa mẫu ký tự mẫu
Ký tự mẫu Vector bit Ký tự mẫu Vector bit
Trang 27Ứng dụng mạng Neural nhân tạo trong nhận dạng văn bản
Mạng Neural nhân tạo (ANN) là một mô hình tính toán được xây dựng dựa trên các đặc trưng cơ bản của Neural sinh học Mạng chứa các nút và xử lý thông tin bằng cách truyền theo các kết nối và tính giá trị mới tại các nút
Lĩnh vực nghiên cứu điển hình của mạng Neural trong phân lớp, tách cụm (Clustering), nhận dạng mẫu (Pattern Recognition) và khai thác dữ liệu (Data
Trang 28mining) Nhóm mô hình này nhận tín hiệu vào và nhận dạng để phân lớp chúng Thuật toán cần phải huấn luyện sao cho thông tin vào biến dạng ít nhiều thì mạng vẫn nhận dạng đúng bản chất của nó Lớp các bài toán tối ưu hoặc hồi quy – tổng quát hóa cũng có thể được giải quyết với mạng, qua hồi quy tuyến tính và phi tuyến người ta tìm ra các đường thẳng hoặc đường phi tuyến trơn gần khớp với mẫu Ngoài ra là lĩnh vực hoàn chỉnh dạng, nếu dữ liệu bị mất đi một phần thì nó cần được hoàn thiện đủ so với trạng thái ban đầu
Ưu điểm của mạng Neural là khả năng xây dựng mô hình có khả năng học
dữ liệu Chỉ cần truyền vào một tập mẫu dữ liệu thì mạng tìm được ràng buộc dữ liệu và áp dụng chúng vào quá trình tính toán mà không cần có thêm các tri thức mới Mặt khác, mạng còn có khả năng dung thứ lỗi (Tolerance), chấp nhận những mẫu dữ liệu không hoàn toàn chính xác Với những đặc điểm trên, mô hình thích nghi được với sự thay đổi của quy luật dữ liệu thông qua quá trình học lại của mạng
Một nút neural nhân tạo nhận đầu vào x (𝑋1, 𝑋2,…, 𝑋𝑛 ) và truyền một đầu ra
y Trạng thái bên trong của nút chứa bộ tổng thực hiện: 𝑁𝐸𝑇 = ∑𝑛 𝑊𝑖𝑋𝑖
𝑖=1
Hình 2 2: Nút neural nhân tạo [18]
Hàm số f (activation function) xác định giá trị y của nút Neural theo phương trình f(Net, thres) Như hình bên thì w là tập trọng số kích hoạt còn thres là ngưỡng của nút Sự kết hợp các nút theo cấu trúc khác nhau tạo ra những mạng Neural khác nhau, như mạng truyền thẳng hay mạng nối ngược
Dưới đây là một vài hàm biến đổi dùng trong mạng Neural:
Hard-limit: 𝑦 = { 1 𝑘ℎ𝑖 𝑁𝑒𝑡 > 𝑡ℎ𝑟𝑒𝑠
−1 𝑘ℎ𝑖 𝑁𝑒𝑡 < 𝑡ℎ𝑟𝑒𝑠
Trang 29 Gause: 𝑦 = 𝑒−(𝑁𝑒𝑡−𝑡ℎ𝑟𝑒𝑠)2
Sigmoid: 𝑦 = 1+𝑒−(𝑁𝑒𝑡−𝑡ℎ𝑟𝑒𝑠)1
Bài toán học của mạng là xác định các giá trị trọng số trên các tầng dựa trên thông tin có sẵn Thông thường, quá trình huấn luyện được thực hiện qua phép so sánh đáp ứng ra thực tế (Actual response) với đáp ứng mong muốn (Desired response) để cực tiểu hóa hiệu số trên
Nhược điểm của Hard-limit là nó không nhận dạng được nhiều hơn 2 lớp Tuy nhiên, ta có thể áp dụng hàm số phi tuyến như Sigmoid trong mạng truyền thẳng (Feed-forward neutral network) Ký hiệu mạng có tầng vào A có 𝑁𝐴 neutral , tầng thứ 2 là B có 𝑁𝐵 neutral, , tầng cuối Q có 𝑁𝑄 neutral
Mạng nhận dữ liệu vào từ tầng nhập (Input layer) qua các tầng ẩn (Hidden layer), rồi tới tầng ra (Output layer) Số neutral của tầng vào 𝑁𝐴 là số chiều của véc
tơ mẫu trong khi số neutral tầng ra 𝑁𝑄 là số mẫu cần đào tạo để nhận dạng, như bài toán nhận dạng 10 ký tự số ở phần trước thì mạng neutral có tầng đầu tiên nhận 15 giá trị vào và phân loại tối đa 10 lớp ở tầng cuối Một mẫu ký tự thuộc lớp thứ I nếu như ở đầu ra thứ I có hàm Net bằng giá trị ngưỡng trong khi tại các đầu ra khác có hàm Net sai khác rất nhiều giá trị ngưỡng Mặc dù vậy, cơ chế đào tạo mạng vẫn chấp nhận mẫu ký tự thuộc lớp thứ I nếu giá trị đầu ra xấp xỉ 1 trong khi các đầu ra khác có giá trị đầu ra xấp xỉ 0
Hình 2 3: Mạng truyền thẳng nhiều tầng [18]
Trang 30Các giá trị xi nối với các nút trên tầng thứ nhất có trọng số là 𝑤𝑖𝑎: I = 1,2, 15; a = 1,2, 𝑁𝐴 Tập trọng số thứ hai là 𝑤𝑎𝑏 trên các cung nối tầng 2 và tầng 3,
b = 1,2 𝑁𝐵 … Hai tầng cuối có tập trọng số là 𝑤𝑝𝑞: p = 1,2, 𝑁𝑝; q = 1,2, 10 Quy trình huấn luyện tìm tập trọng số kích hoạt trong giải thuật lan truyền ngược (Back – propagation learning algorithm) được trình bày tóm tắt như sau:
Đặt hàm sai lỗi bình phương toàn phần (Total square error):
𝐸𝑄 =∑ (𝑟𝑞 − 𝑦𝑞)
2 10
𝑞=1
2trong đó 𝑟𝑞 và 𝑦𝑞 là đáp ứng mong muốn và đáp ứng tính toán tại neural thứ q tại tầng ra Mục tiêu giờ là cần phải cực tiểu hàm E, cách thực hiện là tại mỗi tầng thì
trọng số trên các cung được cập nhật theo hệ số ∆𝑤𝑖𝑗 = −𝛼 𝜕𝐸𝑗
𝜕𝑤𝑖𝑗 sau mỗi vòng lặp cho tới khi thỏa mãn sai số, α là hệ số dương chọn trước Trên cơ sở xác định độ dốc (gradient) của hàm sai lỗi theo các trọng số, ta xác định được hệ số điều chỉnh như sau: Δ𝑤𝑝𝑞 α δ𝑞 y𝑝 ; δ𝑞=(r𝑞 −y𝑞) y𝑞(1-y𝑞); p=1…N𝑝, q=1…10
P là tầng liền trước tầng cuối Q Đối với các tầng giữa thì hệ số điều chỉnh được tính ngược theo phương trình
Δ𝑤𝑖𝑗 α δ𝑗 y𝑖 ; δ𝑗=y𝑖(1 −y𝑖) ∑𝑁𝐾 δ𝑘w𝑗𝑘
𝐾=1 ; j=1…N𝑗Quy ước tầng J là tầng liền trước tầng K
Đối với một ký tự số, giải thuật học được mô tả như sau:
1 Nhập đầu vào x, chọn hệ số α dương trong khoảng (0,1)
2 Với mỗi tầng trong mạng, tìm giá trị ra theo phương trình Sigmoid
3 Nếu tại tầng cuối, tìm được một đầu ra có giá trị xấp xỉ 1 đáp ứng mong muốn trong khi mọi đầu ra còn lại có giá trị xấp xỉ 0 thì dừng, tập trọng
số đã xác định cho ký tự số trên Ngược lại, sang bước 4
4 Cập nhật trọng số kích hoạt trên các cung tại mỗi tầng
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
Trang 31OCR (optical character recognition)[8] 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ó 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
Năm 1929, đã xuất hiện chiếc máy nhận dạng chữ số Đến những năm đầu của thập niên 1950, chiếc máy đầu tiên có khả năng chuyển tài liệu bản in thành ngôn ngữ trên máy tính được phát minh bởi David Shepard, một chuyên gia về giải
mã làm việc cho cơ quan An Ninh quốc gia Hoa Kỳ Năm 1955 khi Reader‟s Digest mua lại công nghệ này, sản phẩm từ công nghệ OCR được đưa ra thương mại hóa lần đầu tiên Tuy nhiên mãi đến năm 1978, phiên bản OCR cho máy tính mới được
ra đời; ứng dụng đầu tiên của nó là dùng để tải những văn bản luật và tin tức lên cơ
sở dữ liệu trực tuyến 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
Ngoài công nghệ nhận dạng ký tự quang học OCR thì hiện nay còn có thêm nhiều cơ chế nhận dạng tiêu biểu khác được ứng dụng vào thực tế như:
Nhận dạng ký tự thông minh ICR (Intelligent Character Recognition)
Nhận dạng vùng đánh dấu OMR (Optical Mark Recognition)
Nhận dạng chữ mực từ MICR (Magnetic Ink Character Recognition)
Nhận dạng mã vạch (barcode)
Trang 32Các công nghệ tiên tiến này đã hỗ trợ rất nhiều cho các tổ chức và doanh nghiệp trong việc xử lý thông tin phát sinh xuyên suốt quá trình hoạt động Những lĩnh vực thường được ứng dụng các công nghệ nhận dạng trên là giáo dục, tài chính,
y tế, bảo hiểm, giao vận và ngay cả trong các tổ chức của chính phủ như thuế, hải quan
Công nghệ nhận dạng OCR đã tạo ra sự ảnh hưởng to lớn trong việc lưu trữ, chia sẻ và chỉnh sửa thông tin Trước đây, nếu chúng ta muốn chuyển một quyển sách từ bản in sang bản điện tử thì cách duy nhất là ngồi nhập thủ công toàn bộ quyển sách vào máy tính thông qua chương trình soạn thảo văn bản, và điều này buộc chúng ta phải trả giá với một khoảng thời không nhỏ Tuy nhiên, ngày nay với
sự phát triển vượt bậc của công nghệ thông tin, chỉ cần một máy scan kết nối với một máy tính tích hợp sẵn phần mềm nhận dạng OCR, bằng một vài thao tác đơn giản, toàn bộ quyển sách sẽ được chuyển thành tập tin đúng như mong muốn của người sử dụng Do đó có thể nói, công nghệ OCR đã giúp người ta đến gần với nhiều dạng thông tin hơn, xóa bỏ nhiều rào cản về việc chia sẻ nguồn tri thức của nhân loại Mặc dù không được sử dụng phổ biến và nhắc đến nhiều như các ngành công nghiệp viễn thông, phần cứng hay phần mềm nhưng ngành công nghiệp nhận dạng lại mang đến hiệu quả rõ ràng nhất khi được đưa vào ứng dụng trong thực tế Việc chuyển đổi thông tin từ tài liệu giấy sang tài liệu điện tử giúp nhiều người dùng có thể truy cập thông tin một cách dễ dàng, cùng một lúc dù ở bất cứ đâu mà không phải chờ đợi hoặc mất quá nhiều thời gian cho việc tìm kiếm Điều này cũng tạo cho công tác quản lý và bảo mật thông tin trở nên đơn giản hơn khi tất cả những thay đổi hoặc ngày giờ truy cập thông tin đều được kiểm soát chặt chẽ Đối với các doanh nghiệp, các tổ chức, các cơ quan hành chính, công nghệ OCR mang lại nhiều lợi ích kinh tế, tiết kiệm được những khoảng chi phí không nhỏ như giảm thiểu không gian lưu trữ, giảm tối đa nguồn nhân lực trong công tác quản lý thông tin Hiện nay nhiều ứng dụng OCR được đưa ra sử dụng dưới dạng offline trên máy tính hoặc tích hợp và chạy online trên các thiết bị OCR chuyên dụng Đặc biệt các hệ thống OCR thời gian thực được chú trọng phát triển Các kỹ thuật nhận dạng hiện