2 votes

L'implémentation OpenCV de YOLO v3 reproduit l'exception sur une instance GCP

J'ai implémenté avec succès la détection d'objets à partir d'une vidéo en utilisant le modèle YOLO v3 d'OpenCV 4.0.0.21. Il fonctionne avec succès sur une machine locale, j'ai donc voulu le tester sur une instance de Google Cloud Platform.

J'ai cloné mon projet, construit OpenCV à partir des sources et lancé la détection d'objets YOLO v3. Cependant, cette fois-ci, j'ai rencontré une exception lors de l'étape d'initialisation de Darknet :

net = cv2.dnn.readNetFromDarknet(cfg_path, weights_path)

Voici également le traceback :

Traceback (most recent call last):

  File "/home/username/path_to_app/yolo_object_detection.py", 
line 21, in run_detection:
    net = cv2.dnn.readNetFromDarknet(cfg_path, weights_path)
  cv2.error: OpenCV(4.0.0) /home/username/opencv-
  4.0.0/modules/dnn/src/darknet/darknet_io.cpp:690: 

  error: (-213:The function/feature is not implemented)
  Transpose the weights (except for convolutional) 
  is not implemented in function 'ReadDarknetFromWeightsStream'

Quelle en est la raison et comment puis-je surmonter cette exception ?

5voto

Dhruv Pandey Points 342

Je ne suis pas tout à fait sûr, mais il semble que le fichier yolov3.weights ne soit pas stocké correctement sur Github (la raison est peut-être qu'il fait plus de 100MB). Mais l'utilisation d'un autre fichier de poids a fonctionné pour moi :

!wget "https://pjreddie.com/media/files/yolov3.weights"

Référence : https://colab.research.google.com/drive/1EjN6PrqXABZApL2GmlegOeLhhwmtWrlJ

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X