ทดลองนำทางจากข้อมูลที่บันทึกไว้

นักวิจัยดูภาพที่บันทึกไว้บนจอข้างชุดเซนเซอร์
ภาพประกอบแนวคิดสร้างด้วย AI

เริ่มจาก dataset เดียวและช่วงสั้น

EuRoC มีภาพ stereo ข้อมูล IMU และ calibration พร้อมข้อมูลอ้างอิง ส่วน TUM VI เป็นอีกทางเลือกสำหรับศึกษาระบบ visual-inertial ให้ดาวน์โหลดจากหน้าเจ้าของปัจจุบันและอ่านเงื่อนไขข้อมูล ไม่คัด config ของ dataset หนึ่งไปใช้อีกชุดโดยไม่ตรวจ

ผล replay จริงด้วย Basalt

วันที่ 29 กันยายน 2569 ทดลอง Basalt 0.1.7 กับภาพ stereo และ IMU ของ TUMVI room4 ได้ 600 poses จากช่วงข้อมูล 29.95 วินาที ตัว estimator รันหนึ่งครั้ง ใช้เวลา 17.4 วินาที บนสภาพแวดล้อมที่จำกัด CPU 2 และ RAM 4 GiB ตัวเลขนี้เป็นเวลาของการทดลองครั้งนี้ ไม่ใช่การรับรอง real-time บนทุกอุปกรณ์

เส้นทางบนระนาบ x–y

เส้นทางจริง 600 poses จาก Basalt บนระนาบ x–y หน่วยเมตร มาตราส่วนแกนเท่ากัน วงกลมคือจุดเริ่มและสามเหลี่ยมคือจุดจบ

กราฟใช้ตำแหน่งที่ estimator ส่งออกโดยตรง ไม่ทำเส้นให้เรียบหรือจัดแนวกับ ground truth พิกัดเป็นกรอบเริ่มต้นของ estimator

พิกัด z ตามเวลา

พิกัด z จาก trajectory จริงเทียบเวลาที่ผ่านไปประมาณ 29.95 วินาที ค่า z เป็นเมตรในกรอบ estimator ไม่ใช่ความสูงเหนือพื้น

ค่า z ไม่ใช่ความสูงเหนือพื้นหรือระดับน้ำทะเล ลองเทียบสองกราฟเพื่อดูว่าช่วงที่เคลื่อนที่บนระนาบน้อยยังมีการเปลี่ยนแนวตั้งหรือไม่

ก่อนรันพบว่าภาพคู่แรกมาก่อน IMU ตัวแรก 3.273404 ms จึงเก็บ CSV ต้นฉบับ แล้วใช้ CSV สำเนาของกล้องทั้งสองที่ตัดเฉพาะแถวนั้นออก เลือกภาพ 600 คู่ถัดไปโดยไม่เปลี่ยนภาพหรือ IMU และไม่สร้างตัวอย่างเพิ่ม ใช้ calibration double-sphere ทางการที่ตรง TUMVI

ตรวจ PNG headers 1,200 ภาพที่ขนาด 512×512 และ 16-bit พร้อม timestamp/IMU coverage ก่อนรัน ผลทั้ง 600 แถวมีค่าจำกัด เวลาเพิ่มตามลำดับ ตรงกับภาพภายใน 1 microsecond และ quaternion norm ต่างจาก 1 ไม่เกิน 1e-5 นี่คือการตรวจรูปแบบและความสอดคล้องของผล ไม่ใช่การประเมินความแม่นยำของตำแหน่ง

CSV ที่ส่งให้โปรแกรมมีภาพ 2,227 คู่และ IMU 22,212 แถว แต่จำกัด replay 600 คู่ ในช่วงภาพที่เลือกมี IMU 5,971 แถว จำนวนข้อมูลในช่วงนี้ไม่ใช่ตัวนับ IMU ที่ estimator ใช้ภายในจริง ซึ่ง binary ไม่ได้รายงานแยก

