04

Liveness — Détection d'usurpation faciale

La suite de Deep Scan : distinguer un vrai visage d'une attaque (photo imprimée, écran). Fine-tuning d'un ResNet18 pré-entraîné sur ImageNet en classification spoof / non-spoof, avec une interface Streamlit pour tester.

Stack

PythonPyTorchtorchvisionStreamlit

Que s'est-il passé ?

  1. 01

    La question

    Deep Scan reconnaît un visage. Mais que se passe-t-il si on lui montre une photo de ce visage ? Peut-on apprendre à un modèle à distinguer un vrai visage d'une imitation ?

  2. 02

    Le problème

    Pour un système de reconnaissance, une photo imprimée ou un visage affiché sur un écran ressemble beaucoup à la vraie personne. Sans détection d'usurpation, une simple photo peut suffire à tromper le système.

  3. 03

    L'hypothèse

    Une attaque laisse des traces que l'œil remarque à peine : texture du papier, reflets et pixels d'un écran. Un ResNet pré-entraîné, fine-tuné sur des exemples spoof / non-spoof, devrait apprendre à les repérer.

  4. 04

    Le build

    Fine-tuning d'un ResNet18 pré-entraîné sur ImageNet (avec l'option de geler le backbone), script d'inférence, tests unitaires, et une interface Streamlit qui affiche la classe prédite et le score de confiance.

  5. 05

    La prochaine frontière

    Obtenir des résultats fiables, mesurer la robustesse face à différents types d'attaques, puis brancher le modèle en amont de Deep Scan.

Spider-Verse · hommage