Labelimg вылетает при попытке экспортировать обучающие образцы YOLO
Я новичок в Python и маркировке данных для глубокого обучения. Я установил программу Labelimg, чтобы пометить пользовательский набор данных, но она продолжает давать сбой, когда я создаю обучающие образцы YOLO. Каждый раз, когда я открываю программу и указываю каталог изображений, я могу просматривать изображения, но когда я создаю ограничивающие рамки и пытаюсь нажать кнопку "следующее изображение", происходит сбой с сообщением об ошибке.
В качестве примечания, я следовал этому руководству, чтобы установить Labelimg.
Вот как я создаю ошибку:
- Открыть подсказку Anaconda
- Активируйте ранее созданную среду labelimg в conda
conda activate labelimg
- Укажите расположение распакованной папки labelimg
cd D:\labelimg
- Откройте скрипт 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. Удалите этот файл и снова откройте инструмент.