qsxc

  • 2025-01-10
  • 发表了主题帖: [AI挑战营]基于Luckfox pico pro 的 Insightface 实现多人场景下人脸检测

    本帖最后由 qsxc 于 2025-1-12 22:29 编辑 # 基于Luckfox pico pro 的 Insightface 实现多人场景下人脸检测 ## 一、Insightface介绍 [Insight](https://github.com/deepinsight/insightface) 是一个开源的2D和3D深度人脸分析库,支持人脸检测、识别和对齐等功能。   在[开源示例](https://github.com/deepinsight/insightface/blob/master/examples/demo_analysis.py)中,通过Python实现了这些功能,主要流程是先进行人脸检测,然后对检测到的人脸进行识别。   Insightface 还提供了相应的[模型](https://github.com/deepinsight/insightface/tree/master/model_zoo)。   | Name           | Detection Model | Recognition Model   | Alignment    | Attributes | Model-Size | | -------------- | --------------- | ------------------- | ------------ | ---------- | ---------- | | antelopev2 | RetinaFace-10GF      | ResNet100@Glint360K | 2d106 & 3d68 | Gender&Age | 407MB | | buffalo_l      | RetinaFace-10GF      | ResNet50@WebFace600K | 2d106 & 3d68 | Gender&Age | 326MB | | buffalo_m      | RetinaFace-2.5GF     | ResNet50@WebFace600K | 2d106 & 3d68 | Gender&Age | 313MB | | buffalo_s      | RetinaFace-500MF     | MBF@WebFace600K | 2d106 & 3d68 | Gender&Age | 159MB | | buffalo_sc      | RetinaFace-500MF     | MBF@WebFace600K | - | - | 16MB | 可以看到,Insightface 在多人场景下的人脸检测和追踪中,首先调用 RetinaFace 进行检测,然后调用识别模型。针对不同内存的设备,Insightface 提供了不同大小的模型。   此外,Insightface 提供了跨平台的 [InspireFace](https://github.com/HyperInspire/InspireFace) C++ SDK,可以用于人脸识别应用的部署。目前该 SDK 已经支持 RV1106。 ## 二、RKNN介绍 [RKNN-Toolkit2](https://github.com/airockchip/rknn-toolkit2) 工具在 PC 平台上提供 C 或 Python 接口,简化模型的部署和运行。用户可以通过该工具轻松完成以下功能:模型转换、量化、推理、性能和内存评估、量化精度分析以及模型加密。RKNN 软件栈可以帮助用户快速的将 AI 模型部署到 Rockchip 芯片。 ## 三、思路 参考 InspireFace 中的示例以及 Luckfox 的 [rkmpi](https://github.com/LuckfoxTECH/luckfox_pico_rkmpi_example) 示例,在示例中Luckfox提供了rkmpi的历程以及InspireFace提供了运行人脸检测识别的历程,通过这些可以编写代码实现多人场景下的人脸检测、精度评分、准确度评估,并应用于智能多人监控系统。 ## 四、实际步骤 ### 1、板卡 首先,感谢 EEWorld 以及 Luckfox 提供本次活动所需的板卡。   拿到板卡后,首先根据 Luckfox 的[文档](https://wiki.luckfox.com/zh/Luckfox-Pico/Luckfox-Pico-quick-start/)安装摄像头并刷入 buildroot 镜像。   刷好镜像后,将板卡连接电脑 USB,通过 SSH 客户端使用 172.32.0.93:22 连接开发板。系统镜像默认存在 RTSP 程序,可以通过 rtsp://172.32.0.93/live/0 测试 RTSP 效果。   此外,可以参考 [rkmpi](https://github.com/LuckfoxTECH/luckfox_pico_rkmpi_example) 示例文档,测试 RKMPI 效果。 ### 2、编译 首先,感谢大佬开源的[测试代码](https://github.com/junanxia/rkface_insightface),在此代码中结合Insightface与Luckfox-SDK实现了人脸检测和识别的测试程序,通过这份代码即可实现Inspireface的多人场景检测。   将代码下载到本地后,使用 VSCode 打开。   将红色框部分修改为自己的[交叉编译链](https://wiki.luckfox.com/zh/Luckfox-Pico/Cross-Compile/)地址。   点击生成进行编译。   为了实现实际应用,可以对代码进行修改,例如作为一个智能监控系统,将实时追踪的数据保存到本地。可以加入以下代码: ```cpp std::ofstream file("detect.csv", std::ios::app); if (file.is_open()) {     file

  • 2024-11-21
  • 回复了主题帖: 入围名单公布:嵌入式工程师AI挑战营(进阶)的挑战者们,领取板卡啦

    个人信息已确认,领取板卡,可继续完成任务。

  • 2024-11-11
  • 回复了主题帖: 嵌入式工程师AI挑战营(进阶):在RV1106部署InsightFace算法的多人实时人脸识别实战

    -申请理由 挑战一下  -用自己的话:简述了解的InsightFace、如何在RV1106上部署InsightFace算法,实现多人实时人脸识别的思路 InsightFace是一个基于Pytorch和MXNet的2D/3D人脸分析项目,能够实现人脸识别、人脸检测和人脸对齐算法。利用项目所提供的代码,将待测试的MXNet模型转换为ONNX格式。接着,使用Netron工具验证该模型是否兼容RV1106平台,并将其进一步转换为RKNN模型,尝试在RV1106上进行部署。  -打算在RV1106 Linux开发板(带摄像头)部署什么应用?要求含InsightFace算法的多人实时人脸识别功能; 部署一套智能监控系统,该系统能够实时捕捉视频流,并利用InsightFace对视频中的人脸进行检测、识别和跟踪。采用这种方法,可以实现对特定特征的预警。

最近访客

< 1/1 >

统计信息

已有11人来访过

  • 芯积分:36
  • 好友:--
  • 主题:1
  • 回复:2

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言