查看: 3944|回复: 7

角蜂鸟实例教程 > Python > 人脸识别器

[复制链接]

该用户从未签到

发表于 2018-8-6 09:16:34 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 cll826 于 2018-8-3 13:51 编辑

人脸识别器(双角蜂鸟集联教程)

人脸检测器 + 情景记录器 = 人脸识别器

本章为您介绍如何使用两个角蜂鸟基于人脸检测与情景记录器来实现人脸识别。

  • 注意:本范例需要同时运行两个角蜂鸟进行集联
  • 本教程基于Ubuntu 16.04系统

路径和文件

  • 人脸识别Python:SungemSDK/examples/python/FaceRecorder.py
  • 模型文件 - 检测:SungemSDK/examples/graphs/graph_face_SSD
  • 模型文件 - 识别:SungemSDK/examples/graphs/graph_face_rec

图像识别 Image Recognition

连接两个角蜂鸟后,在python目录下执行以下命令来启动 双角蜂鸟人脸识别 范例。

  1. ~/SungemSDK/examples/python$ python3 FaceRecorder.py
复制代码

运行后会出现窗口
Detection, 显示人脸检测结果。 如果检测到人脸, 会出现第二个窗口 Rec 指示录制目标。

人脸识别.png

单击 Detection 窗口, 按住 1 可将当前人脸录入至第一个存档中。将负责检测的角蜂鸟对准第二个人, 在Rec 窗口中出现第二个人后, 按住 2 可将第二人录入至第二个存档中。 之后按 r 即可实时训练出人脸分类器。

人脸识别2.png

识别结果将显示于人脸的检测框上。

键盘输入:

  • 1-9: 将录制框中人脸储存至1-9。
  • s: 将存档数据存储至指定路径。
  • l: 从指定路径读取存档数据,需与 numBin 符合。
  • p: 重置存档。
  • 注意:必须点击OpenCV窗口键盘输入才有效。

参数设置

初始化
  1. # Load device (载入双设备)

  2. # 第二个角蜂鸟设置deviceIdx为1,设置检测器 verbose = 0 来关掉检测相关的终端输出。
  3. net = hs.HS('FaceRec', zoom = True, verbose = 2)
  4. net2 = hs.HS('FaceDetector', deviceIdx = 1, zoom = True, verbose = 0, threshSSD=0.55)

  5. # Set camera mode (摄像头模式)
  6. if WEBCAM: video_capture = cv2.VideoCapture(0)
复制代码

两种模式(WEBCAM):

  • True时使用外接USB摄像头
  • False时使用角蜂鸟内置摄像头

人脸检测 + 识别
  1. while True:
  2.         if WEBCAM: _, img = video_capture.read()
  3.         else: img = None

  4.         # 利用第二个角蜂鸟的人脸检测网络得到检测结果
  5.         result = net2.run(img)

  6.         # 记录录制框中的人脸,设置存档数为5,设置人脸数据存档路径
  7.         key = cv2.waitKey(5)
  8.         if len(result[1]) > 0:
  9.                 box = result[1][0]
  10.                 if box[5] - box[3] > 10 or box[4] - box[2] > 10:               
  11.                         recCrop = result[0][box[3]:box[5],box[2]:box[4],:]
  12.                         face_res = net.run(recCrop)
  13.                         prob = net.record(face_res, key, saveFilename='../misc/face.dat', numBin = 5)


  14.         # 遍历所有检测框,利用第一个角蜂鸟的人脸识别网络返回框中的ID
  15.         for box in result[1]:
  16.                 cropped = result[0][box[3]:box[5],box[2]:box[4],:].copy()
  17.                 face_res = net.run(cropped)
  18.                 cv2.waitKey(20)
  19.                 prob = net.record(face_res, -1, saveFilename='../misc/face.dat', numBin = 5)

  20.                 # 输出ID在人脸框上
  21.                 if prob is not None:
  22.                         cv2.putText(result[0], '%d' % (prob.argmax() + 1), (box[2],box[3]-25),

  23.         # 画人脸检测结果
  24.         img = net2.plotSSD(result)
  25.         cv2.imshow('Detection', result[0])
  26.         try:
  27.                 # 画录制框
  28.                 cv2.imshow('Rec', recCrop)
  29.         except:
  30.                 pass
  31.         cv2.waitKey(1)
复制代码

产品购买链接:https://www.cirmall.com/shop/?c=products&a=view&id=5113









回复

使用道具 举报

  • TA的每日心情
    慵懒
    昨天 22:53
  • 签到天数: 1433 天

    连续签到: 12 天

    [LV.10]以坛为家III

    发表于 2018-8-6 12:10:32 | 显示全部楼层
    没申请到,看买个自己玩玩吧。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-2-27 22:16
  • 签到天数: 1568 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2018-8-6 22:18:26 | 显示全部楼层
    让我想起了银行
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2018-8-7 08:57:14 | 显示全部楼层
    tobot 发表于 2018-8-6 12:10
    没申请到,看买个自己玩玩吧。。。

    可以呀,有现货,随时可购买呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-16 17:48
  • 签到天数: 592 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2018-8-7 17:03:10 来自手机 | 显示全部楼层
    很牛逼,杠杠的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2018-8-8 17:52:52 | 显示全部楼层
    cll826 发表于 2018-8-7 08:57
    可以呀,有现货,随时可购买呢

    必须的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2018-8-8 17:55:30 | 显示全部楼层

    银行现在越来越智能,方便快捷!这些都离不开牛的产品
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 08:05 , Processed in 0.176318 second(s), 30 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.