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. 11 Chương 2 - PHÁT HIỆN VÀ NHẬN DẠNG VĂN BẢN TRONG VIDEO 2.
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à 12 câ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. 13 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.
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 14 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.
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. 1: Phân đoạn video thành ảnh theo keyframes [17] 15 2.
Kỹ thuật nhận dạng và trích xuất văn bản từ ảnh 2. 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. 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: 16 Bảng 2.