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

Homography

Homography là một phép biến đổi xạ ảnh ánh xạ các mặt phẳng giữa các góc nhìn, cho phép hiệu chỉnh phối cảnh, đăng ký ảnh và ghép ảnh toàn cảnh.

Homography là một phép biến đổi xạ ảnh khả nghịch, ánh xạ các điểm trên mặt phẳng này sang các điểm trên mặt phẳng khác mà vẫn bảo toàn đường thẳng. Trong thị giác máy tính, phép biến đổi này mô tả cách một bề mặt phẳng xuất hiện từ các góc nhìn khác nhau: một trang giấy hình chữ nhật được chụp nghiêng có thể được biến đổi thành hình chữ nhật nhìn trực diện. Homography hỗ trợ đăng ký ảnh, hiệu chỉnh phối cảnh và ghép ảnh toàn cảnh. "Phép biến đổi xạ ảnh" là từ đồng nghĩa; thuật ngữ ngôn ngữ học "từ đồng tự" chỉ những từ có cách viết giống hệt nhau.

Cách ma trận Homography hoạt động#

Homography được biểu diễn bằng ma trận 3 x 3, thường được gọi là H. Ma trận này hoạt động trên tọa độ thuần nhất, dùng ba giá trị để biểu diễn một điểm hai chiều. Sau phép nhân ma trận, chia hai giá trị đầu ra đầu tiên cho giá trị thứ ba sẽ thu được tọa độ ảnh thông thường.

Mặc dù H có chín phần tử, ma trận này có tám tham số độc lập, hay bậc tự do: nhân mọi phần tử với cùng một số khác không sẽ không làm thay đổi phép ánh xạ. Hình học của phép ánh xạ ảnh phẳng giải thích vì sao bốn cặp điểm tương ứng phù hợp có thể xác định một homography.

Phép biến đổi affine là một homography bị giới hạn, bảo toàn các đường thẳng song song. Homography tổng quát cũng biểu diễn các hiệu ứng phối cảnh, bao gồm hiện tượng các cạnh song song hội tụ về một điểm tụ. Khoảng cách và góc thường thay đổi. Michel Chasles đã phát triển khái niệm này trong luận khảo năm 1837 về tính đối ngẫu và homography.

Cách ước lượng Homography#

Quá trình ước lượng bắt đầu với các điểm tương ứng: những vị trí đại diện cho cùng một đặc trưng vật lý trong hai ảnh. Có thể chọn thủ công các góc hoặc dùng keypoint được phát hiện thông qua trích xuất đặc trưng. Các phương pháp như Biến đổi đặc trưng bất biến theo tỷ lệ cung cấp descriptor—các mô tả số về diện mạo cục bộ—để khớp đặc trưng giữa các góc nhìn.

Cần tối thiểu bốn cặp điểm, trong đó không có ba điểm nào thẳng hàng ở mỗi tập hợp. Thuật toán Biến đổi tuyến tính trực tiếp (DLT) chuyển các mối quan hệ tọa độ của chúng thành một hệ phương trình tuyến tính. Bổ sung thêm các điểm tương ứng sẽ cải thiện kết quả ước lượng khi phép đo có nhiễu.

Các kết quả khớp sai cần được xử lý bằng phương pháp khớp robust. Đồng thuận mẫu ngẫu nhiên (RANSAC) liên tục khớp các phép biến đổi ứng viên với những tập con nhỏ và xác định các inlier: những kết quả khớp phù hợp với một ứng viên. Sai số chiếu lại đo khoảng cách giữa một điểm nguồn đã biến đổi và điểm đích được quan sát. API ước lượng homography của OpenCV cung cấp quy trình này thông qua cv2.findHomography, trả về cả H lẫn mặt nạ inlier.

Áp dụng Homography trong Python#

OpenCV cung cấp các thao tác riêng để ước lượng ma trận và biến dạng ảnh. Cài đặt các dependency bằng pip install opencv-python numpy. Ví dụ này ánh xạ đường bao hình chữ nhật của ảnh mẫu thành hình thang:

from urllib.request import urlopen

import cv2
import numpy as np

image_url = "https://ultralytics.com/images/bus.jpg"
with urlopen(image_url) as response:
    encoded = np.frombuffer(response.read(), dtype=np.uint8)
image = cv2.imdecode(encoded, cv2.IMREAD_COLOR)
height, width = image.shape[:2]

# Giữ nguyên thứ tự các góc theo chiều kim đồng hồ trong cả hai mảng.
source = np.float32([[0, 0], [width - 1, 0], [width - 1, height - 1], [0, height - 1]])
target = np.float32([[120, 80], [width - 121, 80], [width - 1, height - 1], [0, height - 1]])
matrix, _ = cv2.findHomography(source, target)
warped = cv2.warpPerspective(image, matrix, (width, height))
cv2.imwrite("homography_result.jpg", warped)

Ảnh đã lưu cho thấy hiện tượng rút ngắn phối cảnh: cạnh trên hẹp hơn, trong khi các cạnh thẳng trong cảnh vẫn giữ nguyên độ thẳng.

Các ứng dụng của Homography#

  • Xử lý tài liệu: Hiệu chỉnh phối cảnh ánh xạ bốn góc của tài liệu phẳng thành hình chữ nhật. Bước tiền xử lý này chuẩn hóa bố cục văn bản trước khi thực hiện nhận dạng ký tự quang học, theo cùng hình học biến dạng mặt phẳng được minh họa trong các ví dụ hiệu chỉnh phối cảnh của OpenCV.
  • Ghép ảnh toàn cảnh: Các ảnh chụp chồng lấn được căn chỉnh trước khi hòa trộn. Hệ thống Autostitch của Matthew Brown và David Lowe sử dụng các đặc trưng cục bộ đã khớp để tự động tạo ảnh toàn cảnh, bao gồm cả việc xác định các ảnh chồng lấn từ những tập hợp không có thứ tự.

Trong Ultralytics YOLO, tăng cường RandomPerspective áp dụng các phép biến dạng xạ ảnh trong quá trình huấn luyện, đồng thời biến đổi ảnh cùng với bounding box, đường bao phân đoạn và keypoint tương ứng. Thiết lập perspective điều khiển thành phần phối cảnh của tăng cường dữ liệu này.

Một homography duy nhất mô tả chính xác mối quan hệ giữa các góc nhìn lý tưởng của camera lỗ kim đối với cùng một mặt phẳng, hoặc giữa các góc nhìn thu được khi xoay camera quanh tâm chiếu. Khi camera tịnh tiến và các vật thể nằm ở độ sâu khác nhau, thị sai tạo ra độ dịch chuyển phụ thuộc vào độ sâu. Việc căn chỉnh một mặt phẳng nền sẽ khiến các vật thể tiền cảnh bị lệch, tạo ra cạnh kép hoặc hiện tượng bóng ma trong ảnh ghép.

Hiệu chuẩn camera xử lý méo ống kính; hình học ảnh cong do méo gây ra cần được hiệu chỉnh trước khi căn chỉnh mặt phẳng. Với các cảnh ba chiều tổng quát, hình học epipolar giới hạn điểm tương ứng nằm trên một đường thẳng; homography dự đoán trực tiếp vị trí của điểm đó. Trong thị giác lập thể, vị trí còn lại dọc theo đường epipolar cung cấp thông tin thị sai được dùng để ước lượng độ sâu.

Explore solutions

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