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.
RGBA là viết tắt của Đỏ, Xanh lá, Xanh dương và Alpha. Đây là một mô hình màu được sử dụng rộng rãi trong lĩnh vực hình ảnh và đồ họa kỹ thuật số. Mô hình này biểu diễn các màu cơ bản của ánh sáng (Đỏ, Xanh lá và Xanh dương) kết hợp với các cường độ khác nhau để tạo ra một phổ màu rộng. Kênh Alpha biểu diễn độ mờ của màu, cho phép tạo các hiệu ứng trong suốt hoặc bán trong suốt. Định dạng hình ảnh này đặc biệt hữu ích trong lĩnh vực đồ họa kỹ thuật số, thiết kế web và bất kỳ ứng dụng nào yêu cầu thao tác cả màu sắc và độ trong suốt.
Về bản chất, mỗi màu trong mô hình RGBA được biểu diễn bằng một giá trị số, thường nằm trong khoảng từ 0 đến 255, trong đó 0 biểu thị không có cường độ và 255 biểu thị cường độ đầy đủ. Do đó, một màu trong định dạng RGBA có thể được biểu diễn dưới dạng một bộ 4 số nguyên, ví dụ: (255, 0, 0, 255) cho màu đỏ hoàn toàn không trong suốt. Biểu diễn số này cho phép kiểm soát chính xác các mức màu sắc và độ mờ trong hình ảnh kỹ thuật số, tạo điều kiện cho các hiệu ứng đồ họa phức tạp và thao tác hình ảnh chi tiết.
Việc thêm kênh Alpha vào mô hình RGB truyền thống mở rộng đáng kể các khả năng sáng tạo. Không giống như RGB, chỉ có thể tạo ra các màu đặc, RGBA có thể tạo ra các hiệu ứng như trong suốt và mờ. Điều này đặc biệt quan trọng trong thiết kế web và phát triển phần mềm, nơi khả năng chồng hình ảnh, tạo hiệu ứng chuyển màu và thiết kế giao diện hấp dẫn trực quan với các yếu tố bán trong suốt là rất quan trọng. Kênh Alpha cho phép hình ảnh hòa trộn hiệu quả với nền hoặc các hình ảnh khác, tạo nên sự tích hợp liền mạch.
Về mặt lưu trữ, hình ảnh RGBA yêu cầu nhiều không gian hơn so với hình ảnh RGB tương ứng do có thêm kênh Alpha. Mỗi pixel trong hình ảnh RGBA thường được biểu diễn bằng 32 bit—8 bit cho mỗi kênh. Điều này có nghĩa là đối với một pixel duy nhất, có 256 cường độ có thể có cho mỗi kênh Đỏ, Xanh lá, Xanh dương và Alpha, tạo ra hơn 4 tỷ kết hợp màu sắc và độ mờ có thể có. Biểu diễn chi tiết như vậy đảm bảo độ trung thực cao trong kết xuất màu sắc và độ trong suốt nhưng cũng cần cân nhắc cẩn thận các yêu cầu về lưu trữ, đặc biệt là đối với hình ảnh lớn hoặc các ứng dụng có bộ nhớ cao cấp.
Phần mềm xử lý hình ảnh kỹ thuật số và thư viện đồ họa sử dụng rộng rãi định dạng RGBA vì tính linh hoạt và chiều sâu màu của nó. Các thao tác phổ biến như ghép, hòa trộn và che Alpha tận dụng tối đa kênh alpha để thao tác các lớp hình ảnh và độ trong suốt. Ví dụ: ghép bao gồm việc xếp nhiều hình ảnh lên trên nhau, với kênh alpha quyết định cách các lớp này hòa trộn. Tương tự như vậy, hòa trộn alpha kết hợp các pixel của hai hình ảnh dựa trên mức độ trong suốt của chúng, cho phép chuyển đổi mượt mà giữa các hình ảnh hoặc tạo các cạnh mềm.
Trong bối cảnh thiết kế web, định dạng RGBA cực kỳ hữu ích để tạo các giao diện động và bắt mắt. CSS, ngôn ngữ bảng định kiểu được sử dụng để mô tả cách trình bày các tài liệu web, hỗ trợ các giá trị màu RGBA. Điều này cho phép các nhà phát triển web chỉ định màu sắc và độ mờ của chúng trực tiếp trong các thuộc tính CSS, cho phép thiết kế các phần tử có nền, đường viền và bóng bán trong suốt. Những khả năng như vậy là không thể thiếu đối với tính thẩm mỹ web hiện đại, thúc đẩy trải nghiệm người dùng hấp dẫn th ông qua việc sử dụng màu sắc và ánh sáng.
Tuy nhiên, việc sử dụng RGBA cũng đặt ra một số thách thức nhất định, đặc biệt là về khả năng tương thích của trình duyệt và thiết bị. Mặc dù hầu hết các trình duyệt web và thiết bị hiện đại đều hỗ trợ RGBA, nhưng vẫn có thể phát sinh sự không nhất quán, dẫn đến sự khác biệt trong cách hiển thị hình ảnh và hiệu ứng đồ họa. Do đó, các nhà phát triển phải kiểm tra cẩn thận các ứng dụng của họ trên các nền tảng khác nhau để đảm bảo trải nghiệm người dùng nhất quán. Hơn nữa, kích thước tệp tăng lên liên quan đến hình ảnh RGBA có thể ảnh hưởng đến thời gian tải trang web, đòi hỏi các chiến lược tối ưu hóa như nén hình ảnh và các kỹ thuật lưu trữ đệm thích hợp.
Về định dạng tệp hình ảnh, một số định dạng hỗ trợ mô hình màu RGBA, bao gồm PNG, GIF và WebP. PNG đặc biệt phổ biến vì hỗ trợ nén không mất dữ liệu và độ trong suốt, khiến nó trở nên lý tưởng cho đồ họa web yêu cầu chất lượng cao và độ trong suốt. GIF, mặc dù cũng hỗ trợ độ trong suốt, nhưng chỉ cho phép một mức độ trong suốt (hoàn toàn trong suốt hoặc hoàn toàn không trong suốt), khiến nó ít linh hoạt hơn PNG đối với các hiệu ứng trong suốt chi tiết. WebP, một định dạng mới hơn, cung cấp các đặc tính nén và chất lượng vượt trội cho cả hình ảnh có mất dữ liệu và không mất dữ liệu, hỗ trợ toàn bộ phạm vi độ trong suốt do mô hình RGBA cung cấp.
Việc xử lý kênh Alpha trong việc ghép và thao tác hình ảnh là rất quan trọng để đạt được kết quả hình ảnh mong muốn. Một kỹ thuật phổ biến là ghép alpha, trong đ ó các hình ảnh có các mức độ trong suốt khác nhau được kết hợp. Quá trình này liên quan đến việc tính toán màu của mỗi pixel dựa trên các giá trị alpha và màu của các lớp bên dưới. Việc xử lý đúng kênh Alpha đảm bảo độ chuyển màu mượt mà của độ mờ và có thể được sử dụng để tạo các hiệu ứng hình ảnh phức tạp như bóng mềm, ánh sáng và hiệu ứng hòa trộn tinh vi giữa các hình ảnh.
Một cân nhắc kỹ thuật khác là khái niệm alpha được nhân trước, trong đó các giá trị RGB được điều chỉnh dựa trên giá trị alpha để tối ưu hóa các thao tác hòa trộn. Nhân trước có thể hợp lý hóa quá trình kết xuất bằng cách giảm số lượng phép tính cần thiết trong quá trình xử lý hình ảnh, đặc biệt là đối với kết xuất đồ họa thời gian thực trong trò chơi điện tử và các ứng dụng tương tác. Tuy nhiên, kỹ thuật này đòi hỏi phải xử lý cẩn thận trong quá trình mã hóa và giải mã hình ảnh để tránh sai sót về màu sắc, đặc biệt là ở những vùng có độ trong suốt cao.
Các thuật toán xử lý hình ảnh cũng tận dụng mô hình RGBA để thực hiện các tác vụ như hiệu chỉnh màu, lọc và chuyển đổi. Việc đưa kênh Alpha vào các thao tác này cho phép điều chỉnh sắc thái tôn trọng độ mờ của các vùng hình ảnh khác nhau, đảm bảo rằng độ trong suốt được duy trì hoặc thay đổi theo cách nhất quán về mặt hình ảnh. Các thuật toán được thiết kế cho hình ảnh RGBA phải tính đến kênh Alpha để ngăn chặn các hiệu ứng không mong muốn đối với độ trong suốt khi sửa đổi màu sắc hoặc áp dụng bộ lọc.
Tóm lại, định dạng hình ảnh RGBA đóng một vai trò quan trọng trong hình ảnh kỹ thuật số, thiết kế đồ họa và phát triển web, cung cấp một bảng màu phong phú kết hợp với tính linh hoạt của khả năng kiểm soát độ trong suốt. Việc triển khai của nó tạo điều kiện cho việc tạo nội dung phong phú về mặt hình ảnh và tương tác, cho phép các nhà thiết kế và nhà phát triển vượt qua ranh giới của tính thẩm mỹ kỹ thuật số. Bất chấp những thách thức của nó, chẳng hạn như kích thước tệp tăng lên và các mối quan tâm về khả năng tương thích, những lợi ích của việc sử dụng RGBA về mặt chất lượng hình ảnh và khả năng sáng tạo khiến nó trở thành nền tảng của phương tiện kỹ thuật số hiện đại. Khi công nghệ tiến bộ, những đổi mới liên tục trong các kỹ thuật nén và xử lý hình ảnh có khả năng nâng cao hơn nữa khả năng sử dụng và hiệu quả của mô hình RGBA, đảm bảo tính phù hợp của nó trong bối cảnh thiết kế và phát triển kỹ thuật số đang phát triể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.