วิธีการรับเมฆจุดหนาแน่นจากกล้องสเตอริโอ?


12

ฉันพยายามใช้กล้องสเตอริโอเพื่อสร้างฉากใหม่ แต่โดยปกติฉันจะได้รับเมฆจุดเบาบาง (เช่นครึ่งภาพไม่มีข้อมูลเชิงลึกที่เหมาะสม)

ฉันรู้ว่าอัลกอริธึมการประมวลผลสเตอริโอขึ้นอยู่กับการปรากฏตัวของพื้นผิวในภาพและมีพารามิเตอร์บางอย่างที่สามารถปรับแต่งเพื่อให้ได้ผลลัพธ์ที่ดีกว่าเช่นช่วงความแตกต่างหรือขนาดหน้าต่างความสัมพันธ์ ถึงแม้ว่าฉันจะปรับพารามิเตอร์เหล่านี้ แต่ฉันไม่สามารถรับผลลัพธ์ที่อยู่ใกล้กับสิ่งที่สามารถรับได้จากระยะไกลโดยใช้เซ็นเซอร์ที่ใช้งานอยู่เช่น Kinect

เหตุผลที่ฉันต้องการนั่นก็เพราะว่าบ่อยครั้งที่มีเมฆจุดที่ตรงกับพื้นที่ใกล้เคียงไม่มีการทับซ้อนกันมากพอที่ฉันจะได้รับการแข่งขันดังนั้นการสร้างใหม่จึงมีความบกพร่องอย่างรุนแรง

คำถามของฉันต่อผู้เชี่ยวชาญด้านการมองเห็นของคอมพิวเตอร์มีดังต่อไปนี้ฉันจะทำอย่างไรเพื่อให้ได้จุดเมฆทึบโดยทั่วไป (โดยไม่มีการดัดแปลงสภาพแวดล้อมในสำนักงานของฉัน)


นี่เป็นคำถามที่ดี แต่ฉันคิดว่าจำเป็นต้องมีรายละเอียดเพิ่มเติม อัลกอริทึมใดที่คุณพยายามคำนวณการจับคู่ คุณสามารถอธิบายสิ่งที่คุณหมายถึงโดย "ภูมิภาคที่อยู่ติดกัน" และ "ทับซ้อน?"
Josh Vander Hook

เมื่อฉันพูดว่า "ภูมิภาคที่อยู่ติดกัน" ฉันหมายถึงบางส่วนของพื้นที่ทางกายภาพที่ไม่เท่ากัน แต่มีจุดตัดที่ไม่ว่างซึ่งฉันเรียกว่า "ทับซ้อน" นั่นคือชนิดของพื้นที่ที่จะสร้างจุดเมฆที่สามารถจับคู่และเย็บในอัลกอริทึม ICP
georgebrindeiro

เกี่ยวกับอัลกอริทึมฉันยังคงใช้วิธีที่ง่ายที่สุดเท่าที่จะหาได้: โหนดสเตอริโอ_image_proc ROS ซึ่งใช้อัลกอริทึมการจับคู่บล็อกทั่วโลกที่มีอยู่ใน OpenCV ฉันสนใจที่จะได้ยินเกี่ยวกับการตั้งค่าพารามิเตอร์ที่ไม่สามารถเข้าถึงได้โดยตรงผ่านโหนด ROS หรืออัลกอริทึมอื่น ๆ ที่ทราบว่าให้ผลลัพธ์ที่ดีกว่า
georgebrindeiro

คำตอบ:


4

คุณสามารถลองข้ามการตรวจจับจุดสำคัญและเพียงแค่ตัวอย่างที่หนาแน่นบนภาพ (เป็นเส้นตารางหรือมากกว่านั้น) และคำนวณตัวบอกคุณสมบัติในทุกจุดตัวอย่าง คุณสามารถทำได้แม้กระทั่งการคำนวณ descriptor สำหรับทุกพิกเซล

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

อีกวิธีหนึ่งคือการรวมอัลกอริธึมการตรวจจับจุดสำคัญหลายจุดเข้าด้วยกัน: มุม, ขอบ, blobs และอื่น ๆ จากนั้นคุณต้องใช้อัลกอริธึมอธิบายคุณลักษณะเดียวกันสำหรับทุกจุดที่ตรวจพบอย่างไรก็ตามส่วนหลังนี้อาจค่อนข้างยุ่งยากในการปรับใช้


2

ดังนั้นอัลกอริทึมการประมวลผลภาพสเตอริโอที่ฉันเคยใช้ในอดีตจึงถูกนำมาใช้แบบพิกเซลต่อพิกเซล เราเพิ่งใช้กล้องรูเข็มและทำการวัดแบบเก่า ๆ ด้วยเทปวัดจนกระทั่งการประมาณความลึกของเราตรงกับของจริง

