ฉันจะรับการปรับเทียบกล้องที่แม่นยำที่สุดได้อย่างไร


16

ก่อนอื่นฉันหวังว่านี่เป็นบอร์ดการแลกเปลี่ยนที่ถูกต้อง ฉันขอโทษถ้ามันไม่ได้

ฉันกำลังทำงานกับสิ่งที่ต้องการให้ฉันปรับเทียบกล้อง ฉันใช้รหัสสำเร็จในการทำสิ่งนี้ใน OpenCV (C ++) ฉันกำลังใช้ฟังก์ชั่นกระดานหมากรุก inbuilt และกระดานหมากรุกที่ฉันพิมพ์ออกมาแล้ว

มีบทเรียนมากมายบนอินเทอร์เน็ตที่ระบุมุมมองกระดานหมากรุกมากกว่าหนึ่งมุมมองและแยกมุมออกจากแต่ละเฟรม

มีชุดมุมมองที่เหมาะสมที่สุดสำหรับฟังก์ชั่นเพื่อรับการปรับเทียบกล้องที่แม่นยำที่สุดหรือไม่? ส่งผลต่อความแม่นยำของการสอบเทียบคืออะไร

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

FYI สำหรับทุกคนที่เยี่ยมชม:ฉันเพิ่งค้นพบว่าคุณจะได้รับการสอบเทียบกล้องที่ดีกว่าโดยใช้ตารางวงกลมที่ไม่สมมาตรและฟังก์ชั่น OpenCV ที่เกี่ยวข้อง

คำตอบ:


8

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

ค่าสัมประสิทธิ์การบิดเบือนมีมากขึ้นในกล้อง "พิเศษ" เช่นมุมกว้างหรือ 360 °

นี่คือรายการวิกิพีเดียเกี่ยวกับการสอบเทียบ และนี่คือความผิดเพี้ยนแบบไม่ใช่เชิงเส้นซึ่งไม่สำคัญสำหรับกล้องส่วนใหญ่


โดยมุมของออยเลอร์ฉันถือว่าคุณหมายถึงการหมุนกล้องไปรอบ ๆ กระดานหมากรุก (โดยมีกระดานหมากรุกเป็นตัวหมุน) ใน x, y และเลื่อนกล้องไปทางและออกจากกระดานหมากรุกในซี? ฉันอ่านเกี่ยวกับคนที่เพิ่งพิมพ์กระดานหมากรุกที่แปลงโฉมและเก็บกล้องไว้ในที่เดียวกัน ยกตัวอย่างเช่น: i.imgur.com/rYzV4.pngและi.imgur.com/McG9z.png การใช้สิ่งต่าง ๆ เช่นนี้เป็นการตัดสินใจที่ไม่ดีเพราะอาจไม่ได้แสดงว่าสิ่งต่าง ๆ จะบิดเบือนความเป็นจริงได้อย่างไร
เสือชีต้า

ใช่เกี่ยวกับการย้ายกล้อง ใช่อีกครั้งเกี่ยวกับการรักษาในสถานที่
mirror2image

@ mirror2image คุณหมายถึงในการปฏิบัติงานจริง ๆ ดีกว่าที่จะเปลี่ยนมุมที่แตกต่าง แต่นั่นหมายความว่ามุมมองที่แตกต่างกันจะมีระบบประสานโลกที่แตกต่างกัน ฉันจำเป็นต้องใช้ระบบการประสานงานโลกที่ใช้ร่วมกันเพื่อให้คะแนนของวัตถุในระบบการประสานงานเดียวกันหรือไม่
ริชาร์ด

3

@Ben - จำนวนการดูขึ้นอยู่กับกล้องและความแม่นยำขั้นสุดท้ายที่จำเป็น

