Labelimg вылетает при попытке экспортировать обучающие образцы YOLO

Я новичок в Python и маркировке данных для глубокого обучения. Я установил программу Labelimg, чтобы пометить пользовательский набор данных, но она продолжает давать сбой, когда я создаю обучающие образцы YOLO. Каждый раз, когда я открываю программу и указываю каталог изображений, я могу просматривать изображения, но когда я создаю ограничивающие рамки и пытаюсь нажать кнопку "следующее изображение", происходит сбой с сообщением об ошибке.

В качестве примечания, я следовал этому руководству, чтобы установить Labelimg.

Вот как я создаю ошибку:

  1. Открыть подсказку Anaconda
  2. Активируйте ранее созданную среду labelimg в conda

conda activate labelimg

  1. Укажите расположение распакованной папки labelimg

cd D:\labelimg

  1. Откройте скрипт python, за которым следует расположение каталога изображений, ранее созданный текстовый файл с именем метки (weed) и ранее созданный текстовый файл с именем класса в нем (weed):

python labelimg.py D:\photo_directory D:\label.txt D\:classes.txt

Затем программа открывается, отображая следующее:

Обратите внимание, что я пытаюсь экспортировать образцы как обучающие образцы YOLO. Название изображения - "weed0". Всякий раз, когда я создаю свои образцы и нажимаю кнопку "Следующее изображение", программа вылетает с такой ошибкой:

       Traceback (most recent call last):
  File "labelimg.py", line 1299, in openNextImg
    self.saveFile()
  File "labelimg.py", line 1339, in saveFile
    self._saveFile(savedPath)
  File "labelimg.py", line 1371, in _saveFile
    if annotationFilePath and self.saveLabels(annotationFilePath):
  File "labelimg.py", line 837, in saveLabels
    self.lineColor.getRgb(), self.fillColor.getRgb())
  File "D:\labelimg\libs\labelFile.py", line 89, in saveYoloFormat
    writer.save(targetFile=filename, classList=classList)
  File "D:\labelimg\libs\yolo_io.py", line 64, in save
    out_file = codecs.open(targetFile, 'w', encoding=ENCODE_METHOD)
  File "D:\anaconda3\envs\labelimg\lib\codecs.py", line 898, in open
    file = builtins.open(filename, mode, buffering)
FileNotFoundError: [Errno 2] No such file or directory: 'D:\\weed0.txt'

Что я могу сделать, чтобы программа не вылетела из строя при экспорте обучающих образцов YOLO? Я сделал все, но переустановил программу, что для меня не имеет смысла, потому что я только что ее загрузил.

2 ответа

Решение

Решением было преобразовать файлы изображений из файлов.jpg в файлы.png. После этого все заработало безупречно. Это руководство было очень полезным:

https://www.youtube.com/watch?v=FGr3N3DLGEI

Кроме того, поскольку я собирал изображения с изображениями БПЛА (размером 4000x3000 пикселей), программе не нравились изображения такого размера. Вы можете экспортировать их с помощью формата PascalVOC, когда дело касается больших изображений, но формат YOLO не любит такие большие изображения. Обрезка до размеров 1000 x 1000 работает хорошо.

Просто удалите файл .labelImgSettings.pkl, который находится в папке C:\Users\your_account.labelImgSettings.pkl. Удалите этот файл и снова откройте инструмент.

Другие вопросы по тегам