IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> PaddleDetection代码分析和训练数据集(1) -> 正文阅读

[人工智能]PaddleDetection代码分析和训练数据集(1)

2021SC@SDUSC

paddledetection作为国内出名的应用于目标检测框架,想要搞明白并不是一件非常容易的事,在分析代码之前,要首先知道如何使用它

举个例子 我们现在有一份数据集 我们需要训练这份数据集 该怎么办呢

方法如下:

1.转换格式 将这份数据集的格式转换成我们的PaddleDetection可以操作的格式,比如COCO或VOC数据集格式

如果需要转化的数据集格式是labelme或者cityscape的 一般使用x2coco.py(在tools目录下)来转化成coco格式

问题1:如何判断自己得到数据集格式?

labelme数据集


打开预先准备好的数据集,如果文件目录为?

?这就是labelme格式的数据集 其中image放的原始图片 label放的二值化灰度图(举个例子)

image的png图? ? ? ? ? ? ? ? ? ? ? ? ? ?

对应的label

?cityscape数据集?

? 对应目录? 里面内容不再赘述 小白如果不知道可以去搜索

?

?问题2:如何开始转换?

找到x2coco.py所在路径 在此处资源管理器执行cmd

?执行以下命令

python ./ppdet/data/tools/x2coco.py \
? ? ? ? ? ? ? ? --dataset_type labelme \
? ? ? ? ? ? ? ? --json_input_dir ./labelme_annos/ \
? ? ? ? ? ? ? ? --image_input_dir ./labelme_imgs/ \
? ? ? ? ? ? ? ? --output_dir ./cocome/ \
? ? ? ? ? ? ? ? --train_proportion 0.8 \
? ? ? ? ? ? ? ? --val_proportion 0.2 \
? ? ? ? ? ? ? ? --test_proportion 0.0 \

--dataset_type:需要转换的数据格式,目前支持:'labelme'和'cityscape'
--json_input_dir:使用labelme标注的json文件所在文件夹
--image_input_dir:图像文件所在文件夹
--output_dir:转换后的COCO格式数据集存放位置
--train_proportion:标注数据中用于train的比例
--val_proportion:标注数据中用于validation的比例
--test_proportion:标注数据中用于infer的比例
此处参考大佬

VOC数据集所必须的文件内容如下所示,数据集根目录需有VOCdevkit/VOC2007或VOCdevkit/VOC2012文件夹,该文件夹中需有Annotations,JPEGImages和ImageSets/Main三个子目录,Annotations存放图片标注的xml文件,JPEGImages存放数据集图片,ImageSets/Main存放训练trainval.txt和测试test.txt列表。

? VOCdevkit
? ├──VOC2007(或VOC2012)
? │ ? ├── Annotations
? │ ? ? ? ├── xxx.xml
? │ ? ├── JPEGImages
? │ ? ? ? ├── xxx.jpg
? │ ? ├── ImageSets
? │ ? ? ? ├── Main
? │ ? ? ? ? ? ├── trainval.txt
? │ ? ? ? ? ? ├── test.txt

执行以下脚本,将根据ImageSets/Main目录下的trainval.txt和test.txt文件在数据集根目录生成最终的trainval.txt和test.txt列表文件:

python dataset/voc/create_list.py -d path/to/dataset


2.选择模型

根据需求选择一个合适的模型

PaddleDetection中提供了丰富的模型库,具体可在模型库中查看各个模型的指标,您可依据实际部署算力的情况,选择合适的模型:

算力资源小时,推荐您使用移动端模型,PaddleDetection中的移动端模型经过迭代优化,具有较高性价比。
算力资源强大时,推荐您使用服务器端模型,该模型是PaddleDetection提出的面向服务器端实用的目标检测方案。
同时也可以根据使用场景不同选择合适的模型:

当小物体检测时,推荐您使用两阶段检测模型,比如Faster RCNN系列模型,具体可在模型库中找到。
当在交通领域使用,如行人,车辆检测时,推荐您使用特色垂类检测模型。
当在竞赛中使用,推荐您使用竞赛冠军模型CACascadeRCNN与OIDV5_BASELINE_MODEL。
当在人脸检测中使用,推荐您使用人脸检测模型。
同时也可以尝试PaddleDetection中开发的YOLOv3增强模型、YOLOv4模型与Anchor Free模型等。
?

剩下两个步骤在我的下一篇博客中 此处开始分析已经看的源码

因为我负责分析的是特色垂类检测模型

包含的车辆检测和行人检测是使用了YOLOv3算法的 因此在此分析此算法源码

1

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:31:30  更:2021-10-11 17:32:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/22 7:31:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码