T-70 adalah proyek Rust yang terinspirasi oleh Unit Infanteri Pertarungan Otomatis Cyberdyne Series 70 ("The Terminator"). Proyek ini melakukan verifikasi wajah runtime menggunakan OpenCV melalui pengikatan opencv-rust dan mengintegrasikan CascadeClassifier dengan model MobileNetV2 untuk deteksi wajah dan perbandingan kemiripan. Sistem ini dirancang untuk dijalankan sebagai sistem yang dapat dijalankan secara mandiri, sehingga ideal untuk diterapkan di lingkungan yang memerlukan verifikasi wajah secara real-time.
Deteksi VM : Proyek ini menyertakan logika deteksi mesin virtual untuk menentukan apakah executable berjalan di lingkungan virtual. Jika VM terdeteksi, eksekusi akan terhapus sendiri.
Deteksi dan Perbandingan Wajah : Sistem menangkap gambar menggunakan kamera yang terhubung, mendeteksi wajah, dan membandingkan penyematan dari umpan langsung dengan gambar referensi untuk menghitung skor kemiripan.
Tindakan Otomatis : Berdasarkan skor kesamaan, sistem dapat menjalankan shellcode jika ditemukan kecocokan.
main.rs
: Titik masuk utama proyek.
Modul :
camera
: Menangani inisialisasi dan input kamera.
classifier
: Mengelola inisialisasi pengklasifikasi deteksi wajah.
face_detection
: Bertanggung jawab untuk mendeteksi wajah dan memproses gambar referensi.
similarity
: Menghitung skor kemiripan antara wajah yang terdeteksi dan wajah referensi.
Fungsi Eksternal :
Fungsi seperti GetProcessCountViaSnapShot
, GetUniqueUserCountViaSnapshot
, dan VmDetection
diintegrasikan ke dalam proyek untuk fitur runtime tingkat lanjut.
Proyek ini bergantung pada hal-hal berikut:
OpenCV : Secara khusus, diperlukan versi perpustakaan OpenCV yang dikompilasi secara statis.
opencv-rust binding : Menyediakan binding Rust ke OpenCV. Periksa repositori GitHub opencv-rust untuk informasi lebih lanjut.
Sebelum membangun proyek, pastikan OpenCV dikompilasi secara statis. Ikuti dokumentasi OpenCV untuk menyiapkan versi perpustakaan yang dikompilasi secara statis di sistem Anda.
Di direktori scripts
, Anda akan menemukan skrip Python yang membantu mengunduh versi offline model MobileNetV2 dan CascadeClassifier. Ini diperlukan untuk menjalankan komponen deteksi wajah dan perbandingan.
Setelah OpenCV dikompilasi dan model diunduh, Anda dapat membangun proyek menggunakan Cargo:
pembuatan kargo --rilis
Setelah membangun proyek, Anda dapat menjalankan executable untuk memulai proses deteksi wajah dan verifikasi:
./target/rilis/T-70.exe
Terima kasih khusus kepada twistedfall karena memelihara proyek opencv-rust
, yang sangat penting untuk pengembangan sistem T-70.
T-70 dilisensikan di bawah Lisensi MIT.
Terinspirasi oleh Unit Infanteri Tempur Otomatis Cyberdyne Series 70 ("The Terminator").
Informasi lebih lanjut: Terminator Cyberdyne Seri 70