กลับไปหน้าบทความ

อ่าน 3 นาที

การประมาณท่าทาง 3 มิติ

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

การประมาณท่าทาง 3 มิติ

การประมาณท่าทางในระบบจับการเคลื่อนไหว

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

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

จากกล้อง 2 มิติที่ไม่ได้ปรับเทียบ

เป็นไปได้ที่จะประมาณการหมุนและการแปลแบบ 3 มิติของวัตถุ 3 มิติจากภาพถ่าย 2 มิติเพียงภาพเดียว หากทราบแบบจำลอง 3 มิติโดยประมาณของวัตถุและทราบจุดที่สอดคล้องกัน ในภาพ 2 มิติ เทคนิคทั่วไปที่พัฒนาขึ้นในปี 1995 สำหรับการแก้ปัญหานี้คือ POSIT [ 1 ]ซึ่งประมาณท่าทาง 3 มิติโดยตรงจากจุดของแบบจำลอง 3 มิติและจุดของภาพ 2 มิติ และแก้ไขข้อผิดพลาดแบบวนซ้ำจนกว่าจะพบการประมาณที่ดีจากภาพเดียว[ 2 ]การใช้งาน POSIT ส่วนใหญ่ใช้ได้เฉพาะกับจุดที่ไม่ระนาบเดียวกันเท่านั้น (กล่าวคือ จะใช้ไม่ได้กับวัตถุแบนหรือระนาบ) [ 3 ]

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

จากกล้อง 2 มิติที่ปรับเทียบแล้ว

เมื่อกำหนดภาพ 2 มิติของวัตถุและกล้องที่ได้รับการปรับเทียบตามระบบพิกัดโลกแล้ว ก็สามารถหาตำแหน่งที่ทำให้วัตถุ 3 มิติอยู่ในระบบพิกัดวัตถุได้เช่นกัน[ 6 ]วิธีการทำงานมีดังนี้

การแยกข้อมูล 3 มิติจากข้อมูล 2 มิติ

เริ่มต้นจากภาพ 2 มิติ จะทำการสกัดจุดภาพที่สอดคล้องกับมุมในภาพ จากนั้นจะสร้างรังสีฉายจากจุดภาพเหล่านั้นขึ้นใหม่จากจุด 2 มิติ เพื่อให้สามารถกำหนดจุด 3 มิติ ซึ่งจะต้องตกกระทบกับรังสีที่สร้างขึ้นใหม่ได้

รหัสเทียม

อัลกอริทึมสำหรับการกำหนดค่าประมาณท่าทางนั้นอิงตาม อัลกอริทึม จุดที่ใกล้ที่สุดแบบวนซ้ำแนวคิดหลักคือการหาความสัมพันธ์ระหว่างคุณลักษณะของภาพ 2 มิติและจุดบนเส้นโค้งของแบบจำลอง 3 มิติ

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

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

(a) สร้างรังสีฉายภาพขึ้นใหม่จากจุดภาพ (ข) สำหรับรังสีฉายภาพ R แต่ละรังสี: (ค) สำหรับเส้นขอบ 3 มิติแต่ละเส้น: (c1) ประมาณจุด P1 ที่ใกล้ที่สุดของรังสี R กับจุดบนเส้นชั้นความสูง (c2) ถ้า (n == 1) ให้เลือก P1 เป็น P จริงสำหรับการจับคู่จุด-เส้น (c3) มิฉะนั้นให้เปรียบเทียบ P1 กับ P: ถ้า dist(P1, R) น้อยกว่า dist(P, R) แล้ว เลือก P1 เป็น P ใหม่ (d) ใช้ (P, R) เป็นชุดความสัมพันธ์ (e) ประมาณท่าทางโดยใช้ชุดการจับคู่ดังกล่าว (f) แปลงเส้นขอบ ไปที่ (b) 

การประเมินท่าทางโดยการเปรียบเทียบ

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

