当前位置: 首页 > news >正文

做一件代发网站巨久科技网站建设

做一件代发网站,巨久科技网站建设,湖南企业建网站公司,网站策划建设阶段的推广FLIR在2022.1.19发布了新版的FLIR_ADAS_v2#xff0c;有着更多的类别和数量更丰富的图像。数据集同步注释热图像和无注释RGB图像供参考。本文章主要介绍如何使用FLIR_ADAS_v2中的rgb图像和thermal图像来制作yolo格式数据集。 1.官方数据集下载#xff1a;FLIR_ADAS_v2数据集…FLIR在2022.1.19发布了新版的FLIR_ADAS_v2有着更多的类别和数量更丰富的图像。数据集同步注释热图像和无注释RGB图像供参考。本文章主要介绍如何使用FLIR_ADAS_v2中的rgb图像和thermal图像来制作yolo格式数据集。 1.官方数据集下载FLIR_ADAS_v2数据集下载 官方下载链接​​​​​ 2. 将单个json文件转换为多个xml文件 需要注意的是代码里面的文件位置是当时把官方文件下载的 COCO 数据集所在目录读取的json 文件所在位置是看需要用的是rgb图像或者thermal图像的train或者val。 另外生成的xml文件存放位置一定要和json文件相对应也就是说新建的文件夹里一定包含data文件夹只这样才能生成xml文件不然会报错filenotfounderror: [errno 2] no such file or directory: ...。即保存文件里面的data文件夹一定要新建好再运行代码。 python代码如下 # translate coco_json to xml import os import time import json import pandas as pd from tqdm import tqdm from pycocotools.coco import COCOdef trans_id(category_id):names []namesid []for i in range(0, len(cats)):names.append(cats[i][name])namesid.append(cats[i][id])# print(id:{1}\t {0}.format(names[i], namesid[i]))index namesid.index(category_id)return indexroot rG:/红外数据集-FLIR2/FLIR_ADAS_v2/images_thermal_train # 你下载的 COCO 数据集所在目录 dataType 2017 anno rG:/红外数据集-FLIR2/FLIR_ADAS_v2/images_thermal_train/coco.json # annotation json 文件所在位置 xml_dir rG:/红外数据集-FLIR2/FLIR2_yolo_xml/images_thermal_train # 导出的xml文件所在的位置coco COCO(anno) # 读文件 cats coco.loadCats(coco.getCatIds()) # 这里loadCats就是coco提供的接口获取类别# Create anno dir dttm time.strftime(%Y%m%d%H%M%S, time.localtime()) # if os.path.exists(xml_dir): # os.rename(xml_dir, xml_dir dttm) # os.mkdir(xml_dir)with open(anno, r) as load_f:f json.load(load_f)imgs f[images] # json文件的img_id和图片对应关系 imgs列表表示多少张图cat f[categories] df_cate pd.DataFrame(f[categories]) # json中的类别 df_cate_sort df_cate.sort_values([id], ascendingTrue) # 按照类别id排序 categories list(df_cate_sort[name]) # 获取所有类别名称 print(categories , categories) df_anno pd.DataFrame(f[annotations]) # json中的annotationfor i in tqdm(range(len(imgs))): # 大循环是images所有图片xml_content []file_name imgs[i][file_name] # 通过img_id找到图片的信息height imgs[i][height]img_id imgs[i][id]width imgs[i][width]# xml文件添加属性xml_content.append(annotation)xml_content.append( folderVOC2007/folder)xml_content.append( filename file_name.split(/)[1].split(.)[0] .jpg /filename)xml_content.append( size)xml_content.append( width str(width) /width)xml_content.append( height str(height) /height)xml_content.append( /size)xml_content.append( segmented0/segmented)# 通过img_id找到annotationsannos df_anno[df_anno[image_id].isin([img_id])] # (2,8)表示一张图有两个框for index, row in annos.iterrows(): # 一张图的所有annotation信息bbox row[bbox]category_id row[category_id]# cate_name categories[trans_id(category_id)]cate_name cat[category_id - 1][name]# add new objectxml_content.append(object)xml_content.append(name cate_name /name)xml_content.append(poseUnspecified/pose)xml_content.append(truncated0/truncated)xml_content.append(difficult0/difficult)xml_content.append(bndbox)xml_content.append(xmin str(int(bbox[0])) /xmin)xml_content.append(ymin str(int(bbox[1])) /ymin)xml_content.append(xmax str(int(bbox[0] bbox[2])) /xmax)xml_content.append(ymax str(int(bbox[1] bbox[3])) /ymax)xml_content.append(/bndbox)xml_content.append(/object)xml_content.append(/annotation)x xml_contentxml_content [x[i] for i in range(0, len(x)) if x[i] ! \n]### list存入文件xml_path os.path.join(xml_dir, file_name.replace(.jpg, .xml))with open(xml_path, w, encodingutf8) as f:f.write(\n.join(xml_content))xml_content[:] [] 成功运行 3. 将多个xml文件转换为YOLO所需的txt文件 里面的类别看Readme文件其中thermal类别比rgb类别多了dog和deer生成txt注意区分 不过为了后续类别对应我统一都写成thermal的类别了 # xml_to_yolo_txt.py # 此代码和VOC_KITTI文件夹同目录 import os import xml.etree.ElementTree as ET # 这里的类名为我们xml里面的类名顺序a按照Readme文件,或者也可以不考虑顺序 # 其中thermal类别比rgb类别多了dog和deer生成txt注意区分 class_names [person,bike,car,motor, bus, train,truck,light,hydrant, sign,dog,deer,skateboard,stroller, scooter, other vehicle] # class_names [person,bike,car,motor, bus, train,truck,light,hydrant, sign, # skateboard,stroller,scooter,other vehicle ] # xml文件路径 path G:/红外数据集-FLIR2/FLIR2_yolo_xml/images_rgb_train/data/ # 转换一个xml文件为txt def single_xml_to_txt(xml_file):tree ET.parse(os.path.join(path, xml_file))root tree.getroot()# 保存的txt文件路径txt_file os.path.join(G:/红外数据集-FLIR2/FLIR2_yolo/images_rgb_train/data/, xml_file.split(.)[0].txt)with open(txt_file, w) as txt_file:for member in root.findall(object):#filename root.find(filename).textpicture_width int(root.find(size)[0].text)picture_height int(root.find(size)[1].text)class_name member[0].text# 类名对应的indexclass_num class_names.index(class_name)box_x_min int(member[4][0].text) # 左上角横坐标box_y_min int(member[4][1].text) # 左上角纵坐标box_x_max int(member[4][2].text) # 右下角横坐标box_y_max int(member[4][3].text) # 右下角纵坐标# 转成相对位置和宽高x_center float(box_x_min box_x_max) / (2 * picture_width)y_center float(box_y_min box_y_max) / (2 * picture_height)width float(box_x_max - box_x_min) / picture_widthheight float(box_y_max - box_y_min) / picture_height# print(class_num, x_center, y_center, width, height)txt_file.write(str(class_num) str(x_center) str(y_center) str(width) str(height) \n) # 转换文件夹下的所有xml文件为txt def dir_xml_to_txt(path):files os.listdir(path)for xml_file in files:single_xml_to_txt(xml_file) dir_xml_to_txt(path)4整理成yolo的txt格式 一般yolo的格式如下 因此将上面生成的文件分别整理成图片的格式然后仿照./data/文件夹下的yaml文件自己写一个数据yaml此时的class类别必须和上面生成txt的类别顺序一致。 train: G:/yolo_FLIR2/FLIR2_yolo_thermal/images/train val: G:/yolo_FLIR2/FLIR2_yolo_thermal/images/val test: G:/yolo_FLIR2/FLIR2_yolo_thermal/images/test# Classes names:0: person1: bike 2: car3: motor4: bus5: train6: truck7: light8: hydrant9: sign10: dog11: deer12: skateboard13: stroller 14: scooter 15: other vehicle
http://www.dnsts.com.cn/news/57422.html

