T-70 ist ein Rust-Projekt, das von der Cyberdyne Series 70 Automated Fighting Infantry Unit („The Terminator“) inspiriert wurde. Das Projekt führt eine Laufzeit-Gesichtsüberprüfung mit OpenCV über die opencv-rust-Bindungen durch und integriert einen CascadeClassifier mit MobileNetV2 -Modellen zur Gesichtserkennung und zum Ähnlichkeitsvergleich. Das System ist so konzipiert, dass es als eigenständige ausführbare Datei ausgeführt werden kann, was es ideal für den Einsatz in Umgebungen macht, in denen eine Echtzeit-Gesichtsüberprüfung unerlässlich ist.
VM-Erkennung : Das Projekt umfasst eine Logik zur Erkennung virtueller Maschinen, um festzustellen, ob die ausführbare Datei in einer virtualisierten Umgebung ausgeführt wird. Wenn eine VM erkannt wird, löscht sich die ausführbare Datei selbst.
Gesichtserkennung und -vergleich : Das System erfasst Bilder mit einer angeschlossenen Kamera, erkennt Gesichter und vergleicht Einbettungen aus dem Live-Feed mit einem Referenzbild, um Ähnlichkeitswerte zu berechnen.
Automatisierte Aktion : Basierend auf dem Ähnlichkeitswert kann das System Shellcode ausführen, wenn eine Übereinstimmung gefunden wird.
main.rs
: Der Haupteinstiegspunkt des Projekts.
Module :
camera
: Verwaltet die Kamerainitialisierung und -eingabe.
classifier
: Verwaltet die Initialisierung des Gesichtserkennungsklassifikators.
face_detection
: Verantwortlich für die Erkennung von Gesichtern und die Verarbeitung des Referenzbildes.
similarity
: Berechnet Ähnlichkeitswerte zwischen den erkannten Gesichtern und Referenzgesichtern.
Externe Funktionen :
Für erweiterte Laufzeitfunktionen sind Funktionen wie GetProcessCountViaSnapShot
, GetUniqueUserCountViaSnapshot
und VmDetection
in das Projekt integriert.
Dieses Projekt hängt von Folgendem ab:
OpenCV : Insbesondere ist eine statisch kompilierte Version der OpenCV-Bibliothek erforderlich.
opencv-rust bindings : Stellt die Rust-Bindungen für OpenCV bereit. Weitere Informationen finden Sie im GitHub-Repository opencv-rust.
Stellen Sie vor dem Erstellen des Projekts sicher, dass OpenCV statisch kompiliert ist. Befolgen Sie die OpenCV-Dokumentation, um eine statisch kompilierte Version der Bibliothek auf Ihrem System einzurichten.
Im scripts
finden Sie Python-Skripte, die beim Herunterladen von Offline-Versionen der Modelle MobileNetV2 und CascadeClassifier helfen. Diese sind erforderlich, um die Gesichtserkennungs- und Vergleichskomponenten auszuführen.
Sobald OpenCV kompiliert und die Modelle heruntergeladen sind, können Sie das Projekt mit Cargo erstellen:
Cargo Build --Release
Nachdem Sie das Projekt erstellt haben, können Sie die ausführbare Datei ausführen, um den Gesichtserkennungs- und Verifizierungsprozess zu starten:
./target/release/T-70.exe
Besonderer Dank geht an Twistedfall für die Pflege des opencv-rust
-Projekts, das für die Entwicklung des T-70-Systems von entscheidender Bedeutung war.
T-70 ist unter der MIT-Lizenz lizenziert.
Inspiriert von der Cyberdyne Series 70 Automated Fighting Infantry Unit („The Terminator“).
Weitere Informationen: Cyberdyne Series 70 Terminator