paddle - crowdHuman数据集训练人体识别模型
paddle - crowdHuman数据集训练人体识别模型
- 数据集annotation
- crowdhuman的odgt文件各项意义
- 转换为paddle yolo的格式
- 输入哪些数据?
- 输出模型
数据集annotation
使用paddle paddle yolo v3的模型,将这个数据集的json内容转换为xml格式。
crowdhuman的odgt文件各项意义
参考官网:http://www.crowdhuman.org/download.html
但说得并不明确,这里对照图片总结了一下:
JSON{"ID" : image_filename, ---> filename"gtboxes" : [gtbox], ---> gtbox框列表
}gtbox{"tag" : "person" or "mask", ---> mask表示是人群,或者反光,或者像人的东西,需要被忽略的数据,此时extra中的ignore = 1"vbox": [x, y, w, h], ---> visible box,可看见的部分的检测框,框坐标为左上角x,y + weight, height"fbox": [x, y, w, h], ---> full box,预测的全部的检测框,当extra的occ == 0时, 这个值和vbox相等"hbox": [x, y, w, h], ---> head box,预测头的部分的检测框"extra" : extra, ---> person额外描述"head_attr" : head_attr, ---> head额外描述
}extra{ ---> 内容均为可选项"ignore": 0 or 1, ---> 对应上述mask,ignore = 1"box_id": int, ---> 当前gtbox的id"occ": int, ---> 图像是否有遮挡, =1有遮挡
}head_attr{ ---> 内容均为可选项"ignore": 0 or 1, ---> 未知?"unsure": int, ---> 图像是否不确定(置信度低)"occ": int, ---> 同上
}
转换为paddle yolo的格式
输入哪些数据?
一开始:
- box分为三类,只用于摄像头采集的场景
- ignore = 1,unsure = 1时, 不使用这个box
- 遮挡:一开始occ = 1也输入,发现效果不好,loss不下降,不使用
- 分辨率:数据集中很多人群图片,box像素太少的,不使用
发现loss一直不下降,怀疑是数据集问题。再看了下这个odgt文件中的数据,发现occ为0时,fbox和vbox相等。
于是:
- 分为两类,head and body,只输入vbox和hbox
- ignore/ unsure == 1时,对应的vbox/hbox忽略
- head_attr的occ==1时,忽略hbox
- 图片先缩放为XXX*480的大小,再根据缩放后的box,过滤较小尺寸的box。
- 发现剩下的图片里,有很多人体重合度高的情形,因此再过滤次小尺寸,且occ==1的vbox
- 调整尺寸过滤的阈值,使最终的总boxes里,两类样本数量接近。
剔除后,验证集acc在85左右就不能提升了,loss也很高。另外一个使用项目场景的图片训练的人脸识别模型,效果就非常好,实际使用到项目时,还是以项目场景的图片作训练效果最好,同时要剔除那些可能存在干扰的项。
输出模型
yolo模型的输入图片像素需要为32的倍数。采用192*192,384*384等分辨率freeze模型。较小的输入图像速度会快很多,相较之下会损失检测框精度,最主要的是画面中较小目标的识别能力。因此输入图像分辨率也是根据实际情况来权衡。
paddle - crowdHuman数据集训练人体识别模型相关推荐
- tensorflow精进之路(二十五)——Object Detection API目标检测(下)(VOC数据集训练自己的模型进行目标检测)
1.概述 上一讲,我们使用了别人根据COCO数据集训练好的模型来做目标检测,这一讲,我们就来训练自己的模型. 2.下载数据集 为了方便学习,我们先使用别人整理好的数据集来训练---VOC 2012数据 ...
- Win10+YOLOv4/v3用yolo_mark标记数据集 训练自己的模型
Win10+Yolov4用yolo_mark标记数据集 训练自己的模型 文章目录 1. 前言 2. darknet 3. yolo_mark 3.1 yolo_mark和opencv的下载 3.2 y ...
- Keras之DNN:利用DNN算法【Input(8)→12+8(relu)→O(sigmoid)】利用糖尿病数据集训练、评估模型(利用糖尿病数据集中的八个参数特征预测一个0或1结果)
Keras之DNN:利用DNN算法[Input(8)→12+8(relu)→O(sigmoid)]利用糖尿病数据集训练.评估模型(利用糖尿病数据集中的八个参数特征预测一个0或1结果) 目录 输出结果 ...
- MSCOCO数据集转VOC数据集训练目标检测模型
MSCOCO数据集转VOC数据集训练目标检测模型 Images 2014 Train images [83K/13GB] 2014 Val images [41K/6GB] 2014 Test ima ...
- 基于TensorFlow训练花朵识别模型的源码和Demo
基于TensorFlow训练花朵识别模型的源码和Demo 转发来源: https://blog.csdn.net/Anymake_ren/article/details/80550684 下面就通过对 ...
- 利用PaddleOCR训练车牌识别模型
目录 1--前言 2--生成车牌数据集 3--构建车牌数据集标签 4--自定义字典 5--训练模型 6--模型转换和推理 7--模型转换为onnx模型 8--参考 1--前言 ①系统:Ubuntu18 ...
- Python+OpenCV实现AI人脸识别身份认证系统(3)—训练人脸识别模型
目录 案例引入 本节项目 最近有小伙伴们一直在催本项目的进度,好吧,今晚熬夜加班编写,在上一节中,实现了人脸数据的采集,在本节中将对采集的人脸数据进行训练,生成识别模型. 案例引入 首先简要讲解数据集 ...
- python实现人脸检测及识别(2)---- 利用keras库训练人脸识别模型
前面已经采集好数据集boss文件夹存放需要识别的对象照片,other存放其他人的训练集照片,现在,我们终于可以尝试训练我们自己的卷积神经网络模型了.CNN擅长图像处理,keras库的tensorflo ...
- 利用COCO API测试自己数据集训练的YOLOv3模型的mAP(VOC格式数据集)
目录 工具 前言 生成标注集的json文件 数据集准备 将voc注解格式数据集的注解转换成txt注解格式 自定义数据集的注解转换成coco的注解格式 生成结果集的json文件 安装darknet 获取 ...
最新文章
- 2021年大数据Kafka(二):❤️Kafka特点总结和架构❤️
- 关于Enterprise Library 两个网占.
- 爱立信将在加拿大建立人工智能实验室
- java swt webkit_使用Java和Webkit的HTML编辑器 – SWT浏览器
- mysql中怎么删除表中的一列数据_mysql如何删除表中一行数据?
- 【数据结构与算法】之深入解析“排列硬币”的求解思路与算法示例
- 自下而上归并排序 数组实现
- python学习笔记(四):函数
- 解决cc1plus.exe: out of memory allocating bytes
- spark 上游rdd的缓存
- 轻量级数据交换格式JSON
- 简单的NLPIR分词 JAVA 实现
- chrome没有注册类解决
- 从等待顾客注册会员到寻找潜在会员,会员管理系统是如何治愈“守株待兔”
- PATA 1093 有几个PAT
- 拥有多重人格的他,可能是个裂脑人
- 【收藏】HUE配置HDFS报错Cannot access: /. The HDFS REST service is not available. “ ““
- git常用操作及原理--本地
- 谁说菜鸟不会数据分析-入门篇
- windows相关命令