Darkflow говорит, что изображения имеют 0 размеров

Я пытаюсь тренировать крошечное йоло, используя darkflow. Однако, когда я запускаю код, я получаю эту ошибку:

Enter training ...

cfg/tiny-yolo-voc-2c.cfg parsing images/annotation
Parsing for ['thumbs_down', 'thumbs_up'] 
[====================>]100%  001296.xml
Statistics:
thumbs_down: 2078
thumbs_up: 1681
Dataset size: 2470
Dataset of 2470 instance(s)
This image's width or height are zeros:  002149.png
train_instance: ['002149.png', [0, 0, [['thumbs_up', 112, 15, 204, 143]]]]
Please remove or fix it then try again.
Traceback (most recent call last):
  File "/anaconda3/bin/flow", line 6, in <module>
    cliHandler(sys.argv)
  File "/anaconda3/lib/python3.6/site-packages/darkflow/cli.py", line 33, in cliHandler
    print('Enter training ...'); tfnet.train()
  File "/anaconda3/lib/python3.6/site-packages/darkflow/net/flow.py", line 39, in train
    for i, (x_batch, datum) in enumerate(batches):
  File "/anaconda3/lib/python3.6/site-packages/darkflow/net/yolo/data.py", line 114, in shuffle
    inp, new_feed = self._batch(train_instance)
  File "/anaconda3/lib/python3.6/site-packages/darkflow/net/yolov2/data.py", line 35, in _batch
    cx = centerx / cellx
ZeroDivisionError: float division by zero

Если я удаляю изображение, оно находит другое изображение с размерами 0,0, хотя все изображения имеют нормальные размеры. И если я не удаляю его, он говорит мне другое изображение размером 0,0. Имеется в виду, что это происходит случайно? Я удалил пару изображений, но я не уверен, будет ли это продолжаться вечно, или есть только определенное количество изображений, которые имеют "размер 0,0".

Это команда, которую я использовал из моего каталога darkflow-master:

flow --model cfg/tiny-yolo-voc-2c.cfg --labels images/annotation/classes.txt --train --trainer adam --load bin/tiny-yolo-voc.weights --annotation images/annotation --dataset images/images --gpu 1.0 --epoch 1000

1 ответ

Смотрите строку 12 вышеприведенного сообщения об ошибке:

['002149.png', [0, 0, [['thumbs_up', 112, 15, 204, 143]]]]

Этот список взят из файла аннотации. Второе и третье значения - ширина изображения и высота изображения. Вы можете видеть, что они оба равны нулю. Поэтому я рекомендую вам проверить файл аннотации, если он правильный.

ПРИМЕЧАНИЕ:

  1. '002149.png': имя файла изображения
  2. (0, 0): ширина и высота изображения соответственно
  3. 'thumbs_up': имя класса
  4. (112, 15): абсолютные координаты центра
  5. (204, 143): абсолютная ширина и высота поля правды
Другие вопросы по тегам