相关文章:

  • 编程基础知识大全seo建站工具
  • 在线搭建网站安徽住房和城乡建设厅网站
  • 微信推送怎么做购物网站类似站酷的网站建站
  • 皇家梅陇公馆网站建设郑州网课老师
  • 南宁做网站外贸平台都有哪些
  • 家具做网站专业做网站排名多少钱
  • 给公司做网站需要什么给自己的网站做代言
  • 网站建设中 模版cms建站方案
  • 网站正在建设中 代码开一家网站建设公司
  • 做阿里网站保定seo推广公司
  • wordpress内容页自定义字段什么是搜索引擎优化seo
  • 深圳网站建设 罗湖取消网站备案
  • 做我的奴隶腾讯网站会计做帐模板网站
  • 廊坊做网站的哪最多网站支付链接怎么做
  • 湛江定制建站企业网站泉州网站制作维护
  • 怎样用word2003做网站怎么个人做网站
  • 深圳深度网站建设上海网站推广平台
  • 软件开放和网站开发永兴县网站建设哪家好
  • 网站建设与依法行政湛江网站建设公司哪家好
  • 网站域名价值查询工具自学网站建设多久
  • 保定建设银行网站首页丹阳网站建设哪家好
  • 建视频网站系统性价比最高网站建设
  • 融水县建设局网站唐山教育平台网站建设
  • 营销型网站建设公司哪家好门户网站建设评标办法
  • 岳阳市住房和城乡建设路网站做网站哪个软件好用
  • 怎么用wordpress建立本地网站免费响应式网站
  • 网站如何做视频教程好视频下载软件
  • 怎么做视频平台网站吗漳州专业网站建设价格
  • 1000元能否做网站wordpress ios
  • 手机网站模板 html5wordpress评论验证码