动手实践:利用yolo v2 实现端到端的人脸识别

    利用的神经网络的人脸识别,一般的处理流程顺序是人脸检测->人脸对齐->CNN抽取特征->分类器(如SVM)处理->结果。人脸检测、人脸对齐属于预处理阶段,目的是提取图片中人脸的像素区域,然后送入CNN;CNN将图片处理成特征向量,最后输送给分类器进行训练或者识别。具体可以参考http://github.com/cmusatyalab/openface/。

        以上的人脸识别的过程,涉及到dlib人脸对齐、CNN卷积神经网络、sklearn的线性分类器等,如果是在PC机上,很容易安装相应的库来实现。但是如果要将人脸识别的过程在嵌入式板子上实现,就会发现以上过程繁琐,移植困难。

        yolo是一个端到端 、实时的、物体识别的神经网络,不仅可以检测物品类别,而且可以回归出物体位置(bounding box)。本例中正是利用yolo的这些特点,去掉预处理和后处理阶段,只需CNN神经网络,实现了端到端的人脸识别。

1.  首先搭建yolo v2,GPU版本,参考我的博客 https://mp.csdn.net/postedit/79452204。

2.  创建数据集合文件夹,结构参考VOC数据集,如VOC2007,目录结构如下:

    --VOC2007  
        --Annotations  
        --ImageSets  
          --Main  
          --Layout  
          --Segmentation  
        --JPEGImages  
        --SegmentationClass  
        --SegmentationObject  
        --labels

 

 

 

        3.采集每个人的头像,放在JPEGImages文件夹中:

我是每个采集了50张,4个人,一个工200张图片。

4.用labelImg标注每一个人,即用矩形框圈出人脸的位置,以及记录是谁(人的名字)。

(1)下载labellmg

链接: https://pan.baidu.com/s/1_0fn4ql_yCvAa9r5ioIUWw 密码: 54rt

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
YOLO(You Only Look Once)是一种基于深度学习的目标检测算法,可以用于实现人脸识别和目标跟踪。下面分别介绍如何使用YOLO进行人脸识别和目标跟踪。 1. 人脸识别: - 准备训练数据:收集包含人脸的图像数据集,并进行标注,标注每个人脸的边界框位置。 - 训练YOLO模型:使用收集的数据集训练YOLO模型,通过学习人脸的特征和位置信息,使模型能够准确地检测和识别人脸。 - 进行人脸检测:使用训练好的YOLO模型对输入图像进行人脸检测,得到人脸的边界框位置。 - 人脸识别:对于检测到的人脸,使用人脸识别算法(如基于深度学习的人脸特征提取和匹配)进行人脸识别,将其与已知的人脸进行比对和匹配。 2. 目标跟踪: - 准备训练数据:收集包含目标对象(如车辆、行人等)的视频序列数据集,并进行标注,标注目标对象在每个帧中的边界框位置。 - 训练YOLO模型:使用收集的数据集训练YOLO模型,通过学习目标对象的特征和位置信息,使模型能够准确地检测和跟踪目标对象。 - 进行目标检测和跟踪:使用训练好的YOLO模型对视频帧进行目标检测,得到目标对象的边界框位置。然后,利用跟踪算法(如卡尔曼滤波器、光流法等)根据前一帧的跟踪结果,结合当前帧的检测结果,进行目标跟踪,更新目标对象的位置信息。 需要注意的是,YOLO是一种通用的目标检测算法,可以用于检测和识别多个类别的目标,包括人脸。对于人脸识别和目标跟踪任务,可以根据具体需求进行数据准备、模型训练和算法调整等工作。此外,还可以使用其他深度学习模型和算法(如基于卷积神经网络的人脸识别模型、单目标跟踪算法等)来完成人脸识别和目标跟踪任务。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值