Firefly开源社区

标题: RV1126 适配 Debian10(搭建人脸识别云服务器) [打印本页]

作者: 板蓝根    时间: 2021-6-9 18:00
标题: RV1126 适配 Debian10(搭建人脸识别云服务器)
本帖最后由 板蓝根 于 2021-6-10 19:46 编辑

前言
    本帖主要借助人脸识别云服务器的应用来介绍 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-RV1126-JD4 上搭建一套类似的服务完成云人脸识别。

环境搭建
  硬件:Core-RV1126-JD4(配套底板)
  系统:Debian10

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

2. 拉取代码
  1. sudo apt update
  2. sudo apt install git
  3. git clone https://gitee.com/Blg-daijh/pywebservice.git -b rv1126_rockx
复制代码

3. 环境搭建
  1. sudo apt update
  2. sudo apt install libdbus-1-dev
  3. sudo apt install  libglib2.0-dev
  4. sudo apt install libdbus-glib-1-dev
  5. sudo apt install python3-pip
  6. pip3 install flask
复制代码

4. 编译识别程序
  1. 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


FAQ
1. 只有 2.0 T 算力,不适合做云服务器吧
  的确在单块 Core-RV1126-JD4,搭建服务并没有什么意义,但是 Core-RV1126-JD4 适配我们的 CS-R1 服务器!!!!,单个服务器最高可以接入 10 块 Core-RV1126-JD4

https://wiki.t-firefly.com/zh_CN/Cluster-Server-R1/started.html

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



https://wiki.t-firefly.com/zh_CN/Cluster-Server-R2/Firefly_Cluster_server_R2_product_documentation.html

2. 接入如此多 Soc 网络带宽够吗?
  CS-R2 已经适配了万兆网络,有充足的带宽

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

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


作者: liming2018    时间: 2021-6-15 14:03
学习了!!!
作者: zehao    时间: 2021-6-17 16:10
这是真的屌!
作者: tom_liu    时间: 2021-6-29 15:25
酷毙了! So cool!
作者: conda    时间: 2021-7-5 16:05
您好,我想咨询下,我用python写的代码,在ubuntu系统下使用pyinstaller进行打包,打包生成的文件,能在rv1126的debiam系统下运行吗
作者: wx_Jun_sg00u    时间: 2021-7-5 16:53
RV 666
作者: 板蓝根    时间: 2021-7-9 14:58
tom_liu 发表于 2021-6-29 15:25
酷毙了! So cool!

应该不行
作者: cff    时间: 2021-7-12 21:34

酷毙了!
作者: ziyundongqi    时间: 2021-7-14 21:36
so good
作者: 小卢    时间: 2021-7-19 15:24
RK真是强大~~收藏
作者: leo99    时间: 2021-7-27 17:19
用的是什么相机
作者: 板蓝根    时间: 2021-7-28 09:03
leo99 发表于 2021-7-27 17:19
用的是什么相机

?没有用相机
作者: LCKway    时间: 2021-8-4 11:59
学习
作者: No.小丑    时间: 2021-8-6 16:41
zehao 发表于 2021-6-17 16:10
这是真的屌!

学习了
作者: 三川之水    时间: 2021-8-10 10:00
学习
作者: tom_liu    时间: 2021-8-11 08:48
Great!
作者: leo99    时间: 2021-8-16 09:42
板蓝根 发表于 2021-7-28 09:03
?没有用相机

看到了,例子里用的是上传的图片。
作者: goodman    时间: 2021-8-28 14:54
牛B
作者: 龙傲天    时间: 2021-9-10 13:18
水水
作者: 18689798887    时间: 2021-9-13 17:57
怎么我只是替换rootfs,从buildroot换成debian,跑步起来呢,要跑debian需要改哪些地方呢?
作者: 板蓝根    时间: 2021-9-14 08:53
18689798887 发表于 2021-9-13 17:57
怎么我只是替换rootfs,从buildroot换成debian,跑步起来呢,要跑debian需要改哪些地方呢?

