栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

YOLOV5训练数据出现:no labels found(2个方法解决)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

YOLOV5训练数据出现:no labels found(2个方法解决)

def convert_annotation(image_id): in_file open( H:/phone/VOCdevkit/VOC2007/Annotations/%s.xml %image_id) out_file open( H:/phone/VOCdevkit/VOC2007/YOLOLabels/%s.txt %image_id, w ) tree ET.parse(in_file) root tree.getroot() size root.find( size ) w int(size.find( width ).text) h int(size.find( height ).text) for obj in root.iter( object ): difficult obj.find( difficult ).text cls obj.find( name ).text if cls not in classes or int(difficult) 1: continue cls_id classes.index(cls) xmlbox obj.find( bndbox ) b (float(xmlbox.find( xmin ).text), float(xmlbox.find( xmax ).text), float(xmlbox.find( ymin ).text), float(xmlbox.find( ymax ).text)) bb convert((w,h), b) out_file.write(str(cls_id) .join([str(a) for a in bb]) n ) in_file.close() out_file.close() wd os.getcwd() wd os.getcwd() data_base_dir os.path.join(wd, VOCdevkit/ ) if not os.path.isdir(data_base_dir): os.mkdir(data_base_dir) work_sapce_dir os.path.join(data_base_dir, VOC2007/ ) if not os.path.isdir(work_sapce_dir): os.mkdir(work_sapce_dir) annotation_dir os.path.join(work_sapce_dir, Annotations/ ) if not os.path.isdir(annotation_dir): os.mkdir(annotation_dir) clear_hidden_files(annotation_dir) image_dir os.path.join(work_sapce_dir, JPEGImages/ ) if not os.path.isdir(image_dir): os.mkdir(image_dir) clear_hidden_files(image_dir) yolo_labels_dir os.path.join(work_sapce_dir, YOLOLabels/ ) if not os.path.isdir(yolo_labels_dir): os.mkdir(yolo_labels_dir) clear_hidden_files(yolo_labels_dir) yolov5_images_dir os.path.join(data_base_dir, images/ ) if not os.path.isdir(yolov5_images_dir): os.mkdir(yolov5_images_dir) clear_hidden_files(yolov5_images_dir) yolov5_labels_dir os.path.join(data_base_dir, labels/ ) if not os.path.isdir(yolov5_labels_dir): os.mkdir(yolov5_labels_dir) clear_hidden_files(yolov5_labels_dir) yolov5_images_train_dir os.path.join(yolov5_images_dir, train/ ) if not os.path.isdir(yolov5_images_train_dir): os.mkdir(yolov5_images_train_dir) clear_hidden_files(yolov5_images_train_dir) yolov5_images_test_dir os.path.join(yolov5_images_dir, val/ ) if not os.path.isdir(yolov5_images_test_dir): os.mkdir(yolov5_images_test_dir) clear_hidden_files(yolov5_images_test_dir) yolov5_labels_train_dir os.path.join(yolov5_labels_dir, train/ ) if not os.path.isdir(yolov5_labels_train_dir): os.mkdir(yolov5_labels_train_dir) clear_hidden_files(yolov5_labels_train_dir) yolov5_labels_test_dir os.path.join(yolov5_labels_dir, val/ ) if not os.path.isdir(yolov5_labels_test_dir): os.mkdir(yolov5_labels_test_dir) clear_hidden_files(yolov5_labels_test_dir) train_file open(os.path.join(wd, yolov5_train.txt ), w ) test_file open(os.path.join(wd, yolov5_val.txt ), w ) train_file.close() test_file.close() train_file open(os.path.join(wd, yolov5_train.txt ), a ) test_file open(os.path.join(wd, yolov5_val.txt ), a ) list_imgs os.listdir(image_dir) # list image files probo random.randint(1, 100) print( Probobility: %d % probo) for i in range(0,len(list_imgs)): path os.path.join(image_dir,list_imgs[i]) if os.path.isfile(path): image_path image_dir list_imgs[i] voc_path list_imgs[i] (nameWithoutExtention, extention) os.path.splitext(os.path.basename(image_path)) (voc_nameWithoutExtention, voc_extention) os.path.splitext(os.path.basename(voc_path)) annotation_name nameWithoutExtention .xml annotation_path os.path.join(annotation_dir, annotation_name) label_name nameWithoutExtention .txt label_path os.path.join(yolo_labels_dir, label_name) probo random.randint(1, 100) print( Probobility: %d % probo) if(probo 80): # train dataset if os.path.exists(annotation_path): train_file.write(image_path n ) convert_annotation(nameWithoutExtention) # convert label copyfile(image_path, yolov5_images_train_dir voc_path) copyfile(label_path, yolov5_labels_train_dir label_name) else: # test dataset if os.path.exists(annotation_path): test_file.write(image_path n ) convert_annotation(nameWithoutExtention) # convert label copyfile(image_path, yolov5_images_test_dir voc_path) copyfile(label_path, yolov5_labels_test_dir label_name) train_file.close() test_file.close()

参考文章

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267422.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号