-1
votes

Comment déterminer si l'image est quelque chose ou pas?

J'ai un modèle formé qui détermine si une image contient du chat ou du chien. J'utilise SVM pour classer. Je veux un nouveau modèle qui détermine si une image est une souris ou non. C'est différent du premier modèle qui classe en 2 classes. Ce nouveau modèle reviendra vrai ou faux uniquement.

Je ne pense pas pouvoir utiliser un modèle de classificateur depuis que je n'ai que 1 classe; la souris. Je n'ai pas l'intention d'utiliser le premier modèle ou quoi que ce soit lui-même dans le 2e modèle.

Quel est le meilleur moyen d'aborder cela?


0 commentaires

5 Réponses :


0
votes

Si vous avez déjà une classe de souris, vous pouvez utiliser l'apprentissage supervisé. Lorsque vous entraînez votre modèle, laissez le modèle apprendre ce qu'une souris en définissant qu'il s'agit d'un objet spécifique est la souris et de le définir ce qui n'est pas une souris ...

Avec cette approche, vous avez juste besoin d'une classe de souris pour définir votre modèle et "enseigner" lui, quelle est une souris, après cela, votre modèle classera "la souris" et "pas la souris"


0 commentaires

1
votes

Si vous souhaitez pouvoir prédire si une image a une souris, cela reste un problème de classification où vous classerez des images en deux classes - la souris et non une souris.

Tout classificateur que vous avez l'intention d'utiliser peut avoir besoin d'apprendre une limite pour séparer les images de la souris des images non souris dans l'espace d'entrée N-dimensionnel.

Si vous utilisez un réseau de neurones, vous pouvez créer un seul neurone de sortie qui donnera idéalement une probabilité élevée lorsque l'image est une souris et basse lorsqu'il n'y a pas de souris dans l'image.


2 commentaires

Je suis intéressé par ce réseau de neurones, il ressemble à ce que je veux faire autre que de former un modèle de classificateur. Comment puis-je continuer à construire cela? Je ne fais pas quoi faire ensuite. Des liens pour un début?


Je ne suis pas sûr à quel point vous savez. Mais, en supposant que vous ayez un jeu de données marqué (images étiquetées de souris / non souris), vous pouvez commencer à construire un réseau de neurones convolutionnaires. Ce type de réseau de neurones fonctionne mieux avec des images. Pour acquérir des connaissances théoriques, ce cours m'a aidé beaucoup - coursera.org/learn/... . Mais il existe plusieurs blogs avec des articles sur la classification de l'image. En outre, prenez la décision de savoir si vous souhaitez utiliser des frameworks Pytorch ou Tensorflow ou Keras pour construire votre CNN. Pytorch et Keras sont plus faciles à apprendre.



1
votes



La meilleure approche, celle qui semble avoir de meilleurs résultats dans la recherche et l'industrie est d'utiliser un réseau neuronal, un CNN (réseau convolutionnel à être plus précis, bien qu'une couche avancée linéaire fonctionnerait également).

Rien n'a changé de chats vs chiens à la souris vs non souris. Toujours un problème de classification.Sait que vous utilisez un SVM, je suppose que vous n'avez pas beaucoup de données, essayez peut-être d'utiliser l'apprentissage de transfert avec des modèles RESNET? Cela pourrait donner de bons résultats.

Si ce n'est toujours pas suffisant, vous pouvez toujours utiliser SVM pour la classification 1-Mouse 0- Pas une souris.!

J'espère que cela a aidé!

meilleur!


3 commentaires

Afin de former le modèle, je dois préparer des images de souris et enseigner le modèle que ce sont des souris. Mais je ne peux pas simplement préparer le 2e ensemble d'images qui ne sont pas de souris non? Comme je pouvais mettre des images de quelque chose comme le cheval, la maison, les chaussures, etc., n'est-ce pas?


Pouvez-vous gratter des images Google pour d'autres animaux? puis étiquetez-les comme 0 - non rat?


Cela signifie-t-il que je peux utiliser une photo de chaussure ou de stylo? et étiquetez-le comme pas une souris? Je sais ce que tu veux dire mais je ne devrais pas avoir un meilleur que ça? Ce que j'ai, c'est que mon jeu de données ne contient que des images de souris et former le modèle. Après cela, le modèle me donnera juste une probabilité (en%) que l'image d'entrée est une souris au lieu de la classer comme souris ou non souris



0
votes

Il y a deux options pour aborder le problème:

1.) Vous considérez le problème comme une tâche de classification de deux classes. Ensuite, vous entraînez un classificateur avec des échantillons de la classe (images montrant une souris) et des échantillons où les images ne représentent pas une souris. Cette approche fonctionne en général. À cette fin, vous pouvez toujours former un SVM ou former un réseau de neurones. Si vous n'avez que peu d'échantillons, l'utilisation de SVM ou d'apprentissage de transigner avec des réseaux de neurones fonctionne bien dans la plupart des cas. Notez que pour appliquer un SVM, vous devez définir des caractéristiques discriminatives (comme HOG).

Une question qui se pose avec cette approche est des images à sélectionner pour la classe non-souris.

2.) Vous considérez le problème comme une tâche de classification d'une classe. Dans ce cas, vous n'avez besoin que d'échantillons de votre classe souhaitée et que le modèle d'apprentissage de la machine est formé pour reconnaître les écarts de la classe.

Il y a une approche classique comme une classe SVM, où vous vous entraînez uniquement sur des échantillons positifs en ajustant un hypersphère autour des vecteurs de fonctionnalités de votre classe.

Si vous souhaitez appliquer des réseaux de neurones, vous pouvez utiliser par exemple drocc ( https://arxiv.org/ ABS / 2002.12718 )


0 commentaires

0
votes

Je pense qu'il y a deux questions détaillées dans votre question de votre origine

question1: xxx

en réalité, vous pouvez toujours utiliser un modèle classificateur pour deux étiquettes, étiquette = 0 signifie Cette image (cette instance) est "non une souris", étiquette = 1 signifie que cette image (cette instance) est "une souris".

Après une formation dans des cas avec étiquette = 0 et étiquette = 1, votre Le classificateur sera en mesure de produire une probabilité de savoir s'il s'agit d'une souris.

question2: xxx

en général, c'est un Transférer le problème d'apprentissage , donc la réponse est donc une préchauffe pourrait être utile pour un problème sans trop grand nombre de Instances.

Cependant, Détail de votre question, qui utilise un modèle formé avec chat et chien pour aider à la prédiction de la souris, je pense que ce n'est pas utile.


0 commentaires