ด้วยเลนส์ความผิดเพี้ยนต่ำคุณภาพสูง (SLR 35 มม. ระดับสูง) ที่ใช้ภาพกระดานหมากรุกจำนวนมากเพื่อแมปการบิดเบือนสามารถไม่เสถียร - เนื่องจากการบิดเบือนเป็นเศษส่วนของพิกเซล
คุณยังคงต้องถ่ายภาพหลายภาพเมื่อหมุนบอร์ด (หรือกล้อง) เนื่องจากศูนย์ภาพมักจะอยู่ในระยะไม่กี่พิกเซลของ x / 2, y / 2 และจะเปลี่ยนตามโฟกัส และแน่นอนว่าการซูมเปลี่ยนทุกอย่าง

เมื่อคุณมีศูนย์กลางของเลนส์และความยาวโฟกัส (เป็น X และ Y) คุณจะต้องใช้กระดานหมากรุกเพียงแผ่นเดียวในการยิงเพื่อให้ตำแหน่งกล้องของคุณ


ฉันได้รับการสอบเทียบที่แย่มาก ๆ และฉันก็ไม่สามารถหาสาเหตุได้ ฉันมีกระดานหมากรุกที่พิมพ์อยู่บนกำแพงและฉันกำลังเคลื่อนกล้องไปยังตำแหน่งที่ต่างกันดังนั้นมันจึงมีมุมมองที่แตกต่างกันบนกระดานหมากรุก แต่เมื่อใดก็ตามที่ฉันใช้ฟังก์ชั่นการยกเลิกการเรียงใน opencv และมันก็แปลกมากและผิดเพี้ยน กล้องของฉันคือ Microsoft LifeCam Studio 1080p
Cheetah

@Ben ปิดการใช้งานโฟกัสอัตโนมัติใด ๆ ในเว็บแคมเลนส์ขนาดเล็กความยาวโฟกัสและศูนย์กลางของเลนส์เปลี่ยนไปพร้อมโฟกัส คุณหมุนพอที่จะได้รับแบบที่ดีสำหรับศูนย์? มีสี่เหลี่ยมกำลังออกไปที่มุมหรือไม่ สุดท้ายตรวจสอบว่าเป้าหมายทั้งหมดมีการตรวจพบสี่เหลี่ยมทั้งหมด
Martin Beckett

ออโต้โฟกัสถูกปิดการใช้งานแล้ว ให้คำจำกัดความเพียงพอหรือไม่ ฉันพยายามทำมุมสุดขีดให้มากที่สุดเพื่อรับแต้ม ไม่แน่ใจว่าสิ่งที่คุณหมายถึงโดย "กำลังสองออกไปที่มุม" ถ้าคุณหมายถึงฟังก์ชั่นที่ดึงมุมสกัดในภาพ - แล้วใช่ ฉันยังมีการตรวจสอบเพื่อดูว่ามุมทั้งหมดได้รับการตรวจพบแล้ว ฉันคิดว่าปัญหาของฉันอาจอยู่กับสิ่งที่ฉันตั้งความยาวโฟกัสเริ่มต้นเป็นเมทริกซ์ภายในที่ฉันส่งไปยังฟังก์ชันการปรับเทียบ ฉันได้ลอง 1: 1, 16: 9 (สิ่งที่ฉันเชื่อว่าเป็นอัตราส่วนของเว็บแคม) และได้ลองอะไร (ซึ่งคุณสามารถทำได้)
Cheetah

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

@Santosh - ใช่แน่นอนเทียบเท่า คุณต้องทำให้แน่ใจว่าคุณได้ครอบคลุมมุมที่แตกต่างมากมาย
Martin Beckett

3

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

มีเวลามากมายใช้เวลาพยายามที่จะได้รับการสอบเทียบสเตอริโอดีที่สุดใน Kinect ผมที่ใช้ร่วมกันเคล็ดลับและผลการวิจัยของฉันในบล็อกโพสต์ที่นี่

แม้ว่ามันจะมุ่งไปที่การปรับเทียบสเตอริโอและ Kinect โดยเฉพาะอย่างยิ่งฉันเชื่อว่าเคล็ดลับจะช่วยให้ทุกคนที่พยายามปรับเทียบกล้อง

