Tính toán một homography dựa trên các dòng được phát hiện


12

Tôi biết bạn có thể tính toán đồng nhất từ ​​hình ảnh đến mặt phẳng máy ảnh bằng cách sử dụng các điểm tương ứng giữa một "mô hình hoàn hảo" và các điểm hình ảnh.

Tôi đang làm điều đó cho một sân / sân bóng đá, và đã sử dụng tính năng phát hiện cạnh để tìm các vạch trắng trên sân.

Nhưng máy ảnh không (luôn luôn) bao phủ tất cả các trường độ, vì vậy tôi không thể nhìn thấy tất cả các góc ... và tôi chỉ có các góc là 100% điểm được biết trong mô hình (không có điểm phân biệt nào khác).

Vì vậy, vấn đề là trừ khi đường thẳng giao nhau với đường thẳng khác và tạo thành một góc, tôi chỉ biết các điểm hình ảnh của đường thẳng, không phải là tọa độ "hoàn hảo / thế giới thực" tương ứng trong mô hình.

Có cách nào để tôi có thể sử dụng các dòng được phát hiện để tính toán một bản đồ địa lý hay thậm chí chỉ là một tập hợp các bản đồ ứng cử viên , ngay cả khi các dòng được phát hiện không giao nhau và tạo một góc?

Hình ảnh ví dụ, hiển thị cao độ, trường nhìn của chúng tôi và các điểm của sân nơi tôi có thể biết tọa độ mô hình / thế giới thực tương ứng (vòng tròn màu xanh lá cây) và ví dụ về 2 dòng có thể hoàn toàn vô dụng kể từ khi xem trong trường của chúng tôi , Tôi không có manh mối chính xác tại thời điểm họ bắt đầu hoặc dừng lại trong thế giới / mô hình tương ứng của sân:

nhập mô tả hình ảnh ở đây Các đường màu đỏ là ví dụ về các dòng mà tôi muốn sử dụng, nhưng tôi không biết tọa độ trong thế giới thực của chúng và thật khó để ước tính chúng vì tùy thuộc vào tư thế máy ảnh, các điểm tương ứng có thể là "bất cứ nơi nào".


2
Bạn có một số hình ảnh ví dụ? Hoặc ít nhất là một bản phác thảo các trường hợp có thể để phát hiện dòng? Tôi nghĩ rằng câu trả lời ngắn cho câu hỏi của bạn là "có, bạn có thể", nhưng nhiều chi tiết hơn từ bạn sẽ giúp đưa ra câu trả lời chi tiết hơn :)
Penelope

2
Bạn có thể cung cấp một hình ảnh ví dụ? Bạn đang nói rằng các phân đoạn dòng được phát hiện không giao nhau hay bạn đã thử mở rộng các phân đoạn được phát hiện thành các dòng và sau đó thử tìm các giao điểm?
ppalasek

3
Tôi đã thêm một hình ảnh ví dụ cho câu hỏi
Henrik Kjus Alstad

1
Bạn đã bao giờ con số này ra ? Tôi quan tâm đến kết quả quá.

Câu trả lời:


3

Tôi sẽ giải thích hai cách tiếp cận cho việc này:

1) Một cách tiếp cận sẽ yêu cầu một thuật toán khớp dòng. Sau khi khớp các dòng, bạn chỉ cần sử dụng các điểm cuối của các dòng để tính toán đồng nhất. Để đạt được rằng các mô tả dựa trên EDLine hoặc LSD gần đây được đề xuất trong OpenCV. Ngoài ra, băm và khớp nhanh của chúng cũng được thực hiện. Kiểm tra các video ở đây:

http://www.youtube.com/watch?v=MqMjvSkM39k

http://www.youtube.com/watch?v=naSWTlbg3To

Kho opencv_contrib gần đây chứa mã nguồn cho các phương thức này.

