Darkflow: Testez-le sur VOC2007 et obtenez 60% de mAP

Créé le 7 avr. 2017  ·  4Commentaires  ·  Source: thtrieu/darkflow

Salut,

Bon travail!
Mais j'ai écrit quelques codes pour le tester sur le jeu de test VOC2007 avec la configuration '--model cfg/yolo-voc.cfg --load models/yolo-voc.weights' et j'ai obtenu 60% de mAP, tandis que le papier YOLO 9000 a rapporté 78,6% .
Ensuite, j'ai changé la résolution d'entrée dans yolo-voc.cfg de 416 416 à 544 544 et amélioré mAP de 2%.
J'ai également testé sur quelques images et les ai comparées avec les sorties de darknet et j'ai constaté des différences significatives.
J'ai utilisé ces codes de test plusieurs fois auparavant et je suis sûr qu'ils sont sans bug.
Donc je pense qu'il doit y avoir des bugs...

Merci

help wanted

Commentaire le plus utile

@ShawnDing1994 cloud vous contribuez votre code pour le calcul de la carte de darkflow?

Tous les 4 commentaires

C'est un bon travail pour le développeur tensorflow, et cloud vous corrigez le code de darkflow selon le projet https://github.com/leetenki/YOLOv2 et https://github.com/hizhangp/yolo_tensorflow ou https://github. com/gliese581gg/YOLO_tensorflow

@ShawnDing1994 cloud vous contribuez votre code pour le calcul de la carte de darkflow?

Lors de la construction du référentiel, je vois des différences numériques mineures se produire après chaque opération (par exemple, la convolution dans TF produit un résultat différent de Darknet dans 1e-4 environ), elles sont amplifiées après chaque couche et aboutissent finalement à un mAP (catastrophiquement) inférieur dans ce Tensorflow Port. Je suis presque sûr que l'implémentation de haut niveau dans ce référentiel est correcte (détection raisonnable), mais le niveau inférieur (opKernels dans Tensorflow et implémentation C dans Darknet) peut présenter une incompatibilité technique.

Il est important de comprendre à quel point il est grave même lorsque la différence numérique est faible (< 1e-7). Chaque couche formée dans Darknet attend un résultat différent de celui qu'elle obtient de Tensorflow, produisant ainsi un résultat encore pire pour la couche suivante. Cette erreur s'accumule au fur et à mesure que le filet s'approfondit.

Ainsi, le réglage fin des poids Darknet est une solution bon marché et directe à ce que j'ai décrit ci-dessus. J'espère que cela t'aides.

@ShawnDing1994 comment avez-vous implémenté mAP pour darkflow, pourriez-vous contribuer votre code afin que je puisse l'utiliser? ou pourriez-vous me guider sur la façon de le mettre en œuvre?

Cette page vous a été utile?
0 / 5 - 0 notes