สารบัญ:

การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว: 8 ขั้นตอน
การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว: 8 ขั้นตอน

วีดีโอ: การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว: 8 ขั้นตอน

วีดีโอ: การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว: 8 ขั้นตอน
วีดีโอ: ทำ 3D Model หรือ 3 มิติง่าย ๆ ด้วยโปรแกรม Paint 3D | We Mahidol 2024, พฤศจิกายน
Anonim
การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว
การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว
การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว
การสร้างใหม่ 3 มิติจากภาพถ่ายเดียว

งานของการสร้าง 3D มักจะเกี่ยวข้องกับการมองเห็นด้วยสองตา หรือคุณอาจย้ายกล้องตัวเดียวไปรอบๆ วัตถุ ในขณะเดียวกัน ถ้าทราบรูปร่างของวัตถุ งานอาจแก้ไขได้จากภาพถ่ายเดียว นั่นคือคุณมีกล้องเพียงตัวเดียวและมันไม่เคลื่อนไหว เรามาดูวิธีการทำทีละขั้นตอนกัน เราจะใช้ Rubik's Cube เพราะมันได้มาตรฐานและมีคุณสมบัติมากมาย อาจถือได้ว่าเป็นวัตถุที่เรียบง่ายและซับซ้อนในเวลาเดียวกัน ดังนั้นแมชชีนวิชั่นจะต้องผ่านอุปสรรคมากมายเพื่อให้งานสำเร็จลุล่วง

ขั้นตอนที่ 1: ประเมินความซับซ้อนของงาน

ประเมินความซับซ้อนของงาน
ประเมินความซับซ้อนของงาน
ประเมินความซับซ้อนของงาน
ประเมินความซับซ้อนของงาน
ประเมินความซับซ้อนของงาน
ประเมินความซับซ้อนของงาน
ประเมินความซับซ้อนของงาน
ประเมินความซับซ้อนของงาน

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

ขั้นตอนที่ 2: ค้นหาแนวทางที่เหมาะสม

ค้นหาแนวทางที่เหมาะสม
ค้นหาแนวทางที่เหมาะสม

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

ขั้นตอนที่ 3: คำนวณ Theta Histogram

คำนวณ Theta Histogram
คำนวณ Theta Histogram

มาตรวจหาคลัสเตอร์ดังกล่าวกัน เพื่อจุดประสงค์นี้ เราจะสรุปการอ่านสำหรับจุดทั้งหมดในพื้นที่ Hough ด้วยทีต้าเดียวกัน คุณเห็นฮิสโตแกรมที่สอดคล้องกันในภาพประกอบ หมายเหตุเล็กน้อยเกี่ยวกับการวัด เมื่อคุณทำงานกับรูปภาพในพิกัดพิกเซล แกน X จะไปตามปกติ แต่ Y จะชี้ลงด้านล่าง ดังนั้นที่มาของพิกัดคือมุมซ้ายบน และค่าทีต้าควรวัดจากแกน X ตามเข็มนาฬิกา โปรดทราบว่าการกวาดทีต้าทั้งหมดบนรูปภาพคือ 180 องศา คุณสามารถตรวจสอบได้ว่ายอดเขาหลัก 3 ยอดแสดงถึงความชันที่โดดเด่น 3 จุดบนรูปภาพ

ขั้นตอนที่ 4: คำนวณ Rho Histogram

คำนวณ Rho Histogram
คำนวณ Rho Histogram

ตอนนี้เราทราบเส้นคู่ขนานหลัก 3 กลุ่มแล้ว เรามาแยกเส้นภายในแต่ละเส้นกัน เราสามารถทำซ้ำแนวทางเดียวกันได้ ลองหาคอลัมน์จากสเปซ Hough ที่สอดคล้องกับหนึ่งพีคบนทีต้าฮิสโตแกรม ต่อไป เราจะคำนวณฮิสโตแกรมอื่นโดยที่แกน X แทนค่า rho และ Y - สรุปการอ่านสำหรับ rho นี้ เห็นได้ชัดว่าผลรวมจะน้อยลง ดังนั้นแผนภูมินี้จึงไม่ราบรื่นนัก อย่างไรก็ตาม พีคสามารถมองเห็นได้ชัดเจน และจำนวน (7) นั้นตรงกับจำนวนเส้นคู่ขนานบนรูปภาพต้นทางทุกประการ น่าเสียดาย ไม่ใช่ทุกแผนภูมิจะสมบูรณ์แบบนัก แต่หลักการนั้นชัดเจน

