ฉันกำลังพัฒนา Augmented Reality SDK บน OpenCV ฉันมีปัญหาในการค้นหาแบบฝึกหัดในหัวข้อขั้นตอนที่ต้องปฏิบัติตามอัลกอริทึมที่เป็นไปได้การเข้ารหัสที่รวดเร็วและมีประสิทธิภาพเพื่อประสิทธิภาพแบบเรียลไทม์เป็นต้น
จนถึงตอนนี้ฉันได้รวบรวมข้อมูลถัดไปและลิงค์ที่เป็นประโยชน์
การติดตั้ง OpenCV
คุณสามารถดูคู่มือการติดตั้งได้ที่นี่ (แพลตฟอร์ม: linux, mac, windows, java, android, iOS)
เพิ่มความเป็นจริง
สำหรับผู้ขอทานนี่คือรหัสเติมความเป็นจริงง่ายๆใน OpenCV ถือเป็นการเริ่มต้นที่ดี
สำหรับใครก็ตามที่ค้นหา SDK ที่ล้ำสมัยที่ออกแบบมาอย่างดีฉันพบขั้นตอนทั่วไปบางอย่างที่ทุกความเป็นจริงที่เพิ่มขึ้นตามการติดตามเครื่องหมายควรมีโดยพิจารณาจากฟังก์ชัน OpenCV
โปรแกรมหลัก: สร้างคลาสทั้งหมดการเริ่มต้นจับภาพเฟรมจากวิดีโอ
คลาส AR_Engine: ควบคุมส่วนต่างๆของแอปพลิเคชันความเป็นจริงเสริม ควรมี 2 สถานะหลัก:
- การตรวจจับ : พยายามตรวจจับเครื่องหมายในฉาก
- การติดตาม : เมื่อตรวจพบแล้วให้ใช้เทคนิคการคำนวณที่ต่ำกว่าสำหรับการติดตามเครื่องหมายในเฟรมที่กำลังจะมาถึง
นอกจากนี้ควรมีอัลกอริทึมบางอย่างสำหรับการค้นหาตำแหน่งและการวางแนวของกล้องในทุกเฟรม สิ่งนี้ทำได้โดยการตรวจจับการเปลี่ยนแปลงโฮโมกราฟีระหว่างเครื่องหมายที่ตรวจพบในฉากและภาพ 2 มิติของเครื่องหมายที่เราประมวลผลแบบออฟไลน์ คำอธิบายของวิธีนี้ที่นี่ (หน้า 18) ขั้นตอนหลักสำหรับการประมาณค่าท่าทาง ได้แก่ :
โหลดกล้อง Intrinsic พารามิเตอร์ ก่อนหน้านี้แยกออฟไลน์ผ่านการปรับเทียบ
โหลดรูปแบบ (เครื่องหมาย) เพื่อติดตาม: เป็นภาพของเครื่องหมายระนาบที่เรากำลังจะติดตาม จำเป็นต้องแยกคุณสมบัติและสร้างตัวอธิบาย ( จุดสำคัญ ) สำหรับรูปแบบนี้เพื่อให้เราสามารถเปรียบเทียบกับคุณสมบัติจากฉากได้ในภายหลัง อัลกอริทึมสำหรับงานนี้:
สำหรับการอัปเดตเฟรมทุกครั้งให้เรียกใช้อัลกอริทึมการตรวจจับเพื่อดึงคุณสมบัติจากฉากและสร้างตัวอธิบาย อีกครั้งเรามีหลายทางเลือก
ค้นหาการจับคู่ระหว่างรูปแบบและตัวบอกฉาก
ค้นหาเมทริกซ์Homographyจากการแข่งขันเหล่านั้น สามารถใช้ RANSAC ก่อนเพื่อค้นหา inliers / outliers ในชุดการแข่งขัน
แยกCamera Poseออกจาก homography
- โค้ดตัวอย่างในPose จาก homography
- โค้ดตัวอย่างในhomography จาก Pose