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.
JPEG 2000, thường được gọi là J2K, là một tiêu chuẩn nén hình ảnh và hệ thống mã hóa được ủy ban Joint Photographic Experts Group tạo ra vào năm 2000 với mục đích thay thế tiêu chuẩn JPEG ban đầu. Tiêu chuẩn này đư ợc phát triển để giải quyết một số hạn chế của tiêu chuẩn JPEG ban đầu và cung cấp một tập hợp các tính năng mới ngày càng được yêu cầu cho nhiều ứng dụng khác nhau. JPEG 2000 không chỉ là một tiêu chuẩn duy nhất mà là một bộ tiêu chuẩn, được bao gồm trong họ JPEG 2000 (ISO/IEC 15444).
Một trong những lợi thế chính của JPEG 2000 so với định dạng JPEG ban đầu là việc sử dụng biến đổi wavelet thay vì biến đổi cosine rời rạc (DCT). Biến đổi wavelet cho phép tỷ lệ nén cao hơn mà không có cùng mức độ hiện vật có thể nhìn thấy trong hình ảnh JPEG. Điều này đặc biệt có lợi cho các ứng dụng hình ảnh có độ phân giải cao và chất lượng cao, chẳng hạn như hình ảnh vệ tinh, hình ảnh y tế, phim kỹ thuật số và lưu trữ lưu trữ, trong đó chất lượng hình ảnh là tối quan trọng.
JPEG 2000 hỗ trợ cả nén không mất dữ liệu và nén mất dữ liệu trong một kiến trúc nén duy nhất. Nén không mất dữ liệu đạt được bằng cách sử dụng biến đổi wavelet có thể đảo ngược, đảm bảo rằng dữ liệu hình ảnh gốc có thể được tái tạo hoàn hảo từ hình ảnh đã nén. Mặt khác, nén mất dữ liệu sử dụng biến đổi wavelet không thể đảo ngược để đạt được tỷ lệ nén cao hơn bằng cách loại bỏ một số thông tin ít quan trọng hơn trong hình ảnh.
Một tính năng quan trọng khác của JPEG 2000 là hỗ trợ truyền hình ảnh tiến bộ, còn được gọi là giải mã tiến bộ. Điều này có nghĩa là hình ảnh có thể được giải mã và hiển thị ở độ phân giải thấp hơn và tăng dần lên độ phân giải đầy đủ khi có nhiều dữ liệu hơn. Điều này đặc biệt hữu ích cho các ứng dụng bị giới hạn băng thông, chẳng hạn như duyệt web hoặc ứng dụng di động, trong đó việc hiển thị nhanh chóng phiên bản chất lượng thấp hơn của hình ảnh và cải thiện chất lượng khi nhận được nhiều dữ liệu hơn là có lợi.
JPEG 2000 cũng giới thiệu khái niệm về vùng quan tâm (ROI). Điều này cho phép các phần khác nhau của hình ảnh được nén ở các mức chất lượng khác nhau. Ví dụ, trong một tình huống hình ảnh y tế, vùng chứa tính năng chẩn đoán có thể được nén không mất dữ liệu hoặc ở chất lượng cao hơn các vùng xung quanh. Kiểm soát chất lượng có chọn lọc này có thể rất quan trọng trong các lĩnh vực mà một số phần của hình ảnh quan trọng hơn những phần khác.
Định dạng tệp cho hình ảnh JPEG 2000 là JP2, đây là định dạng được chuẩn hóa và có thể mở rộng bao gồm cả dữ liệu hình ảnh và siêu dữ liệu. Định dạng JP2 sử dụng phần mở rộng tệp .jp2 và có thể chứa nhiều thông tin, bao gồm thông tin không gian màu, mức độ phân giải và thông tin về quyền sở hữu trí tuệ. Ngoài ra, JPEG 2000 hỗ trợ định dạng JPM (cho hình ảnh hợp thành, chẳng hạn như tài liệu chứa cả văn bản và hình ảnh) và định dạng MJ2 cho chuỗi chuyển động, tương tự như tệp video.
JPEG 2000 sử dụng một lược đồ mã hóa tinh vi được gọi là EBCOT (Mã hóa khối nhúng với cắt bớt tối ưu). EBCOT cung cấp một số lợi thế, bao gồm khả năng phục hồi lỗi được cải thiện và khả năng tinh chỉnh nén để đạt được sự cân bằng mong muốn giữa chất lượng hình ảnh và kích thước tệp. Thuật toán EBCOT chia hình ảnh thành các khối nhỏ, được gọi là khối mã, và mã hóa từng khối một c ách độc lập. Điều này cho phép cô lập lỗi cục bộ trong trường hợp dữ liệu bị hỏng và tạo điều kiện truyền hình ảnh tiến bộ.
Việc xử lý không gian màu trong JPEG 2000 linh hoạt hơn so với tiêu chuẩn JPEG ban đầu. JPEG 2000 hỗ trợ nhiều không gian màu, bao gồm thang độ xám, RGB, YCbCr và các không gian màu khác, cũng như nhiều độ sâu bit, từ hình ảnh nhị phân lên đến 16 bit cho mỗi thành phần hoặc cao hơn. Sự linh hoạt này làm cho JPEG 2000 phù hợp với nhiều ứng dụng khác nhau và đảm bảo rằng nó có thể đáp ứng nhu cầu của các công nghệ hình ảnh khác nhau.
JPEG 2000 cũng bao gồm các tính năng bảo mật mạnh mẽ, chẳng hạn như khả năng bao gồm mã hóa và đánh dấu hình mờ kỹ thuật số trong tệp. Điều này đặc biệt quan trọng đối với các ứng dụng mà bảo vệ bản quyền hoặc xác thực nội dung là mối quan tâm. Phần JPSEC (Bảo mật JPEG 2000) của tiêu chuẩn nêu rõ các tính năng bảo mật này, cung cấp một khuôn khổ để phân phối hình ảnh an toàn.
Một trong những thách thức với JPEG 2000 là nó đòi hỏi nhiều tính toán hơn so với tiêu chuẩn JPEG ban đầu. Độ phức tạp của biến đổi wavelet và lược đồ mã hóa EBCOT có nghĩa là việc mã hóa và giải mã hình ảnh JPEG 2000 yêu cầu nhiều sức mạnh xử lý hơn. Về mặt lịch sử, điều này đã hạn chế việc áp dụng nó trong các thiết bị điện tử tiêu dùng và ứng dụng web, nơi chi phí tính toán có thể là một yếu tố quan trọng. Tuy nhiên, khi sức mạnh xử lý tăng lên và hỗ trợ phần cứng chuyên dụng trở nên phổ biến hơn, thì hạn chế này đã trở nên ít quan trọng hơn.
Mặc dù có những ưu điểm, JPEG 2000 vẫn chưa được áp dụng rộng rãi so với định dạng JPEG ban đầu. Điều này một phần là do tính phổ biến của định dạng JPEG và hệ sinh thái phần mềm và phần cứng rộng lớn hỗ trợ định dạng này. Ngoài ra, các vấn đề về cấp phép và bằng sáng chế xung quanh JPEG 2000 cũng cản trở việc áp dụng nó. Một số công nghệ được sử dụng trong JPEG 2000 đã được cấp bằng sáng chế và nhu cầu quản lý giấy phép cho các bằng sáng chế này khiến nó trở nên kém hấp dẫn hơn đối với một số nhà phát triển và doanh nghiệp.
Về kích thước tệp, các tệp JPEG 2000 thường nhỏ hơn các tệp JPEG có chất lượng tương đương. Điều này là do các thuật toán nén hiệu quả hơn được sử dụng trong JPEG 2000, có thể giảm hiệu quả hơn sự dư thừa và không liên quan trong dữ liệu hình ảnh. Tuy nhiên, sự khác biệt về kích thước tệp có thể thay đổi tùy thuộc vào nội dung của hình ảnh và các cài đặt được sử dụng để nén. Đối với những hình ảnh có nhiều chi tiết nhỏ hoặc mức độ nhiễu cao, khả năng nén vượt trội của JPEG 2000 có thể tạo ra các tệp nhỏ hơn đáng kể.
JPEG 2000 cũng hỗ trợ ghép hình, chia hình ảnh thành các ô nhỏ hơn được mã hóa độc lập. Điều này có thể hữu ích cho những hình ảnh rất lớn, chẳng hạn như những hình ảnh được sử dụng trong hình ảnh vệ tinh hoặc ứng dụng lập bản đồ, vì nó cho phép mã hóa, giải mã và xử lý hình ảnh hiệu quả hơn. Người dùng có thể truy cập và giải mã từng ô riêng lẻ mà không cần phải xử lý toàn bộ hình ảnh, điều này có thể tiết kiệm bộ nhớ và yêu cầu xử lý.
Việc chuẩn hóa JPEG 2000 cũng bao gồm các quy định về xử lý siêu dữ liệu, đây là một khía cạnh quan trọng đối với các hệ thống lưu trữ và truy xuất. Định dạng JPX, một phần mở rộng của JP2, cho phép đưa vào siêu dữ liệu mở rộng, bao gồm các hộp XML và UUID, có thể lưu trữ bất kỳ loại thông tin siêu dữ liệu nào. Điều này làm cho JPEG 2000 trở thành một lựa chọn tốt cho các ứng dụng mà việc bảo toàn siêu dữ liệu là quan trọng, chẳng hạn như thư viện kỹ thuật số và bảo tàng.
Tóm lại, JPEG 2000 là một tiêu chuẩn nén hình ảnh tinh vi cung cấp nhiều lợi thế so với định dạng JPEG ban đầu, bao gồm tỷ lệ nén cao hơn, giải mã tiến bộ, vùng quan tâm và các tính năng bảo mật mạnh mẽ. Tính linh hoạt của nó về không gian màu và độ sâu bit, cũng như hỗ trợ siêu dữ liệu, làm cho nó phù hợp với nhiều ứng dụng chuyên nghiệp. Tuy nhiên, độ phức tạp về tính toán và các vấn đề về bằng sáng chế ban đầu đã hạn chế việc áp dụng rộng rãi của nó. Mặc dù vậy, JPEG 2000 vẫn tiếp tục là định dạng được lựa chọn trong các ngành mà chất lượng hình ảnh và bộ tính năng quan trọng hơn hiệu quả tính toán hoặc khả năng tương thích rộng.
Bộ chuyển đổi này chạy hoàn toàn trong trình duyệt của bạn. Khi bạn chọn một tệp, nó sẽ được đọc vào bộ nhớ và chuyển đổi sang định dạng đã chọn. Sau đó, bạn có thể tải xuống tệp đã chuyển đổi.
Việc 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 vòng chưa đầy một giây. Các tệp lớn hơn có thể mất nhiều thời gian hơn.
Các 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 sẽ được tải xuống. Chúng tôi không bao giờ thấy các 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.v.
Bộ chuyển đổi này hoàn toàn miễn phí và sẽ luôn miễn phí. Bởi 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 tính phí bạn.
Đúng! Bạn có thể chuyển đổi bao nhiêu tệp tùy thích cùng một lúc. Chỉ cần chọn nhiều tệp khi bạn thêm chúng.