Deepfakes et manipulation d'images

En 2024, n'importe qui peut creer une fausse photo de vous en quelques clics grace a l'intelligence artificielle. Bienvenue dans l'ere des deepfakes, ou voir ne signifie plus croire.

Difficulte:
30 min
+35 XP

Point essentiel a retenir

Voir ne signifie plus croire. A l'ere de l'IA, chaque image ou video doit etre verifiee avant d'etre partagee.

Les deepfakes sont desormais accessibles a tous. Seul un esprit critique et des outils de verification peuvent vous proteger.

Objectifs du cours

  • Comprendre ce qu'est un deepfake et comment il est cree
  • Connaitre les techniques de manipulation d'images (retouche, montage, IA)
  • Savoir identifier les indices d'une image manipulee
  • Developper un esprit critique face aux images sur Internet

Erreurs courantes a eviter

  • Croire qu'une image est forcement vraie si elle parait realiste
  • Penser que seuls les experts peuvent creer des deepfakes (les outils sont accessibles)
  • Ignorer l'importance des metadonnees pour verifier une image
  • Ne pas verifier les sources avant de partager une image

**Definition**

Un **deepfake** est un contenu multimedia (image, video, audio) genere ou modifie par intelligence artificielle pour faire croire a quelque chose de faux.

Le terme vient de : - **Deep** = Deep Learning (apprentissage profond) - **Fake** = Faux

**Comment ca fonctionne ?**

Les deepfakes utilisent des **reseaux de neurones** : 1. **Analyse** : L'IA analyse des milliers d'images/videos d'une personne 2. **Apprentissage** : Elle apprend les traits du visage, expressions, mouvements 3. **Generation** : Elle peut ensuite generer de nouvelles images ou superposer ce visage sur quelqu'un d'autre

**Les GAN (Generative Adversarial Networks)**

Architecture utilisee pour creer des deepfakes : - **Generateur** : Cree des fausses images - **Discriminateur** : Essaie de detecter les faux - Les deux s'entrainent mutuellement jusqu'a ce que les faux soient indiscernables

**Types de deepfakes**

| Type | Description | Exemple | |------|-------------|---------| | Face swap | Echange de visages | Mettre le visage de A sur le corps de B | | Face reenactment | Animation de visage | Faire dire n'importe quoi a quelqu'un | | Voice cloning | Clonage de voix | Imiter la voix de quelqu'un | | Full body | Corps entier | Generer une personne complete |

**L'accessibilite des outils**

Autrefois reserve aux experts, creer un deepfake est maintenant accessible : - Applications smartphone gratuites - Sites web en ligne - Logiciels open source

Cette democratisation pose de serieux problemes ethiques et legaux.

Python - Analyse et detection
# Demonstration conceptuelle : detection de deepfakes
# (Code pedagogique - pas de vraie IA)

def analyser_image_suspecte(caracteristiques):
    """
    Analyse les caracteristiques d'une image pour detecter
    des indices de manipulation.
    """
    score_confiance = 100
    alertes = []

    # Verification des yeux
    if caracteristiques.get("clignements_anormaux"):
        score_confiance -= 20
        alertes.append("Clignements d'yeux irreguliers")

    if caracteristiques.get("reflets_yeux_differents"):
        score_confiance -= 25
        alertes.append("Reflets dans les yeux incoherents")

    # Verification des contours
    if caracteristiques.get("contours_flous"):
        score_confiance -= 15
        alertes.append("Contours du visage floues")

    if caracteristiques.get("transition_peau_cheveux"):
        score_confiance -= 15
        alertes.append("Transition peau/cheveux suspecte")

    # Verification de coherence
    if caracteristiques.get("eclairage_incoherent"):
        score_confiance -= 20
        alertes.append("Eclairage non coherent")

    if caracteristiques.get("ombres_absentes"):
        score_confiance -= 15
        alertes.append("Ombres manquantes ou incorrectes")

    # Verification technique
    if caracteristiques.get("compression_anormale"):
        score_confiance -= 10
        alertes.append("Zones de compression anormales")

    if caracteristiques.get("metadonnees_manquantes"):
        score_confiance -= 10
        alertes.append("Metadonnees EXIF absentes")

    return {
        "score_authenticite": max(0, score_confiance),
        "alertes": alertes,
        "verdict": "Probablement authentique" if score_confiance > 70
                   else "Suspect" if score_confiance > 40
                   else "Probablement manipulee"
    }

print("=== ANALYSE D'IMAGE SUSPECTE ===\n")

# Exemple 1 : Image probablement authentique
image_normale = {
    "clignements_anormaux": False,
    "reflets_yeux_differents": False,
    "contours_flous": False,
    "eclairage_incoherent": False,
}

resultat = analyser_image_suspecte(image_normale)
print("Image 1 - Photo standard:")
print(f"  Score d'authenticite : {resultat['score_authenticite']}%")
print(f"  Verdict : {resultat['verdict']}")
print(f"  Alertes : {len(resultat['alertes'])}")

# Exemple 2 : Image suspecte (deepfake probable)
image_deepfake = {
    "clignements_anormaux": True,
    "reflets_yeux_differents": True,
    "contours_flous": True,
    "eclairage_incoherent": True,
    "metadonnees_manquantes": True,
}

print("\nImage 2 - Deepfake probable:")
resultat = analyser_image_suspecte(image_deepfake)
print(f"  Score d'authenticite : {resultat['score_authenticite']}%")
print(f"  Verdict : {resultat['verdict']}")
print("  Alertes detectees :")
for alerte in resultat['alertes']:
    print(f"    - {alerte}")

print("\n" + "="*50)
print("\n=== EVOLUTION DES DEEPFAKES ===\n")

evolution = [
    (2017, "Premiers deepfakes", "Visages flous, facilement detectables"),
    (2018, "Amelioration", "Meilleure qualite, detectables par experts"),
    (2019, "Democratisation", "Applications grand public apparaissent"),
    (2020, "Haute qualite", "Difficile a distinguer pour l'oeil humain"),
    (2022, "IA generative", "DALL-E, Midjourney - generation complete"),
    (2024, "Ultra-realisme", "Video temps reel, clonage vocal parfait"),
]

print(f"{'Annee':<8} {'Etape':<20} {'Caracteristiques':<40}")
print("-" * 70)
for annee, etape, desc in evolution:
    print(f"{annee:<8} {etape:<20} {desc:<40}")

Quiz de validation

1. Qu'est-ce qu'un deepfake ?

2. Quel indice peut reveler un deepfake au niveau des yeux ?

3. Quelle technique l'IA a souvent du mal a reproduire correctement ?

4. Quelle est la premiere verification a faire pour une image suspecte ?

5. En France, creer un deepfake a caractere sexuel sans consentement est punissable de :

Pixel