2

Disons que nous avons un certain nombre d'images en couleur qui sont des exemples de motifs texturés. Il y a un cas rare où cette texture est "perturbée" par un objet étranger. Quel serait le meilleur moyen de détecter ces anomalies rares? Je pensais à former un CNN, mais le nombre de bons exemples dépasse largement les mauvais exemples, donc j'ai des doutes. J'ai commencé à chercher dans les matrices de cooccurrence de niveau de gris (GLCM) et les modèles binaires locaux (LBP), mais je pense que l'information de couleur pourrait jouer un rôle important dans la détermination de l'occurrence d'une perturbation. Puis-je trouver la distribution à partir de ces entités extraites (GLCM ou LBP) et calculer la probabilité qu'une nouvelle image appartienne à cette distribution?Comment détecter une perturbation de texture

Merci pour votre aide!

+0

Pourriez-vous partager quelques exemples d'images? – Tonechas

+0

@tonechas Malheureusement, je ne peux pas, c'est aussi précis que je peux obtenir sur le problème –

+1

Il est difficile de répondre à la question sans plus d'informations, mais avez-vous regardé les mesures de texture de Law? Oldies mais potentiellement utile. Quelle que soit la technique peut travailler dépendra de votre application. Objets/scènes naturels ou fabriqués? Des images en direct provenant d'appareils photo ou des fichiers d'image de résolution/qualité variables? Si vous ne pouvez pas révéler les détails, pensez à passer une journée à votre bibliothèque d'ingénierie locale à feuilleter les manuels, les thèses et les documents de conférence (qui sont souvent derrière les paies en ligne). À plusieurs occasions, j'ai trouvé des livres peu mentionnés qui m'ont aidé à résoudre des problèmes étranges. – Rethunk

Répondre

1

Il est difficile de comprendre votre problème sans voir quelques exemples d'images. En principe, vous pouvez utiliser une grande variété d'approches pour détecter les perturbations de texture, à savoir les fonctions GLCM, les LBP, les masques de Law, la quantification vectorielle, etc. La mesure de l'entropie locale est une voie possible. Considérez l'image ci-dessous, où l'on peut clairement distinguer deux types de texture:

square textured object on a textured background

L'extrait suivant lit l'image, calcule l'entropie locale pour chaque pixel sur un voisinage circulaire ou un rayon donné 25 et affiche les résultats:

from skimage import io 
from skimage.filters.rank import entropy 
from skimage.morphology import disk 

img = io.imread('https://i.stack.imgur.com/Wv74a.png') 
R = 25 
filtered = entropy(img, disk(R)) 
io.imshow(filtered) 

Il ressort clairement de la carte d'entropie résultant que les valeurs d'entropie locales pourraient être utilisées pour détecter les perturbations de texture.

local entropy values