Ce projet combine un modèle de segmentation et un réseau tensoriel logique pour réaliser le raisonnement de la relation entre les objets dans les images et améliorer l'analyse du contenu de l'image grâce à une formule logique de premier ordre et à un réseau perceptron multicouche. par le biais d'une formule logique de premier ordre et d'un réseau perceptron multicouche. ✨
- ✨ Segmentation de l'image et extraction des caractéristiques : Le modèle YOLO-Seg de UltraLytics ou le modèle OneFormer de SHI-Labs est utilisé pour la segmentation de l'image d'entrée et l'extraction des caractéristiques. L'image d'entrée est utilisée pour la segmentation et l'extraction des caractéristiques.
- ✨Goal relation detection : En utilisant un réseau tensoriel logique de LTNTorch, chaque objectif est converti en un prédicat logique, qui est ensuite raisonné par le réseau tensoriel logique.
- ✨Logical Relationship Training : Les réseaux de tenseurs logistiques ont été entraînés à l'aide de données relationnelles provenant de la base de données Visual Genome.
- ✨ Sortie des résultats du raisonnement : lit les relations trouvées par l'utilisateur en utilisant la forme d'un ternaire et sort les résultats du raisonnement.
pip install -r requirements.train.txtpip install -r requirements.inference.txtDes modèles pré-entraînés pour YOLO et OneFormer sont automatiquement téléchargés lors de l'exécution du programme.
from utils.Trainer import trainer
predicate = ["in", "on", "next to"]
for pred in predicate:
print(f"🚂 Entraîner {pred} ...")
trainer(
pos_predicate=pred,
neg_predicates=[p for p in predicate if p != pred],
epoches=50,
batch_size=32,
lr=1e-4
)from utils.Inferencer import Inferencer
# Initialiser l'inférenteur
analyzer = Inferencer(
subj_class="person",
obj_class="bicycle",
predicate="near"
)
# Effectuer l'inférence sur une seule image
result = analyzer.inference_single("demo.jpg")
print(f"🔎 Obtenu :{result['relation']} (Confiance:{result['confidence']:.2f})")
# Effectuer une inférence sur un dossier d'images
analyzer.process_folder("input_images/")Les relations et les métadonnées des images de la base de données Visual Genome ont été utilisées pour extraire les informations sur les images et les paires de caractéristiques. ont été utilisées pour extraire des informations sur les images et des informations sur les paires de caractéristiques.
Le projet extrait les données et les emplacements cibles à partir de données relationnelles et extrait les données d'image pour normaliser les emplacements cibles.
This project uses the black and isort to automatically enforce a consistent code style. All code comments and documentation follow the Google Python Style Guide to maintain clarity and consistency.
Use the following command to keep the code in the same format before submitting.
black . && isort .This project is based on the LTNTorch project and uses the Visual Genome database for data extraction. The project uses the YOLO and OneFormer models for object detection and segmentation.

