RV1109 人脸识别开发

这篇具有很好参考价值的文章主要介绍了RV1109 人脸识别开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

RV1109 人脸识别开发

本文档主要介绍了在基于RV1109/RV1126 SOC芯上的人脸识别开发实现的架构设计,开发实现过程,主要用的方式方法!这里主要介绍RV1109上使用SDK里的RKMEDIA里的接口应用加以说明!

介绍如何使用RKMEDIA中的VI,RGA,如何通过DRM来显示视频内容!

视频接入

RV1109有支持4 LINE的MIPI CSI输入能力,所以开发一般都是使用MIPI的双摄像头方案,摄像头最大1920X1080的输入.具体的MIPI的摄像头接入配置,可以SDK中的DTS等配置,ISP的调试不在本文介绍,自己也不熟悉,针对一般的人脸识别应用RGB+IR的方案,比较低成本的国内的CMOS芯片都表现很不错。

在人脸识别应用中,图像Sensor一般会把16:9的画面,在物理上转个90度,贴成9:16的图像,以最大的获取到人身体的抓拍,一般的人脸识别的屏也是竖屏居多!

视频处理(rkmedia)

在rkmedia这套接口这里主要应用他的VI与RGA模块来实现人脸识别产品开发过程中的业务处理!

接口比较简单,这里主要说明主要的流程,处理逻辑, 视频数据流,具体的操作,SDK里有比较详细的DEMO说明!

这里的视频流主要如下:

CMOS Sensor 视频 ->  Linux V4L2 Video设备- > ISP - > VI -> RGA
ISP

开发上ISP前端的数据处理,基本不需要开发上去处理,不过在调试ISP图像时,一般会使用V4L2的工具抓图!这部分SDK中在ISP调试部分有比较多的说明!

在调试ISP时,如果遇到视频图像问题,V4L2的工具就会起到很大的作用,可以方便用来排除,图像异是CMOS端引用的,还是ISP处理方面异常导致的!

VI & RGA & VO(DRM)

视频到RGA这里后,会做比较多的处理:如视频图像的旋转,分辨率的改变!以不同的通道送给不同的业务,这里主要是算法、VO显示、VENC编码!

所以同一个VI通道在这里会分别绑定到不同的RGA通道上!

以RGB视频为例,算法需要处理一路,所以创建一路用于算法

VI(RGB) ->RGA->ALG(算法处理)
VI(RGB)->RGA->显示处理
VI(RGB)->RGA->VENC(编码处理)

上面使用的VI(RGB)都是使用的同一个VI通道! IR的处理也基本是一致!

在处理视频显示时并没有使用rkmedia的VO模块,这里使调用DRM的直接口直接显示的!这里的处理方式是使用 RK_MPI_SYS_RegisterOutCb 这个API对对应的RGA通道绑定一个回调处理函数!在回调处理函数中,把每一帧MEDIA_BUFFER图像通过 display_commit_ex 这个接口与UI叠加显示出来!

在算法检测上,同样也是使用API接口RK_MPI_SYS_RegisterOutCb绑定一个回调,把每一帧送去算法处理,只是在这里算法上一般是处理不到每一帧的,所以这里会做一些丢帧处理!这里的处理方式是用一个信号量检测一个绑在帧是否处理完,处理完后把一个新的帧送过去,没有时就丢帧处理!

VENC

视频编码方面,参考DEMO写的就好了!

算法处理

大部分的算法使用IMAGE_TYPE_NV12来接收视频图像!分别有两个视频一路RGB,一路IR! 在RGA我把算法的与显示处理的图像大小设为一致了,这样比较方便绘制人脸识别框!因为这样等到的人脸坐标大小与显示的图像的坐标大小是一致的,不需要转换!

在RV1109这个芯片上,如果1W的人脸库,从人脸的检测,追踪,再到完成比对一般的算法在150ms左右!所以一秒识别处理上大概处理6,7帧的识别比对!

UI显示处理

UI的显示处理上是基于DRM的方式实现的!SDK里已经实现了QT的集成,后续移值了LVGL显示,基本也是一致的操作!UI层放在最上层的,视频放在低层!

业务处理

一般在业务处理方面,主要注意一个业务处理线程与视频识别线程的分开处理!不然很容易识别线程阻塞掉了!所以在整个产品业处中主要有三大线程处理

​ 一个是UI主线程; 一个是人脸识别线程; 一个是业务处理线程

基本控制好这几个线程的交互、控制,即稳定可靠了!文章来源地址https://www.toymoban.com/news/detail-438867.html

到了这里,关于RV1109 人脸识别开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LVGL - RV1109 LVGL UI刷新效率优化-02

    前面好早写过一个文章,说明如何把LVGL移到RV1109上的操作,使用DRM方式!但出现刷新效率不高的问题! 因为一直没有真正的应用在产品中,所以也就放下了! 最近开发上需要考虑低成本,低内存的方案,所以后续考虑使用LVGL上来做UI,所以这里捡回来再炒一次! 这里还是使

    2024年02月06日
    浏览(39)
  • rv1126/1109平台下的lt8912显示驱动的调试

    使用的瑞芯微的rv1109的平台,显示接口为MIPI,需要外接LVDS的显示屏,同时外接HDMI显示屏显示。 硬件调试注意事项如下: 检查原理图,确保原理图正确。 检查接口的电平匹配问题,LT8912 io最大支持1.8V,注意电平转换问题(IIC,REST脚)。 检查晶振是否振。 IIC不要强上拉,否

    2024年02月08日
    浏览(39)
  • ubuntu22.04下rv1109 rootfs编译问题处理

    出于对Ubuntu新版本系统的体验,将系统更新到了ubuntu22.04了。然后在编译rv1109 sdk时出现了一些异常的错误。但是已经不回去了,只能硬着头皮一路走下去了。并将错误记录以下,以便下次有类似错误,做个参考。 buildroot 报错:c-stack.c:55:26:error:missing binary operator before token “

    2024年02月11日
    浏览(40)
  • rk3588/rk356x/rv1109/rv1126 live555移植+mpp编译 rtsp拉流

    本文主要是为了记录一下rk板子的踩坑日记。 项目主要是rk3588 rtsp拉流。 1.下载MPP源码:https://github.com/rockchip-linux/mpp 2.rk3588/rk356x的板子进入Mpp源码目录 mpp/build/linux/aarch64 (rk3588/rk356x是64位板子)中,修改 arm.linux.cross.cmake 文件中的配置 修改 make-Makefiles.bash 的配置,主要改

    2023年04月19日
    浏览(43)
  • 【K210开发板】人脸识别+ SD卡断电存储 --实时按键录取人脸信息并识别

    人脸识别就是在人脸检测的基础上,除了检测人脸的位置外,还可以检测出这个人是谁(需要先对准人按按钮学习)。 先到 maixhub 按照说明下载模型, 获得模型smodel, 就是 加密版本的kmodel。下载后缀为.smodel模型需要用到机器码。机器码是 一机一码 的一种加密方式,用于模型

    2024年02月02日
    浏览(108)
  • 基于arcFace+faiss开发构建人脸识别系统

    在上一篇博文《基于facenet+faiss开发构建人脸识别系统》中,我们实践了基于facenet和faiss的人脸识别系统开发,基于facenet后续提出来很多新的改进的网络模型,arcFace就是其中一款优秀的网络模型,本文的整体开发实现流程与前文相同,只是在深度学习模型节点上将facenet替换为

    2024年02月13日
    浏览(40)
  • 基于facenet+faiss开发构建人脸识别系统

    facenet是一款非常经典的神经网络模型,它可以直接学习从人脸图像到欧几里德空间的映射(直接将人脸映射到欧几里得空间)。在欧几里德空间中,距离直接对应于人脸相似性的度量。一旦这个空间产生,使用标准技术,将FaceNet嵌入作为特征向量,就可以很容易地实现人脸识别

    2024年02月14日
    浏览(36)
  • 微信小程序开发实例——人脸识别开放平台

    综述 之前我们有讲到在做一些深度学习图像算法开发时,为了更好的将算法效果展示出来,经常需要开发一些演示Demo应用,使用在线C/S交互式应用开发(类似于百度、腾讯、阿里的开放平台)。C代表Client(客户端),S代表Server(服务端),也就是UI处理与底层处理分离的方

    2024年02月01日
    浏览(50)
  • OpenCV+ Qt Designer 开发人脸识别考勤系统

    本系统是一个基于OpenCV和 Qt Designer 的人脸识别考勤系统,主要功能是自动识别摄像头中的人脸,并把人脸对应的姓名和打卡时间存储到数据库中,方便管理人员进行考勤管理。本系统使用 face_recognition 库进行人脸识别,使用 PyQt5 开发界面,然后把界面与代码进行整合。 系统

    2024年02月06日
    浏览(50)
  • 【RV1126】移植kaldi实时语音识别

    参考:Greedy search与beam search 在下面会用到解码的方法选择 greedy_search :贪心搜索,贪心搜索是一种来自计算机科学的算法,生成第一个词的分布以后,它将会根据你的条件语言模型挑选出最有可能的第一个词进入你的机器翻译模型中,在挑选出第一个词之后它将会继续挑选出

    2024年02月04日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包