Trong trường hợp các điểm cuối của dòng bị nhiễu, thì bạn có thể trực tiếp sử dụng các dòng để tính toán các biểu đồ. Những giấy tờ như vậy sau đó sẽ đọc:

Báo cáo nội bộ: 2005-V04 Tính toán Homograph từ ba dòng hoặc điểm trong một cặp hình ảnh G. Lopez-Nicolas, JJ Guerrero, OA Pellejero, C. Sagues

Báo cáo nội bộ: 2003-V01 Kết hợp và ước tính dòng đồng thời mạnh mẽ G. Lopez-Nicolas

Kết hợp xác suất của các dòng cho Homography của họ Taemin Kim, Jihwan Woo và In So Kweon

2) Có một phương pháp cụ thể cho các trường được đưa ra ở đây:

" Sử dụng các tính năng đường thẳng và hình elip để chỉnh lưu video khúc côn cầu phát sóng .", Gupta, Ankur, James J. Little và Robert J. Woodham Computer and Robot Vision (CRV), Hội nghị Canada năm 2011 về. IEEE, 2011.

" Kết hợp các điểm tương ứng giữa đường và điểm để ước lượng homography .", Dubrofsky, Elan và Robert J. Woodham . Hội thảo quốc tế về tính toán trực quan. Mùa xuân Berlin Heidelberg, 2008.

tôiTôi= =(bạn,v,1)TtôiTôi'= =(x,y,1)T

tôiTôi'= =HTtôiTôi

Ở dạng này, phương trình có thể được cắm trực tiếp vào phương thức DLT:

MộtTôi= =[-bạn0bạnx-v0vx-10x0-bạnbạny0-vvy0-1y]

Sự khác biệt duy nhất là chuẩn hóa, mà bạn sẽ tìm thấy trong các tài liệu tham khảo ở trên.

xCxTCx= =0

C'= =H-TCH-1

Các tham chiếu ở trên cũng giải thích cách chèn ràng buộc này vào thuật toán DLT.

Sử dụng dấu chấm lửng và đường thẳng, có thể rút ra mối quan hệ phóng chiếu mạnh mẽ.


2

Nếu các đường không song song, bạn có thể tính điểm giao nhau của chúng và sử dụng nó làm điểm tham chiếu. Trong bức tranh của bạn, bạn cũng có thể sử dụng các điểm màu tím:

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

Nhân tiện, giao điểm của các đường không cần phải có trong hình ảnh. Miễn là các đường thẳng song song

Nếu các đường thẳng song song, bạn có thể sử dụng chúng để có thêm các ràng buộc. Chẳng hạn, nếu bạn có N <4 điểm và K dòng, bạn có thể ước tính được phép biến đổi

Hãy nhớ lại rằng phương trình biến đổi phóng xạ là:

x'= =(một11x+một12y+một13)(một31x+một32y+1)y'= =(một21x+một22y+một23)(một31x+một32y+1)

một11,một12,một13,một21,một22,một23,một31,một32

mộtx+by+c= =0Mộtx'+By'+C

Mộtx'+By'+C= =0Một(một21x+một22y+một23)+B(một21x+một22y+một23)+C(một31x+một32y+1)= =0

Nó có thể được viết lại thành:

(MộtxMộtyMộtBxByBCxCy)(một11một12một13một21một22một23một31một32)= =-C

Một,B,C(x,y)mộtx+by+c= =0và nhận được các ràng buộc bổ sung. Kết hợp chúng cùng với các ràng buộc mà bạn nhận được từ các điểm và bạn có thể nhận được thông tin bổ sung. Lưu ý rằng bạn sẽ không nhận được nhiều thông tin hơn từ hai điểm, vì bất kỳ điểm thứ ba nào cũng sẽ thêm các đường phụ thuộc tuyến tính vào ma trận các ràng buộc.

Tài liệu tham khảo bổ sung " Ước tính Homography của Elan Dubrovsky " - Xem phần 2.3.1, ước tính của homography từ các dòng.

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.