Désactivation de la détection NSFW pour des tests dans le projet Roop

Cet article décrit comment désactiver la détection de contenu inapproprié (NSFW) dans le projet Roop à des fins de test et de recherche. Le projet Roop, bien que l'original ne soit plus mis à jour, inclut un mécanisme de filtrage pour éviter le traitement de contenu explicite. Les modifications abordées ci-dessous sont strictement pour l'expérimentation technique et doivent respecter les lois et politiques applicables.

Fichiers clés et modifications

Le système de détection NSFW repose principalement sur deux fichiers dans le code source du projet. Pour le désactiver, il faut intervenir sur les fonctions qui gèrent cette vérification.

Fichier core.py

Ce fichier orchestre le processus de traitement des images et des vidéos. Il appelle les fonctions de détection NSFW définies dans un autre module. Voici les points d'intervention :

  • Pour les images, une condition vérifie si le fichier cible est de type image, puis lance une analyse NSFW. En cas de détection, le programme se termine.
  • Pour les vidéos, une fonction de détection est appelée directement sur le fichier vidéo, avec un comportement similaire d'arrêt en cas de contenu suspect.

Pour contourner ce mécanisme, on peut désactiver les appels aux fonctions de détection. Par exemple, en commentant les lignes qui invoquent verifier_image ou verifier_video, le traitement se poursuit sans vérification.

# Modification dans le traitement d'image
if est_extension_image(chemin_cible):
    # Appel de détection désactivé pour test
    # if verifier_image(chemin_cible):
    #     arreter_programme()
    copier_fichier(chemin_cible, chemin_sortie)
    # Suite du traitement...
# Modification dans le traitement vidéo
# Appel de détection désactivé pour test
# if verifier_video(chemin_cible):
#     arreter_programme()
creer_temporaire(chemin_cible)
# Suite du traitement...

Fichier predictor.py

Ce module implémente les algorithmes de détection NSFW en utilisant des modèles d'apprentissage automatique, comme celui fourni par la bibliothèque opennsfw2. Il inclut des fonctions pour analyser des frames vidéo, des images individuelles et des vidéos complètes, en se basent sur un seuil de probabiilté (par défaut 0.85).

Pour désactiver la détection, on peut modifier ces fonctions pour qu'elles retournent systématiquement False, indiquant que le contenu est sûr. Voici des exemples de modifications :

# Réécriture de la fonction d'analyse de frame
def analyser_frame(image_frame):
    # Logique originale désactivée
    # traite_image = opennsfw2.preprocess_image(image_frame, opennsfw2.Preprocessing.YAHOO)
    # prediction = modele.predire(traite_image)[0][1]
    # return prediction > SEUIL_MAX
    return False

# Réécriture de la fonction d'analyse d'image
def analyser_image(chemin_fichier):
    # Logique originale désactivée
    # probabilite = opennsfw2.predire_image(chemin_fichier)
    # return probabilite > SEUIL_MAX
    return False

# Réécriture de la fonction d'analyse vidéo
def analyser_video(chemin_video):
    # Logique originale désactivée
    # _, probabilites = opennsfw2.predire_frames_video(chemin_video, intervalle=100)
    # return any(p > SEUIL_MAX for p in probabilites)
    return False

Ces changements ignorent complètement le processus d'analyse, ce qui permet au programme de fonctionner sans interrupsion due au contenu NSFW. Il est crucial de noter que cette désactivation doit être effectuée uniquement dans un cadre contrôlé de test, et les utilisateurs assument tous les risques légaux et éthiques associés.

Étiquettes: Roop NSFW détection de contenu OpenNSFW2 Python

Publié le 5 juin à 01h10