ซอฟต์แวร์

  • posestเป็น ไลบรารี C / C++ ภายใต้ลิขสิทธิ์ GPL สำหรับการประมาณค่าตำแหน่ง 6 องศาอิสระ (6DoF) จากการจับคู่แบบ 3 มิติกับ 2 มิติ
  • diffgeom2poseคือตัวแก้ปัญหา Matlab ที่รวดเร็วสำหรับการประมาณค่าตำแหน่ง 6DoF จากการจับคู่จุด 3 มิติกับ 2 มิติเพียงสองจุดที่มีทิศทาง (เวกเตอร์) หรือจุดที่อยู่บนเส้นโค้ง (จุดสัมผัส) จุดเหล่านี้สามารถ กำหนดคุณลักษณะ SIFTด้วยทิศทางของฟีเจอร์ได้
  • MINUS : แพ็กเกจ C++ สำหรับการประมาณค่าตำแหน่ง (สัมพัทธ์) ของมุมมองสามมุม รวมถึงกรณีที่มีจุดสามจุดที่สอดคล้องกันและมีเส้นเชื่อมที่จุดเหล่านั้น (เช่น ตำแหน่งและทิศทางของคุณลักษณะ หรือจุดบนเส้นโค้งที่มีเส้นสัมผัส) และกรณีที่มีจุดสามจุดที่สอดคล้องกันและมีเส้นเชื่อมหนึ่งเส้นด้วย
  • Nvidia FoundationPoseคือโมเดลพื้นฐานการเรียนรู้เชิงลึกแบบครบวงสำหรับการประมาณและการติดตามตำแหน่งวัตถุ 6 องศาอิสระ (6DoF) โดยรองรับทั้งการตั้งค่าแบบใช้โมเดล 3 มิติและแบบไม่ใช้โมเดล 3 มิติ

ดูเพิ่มเติม

บรรณานุกรม

  • Rosenhahn, B. "พื้นฐานเกี่ยวกับการประมาณท่าทาง 2 มิติและ 3 มิติ"
  • Rosenhahn, B. "การประมาณตำแหน่งของเส้นโค้งอิสระ 3 มิติในเรขาคณิตเชิงคอนฟอร์มัล"
  • Athitsos, V. "การประมาณท่าทางมือสามมิติจากภาพที่มีรายละเอียดมากเกินไป"
  • Estimación de una Postura 3D
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=3D_pose_estimation&oldid=1334567376 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การประมาณท่าทาง 3 มิติ

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

จากกล้อง 2 มิติที่ไม่ได้ปรับเทียบ

เป็นไปได้ที่จะประมาณการหมุนและการแปลแบบ 3 มิติของวัตถุ 3 มิติจากภาพถ่าย 2 มิติเพียงภาพเดียว หากทราบแบบจำลอง 3 มิติโดยประมาณของวัตถุและทราบ จุดที่สอดคล้องกัน ในภาพ 2 มิติ เทคนิคทั่วไปที่พัฒนาขึ้นในปี 1995 สำหรับการแก้ปัญหานี้คือ POSIT [ 1 ] ซึ่งประมาณท่าทาง 3...

จากกล้อง 2 มิติที่ปรับเทียบแล้ว

เมื่อกำหนดภาพ 2 มิติของวัตถุและกล้องที่ได้รับการปรับเทียบตามระบบพิกัดโลกแล้ว ก็สามารถหาตำแหน่งที่ทำให้วัตถุ 3 มิติอยู่ในระบบพิกัดวัตถุได้เช่นกัน [ 6 ] วิธีการทำงานมีดังนี้

การแยกข้อมูล 3 มิติจากข้อมูล 2 มิติ

เริ่มต้นจากภาพ 2 มิติ จะทำการสกัดจุดภาพที่สอดคล้องกับมุมในภาพ จากนั้นจะสร้างรังสีฉายจากจุดภาพเหล่านั้นขึ้นใหม่จากจุด 2 มิติ เพื่อให้สามารถกำหนดจุด 3 มิติ ซึ่งจะต้องตกกระทบกับรังสีที่สร้างขึ้นใหม่ได้