ตรวจสอบบน 13.09.2024 ✅ (โครงการนี้ได้รับการพัฒนาผ่านการทดสอบบนแพลตฟอร์ม Lightning AI ซึ่งทำงานบน L40 GPU)
Surveillance Video Summarizer เป็นระบบที่ขับเคลื่อนด้วย AI ที่ประมวลผลวิดีโอการเฝ้าระวังแยกเฟรมสำคัญและสร้างคำอธิบายประกอบโดยละเอียด ขับเคลื่อนโดย โมเดล Vision-Language Language (VLM) ที่ได้ รับการฝึกฝนอย่างละเอียดในชุดข้อมูลสปามันเน้นเหตุการณ์ที่โดดเด่นการกระทำและวัตถุภายในวิดีโอวิดีโอและบันทึกไว้เพื่อการตรวจสอบอย่างง่ายดายและการวิเคราะห์เพิ่มเติม
รุ่นที่ปรับแต่งได้ที่: Kndrvitja/Florence-Sphar-Finetune-2
ดูเครื่องมือในการดำเนินการด้านล่าง!
การสรุปวิดีโอ AI
แยกเฟรมออกจากวิดีโอการเฝ้าระวังโดยอัตโนมัติและสร้างคำอธิบายประกอบที่จับการกระทำการโต้ตอบวัตถุและเหตุการณ์ที่ผิดปกติ คำอธิบายประกอบจะถูกเก็บไว้ในฐานข้อมูล SQLite เพื่อการดึงข้อมูลได้ง่าย
การประมวลผลเฟรมแบบเรียลไทม์
ด้วยการใช้เธรดแบบอะซิงโครนัสระบบจะประมวลผลเฟรมวิดีโอได้อย่างมีประสิทธิภาพช่วยให้การวิเคราะห์แบบเรียลไทม์ในขณะที่ลดคอขวดประสิทธิภาพให้น้อยที่สุด มันเข้าสู่ระบบทุกวินาทีเพื่อให้มั่นใจว่าการดีบักและการตรวจสอบได้ง่าย
Florence-2 VLM ที่ปรับแต่งอย่างละเอียดสำหรับชุดข้อมูล Sphar
กระบวนการสรุปนั้นใช้พลังงานจาก Florence-2 VLM ที่ปรับแต่งอย่างละเอียดซึ่งได้รับการฝึกฝนโดยเฉพาะในชุดข้อมูลสปา โมเดลนี้ได้รับการปรับให้เหมาะสมในการตรวจจับและอธิบายเหตุการณ์เฉพาะด้านการเฝ้าระวังที่มีความแม่นยำสูงกว่า
อินเทอร์เฟซแบบอินเทอร์แอคทีฟ
โต้ตอบกับบันทึกการเฝ้าระวังผ่านเว็บอินเตอร์เฟสที่ใช้ Gradio คุณสามารถระบุช่วงเวลาและระบบจะดึงข้อมูลสรุปและวิเคราะห์บันทึกคำอธิบายประกอบโดยให้ข้อมูลเชิงลึกโดยละเอียดเกี่ยวกับวิดีโอวิดีโอในช่วงเวลาที่เลือกโดยใช้ OpenAI API ฟังก์ชั่นนี้สามารถขยายไปถึงการใช้ประโยชน์จากโมเดลขั้นสูงเช่นราศีเมถุนทำให้สามารถจัดการวิดีโอบริบทที่ยาวขึ้นได้อย่างมีประสิทธิภาพมากขึ้น
การสกัดเฟรม :
เฟรมจะถูกสกัดในช่วงเวลาปกติจากไฟล์วิดีโอการเฝ้าระวังโดยใช้ OpenCV
คำอธิบายประกอบ AI ที่ขับเคลื่อนด้วย :
แต่ละเฟรมได้รับการวิเคราะห์โดยโมเดล Vision-Language ที่ได้รับการปรับแต่งอย่างละเอียดซึ่งสร้างคำอธิบายประกอบที่ลึกซึ้งเกี่ยวกับฉาก
การจัดเก็บข้อมูล :
คำอธิบายประกอบและข้อมูลเฟรมที่เกี่ยวข้องจะถูกเก็บไว้ในฐานข้อมูล SQLite พร้อมสำหรับการวิเคราะห์ในอนาคต
อินเทอร์เฟซ Gradio : ระบบช่วยให้ผู้ใช้สามารถสอบถามบันทึกการเฝ้าระวังได้อย่างง่ายดายโดยให้ช่วงเวลาที่กำหนดและพรอมต์ที่ปรับแต่ง มันดึงสรุปและวิเคราะห์วิดีโอวิดีโอที่เกี่ยวข้องนำเสนอข้อมูลเชิงลึกที่กระชับ
git clone https://github.com/Ravi-Teja-konda/Surveillance_Video_Summarizer.git cd Surveillance_Video_Summarizerpip install -r requirements.txtแบบจำลองและโปรเซสเซอร์
ระบบใช้โมเดล Vision-Language แบบ Florence-2 ที่ปรับแต่งสำหรับชุดข้อมูลสปา แบบจำลองที่ปรับแต่งได้ที่ Kndrvitja/Florence-Sphar-Finetune-2
ตรวจสอบให้แน่ใจว่าคุณมีคีย์ OpenAI API ของคุณที่เก็บไว้ในไฟล์. ENV ตามต้องการ
เส้นทางฐานข้อมูล
ประการแรกเรียกใช้การสกัดเฟรม:
python surveillance_video_summarizer.pyถัดไปโต้ตอบกับอินเทอร์เฟซ Gradio สำหรับการวิเคราะห์บันทึก:
python surveillance_log_analyzer_with_gradio.pyจากที่นี่คุณสามารถใช้อินเทอร์เฟซ Gradio เพื่อค้นหาช่วงเวลาเฉพาะของวิดีโอวิดีโอและดึงข้อมูลสรุปที่มีคำอธิบายประกอบตามอินพุตของคุณ คุณสามารถสืบค้นระบบสำหรับการกระทำที่เฉพาะเจาะจงเหตุการณ์ที่โดดเด่นหรือสรุปกิจกรรมทั่วไป ระบุช่วงเวลาและพรอมต์แบบสอบถามของคุณและระบบจะส่งคืนบันทึกที่เกี่ยวข้อง
เราวางแผนที่จะปรับปรุงความสามารถของโมเดลในการตรวจจับเหตุการณ์ที่ซับซ้อนมากขึ้นเช่นการละเมิดการจราจรพฤติกรรมที่น่าสงสัยและสถานการณ์การเฝ้าระวังอื่น ๆ ที่เหมาะสมยิ่งขึ้นโดยการฝึกอบรม Florence-2 ด้วยข้อมูลเพิ่มเติม
ในอนาคตจะวางแผนที่จะสนับสนุนสตรีมวิดีโอแบบเรียลไทม์สำหรับการแยกเฟรมและการวิเคราะห์ทันทีเนื่องจากวิดีโอกำลังถูกจับ
ยินดีต้อนรับผลงาน! อย่าลังเลที่จะส่งคำขอดึง
หากคุณพบว่าโครงการนี้มีประโยชน์ให้พิจารณานำแสดงโดย GitHub เพื่อช่วยให้ผู้อื่นค้นพบมัน!
แรงบันดาลใจจากความก้าวหน้าในรูปแบบภาษาวิสัยทัศน์เช่น Florence-2
โครงการนี้ได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0