1 อธิบาย
ตัวเลข solve error บอกได้ไม่หมดว่ากล้องใช้ได้ไหม การเช็กที่ตรงที่สุดคือวาง CG ง่าย ๆ บนพื้น เช่นกรวย แล้วเล่น shot ถ้า CG ลื่นเทียบกับ plate แปลว่ากล้องผิด ไม่ว่าตัวเลขจะดีแค่ไหน
คลิกวางกรวยบนพื้นได้สูงสุด 4 อัน ทั้งใกล้และไกล แล้วสลับกล้อง A, B, C, D ดู slide now และ worst ของแต่ละกรวย เทียบกับ average error และ worst-frame error ของกล้อง สังเกตว่ากล้องไหนหลอกกรวยอันเดียวที่อยู่ไกลหรือกลางเฟรมได้
2 ลงมือลอง
โจทย์: วางกรวยหนึ่งอันใกล้กว่า 12 ม. และอีกอันไกลกว่า 25 ม. แล้วหากล้องที่ไม่มีกรวยไหนลื่นเกิน 1.5 px
ดูค่า worst ของทุกกรวย ไม่ใช่แค่ slide now และเล่นให้ครบทั้งช็อต กล้องที่ทำให้กรวยหนึ่งนิ่ง อาจทำให้อีกกรวยลื่นก็ได้
3 เจาะลึก
ตัวเลข error ไม่ใช่คำตอบสุดท้าย
solve error บอกค่าเฉลี่ยว่า track อยู่ห่างจากจุดที่กล้องคำนวณไว้กี่ pixel แต่ไม่ได้บอกว่าภาพจะดูนิ่งหรือไม่ solve ที่ค่าเฉลี่ยต่ำก็ยังลื่นหรือสั่นได้
การเช็กจริงคือวาง CG ง่าย ๆ บนพื้น เช่นกรวย แล้วเล่น shot ตาคนจับการลื่นได้ในภาพเคลื่อนไหว ภาพนิ่งเฟรมเดียวจึงไม่พอ
ถ้าตัวเลขกับภาพไม่ตรงกัน เชื่อภาพ
วางให้ครบ: ใกล้ ไกล กลาง ขอบ
กรวยอันเดียวกลางเฟรมหลอกได้ง่าย กล้องหลายแบบที่ผิดยังทำให้จุดเดียวนิ่งได้ ตำแหน่งที่ลื่นบอกได้ว่าผิดตรงไหน
| อาการ | สาเหตุที่น่าจะเป็น |
|---|---|
| ไกลนิ่ง ใกล้ลื่น | fit แบบหมุนอย่างเดียว (nodal) บนช็อตที่กล้องเคลื่อนที่จริง |
| กลางนิ่ง ขอบลื่น | focal ผิด หรือขาด lens distortion |
| นิ่งเกือบทั้งช็อต แต่กระตุกบางเฟรม | มีเฟรมเสียใน solve |
| นิ่งทุกจุดตลอดช็อต | กล้องใช้ได้ |
อย่าแก้ focal ในกล้องที่ solve แล้ว
focal, lens distortion และการหมุนของกล้องถูกคำนวณมาด้วยกันเป็นคำตอบเดียว ถ้าเปลี่ยนแค่ focal ส่วนที่เหลือก็ไม่เข้ากันแล้ว ภาพจะลื่นมากขึ้นเมื่อห่างจากกลางเฟรม ถ้าต้องใช้เลนส์อื่น ให้ solve ใหม่ด้วยค่านั้น
fit แบบหมุนอย่างเดียวก็มีเงื่อนไขเช่นกัน ใช้ได้เฉพาะเมื่อกล้องหมุนรอบจุดเดิมจริง ๆ ถ้ากล้องเคลื่อนที่ พื้นใกล้จะลื่น
ค่าเลนส์จาก camera report ใช้เป็น input ตอน solve ไม่ใช่ค่าที่เอามาพิมพ์แก้ทีหลัง
ดูให้ครบทั้งช็อต
ค่าเฉลี่ยที่ดีซ่อนเฟรมเสียไม่กี่เฟรมไว้ได้ ดู worst-frame error คู่กับค่าเฉลี่ยเสมอ แล้วเล่นทั้งช็อต และ step ทีละเฟรมในช่วงที่สงสัย
ถ้าอยากวัดให้ชัด ใช้ Reconcile3D เปลี่ยนจุด 3D บนพื้นกับกล้องให้เป็น 2D track แล้ว stabilise บนจุดนั้น plate ตรงจุดนั้นควรนิ่ง
- 1วางกรวยใกล้และไกล
- 2เล่นทั้งช็อต
- 3ดู worst ไม่ใช่แค่ค่าเฉลี่ย
- 4step ทีละเฟรม
- 5stabilise ด้วย Reconcile3D
เช็ก layout ไปพร้อมกัน
กล้องที่ไม่ลื่นยังอาจวางฉากผิดได้ ลองวาง Card ขนาดใหญ่ลาย checkerboard เป็นพื้น เส้นขอบฟ้าของมันควรตรงกับเส้นขอบฟ้าของ plate วาง Cube ที่ pivot อยู่ที่ฐาน มันควรตั้งเรียบบนพื้น และวางวัตถุที่รู้ขนาด มันควรดูขนาดถูกต้อง
4 ในงานจริง
ทำใน Nuke
- ต่อ Camera ที่ solve แล้ว กับ Card ขนาดใหญ่ที่ใส่ CheckerBoard เป็นพื้น
- วาง geo เล็ก ๆ เช่น Cube ที่ pivot อยู่ที่ฐาน ทั้งใกล้ ไกล และใกล้ขอบเฟรม
- ScanlineRender ผ่าน Camera แล้ว Merge (over) ลงบน plate (ถ้ามี lens distortion ให้ redistort CG ก่อน ตามบท TR5)
- เล่นทั้งช็อต แล้ว step ทีละเฟรมในช่วงที่ worst-frame error สูง
- Reconcile3D: Camera + plate + Axis ที่จุดบนพื้น → create keyframes ได้ 2D track → stabilise แล้วดูว่าจุดนั้นนิ่ง
พลาดบ่อย → แก้ยังไง
- ✗ เช็กด้วยกรวยอันเดียวกลางเฟรม✓ วางทั้งใกล้ ไกล และใกล้ขอบเฟรม
- ✗ ดูภาพนิ่งเฟรมเดียวแทนการเล่นช็อต✓ เล่นทั้งช็อต แล้ว step ทีละเฟรมในช่วงที่สงสัย
- ✗ พิมพ์ focal ที่คิดว่าถูกลงในกล้องที่ solve แล้ว✓ solve ใหม่โดยใช้เลนส์นั้นเป็น input
- ✗ รับ solve เพราะ average error ต่ำ✓ ดู worst-frame error และดูว่า CG บนพื้นลื่นไหมขณะเล่น
เช็กก่อนส่งช็อต
- CG บนพื้นไม่ลื่นทั้งระยะใกล้และไกล
- กลางเฟรมกับขอบเฟรมนิ่งเท่ากัน
- เล่นครบทั้งช็อต และ step ผ่านเฟรมที่ error สูงแล้ว
- stabilise ด้วย Reconcile3D บนจุดพื้นแล้ว plate นิ่ง
- พื้น checkerboard ตรงเส้นขอบฟ้า และวัตถุที่รู้ขนาดดูขนาดถูก
5 เช็กตัวเอง
กรวยที่อยู่ไกลนิ่งดี แต่กรวยที่อยู่ใกล้กล้องลื่น สาเหตุที่น่าจะเป็นที่สุดคืออะไร
🔒 ตอบคำถามด้านบนก่อน แล้วการ์ดนี้จะเปิด
1. average error ของกล้องต่ำ แต่ worst-frame error สูงกว่ามาก ควรทำอย่างไร
2. focal ที่ solve ได้ไม่ตรงกับเลนส์ใน camera report ควรทำอย่างไร
ตัวเลขมาจากไหน: shot มือถือ 48 เฟรม (640×360) เรนเดอร์ใน Blender (Cycles) จากฉากทะเลทรายของเรา เพิ่มจอเขียวบนเสาและโดรนบินผ่าน เฟรม 1 คือกล้องเดียวกับ plate นิ่ง ตำแหน่งจริงของทุกจุดมาจาก 3D ของฉากเอง (truth.json, dist.f32) กล้อง A ถึง D สร้างในเบราว์เซอร์จากค่าจริงของฉาก (A คือ solve แบบสอนหลักการจากบท TR6 ที่ใช้ track ดี, B คือ A ที่เปลี่ยน focal เป็น 30 มม. โดยไม่ solve ใหม่, C คือ fit แบบหมุนอย่างเดียวจากตำแหน่งของเฟรมแรก, D คือ A ที่มีสามเฟรมเบี้ยว) เป็นกล้องแบบสอนหลักการที่ตั้งใจให้แต่ละตัวมีปัญหาเดียว ค่า slide วัดเทียบกับจุดบนพื้นจริงในฉาก 3D