ดาวน์โหลด trajectory จริง · อ่านคู่มือและแบบฝึกภาษาไทย · ผลตรวจและเงื่อนไข · ที่มาและ SHA256

ข้อมูลต้นทาง TUM Visual-Inertial Dataset โดย Schubert et al. ใช้ CC BY 4.0 เป็นการบันทึกด้วยอุปกรณ์ถือมือ ผลนี้ไม่ใช่การทดสอบบินโดรนหรือผล OpenVINS ไม่ใช้ ground truth เริ่มสถานะ ส่วนการประเมินอิสระวันที่ 30 กันยายนพบ APE ตำแหน่ง RMSE 2.20 ซม. หลัง SE(3) alignment แบบไม่ปรับสเกล อ่านวิธีจับคู่เวลา ผล RPE และข้อจำกัดใน ผลประเมิน trajectory ก่อนนำตัวเลขไปใช้

จัดสภาพแวดล้อมก่อนรัน

ความพร้อมของสภาพแวดล้อมต่อเครื่องมือ: OpenVINS มีคู่มือครบทั้ง ROS/ROS-free/Docker ส่วน VINS-Fusion และ ORB-SLAM3 บางตัวอย่างยังอ้าง Ubuntu/ROS รุ่นเก่า

OpenVINS มีคู่มือ ROS, ROS-free และ Docker ให้เลือกตามพื้นฐาน ส่วน VINS-Fusion และตัวอย่างบางส่วนของ ORB-SLAM3 ยังอ้าง Ubuntu/ROS รุ่นเก่า จึงควรตรึง revision และ dependency ตามคู่มือที่ทดสอบ ไม่เสนอคำสั่งเก่าให้รันบนเครื่องทุกแบบ

สิ่งที่บันทึก เหตุผล
OS, tool revision และ dependency ช่วยทำซ้ำและวิเคราะห์ build error
dataset/sequence/checksum ยืนยันใช้ข้อมูลเดียวกัน
sensor model, frame และ calibration ป้องกันอ่านภาพ/IMU ผิดความหมาย
ช่วงเวลา ความเร็ว replay และ output แยกปัญหาประมวลผลไม่ทันจากคุณภาพ estimator

ลำดับทดลอง

ลำดับทดลอง: ติดตั้งตามเอกสารเจ้าของ → ใช้ตัวอย่างที่มากับโครงการ → ตรวจว่าข้อมูลเข้าครบ → เก็บ log/trajectory → วิเคราะห์ผลก่อนเปลี่ยนค่า หากไม่มี output ให้ตรวจ path/timestamp/config แล้วกลับไปตรวจใหม่

ติดตั้งตามเอกสารเจ้าของ → ใช้ตัวอย่างที่มากับโครงการ → ตรวจว่าข้อมูลเข้าครบ → เก็บ log/trajectory → วิเคราะห์ผลก่อนเปลี่ยนค่า หากไม่มี output ให้ตรวจ path, timestamp และ config ก่อนปรับพารามิเตอร์ประเมินสถานะ

สถานะ: ตรวจเอกสารแล้ว ยังไม่รับรองการติดตั้ง OpenVINS/VINS-Fusion/ORB-SLAM3 บนสอง OS ในโปรเจกต์นี้ Windows ให้พิจารณา Linux ผ่าน WSL2/VM หลังตรวจความเข้ากันได้ ไม่ติดป้าย Windows native

เริ่มแบบฝึกข้อมูลสังเคราะห์ที่ไม่ต้องติดตั้ง ROS → · แหล่งซอฟต์แวร์และ dataset →

ตรวจข้อมูลก่อนส่งเข้า estimator

