嵌入式工程师AI挑战营(进阶):在RV1106部署InsightFace算法的多人实时人脸识别实战
<div><a href="https://bbs.eeworld.com.cn/thread-1299789-1-1.html" target="_blank"><span style="color:#e74c3c;"><img height="49" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/wanwan034.gif" width="66" />入围名单公布:嵌入式工程师AI挑战营(进阶)的挑战者们,领取板卡啦 </span></a></div><div> </div>
<div>
<hr />
<p> </p>
</div>
<div> </div>
<div>上一期大家<a href="https://bbs.eeworld.com.cn/thread-1286940-1-1.html">动手挑战部署MNIST实时手写数字识别</a></div>
<div>最后阶段,在@knv、@luyism两位网友带领下,大部分挑战网友成功上岸</div>
<div>这次,邀大家挑战一个略复杂的模型:人脸识别</div>
<div><strong>人脸识别是由几个模型一起组合而成,整个pipeline更长</strong></div>
<div>即使上次参加过数字识别的网友,也会有一定的难度</div>
<div><strong>欢迎嵌入式工程师们继续来战,掌握在芯片端的人脸识别算法的工程化实践</strong></div>
<div>也期待大家最后能挑战成功~</div>
<div></div>
<div><span style="color:#7f8c8d;">来自InsightFace项目的ArcFace 人脸识别视频演示截图</span></div>
<div> </div>
<div><span style="color:#1abc9c;"><span style="font-size:18px;">活动时间表</span></span></div>
<div>
<table height="166" style="border-collapse:collapse" width="962">
<colgroup>
<col width="282" />
<col width="680" />
</colgroup>
<tbody>
<tr>
<td style="border-bottom:1px solid #000000; vertical-align:middle; white-space:nowrap; border-top:1px solid #000000; border-right:1px solid #000000; border-left:1px solid #000000" x:str="">时间</td>
<td style="border-bottom:1px solid #000000; white-space:normal; vertical-align:middle; border-top:1px solid #000000; border-right:1px solid #000000; border-left:1px solid #000000" x:str="">内容</td>
</tr>
<tr>
<td style="border-bottom:1px solid #000000; vertical-align:middle; white-space:nowrap; border-top:1px solid #000000; border-right:1px solid #000000; border-left:1px solid #000000" x:str="">10月30日-11月20日(21天)</td>
<td style="border-bottom:1px solid #000000; white-space:normal; vertical-align:middle; border-top:1px solid #000000; border-right:1px solid #000000; border-left:1px solid #000000" x:str="">学习和了解InsightFace人脸识别开源项目,跟帖申请RV1106 Linux开发板(带摄像头)</td>
</tr>
<tr>
<td style="border-bottom:1px solid #000000; vertical-align:middle; white-space:nowrap; border-top:1px solid #000000; border-right:1px solid #000000; border-left:1px solid #000000" x:str="">11月21日-11月27日(1周)</td>
<td style="border-bottom:1px solid #000000; white-space:normal; vertical-align:middle; border-top:1px solid #000000; border-right:1px solid #000000; border-left:1px solid #000000" x:str="">遴选、公布获取幸狐RV1106开发板名单、开发板派发</td>
</tr>
<tr>
<td style="border-bottom:1px solid #000000; vertical-align:middle; white-space:nowrap; border-top:1px solid #000000; border-right:1px solid #000000; border-left:1px solid #000000" x:str="">11月28日-1月12日(45天)</td>
<td style="border-bottom:1px solid #000000; white-space:normal; vertical-align:middle; border-top:1px solid #000000; border-right:1px solid #000000; border-left:1px solid #000000" x:str="">参与网友部署人脸识别应用到RV1106、测试、调试</td>
</tr>
<tr>
<td style="border-bottom:1px solid #000000; vertical-align:middle; white-space:nowrap; border-top:1px solid #000000; border-right:1px solid #000000; border-left:1px solid #000000" x:str="">1月12日-1月26日(2周)</td>
<td style="border-bottom:1px solid #000000; white-space:normal; vertical-align:middle; border-top:1px solid #000000; border-right:1px solid #000000; border-left:1px solid #000000" x:str="">活动审核和颁奖</td>
</tr>
</tbody>
</table>
</div>
<div> </div>
<div><span style="color:#1abc9c;"><span style="font-size:18px;">挑战营第二期任务说明:</span></span></div>
<div>基于InsightFace开源人脸识别项目,使用RV1106驱动摄像头,实现多人(至少3个人)的实时人脸识别,实时标注出TA们的姓名。</div>
<div> </div>
<div><span style="color:#1abc9c;"><span style="font-size:18px;">适合哪些人参与?</span></span></div>
<div>具备一定的python、C/C++语言基础、熟悉嵌入式编程;希望掌握在芯片端的人脸识别算法的工程化,成为具备AI技能的嵌入式工程师们;也欢迎参与过嵌入式工程师AI挑战营(初阶)的网友继续挑战,参与过初阶的网友,可参与到最终的评奖,不再重复发放活动套件。</div>
<div> </div>
<div><strong><span style="font-size:24px;"><span style="color:#1abc9c;">如何参与</span></span></strong></div>
<div><span style="color:#000000;"><strong>第一阶段(即日起至</strong><strong>11</strong><strong>月</strong><strong>20</strong><strong>日):了解InsightFace算法工程化</strong><strong>,跟帖申请</strong><strong>RV1106 Linux 开发板(带摄像头)</strong></span></div>
<div>1、<a href="https://bbs.eeworld.com.cn/thread-1298622-1-1.html" target="_blank">点此了解开源人脸检测项目InsightFace: 简介、源码、ArcFace视频演示(侧脸也能识别)等 </a></div>
<div><strong><span style="color:#e74c3c;">2、跟帖提交以下信息报名:</span></strong></div>
<div> -申请理由</div>
<div> -用自己的话:简述了解的InsightFace、如何在RV1106上部署InsightFace算法,实现多人实时人脸识别的思路</div>
<div> -打算在<a href="https://wiki.luckfox.com/zh/Luckfox-Pico/Luckfox-Pico-quick-start/" target="_blank">RV1106 Linux开发板(带摄像头)</a>部署什么应用?要求含InsightFace算法的多人实时人脸识别功能;</div>
<div>3、我们将根据您提交的内容,遴选获取RV1106 Linux 开发板(带摄像头)的网友,在11月27日前公布名单、安排派发套件等事宜。</div>
<div> </div>
<div>
<div><span style="color:#e74c3c;">*注意:</span><span style="color:#7f8c8d;">(1)考虑人脸识别的数据较大,训练难度较大,所以本次未要求参与者从自己训练模型开始。(2)建议但不限于InsightFace,github还有很多人脸识别开源项目,比如</span><a href="https://github.com/serengil/deepface"><span style="color:#7f8c8d;">deepface</span></a><span style="color:#7f8c8d;">、</span><a href="https://github.com/exadel-inc/CompreFace"><span style="color:#7f8c8d;">CompreFace</span></a><span style="color:#7f8c8d;">、</span><a href="https://github.com/ageitgey/face_recognition"><span style="color:#7f8c8d;">face_recognition</span></a><span style="color:#7f8c8d;">、</span><a href="https://github.com/davidsandberg/facenet"><span style="color:#7f8c8d;">facenet</span></a><span style="color:#7f8c8d;">、</span><a href="https://github.com/timesler/facenet-pytorch"><span style="color:#7f8c8d;">facenet-pytorch</span></a><span style="color:#7f8c8d;">等,网友也可自选一个开源项目做转换,但不能用现成RKNN模型。</span></div>
</div>
<div></div>
<div><span style="color:#7f8c8d;">图示:幸狐科技赞助的RV1106 Linux 开发板(带摄像头)</span></div>
<div> </div>
<div> </div>
<div><strong>第二阶段(11</strong><strong>月</strong><strong>28</strong><strong>日</strong><strong>-1</strong><strong>月</strong><strong>12日):实战InsightFace算法工程化,应用部署落地</strong></div>
<div>挑战的网友,需在规定时间内,将多人实时人脸识别模型部署到所获套件上、完成自己的应用开发。要求发帖:</div>
<p>1、讲解InsightFace算法工程化过程、应用部署过程、开源相关代码,附上相应的说明、调试的过程。</p>
<p>2、需提交以下场景的测试演示视频:</p>
<div> - 展示检测一个人的模型给出的精度得分</div>
<div> - 自选至少3个你喜欢的人,提前录入他们的照片,找包含他们的视频或者照片等进行测试的识别情况</div>
<div> - 你预计部署的应用功能演示视频。</div>
<div><strong>完成任务的网友奖励见下方;未完成任务或者未按照要求分享的网友,需寄回所使用的套件,邮费自理。</strong></div>
<div> </div>
<div> </div>
<div><span style="font-size:18px;"><span style="color:#1abc9c;">活动奖项</span></span></div>
<div>特别贡献奖(1名):率先优质发帖分享任务完成过程,且其帖对其他网友完成任务有很大的参考价值、及时帮助其他网友在完成任务中遇到的难题等;以下礼品优先任选其一。</div>
<div>优秀奖 (2名):较好地完成任务且认真详细地发帖分享任务过程;以下礼品随机分配。</div>
<div>参与奖(若干):认真完成任务并按照要求分享的网友,所使用的幸狐 RV1106 Linux 开发板(带摄像头)不用退回,作为参与奖。</div>
<div></div>
<div> </div>
<div><span style="color:#1abc9c;"><span style="font-size:18px;">特别感谢</span></span></div>
<div>本次活动的赞助商幸狐科技,为本次活动免费提供了30套Luckfox幸狐 RV1106 Linux 开发板(带摄像头),同时还要特别感谢有相关一线经验工程师对本次活动筹备期技术指导。</div>
<div> </div>
<div><span style="color:#1abc9c;"><span style="font-size:18px;">活动微信群</span></span></div>
<div>本活动的即时互动、提醒等在论坛开设的AI技术交流群进行,有任何问题均可在群内沟通,活动管理员都会及时响应。参与活动和感兴趣的网友,欢迎微信添加“helloeeworld”为好友,暗号:AI挑战营,即可被拉入群。</div>
<p><img _height="150" border="0" src="https://6.eewimg.cn/news/statics/qrcode/helloeeworld.png" width="150" /></p>
<p> </p>
<p><!--importdoc--></p>
<p> </p>
<p>报名参加</p>
yyhhgg 发表于 2024-11-5 10:33
报名参加
<p>需要跟帖提交:</p>
<p> -申请理由</p>
<p> -用自己的话:简述了解的InsightFace、如何在RV1106上部署InsightFace算法,实现多人实时人脸识别的思路</p>
<p> -打算在RV1106 Linux开发板(带摄像头)部署什么应用?要求含InsightFace算法的多人实时人脸识别功能;</p>
<p><span style="color: rgb(5, 7, 59); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 15px; font-style: normal; font-weight: 400; word-spacing: 0px; float: none; display: inline !important; white-space: normal; orphans: 2; widows: 2; background-color: rgb(253, 253, 254); text-decoration-color: initial; font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial;">I</span><span style="color: rgb(5, 7, 59); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 15px; font-style: normal; font-weight: 400; word-spacing: 0px; float: none; display: inline !important; white-space: normal; orphans: 2; widows: 2; background-color: rgb(253, 253, 254); text-decoration-color: initial; font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial;">nsightFac</span><span style="color: rgb(5, 7, 59); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 15px; font-style: normal; font-weight: 400; word-spacing: 0px; float: none; display: inline !important; white-space: normal; orphans: 2; widows: 2; background-color: rgb(253, 253, 254); text-decoration-color: initial; font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial;">e是由旷视科技(Megvii)开发的一款高效的人脸识别、人脸检测和人脸对齐算法库。</span></p>
<p>开发环境搭建,安装Python和相关的依赖库,在ubuntu PC系统进行人脸识别算法的开发。</p>
<p>使用RKNN-Toolkit2进行算法程序的转换,因为RKNN是在电脑端进行应用的,在嵌入式端无法直接运行。所以需要使用工具进行算法程序的转换。</p>
<p>实际开发,在pc端进行人脸识别算法的开发和训练,最终将算法程序部署到rv1106电路板上进行实际的使用和调试。</p>
<p>insightface是一个开源的基于Pytorch和MXNet实现的2D/3D人脸分析工具,它实现了多个SOTA人脸识别、人脸检测、人脸对齐算法,并对训练和部署进行了优化。insightface用的是5个特征点检测,因此算法资源要求相对较少,容易在嵌入式系统上进行部署和实现。</p>
<p>对于特定的人脸,需要在PC环境下训练后才能部署在嵌入式板子RV106上运行,可以使用RKNNLite工具包对InsightFace算法进行模型转换后,在RV1106上实现人脸识别。计划挑战和部署的应用为实时人物轨迹追踪。即对特定的人脸运动轨迹进行实时标注。</p>
<p>目前来说,需要学习的路程比较长,但是这个领域的前景还是非常看好的,会努力克服学习上的困难,力争完成这个嵌入式人脸实时识别项目。</p>
<p> </p>
<p> -申请理由</p>
<p>1. 基本思路</p>
<p>1.1 简述了解的InsightFace:</p>
<p>InsightFace算法是一种用于人脸分析和识别任务的深度学习模型,主要侧重于人脸识别和人脸验证。其是一个用于2D和3D人脸分析的集成Python库,实现了多种先进的人脸识别、人脸检测和人脸对齐算法,并针对训练和部署进行了优化。</p>
<p>1.2 部署InsightFace在RV1106开发板</p>
<p>Step1. 获取一个带有摄像头的RV1106开发板;</p>
<p>Step2. 熟悉SDK。下载SDK,解压并查看其目录结构。</p>
<p>Step3. ‌交叉编译‌:使用Pico SDK进行交叉编译。安装LuckFoxPicoSDK,设置环境变量,确保cmake版本大于3.15。</p>
<p>Step4. 部署InsightFace算法‌:在RV1106上部署InsightFace算法,实现多人的实时人脸识别。</p>
<p>Step5. ‌测试和调试‌:部署完成后,进行测试和调试,确保算法在RV1106上正常运行,实现多人的实时人脸识别功能‌</p>
<p> </p>
<p>2. 具体应用</p>
<p>2.1 复杂场景下多人实时人脸识别</p>
<p>尝试使用家庭场景内多人脸实时识别场景,时间允许的情况下,使用会议场景内多人脸识别来进行算法和模型的测试和验证</p>
<p>-申请理由<br />
本人深入Linux嵌入式设计和神经网络训练和量化多年,有着丰富的开发设计经验。曾在天池举办的多项人工智能比赛中获得不错的成绩,此外本人还参与设计过多种嵌入式边缘计算项目,包括基于ESP32S3的人脸识别门禁、基于ESP32S3的猫狗分类器以及基于RK3576的大语言模型智能对话机器人。熟悉Linux、C编程以及rknn的模型量化部署。此外本人还热衷于项目技术分享,在CSDN及其它博客网站上分享过许多项目设计过程以及经验,并在github上开源过多个项目。想要借助电子工程世界提供的这次机会,充分利用RV1106的强大特性,进一步深入学习insightface,设计并开源分享一个大流量区域的实时监控与通缉在逃人员/黑名单人员识别系统。</p>
<p>-用自己的话简述:<br />
InsightFace是一个开源的2D/3D人脸分析工具,基于Pytorch和MXNet实现,包含多个人脸识别、人脸检测和人脸对齐的前沿算法,经过优化适合高效的训练与部署。为了在RV1106平台上实现InsightFace的多人实时人脸识别,首先需要在PC端完成算法流程的验证:即通过InsightFace依次进行人脸检测、人脸对齐和人脸识别的全流程,实现预期效果。接下来,利用RKNN Toolkit对模型进行量化和格式转换,将其优化为RV1106兼容的RKNN格式。这一量化过程不仅减小了模型体积,还提升了运行速度,使其更适合在资源受限的嵌入式设备上运行。<br />
完成模型优化后,可以开始在RV1106上开发嵌入式应用。首先实现摄像头数据的实时采集,将视频流传入人脸识别系统。然后加载已转换的RKNN模型,并在RV1106上进行实时推理。同时,利用OpenCV-Mobile库进行图像预处理和人脸区域的裁剪,最后进行人脸对齐并提取比对人脸特征向量,从而实现准确的多人实时人脸识别。</p>
<p>-打算在RV1106 Linux开发板(带摄像头)部署什么应用?<br />
我希望基于RV1106 Linux开发板,开发部署一套大流量区域的实时监控与通缉在逃人员/黑名单人员识别系统。因为在大流量区域,如机场、火车站、地铁站、大型商场等,每天都有大量人员进出。传统的安全监控手段依赖于人工观察和手动核查,效率低下且容易出现疏漏。使用多人实时人脸识别技术可以显著提升安全监控的效率和准确性,并且能够及时发现并处理通缉在逃人员或黑名单人员,保障公共安全。</p>
-申请理由 挑战一下 -用自己的话:简述了解的InsightFace、如何在RV1106上部署InsightFace算法,实现多人实时人脸识别的思路 InsightFace是一个基于Pytorch和MXNet的2D/3D人脸分析项目,能够实现人脸识别、人脸检测和人脸对齐算法。利用项目所提供的代码,将待测试的MXNet模型转换为ONNX格式。接着,使用Netron工具验证该模型是否兼容RV1106平台,并将其进一步转换为RKNN模型,尝试在RV1106上进行部署。 -打算在RV1106 Linux开发板(带摄像头)部署什么应用?要求含InsightFace算法的多人实时人脸识别功能; 部署一套智能监控系统,该系统能够实时捕捉视频流,并利用InsightFace对视频中的人脸进行检测、识别和跟踪。采用这种方法,可以实现对特定特征的预警。 <p>【申请理由】本人专业为光学,主要从事光学器件和设备的开发和维护,熟练掌握和使用各种软硬件开发环境和嵌入式开发,具有丰富的实验仪器操控和数据采集经验。因此想要参与该挑战营活动,结合RV1106和InsightFace数据库,实现实验室多人实时人脸识别和人员流动监测,并通过MQTT协议将数据上传至EMQX平台,实现Home Assistant远程数据监测,为实验安全与人员流通状态的获取提供有力的支持。<br />
【部署方案】InsightFace 是先进的深度人脸分析数据库,包括用于高质量人脸识别的解决方案和自定义程序 SDK 开发,并提供先进工具推动各个行业的创造力和创新发展。<br />
硬件:使用NVIDIA系列GPU,因为InsightFace在GPU上的训练效率远高于CPU;<br />
软件:Linux 操作系统,Python,数据库包括MXNet (InsightFace的原生框架) 、NumPy、OpenCV 等<br />
数据:数据库收集:收集包含多个人脸图像的数据集。数据集应包含不同人的多张照片,以便进行训练和验证<br />
数据处理:人脸对齐,使用 MTCNN 等工具对人脸进行对齐,确保每张人脸都处于相似的位置和大小。InsightFace 源码中包含 MTCNN 的实现,可以直接使用<br />
数据转换:将处理后的数据转换为 InsightFace 所需的格式,包括 lst文件和 rec 文件。<br />
模型训练:修改配置文件,训练命令执行<br />
模型验证与测试:1.建立需要验证的目标集合;2.使用InsightFace 脚本对目标集进行验证;3.分析验证结果,对模型进行优化<br />
应用:门禁系统、监控识别等,摄像头实时捕捉人脸信息,通过模型进行识别和身份验证。<br />
【挑战计划】高性能 RV1106 Linux 开发板配合操作系统及数据库部署,结合外设摄像头实时采集人脸数据流,与目标人脸模型实时匹配,进行人脸识别和检测,配合门禁系统,实现人员流动控制;结合监控和报警系统,无人机等,对目标人物进行实时流动追踪。</p>
<p></p>
<p>本人在RK3588的开发板上跑通过官方的RKNN例程和RKLLM大模型,也部署过自己训练的yolov5模型,了解RKNN的api调用,但是考虑到rk3588的成本较高且电源要求较高,一直找不到实际的嵌入式应用场景,这次申请也是想在全流程的嵌入式ai部署中再多多学习,多多理解技术细节,同时找到一个边缘ai的落脚点。</p>
<p>InsightFace框架提供了丰富的人脸识别、人脸检测和人脸对齐算法,并且针对训练和部署进行了优化,个人认为其最大的优势就是实现了毫秒级的实时检测,这对嵌入式设备十分友好,借助瑞芯微的RKNN工具链,还可以进一步提高推理效能。在实际部署中,可以将预训练好的模型通过pytorch框架导出为pt模型再转为onnx模型(也可直接转为rknn模型)再通过工具链转换为rknn模型,在PC上进行算法验证后期便可上传到开发板进行运行测试,相应程序功能预计可以采用python和opencv包实现。</p>
<p>可以利用InsightFace的人脸识别算法实现一套智能门铃系统当录入人脸被识别后,亮灯开门,当陌生人脸靠近后蜂鸣器发出警报并抓拍人脸。</p>
<p></p>
<p>申请理由:</p>
<p>InsightFace以其高效的算法实现和对训练及部署的优化而广收粉丝喜爱。它支持2D和3D人脸分析,并且在多个基准测试中达到了最先进的性能。InsightFace使用5个特征点进行人脸检测,这使得它在资源消耗上相对较低,适合在嵌入式系统上部署。</p>
<p>在RV1106上部署InsightFace算法</p>
<p>1. 确保RV1106开发板运行的是支持的Linux操作系统,并且已经安装了必要的依赖。</p>
<p>2. 使用RKNNLite工具包将InsightFace的Pytorch或MXNet模型转换为RKNN模型,以便在RV1106上运行。</p>
<p>3. 根据RV1106的开发文档,配置开发板以支持InsightFace算法的运行,包括内存分配、内核设备树配置等。</p>
<p>4. 将转换后的RKNN模型部署到RV1106开发板上,并编写相应的代码来加载模型并进行推理。</p>
<p></p>
<p>使用以下方法实现多人实时人脸识别</p>
<p>1. 使用OpenCV等库从RV1106开发板的摄像头获取实时视频流。</p>
<p>2. 利用InsightFace的人脸检测算法检测视频流中的所有人脸。</p>
<p>3. 对检测到的人脸进行对齐,以确保人脸特征点的正确性。</p>
<p>4. 对对齐后的人脸进行特征提取,生成可用于识别的人脸特征向量。</p>
<p>5. 将提取的特征向量与数据库中的特征向量进行比对,实现实时人脸识别。</p>
<p>6. 结合人脸检测和人脸识别的结果,使用如DeepSORT等算法进行多人实时轨迹追踪。</p>
<p>7. 将识别结果和轨迹追踪信息实时展示在界面上,或者通过其他方式输出。</p>
<p>-申请理由:人脸识别是我一直以来想完成的一件事,因为觉得很炫酷,但以前没接触过神经网络、深度学习,看了些资料,有些地方还比较蒙,希望可以跟着大佬们学习,实际操作挑战下,加深认知</p>
<p>-思路:根据目前有限的了解,insightface是适用于人脸识别的一个开源的工具箱,提供了一些预训练的深度神经网络模型,在rv1106中部署需要以下几个步骤:(1)rv1106开发环境搭建,主要是建立对应的rknn-toolkit2 以及实现摄像头数据采集(2)将insigtface中的预训练的onnx模型转换为rknn模型文件 (3)在rv1106中移殖、运行python测试程序,注册人脸 (4)实现人脸比对 1:1 (5)实现人脸搜索 1:N (6)支持视频流</p>
<p>-应用:人脸门禁、安防等</p>
<p></p>
<p>1、学习新的开发环境与识别算法知识,巩固基础软硬件知识,尝试自己做小项目</p>
<p>2、首先搭载好环境,在编写好底层的代码,部署识别AI模型,测试+调试</p>
<p>3、智能门锁,人脸识别开锁:){:1_138:}</p>
<p>跟帖申请;</p>
<p>申请理由:</p>
<p>1.InsightFace 简述<br />
InsightFace 是一个开源的人脸识别算法,用于人脸检测、对齐和特征提取,具备高精度和高性能的特点。其核心是基于深度学习的特征提取网络,比如 MobileFaceNet 和 ArcFace,适合在资源受限的设备上使用。</p>
<p>2.在 RV1106 上部署实现思路</p>
<p> InsightFace 提供了多种模型(如 MobileFaceNet 和 ResNet),需根据 RV1106 的计算能力和 NPU 兼容性选择轻量化的模型(如 MobileFaceNet)。使用 Rockchip 提供的工具链,将模型转换为 RV1106 可运行的格式,并优化性能。先用轻量模型定位图像中的人脸区域。对检测到的人脸对齐后,提取特征向量。将提取的特征与数据库中的人脸特征对比,进行身份识别。从摄像头获取视频流,结合多线程技术保证实时性。优化推理效率,使系统能够识别多个人脸。</p>
<p>3.打算部署的应用</p>
<p> 基于 RV1106 和 InsightFace,实现一个实时多人人脸识别系统,用于场景如会议签到、门禁管理等。通过摄像头采集实时图像,自动识别3人以上的身份,并在图像上显示姓名标注。</p>
<p></p>
<p>跟帖申请;</p>
<p></p>
<p>申请理由:</p>
<p></p>
<p>1.InsightFace 简述</p>
<p> InsightFace 和yolo类似都是是一个开源的人脸识别算法,用于人脸检测、对齐和特征提取,具备高精度和高性能的特点,相较于yolo更适合在资源受限的设备上使用。</p>
<p></p>
<p>2.在 RV1106 上部署实现思路</p>
<p></p>
<p> InsightFace 需根据 RV1106 的计算能力和 NPU 兼容性选择轻量化的模型。使用 Rockchip 提供的工具链,将模型转换为 RV1106 可运行的格式,并优化性能过程类似于openvino。先定位人脸,然后判断人脸属于谁。尽量优化推理效率,使系统能够识别多个人脸。</p>
<p></p>
<p>3.打算部署的应用</p>
<p></p>
<p> 基于 RV1106 和 InsightFace,实现一个实时多人拍照系统。配合双舵机可以实现人像自动居中,自动识别身份,并在图像上显示姓名标注并拍照。</p>
本帖最后由 brack 于 2024-11-18 08:12 编辑
<p>申请理由:</p>
<p>之前想玩嵌入式边缘AI没有机会,感谢主办方提供的机会。</p>
<p>insightFace:</p>
<p>InsightFace是由旷视科技(Megvii)开发的一款高效的人脸识别、人脸检测和人脸对齐算法库。它基于深度学习框架(如MXNet、OneFlow等),采用卷积神经网络(CNN)作为基础网络结构,通过多层卷积层、池化层和全连接层,提取输入图片中的人脸特征。InsightFace针对训练和部署进行了优化,支持多种硬件平台,包括CPU和GPU,能够实现快速、准确的人脸识别。同时,它提供了丰富的API,支持人脸检测、人脸识别、人脸对齐等多种功能,在多个领域得到了广泛应用,如金融支付、安防监控和手机解锁等。</p>
<p>1.环境准备:</p>
<p>确保RV1106开发板上的操作系统支持C/C++和相关依赖库的安装</p>
<p>评估RV1106的性能,选择合适的依赖库</p>
<p>2.Insightface 安装:</p>
<p> 根据RV1106的硬件特性,选择合适的insightface版本进行安装,确保在CPU上高效运行</p>
<p> 安装后,对insightface进行配置,主要针对人脸检测、识别和对齐功能的参数。</p>
<p>3.摄像头驱动与图象采集:</p>
<p>在RV1106上部署摄像头模块,实现图象采集。</p>
<p>配置摄像头参数,以满足多人实时人脸识别的需求。</p>
<p>4.算法优化与调试:</p>
<p>针对硬件特性,适当对insightface算法进行优化,以提高算法的运行效率</p>
<p>5.多人实时人脸识别:</p>
<p>利用insifhtface提供的API,实现多人实时人脸的识别。适当处理以区分不同的人脸</p>
<p>6.部署与测试</p>
<p>将优化后的算法部署到RV1106开发板上,进行测试确保其稳定性和可靠性。根据实际状况,进行验证和调试,满足实际需求。</p>
<p> </p>
<p>感谢主办方提供的活动</p>
<p>申请理由</p>
<p> </p>
<p>InsightFace是一个用于2D与3D人脸检测与识别的Python库,它也可以被视为一个开源的2D和3D深度人脸分析工具箱。主要用于人脸识别,人脸检测,人脸对齐,以及AI换脸的工作,但是自己对于这个库的了解很少,几乎没有用过,自己也想跟大佬们一起来学习如何操作,希望大佬们带带我,一起学习一起进步。但是整个项目难度较大,我希望可以有大佬可以多多分享实现的方法以及部署的详细步骤,</p>
<p>我将按照以下步骤进行操作:</p>
<p>1:完成基础编译环境的搭建。</p>
<p>2:完成insightface的环境部署</p>
<p>3:完成单个人脸识别案例的应用。</p>
<p>4:完成多个人脸识别的功能改进。</p>
<p>希望有机会通过试用。</p>
申请理由:随着人工智能技术的快速发展,基于深度学习的人脸识别技术已成为当前研究和应用的热点之一。InsightFace作为一款强大的人脸识别和分析库,广泛应用于安全监控、智能家居、会议管理等领域。在智能家居的应用中,隐私保护一直是用户关注的重要问题。通过在本地部署人脸识别技术,能够避免将个人数据上传至云端,有效保证隐私安全。基于这一目标,本次申请的核心是在RV1106 Linux开发板上本地化部署InsightFace算法,以实现家庭场景下的多人实时人脸识别功能,增强智能家居的隐私防护能力。通过这一部署,能够在保证数据安全的同时,实现家庭内部的身份识别、自动化控制等功能,有助于提高家居的智能化水平及用户的使用体验。因此,本次申请硬件平台,旨在探索如何通过本地化人脸识别技术提升智能家居中的隐私防护效果,并为其他家庭应用场景提供可行的技术解决方案。1. 基本思路1.1 简述了解的InsightFace:InsightFace是一款深度学习驱动的人脸分析库,涵盖了人脸识别、验证和检测等任务,支持2D和3D人脸分析。它基于ResNet架构,采用了多种人脸识别和对齐技术,具有高精度和快速的处理能力。InsightFace在训练和部署方面做了优化,能够在不同硬件平台上进行高效运行,适用于实时人脸识别任务。1.2 部署InsightFace在RV1106开发板的步骤:Step 1:获取带有摄像头的RV1106开发板。 Step 2:熟悉并配置RV1106 SDK,下载并解压SDK文件,查看其目录结构,确保开发环境正常配置。 Step 3:进行交叉编译。 Step 4:部署InsightFace算法,确保算法支持多人实时人脸识别并在RV1106平台上正常运行。 Step 5:测试和调试,确保算法可以在复杂的环境下稳定运行,支持多人识别并实现实时反馈。 2. 具体应用2.1 复杂场景下多人实时人脸识别:家庭场景:通过本地化部署,在家庭环境中实现多人脸实时识别。此方案能够保证隐私安全,无需上传任何个人数据至云端。算法在不同光照、角度及遮挡情况下的表现将成为优化的重点。 会议场景:利用会议室内的多个摄像头和人脸数据进行实时识别,验证算法在多人环境下的实时性和准确性,进一步优化识别精度和响应速度。 通过这一部署和应用方案,我们希望能够探索如何在RV1106平台上实现高效的多人实时人脸识别,尤其是在智能家居中的隐私保护需求下,提供更加安全和高效的解决方案。 <p>跟帖申请;</p>
<p>申请理由:</p>
<p>我对人脸识别和嵌入式系统开发有浓厚的兴趣,希望通过在RV1106开发板上部署InsightFace算法,深入学习人工智能在嵌入式设备上的应用,实现技能的提升和知识的拓展。</p>
<p>了解的InsightFace及部署思路:</p>
<p>InsightFace是一套基于深度学习的人脸分析工具,包括人脸检测、识别和表征等功能,具有高精度和高效率的特点。要在RV1106上部署InsightFace,可先将模型进行轻量化处理,如量化和剪枝,然后使用RV1106支持的推理引擎进行部署。通过优化算法和合理利用硬件加速,可以实现多人实时人脸识别。</p>
<p>计划部署的应用:</p>
<p>我计划在RV1106 Linux开发板上开发一套智能门禁系统,集成InsightFace的多人实时人脸识别功能。该系统可用于办公楼、小区等场景,实现对进出人员的快速识别和权限管理,提升安全性和便利性。</p>
<p>申请理由:</p>
<p>InsightFace 主要依赖于 <strong>ArcFace</strong> 技术,这是一种基于角度度量的人脸识别方法。ArcFace 通过学习特征的角度信息,能够提供更高的识别准确率,尤其是在处理低质量图像或复杂背景时,表现非常出色。</p>
<p>使用 <strong>RV1106</strong> 的 SDK 和工具链(如 Rockchip 的 <strong>RKNN Toolkit</strong>)来优化和部署模型。使用 <strong>TensorFlow Lite</strong> 或 <strong>PyTorch,</strong>安装 <strong>OpenCV</strong> 和 <strong>dlib</strong> 等库用于图像处理和人脸检测。InsightFace 提供了多个预训练模型。选择一个适合实时处理的轻量级模型,如 <strong>ResNet</strong> 或 <strong>MobileFaceNet</strong>。</p>
<p>优化模型。使用 <strong>TensorFlow Lite</strong> 或 <strong>ONNX</strong> 格式来将模型转换为适合移动端或嵌入式设备的轻量级格式。使用 <strong>Quantization</strong>(量化)等方法来减少模型大小和计算量,尤其是对于硬件加速的 NPU 可以提高推理速度。使用 <strong>RKNN Toolkit</strong> 将模型转换为 <strong>RV1106</strong> 可识别的格式,并利用 NPU 提供的加速。</p>
<p>计划部署的应用:</p>
<h3>智能零售与客户分析:在零售店、商场等环境中进行顾客分析,识别回头客、分析顾客行为、统计顾客停留时长等</h3>
页:
[1]
2