Nhận dạng ký tự quang học (OCR) biến hình ảnh văn bản—bản qu ét, ảnh chụp từ điện thoại thông minh, PDF—thành các chuỗi máy có thể đọc được và, ngày càng nhiều, dữ liệu có cấu trúc. OCR hiện đại là một quy trình làm sạch hình ảnh, tìm văn bản, đọc nó và xuất siêu dữ liệu phong phú để các hệ thống hạ nguồn có thể tìm kiếm, lập chỉ mục hoặc trích xuất các trường. Hai tiêu chuẩn đầu ra được sử dụng rộng rãi là hOCR, một định dạng vi mô HTML cho văn bản và bố cục, và ALTO XML, một lược đồ hướng thư viện/lưu trữ; cả hai đều bảo toàn vị trí, thứ tự đọc và các tín hiệu bố cục khác và được hỗ trợ bởi các công cụ phổ biến như Tesseract.
Tiền xử lý. Chất lượng OCR bắt đầu bằng việc dọn dẹp hình ảnh: chuyển đổi thang độ xám, khử nhiễu, ngưỡng (nhị phân hóa), và chỉnh lệch. Các hướng dẫn OpenCV kinh điển bao gồm toàn cục, thích ứng và Otsu ngưỡng—những yếu tố chính cho các tài liệu có ánh sáng không đồng đều hoặc biểu đồ hai mode. Khi độ sáng thay đổi trong một trang (hãy nghĩ đến ảnh chụp bằng điện thoại), các phương pháp thích ứng thường hoạt động tốt hơn một ngưỡng toàn cục duy nhất; Otsu tự động chọn một ngưỡng bằng cách phân tích biểu đồ. Chỉnh sửa độ nghiêng cũng quan trọng không kém: chỉnh lệch dựa trên Hough (Biến đổi dòng Hough) kết hợp với nhị phân hóa Otsu là một công thức phổ biến và hiệu quả trong các quy trình tiền xử lý sản xuất.
Phát hiện và nhận dạng. OCR thường được chia thành phát hiện văn bản (văn bản ở đâu ?) và nhận dạng văn bản (nó nói gì?). Trong các cảnh tự nhiên và nhiều bản quét, các bộ phát hiện tích chập hoàn toàn như EAST dự đoán hiệu quả các tứ giác ở cấp độ từ hoặc dòng mà không cần các giai đoạn đề xuất nặng nề và được triển khai trong các bộ công cụ phổ biến (ví dụ: hướng dẫn phát hiện văn bản của OpenCV). Trên các trang phức tạp (báo, biểu mẫu, sách), việc phân đoạn các dòng/vùng và suy luận thứ tự đọc rất quan trọng:Kraken triển khai phân đoạn vùng/dòng truyền thống và phân đoạn đường cơ sở thần kinh, với sự hỗ trợ rõ ràng cho các tập lệnh và hướng khác nhau (LTR/RTL/dọc).
Mô hình nhận dạng. Công cụ mã nguồn mở cổ điển Tesseract (do Google mở nguồn, có nguồn gốc từ HP) đã phát triển từ một bộ phân loại ký tự thành một bộ nhận dạng chuỗi dựa trên LSTM và có thể phát hành các tệp PDF có thể tìm kiếm, đầu ra thân thiện với hOCR/ALTO, và nhiều hơn nữa từ CLI. Các bộ nhận dạng hiện đại dựa vào mô hình hóa chuỗi mà không cần các ký tự được phân đoạn trước. Phân loại thời gian kết nối (CTC) vẫn là nền tảng, học các sự sắp xếp giữa các chuỗi đặc trưng đầu vào và chuỗi nhãn đầu ra; nó được sử dụng rộng rãi trong các quy trình xử lý chữ viết tay và văn bản cảnh.
Trong vài năm qua, Transformers đã định hình lại OCR. TrOCR sử dụng một bộ mã hóa Vision Transformer cộng với một bộ giải mã Text Transformer, được đào tạo trên các kho ngữ liệu tổng hợp lớn sau đó được tinh chỉnh trên dữ liệu thực, với hiệu suất mạnh mẽ trên các tiêu chuẩn văn bản in, viết tay và cảnh (xem thêm tài liệu Hugging Face). Song song đó, một số hệ thống bỏ qua OCR để hiểu biết hạ nguồn: Donut (Document Understanding Transformer) là một bộ mã hóa-giải mã không có OCR, trực tiếp xuất ra các câu trả lời có cấu trúc (như JSON khóa-giá trị) từ tài liệu hình ảnh (repo, thẻ mô hình), tránh tích lũy lỗi khi một bước OCR riêng biệt cung cấp cho một hệ thống IE.
Nếu bạn muốn đọc văn bản có sẵn trên nhiều tập lệnh, EasyOCR cung cấp một API đơn giản với hơn 80 mô hình ngôn ngữ, trả về các hộp, văn bản và độ tin cậy—tiện dụng cho các nguyên mẫu và các tập lệnh không phải tiếng Latinh. Đối với các tài liệu lịch sử, Kraken tỏa sáng với phân đoạn đường cơ sở và thứ tự đọc nhận biết tập lệnh; để đào tạo cấp dòng linh hoạt, Calamari xây dựng trên dòng dõi Ocropy (Ocropy) với các bộ nhận dạng (đa)LSTM+CTC và một CLI để tinh chỉnh các mô hình tùy chỉnh.
Sự khái quát hóa phụ thuộc vào dữ liệu. Đối với chữ viết tay, Cơ sở dữ liệu chữ viết tay IAM cung cấp các câu tiếng Anh đa dạng về người viết để đào tạo và đánh giá; đó là một bộ tham chiếu lâu đời cho nhận dạng dòng và từ. Đối với văn bản cảnh, COCO-Text đã xếp lớp các chú thích mở rộng trên MS-COCO, với các nhãn cho văn bản in/viết tay, dễ đọc/khó đọc, tập lệnh và bản ghi đầy đủ (xem thêm trang dự án ban đầu). Lĩnh vực này cũng phụ thuộc nhiều vào việc đào tạo trước tổng hợp: SynthText in the Wild kết xuất văn bản thành các bức ảnh với hình học và ánh sáng thực tế, cung cấp khối lượng dữ liệu khổng lồ để đào tạo trước các bộ phát hiện và nhận dạng (tham khảo mã và dữ liệu).
Các cuộc thi dưới chiếc ô Đọc mạnh mẽ của ICDAR giữ cho việc đánh giá có cơ sở. Các nhiệm vụ gần đây nhấn mạnh việc phát hiện/đọc từ đầu đến cuối và bao gồm việc liên kết các từ thành các cụm từ, với mã chính thức báo cáo độ chính xác/độ thu hồi/F-score, giao nhau trên hợp nhất (IoU), và các số liệu khoảng cách chỉnh sửa cấp ký tự—phản ánh những gì các nhà thực hành nên theo dõi.
OCR hiếm khi kết thúc ở văn bản thuần túy. Các kho lưu trữ và thư viện số thích ALTO XML vì nó mã hóa bố cục vật lý (các khối/dòng/từ có tọa độ) cùng với nội dung, và nó kết hợp tốt với bao bì METS. hOCR định dạng vi mô, ngược lại, nhúng cùng một ý tưởng vào HTML/CSS bằng cách sử dụng các lớp như ocr_line và ocrx_word, giúp dễ dàng hiển thị, chỉnh sửa và chuyển đổi bằng các công cụ web. Tesseract phơi bày cả hai—ví dụ: tạo hOCR hoặc PDF có thể tìm kiếm trực tiếp từ CLI (hướng dẫn xuất PDF); Các trình bao bọc Python như pytesseract thêm sự tiện lợi. Các bộ chuyển đổi tồn tại để dịch giữa hOCR và ALTO khi các kho lưu trữ có các tiêu chuẩn nhập liệu cố định —xem danh sách được tuyển chọn này của công cụ định dạng tệp OCR.
Xu hướng mạnh mẽ nhất là sự hội tụ: phát hiện, nhận dạng, mô hình hóa ngôn ngữ và thậm chí cả giải mã cho tác vụ cụ thể đang hợp nhất thành các ngăn xếp Transformer thống nhất. Đào tạo trước trên các kho ngữ liệu tổng hợp lớn vẫn là một hệ số nhân. Các mô hình không có OCR sẽ cạnh tranh quyết liệt ở bất cứ đâu mục tiêu là các đầu ra có cấu trúc thay vì các bản ghi nguyên văn. Cũng mong đợi các triển khai kết hợp: một bộ phát hiện nhẹ cộng với một bộ nhận dạng kiểu TrOCR cho văn bản dạng dài, và một mô hình kiểu Donut cho các biểu mẫu và biên lai.
Tesseract (GitHub) · Tài liệu Tesseract · Thông số kỹ thuật hOCR · Nền tảng ALTO · Bộ phát hiện EAST · Phát hiện văn bản OpenCV · TrOCR · Donut · COCO-Text · SynthText · Kraken · Calamari OCR · ICDAR RRC · pytesseract · Chữ viết tay IAM · Công cụ định dạng tệp OCR · EasyOCR
Optical Character Recognition (OCR) là một công nghệ được sử dụng để chuyển đổi các loại tài liệu khác nhau, như tài liệu giấy đã quét, tệp PDF hoặc hình ảnh được chụp bằng máy ảnh số, thành dữ liệu có thể chỉnh sửa và tìm kiếm.
OCR hoạt động bằng cách quét hình ảnh hoặc tài liệu đầu vào, phân đoạn hình ảnh thành các ký tự riêng lẻ, và so sánh từng ký tự với cơ sở dữ liệu hình dạng ký tự bằng cách sử dụng nhận dạng mô hình hoặc nhận dạng đặc trưng.
OCR được sử dụng trong nhiều lĩnh vực và ứng dụng, bao gồm số hóa tài liệu in, kích hoạt các dịch vụ văn bản thành giọng nói, tự động hóa quá trình nhập dữ liệu, và hỗ trợ người dùng khiếm thị tương tác tốt hơn với văn bản.
Mặc dù đã có những tiến bộ vượt bậc trong công nghệ OCR, nhưng nó không phải lúc nào cũng hoàn hảo. Độ chính xác có thể thay đổi tùy thuộc vào chất lượng của tài liệu gốc và chi tiết của phần mềm OCR đang được sử dụng.
Mặc dù OCR chủ yếu được thiết kế cho văn bản in, một số hệ thống OCR tiên tiến cũng có thể nhận dạng được chữ viết tay rõ ràng, nhất quán. Tuy nhiên, nhận dạng chữ viết tay thường kém chính xác hơn do sự biến đổi lớn trong các kiểu viết của mỗi người.
Có, nhiều hệ thống phần mềm OCR có thể nhận dạng được nhiều ngôn ngữ. Tuy nhiên, điều quan trọng là phải đảm bảo rằng ngôn ngữ cụ thể đó được hỗ trợ bởi phần mềm bạn đang sử dụng.
OCR là viết tắt của Optical Character Recognition và được sử dụng để nhận dạng văn bản in, trong khi ICR, hoặc Intelligent Character Recognition, tiên tiến hơn và được sử dụng để nhận dạng văn bản viết tay.
OCR hoạt động tốt nhất với các phông chữ rõ ràng, dễ đọc và kích cỡ văn bản chuẩn. Mặc dù nó có thể hoạt động với các phông chữ và kích cỡ khác nhau, độ chính xác thường giảm khi đối phó với phông chữ không thông thường hoặc kích cỡ văn bản rất nhỏ.
OCR có thể gặp khó khăn với các tài liệu độ phân giải thấp, phông chữ phức tạp, văn bản in kém, chữ viết tay, và các tài liệu có nền gây ra sự can thiệp với văn bản. Ngoài ra, mặc dù nó có thể hoạt động với nhiều ngôn ngữ, nó có thể không bao phủ hoàn hảo mọi ngôn ngữ.
Có, OCR có thể quét văn bản màu và nền màu, mặc dù nó thường hiệu quả hơn với các sự kết hợp màu đối lập cao, như văn bản đen trên nền trắng. Độ chính xác có thể giảm khi màu văn bản và màu nền không có đủ độ tương phản.
Định dạng hình ảnh CUR, thường được liên kết với hệ điều hành Microsoft Windows, được thiết kế riêng cho mục đích sử dụng con trỏ chuột. Đây là một biến thể của định dạng tệp ICO, chủ yếu được sử dụng cho các biểu tượng. Sự khác biệt chính giữa các định dạng CUR và ICO nằm ở điểm nóng trong định dạng CUR. Điểm nóng là một điểm được chỉ định, được xác định bằng tọa độ, xác định vị trí chính xác của hành động nhấp chuột. Tính năng độc đáo này rất quan trọng để đảm bảo tương tác chính xác với giao diện người dùng đồ họa (GUI).
Về mặt nội bộ, định dạng tệp CUR được cấu trúc tương tự như định dạng ICO, bao gồm một thư mục biểu tượng, một mục nhập thư mục cho mỗi hình ảnh trong tệp và dữ liệu bitmap hình ảnh. Thư mục biểu tượng chỉ định số lượng hình ảnh trong tệp CUR, trong khi mỗi mục nhập thư mục bao gồm thông tin như kích thước của hình ảnh, độ sâu màu và độ lệch của bitmap trong tệp. Định dạng này cho phép các tệp CUR bao gồm nhiều hình ảnh, cho phép triển khai các con trỏ hoạt hình hoặc các con trỏ có độ phân giải khác nhau.
Một trong những khía cạnh quan trọng của các tệp CUR là hỗ trợ nhiều định dạng pixel và độ sâu màu. Tính linh hoạt này cho phép các nhà phát triển tạo ra các con trỏ phức tạp về mặt hình ảnh và đẹp về mặt thẩm mỹ, mà không làm giảm hiệu suất. Định dạng CUR có thể hỗ trợ độ sâu màu từ đơn sắc (1 bit) đến màu thực 32 bit với kênh alpha. Kênh alpha đặc biệt quan trọng vì nó cho phép hiển thị các con trỏ bán trong suốt, cho phép tạo các cạnh và bóng mượt, do đó nâng cao giao diện người dùng tổng thể.
Điểm nóng được đề cập trước đó được xác định trong tiêu đề DIB (Bitmap độc lập với thiết bị) đứng trước dữ liệu bitmap thực tế trong tệp CUR. Tọa độ của điểm nóng thường được chỉ định bằng pixel từ góc trên bên trái của hình ảnh con trỏ. Định nghĩa chính xác này cho phép hệ điều hành diễn giải phần 'hoạt động' của con trỏ ở đâu, đảm bảo rằng khu vực chính xác phản hồi khi người dùng nhấp. Đây là một chi tiết nhỏ nhưng rất quan trọng, ảnh hưởng đáng kể đến trải nghiệm người dùng bằng cách cung cấp độ chính xác và khả năng dự đoán trong chức năng con trỏ.
Việc tạo và chỉnh sửa các tệp CUR yêu cầu phần mềm chuyên dụng có khả năng xử lý các khía cạnh độc đáo của định dạng, bao gồm cả việc đặt tọa độ điểm nóng và quản lý nhiều độ sâu màu. Mặc dù có nhiều ứng dụng thương mại và miễn phí để tạo con trỏ, nhưng việc hiểu các thông số kỹ thuật của định dạng CUR là điều cần thiết đối với các chuyên gia nhằm phát triển các con trỏ tùy chỉnh cho các ứng dụng hoặc trang web Windows. Kiến thức này cho phép họ khai thác đầy đủ các khả năng của định dạng, đảm bảo rằng các con trỏ của họ vừa có chức năng vừa hấp dẫn về mặt hình ảnh.
Một tính năng đáng chú ý khác của định dạng CUR là khả năng tương thích ngược và tích hợp trong hệ điều hành Windows. Kể từ khi giới thiệu các phiên bản Windows đầu tiên, định dạng CUR đã trở thành tiêu chuẩn cho các con trỏ. Sự tích hợp như vậy đảm bảo rằng các tệp CUR được hỗ trợ gốc, không cần phần mềm hoặc trình điều khiển bổ sung để hiển thị các con trỏ một cách chính xác. Sự tích hợp liền mạch này là minh chứng cho thiết kế mạnh mẽ của định dạng và tầm quan trọng của nó trong việc duy trì giao diện nhất quán và thân thiện với người dùng trong Windows.
Định dạng CUR cũng khuyến khích tối ưu hóa thiết kế con trỏ thông qua hỗ trợ nhiều độ phân giải. Vì các tệp CUR có thể chứa các hình ảnh có kích thước khác nhau, nên các nhà phát triển phần mềm có thể thiết kế các con trỏ trông sắc nét và rõ ràng trên nhiều độ phân giải và kích thước màn hình khác nhau. Tính năng này ngày càng quan trọng trong môi trường máy tính hiện đại, nơi có nhiều công nghệ và độ phân giải màn hình, từ màn hình truyền thống đến máy tính xách tay và máy tính bảng có độ phân giải cao. Bằng cách bao gồm nhiều kích thước con trỏ trong một tệp CUR duy nhất, các nhà phát triển có thể nâng cao trải nghiệm của người dùng bằng cách đảm bảo rằng các con trỏ vẫn hấp dẫn về mặt hình ảnh và hoạt động trên mọi thiết bị.
Mặc dù có những ưu điểm, định dạng CUR cũng có những hạn chế. Hạn chế đáng kể nhất là trường hợp sử dụng cụ thể của nó cho các con trỏ trong hệ điều hành Windows. Sự chuyên biệt này có nghĩa là các tệp CUR không linh hoạt như các định dạng hình ảnh khác như PNG hoặc JPEG, có thể phục vụ nhiều mục đích khác nhau. Ngoài ra, việc phụ thuộc vào phần mềm cụ thể để tạo và chỉnh sửa các tệp CUR có thể là rào cản đối với một số người dùng. Tuy nhiên, đối với mục đích sử dụng dự định trong môi trường Windows, định dạng CUR là không có đối thủ về chức năng và tích hợp.
Những tiến bộ kỹ thuật trong việc sử dụng và thiết kế con trỏ đã dẫn đến sự phát triển các tiêu chuẩn và thông lệ tốt nhất cho các tệp CUR. Ví dụ, chú ý cẩn thận đến tính thẩm mỹ của con trỏ như đường viền, tô và bóng có thể ảnh hưởng đáng kể đến khả năng của người dùng trong việc xác định nhanh chóng và chính xác điểm tương tác hoạt động. Ngoài ra, việc xem xét trải nghiệm của người dùng trên các màu nền và kết cấu khác nhau là rất quan trọng khi thiết kế con trỏ. Điều này liên quan đến việc đảm bảo rằng con trỏ vẫn khác biệt và có thể nhìn thấy trên nhiều nền khác nhau, có khả năng cần sử dụng các phối màu hoặc thiết kế khác nhau cho cùng một con trỏ.
Trong lĩnh vực phát triển phần mềm và thiết kế giao diện người dùng, định dạng CUR đại diện cho một công cụ chuyên dụng, mặc dù là ngách, nhưng đóng vai trò quan trọng trong tương tác của người dùng với giao diện đồ họa. Khả năng xác định điểm nóng và hỗ trợ độ sâu màu và độ phân giải khác nhau của nó làm cho nó trở thành một lựa chọn mạnh mẽ cho các nhà phát triển muốn tạo ra các con trỏ trực quan và hấp dẫn về mặt hình ảnh. Khi kết hợp với các thông lệ thiết kế tốt, các tệp CUR có thể cải thiện đáng kể khả năng sử dụng và sức hấp dẫn thẩm mỹ của các ứng dụng phần mềm và trang web.
Khi công nghệ phát triển, tiềm năng phát triển trong tương lai về chức năng và hỗ trợ tệp CUR vẫn còn. Mặc dù những điều cơ bản của định dạng vẫn tương đối ổn định trong những năm qua, nhưng các công nghệ mới như màn hình DPI cao và môi trường thực tế ảo có thể cần cải tiến định dạng CUR hoặc phát triển các định dạng con trỏ hoàn toàn mới. Những tiến bộ như vậy có thể bao gồm hỗ trợ độ phân giải cao hơn, khả năng hoạt hình tiên tiến hơn hoặc thậm chí là thiết kế con trỏ 3D để phù hợp với các loại giao diện mới và nâng cao tương tác của người dùng trong môi trường nhập vai.
Tóm lại, định dạng hình ảnh CUR đóng vai trò quan trọng trong thiết kế và chức năng của giao diện người dùng trong Windows. Thiết kế và các tính năng chuyên dụng của nó, chẳng hạn như định nghĩa điểm nóng và hỗ trợ nhiều độ phân giải và độ sâu màu, làm cho nó trở thành một công cụ thiết yếu để tạo ra các con trỏ vừa có chức năng vừa hấp dẫn về mặt hình ảnh. Mặc dù có thể có những hạn chế về trường hợp sử dụng và cần có phần mềm chuyên dụng để tạo và chỉnh sửa, định dạng CUR vẫn là một phần không thể thiếu trong trải nghiệm người dùng Windows. Việc hiểu và tận dụng các khía cạnh kỹ thuật của định dạng CUR có thể ảnh hưởng đáng kể đến quá trình phát triển phần mềm, mang đến cơ hội nâng cao tương tác của người dùng thông qua thiết kế con trỏ chu đáo.
Trình chuyển đổi này hoạt động hoàn toàn trong trình duyệt của bạn. Khi bạn chọn một tệp, nó được đọc vào bộ nhớ và chuyển đổi thành định dạng đã chọn. Bạn sau đó có thể tải xuống t ệp đã chuyển đổi.
Quá trình chuyển đổi bắt đầu ngay lập tức, và hầu hết các tệp được chuyển đổi trong dưới một giây. Các tệp lớn hơn có thể mất thời gian lâu hơn.
Tệp của bạn không bao giờ được tải lên máy chủ của chúng tôi. Chúng được chuyển đổi trong trình duyệt của bạn, và sau đó tệp đã chuyển đổi được tải xuống. Chúng tôi không bao giờ nhìn thấy tệp của bạn.
Chúng tôi hỗ trợ chuyển đổi giữa tất cả các định dạng hình ảnh, bao gồm JPEG, PNG, GIF, WebP, SVG, BMP, TIFF, và nhiều hơn nữa.
Trình chuyển đổi này hoàn toàn miễn phí, và sẽ mãi mãi miễn phí. Vì nó chạy trong trình duyệt của bạn, chúng tôi không phải trả tiền cho máy chủ, vì vậy chúng tôi không cần thu phí từ bạn.
Có! Bạn có thể chuyển đổi bao nhiêu tệp bạn muốn cùng một lúc. Chỉ cần chọn nhiều tệp khi bạn thêm chúng.