Lọc Homographies ước tính RansAC


10

Tôi đang sử dụng thuật toán RANSAC để ước tính đồng nhất giữa các cặp ảnh được chụp bằng máy ảnh không có bất kỳ bản dịch nào giữa chúng (xoay thuần túy và thay đổi tỷ lệ / thu phóng). Nó hoạt động tốt trong một nửa các trường hợp. Đầu ra chính xác trông như thế này:

nhập mô tả hình ảnh ở đây

Các đường màu đỏ là các tương ứng được lọc và các tứ giác minh họa cách biểu đồ đồng nhất làm biến dạng phối cảnh.

Tuy nhiên, đôi khi, nhiều trường hợp xấu xảy ra, như sau:

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Tôi đã có một bài kiểm tra đơn giản trong vòng lặp RANSAC. Nó tạo ra một hình tứ giác đơn giản (một hình vuông đơn vị) và biến đổi nó bằng biến đổi mẫu. Sau đó, xem xét việc biến đổi giữ được độ lồi của nó.

Tuy nhiên, tuy nhiên, một loạt các tứ giác lõm xuất hiện.

Bạn có biết làm thế nào để kiểm tra chính xác nội dung, nếu nó hoạt động "độc đáo" và lọc ra các giải pháp không chính xác?

Tôi tìm thấy một số mã nơi họ kiểm tra rằng không có điểm nào trong ba điểm được chuyển đổi là colinear. Nhưng điều này dường như không đủ vì nó sẽ không lọc ra các deltoids và các tứ giác "không hợp lệ" khác ...

Câu trả lời:



4

Có một vấn đề trong việc kiểm tra xem liệu homography có ổn không.

Thuật toán để kiểm tra chính xác có thể khiến ai đó quan tâm, vì vậy tôi sẽ viết nó xuống đây:

MộtBDC

Một:(-w/2,-h/2,1)B:(w/2,-h/2,1)C:(-w/2,h/2,1)D:(w/2,h/2,1)

w,h

Một'B'D'C'C'= =HC

bạnv

d1:Một+(D-Một)S= =Một+bạnSd2:B+(C-B)t= =B+vt

d1= =d2

t= =1d[(By-Mộty)bạnx-(Bx-Mộtx)bạny]

S= =1d[(Mộtx-Bx)vy-(Mộty-By)vx]

S,t(0,1)

S,t(λ,1-λ)λ= =0,01

Vấn đề cũ hơn, đã được sửa trong các thuật toán trên:

Tôi đã tìm thấy vấn đề ở đây - có một hình ảnh tương đồng nhất định, bài kiểm tra có thể vượt qua cho một hình tứ giác nhỏ hơn, nhưng không phải cho hình lớn hơn. Đây là lý do tại sao một số homograph "bệnh" đi qua.

Hình vuông màu xanh lá cây đại diện cho một hình ảnh nguồn, màu cam là một hình ảnh được chuyển đổi. Như bạn có thể thấy, một bên tay trái là lồi, nhưng bắt đầu biến dạng khi nguồn lớn hơn:

nhập mô tả hình ảnh ở đây

Cuối cùng, thậm chí nguồn lớn hơn cũng cho tứ giác không hội tụ:

nhập mô tả hình ảnh ở đây

(x,y,w)xyw

Tôi đã sửa thuật toán cho phù hợp.


1

x_i \ sim Hx_i ^ '\ sum_ {j = 1 \ chấm n} \ | x_j - Hx_j ^ '\ |H ^ 'x ^ '= H ^' x\ sum_ {j = 1 \ chấm n} \ | x_j - Hx_j ^ '\ | + \ | x_j ^ '- H ^' x \ |

Xem Hartley và Zisserman - Hình học nhiều chế độ trên Tầm nhìn máy tính chương 4.2 và đặc biệt là 4.2.3 và phương trình (4.8).


Các tứ giác được hiển thị chỉ được đặt trong đó. Tôi chắc chắn về sự tương ứng là phù hợp là rất tốt. Tôi đã sử dụng thuật toán DLT chuẩn hóa được đề xuất bởi Hartley & Zisserman và sau đó sử dụng phép tinh chỉnh lặp và khớp hướng dẫn như bạn đã đề cập.
Libor

Tuy nhiên, sự phù hợp của homography không thể tốt như trong hình đầu tiên có hai nhóm điểm: những người tại tòa nhà chung cư (mà có lẽ trên một chiếc máy bay giống nhau) và những người trên cây (mà có lẽ không phải là ngay cả trên một mặt phẳng giống nhau trong nhóm riêng của họ). Bạn có chắc là bạn không có ý sử dụng ma trận cơ bản?
buq2

Các đường nối các điểm tương ứng và tôi đã kiểm tra tất cả - khi các hình ảnh được căn chỉnh, tất cả chúng đều gặp nhau. Khi tôi loại trừ các cặp hình ảnh phù hợp xấu, nó sẽ tạo ra một bức tranh toàn cảnh đẹp.
Libor

Các hình ảnh được tạo ra bằng một camera xoay, vì vậy có vẻ như các mặt phẳng thay đổi, nhưng vì các camera xoay quanh trung tâm quang học, tôi khá chắc chắn rằng một bản đồ địa lý được ước tính. Tôi thậm chí có thể tính toán độ dài tiêu cự và ma trận xoay từ nó. Nhưng vấn đề là ở một nơi khác, một phần mềm trong phần mềm của tôi mà tôi phải tìm ...
Libor

Ahh, bạn không bao gồm thông tin rằng không có bản dịch giữa các camera. Sau đó, bạn đã đúng và homography mô tả sự chuyển đổi giữa các hình ảnh.
buq2
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.