Réseau de neurones convolutif

Une petite question sur votre TIPE...

Messages : 0

Inscription : 13 août 2015 23:37

Profil de l'utilisateur : Élève de lycée

Réseau de neurones convolutif

Message par driagon » 17 juil. 2017 19:00

Salut, je viens vous poser une question sur mon TIPE. Ma partie consiste à reconnaître des humains sur des images thermiques. J'ai fais pas al de biblio jusqu'ici et cela ne m'a que embrouiller à vrai dire. J'ai néanmoins compris que ma meilleure option serait les réseaux de neurones convolutifs (ou CNN an anglais). Mais le truc c'est que je vois pas du tout comment programmer ceci en python. J'ai aussi vu l'option du transfert learning afin d'utiliser des CNN déja entraînés mais je pense pas que je vais pouvoir trouver des CNN entraînés sur des humains sur des images thermiques. Du coup je ne sis plus trop quelle option retenir. Ce serait vraiment cool si certains d'entres vous pourraient m'orienter :D .
Si Vivaldi avait vécu à notre époque, il ferait du Hard Rock ou du Métal, il a toujours été un musicien métallique au bon sens du terme ! (Jean-Michel Jarre).

Messages : 3823

Inscription : 17 avr. 2012 21:19

Profil de l'utilisateur : Élève de lycée

Re: Réseau de neurones convolutif

Message par bullquies » 17 juil. 2017 20:44

Hello

Alors déjà : est-ce qu'il s'agit de dire "il y a/n'y a pas un humain sur cette image" (classification), ou est-ce qu'il s'agit de dire "il y a un humain et il est à telle position sur l'image" ? (~segmentation, classification etc) C'est deux problèmes différents !

Ensuite ça aiderait de connaître le but de ton TIPE, où tu en es, ce que tu veux accomplir. Il faut en particulier faire attention parce que tout refaire ca peut être ambitieux !

Sinon tu as raison, les CNN sont un très bon choix pour ce genre de problèmes.

Pour coder tout ça, je recommanderais d'utiliser des librairies comme tensorflow (de google, https://www.tensorflow.org/get_started/get_started ),ou caffe (http://caffe.berkeleyvision.org/ )

Il y a déjà beaucoup de modèles disponibles, notamment celui du vgg (http://www.robots.ox.ac.uk/~vgg/research/very_deep/ ). Ils publient leurs modèles et les poids résultant de l'entraînement. Tout ça c'est fait sur des photos "normales".

Ca ne veut pas dire que tu ne peux pas te servir de ce qu'ils ont. Ca peut être envisageable d'insérer un bloc avant le vgg16 qui prend en entrée une image thermique a 3 channels, qui recrache une image a 3 channels, et de réentrainer les dernières couches (dense layers).

L'idée c'est que ce réseau a déjà été entraîné, donc chaque couche encoderait des caractéristiques utiles. La seule partie à changer serait donc celle qui fait la classification -> les dernières couches. Le reste serait fixé et non entraîné.

Je ne sais pas si ca donnerait des résultats satisfaisants, mais ça peut valoir le coup d'essayer !

Sinon tu peux AU MOINS reprendre la même architecture et réentrainer de zero, c'est vraiment pas dur il y a des dépôts github avec tout ça (cherche vgg16 ou vgg19)

Est-ce que tu as accès à une/des carte graphique nvidia? L'entraînement sur processeur c'est assez laborieux, donc si jamais tu peux te débrouiller pour avoir accès à qqch, ça pourra t'aider!
The Axiom of Choice is obviously true, the Well-Ordering Principle is obviously false, and nobody knows about Zorn's Lemma. - Jerry Bona

Messages : 9686

Inscription : 30 juil. 2008 16:59

Profil de l'utilisateur : Élève de lycée

Re: Réseau de neurones convolutif

Message par fakbill » 19 juil. 2017 11:10

Tout depend si on veut coder le réseau de neurones lui meme ou si on veut utilizer une lib qui fait ca bien et se concentrer sur autre chose (par exemple le taux d'erreur en function de X ou machine...)
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

Répondre