yolo-face-with-landmark 复现+训练自己的数据

最近一直想做一个关键点检测的任务 但是由于技术差 yolov5-face一直没搞明白 无奈破罐破摔试了一下这个 居然让我跑出来了 可能因为它这个代码本身就比较简单(个人观点)好的 废话结束 现在开始

复现

源代码 源代码

环境配置

创建一个虚拟环境 python==3.6.5(3.7版本后面安装代码要求的Cython的时候有困难)
然后按照requirements.txt安装就可以了
人生经验:认真按照要求安装环境 不然真的什么奇葩bug都有 80%的bug都来自环境

数据准备
需要下载一个retinaface数据集
数据集链接:链接:https://pan.baidu.com/s/1Ygexkviq6FZY7PqESTe9nA
提取码:0909
下载好之后里面有一个文件夹 名字叫widerface 里面的内容就是我们需要用到的数据了
然后跟着代码 readme的内容 打开src/retinaface2yololandmark.py
在这里插入图片描述
修改路径 其中txt_path的路径就是widerface/train中的label.txt
save_path 就是你希望训练的数据应该放在哪里 可以自己定义 这个文件夹是根据你写的地址代码生成的 所以不需要事先创建文件夹

运行代码retinaface2yololandmark.py
生成的yololandmark_winder_train中训练需要的文件(文件名你也可以自己取)
在这里插入图片描述
每一个jpg文件后面加一个同名的txt文件就是它的标签文件
标签由15个数字组成 类别(0) 矩形框的属性数据(x,y,w,h)五个关键点的坐标(x,y)

然后打开src/create_train.py 这个代码用来生成train.txt文件
在这里插入图片描述
修改路径 root是之前上一阶段存放训练文件的文件夹的地址
生成的txt文件的地址 和训练文件夹放在同一个大文件夹中
运行代码 生成wider_landmark98_yolo_train.txt
在这里插入图片描述
至此数据准备部分就没了

测试和验证:
接下来 就是跟着readme弄就行了
验证会生成txt文件 里面是包含预测信息的txt
在这里插入图片描述
修改路径 就可以啦
结果长这样:
在这里插入图片描述
测试的话 运行demo.py 修改地址
在这里插入图片描述
在这里插入图片描述
测试 的时候代码报错说权重文件不存在
将last.pt改成final就行了 (我也不知为什么last文件不能用)
在这里插入图片描述

训练
在这里插入图片描述
在train.py的这一部分修改train_path 就可以了
终端运行语句:python train.py --net mbv3_large_75 --backbone_weights \ ./pretrained/mobilenetv3-large-0.75-9632d2a8.pth --batch-size 8

训练自己的数据

训练自己的数据 还是要修改一些地方的 因为我是训练三个关键点 所以做了一些改动 训练五个关键点的话 我觉得只需要将自己的数据弄好然后修改路径就可以了
好的 还是先处理数据
*数据处理
labelme标注
标注一个框 框住物体
create point 标注关键点
在这里插入图片描述
将生成的jsons文件 放在一个文件夹里面
生成retinaface的label.txt格式的文件
我自己写了一个代码 可以参考一下 (要将每个不同标签的关键点单独处理)

import os
import json

data_dir = 'D:/Desktop/label/new_jsons/'  #存放json文件的文件夹
all_json = os.listdir(data_dir)

with open("D:/Desktop/label/label.txt", "w") as f:

    for j_name in all_json:
        if j_name.split('.')[1] == 'json':
            pic_name = j_name.split('.')[0]
        else
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 27
    评论
【项目介绍】 基于OpenCV部署yolov8的人脸检测+关键点检测源码(python和c++版本,可换成车牌检测4个角点).zip基于OpenCV部署yolov8的人脸检测+关键点检测源码(python和c++版本,可换成车牌检测4个角点).zip基于OpenCV部署yolov8的人脸检测+关键点检测源码(python和c++版本,可换成车牌检测4个角点).zip基于OpenCV部署yolov8的人脸检测+关键点检测源码(python和c++版本,可换成车牌检测4个角点).zip基于OpenCV部署yolov8的人脸检测+关键点检测源码(python和c++版本,可换成车牌检测4个角点).zip 基于OpenCV部署yolov8的人脸检测+关键点检测源码(python和c++版本,可换成车牌检测4个角点).zip 基于OpenCV部署yolov8的人脸检测+关键点检测源码(python和c++版本,可换成车牌检测4个角点).zip基于OpenCV部署yolov8的人脸检测+关键点检测源码(python和c++版本,可换成车牌检测4个角点).zip 【备注】 1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载食用体验! 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值