3738|0

418

帖子

10

TA的资源

一粒金砂(高级)

楼主
 

嵌入式工程师AI挑战营RV1106人脸识别+流水记录(4) [复制链接]

本帖最后由 90houyidai 于 2024-12-15 11:29 编辑

上一篇已经将LuckFox这边的跑通了,板上推理可能还欠缺一点

下面看是跑Insightface,为了方便我将InsightFace的环境与RKNN-Toolkit2的环境搭在一起,方便之后模型的转换

首先,依然是环境搭建,又是一通PIP,刚开始是安装这个使用insightface实现人脸检测和人脸识别-物联沃-IOTWORD物联网进行搭建的

  • pip install -U insightface -i https://pypi.tuna.tsinghua.edu.cn/simple/
  • pip install onnxruntime -i https://pypi.tuna.tsinghua.edu.cn/simple/
  • onnxruntime-gpu 或者onnxruntime 选择GPU或者CPU

环境搭建好了就是下载InsightFace工程

  • git clone https://github.com/deepinsight/insightface

\insightface\python-package 文件夹中有个Readme文件

参照说明建立测试PY文件

  • import cv2
  • import numpy as np
  • import insightface
  • from insightface.app import FaceAnalysis
  • from insightface.data import get_image as ins_get_image
  • app = FaceAnalysis(allowed_modules=['detection'],providers=['CUDAExecutionProvider', 'CPUExecutionProvider'])
  • print("prepare::::")
  • app.prepare(ctx_id=0, det_size=(640, 640))
  • img = ins_get_image('t1') #不用带后缀,图片放到./insightface/python-package/insightface/data/images
  • faces = app.get(img)
  • print("faces::::", faces)
  • rimg = app.draw_on(img, faces)
  • cv2.imwrite("./ldh_output.jpg", rimg)
  • handler = insightface.model_zoo.get_model('/home/ubuntu/.insightface/models/buffalo_l/w600k_r50.onnx', providers=['CUDAExecutionProvider', 'CPUExecutionProvider'])
  • handler.prepare(ctx_id=0)
  • img = ins_get_image('t1')
  • feature = handler.get(img, faces[0])
  • print("size of feature:", len(feature))
  • print("feature:", feature)
  • feature = handler.get(img, faces[1])
  • print("size of feature:", len(feature))
  • print("feature:", feature)

运行后就可以在当前路径下得到一张输出图片,其将图片中的人脸全部框出,并标记人脸识别点

第一次运行会比较慢,通过输出可以看到是在下载模型(此步不确定,回忆不起来了)
模型使用的是buffalo_l模型,路径在~/.insightface/models/下,需要打开隐藏才能看到
  • 可以在测试文件开头选择所使用的模型:antelopev2、buffalo_l、buffalo_m、buffalo_s、buffalo_sc
  • ```
  • model_pack_name = 'buffalo_l'
  • app = FaceAnalysis(name=model_pack_name)
  • ```

从log上可以看出每个模型的功能

1k3d68是检测人脸3D特征的
2d106det是检测人脸2D特征的
det_10g是检测人脸的
genderage是检测人脸年龄和性别的
w600k_r50是检测人脸embedding特征的
find model: /home/ubuntu/.insightface/models/buffalo_l/det_10g.onnx              模型名称model.taskname
detection            功能
 [1, 3, '?', '?']      model.input_shape,
127.5                 model.input_mean,                  
128.0                 model.input_std
                                                                                                                        ,                               
(insightface_chw) ubuntu@ubuntu:~/insightface/python-package$ python3 test1.py 检测和识别,返回512维数据
{'bbox': array([466.0821 , 268.6164 , 573.58923, 415.5331 ], dtype=float32),
 'kps': array([[491.85046, 321.8314 ],[541.85266, 332.11188],[507.67114, 366.41312],[485.91965, 369.691  ],[533.74945, 378.3811 ]], dtype=float32), 
 'det_score': 0.9196533},
bbox为人脸框坐标
kps为关键点坐标
det_score为检测分数
 
至此,insightface算是测试好了,下面就想怎样将insightface与luckfox结合了
 

 

 

 

点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
有奖直播:当AI遇见仿真,会有什么样的电子行业革新之路?
首场直播:Simcenter AI 赋能电子行业研发创新
直播时间:04月15日14:00-14:50

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 2

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表