นอกจากนี้ในกรณีที่ฉันควรตายสักวันหรือลืมที่จะต่ออายุโฮสติ้งของฉันนี่คือข้อความที่แก้ไขจากโพสต์:

  1. ตรวจสอบให้แน่ใจว่าคุณมีรูปแบบการปรับเทียบที่ใหญ่ที่สุด ทำตามสิ่งที่ฉันพูดข้างต้น รับรูปแบบที่ดีพิมพ์อย่างมืออาชีพ ตรวจสอบให้แน่ใจว่าแต่ละตารางอย่างน้อย 8 ซม. x 8 ซม. นอกจากนี้ตรวจสอบให้แน่ใจว่าด้านหนึ่งของรูปแบบการสอบเทียบนั้นมีจำนวนคี่ที่เป็นสี่เหลี่ยมจัตุรัส มันเป็นสิ่งสำคัญสำหรับการตรวจจับแบบของเป้าหมายอย่างถูกต้อง นอกจากนี้กล่องเครื่องมือบางตัวจะไม่สามารถตรวจจับลวดลายในข้อกำหนดนี้ได้ ตามที่กล่าวไว้ก่อนหน้านี้รูปแบบที่ฉันใช้ซึ่งเหมาะสำหรับการพิมพ์บนแผ่นงานขนาดใหญ่จะถูกอัพโหลดที่นี่ (สำหรับสี่เหลี่ยม 9 ซม.) และที่นี่ (สำหรับ 10 ซม. สี่เหลี่ยม)
  2. ตรวจสอบให้แน่ใจว่ารูปแบบที่พิมพ์ของคุณมีขอบสีขาวเพียงพอรอบ ๆ มิฉะนั้นกล่องเครื่องมือส่วนใหญ่อาจตรวจไม่พบ
  3. ตรวจสอบให้แน่ใจว่า Kinect ไม่เคลื่อนไหว ฉันใช้เมานต์เพื่อติดตั้ง Kinect ของฉันกับขาตั้งกล้อง
  4. พยายามรับภาพเป้าหมายการสอบเทียบให้ได้มากที่สุด การสอบเทียบที่ดีที่สุดของฉันนั้นทำได้โดยใช้ 300 ภาพในระยะทางต่ำสุดถึง 0.5 เมตรจนถึง 10 เมตรจากกล้อง ตรวจสอบให้แน่ใจว่าคุณหมุนรูปแบบรอบแกน X, Y และ Z นอกจากนี้ให้ลอง "เรียงภาพ" มุมมองด้วยภาพที่ถ่ายในระยะทางเดียวกันเช่นถ่ายภาพหนึ่งเลื่อนเป้าหมายไปยังช่องต่อไปในมุมมองถ่ายอีกภาพหนึ่งแล้วทำซ้ำจนกว่าคุณจะเรียงลำดับภาพทั้งหมดในปัจจุบัน สาขาดู เป้าหมายคือเพื่อให้ครอบคลุมทุกมุมมองในแต่ละระยะมากที่สุด
  5. ใช้แอพปรับเทียบสเตอริโอของ MATLAB ถ้าเป็นไปได้ จะช่วยให้คุณกำจัดค่าผิดปกติหลังจากแต่ละขั้นตอนการสอบเทียบ

3