สมการสำหรับกล้องคู่ขนานคือ:

  • d=ครึ่งหนึ่งของระยะห่างระหว่างกล้อง
  • f=ความยาวโฟกัสของกล้อง (สมมติว่าเหมือนกัน)
  • เฟรมพิกัด:
    • x,y,z=ประสานกรอบระหว่างกล้อง (เช่นกรอบฐานกล้อง)
    • uR,vRกล้องพิกัดในกล้องที่ถูกต้องจากมุมมองของหุ่นยนต์ (u เป็นแนวนอน, v เป็นแนวตั้ง)
    • uL,vLพิกัดกล้องในกล้องด้านซ้าย
    • หมายเหตุ: พิกัดกล้องมีจุดกำเนิดอยู่ที่กรอบพิกัดระหว่างกล้อง (เช่นแกน u หันหน้าไปทางตรงข้าม)

uL=f(xd)z ,uR=f(x+d)z

zuR=f(x+d) ,zuL=f(xd)

z(uRuL)=2df

z=2dfuRuL

y=vLz+dff

x=uLz+dff

การใช้สมการเหล่านี้คุณสามารถคำนวณคลาวด์สเตอริโอที่หนาแน่น หนึ่งพิกเซลสำหรับแต่ละพิกเซลบนกล้องของคุณ


ขอบคุณสำหรับความพยายาม แต่ฉันคุ้นเคยกับการสร้างแบบจำลองสเตอริโอ ปัญหานี้มักเกิดจากการติดต่อระหว่าง (u, v) ในกล้องด้านซ้ายและด้านขวา muksie ให้แนวคิดบางอย่างเกี่ยวกับวิธีการจัดการกับสิ่งนั้นและ sylvain.joyeux ชี้ให้เห็นว่าเป็นห้องสมุดสเตอริโอที่ยิ่งใหญ่ที่นำไปสู่ผลลัพธ์ที่ดีขึ้นแม้ว่า ...
georgebrindeiro

1

เมื่อคุณพูดว่า "มากกว่าครึ่งภาพไม่มีข้อมูลเชิงลึกที่เหมาะสม" ครึ่งใด?

ปัญหาหนึ่งที่เราพบคือถ้าระยะห่างจากวัตถุมีขนาดเท่ากันกว่าพื้นฐานของคุณ (โดยปกติจะเกี่ยวข้องกับกล้องมุมกว้างมาก) ดังนั้นอัลกอริธึมสเตอริโอหนาแน่น "มาตรฐาน" ก็ใช้งานไม่ได้ เราได้ใช้ไลบรารี libelas และผู้พัฒนาบอกเราว่าสิ่งนี้เรียกว่า "สเตอริโอพื้นฐานขนาดใหญ่" และเป็นอีกปัญหาหนึ่ง


เมื่อฉันบอกว่าครึ่งภาพไม่มีข้อมูลเชิงลึกที่เหมาะสมฉันหมายความว่าจากพิกเซลทั้งหมดมีเพียงประมาณครึ่งหนึ่งเท่านั้นที่มีความไม่เท่าเทียมกันในการคำนวณ ฉันไม่ได้มีปัญหาแบบเดียวกันกับที่คุณพูดถึงอัตราส่วนระยะทางต่อวัตถุ / เส้นฐาน แต่เป็นเรื่องที่น่าสนใจมากที่ได้ยินเกี่ยวกับห้องสมุดนั้นและอาจเป็นปัญหาได้ ขอบคุณ!
georgebrindeiro

1
ไม่ว่าจะด้วยวิธีใดฉันจะลองใช้libelasตั้งแต่ฉันพบเสื้อคลุม ROSสำหรับมัน!
georgebrindeiro

0

ไปดูผู้นำมาตรฐาน KITTI Stereo เกณฑ์มาตรฐานนี้ลงโทษอัลกอริทึมสำหรับการไม่สร้างความไม่เสมอภาค ณ จุดใดก็ตามดังนั้นนักแสดงชั้นนำจึงสร้างเอาต์พุตที่มีความหนาแน่นสูง (แม้ว่าพวกเขาจะมีพื้นที่ไม่มากนัก วิธีการบางอย่างมีรหัสสาธารณะที่เชื่อมโยงซึ่งคุณสามารถลองใช้ได้

โปรดทราบว่าพวกเขาจะไม่ถูกลงโทษเนื่องจากใช้เวลานานหลายวิธีจึงใช้เวลาในการเรียงตามลำดับนาทีต่อภาพเพื่อให้ทำงานได้และอาจไม่เหมาะกับการใช้งานของคุณ มีวิธีการที่ใช้ CNN มากมาย แต่ก็ทำได้ดีในขณะที่ยังใช้งานได้น้อยกว่าหนึ่งวินาที (บน GPU) อย่างน้อยหนึ่งในเหล่านี้ (CRL) มีรหัสสาธารณะ

หากคุณยังไม่ได้รับการประเมินความลึกที่เหมาะสมกับสิ่งเหล่านี้ในรูปภาพของคุณคุณอาจเห็นขีด จำกัด ของสิ่งที่เป็นไปได้จากวิธีการที่มองเห็นได้ โดยพื้นฐานแล้วจะต้องมีพื้นผิวที่โดดเด่นในพื้นที่เพื่อให้สามารถจับคู่จุดได้ดีหรือคุณต้องการพื้นฐานสำหรับการตั้งสมมติฐานที่แข็งแกร่ง (เช่นความราบรื่น) ในพื้นที่ที่ไม่มีพื้นผิว

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