wiki 有说,跟着走就可以了
作者: 18689798887    时间: 2021-9-15 09:55
板蓝根 发表于 2021-9-14 08:53
wiki 有说,跟着走就可以了

跑不起来啊,我改了硬件了,跑不起来debian系统。
作者: 板蓝根    时间: 2021-9-15 10:42
18689798887 发表于 2021-9-15 09:55
跑不起来啊,我改了硬件了,跑不起来debian系统。

自行修改了硬件的,没办法提供支持,请自行分析或者联系商务
作者: 18689798887    时间: 2021-9-15 11:11
板蓝根 发表于 2021-9-15 10:42
自行修改了硬件的,没办法提供支持,请自行分析或者联系商务

先问下哈,你这个debian有没有带显示桌面?
作者: 板蓝根    时间: 2021-9-15 11:34
18689798887 发表于 2021-9-15 11:11
先问下哈,你这个debian有没有带显示桌面?

没有,你可以自己 apt 桌面环境,但是性能体验估计不会太好
作者: qiuyurui    时间: 2021-10-28 14:04
烧写debian时执行命令报错
sudo upgrade_tool ul MiniLoaderAll.bin
正常
sudo upgrade_tool di -p parameter.txt
报错:
Checking backup gpt failed

有解决方案吗
作者: 板蓝根    时间: 2021-10-29 15:18
qiuyurui 发表于 2021-10-28 14:04
烧写debian时执行命令报错
sudo upgrade_tool ul MiniLoaderAll.bin
正常

用 SDK 里面的 upgrade_tools / windows 升级工具试一试
作者: qiuyurui    时间: 2021-11-1 16:01
板蓝根 发表于 2021-10-29 15:18
用 SDK 里面的 upgrade_tools / windows 升级工具试一试

感谢版主,烧写debian后,1126的板子,adb push任何rknpu中相关的demo在本地make好后,对应的文件夹都push不上去,唯一的方法是打包gzpush上去解压,即便如此也无法执行,相应文件夹内如ssd demo
执行:./rknn_ssd_demo model/ssd_inception_v2_rv1109_rv1126.rknn model/road.bmp
报错:bash: ./rknn_ssd_demo: No such file or directory

此外在pc模拟联调也无法如buildroot系统下正常模拟仿真npu,报错:

--> Init runtime environment
I NPUTransfer: Starting NPU Transfer Client, Transfer version 2.1.0 (b5861e7@2020-11-23T11:50:36)
E RKNNAPI: rknn_init,  driver open fail!  ret = -9(ERROR_PIPE)!
E Catch exception when init runtime!
E Traceback (most recent call last):
E   File "rknn/api/rknn_base.py", line 884, in rknn.api.rknn_base.RKNNBase.init_runtime
E   File "rknn/api/rknn_runtime.py", line 341, in rknn.api.rknn_runtime.RKNNRuntime.build_graph
E Exception: RKNN init failed. error code: RKNN_ERR_DEVICE_UNAVAILABLE


麻烦帮忙看一下,万分感谢
作者: qiuyurui    时间: 2021-11-1 16:05
烧写debian系统固件后
/home/firefly下为空是否正常?
作者: wx__HDZt1I    时间: 2022-5-31 10:33
没看懂
作者: wx__HDZt1I    时间: 2022-5-31 20:18
再看一遍
# make
make: *** No targets specified and no makefile found.  Stop.
这个make是怎么用的?
作者: wx__HDZt1I    时间: 2022-5-31 20:38
qiuyurui 发表于 2021-11-1 16:05
烧写debian系统固件后
/home/firefly下为空是否正常?

正常
作者: wx__HDZt1I    时间: 2022-6-2 17:48
本帖最后由 wx__HDZt1I 于 2022-6-2 17:50 编辑

经过摸索,终于测试成功。有几个关键点教程里没提到。写教程的人层次太高,默认大家都是大神。
作者: wx__gIy2rY    时间: 2022-7-12 16:25
wx__HDZt1I 发表于 2022-6-2 17:48
经过摸索,终于测试成功。有几个关键点教程里没提到。写教程的人层次太高,默认大家都是大神。

太真实了  我是菜鸡逛社区




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1