นี่คือรายการของ 'แนวทางปฏิบัติที่ดีที่สุด' สำหรับการสอบเทียบกล้องที่ฉันโพสต์ไว้ที่นี่: https://calib.io/blogs/knowledge-base/calibration-best-practices

  • เลือกเป้าหมายการปรับเทียบขนาดที่เหมาะสม มีขนาดใหญ่พอที่จะ จำกัด พารามิเตอร์อย่างเหมาะสม ควรครอบคลุมประมาณ ครึ่งหนึ่งของพื้นที่ทั้งหมดเมื่อเห็นภาพหน้ากล้องขนานกัน
  • ทำการปรับเทียบที่ระยะการทำงานโดยประมาณ (WD) ของแอปพลิเคชันสุดท้ายของคุณ กล้องควรโฟกัสที่ระยะนี้และโฟกัสควรไม่เปลี่ยนแปลงหลังจากปรับเทียบ
  • เป้าหมายควรมีจำนวนคุณสมบัติสูง ใช้รูปแบบที่ดีกว่า อย่างไรก็ตามในบางจุดความทนทานในการตรวจจับยังคงมีอยู่ คำแนะนำของเราคือการใช้รูปแบบที่ละเอียดสำหรับกล้องที่สูงกว่า 3MPx และหากควบคุมแสงได้ดี
  • รวบรวมภาพจากพื้นที่และเอียงต่าง ๆ ย้ายเป้าหมายเพื่อให้ครอบคลุมพื้นที่ภาพทั้งหมดและตั้งเป้าเพื่อให้ครอบคลุม ความผิดเพี้ยนของเลนส์สามารถกำหนดได้อย่างเหมาะสมจากภาพแบบ fronto-parallel เท่านั้น แต่การประมาณความยาวโฟกัสขึ้นอยู่กับการสังเกตการเล็ง รวมทั้งภาพด้านหน้าแบบขนานและภาพที่ถ่ายด้วยบอร์ดเอียงได้ถึง +/- 45 องศาทั้งในแนวนอนและแนวตั้ง การเอียงเพิ่มเติมมักไม่ใช่ความคิดที่ดีเนื่องจากความแม่นยำในการแปลเป็นคุณลักษณะ
  • ใช้แสงที่ดี สิ่งนี้มักถูกมองข้าม แต่สำคัญมาก เป้าหมายการสอบเทียบควรสว่างอย่างชัดเจนโดยใช้แสงควบคุมการถ่ายภาพ แหล่งที่มาของจุดแข็งทำให้เกิดการส่องสว่างไม่สม่ำเสมออาจทำให้การตรวจจับล้มเหลวและไม่ใช้ช่วงไดนามิกของกล้องได้เป็นอย่างดี เงาสามารถทำเช่นเดียวกัน
  • มีข้อสังเกตเพียงพอ โดยปกติการสอบเทียบควรดำเนินการอย่างน้อย 6 การสังเกต (ภาพ) ของเป้าหมายการสอบเทียบ หากใช้กล้องที่มีลำดับสูงกว่าหรือรุ่นที่มีการบิดเบือนการสังเกตเพิ่มเติมจะเป็นประโยชน์
  • พิจารณาการใช้เป้าหมายที่มีการกำหนดรหัสเฉพาะเช่นกระดาน CharuCo สิ่งเหล่านี้ช่วยให้คุณสามารถรวบรวมการสังเกตจากขอบของเซ็นเซอร์กล้องและเลนส์และดังนั้นจึง จำกัด พารามิเตอร์การบิดเบือนได้ดี นอกจากนี้ยังอนุญาตให้คุณรวบรวมข้อมูลแม้เมื่อจุดฟีเจอร์เดียวไม่เป็นไปตามข้อกำหนดอื่น ๆ
  • การสอบเทียบมีความแม่นยำเท่ากับเป้าหมายการสอบเทียบที่ใช้ ใช้เป้าหมายเลเซอร์ที่พิมพ์ออกมาเท่านั้นเพื่อตรวจสอบและทดสอบ
  • การติดตั้งเป้าหมายการปรับเทียบและกล้องที่เหมาะสม เพื่อลดความผิดเพี้ยนและโค้งคำนับในเป้าหมายที่มีขนาดใหญ่ขึ้นให้ยึดพวกมันในแนวตั้งหรือวางราบบนแผ่นรองรับที่แข็งแรง ลองพิจารณาการเคลื่อนย้ายกล้องในกรณีเหล่านี้แทน ใช้ขาตั้งกล้องคุณภาพและหลีกเลี่ยงการสัมผัสกล้องระหว่างการซื้อ
  • ลบการสังเกตที่ไม่ดี ตรวจสอบข้อผิดพลาดการคัดลอกอย่างระมัดระวัง ทั้งต่อการดูและต่อคุณสมบัติ หากสิ่งเหล่านี้ปรากฏเป็นค่าผิดปกติให้แยกออกและปรับเทียบใหม่

เครื่องมือออนไลน์ในการสร้าง PDF สำหรับเป้าหมายการสอบเทียบพบได้ที่นี่: https://calib.io/pages/camera-calibration-pattern-generator


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