การกรองคำพ้องเสียงโดยประมาณของ RANSAC


10

ฉันใช้อัลกอริทึมRANSACสำหรับการประมาณค่า homography ระหว่างคู่ของภาพที่ถ่ายด้วยกล้องซึ่งไม่มีการแปลระหว่างกัน (การหมุนอย่างแท้จริงและการเปลี่ยนสเกล / ซูม) มันทำงานได้ดีในครึ่งหนึ่งของกรณี ผลลัพธ์ที่ถูกต้องมีลักษณะดังนี้:

ป้อนคำอธิบายรูปภาพที่นี่

เส้นสีแดงนั้นเป็นตัวกรองที่มีการกรองและรูปสี่เหลี่ยมที่แสดงให้เห็นว่าการบ้านนั้นบิดเบือนมุมมองอย่างไร

อย่างไรก็ตามบางครั้งมีกรณีเลวร้ายเกิดขึ้นเช่นนี้:

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ฉันมีการทดสอบอย่างง่ายในลูป RANSAC มันทำให้รูปสี่เหลี่ยมง่าย ๆ (หน่วยสี่เหลี่ยม) และแปลงด้วยการแปลงตัวอย่าง จากนั้นดูว่าการเปลี่ยนแปลงนั้นรักษาความนูนเอาไว้หรือไม่

อย่างไรก็ตามกระนั้นก็มีกลุ่มของรูปสี่เหลี่ยมสี่เหลี่ยมเว้าออกมา

คุณมีความคิดวิธีการทดสอบ homography อย่างถูกต้องหรือไม่ถ้ามันทำงานได้ดีและกรองคำตอบที่ไม่ถูกต้องออกไป

ฉันพบรหัสบางส่วนที่พวกเขาทดสอบว่าไม่มีจุดเปลี่ยนสามจุดใดที่เป็นโคลิเนียร์ แต่ดูเหมือนจะไม่เพียงพอเพราะจะไม่กรอง deltoids และ quadrilaterals "ไม่ถูกต้อง" อื่น ๆ ...

คำตอบ:



4

มีปัญหาในการตรวจสอบว่า homography นั้นโอเคหรือไม่

อัลกอริทึมสำหรับการตรวจสอบการเขียนที่ถูกต้องอาจจะสนใจใครบางคนดังนั้นฉันจะเขียนมันที่นี่:

ABDC

A:(w/2,h/2,1.0)B:(w/2,h/2,1.0)C:(w/2,h/2,1.0)D:(w/2,h/2,1.0)

w,h

ABDCC=HC

uv

d1:A+(DA)s=A+usd2:B+(CB)t=B+vt

d1=d2

t=1d[(ByAy)ux(BxAx)uy]

s=1d[(AxBx)vy(AyBy)vx]

s,t(0,1)

s,t(λ,1.0λ)λ=0.01

ปัญหาที่เก่ากว่าแก้ไขในอัลกอริทึมด้านบน:

ฉันพบปัญหาที่นี่ - มี homography แน่นอนการทดสอบสามารถผ่านสำหรับรูปสี่เหลี่ยมขนาดเล็ก แต่ไม่ใช่สำหรับขนาดใหญ่ นี่คือเหตุผลว่าทำไมคำพ้องภาพที่ "ไม่ดี" บางส่วนถูกส่งผ่าน

สี่เหลี่ยมสีเขียวแสดงถึงแหล่งที่มาของภาพสีส้มเป็นรูปที่ถูกแปลง อย่างที่คุณเห็นทางซ้ายมือข้างหนึ่งนูน แต่เริ่มเปลี่ยนรูปเนื่องจากแหล่งใหญ่กว่า:

ป้อนคำอธิบายรูปภาพที่นี่

ในที่สุดแม้แต่แหล่งที่มาที่ใหญ่กว่าให้ผลไม่ใช่รูปสี่เหลี่ยมขนมเปียกปูน:

ป้อนคำอธิบายรูปภาพที่นี่

(x,y,w)xyw

ฉันได้แก้ไขอัลกอริทึมแล้ว


1

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

ดู Hartley และ Zisserman - เรขาคณิตหลายมุมมองบน Computer Vision บทที่ 4.2 และโดยเฉพาะ 4.2.3 และสมการ (4.8)


quadrilaterals ที่แสดงนั้นเพิ่งใส่เข้าไป ฉันแน่ใจเกี่ยวกับการติดต่อเนื่องจากพอดีดีมาก ฉันใช้อัลกอริทึม DLT ปกติที่แนะนำโดย Hartley & Zisserman แล้วใช้การปรับแต่งซ้ำแล้วซ้ำอีกและการจับคู่ที่แนะนำตามที่คุณกล่าวถึง
Libor

แต่พอดีของ homography ไม่สามารถที่ดีเช่นเดียวกับในภาพแรกมีสองกลุ่มจุด: คนที่อาคารอพาร์ทเม้น (ซึ่งอาจจะอยู่ในระนาบเดียวกัน) และคนที่อยู่บนต้นไม้ (ซึ่งอาจจะไม่แม้กระทั่งบน เครื่องบินลำเดียวกันในกลุ่มของตัวเอง) คุณแน่ใจหรือว่าคุณไม่ได้ตั้งใจใช้เมทริกซ์พื้นฐาน?
buq2

เส้นเชื่อมต่อจุดที่สอดคล้องกันและฉันตรวจสอบพวกเขาทั้งหมด - เมื่อภาพถูกจัดตำแหน่งพวกเขาทั้งหมดพบ เมื่อฉันแยกภาพที่จับคู่ไม่ดีออกมามันจะส่งผลให้ได้ภาพพาโนรามาที่ดี
Libor

ภาพถูกสร้างขึ้นโดยใช้กล้องหมุนได้ดังนั้นมันอาจดูเหมือนว่าเครื่องบินเปลี่ยน แต่เนื่องจากกล้องหมุนรอบศูนย์กลางแสงฉันค่อนข้างแน่ใจว่ามีการคาดคะเนการถ่ายภาพ ฉันสามารถคำนวณความยาวโฟกัสและเมทริกซ์การหมุนได้ แต่ปัญหาอยู่ที่อื่นฉันจะต้องหาสิ่งแปลกประหลาดในซอฟแวร์ของฉัน ...
Libor

อ่าคุณไม่ได้รวมข้อมูลที่ไม่มีการแปลระหว่างกล้อง จากนั้นคุณก็ถูกต้องและ homography อธิบายการเปลี่ยนแปลงระหว่างภาพ
buq2
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.