CCTVPLANNER.IO / วิจัย
เรขาคณิตของการครอบคลุมกล้อง CCTV
กล้องที่ติดตั้งและเอียงสร้างภาพพื้นได้อย่างไร — เรขาคณิตกรวยการมอง การฉายของเลนส์ และมาตรฐานระยะ DORI ที่อนุมานจากหลักการแรกและแสดงด้วยรหัสเดียวกับที่ขับเคลื่อนตัวออกแบบสด
1. จากกรวยการมองสู่รอยพิมพ์บนพื้น
กล้องรูเข็ม (pinhole) นิยาม กรวยการมอง: ปิรามิดสี่ด้านที่ทอดยาวจากศูนย์กลางทาง แสงของกล้องไปยังขอบเขตของระนาบภาพ แต่ละพิกเซลเป็นหนึ่งรังสีจากศูนย์กลางทางแสงผ่านจุดที่ตรงกันบน ระนาบภาพ ในการหาว่ากล้องครอบคลุมพื้นบริเวณใด เราตัดแต่ละรังสีกับระนาบพื้นและเก็บจุดที่อยู่ภายใน ระยะของกล้อง
สำหรับกล้องที่ติดตั้งที่ความสูง h เอียงเป็นมุม α ลงต่ำกว่าแนวนอน โดยมีมุมมองแนวตั้ง vfov รังสีมุมทั้งสี่ของกรวยจะวาดเส้นรอบนอกของพื้นที่ ครอบคลุมบนพื้น ในรูปแบบการติดตั้งทั่วไป (ที่ α + vfov/2 < 90°) รูปร่างเป็น สี่เหลี่ยมคางหมูตัดยอดที่มีมุมโค้ง — ไม่ใช่สามเหลี่ยมหรือเซกเตอร์ที่ออกจากจุด ติดตั้งกล้อง เมื่อ α + vfov/2 เข้าใกล้ 90° (กล้องโดมเอียง ชันมากที่ติดเพดาน) ขอบล่างของภาพเริ่มกระทบพื้นที่ฐานของกล้อง และสี่เหลี่ยมคางหมูจะเสื่อมไปสู่ เซกเตอร์
รอยพิมพ์บนพื้นมุมมองด้านบนสำหรับกล้องที่ h = 4 ม. ความเอียง = 30° hfov = 106° ขอบล่างของภาพพบ พื้นในระยะสั้นด้านหน้ากล้อง ขอบด้านข้างกางออกเหมือนพัด ขอบไกลถูกตัดที่ระยะใช้งานจริงของกล้อง
2. การตัดของขอบล่าง / ขอบบน
รังสีขอบล่าง (sV = −1 ในพิกัดระนาบภาพ) ตัดพื้นที่:
d_near = h / tan(α + vfov/2)
รังสีขอบบน (sV = +1) ตัดที่:
d_far = h / tan(α − vfov/2) ถ้า α > vfov/2 (อยู่ใต้เส้นขอบฟ้าทั้งหมด)
ไม่จำกัด ถ้า α ≤ vfov/2 (ขอบบนอยู่เหนือเส้นขอบฟ้า
— ถูกตัดที่ renderRange)มุมมองด้านข้าง h = 4 ม. ความเอียง = 15° vfov = 50° เส้นสีน้ำเงินสองเส้นคือรังสีขอบล่างและขอบบน ของกรวยการมอง แถบสีน้ำเงินหนาบนพื้นทำเครื่องหมายบริเวณที่กล้องสร้างภาพพื้น (จาก d_near ถึง renderRange) ลิ่มสีแดงใต้เสาคือบริเวณทางเรขาคณิตที่เลนส์ไม่สามารถแยกแยะได้
สำหรับขอบด้านข้าง (sH = ±1) การสร้างเดียวกันนี้นำมาใช้ในระนาบแนวนอน: รังสีด้านข้างแต่ละเส้นกวาด ผ่าน HFOV ของกล้องที่ทุกความสูงของระนาบภาพ สำหรับเลนส์ เส้นตรง (ออปติก CCTV หลัก) เส้นเหล่านี้จะฉายลงบนพื้นเป็นเส้นตรงที่แตกออก สร้างด้านเอียงของสี่เหลี่ยมคางหมู สำหรับ เลนส์ ตาปลา การจับคู่เดียวกันโค้ง และรอยพิมพ์กลายเป็นจานโค้ง
3. จุดบอดทางเรขาคณิต
สำหรับกล้องใดก็ตามที่ติดตั้งเหนือพื้นและเอียงน้อยกว่า 90° − vfov/2 มีบริเวณใต้จุดติดตั้งโดยตรงที่ไม่มีรังสีใดของกรวยการมองสามารถไปถึงได้ ขอบล่างของภาพชี้ที่ α + vfov/2 ใต้แนวนอน ทุกสิ่งที่ใกล้กว่า d_near อยู่นอกภาพของกล้องโดยสิ้นเชิง
เมื่อความเอียงและ FOV คงที่ จุดบอดเพิ่มขึ้นเชิงเส้นกับความสูงในการติดตั้ง — สูตรลดรูปเป็น d_near = h × cot(α + vfov/2) ซึ่งเทอมโคแทนเจนต์ถูกกำหนด โดยเลนส์ กล้องที่เอียง 15° กับ FOV แนวตั้ง 50° มีจุดบอด 4.8 ม. ที่ความสูงติดตั้ง 4 ม. และ 23.8 ม. ที่ 20 ม. — อัตราส่วน 5× ตรงกับอัตราส่วนความสูง อัตราส่วน ระหว่างพื้นที่บอดกับพื้นที่ครอบคลุมเป็นข้อจำกัดหลักของการวางตำแหน่งกล้องบนเสาสูง
เลนส์เดียวกัน ความเอียง 15° เดียวกัน เพียงแค่ติดตั้งสูงกว่า (h = 20 ม.): จุดบอดเพิ่มเป็นสัดส่วน กับความสูง โดยไม่ขึ้นกับความยาวโฟกัสหรือขนาดเซ็นเซอร์
4. ระยะ DORI (EN 62676-4)
มาตรฐาน DORI (Detect / Observe / Recognize / Identify — ตรวจจับ / สังเกต / จดจำ / ระบุตัว) นิยามความหนาแน่นพิกเซลของเป้าหมายที่ระยะเฉพาะจากกล้อง ตาม EN 62676-4 ระยะเหล่านี้คือ ระยะแนวนอนบนพื้น ระหว่างกล้องและเป้าหมาย — ไม่ใช่ระยะเอียงตามแนวแกนแสง เอกสาร ข้อมูลของผู้ผลิตหลัก (Axis, Hikvision, Dahua, Bosch) ปฏิบัติตามข้อตกลงนี้
บนแผนที่ 2 มิติ ระดับ DORI ทั้งสี่เป็นเพียงส่วนโค้งร่วมศูนย์กลางที่มีรัศมีเท่ากับระยะแนวนอน ตัด ด้วยรูปหลายเหลี่ยมรอยพิมพ์ของกล้อง ที่ใดที่รอยพิมพ์ไม่ถึงรัศมีนั้น ส่วนโค้งที่สอดคล้องกันจะถูก ซ่อน — สำหรับกล้อง HFOV แคบ กรวยบางเกินกว่าจะบรรจุวงกลมเต็มได้ ปลายด้านข้างของแต่ละระดับจึงถูก ตัด และสำหรับกล้องระยะใกล้ ระดับที่ใหญ่ขึ้นจะอยู่นอกกรวยทั้งหมด
วงแหวน DORI เป็นส่วนโค้งบนพื้นภายในรอยพิมพ์ของกล้อง h = 4 ม. ความเอียง = 20° hfov = 90° ระยะ = 70 ม. ค่าระดับที่แสดง (8 / 16 / 32 / 64 ม.) เป็นภาพประกอบสำหรับกล้อง 1080p ทั่วไปที่ ~90° HFOV ระยะแนวนอนจริงขึ้นอยู่กับเซ็นเซอร์และความยาวโฟกัส EN 62676-4 ระบุความหนาแน่นพิกเซลที่แต่ละระดับ (ระบุตัว: 250 px/m, จดจำ: 125 px/m, สังเกต: 62 px/m, ตรวจจับ: 25 px/m) จากนั้นจึงคำนวณระยะแนวนอน ต่อกล้องได้
การตีความระยะเอียง (เมื่อนำมาใช้ได้) หากเอกสารข้อมูลเฉพาะระบุระยะเป็นระยะเอียงจากเลนส์ — ไม่ค่อยพบในออปติก CCTV ทั่วไป บางครั้งพบในข้อมูลจำเพาะเลนส์ความร้อนหรือเลนส์เทเลโฟโต — ระยะ แนวนอนเทียบเท่าบนพื้นคือ √(d_slant² − h²) กล้องที่ติดตั้ง 6 ม. ที่มีระยะระบุตัวเอียง 8 ม. ครอบคลุมรัศมีแนวนอน 5.3 ม. (√(64 − 36)) โมดูลเรขาคณิตเปิดเผยทั้งสองรูปแบบ ไดอะแกรม ของหน้าใช้การตีความแนวนอนมาตรฐาน
5. ประเภทการฉายของเลนส์
การออกแบบเลนส์ที่ต่างกันจับคู่มุมจากแกนแสงไปยังรัศมีระนาบภาพต่างกัน การฉายสามแบบที่ใช้ใน CCTV:
| การฉาย | r(θ) | ช่วงทั่วไป |
|---|---|---|
| เส้นตรง | f · tan θ | HFOV ≲ 120° (เลนส์ CCTV แบบคงที่และวาริโฟคอลส่วนใหญ่) |
| ระยะเท่า | f · θ | HFOV ≳ 140° (พาโนรามา / ตาปลา) |
| มุมตันเท่า | 2 f · sin(θ/2) | เลนส์ตาปลาที่รักษามุมตัน |
θ = มุมจากแกนแสง (เรเดียน) f = ความยาวโฟกัส r(θ) คือระยะรัศมีบนระนาบภาพจากจุดหลัก
สำหรับเลนส์เส้นตรง ปัจจัยข้างนอกแกน tan(θ) เกิน 1 เมื่อ θ ผ่าน 45° จากแกนแสง (กล่าวคือเมื่อ HFOV เกิน 90°) และเพิ่มขึ้นไม่มีขอบเขตเมื่อ θ เข้าใกล้ 90° (HFOV เข้าใกล้ 180°) ในออปติกจริง การยืดมุมรุนแรงนานก่อนที่คณิตศาสตร์จะแยกออก — ผู้ออกแบบเลนส์ ส่วนใหญ่เปลี่ยนไปใช้กระจกกึ่งตาปลาประมาณ 120–140° HFOV โดยเลนส์ตาปลาเต็มใช้เหนือ ~170°
ปัจจุบัน CCTVplanner.io เลือกการฉายเส้นตรงจนถึง 170° HFOV เกินจากนั้นการยืดมุมเพิ่มขึ้นมากพอที่ เราจะเปลี่ยนไปใช้ระยะเท่าเพื่อความเสถียรเชิงตัวเลข กล้องระหว่าง ~140° และ 170° HFOV จึงถูก สร้างแบบจำลองด้วยคณิตศาสตร์เส้นตรง แม้ว่าเลนส์จริงของกล้องจะใกล้กับตาปลามากกว่า — เรายอมรับสิ่ง นี้เพื่อแลกกับเรขาคณิตมุมที่เรียบง่ายกว่า การฉายมุมตันเท่ารองรับในชั้นเรขาคณิต (สำหรับข้อมูลผู้ ผลิตที่ระบุอย่างชัดเจน) แม้ว่าจะยังไม่มีตัวสลับที่ผู้ใช้เห็นได้
ข้อควรระวังเอกสารข้อมูล: HFOV เทียบกับ DFOV
ผู้ผลิตหลายราย — โดยเฉพาะแบรนด์ใหญ่ของเอเชีย (Dahua, Hikvision, Uniview, Tiandy) — อ้างหมายเลข มุมมองเดียวบนแผ่นข้อมูลที่จริง ๆ แล้วเป็นมุมมอง แนวทแยง (DFOV) ไม่ใช่แนวนอน การ ใส่ค่า DFOV ในเครื่องมือที่คาดหวัง HFOV ทำให้รอยพิมพ์กว้างเกิน 10–15 % โดยข้อผิดพลาดกระจุกตัวที่ ขอบด้านข้างที่ความหนาแน่นพิกเซลสำคัญที่สุด
สำหรับเซ็นเซอร์ที่มีอัตราส่วนแนวนอนต่อแนวตั้ง a (เช่น 16:9 → a = 16/9) การแปลงคือ:
tan(HFOV/2) = tan(DFOV/2) × a / √(a² + 1) tan(VFOV/2) = tan(DFOV/2) × 1 / √(a² + 1)
การจับคู่ไม่ใช่เชิงเส้นในมุม: ทางลัดเชิงเส้นที่ดูน่าสนใจในรูปแบบ HFOV ≈ k × DFOV ใช้ได้สำหรับเลนส์แคบแต่ล้มเหลวอย่างหนัก เมื่อมุมมองขยายออก สำหรับเซ็นเซอร์ 16:9 การแปลงที่แม่นยำคือ:
| DFOV (16:9) | HFOV แม่นยำ | VFOV แม่นยำ | ข้อผิดพลาดทางลัดเชิงเส้น |
|---|---|---|---|
| 60° | 53.4° | 31.6° | −1.1° |
| 80° | 72.4° | 44.7° | −2.6° |
| 100° | 92.2° | 60.6° | −5.0° |
| 120° | 113.0° | 80.7° | −8.4° |
| 140° | 134.7° | 106.8° | −12.7° |
"ข้อผิดพลาดทางลัดเชิงเส้น" = HFOV จากสูตรไม่ซับซ้อน HFOV = (a / √(a²+1)) × DFOV ลบด้วยค่าที่แม่นยำ ทางลัดประเมิน HFOV ต่ำเกินไป 5–13° ในช่วงมุมกว้างที่ครอบงำออปติก CCTV สมัยใหม่ — มากกว่าค่าเผื่อข้อมูลแผ่นข้อมูล ±1° ที่สมมติใน §9 มาก ใช้สูตรที่อิงตาม tan หรือค่าแม่นยำด้านบนเสมอ
ฐานข้อมูลกล้องของ CCTVplanner.io เก็บ HFOV (การวัดมาตรฐานของ CCTV) และแปลงเมื่อนำเข้าสำหรับกล้อง ที่แผ่นข้อมูลระบุเฉพาะ DFOV เมื่อป้อนกล้องที่กำหนดเองด้วยตนเอง ตรวจสอบหน่วยก่อนใส่ตัวเลขในช่อง HFOV — การผิดพลาดในเรื่องนี้เป็นหนึ่งในสองสาเหตุที่พบบ่อยที่สุดที่ทำให้รอยพิมพ์การสำรวจสถานที่ ไม่ตรงกับความเป็นจริงที่ติดตั้ง (อีกอย่างคืออัตราส่วนเซ็นเซอร์)
6. สิ่งกีดขวาง เงา และรอยพิมพ์ที่มองเห็นได้
กำแพง รั้ว และโครงสร้างสูงปิดกั้นรังสีจากกล้อง ในการคำนวณรอยพิมพ์ที่มองเห็นได้ เราสร้างแบบจำลอง สิ่งกีดขวางทึบแสงแต่ละชิ้นเป็นรูปหลายเหลี่ยม (เส้นรอบปิด) หรือพอลีไลน์ (รั้วเปิด) และฉายรูป สี่เหลี่ยมเงาต่อส่วน: แต่ละส่วนถูกขยาย ออกไปจากกล้อง ไกลหลายเท่าของระยะเรนเดอร์ การ รวมเงาต่อส่วนเหล่านี้คือเงาของสิ่งกีดขวางบวกกับทุกสิ่งด้านหลังเมื่อมองจากกล้อง
รอยพิมพ์ที่มองเห็นได้คือ รอยพิมพ์ − ⋃ เงา คำนวณผ่าน อัลกอริทึมความแตกต่างของรูปหลายเหลี่ยม Martínez–Rueda ผลลัพธ์เป็นรูปหลายเหลี่ยม (หรือรายการของ รูปหลายเหลี่ยมที่ไม่เชื่อมต่อกัน เมื่อสิ่งกีดขวางแบ่งกรวย) ที่ขอบเรียงตรงกับทั้งส่วนโค้งไกลของ กรวยการมองและกำแพงปิดกั้นทุกอันอย่างสะอาด
สำหรับการวิเคราะห์ที่รับรู้ 3 มิติ สิ่งกีดขวางที่ เตี้ยกว่า ความสูงในการติดตั้งของกล้อง ไม่ปิดกั้นรังสีโดยสิ้นเชิง — มันทอดเงาที่จำกัดบนพื้นที่ทอดยาวด้านหลังสิ่งกีดขวาง สำหรับกำแพงที่ ระยะแนวนอน d จากกล้อง โดยมีความสูงในการติดตั้ง h_cam และความสูงด้านบนของสิ่งกีดขวาง h_obs เงาทอดยาวจากกำแพงไปยังระยะแนวนอน:
d_shadow_end = d × h_cam / (h_cam − h_obs) สำหรับ h_cam > h_obs สำหรับ h_obs ≥ h_cam สิ่งกีดขวางปิดกั้นแนวสายตาทั้งหมด — เทียบเท่ากับเงาไม่จำกัด ตัวออกแบบจัดการกับกรณีนี้เป็นตัว ปิดกั้นที่ทึบแสงสมบูรณ์ (ไม่มีการมองข้าม) และใช้การฉายเงา ต่อส่วนเดียวกันที่ใช้ในเส้นทางการตัดสิ่งกีดขวาง 2D
การสลับ "ใช้ความสูงแนวตั้ง (3D)" บนอาคารหรือรั้วในตัวออกแบบจะเปลี่ยนไปใช้แบบจำลองการฉายเงานี้ เมื่อกล้องเตี้ยกว่าสิ่งกีดขวาง (หรือสูงเท่ากัน) ตัวสลับไม่มีผล
7. การฉายหลายชั้น
การตัดกันของกรวยการมอง-พื้นสามารถสรุปทั่วไปได้อย่างเรียบง่ายไปยังระนาบแนวนอนใด ๆ แทนสมการพื้น z = 0 ด้วย z = z_target แก้สมการรังสี-ระนาบเดียวกันสำหรับทุกรังสีมุม และผลลัพธ์คือรอยพิมพ์ของกล้องบนชั้นเป้าหมายนั้น กล้องที่ติดตั้งบนชั้นสองของห้องโถงครอบคลุมชั้นล่างด้วยการสร้างเดียวกันกับที่กล้องที่ติดตั้งบน พื้นครอบคลุมชั้นของตัวเอง เพียงแค่ค่า z_target ต่างกัน และความเหลื่อมแนวตั้งระหว่างกล้องและระนาบเป้าหมายที่ปรับเปลี่ยน
ชั้นคณิตศาสตร์สำหรับการฉายหลายชั้นมีอยู่ในโมดูลเรขาคณิตวันนี้ UI ตัวเลือกชั้นและตัวอย่างฉาก Three.js อยู่ในคิวสำหรับการเปิดตัวในอนาคต
8. ข้อสมมติและข้อจำกัด
สูตรทุกสูตรข้างต้นพึ่งพาชุดของข้อสมมติที่ทำให้ง่ายขึ้น ใช้ได้กับสถานการณ์ CCTV ติดตั้งคงที่ส่วน ใหญ่แต่จะใช้ไม่ได้ในเงื่อนไขเฉพาะ จัดทำเอกสารเพื่อให้ผู้ปฏิบัติงานสามารถตัดสินใจได้ว่าเมื่อใด ควรเชื่อถือแบบจำลอง
ข้อสมมติของแบบจำลอง
- พื้นเรียบ (พื้นเป็นระนาบ
z = 0) — ไม่มีความลาดของภูมิประเทศ ไม่มีความโค้งของโลก - กล้องนิ่งในขณะถ่าย — ไม่มีการเคลื่อนไหว PTZ ระหว่างเฟรม ไม่มีการสั่น
- แบบจำลองกล้องรูเข็ม — ไม่มีความบิดเบือนของเลนส์ เลนส์จริงเพิ่มความบิดเบือนแนวรัศมีและสัมผัสของ Brown–Conrady (ค่าสัมประสิทธิ์
k₁, k₂, p₁, p₂) ที่เราไม่ได้สร้างแบบจำลอง - การปรับเทียบในอุดมคติ — ระยะพิกเซลของเซ็นเซอร์ ความยาวโฟกัส และจุดศูนย์กลางทางแสงตรงกับข้อมูลจำเพาะของผู้ผลิตอย่างแม่นยำ
- ไม่มีอาร์ติแฟกต์ rolling-shutter ภาพทั้งหมดถูกถ่ายในชั่วขณะเดียว
- ไม่มีการหมุนของกล้อง — แกนแสงหมุนเฉพาะด้วยการแพนและการเอียง เซ็นเซอร์ยังคงอยู่ในแนวนอน
- เส้นทางแสงเดียว — ไม่มีการหักเหของโดมแก้ว ไม่มีพื้นผิวสะท้อนแสงในฉาก
- การหักเหของบรรยากาศไม่มีนัยสำคัญในระยะ CCTV ทั่วไป (ข้อผิดพลาดต่ำกว่า 1 ซม. ที่ 50 ม.)
เมื่อแบบจำลองใช้ไม่ได้
- ภูมิประเทศลาดเอียง รอยพิมพ์บนพื้นเลื่อนแบบไม่สมมาตร: ด้านลาดลงขยายไกลกว่าที่แบบจำลองคาดการณ์ ด้านลาดขึ้นถูกบีบอัด ข้อผิดพลาดประมาณ
±h · tan(ความลาด)ต่อเมตรของระยะแนวนอน - ความบิดเบือนของเลนส์มุมกว้าง เกิน ~110° HFOV การฉายเส้นตรงเบี่ยงเบนจากการจับคู่จริงของเลนส์ 1–5 % ที่มุม การฉายระยะเท่า / มุมตันเท่ามีให้ในชั้นเรขาคณิตสำหรับกรณีเหล่านี้ (ดู §5)
- กล้องโดมแก้ว โดมเพิ่มการเลื่อนเนื่องจากการหักเหเล็กน้อยที่ทางเข้าเลนส์ (มม. ที่ความสูงในการติดตั้งทั่วไป) สำหรับงาน DORI ที่ความแม่นยำสูงในการติดตั้งกระจกสะท้อน สิ่งนี้ไม่ใช่เรื่องเล็ก สำหรับการวางแผนทั่วไปจะอยู่ต่ำกว่าแหล่งข้อผิดพลาดอื่น ๆ
- ออปติกหลายการสะท้อน การสะท้อนจากกำแพงแก้ว เพดานสะท้อน หรือพื้นขัดเงาไม่ถูกติดตาม แบบจำลองคืนเฉพาะรอยพิมพ์ของแนวสายตา
- PTZ ที่กำลังเคลื่อนไหว แบบจำลองให้รอยพิมพ์ทันทีที่การตั้งค่าแพน/เอียงเดียว การครอบคลุมของ PTZ ที่เคลื่อนไหวเมื่อเวลาผ่านไปคือรอยพิมพ์ กวาด ไม่ใช่ทันที
- ค่าเผื่อการติดตั้ง มุมการติดตั้งจริงเบี่ยงเบนจากการออกแบบ 1–3° (ข้อผิดพลาดของช่างเทคนิค) ส่วนถัดไปจะระบุปริมาณว่าสิ่งนี้แพร่กระจายไปยังข้อผิดพลาดบนพื้นได้อย่างไร
9. ความไวต่อข้อผิดพลาด
ข้อผิดพลาดในพารามิเตอร์อินพุต (ความสูงในการติดตั้ง มุมเอียง FOV) แพร่กระจายไปยังข้อผิดพลาด ตำแหน่งบนพื้นในรอยพิมพ์ สำหรับการตัดของขอบล่างกับพื้น d_near = h / tan(α + vfov/2) อนุพันธ์ย่อยให้:
∂d_near/∂h = 1 / tan(α + vfov/2) = d_near / h ∂d_near/∂α = −h / sin²(α + vfov/2) (เรเดียน) ∂d_near/∂vfov = −h / (2 · sin²(α + vfov/2)) (เรเดียน)
อนุพันธ์ย่อยของมุมอยู่ในหน่วย เรเดียน คูณด้วย π/180 (≈ 0.01745) เพื่อแปลงเป็นต่อองศา ตารางด้านล่างใช้ การแปลง
สำหรับการกำหนดค่าทั่วไป (h = 10 ม. ความเอียง = 15° vfov = 50° → d_near ≈ 11.9 ม.) ข้อผิดพลาดเล็ก ในแต่ละพารามิเตอร์ก่อให้เกิดค่าเบี่ยงเบนต่อไปนี้ใน d_near:
| พารามิเตอร์ | ข้อผิดพลาดอินพุต | Δ d_near | หมายเหตุ |
|---|---|---|---|
| เอียง α | ±1° | ±0.42 m | ความละเอียดเครื่องวัดความเอียงทั่วไป |
| เอียง α | ±3° | ±1.27 m | ติดตั้งโดยกะเอาบนขายึด |
| ความสูง h | ±0.5 m | ±0.59 m | วัดด้วยตลับเมตร เสาที่เข้าถึงไม่ได้ |
| vfov | ±1° | ±0.21 m | การปัดเศษของแผ่นข้อมูล |
| รวมทั้งหมด | RMS | ~1.4 m | ที่เอียง 3° + ความสูง 0.5 ม. + fov 1° |
พจน์หลักคือความไม่แน่นอนของมุมการติดตั้ง: ในการกำหนดค่าด้านบน ทุกองศาของข้อผิดพลาดความเอียงเสีย ~42 ซม. ในความแม่นยำของตำแหน่งบนพื้นที่ d_near เครื่องวัดความเอียงเลเซอร์ที่อ่านค่าได้ความ ละเอียด 0.1° รักษาข้อผิดพลาด d_near ที่ขับเคลื่อนโดยความเอียงให้ต่ำกว่า 5 ซม. ติดตั้งขายึดด้วย สายตาดีพอที่ประมาณ ±1 ม. สำหรับการตรวจสอบระดับ DORI (ที่ความแตกต่างระหว่างวงแหวนพื้นจดจำและ ระบุตัวอาจอยู่ที่ 2–3 ม.) ความเอียงควรวัด ไม่ใช่ประมาณ
การวิเคราะห์อนุพันธ์ย่อยเดียวกันใช้กับความกว้างด้านข้างของรอยพิมพ์ผ่าน HFOV — ข้อผิดพลาด HFOV 1° ก่อให้เกิดประมาณ 2 · d · tan(½°) ≈ 1.7 % ข้อผิดพลาดการ กระจายด้านข้างที่ระยะ d ที่ระยะ 30 ม. นั่นคือ ~52 ซม. ของ ความไม่แน่นอนด้านข้าง ซึ่งเป็นเหตุผลที่เราถือว่าตัวเลข HFOV ของผู้ผลิตเป็น ±1° แทนที่จะแม่นยำ
10. ความสามารถในการทำซ้ำ
สูตรทั้งหมดในบทความนี้ถูกนำไปใช้ตามตัวอักษรในโมดูลเรขาคณิตที่มาพร้อมกับตัวออกแบบของ CCTVplanner.io โมดูลถูกครอบคลุมโดยชุดทดสอบหน่วยที่ครอบคลุมการฉายเส้นตรง / ระยะเท่า / มุมตันเท่า กรณีขอบของจุด บอด การฉาย DORI บนพื้น การตัดสิ่งกีดขวางรูปหลายเหลี่ยมแบบบูลีน และส่วนขยายหลายชั้น ไดอะแกรมทุก ตัวบนหน้านี้ถูกเรนเดอร์โดยเรียกใช้ฟังก์ชันเดียวกับที่ตัวออกแบบสดใช้
จุดเข้าหลัก
buildFrustum(args)— ฐานกล้อง (forward / right / upCam) + ข้อมูลเมตาของกรวยการมองcomputeGroundFootprint(frustum, projection)— รูปหลายเหลี่ยมที่สุ่มตัวอย่าง (8 / 32 จุดต่อขอบ)slantToGroundRadius(frustum, slantM)— √(slant² − h²) พร้อมตรวจสอบความสามารถในการเข้าถึงcomputeSegmentShadow / computePolygonShadow— การฉายเงาบนพื้นต่อส่วน / ต่อรูปหลายเหลี่ยมsubtractObstacleShadows(footprint, shadows)— ความแตกต่างของรูปหลายเหลี่ยม Martínez–RuedacomputeFloorFootprint(frustum, z, projection)— รูปแบบหลายชั้น
ค่าคงที่เริ่มต้น
defaultLensProjection: เส้นตรงเมื่อ HFOV < 170° มิฉะนั้นระยะเท่าSAMPLES_PER_EDGE: 8 สำหรับเส้นตรง 32 สำหรับการฉายตาปลา- ระยะตัดเงา:
renderRange × 4(ครอบคลุมการตัดขอบไกลที่ระยะสิ่งกีดขวางที่สมเหตุสมผล) - การจำกัดแนวนอนของขอบไกล: รังสีที่จุดตัดกับพื้นเกิน
renderRangeในระยะแนวนอนถูกฉายกลับไปที่renderRangeตามทิศทางแนวนอนของพวกมัน (ป้องกันอาร์ติแฟกต์เส้นที่หลงทางใกล้เส้นขอบฟ้าที่ส่วนโค้งไกลของรูปหลายเหลี่ยม)
ทำคณิตศาสตร์ซ้ำตั้งแต่ต้น: สร้าง CameraFrustum ด้วย รูปแบบที่เผยแพร่ { x, y, h, panDeg, tiltDeg, hfovDeg, vfovDeg, renderRangeM, pixelsPerMeter } สุ่มตัวอย่างมุมระนาบภาพที่ sH, sV ∈ [−1, +1] ด้วย 8 ตัว อย่างต่อขอบ (32 สำหรับตาปลา) ตัดแต่ละรังสีกับระนาบ z = 0ใช้ความแตกต่างของรูปหลายเหลี่ยมสำหรับการลบเงา ยกเว้นผลกระทบของการเรียงลำดับ IEEE 754 ในขั้นตอน บูลีนของรูปหลายเหลี่ยม ผลลัพธ์ตรงกับรูปหลายเหลี่ยมที่ตัวออกแบบสดเรนเดอร์ด้วยความแม่นยำของจุดลอย (ต่ำกว่ามิลลิเมตรในอินพุตขนาดจริง)
เอกสารอ้างอิง
- IEC 62676-4:2014 (พร้อมการแก้ไข) — ระบบเฝ้าระวังวิดีโอสำหรับใช้ในแอปพลิเคชันด้านความปลอดภัย ส่วนที่ 4: แนวทางการประยุกต์ใช้ (DORI ระยะเป้าหมาย) ข้อความที่เหมือนกันเผยแพร่เป็น EN 62676-4 ในรุ่นยุโรป
- Hartley & Zisserman, Multiple View Geometry in Computer Vision, ฉบับที่ 2, Cambridge University Press, 2004 (แบบจำลองการฉายของกล้อง เรขาคณิตของกรวยการมอง)
- Kannala & Brandt, "A generic camera model and calibration method for conventional, wide-angle, and fish-eye lenses," IEEE TPAMI, 2006 (การเปรียบเทียบการฉายเส้นตรง / ระยะเท่า / มุมตันเท่า)
- Martínez, Rueda & Feito, "A new algorithm for computing Boolean operations on polygons," Computers & Geosciences, 2009 — อัลกอริทึม Martínez–Rueda ดั้งเดิม การติดตามผลในปี 2013 "A simple algorithm for Boolean operations on polygons" (Advances in Engineering Software) เป็นรูปแบบที่นำไปใช้ในไลบรารี polygon-clipping ที่ใช้ที่นี่