rv1126适配debian10(搭建人脸识别云服务器)(代码片段)

暴走的阿Sai 暴走的阿Sai     2022-12-05     346

关键词:

前言
   主要借助人脸识别云服务器的应用来介绍 RV1126 的 Debian10 系统和 Rockx。
    Debian10:Rockchip 官方只为 RV1126 适配了 Buildroot 系统,虽然 Buildroot 系统开销非常小但是对于应用开发部署并不是那么友好。所以 Firefly 为 RV1126 适配了 Debian10 ,Debian10 最大的优势就是拥有丰富的 deb 资源,通过 apt 可以快速搭建好你的开发环境,同时也可以方便搞深度学习的小伙伴使用 Python 进行开发。

    Rockx:Rockx 是 Rockchip 发布的一套供用户快速构建 AI 应用的 API 接口。Rockx 可以让用户暂时不需要理会 AI 模型生成,快速上手 Rockchip npu 平台。目前 Rockx 支持 人脸识别、车牌识别、手指和人体关键点识别、目标检测等等模型。

应用介绍

大家可能使用过百度、阿里等人脸识别 API,基本原理就是通过硬件搭建云服务器并且封装出一套 http 接口提供给客户调用自己的硬件进行云计算。本案例将在 Core-1126-JD4 上搭建一套类似的服务完成云人脸识别。

环境搭建

    硬件:Core-1126-JD4(配套底板)

   系统:Debian10

1. 升级 Debian10

    设备出厂是默认自带 Buildroot 系统的,如果你没有升级 Debian10 请参考 Wiki 升级 Debian10 系统。以下是链接
https://wiki.t-firefly.com/zh_CN/CORE-1126-JD4/Debian10.html

2. 拉取代码

sudo apt update
sudo apt install git
git clone https://gitee.com/Blg-daijh/pywebservice.git -b rv1126_rockx

3. 环境搭建

sudo apt update
sudo apt install libdbus-1-dev
sudo apt install  libglib2.0-dev
sudo apt install libdbus-glib-1-dev
sudo apt install python3-pip
pip3 install flask

4. 编译识别程序

make

应用运行

1. 运行服务端程序

# 下面命令在 RV1126 运行================
sudo chmod 777 /dev/galcore
# 代码中 rockx 目录的绝对路径
export ROCKX_DATA_PATH=/home/firefly/pywebservice/rockx/
./client &
# 运行前需要自己修改 Pywebservice.py host ip 设置为自己网络 ip,可以通过 ifconfig 查看
python3 Pywebservice.py

2. 客户端运行程序

# 下面命令在与 RV1126 处于同一局域网的设备运行(电脑或者其他 ARM 设备)
# 运行前根据自己的 RV1126 ip 修改 Pyupload.py
python3 Pyupload.py

3. 效果

    客户端会向云上传当前目录的 test.jpg,服务器会计算出人脸并且标记重新编码成 jpg 格式图片返回给用户,输出结果保存为 test_save.jpg

01.png

FAQ
1. 只有 2.0 T 算力,不适合做云服务器吧?

   的确在单块 Core-1126-JD4,搭建服务并没有什么意义,但是 Core-1126-JD4 适配Cluster Server R1服务器,单个服务器最高可以接入 10 块 Core-1126-JD4。

    可进入维基教程了解更多内容

02.jpg

10 块还是不够用?Core-1126-JD 还适配了Cluster Server R2 最多可以接入 72 块 Core-1126-JD4,144T 算力,同时每块 RV1126 支持同时硬件编解码 4 路 1080p 码流,72 块理论上可以处理 288 路 1080p 视频流 。

可进入维基教程了解更多内容

01 (1).jpg

2. 接入如此多 Soc 网络带宽够吗?

    Cluster Server R2已经适配了万兆网络,有充足的带宽

3. 软件结构?

    为了让大家了解 Debian10 在软件部署在的快捷方便性,应用使用了 Python flask 模块搭建 Webservice ,npu 识别方面也是使用了高度封装的 Rockx 让大家不需要理会模型开发,另外还使用了 Dbus 进行 Python 和 C 进程之间的通信。

4. Rockx 有相关介绍吗?

    其实 RV1126 官方源码 SDK 中就包含了 Rockx 仓库,里面就有丰富的示例和文档说明,这是 SDK 中的路径,sdk_path/external/rockx

c40pl适配车牌识别应用(代码片段)

...识别、人脸识别、People count等等。   本案例将介绍C40PL适配车牌识别的应用准备   软件:gitclone https:// 查看详情

多路人脸识别解决方案

...路视频流的人脸识别。Firefly多路人脸识别解决方案方案搭建ClusterServerR1集群服务器,搭配10个RV1126核心板路由器/交换机20个分辨率为1080p的网络摄像头电脑(网络摄像头通过路由器/交换机与服务器连接)方案特点多路... 查看详情

yolov5移植rv1126说明(代码片段)

YOLOV5移植RV1126说明说明实现在yolov5训练出模型,然后在rv1126设备上运行。操作过程简述在YOLOV5中训练出xxx.pt模型将pt转为onnx模型将onnx转为rknn模型部署rknn模型环境特别说明YOLOV5的运行环境是python3.8的,而rv1126的开发环境to... 查看详情

瑞芯微rv1126如何配置和编译linux内核学习笔记(代码片段)

1、配置环境./build.shdevice/rockchip/rv1126_rv1109/BoardConfig-aybering.mk2、切换到内核源码目录cdkernel3、配置内核(1)配合内核平台环境makeARCH=armrv1126_defconfig(2)使用菜单的方式配置Linux内核makeARCH 查看详情

rv1126-rv1109mpp使用说明

...构MppApi组合使用来实现解码器与编码器的功能。目前以RV1126为例使用MPPSDKmpp测试程序说明 查看详情

瑞芯微rv1126如何配置和编译linux内核学习笔记(代码片段)

1、配置环境./build.shdevice/rockchip/rv1126_rv1109/BoardConfig-aybering.mk2、切换到内核源码目录cdkernel3、配置内核(1)配合内核平台环境makeARCH=armrv1126_defconfig(2)使用菜单的方式配置Linux内核makeARCH=armmenuconfig4、保存配置makeARCH= 查看详情

瑞芯微rv1109sdk定制与调试总结笔记(代码片段)

...,解决串口终端乱码问题1.1、修改buildroot1、修改路径:rv1126_rv1109_linux_sdk_v1.8.0_20210224/buildroot/configs/rockchip_rv1126_rv1109_defconfig2、修改方法:去除:-BR2_TARGET_GENERIC_GETTY_BAUDRATE_1500000=y添加:+BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y此过程也... 查看详情

瑞芯微rv1126修改串口的波特率学习笔记(代码片段)

...波特率(有些平台可能不需要这一步)​修改rkbin/bin/rv11/rv1126_ddr_924MHz_v1.04.bin(也可能是其他bin,要看配置文件用的哪个),需要修改/rkbin/tools/ddrbin_par 查看详情

瑞芯微rv1126修改串口的波特率学习笔记(代码片段)

...波特率(有些平台可能不需要这一步)​修改rkbin/bin/rv11/rv1126_ddr_924MHz_v1.04.bin(也可能是其他bin,要看配置 查看详情

rv1126/rv1109ipc板+rk3568+鸿蒙ai视频解决方案

近年来,云终端产品在办公、教育、工控等行业被广泛应用,其具有实用性强、运维量小、数据存储更安全等特点,深受市场青睐。而面对复杂光照环境、人流与车流、多变人体动作等复杂场景,成像质量和画面... 查看详情

yolov5移植rv1126说明(代码片段)

YOLOV5移植RV1126说明说明实现在yolov5训练出模型,然后在rv1126设备上运行。操作过程简述在YOLOV5中训练出xxx.pt模型将pt转为onnx模型将onnx转为rknn模型部署rknn模型环境特别说明YOLOV5的运行环境是python3.8的,而rv1126的开发环境to... 查看详情

yolov5移植rv1126说明(代码片段)

YOLOV5移植RV1126说明说明实现在yolov5训练出模型,然后在rv1126设备上运行。操作过程简述在YOLOV5中训练出xxx.pt模型将pt转为onnx模型将onnx转为rknn模型部署rknn模型环境特别说明YOLOV5的运行环境是python3.8的,而rv1126的开发环境to... 查看详情

瑞芯微rv1126buildroot开发学习笔记(代码片段)

1、BuildRoot如何增加一个包?参考<TheBuildrootUserManual.pdf>第17章2、BuildRoot如何单独编译某一个包?如果修改了源码,在编译前运行make<package>-dirclean如果只是修改output目录下的东西,编译前运行make<package>... 查看详情

瑞芯微rv1126buildroot开发学习笔记(代码片段)

1、BuildRoot如何增加一个包?参考<TheBuildrootUserManual.pdf>第17章2、BuildRoot如何单独编译某一个包?如果修改了源码,在编译前运行make<package>-dirclean如果只是修改output目录下的东西,编译前运行make<package>... 查看详情

opencv4.5.4dnn人脸识别模块使用介绍--如何快速搭建一个人脸识别系统(代码片段)

...绍OpenCV4.5.4中人脸识别模块的使用和简易人脸识别系统的搭建,供大家参考。背景介绍前几天刚刚更新的OpenCV4.5.4版本将基于DNN的人脸检测和人脸识别添加到modules/objdetect中,具体更新介绍如下:OpenC 查看详情

使用python搭建人脸识别考勤系统

介绍在本文中,你将学习如何使用Python构建人脸识别系统。人脸识别比人脸检测更进一步。在人脸检测中,我们只检测人脸在图像中的位置,但在人脸识别中,我们制作了一个可以识别人的系统。“人脸识别是验... 查看详情

如何快速搭建智能人脸识别系统

作者|小白来源|小白学视觉网络安全是现代社会最关心的问题之一,确保只有特定的人才能访问设备变得极其重要,这是我们的智能手机设有两级安全系统的主要原因之一。这是为了确保我们的隐私得到维护,只有真... 查看详情

rv1126笔记十二:实现rtmp单路拉流

若该文为原创文章,转载请注明原文出处。一、介绍相比推流,拉流就简单了一点,只需要连接RTMP服务器,获取流,把数据解码出来显示和播放就可以,使用的是易百纳板子,测试时音频输出是不正常的,所以只解析了视数据... 查看详情