ตรวจสอบกล้องรักษาความปลอดภัยด้วย AI บนเครื่อง
(frigate.video)- Frigate NVR ให้โซลูชันการตรวจจับวัตถุด้วย AI ที่ทำงานแบบ บนเครื่อง สำหรับกล้องรักษาความปลอดภัยที่ติดตั้งในบ้านหรือสำนักงาน
- รองรับการ ผสานรวม กับแพลตฟอร์มอัตโนมัติต่างๆ ที่เป็นที่นิยม เช่น Home Assistant, OpenHab และ NodeRed
- Frigate ผสานรวมโดยตรงกับ Home Assistant Media Browser จึงสามารถใช้ได้ทันทีทั้งฟีดกล้องและการทำ Automation
- สามารถใช้ข้อมูล เซนเซอร์และสวิตช์ แบบเรียลไทม์ที่เปิดเผยออกมาเพื่อสร้างสคริปต์การแจ้งเตือนและการทำงานอัตโนมัติได้หลากหลาย
- ด้วยความสามารถในการเชื่อมต่อแบบขยายได้ผ่าน MQTT ช่วยให้สร้างระบบสมาร์ทโฮมที่มีประสิทธิภาพได้
ฟังก์ชันหลักของ Frigate NVR
- Frigate NVR รัน AI ตรวจจับวัตถุในเครื่อง ทำให้สามารถวิเคราะห์วิดีโอจากกล้องรักษาความปลอดภัยได้โดยไม่ต้องพึ่งบริการคลาวด์ภายนอก
- สามารถเชื่อมต่อกับ Home Assistant, OpenHab, NodeRed ได้ และผสานเข้ากับแพลตฟอร์มอัตโนมัติสมาร์ทโฮมได้อย่างง่ายดาย
- Frigate แสดงวิดีโอจากกล้องโดยตรงใน Home Assistant Media Browser และให้บริการ camera entities ที่มีเวลาแฝงต่ำ
- โดยเปิดเผยผลการตรวจจับวัตถุเป็นข้อมูล เซนเซอร์และสวิตช์แบบเรียลไทม์ จึงเพิ่มความสามารถในการนำไปใช้กับการตรวจจับเหตุการณ์จากวิดีโอ การตั้งกฎการอัตโนมัติ และการตั้งค่าการแจ้งเตือนต่างๆ
- มีข้อได้เปรียบในการเชื่อมต่อแบบขยายได้กับระบบ IoT และระบบอัตโนมัติอื่นๆ ด้วยการสนับสนุน โปรโตคอล MQTT
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ผมใช้งาน Frigate มานานกว่าสองปีแล้ว และรู้สึกว่ามันให้ความเร็วในการตรวจจับและความน่าเชื่อถือสูงกว่าระบบใด ๆ ที่เคยลองใช้มาก่อนมาก ผมเคยใช้ Ring, Tapo Camera และ Eufy Security มาก่อนเหมือนกัน แต่ตอนนี้ผมเชื่อมต่อกับ Frigate โดยใช้กล้อง Tapo แค่ตัวเดียวผ่าน RTSP เท่านั้น โดยการตัดการเข้าถึงอินเทอร์เน็ตของกล้องเหล่านี้ ทำให้ความเป็นส่วนตัวได้รับการปกป้องอย่างเต็มที่ Eufy Security มีการโฆษณาแอปใหม่ทุกครั้งที่แจ้งเตือนการตรวจจับการเคลื่อนไหว ซึ่งเหมือนให้โฆษณามาก่อนความปลอดภัยของตัวเองเสมอ นอกจากนี้แม้จะจ่ายค่าสมาชิกแล้วก็ยังมีปัญหาที่วิดีโอคลาวด์ไม่สามารถเปิดได้ และมีการเก็บข้อมูลรับรองความปลอดภัยอย่างรหัสผ่านแบบไม่เข้ารหัส สิ่งเหล่านี้เป็นสาเหตุหลักที่ทำให้ผมย้ายไปใช้โซลูชัน self-hosted
ผมสงสัยว่าคุณใช้งานร่วมกับ Home Assistant หรือไม่ โดยส่วนตัว ISP ของผมบล็อกการเข้าถึงเว็บไซต์ hacs จึงทำให้การรวมเข้ากับ HACS ไม่ได้ตามปกติ แม้จะลองดาวน์โหลดและติดตั้งจาก get.hacs.xyz ด้วย
wgetก็เกิดข้อผิดพลาด SSL และการเชื่อมต่อขาดหากคุณแบ่งกล้องออกจากอินเทอร์เน็ตและเก็บไว้เฉพาะในเครือข่ายโลคอลของตัวเองแล้ว มีวิธีของคุณเองในการปิดการส่งข้อมูลผ่าน backchannel ไหม ช่วยแชร์ได้เลย
ผมอยากรู้ว่ากล้อง Eufy ใช้ร่วมกับ Frigate ได้หรือไม่
อยากรู้ว่าคุณทำให้ Tapo กล้องเข้ากันได้กับ Frigate ในโหมด RTSP ได้อย่างไร ผมเจอว่าพอเชื่อมต่อกล้องตัวเดียวเข้ากับ Wi-Fi เท่านั้น เครือข่ายก็ไม่ค่อยเสถียร และแม้จะจัดสรรแต่ละ AP ให้รับกล้องเพียงตัวเดียวก็ยังมีปัญหาอยู่ดี
น่าประหลาดใจที่เคยส่งข้อมูลวิดีโอที่สำคัญขนาดนี้ให้พวกเขาจัดการตอนต้น ๆ ด้วยซ้ำ ผมเคยคิดว่ากลุ่มคน GNU กระจายความคิดแปลก ๆ แต่ตอนนี้กลับเข้าใจคนรอบตัวที่ไม่ใช้ตัวปิดกั้นโฆษณาได้ยากมากขึ้น
เป็นเรื่องที่ผมมักไม่ชอบเสมอ ผมไม่ชอบที่เขาใช้คำย่อ NVR ในประโยคแรกโดยไม่อธิบาย NVR ย่อมาจาก Network Video Recorder และไม่ใช่ทุกคนที่มีประสบการณ์ในสายนี้
คิดว่าเป็นการคาดเดาได้ว่าใครก็ตามที่เข้ามาสอบถามคงเข้าใจคำว่า NVR และในบริบทของ Frigate ก็เข้าใจได้ดีแล้วเช่นกัน
ผมไม่เห็นด้วย คิดว่าคนที่ค้นหา Frigate อย่างน้อย 90% ก็คาดหวังว่าจะเข้าใจว่า NVR คืออะไร และอย่างน้อยคนที่กำลังเลือกใช้ระบบนี้ควรจะต้องรู้คำนี้ ไม่ต้องนิยามทุกคำ แต่ NVR ถือเป็นพื้นฐานที่จำเป็นสำหรับคนใช้ผลิตภัณฑ์ลักษณะนี้
โดยทั่วไปผมเห็นด้วย แต่ NVR นั้นเป็นคำย่อที่ค่อนข้างแพร่หลายในทั้งอุตสาหกรรมและผู้บริโภค ถ้าคุณสำรวจทางเลือก CCTV คุณแทบจะเจอคำนี้แน่นอน ถ้าไม่รู้จักมัน ก็แปลว่าไม่รู้ด้วยว่า Network Video Recorder คืออะไร Frigate ก็ตั้งใจมาแทนที่กล่อง NVR ที่ปิดกั้นและไม่ยืดหยุ่น จึงใช้คำนั้นในชื่อผลิตภัณฑ์
ร้านค้าส่วนใหญ่ก็ชื่อสินค้าด้วยคำว่า NVR หรือตามด้วย NVR Recorder เช่นกัน (จากประสบการณ์ของผม) ค้นหาแล้วก็มักเจอคำตอบได้ทันที
GPU และ TPU ไม่ได้จำเป็นอย่างเดียวเสมอไป ถ้าจัดการจำนวนกล้องและพื้นที่ตรวจจับให้เหมาะสมก็พอ ผมใช้ MJPEG substream ความละเอียดต่ำ FPS ต่ำสำหรับตรวจจับ และใช้ h264 เฉพาะงานบันทึก/ดูวิดีโอครับ สำหรับการรู้จำด้วย CPU ผมพบว่า OpenVINO ทำงานเร็วกว่าตัวฐาน Tensorflow มาก และบน VM 6-core Ivy Bridge Xeon ใช้กล้อง 2 ตัว CPU เพียงราว 20% เท่านั้น
การเร่งความเร็ววิดีโอ (ไม่รวมการตรวจจับวัตถุ) อาจมีความไม่เสถียรบ้าง แต่ในแง่ของโซลูชันตรวจจับวัตถุแบบเรียลไทม์แล้วกลับให้ประสบการณ์ที่ดีที่สุด ทำให้สัตว์เล็กไม่ปลุกผมตอนตีสี่อีกต่อไป ผมสมัครสมาชิกรายปีเพื่อให้โมเดล AI เรียนรู้จากข้อมูล false positive ที่ผมส่งให้ด้วย ซึ่งช่วยให้ความแม่นยำดีขึ้นมาก
ไม่ต้องตื่นกลางดึกเพราะสัตว์ก็เป็นข้อดี แต่ความน่าตกใจคือได้เห็นคอลเลกชันรูปสัตว์หลากหลายมากขึ้น รู้สึกเหมือนกำลังค้นพบโลกที่ซ่อนอยู่
ปัญหาคือไดรเวอร์และซอฟต์แวร์ของบอร์ด Coral AI เป็น Google Abandonware แบบคลาสสิก โดนบังคับให้ใช้ Python รุ่นเก่า ทำให้เข้ากันได้กับ OS และ GPU สมัยใหม่ได้ไม่ดีเท่าไหร่ ทำเหมือนซื้อฮาร์ดแวร์ที่ยังต้องพึ่งซอฟต์แวร์ระดับ Windows 7 แม้จะเป็นปี 2025
ในกรณีของผมสถานการณ์ค่อย ๆ แย่ลง ผมใช้ระบบนี้ต่อเนื่องมาหลายปีแล้ว และล่าสุดของเล่นเด็ก, สกูตเตอร์ในสวน, คณะธงโจรสลัด กลับกลายเป็นตัวกระตุ้น false positive ตลอดเวลา ผมไม่สามารถส่งข้อมูลอัปเดตกลับเพื่อความเป็นส่วนตัวจึงวางแผนฝึกโมเดลเองจากข้อมูลที่เก็บสะสมมายาวนาน
ผมยังเต็มใจจ่ายค่าสมาชิกรายเดือน/ปีด้วยเหตุผลหลายอย่าง 1) เพื่อสนับสนุนนักพัฒนา 2) ค่าใช้จ่ายในการเทรนแสดงชัดเจน 3) เก็บโมเดลที่ฝึกแล้วได้ถาวร ตรงข้ามกับ AgentDVR ที่แม้แต่การขอ remote access หรือ push notification ก็ยังต้องใช้การสมัครสมาชิก
ความสมบูรณ์ของ Frigate package ทำให้ประทับใจมาก ตัวโค้ดหลักอย่าง go2rtc หรือ MediaMTX (go2rtc, MediaMTX) ก็เพียงพออยู่แล้ว แต่ถ้าต้องการใส่ AI เข้าประมวลผลแล้ว จะไม่มีเครื่องมือแนว Unix ที่พร้อมใช้ได้ง่าย ต้องใช้ Python พัฒนาขึ้นเอง
หากคุณไม่ต้องประมวลผลวิดีโอที่บันทึกไว้แบบเรียลไทม์ ตัวอย่างเช่น ต้องการดึงเฉพาะช่วงที่รถผ่านตำแหน่งหนึ่งหรือคนขับถือโทรศัพท์จากคลิป 5 ชั่วโมง ควรเริ่มจากตรงไหนหรือใช้ framework อะไร
แนะนำให้ดูเอกสารและตัวอย่างของ OpenCV ผมทำงาน face recognition ด้วยตัวอย่างนี้มาก่อน (ตัวอย่าง
face_recognition) และถ้าพูดถึงรถหรือวัตถุอื่น ๆ อาจต้องเทรนโมเดลเอง หรือใช้ YOLOv3 (ตัวอย่าง YOLO)ถ้าถามผู้ให้บริการ AI เชิงพาณิชย์ เขาน่าจะออกสคริปต์ Python ให้คุณทันทีเพื่อโหลดวิดีโอแล้วแสดงเฉพาะช่วงที่คนขับถือโทรศัพท์ตามช่วงเวลาที่เลือก
เทคโนโลยี You Only Look Once อาจเป็นตัวช่วยได้
มีคำถามแบบหยอกเล่นว่าเมื่อมีป้ายขนาดใหญ่เขียนห้ามขัดคำสั่งระบบความปลอดภัยของตัวเอง มันจะทำให้ระบบใช้งานไม่ได้ไหม
ดูจาก GitHub เขาใช้ openCV และ Tensorflow อยู่ การตรวจจับการเคลื่อนไหวใช้ openCV โดยต้องมีการเคลื่อนไหว และถ้าไม่เคลื่อนตัวช้ามากก็ค่อนข้างหลบยาก การรู้จำวัตถุด้วย Tensorflow ไม่ได้ทำ OCR จึงหลบผ่านตัวอักษรไม่ได้ แต่ถ้าชุด object class จำกัด ก็อาจหลบด้วยการแต่งกายให้เหมือนพรางตาได้
ฉันสงสัยว่าถ้าใส่เสื้อทรง "scramble suit" หรือเสื้อพิมพ์ลายหลอกกล้องแบบ adversarial ได้หรือไม่ (scramble suit, adversarial t-shirts)
ทางหนึ่งคือใส่ชุดลำลองลักษณะแรคคูนทั้งตัวก็ได้
โครงสร้างมี 2 ชั้นครับ ชั้นแรกตรวจจับการเคลื่อนไหวด้วย openCV ชั้นที่สองจึงใช้โมเดลต่างกันตามฮาร์ดแวร์เพื่อตรวจจับวัตถุใน ROI จากนั้นรุ่นรองรับได้หลายแบบ เช่น Coral TPU, Halio Accelerator และ GPU ส่วนใหญ่ (AMD ยังไม่รองรับ ROCm บน iGPU) โดย Coral ใช้ edgedet และรองรับ YOLO-NAS, YOLO, D-Fine, RF-DETR และอื่น ๆ บางโมเดล YOLO-NAS เป็นรุ่นเชิงพาณิชย์เฉพาะทาง ส่วนบางตัวก็เทรนเองได้
ไม่ใช่ LLM และเป็น AI แบบปกติ (แต่ LLM ก็ยังสามารถสร้างคำอธิบายอัตโนมัติได้)
ผมใช้ Frigate ร่วมกับ IP camera 5 ตัว (3 Hikvision, 2 Amcrest) และ USB camera 1 ตัว โดยใช้งาน USB Coral TPU กับ i7-6700 ตัวเก่าได้ดี CPU ราว 30% แม้ไม่ใช่ประสิทธิภาพสูงสุดแต่ยังใช้งานได้ดี วิดีโอจาก Amcrest เล่นได้ค่อนข้างดี แต่กล้อง Hikvision บางตัวต้องทำ transcoding เพราะปัญหาความเข้ากันได้ของ codec ผมไม่มีฟีเจอร์ส่งออกวิดีโอที่บันทึกแล้วออกนอกระบบโดยตรง แม้จะ mirror ไดเรกทอรีเก็บข้อมูลเองก็ยากที่จะสำรองเฉพาะอีเวนต์สำคัญได้
ผมเน้นอีกครั้งว่าโดยไม่ใช้ GPU หรือ TPU ก็พอด้วยการปรับจำนวนกล้องและโซนตรวจจับให้เหมาะสม โดยเฉพาะเมื่อฝึกงานกับโมเดลหลากหลายแบบ เช่น Openvino, Tensorflow
อยากถามอีกเรื่องหนึ่งว่า ทำไมยังคงติดตั้งระบบกล้องเพื่อเฝ้าระวังของตัวเองอยู่ ในงานวิจัยด้านจิตวิทยาหลายชิ้นพบว่ากล้องเหล่านี้อาจเพิ่มความเครียดและความวิตกกังวล แทนที่จะช่วยป้องกันอาชญากรรมในทางปฏิบัติ และสำหรับงานสืบสวนตำรวจหรือหลักฐานประกันภัยก็ควรมีการสำรองข้อมูลนอกไซต์ซ์ อีกทั้งแม้มี CCTV กระจายมากขึ้นก็มีส่วนช่วยลดอาชญากรรมเชิงความหมาย เช่น การอ่านป้ายทะเบียนรถอย่างมีนัยสำคัญค่อนข้างน้อย
ข้อดีสำคัญของการติดตั้งกล้องคือการสร้างระเบียบสังคมมากกว่า ผมสังเกตว่าหลังติดกล้องหน้าประตู ผู้ส่งพัสดุไม่ทำท่าทีรุนแรง และลวดลายรั้วก็ไม่เสียหาย ส่วนตัวผมก็ใช้ตามหาตำแหน่งแมว ติดตามจากระยะไกล และช่วยเรื่องงานประกันได้ด้วย จากประสบการณ์กล้อง CCTV ราคาไม่สูง ส่วนใหญ่ ผมรู้สึกว่าใกล้แสงอาทิตย์/IR sensitivity ยามค่ำคืนสำคัญมากกว่า resolution และผมเลือกใช้กล้องโปรระดับต่ำเพื่อการระบุตัวตนจริง ๆ ในเชิงโอเพ่นซอร์ส ผมยังใช้ ZoneMinder ควบคู่กับ AI ในเครื่องมานานอยู่
ตอนอ่านประโยคที่บอกว่า "ความเครียดเพิ่มขึ้น ความวิตกกังวลสูงขึ้น" แล้วรู้สึกว่ามีการวิจารณ์อารมณ์ตัวเองเกินไป ส่วนนิยมเห็นว่าทุกคนมีเหตุผลที่ใช้กล้องต่างกัน
แต่ละคนมองต่างกันได้ตามสภาพแวดล้อม ระดับความเสี่ยง และการสนับสนุนจากตำรวจ คนใช้กล้องมีเป้าหมายและสภาวะจิตใจต่างกัน ผมอาศัยอยู่ในเขตเงียบและออกจากบ้านนานเป็นพัก ๆ จึงรู้สึกว่าความสบายใจที่สามารถเฝ้าดูได้สำคัญมากกว่าการไม่มีระบบเฝ้าระวังเลย
กริ่งหน้าบ้านของผมมีฟังก์ชันบันทึกบนเครื่องเอง เวลาใครกดกริ่งก็ส่งภาพก่อนเหตุการณ์ไม่กี่วินาทีไปแจ้งเตือนบนเดสก์ท็อปและมือถือ ทำให้รู้ทันทีว่าใครมาและตัดสินใจการตอบสนองได้ ผมยังสนุกกับการตั้งคำสั่งให้ LLM ถามว่า "นับนกใหม่กี่ตัว" หรือ "สุนัขอยู่ในสนามหลังบ้านหรือเปล่า" จากกล้องที่ติดรอบบ้านได้
จุดประสงค์หลักของ Frigate และระบบแบบนี้คือคุณไม่จำเป็นต้องเฝ้าดูตลอดเวลา แม้วัตถุเล็ก ๆ สร้างการแจ้งเตือนผิดหรือรถของคนรู้จักมาปรากฏประจำ ก็ต้องกังวลแค่เหตุการณ์สำคัญจริง ๆ
ผมเป็นผู้ใช้งาน Frigate มานานสี่ปี โดยก่อนหน้านี้ใช้ Frigate เดี่ยว ๆ โดยไม่ใช้ Home Assistant ตอนนี้ได้กลับมาใช้ Home Assistant อีกครั้งเพื่อเชื่อมสตรีม WebRTC ของ Nest Cam เข้ากับ Frigate ทำให้ใช้ได้เหมือนเดิมโดยไม่ต้องมี Nest Aware subscription และประหยัดต้นทุนได้มาก