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.
MAP ảnh định dạng, không phải là nhầm lẫn với phổ biến hơn sử dụng 'bản đồ' trong bối cảnh lập bản đồ địa lý, là một tương đối tối nghĩa tập tin định dạng được sử dụng để lưu trữ ảnh bitmap. Nó không phải là như rộng rãi công nhận hoặc sử dụng như phổ biến hơn hình ảnh định dạng như JPEG, PNG, hoặc GIF, nhưng nó có riêng của nó thiết lập các đặc điểm làm cho nó phù hợp cho nhất định ứng dụng. MAP định dạng là thường liên kết với hình ảnh dữ liệu được sử dụng trong khác nhau các loại lập bản đồ, chẳng hạn như kết cấu lập bản đồ trong 3D mô hình, hoặc trong nhất định phần mềm ứng dụng mà yêu cầu một cụ thể định dạng cho hình ảnh tài sản.
Một trong những chính tính năng của MAP hình ảnh định dạng là khả năng của nó để lưu trữ hình ảnh dữ liệu trong một cách mà là tối ưu hóa cho nhanh chóng truy cập và thao tác, mà là đặc biệt hữu ích trong thời gian thực ứng dụng chẳng hạn như video trò chơi hoặc mô phỏng. Điều này là đạt được thông qua việc sử dụng một đơn giản dữ liệu cấu trúc mà cho phép cho hiệu quả đọc và viết của pixel dữ liệu. Không giống như phức tạp hơn định dạng mà bao gồm nén và bổ sung siêu dữ liệu, MAP tập tin thường là đơn giản hơn và có thể không hỗ trợ nén hoặc chỉ hỗ trợ lossless nén để bảo tồn hình ảnh chất lượng.
Cơ bản cấu trúc của một MAP tập tin thường bao gồm một tiêu đề, mà chứa thông tin về hình ảnh chẳng hạn như của nó kích thước (chiều rộng và chiều cao), độ sâu màu (số bit mỗi pixel), và có thể là một màu bảng màu nếu hình ảnh sử dụng lập chỉ mục màu sắc. Sau tiêu đề, pixel dữ liệu là lưu trữ trong một định dạng mà tương ứng với độ sâu màu chỉ định. Ví dụ, trong một 8-bit MAP hình ảnh, mỗi pixel màu sắc là đại diện bởi một đơn byte, mà tương ứng với một chỉ số trong màu bảng màu.
Trong trường hợp của cao hơn độ sâu màu, chẳng hạn như 24-bit hoặc 32-bit, mỗi pixel màu sắc là đại diện bởi nhiều byte. Cho một 24-bit hình ảnh, điều này thường sẽ là ba byte mỗi pixel, với mỗi byte đại diện cho màu đỏ, màu xanh lá cây, và màu xanh lam thành phần của màu sắc. Một 32-bit hình ảnh có thể bao gồm một bổ sung byte cho alpha minh bạch thông tin, cho phép cho đại diện của minh bạch hoặc bán minh bạch pixel.
Màu bảng màu trong một MAP tập tin, khi có mặt, là một mảng của màu sắc mà là có sẵn cho sử dụng trong hình ảnh. Mỗi màu trong bảng màu thường là đại diện bởi một 24-bit giá trị, ngay cả trong hình ảnh với một thấp hơn độ sâu màu. Điều này cho phép cho một phạm vi rộng của màu sắc để có sẵn cho lập chỉ mục hình ảnh, mà có thể đặc biệt hữu ích khi làm việc với hạn chế màu sắc không gian hoặc khi cố gắng để giảm tập tin kích thước mà không cần phải mất dữ liệu nén.
Một trong những lợi thế của MAP định dạng là đơn giản của nó, mà cho phép cho nhanh chóng tải lần và tối thiểu xử lý khi hình ảnh là sử dụng trong một ứng dụng. Điều này là đặc biệt quan trọng trong kịch bản nơi hiệu suất là quan trọng, chẳng hạn như trong kết xuất kết cấu trong một 3D môi trường. Đơn giản bản chất của định dạng có nghĩa là nó có thể dễ dàng thực hiện trong phần mềm mà không cần phải phức tạp giải mã thuật toán hoặc xử lý của siêu dữ liệu.
Tuy nhiên, đơn giản của MAP định dạng cũng có nghĩa là nó thiếu một số các tính năng tìm thấy trong tiên tiến hơn hình ảnh định dạng. Ví dụ, nó thường không hỗ trợ lớp, tiên tiến màu sắc hồ sơ, hoặc siêu dữ liệu chẳng hạn như EXIF dữ liệu mà có thể được tìm thấy trong định dạng như JPEG hoặc TIFF. Điều này làm cho MAP định dạng ít hơn phù hợp cho ứng dụng nơi chẳng hạn tính năng là cần thiết, chẳng hạn như trong chuyên nghiệp nhiếp ảnh hoặc hình ảnh chỉnh sửa.
Một hạn chế khác của MAP định dạng là nó không phải là như rộng rãi hỗ trợ như khác hình ảnh định dạng. Trong khi nó có thể được sử dụng trong cụ thể phần mềm ứng dụng hoặc trò chơi động cơ, nó không phải là thường được hỗ trợ bởi chung hình ảnh người xem hoặc ảnh chỉnh sửa phần mềm. Điều này có thể làm cho nó khó khăn hơn để làm việc với MAP hình ảnh bên ngoài cụ thể bối cảnh trong đó họ là dự định để được sử dụng.
Mặc dù hạn chế của nó, MAP định dạng có thể là một lựa chọn tốt cho nhất định thích hợp ứng dụng. Ví dụ, nó có thể được sử dụng trong nhúng hệ thống hoặc khác môi trường nơi tài nguyên là hạn chế và đơn giản của định dạng cho phép cho hiệu quả sử dụng của bộ nhớ và xử lý điện. Nó cũng có thể là một phù hợp lựa chọn cho ứng dụng mà yêu cầu một tùy chỉnh hình ảnh định dạng với cụ thể đặc điểm mà không phải là đáp ứng bởi phổ biến hơn định dạng.
Khi làm việc với MAP hình ảnh, nhà phát triển thường cần phải sử dụng chuyên dụng công cụ hoặc viết tùy chỉnh mã để tạo, chỉnh sửa, hoặc chuyển đổi những tập tin này. Điều này có thể bao gồm viết chức năng để xử lý đọc và viết của MAP tập tin cấu trúc, cũng như thói quen cho thao tác pixel dữ liệu và màu bảng màu. Trong một số trường hợp, nhà phát triển cũng có thể cần phải thực hiện riêng của họ nén hoặc giải nén thuật toán nếu MAP định dạng là sử dụng hỗ trợ nén.
Trong điều khoản của tập tin phần mở rộng, MAP hình ảnh có thể sử dụng một loạt các khác nhau phần mở rộng tùy thuộc vào bối cảnh trong đó họ là sử dụng. Phổ biến phần mở rộng có thể bao gồm .bản đồ, .mip, hoặc những người khác mà là cụ thể cho phần mềm hoặc nền tảng. Nó là quan trọng cho nhà phát triển để được nhận thức của các quy ước sử dụng trong cụ thể của họ tên miền để đảm bảo khả năng tương thích và xử lý đúng của MAP tập tin.
MAP định dạng cũng có thể được sử dụng kết hợp với khác tập tin định dạng như một phần của một lớn hơn tài sản đường ống. Ví dụ, một 3D mô hình tập tin có thể tham chiếu một hoặc nhiều MAP hình ảnh như kết cấu, với MAP tập tin là sử dụng để lưu trữ kết cấu dữ liệu trong một định dạng mà là tối ưu hóa cho kết xuất động cơ. Trong chẳng hạn trường hợp, MAP tập tin là một phần của một lớn hơn hệ sinh thái của tập tin định dạng mà làm việc với nhau để tạo ra cuối cùng hình ảnh đầu ra.
Khi xem xét việc sử dụng của MAP định dạng, nó là quan trọng để cân nhắc lợi ích của đơn giản của nó và hiệu suất chống lại tiềm năng nhược điểm của hạn chế hỗ trợ và tính năng. Cho dự án nơi MAP định dạng của điểm mạnh phù hợp với các yêu cầu, nó có thể là một hiệu quả lựa chọn mà đóng góp vào tổng thể hiệu suất và hiệu quả của ứng dụng.
Trong kết luận, MAP hình ảnh định dạng là một chuyên biệt tập tin định dạng mà là thiết kế cho hiệu quả và hiệu suất trong nhất định ứng dụng. Đơn giản của nó cấu trúc cho phép cho nhanh chóng truy cập vào pixel dữ liệu, làm cho nó phù hợp cho thời gian thực kết xuất và khác hiệu suất-quan trọng nhiệm vụ. Trong khi nó thiếu các tính năng và rộng rãi hỗ trợ của phổ biến hơn hình ảnh định dạng, nó có thể là đúng lựa chọn cho cụ thể sử dụng trường hợp nơi lợi thế của nó là có lợi nhất. Nhà phát triển làm việc với MAP hình ảnh phải được chuẩn bị để xử lý định dạng của độc đáo đặc điểm và có thể cần phải phát triển tùy chỉnh công cụ hoặc mã để làm việc với nó hiệu quả.
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.