Diperiksa pada 13.09.2024 ✅ (Proyek ini dikembangkan yang diuji pada platform Lightning AI, berjalan pada GPU L40)
Summarizer Video Surveillance adalah sistem yang digerakkan AI yang memproses video pengawasan, mengekstrak bingkai kunci, dan menghasilkan anotasi terperinci. Didukung oleh Model Fluage-Language (VLM) yang disesuaikan dengan baik secara khusus dilatih secara khusus pada dataset SPHAR, ini menyoroti peristiwa, tindakan, dan objek yang penting dalam rekaman video dan mencatatnya untuk ditinjau dengan mudah dan analisis lebih lanjut.
Model yang disesuaikan dapat ditemukan di: Kndrvitja/Florence-Sphar-Finetune-2.
Lihat alat yang beraksi di bawah ini!
Ringkasan video bertenaga AI
Secara otomatis mengekstrak bingkai dari video pengawasan dan menghasilkan anotasi yang menangkap tindakan, interaksi, objek, dan peristiwa yang tidak biasa. Anotasi disimpan dalam database SQLite untuk pengambilan yang mudah.
Pemrosesan bingkai real-time
Dengan menggunakan threading asinkron, sistem memproses bingkai video secara efisien, memungkinkan analisis real-time sambil meminimalkan kemacetan kinerja. Ini mencatat setiap detik, memastikan debugging dan verifikasi yang mudah.
Fine-tuned Florence-2 VLM untuk SPHAR Dataset
Proses peringkasan ditenagai oleh Florence-2 VLM yang disesuaikan, secara khusus dilatih pada dataset SPHAR. Model ini dioptimalkan untuk mendeteksi dan menggambarkan peristiwa spesifik pengawasan dengan akurasi yang lebih tinggi.
Antarmuka interaktif bertenaga gradio
Berinteraksi dengan log pengawasan melalui antarmuka web berbasis gradio. Anda dapat menentukan rentang waktu, dan sistem akan mengambil, merangkum, dan menganalisis log beranotasi, memberikan wawasan terperinci ke dalam rekaman video selama periode yang dipilih menggunakan API OpenAI. Fungsionalitas ini dapat diperluas untuk memanfaatkan model canggih seperti Gemini, memungkinkan penanganan video konteks yang lebih efisien dan memberikan peringkasan video yang lebih komprehensif dibandingkan kerangka waktu yang diperpanjang.
Ekstraksi bingkai :
Bingkai diekstraksi secara berkala dari file video pengawasan menggunakan OpenCV.
Anotasi bertenaga AI :
Setiap bingkai dianalisis oleh model berbahasa penglihatan Florence-2 yang disempurnakan, menghasilkan anotasi wawasan tentang adegan itu.
Penyimpanan Data :
Anotasi dan data bingkai terkait disimpan dalam database SQLITE, siap untuk analisis di masa depan.
Antarmuka Gradio : Sistem ini memungkinkan pengguna untuk dengan mudah meminta log pengawasan dengan memberikan rentang waktu tertentu dan petunjuk yang disesuaikan. Ini mengambil, merangkum, dan menganalisis rekaman video yang relevan, menawarkan wawasan singkat
git clone https://github.com/Ravi-Teja-konda/Surveillance_Video_Summarizer.git cd Surveillance_Video_Summarizerpip install -r requirements.txtModel dan prosesor
Sistem ini memanfaatkan model berbahasa penglihatan Florence-2 yang disesuaikan untuk dataset SPHAR. Model yang disesuaikan dapat ditemukan di Kndrvitja/Florence-Sphar-Finetune-2.
Pastikan Anda memiliki kunci API OpenAI yang disimpan dalam file .env sesuai kebutuhan.
Jalur basis data
Pertama, jalankan ekstraksi bingkai:
python surveillance_video_summarizer.pySelanjutnya, berinteraksi dengan antarmuka gradio untuk analisis log:
python surveillance_log_analyzer_with_gradio.pyDari sini, Anda dapat menggunakan antarmuka gradio untuk menanyakan periode spesifik rekaman video dan mengambil ringkasan beranotasi berdasarkan input Anda. Anda dapat meminta sistem untuk tindakan tertentu, peristiwa penting, atau ringkasan aktivitas umum. Berikan rentang waktu dan permintaan kueri Anda, dan sistem akan mengembalikan log yang relevan
Kami berencana untuk meningkatkan kemampuan model untuk mendeteksi peristiwa yang lebih kompleks seperti pelanggaran lalu lintas, perilaku mencurigakan, dan skenario pengawasan bernuansa lainnya dengan melatih Florence-2 dengan lebih banyak data
Di masa depan akan berencana untuk mendukung aliran video real-time untuk ekstraksi dan analisis bingkai langsung saat video sedang ditangkap.
Kontribusi dipersilakan! Jangan ragu untuk mengirimkan permintaan tarik.
Jika Anda menemukan proyek ini bermanfaat, pertimbangkan membintangi GitHub untuk membantu orang lain menemukannya!
Terinspirasi oleh kemajuan dalam model bahasa penglihatan seperti Florence-2.
Proyek ini dilisensikan di bawah Lisensi Apache 2.0.