<p align="center">
<a href="https://gitee.com/CV_Lab/face-labeling">
<img src="https://pycver.gitee.io/ows-pics/imgs/facelabeling_logo.png" alt="Simple Icons" >
</a>
<p align="center">
基于YOLOv5的智能人脸数据标注工具,实现人脸数据标注自动化
</p>
<p align="center">
可自定义人脸检测模型、可导出多种格式标签,包括PASCAL VOC XML、MS COCO JSON、YOLO TXT
</p>
</p>
### 📌 项目整体流程与扩展应用
<div align="center" >
<img src="https://pycver.gitee.io/ows-pics/imgs/face_labeling_work_flow.png">
</div>
### 📌 项目功能结构与信息流
<div align="center" >
<img src="https://pycver.gitee.io/ows-pics/imgs/face_labeling_work_io.png">
</div>
<h2 align="center">💡项目结构</h2>
```
.
├── face-labeling # 项目名称
│ ├── util # 工具包
│ │ ├── voc_xml.py # PASCAL VOC XML
│ │ ├── coco_json.py # MS COCO JSON
│ │ ├── yolo_txt.py # YOLO TXT
│ │ ├── model_opt.py # 模型管理
│ │ ├── obj_opt.py # 目标管理
│ │ ├── path_opt.py # 路径管理
│ │ ├── log.py # 日志管理
│ │ └── time_format.py # 日期格式化
│ ├── data # 测试数据
│ │ └── imgs # 测试图片,来源于WIDER FACE Test
│ ├── models # 模型Hub
│ │ ├── readme.md # 模型Hub README
│ │ ├── *.pt # PyTorch模型
│ │ └── *.onnx # ONNX模型
│ ├── face_labeling.py # 主运行文件
│ ├── LICENSE # 项目许可
│ ├── CodeCheck.md # 代码检查
│ ├── .gitignore # git忽略文件
│ ├── yolov5_widerface.md # 基于YOLOv5的人脸检测模型的构建
│ ├── yolov5_pytorch_gpu.md # YOLOv5 PyTorch GPU安装教程
│ ├── README.md # 项目说明
│ └── requirements.txt # 脚本依赖包
```
<h2 align="center">🔥安装教程</h2>
### ✅ 第一步:安装Face Labeling
📌 创建conda环境
```shell
conda create -n facelabel python==3.8
conda activate facelabel # 进入环境
```
📌 克隆
```shell
git clone https://gitee.com/CV_Lab/face-labeling.git
```
### ✅ 第二步:安装Face Labeling依赖
```shell
cd ./face-labeling
conda activate facelabel # 进入环境
pip install -r requirements.txt -U
```
📌 将人脸模型文件(.pt)放入`models` 目录中
❗ 注意:yolov5默认采用pip安装PyTorch GPU版,如果采用官网安装**PyTorch GPU**版,参见[YOLOv5 PyTorch GPU安装教程](./yolov5_pytorch_gpu.md)
### ✅ 基于YOLOv5的人脸检测模型的构建
📌 **widerface-m人脸检测模型**是在[WIDER FACE](http://shuoyang1213.me/WIDERFACE/)数据集上,基于[YOLOv5 v6.1](https://github.com/ultralytics/yolov5)训练的,具体训练过程参见[yolov5_widerface.md](./yolov5_widerface.md)
📌 **darkface-m人脸检测模型**是在[DARK FACE](https://flyywh.github.io/CVPRW2019LowLight/)数据集上,基于[YOLOv5 v6.1](https://github.com/ultralytics/yolov5)训练的,具体训练过程参见[yolov5_darkface.md](./yolov5_darkface.md)
❤️ 本项目提供了以下人脸检测模型:
| 模型名称 | 下载地址 | 模型大小 | 适用范围 | 适用设备 |
| :---------: | :---------------------------------------------------------------: | :----: | :------: | :--: |
| widerface-m | [百度云](https://pan.baidu.com/s/19cIqLc05EbyxxEVMX7Lr3g) , 提取码:5gfs | 42.1MB | 实时,图片,视频 | GPU |
| darkface-m | [百度云](https://pan.baidu.com/s/1B_Di3eleWZjHFAt3xXd9Og) , 提取码:mm2k | 42.2MB | 实时,图片,视频 | GPU |
<h2 align="center">⚡使用教程</h2>
### 💡 webcam实时标注
```shell
# a键捕获视频帧,q键退出
python face_labeling.py
```
### 💡 图片标注(包括批量图片标注)
```shell
python face_labeling.py -m img # 默认测试图片目录data/imgs
python face_labeling.py -m img -imd ./img_dir # 指定图片目录
```
❗ 注:本项目支持的图片输入格式:**jpg** | **jpeg** | **png** | **bmp** | **tif** | **webp**
### 💡 视频标注(包括批量视频标注)
```shell
python face_labeling.py -m video # 默认测试视频目录data/videos
python face_labeling.py -m video -vd ./video_dir # 指定视频目录
```
❗ 注:本项目支持的视频输入格式:**mp4** | **avi** | **wmv** | **mkv** | **mov** | **gif** | **vob** | **swf** | **mpg** | **flv** | **3gp** | **3g2**
❗ 说明:以上三种检测模式都会在项目根目录中生成`FaceFrame`目录,该目录会生成`frame*`的子目录,子目录结构如下:
```
# webcam和图片标注的目录
.
├── FaceFrame # 人脸数据保存目录
│ ├── frame # 子目录
│ │ ├── raw # 原始图片
│ │ ├── tag # 标记图片(包括:人脸检测框、人脸ID、置信度、帧ID、FPS、人脸总数,人脸尺寸类型(小、中、大)数量)
│ │ ├── voc_xml # PASCAL VOC XML 标注文件
│ │ ├── coco_json # MS COCO JSON 标注文件
│ │ ├── yolo_txt # YOLO TXT 标注文件
│ ├── frame2 # 子目录
│ │ ├── raw # 原始图片
│ │ ├── ......
```
```
# 视频标注的目录
.
├── FaceFrame # 人脸数据保存目录
│ ├── frame # 子目录
│ │ ├── video_name01 # 子视频目录
│ │ │ ├── raw # 原始图片
│ │ │ ├── tag # 标记图片(包括:人脸检测框、人脸ID、置信度、帧ID、FPS、人脸总数,人脸尺寸类型(小、中、大)数量)
│ │ │ ├── voc_xml # PASCAL VOC XML 标注文件
│ │ │ ├── coco_json # MS COCO JSON 标注文件
│ │ │ ├── yolo_txt # YOLO TXT 标注文件
│ │ ├── video_name02 # 子视频目录
│ │ │ ├── raw # 原始图片
│ │ │ ├── ......
```
❗ 查看检测结果:人脸图片检测结果会保存在`FaceFrame/frame*/tag`中,以`python face_labeling.py -m img`为例运行项目自带检测图片,检测结果如下:
<div align="center" >
<img src="https://pycver.gitee.io/ows-pics/imgs/widerface_m_img.jpg">
</div>
<div align="center" >
widerface-m检测结果
</div>
### 💡 自定义人脸模型
```shell
# 默认为widerface-m
python face_labeling.py -mn face_model # 以实时标注为例
python face_labeling.py -mn darkface-m # 以实时标注为例,darkface-m.pt
```
### 💡 自定义类别
```shell
# 默认为face,以口罩识别为例
python face_labeling.py -cls mask # 口罩类
python face_labeling.py -cls without-mask # 未戴口罩类
```
### 💡 自定义模型参数
```shell
# 可以根据自定义人脸模型进行相应的调参,以实时标注为例
# 自定义设备,默认为cuda:0
python face_labeling.py
python face_labeling.py -dev 0 # cuda:0版
python face_labeling.py -dev cpu # cpu版
# NMS 置信度阈值,默认为0.5
python face_labeling.py -conf 0.8
# NMS IoU阈值,默认为0.45
python face_labeling.py -iou 0.5
# 单张图片的最大检测目标数,默认为1000
python face_labeling.py -mdn 10
# 以上参数也可以同时使用,例如:
python face_labeling.py -conf 0.8 -iou 0.5
python face_labeling.py -conf 0.8 -iou 0.5 -mdn 10
# 模型推理尺寸
python face_labeling.py -isz 320
# 强制重载YOLOv5
python face_labeling.py -ry
```
### 💡 设置标签样式
```shell
# 以实时标注为例
python face_labeling.py -ls id # 标签仅显示ID
python face_labeling.py -ls conf # 标签仅显示置信度(%)
```
<div align="center" >
<img src="https://pycver.gitee.io/ows-pics/imgs/fa
没有合适的资源?快使用搜索试试~ 我知道了~
基于YOLOv5的智能人脸数据标注工具源码,实现人脸数据标注自动化,可导出PASCAL VOC XML、MS COCO JSON
共30个文件
py:11个
md:8个
jpg:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 3 下载量 186 浏览量
2023-01-06
16:25:16
上传
评论 1
收藏 2.21MB ZIP 举报
温馨提示
基于YOLOv5的智能人脸数据标注工具,实现人脸数据标注自动化 可自定义人脸检测模型、可导出多种格式标签,包括PASCAL VOC XML、MS COCO JSON、YOLO TXT
资源推荐
资源详情
资源评论
收起资源包目录
face-labeling-master.zip (30个子文件)
face-labeling-master
__init__.py 40B
data
videos
face_test.mp4 1.56MB
video_readme.md 357B
imgs
35_Basketball_basketballgame_ball_35_572.jpg 69KB
33_Running_Running_33_103.jpg 116KB
0_Parade_marchingband_1_170.jpg 143KB
22_Picnic_Picnic_22_106.jpg 152KB
38_Tennis_Tennis_38_111.jpg 65KB
12_Group_Group_12_Group_Group_12_3.jpg 85KB
LICENSE 34KB
yolov5_pytorch_gpu.md 2KB
v03.md 194B
yolov5_widerface.md 8KB
.pre-commit-config.yaml 2KB
face_labeling.py 26KB
yolov5_darkface.md 5KB
CodeCheck.md 1KB
requirements.txt 1KB
models
readme.md 163B
setup.cfg 2KB
util
yolo_txt.py 1017B
coco_json.py 5KB
model_opt.py 2KB
time_format.py 1KB
voc_xml.py 3KB
log.py 598B
path_opt.py 768B
args_yaml.py 318B
obj_opt.py 544B
README.md 9KB
共 30 条
- 1
资源评论
- --钰涵�2024-03-18资源很受用,资源主总结的很全面,内容与描述一致,解决了我当下的问题。
- 老六0072023-03-30这个资源对我启发很大,受益匪浅,学到了很多,谢谢分享~
- m0_570050722024-03-03总算找到了自己想要的资源,对自己的启发很大,感谢分享~
Python代码大全
- 粉丝: 2729
- 资源: 688
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功