ขั้นตอนที่ 5: ค้นหา Central Knot

ค้นหาปมกลาง
ค้นหาปมกลาง

ถ้าเราหาจุดศูนย์กลางบน rho histogram สำหรับแต่ละทีต้า เราจะได้ 3 เส้นซึ่งเป็นสีแดงบนภาพ ทางแยกของพวกเขาเป็นจุดที่จำเป็น

ขั้นตอนที่ 6: เลือกจาก 2 ทางเลือก

เลือกจาก 2 ทางเลือก
เลือกจาก 2 ทางเลือก
เลือกจาก 2 ทางเลือก
เลือกจาก 2 ทางเลือก

คุณจะเห็นว่าแต่ละเส้นไปจากจุดศูนย์กลางทั้งสองทิศทาง วิธีการกำหนดครึ่งที่ถูกต้อง? ลองใช้ theta3 กัน สมมติว่าเราใช้ส่วนล่างของบรรทัดนี้ ลองคำนวณอีกช่อง Hough เฉพาะส่วนของรูปภาพจาก 2 เส้นสีเขียวไปที่มุมบนขวาของภาพ จากนั้นสร้างทีต้าฮิสโตแกรมสำหรับมัน คุณเห็นว่าจุดยอดที่สามหายไปอย่างสมบูรณ์ดังนั้นเราจึงได้เลือกที่ถูกต้อง

ขั้นตอนที่ 7: กำหนดมุมภายนอก

กำหนดมุมภายนอก
กำหนดมุมภายนอก

ตอนนี้เราสามารถใช้พีคแรกและพีคสุดท้ายบน rho histograms เพื่อวาดเส้นสีน้ำเงินที่ตัดขอบสีแดงและทำเครื่องหมายที่มุมที่เหลือ งานได้รับการแก้ไข

ขั้นตอนที่ 8: ลองใช้งานจริง

ภาพประกอบสำหรับคำแนะนำนี้สร้างขึ้นโดยใช้ Perception 1.0 นี่เป็นซอฟต์แวร์ฟรีที่ใช้ OpenCV ซึ่งเป็นไลบรารีที่มีประสิทธิภาพสำหรับการมองเห็นด้วยคอมพิวเตอร์ นอกจากนี้ยังอาจเชื่อมโยงกับ WinNB ซึ่งใช้ใน Instructable อื่นของฉันซึ่งให้ความสามารถในการมองเห็นสำหรับหุ่นยนต์ คุณสามารถดาวน์โหลดทั้งสองโปรแกรมได้จาก nbsite สำหรับการติดตั้ง ให้เรียกใช้ไฟล์ exe ที่ดาวน์โหลดมา หลังจากนั้น คุณสามารถลบออกได้โดยใช้เครื่องมือมาตรฐานของ Windows ไซต์นี้ยังมีแหล่งข้อมูลเกี่ยวกับการมองเห็นคอมพิวเตอร์และหัวข้อที่เกี่ยวข้อง ใน Perception คุณจะพบกับวิธีการที่อธิบายไว้ของการสร้าง 3D เช่นเดียวกับวิธีอื่นๆ อีกมากมาย ข้อดีของโปรแกรมนี้คือมันให้ผลลัพธ์สุดท้ายพร้อมกับข้อมูลระดับกลาง คุณสามารถค้นคว้าว่าคอมพิวเตอร์วิทัศน์ทำงานอย่างไรโดยไม่ต้องเป็นโปรแกรมเมอร์ ในการป้อนข้อมูล แต่ละวิธีได้คัดเลือกตัวอย่างทั่วไปมาเป็นพิเศษ แน่นอน คุณสามารถใช้ของคุณเองได้เช่นกัน เป็นไปได้ที่จะใส่รูปภาพจากไฟล์หรือจากกล้องของคอมพิวเตอร์ โปรดติดต่อฉันหากมีคำถามหรือข้อเสนอแนะ

แนะนำ: