Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Optical Character Recognition (OCR)

Nhận dạng ký tự quang học (OCR) chuyển văn bản trong bản quét và ảnh chụp thành các ký tự máy có thể đọc được. Tìm hiểu các bước phát hiện và nhận dạng cùng mã nguồn.

Nhận dạng ký tự quang học (OCR) là quá trình chuyển văn bản trong ảnh, chẳng hạn trang được quét, ảnh chụp, ảnh chụp màn hình và khung hình video, thành ký tự máy có thể đọc để phần mềm tìm kiếm, chỉnh sửa và phân tích. Các hệ thống đời đầu đối sánh từng ký tự với mẫu đã lưu của các font chữ đã biết. OCR hiện đại dùng deep learning để tìm văn bản ở bất kỳ vị trí nào trong ảnh và đọc cả từ, dòng cùng lúc; nhờ đó, hệ thống xử lý được font chữ đa dạng, độ phân giải thấp, phối cảnh và nền phức tạp. OCR xử lý cả văn bản tài liệu, như hóa đơn và sách, lẫn văn bản trong cảnh, như biển báo, nhãn sản phẩm và biển số xe.

OCR hoạt động như thế nào#

Hầu hết hệ thống OCR chạy hai model nối tiếp nhau:

  1. Phát hiện văn bản: Detector tìm các vùng trong ảnh có chứa văn bản rồi xuất một hộp hoặc đa giác cho mỗi từ hay dòng. Các detector văn bản trong cảnh như EAST, CRAFT và DBNet dự đoán vùng văn bản theo từng pixel, nhờ đó xử lý được văn bản cong và xoay.
  2. Nhận dạng văn bản: Mỗi vùng được cắt, làm thẳng và đổi kích thước về chiều cao cố định; sau đó, recognizer đọc các ký tự. Thiết kế CRNN đưa ảnh cắt qua một CNN, đọc các cột đặc trưng thu được từ trái sang phải bằng LSTM hai chiều, rồi giải mã bằng connectionist temporal classification (CTC); phương pháp này căn chỉnh dự đoán theo từng cột thành chuỗi ký tự mà không cần gán nhãn vị trí bắt đầu của từng ký tự. Thay vào đó, các recognizer Transformer như TrOCR của Microsoft tạo ký tự bằng bộ giải mã văn bản.

Tiền xử lý như nhị phân hóa và chỉnh độ nghiêng vẫn hữu ích với bản quét chất lượng thấp; hậu xử lý kiểm tra kết quả với từ điển, định dạng mong đợi hoặc language model. EasyOCR đóng gói cả hai giai đoạn — detector CRAFT và recognizer CRNN — để hỗ trợ hơn 80 ngôn ngữ:

import easyocr

# Load EasyOCR's CRAFT text detector and English CRNN text recognizer
reader = easyocr.Reader(["en"])

# Detect every text region in the photo, then read the characters inside it
results = reader.readtext("https://ultralytics.com/images/bus.jpg")

# Each result holds a 4-corner box, the recognized string, and a confidence score
for box, text, confidence in results:
    if confidence > 0.5:
        print(f"{text}: {confidence:.2f}")

Lệnh này in ra cero: 0.95 và emisiones: 0.99, những từ được sơn bên hông xe buýt. Detector cũng tìm thấy biển chỉ đường chấm ma trận của xe buýt và chữ nhỏ trên cửa sổ, nhưng recognizer trả về các chuỗi sai lệch với độ tin cậy dưới 0.5 nên chúng bị loại bởi ngưỡng.

Tài liệu cần thêm bước phân tích bố cục trước khi nhận dạng. Model phân tích bố cục chia trang thành các khối, mỗi loại khối được xử lý riêng, rồi kết quả được ghép lại theo thứ tự đọc; nhờ vậy, bài viết hai cột được đọc lần lượt từng cột:

Độ chính xác được đo bằng tỷ lệ lỗi ký tự (CER), tức số lần chèn, xóa và thay thế ký tự cần thiết để biến đầu ra thành văn bản chính xác, chia cho độ dài văn bản chính xác; và tỷ lệ lỗi từ (WER), được tính tương tự trên các từ.

Engine và model OCR#

Engine mã nguồn mở Tesseract ra đời tại Hewlett-Packard vào thập niên 1980, được phát hành dưới dạng mã nguồn mở năm 2005 và được phát triển với sự tài trợ của Google từ năm 2006 đến 2018; phiên bản 4 bổ sung engine nhận dạng dựa trên mạng LSTM. Dịch vụ đám mây như Google Cloud Vision và Amazon Textract bổ sung khả năng trích xuất bố cục, bảng và biểu mẫu. Các model vision-language ngày càng có thể đọc tài liệu từ đầu đến cuối: olmOCR của Allen Institute for AI chuyển các trang PDF thành văn bản sạch bằng model vision-language được tinh chỉnh; còn các model tài liệu không dùng OCR trả lời câu hỏi về một trang mà không cần tạo bản chép văn bản riêng trước.

  • Nhận dạng chữ viết tay: Còn gọi là nhận dạng văn bản viết tay (HTR) hoặc nhận dạng ký tự thông minh (ICR), công nghệ này đọc chữ viết tay, vốn có hình dạng chữ thay đổi nhiều hơn so với chữ in và các ký tự thường nối liền nhau.
  • Phát hiện đối tượng: Detector có thể tìm biển báo dừng như một đối tượng, còn OCR đọc các chữ S-T-O-P được in trên biển. Giai đoạn phát hiện riêng của OCR định vị văn bản mà không đọc văn bản đó.
  • Phân loại ảnh: Gán một nhãn cho toàn bộ ảnh, chẳng hạn “hóa đơn”, trong khi OCR trích xuất chuỗi ký tự bên trong ảnh.
  • Xử lý tài liệu thông minh: Mở rộng OCR bằng phân tích bố cục và nhận dạng thực thể có tên (NER) để trích xuất các trường cụ thể, chẳng hạn ngày tháng, nhà cung cấp và tổng tiền trên hóa đơn, rồi đưa vào hệ thống nghiệp vụ.

Ứng dụng thực tế#

  • Nhận dạng biển số xe: Hệ thống thu phí, bãi đỗ xe và thực thi luật giao thông phát hiện từng biển số rồi đọc biển số đó. Model YOLO26 được huấn luyện trên các hộp biển số đảm nhiệm bước phát hiện; biến thể bounding box định hướng khớp các hộp xoay với biển số nghiêng để có thể làm thẳng ảnh cắt trước khi nhận dạng.
  • Số hóa tài liệu: Ngân hàng, công ty bảo hiểm và chính phủ chuyển biểu mẫu, biên lai và tài liệu lưu trữ thành văn bản có thể tìm kiếm; thư viện số hóa sách in trên quy mô lớn.
  • Khả năng tiếp cận và dịch thuật: Trình đọc màn hình và ứng dụng dịch bằng camera đọc to biển báo, thực đơn và nhãn, hoặc phủ bản dịch lên hình ảnh trực tiếp.
  • Sản xuất và logistics: Camera đọc mã lô, ngày hết hạn và số sê-ri trên dây chuyền sản xuất. Mã container vận chuyển tuân theo ISO 6346, gồm 11 ký tự với ký tự cuối là chữ số kiểm tra được tính từ 10 ký tự đầu, giúp hệ thống đọc tự động từ chối phần lớn mã bị đọc sai.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning