查看: 1347|回复: 0

[项目提交] 《汽车应用创意挑战赛》基于rk3568和STM32mp157的车载人脸识...

[复制链接]
  • TA的每日心情
    开心
    2024-2-2 14:10
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2024-1-30 17:05:55 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 jary. 于 2024-2-2 15:57 编辑


    1.项目简介
    本项目旨在基于rk3568开发一个车载人脸识别系统,运行yocto文件系统,支持rtsp实时传输。该系统将使用rk3568作为主控芯片,使用STM32mp157作为rtsp服务器,,通过摄像头获取实时视频流,并利用深度学习算法进行人脸检测、识别和比对。系统支持lcd实时显示视频流,同时,系统支持rtsp实时传输,可以将视频流通过网络传输到rtsp服务器,在其他设备拉流,实现实时监控和管理。系统具有广泛的应用前景,可以应用于车辆安全管理、驾驶员身份认证等领域。


    2.系统框图
    系统硬件层面上,外接2K mipi摄像头imx335,实时获取摄像头数据,将摄像头数据进行数据量化裁剪等操作之后,导入训练好的人脸识别深度学习模型,然后将处理后的图像显示到本地的1920x1080分辨率的lcd,然后通过rtsp协议将图像数据推送到服务器,在手机端或PC端进行拉流,实时监控带人脸识别标识的图像。
    系统框图如下:
    11.png
    主控cpu:RK3568
    - Quad-core Cortex-A55 up to 2.0GHz
    - Mali-G52 GPU
    - 1TOPS NPU
    - LPDDR4/LPDDR4X/DDR4/DDR3/DDR3L/LPDDR3, ECC
    - 4KP60 H.265/H.264/VP9 video decoder
    - 1080P60 H.264/H.265 video encoder
    - 8M ISP with HDR
    - Dual dislplay, LVDS/MIPI-DSI/RGB/eDp/RGB/HDMI2.0/EBC
    - 1x8ch I2S/TDM, 1x8ch PDM, 2x2ch I2S
    - USB3.0 x2/SATA3.0 x3/PCIE2.1/QSGMII,PCIE3.0 1x2Lanes/2x1Lane
    rtsp服务器:STM32mp157

    – STM32MP157 Arm®-based dual Cortex®‑A7 800 MHz 32 bits +
    Cortex®‑M4 32 bits MPU in a TFBGA361 package
    – ST PMIC STPMIC1
    – 4-Gbit DDR3L, 16 bits, 533 MHz
    – 1-Gbit/s Ethernet (RGMII) compliant with IEEE-802.3ab
    – USB OTG HS
    – Audio codec
    – 4 user LEDs
    – 2 user and reset push-buttons, 1 wake-up button
    – 5 V / 3 A USB Type-C® power supply input (not provided)
    – Board connectors:
    ◦ Ethernet RJ45
    ◦ 4 × USB Host Type-A
    ◦ USB Type-C® DRP
    ◦ MIPI DSI®
    ◦ HDMI®
    ◦ Stereo headset jack including analog microphone input
    ◦ microSD™ card
    ◦ GPIO expansion connector (Raspberry Pi® shield capability)
    ◦ ARDUINO® Uno V3 expansion connectors
    – On-board ST-LINK/V2-1 debugger/programmer with USB reenumeration capability: Virtual COM port and debug port
    – STM32CubeMP1 and full mainline open-source Linux® STM32 MPU
    OpenSTLinux Distribution (such as STM32MP1Starter) software and
    examples
    – Support of a wide choice of Integrated Development Environments
    (IDEs) including IAR Embedded Workbench®, MDK-ARM, and
    STM32CubeIDE

    3. 各部分功能说明
    3.1.rk3568板载端

             rk3568板载端运行yocto文件系统,Yocto 是一个很强大的构建工具,其功能不仅仅是用来获取BSP源码和简单地编译源码,开发者还可以使用Yocto对其开发板添加各种第三方开发库,而不需要每次重新从零开始编译源码,解决第三方依赖的方式进行开发,对开发效率的提高有很大的帮助。也可以基于Yocto的构建规则,把自己定义的开发板卡添加到Yocto的构建工程中,便于向第三方进发布。
            1. 本系统在kernel层面上支持mipi dsi驱动lcd,支持mipicsi驱动摄像头,支持以太网,支持wifi无线网络。
            2. 本系统在环境上支持weston桌面系统,支持瑞芯微的RKNN Toolkit Lite2推理库。
            以此为支撑,我们可以在此系统上面完成摄像头采集图像,然后送到rknn库进行推理,之后通过以太网或者wifi推流到pc端或手机端。
    12.png

    13.jpg

    3.2. rtsp服务端
    本项目使用stm32MP157(得捷赞助开发板),运行rtsp 服务器
    14.jpg

          服务器使用开源工具mediamtx
          下载位置https://github.com/bluenviron/mediamtx/releases
          使用mediamtx有点非常多
              不管是在windows还是linux,安装和使用都极其简单;
              文档比较详细,使用过程中遇到的问题很少,不需要去参考其他文档;
              支持rtsp、rtmp、hsl;并且延迟处理的比较好;
              集成webrtc可直接播放视频;
              可进行视频访问加密处理;
    15.png

    16.jpg

    3.3. pc拉流端
          PC端进行拉流可以使用ffplay或者直接使用mediamtx的网页拉流功能,
          1. 使用mediamtx网页拉流功能时需要配置
    17.png

          配置完成之后,重启stm32mp157上的mediamtx服务器,然后保证在同一局域网的情况下,浏览器输入如下地址进行拉流
    http://192.168.21.117:8889/live/stream/
    18.png



    2. 使用ffplay拉流
    确保在同一局域网,使用一下命令进行拉流,其中192.168.21.117为rtsp服务器,也就是stm32mp157的IP地址。


    ffplay rtsp://192.168.21.117:8554/live/stream
    使用ffplay拉流延迟较高。
    19.png

    3.4.手机拉流端
    手机拉流使用的是easyplayer,EasyPlayer RTSP 播放器是由EasyDarwin团队开发和维护的一个完善的RTSP流媒体播放器项目,视频编码支持H.264,H.265,MPEG4,MJPEG,音频支持G711A,G711U,G726,AAC,支持RTSP over TCP/UDP协议,支持软/硬解码,是一套极佳的安防流媒体平台播放组件
    20.jpg

    4.作品源码
    源码主要包含自行构建的yocto文件系统以及python编写的应用程序
    https://gitee.com/jia_yuhao/digikey_rk3568/tree/master
    源码下载
    # git clone https://gitee.com/jia_yuhao/digikey_rk3568.git
    21.png

    5.作品视频

    https://www.bilibili.com/video/BV1rt421H79s/?spm_id_from=333.999.0.0&vd_source=de29f8018dea6c4485b6ec360c0595d7

    6.项目总结
    rk3568NPU算力仅1TOPS,算力不算太高,并且RKNN Toolkit Lite2推理库为python接口的库,在不接入人脸识别推理运算的情况下,rtsp可以实时稳定的运行,帧率稳定在30fps。
    但是,接入人脸识别的算法后,lcd实时显示帧率只有15fps左右,而通过rtsp推流帧率就只有7-8 fps了。后续可以考虑使用C++接口的推理库。在1TOPS的算力下,帧率应该会有所提升。
    另外,使用开源rtsp工具进行拉流,基本上有1-2秒的延迟。应该跟解码逻辑,解码参数和解码缓存等有关。

    DigiKey 演示视频.zip

    17.2 MB, 下载次数: 9

    DigiKey 作品简介.zip

    1.58 MB, 下载次数: 9

    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-11-23 11:51 , Processed in 0.112697 second(s), 17 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.