Fuzzy Logic
Explore comment la logique floue modélise le raisonnement humain en IA. Apprends à gérer l’ambiguïté en vision par ordinateur et à l’appliquer à Ultralytics YOLO26 pour un traitement des données plus intelligent.
La logique floue est un paradigme informatique qui modélise le raisonnement en fonction de « degrés de vérité » plutôt que du binaire rigide « vrai ou faux » souvent utilisé en informatique classique. Alors que les ordinateurs standard utilisent la logique booléenne pour attribuer strictement les valeurs 0 ou 1, les systèmes flous autorisent toutes les valeurs comprises entre 0 et 1. Cette flexibilité permet à l’intelligence artificielle (AI) de gérer l’ambiguïté, le vague et les informations imprécises, en imitant plus fidèlement les processus cognitifs humains lors du traitement de données complexes.
Le mécanisme du raisonnement flou#
En informatique traditionnelle, une entrée appartient ou n’appartient pas à un ensemble. La logique floue introduit le concept de fonctions d’appartenance, qui associent les données d’entrée à une valeur comprise entre 0 et 1 représentant le degré d’appartenance. Par exemple, dans un système de régulation climatique, une température de 75 °F peut ne pas être simplement classée comme « chaude », mais plutôt comme « chaude à 0,6 ».
Ce processus comporte généralement trois étapes clés :
-
Fuzzification : conversion des entrées numériques précises en ensembles flous à l’aide de fonctions d’appartenance.
-
Inférence : application de règles « Si-Alors » pour déterminer les résultats à partir des données floues.
-
Défuzzification : transformation du résultat flou en une sortie précise et exploitable.
Cette approche est particulièrement utile pour traiter des données visuelles bruitées, lorsque les limites claires sont difficiles à définir.
Pertinence pour l’apprentissage automatique et la vision par ordinateur#
Dans le contexte de la vision par ordinateur (CV) et de l’apprentissage automatique (ML), les valeurs exactes des pixels fluctuent souvent en raison de l’éclairage, de l’occlusion ou du bruit des capteurs. La logique floue comble l’écart entre les sorties numériques précises d’un réseau neuronal et les interprétations linguistiques utilisées par les humains.
Applications concrètes#
- Conduite autonome : les véhicules autonomes utilisent la logique floue pour exécuter des actions de contrôle fluides. Au lieu de freiner brusquement lorsqu’un obstacle est détecté, le système évalue le « degré de danger » en fonction de la vitesse et de la distance afin d’effectuer une décélération progressive, garantissant la sécurité et le confort des passagers.
- Diagnostic médical : dans l’analyse d’images médicales, les tissus présentent souvent des limites indistinctes. La logique floue aide les systèmes d’IA dans le domaine de la santé à segmenter les images lorsque les tumeurs se fondent dans les tissus sains, ce qui permet une évaluation plus nuancée des risques et une modélisation prédictive.
Logique floue et probabilité#
Il est essentiel de distinguer la logique floue de la théorie des probabilités, car elles sont souvent confondues malgré le fait qu’elles traitent des types d’incertitude différents.
- Probabilité : elle traite de la probabilité qu’un événement futur se produise (par exemple : « Il y a 50 % de chances qu’il pleuve »). Elle modélise le hasard.
- Logique floue : elle traite du degré de vérité d’un état (par exemple : « Le sol est mouillé à 50 % »). Elle modélise l’ambiguïté de la définition de l’événement lui-même.
Mise en œuvre pratique#
Dans les workflows pratiques de détection d’objets, la logique floue est souvent appliquée lors du post-traitement. Les développeurs peuvent associer le score de confiance d’un modèle à des catégories linguistiques afin de créer des règles de filtrage sophistiquées.
L’exemple Python suivant montre comment appliquer une catégorisation de type flou aux résultats d’inférence d’Ultralytics YOLO26 :
from ultralytics import YOLO
# Load the YOLO26 model and run inference
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
# Get confidence score of the first detected object
conf = results[0].boxes.conf[0].item()
# Apply fuzzy linguistic categorization (Membership function logic)
def get_fuzzy_degree(score):
if score > 0.8:
return "High Certainty"
elif score > 0.5:
return "Moderate Certainty"
return "Uncertain"
print(f"Score: {conf:.2f} -> Category: {get_fuzzy_degree(conf)}")Concepts associés#
- Systèmes experts : premiers programmes d’IA qui simulaient la prise de décision humaine, en s’appuyant largement sur des règles floues pour traiter les informations.
- Systèmes neuro-flous : architectures hybrides qui combinent les capacités d’apprentissage de l’apprentissage profond (DL) avec l’interprétabilité du raisonnement flou.
- Segmentation d’images : tâche de vision par ordinateur qui bénéficie fréquemment de la logique floue pour définir les limites des objets dans des jeux de données complexes.
- Plateforme Ultralytics : environnement moderne dans lequel les utilisateurs peuvent gérer des jeux de données et entraîner des modèles susceptibles de servir de moteurs d’entrée précise pour les contrôleurs à logique floue.









