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 PNG24, còn được gọi là Truecolor PNG, là một định dạng không mất dữ liệu được sử dụng rộng rãi để lưu trữ hình ảnh. Được định nghĩa là một phần của thông s ố kỹ thuật Đồ họa mạng di động (PNG), định dạng này đã trở nên phổ biến đáng kể do khả năng hiển thị hình ảnh với độ sâu màu tuyệt vời mà không làm giảm chất lượng trong quá trình nén. Không giống như các định dạng tương tự như JPEG, sử dụng các kỹ thuật nén mất dữ liệu dẫn đến giảm chất lượng khi lưu, PNG24 duy trì chất lượng hình ảnh ban đầu bất kể tệp được lưu hoặc nén bao nhiêu lần.
Định dạng PNG24 có tên gọi bắt nguồn từ khả năng lưu trữ 24 bit thông tin màu trên mỗi pixel. Điều này có thể thực hiện được bằng cách phân bổ 8 bit hoặc một byte cho mỗi trong ba màu cơ bản: đỏ, lục và lam (RGB). Cấu hình này cho phép biểu diễn màu rộng, cụ thể là cho phép hiển thị tới 16,7 triệu màu khác nhau. Phạm vi màu rộng như vậy khiến PNG24 trở thành lựa chọn lý tưởng cho hình ảnh chất lượng cao, bao gồm ảnh chụp, nghệ thuật kỹ thuật số và đồ họa có độ chuyển màu.
Một trong những tính năng xác định của PNG24 là thuật toán nén không mất dữ liệu. PNG sử dụng một phương pháp được gọi là DEFLATE, kết hợp thuật toán LZ77 và mã hóa Huffman. Phương pháp này giảm kích thước tệp hiệu quả mà không làm mất chất lượng hình ảnh, khiến phương pháp này trở nên rất hiệu quả để chia sẻ và lưu trữ hình ảnh trực tuyến. Quá trình nén không loại bỏ bất kỳ dữ liệu nào; thay vào đó, nó xác định các mẫu và cấu trúc lặp lại trong dữ liệu hình ảnh và mã hóa thông tin này một cách gọn hơn.
Tính trong suốt là một tính năng quan trọng khác của định dạng PNG24. Không giống như GIF, chỉ có thể hỗ trợ một mức độ trong suốt (bật hoặc tắt), PNG24 hỗ trợ 256 mức độ trong suốt thông qua kênh alpha. Mỗi pixel trong hình ảnh PNG24 có thể có một mức độ trong suốt riêng, từ hoàn toàn mờ đục đến hoàn toàn trong suốt. Tính năng này đặc biệt hữu ích để chồng hình ảnh trên các nền khác nhau, tạo các cạnh mềm và xây dựng giao diện đồ họa phức tạp mà không cần che thêm trong hình ảnh.
Hình ảnh PNG24 cũng hỗ trợ một tính năng được gọi là hiệu chỉnh gamma. Điều này cho phép hình ảnh duy trì độ sáng và màu sắc nhất quán trên các thiết bị hiển thị khác nhau. Hiệu chỉnh gamma hoạt động bằng cách điều chỉnh độ sáng của hình ảnh theo giá trị gamma được xác định trước, giúp bù cho các phản hồi gamma khác nhau của các màn hình khác nhau. Điều này đảm bảo rằng hình ảnh được chỉnh sửa trên một màn hình sẽ xuất hiện tương tự khi xem trên màn hình khác, một khía cạnh quan trọng đối với nhiếp ảnh gia và nhà thiết kế đồ họa.
Xen kẽ là một tính năng tùy chọn trong PNG24 cho phép hiển thị hình ảnh dần dần trong trình duyệt web. Điều này đặc biệt hữu ích đối với các kết nối internet chậm, nơi người dùng có thể thấy phiên bản độ phân giải thấp của hình ảnh trong khi hình ảnh vẫn đang tải, cải thiện trải nghiệm người dùng. PNG sử dụng thuật toán Adam7, một lược đồ xen kẽ bảy lần, tăng dần chi tiết của hình ảnh với mỗi lần chạy. Điều này trái ngược với định dạng không xen kẽ, trong đó hình ảnh xuất hiện từng dòng từ trên xuống dưới.
Về mặt triển khai và hỗ trợ, PNG24 được hỗ trợ tốt trên các trình duyệt web hiện đại, phần mềm chỉnh sửa hình ảnh và nhiều hệ điều hành khác nhau. Sự hỗ trợ rộng rãi này một phần là do định dạng mở của định dạng, được phát triển như một giải pháp thay thế không bằng sáng chế cho GIF. Thông số kỹ thuật PNG, bao gồm PNG24, được duy trì bởi World Wide Web Consortium (W3C), đảm bảo sự phát triển liên tục và khả năng tương thích với các tiêu chuẩn web.
Mặc dù có nhiều ưu điểm, định dạng PNG24 không phải là không có nhược điểm. Một trong những vấn đề chính là kích thước tệp; do nén không mất dữ liệu và độ sâu màu cao, các tệp PNG24 thường lớn hơn các tệp JPEG tương ứng. Kích thước tệp lớn hơn này có thể dẫn đến thời gian tải lâu hơn cho các trang web và sử dụng nhiều băng thông hơn. Do đó, đối với việc sử dụng trên web, điều quan trọng là phải cân bằng nhu cầu về chất lượng so với nhu cầu về tốc độ và trong một số trường hợp, các định dạng có nén mất dữ liệu như JPEG có thể phù hợp hơn.
Hơn nữa, trong khi phạm vi màu rộng của PNG24 có lợi cho hình ảnh chất lượng cao, thì nó có thể không cần thiết đối với đồ họa đơn giản hơn với màu sắc hạn chế. Trong những trường hợp như vậy, các định dạng có độ sâu màu thấp hơn như PNG8, hỗ trợ 256 màu, có thể phù hợp hơn. Việc chọn định dạng phù hợp dựa trên nội dung của hình ảnh có thể giảm đáng kể kích thước tệp mà không làm giảm chất lượng hình ảnh cho mục đích sử dụng đã định.
Ngoài định dạng PNG24 tiêu chuẩn, còn có một biến thể được gọi là PNG32. Sự khác biệt nằm ở việc bổ sung một kênh alpha 8 bit vào 24 bit hiện có cho màu đỏ, lục và lam, tạo ra tổng cộng 32 bit trên mỗi pixel. Việc kết hợp kênh alpha trực tiếp vào định dạng này cho phép kiểm soát độ trong suốt thậm chí còn lớn hơn, khiến PNG32 trở nên thích hợp hơn cho các hình ảnh yêu cầu hiệu ứng trong suốt tinh vi.
Việc tạo và thao tác các tệp PNG24 có thể được thực hiện bằng nhiều công cụ và ứng dụng phần mềm khác nhau. Hầu hết các phần mềm chỉnh sửa hình ảnh, chẳng hạn như Adobe Photoshop, GIMP và các phần mềm khác, đều hỗ trợ PNG24, cho phép người dùng lưu công việc của mình trực tiếp ở định dạng này. Ngoài ra, có nhiều công cụ trực tuyến và ngoại tuyến để tối ưu hóa các tệp PNG24 để sử dụng trên web, nén thêm các tệp mà không làm mất chất lượng. Các công cụ này thường áp dụng các chiến lược tích cực hơn để giảm kích thước tệp, chẳng hạn như giảm bảng màu xuống mức tối thiểu cần thiết hoặc điều chỉnh cài đặt nén.
Xét về các thông số kỹ thuật, quá trình mã hóa PNG24 bao gồm một số bước, bao gồm lọc, nhằm cải thiện hiệu quả nén. Trước khi nén thực tế, bộ mã hóa có thể áp dụng một trong năm phương pháp lọc cho mỗi dòng hình ảnh để chuyển đổi dữ liệu hình ảnh thành dạng dễ nén hơn. Bước tiền xử lý này có thể ảnh hưởng đáng kể đến kích thước cuối cùng của tệp và việc chọn đúng phương pháp lọc dựa trên đặc điểm của hình ảnh có thể dẫn đến nén hiệu quả hơn.
Một khía cạnh quan trọng khác của các tệp PNG24 là cấu trúc dựa trên khối của chúng. Một tệp PNG bao gồm nhiều khối, mỗi khối phục vụ một mục đích khác nhau như lưu trữ dữ liệu hình ảnh, siêu dữ liệu, cấu hình màu, v.v. Phương pháp tiếp cận theo mô-đun này không chỉ tạo điều kiện xử lý và hiển thị hình ảnh hiệu quả mà còn cho phép đưa thêm thông tin mà không làm gián đoạn cấu trúc dữ liệu hiện có. Ví dụ, có thể nhúng thông tin bản quyền và cấp phép trực tiếp vào tệp, tăng cường bảo vệ và quản lý tài sản kỹ thuật số.
Tính khả dụng và quốc tế hóa cũng được xem xét trong các tệp PNG24. Thông tin văn bản, chẳng hạn như mô tả và chú thích, có thể được lưu trữ bằng nhiều ngôn ngữ trong các khối văn bản của tệp. Tính năng này làm cho PNG24 phù hợp để phân phối toàn cầu bằng cách cho phép người sáng tạo đưa vào thông tin và siêu dữ liệu được bản địa hóa, do đó làm cho hình ảnh dễ tiếp cận và dễ hiểu hơn đối với nhiều đối tượng.
Tóm lại, định dạng hình ảnh PNG24 là một lựa chọn mạnh mẽ và linh hoạt để lưu trữ và chia sẻ hình ảnh chất lượng cao. Khả năng tương thích với nhiều màu sắc, hỗ trợ độ trong suốt và nén không mất dữ liệu khiến định dạng này trở thành lựa chọn hấp dẫn cho cả phương tiện web và in. Tuy nhiên, kích thước tệp tương đối lớn và khả năng quá mức trong đồ họa đơn giản làm nổi bật tầm quan trọng của việc chọn định dạng phù hợp dựa trên nhu cầu cụ thể của một dự án. Khi công nghệ và các tiêu chuẩn web tiếp tục phát triển, PNG24 vẫn là một yếu tố quan trọng trong lĩnh vực hình ảnh kỹ thuật số, được đánh giá cao về tính linh hoạt và chất lượng của nó.
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.