ไฟล์เส้นทางตำแหน่งอย่างเดียวใช้ประเมิน trajectory ได้ แต่ยังไม่พอสำหรับรัน VIO ใหม่ ต้องมีภาพกล้องคู่ ข้อมูล IMU และ calibration ที่สัมพันธ์กัน เครื่องมือตรวจข้อมูลของชุดฝึกนี้อ่านช่วงสั้นไม่เกิน 30 วินาที โดยตรวจดังนี้

ตรวจอะไร ปัญหาที่ช่วยพบ
Timestamp เป็นจำนวนเต็มหน่วย ns และเพิ่มตามลำดับ เวลาซ้ำ สลับลำดับ หรือเสียความละเอียดจากการแปลงเป็นทศนิยมเร็วเกินไป
กล้องซ้ายและขวามีเวลาเดียวกัน จับภาพคนละคู่หรือมีเฟรมหาย
IMU ครอบคลุมช่วงกล้องหลังปรับ time offset ข้อมูลเฉื่อยขาดช่วงต้นหรือท้ายที่ต้องใช้งาน
หน่วย rad/s และ m/s² ประกาศหน่วยไม่ตรงข้อกำหนดของชุดฝึก
ภาพ grayscale PNG และขนาดตรง config ไฟล์เสีย ภาพผิดขนาด หรือช่องสีไม่ตรง
เมทริกซ์การหมุนและ calibration รูปแบบผิดหรือเมทริกซ์หมุนไม่ถูกต้องเชิงคณิตศาสตร์

เกณฑ์ช่วงห่าง IMU ไม่เกิน 20 ms และกล้องไม่เกิน 600 เฟรมต่อข้างเป็นขอบเขตของแบบฝึกนี้ ไม่ใช่เกณฑ์รับรอง VIO ทุกระบบ ค่า calibration และหน่วยที่ประกาศยังต้องตรวจเทียบกับแหล่งข้อมูลจริง โปรแกรมตรวจรูปแบบไม่สามารถยืนยันว่าค่าที่กรอกตรงกับเซนเซอร์ได้

ดาวน์โหลดเครื่องมือตรวจและข้อมูลสังเคราะห์สำหรับฝึก · อ่านวิธีทดลองภาษาไทย · ดูผลทดสอบตัวตรวจข้อมูล

เริ่มด้วยข้อมูลสังเคราะห์ใน ZIP แล้วลองแก้ timestamp ให้ซ้ำหนึ่งค่า โปรแกรมควรปฏิเสธข้อมูล อธิบายให้ได้ว่าทำไมการผ่าน INPUT_CONTRACT_PASS จึงยังไม่บอกความแม่นยำของตำแหน่ง ข้อมูลชุดนี้ใช้ทดสอบตัวอ่านไฟล์เท่านั้น ไม่ใช่ข้อมูลบินจริง

ข้อควรระวังเรื่องข้อมูลอ้างอิง: ตัวอย่าง ros1_serial_msckf ของ OpenVINS สามารถใช้ path_gt เริ่มสถานะจาก ground truth ได้ หากต้องการประเมินผลโดยไม่ใช้ข้อมูลเฉลยช่วยเริ่มต้น ต้องแยก ground truth ไว้ประเมินภายหลังและบันทึกวิธี initialization ให้ชัดเจน

แยกสถานะของเครื่องมือ: ตัวตรวจข้อมูลเดิมใช้สัญญา pinhole/radtan และข้อมูลสังเคราะห์ ส่วน replay จริงด้านบนใช้ binary ทางการของ Basalt กับ calibration double-sphere ของ TUMVI การทดลองนี้ไม่ยืนยันว่า OpenVINS พร้อมรัน และผล evo หรือ camera-only calibration เดิมยังเป็นคนละขั้นตอน

แหล่งอ้างอิงและขอบเขต

ตรวจแหล่งข้อมูล 7–29 กันยายน 2569 เรียบเรียงประกอบองค์ความรู้ที่ DTI เอื้อเฟื้อ

กิตติกรรมประกาศและที่มา

โดรนvisual-inertial