运用yolov5人脸识别模型生成标准的一寸照视频

该博客介绍了如何利用YOLOv5模型进行人脸识别,将视频拆分为图片,然后对图片中的人脸进行一寸照裁剪,并最终将裁剪后的图片合成新的视频。首先,博主使用widerface数据集训练了YOLOv5模型。接着,将视频转换为图片并逐帧进行人脸检测。通过识别框坐标进行裁剪,调整尺寸符合一寸照标准。最后,将裁剪后的图片重新组合成视频,完成人脸一寸照的视频制作。

前段时间导师布置了一个人脸识别一寸照片的任务,给大家顺便分享一下如何使用yolov5(v6.1)训练好的face模型应用到简单的视频一寸照裁剪上。

我们可以把任务拆分成四步:
一:用widerface数据集在yolov5上训练出模型
二:将待测的视频逐帧转化为图片
三:用人脸识别模型对图片识别,并且进行一寸照人脸的裁剪,保存为新的图片
四:把生成的图片再转换为视频

一:用widerface数据集在yolov5上训练出模型

训练模型用的是widerface数据集,将数据集转换成YOLO格式之后,修改对应的配置文件,就可以开始训练了。这里我用我自己训练好的模型best.pt来进行测试。

二:将待测的视频逐帧转化为图片

首先我们要将一段视频拆分成图片,视频的帧率就是每秒播放多少张图片。
我找了一段有14秒的夸张人脸的视频,定为face.mp4 ,视频效果如下:

face

在这里插入图片描述

然后用以下video2jpg.py脚本,将videopath下的MP4文件转化成out_path下的jpg图片

from cv2 import VideoCapture
from cv2 import imwrite

# 定义保存图片函数
# image:要保存的图片名字
# addr;图片地址与相片名字的前部分
# num: 相片,名字的后缀。int 类型
def save_image(image, addr, num):
    address = addr + str(num) + '.jpg'
    imwrite(address, image)


if __name__ == '__main__':

    video_path = "/mnt/4T/ym2/projects/yolo-max/yo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值