Firefly开源社区

标题: RV1126 基于虹软人脸识别算法实现的示例使用教程 [打印本页]

作者: 799959745    时间: 2021-12-6 14:27
标题: RV1126 基于虹软人脸识别算法实现的示例使用教程
本帖最后由 799959745 于 2021-12-6 15:32 编辑

简介:
  示例(rkmedia_vi_arc_rtsp_test.cc) 使用 CORE-1126-JD4 配套的 os04a10 摄像头进行人脸识别应用开发。该示例 demo 实现的效果:rv1126 作为客户端实时发送人员数量、mac 地址、IP 地址、识别成功的人员ID、人员姓名、识别成功的图片转码为 jpg 格式并编码为 base64 的 ASCII 码字符数据。
  配套 PC 服务端 post 请求获取数据的示例 。

代码目录:
  人脸识别代码目录:
  1. sdk/app/firefly_rkmedia_demo/rkmedia_vi_arc_rtsp_test.cc
复制代码

  配套 PC 服务端 post 请求获取数据的示例代码目录:
  1. sdk/app/firefly_rkmedia_demo/rkmedia_vi_arc_rtsp_test_sdk/python_server/arcPywebservice.py
复制代码

编译与烧录:
  详情请参照本帖(firefly_rkmedia_demo 使用手册)https://dev.t-firefly.com/thread-104607-1-5.html 进行配置。
  或者参照通用维基教程 https://wiki.t-firefly.com/zh_CN ... ldroot_develop.html。这里不再赘述。

固件名称:
  1. AIO-RV1126_RV1109-JD4_IPC_2021_0904_1333
复制代码

说明:
  文件夹 sdk/firefly_rkmedia_demo/rkmedia_vi_arc_rtsp_test_sdk 内含有已经编译好了的示例 。示例提供 640x4802688x1520 两种分辨率的人脸识别。可快速进行示例使用。
示例快速使用:
1. 烧录固件。官网进行固件下载。固件名称:
  1. AIO-RV1126_RV1109-JD4_IPC_2021_0904_1333
复制代码

2. 进入操作目录
  1. cd sdk/firefly_rkmedia_demo/rkmedia_vi_arc_rtsp_test_sdk
复制代码

3. adb 推送 sdk 包到板子
  1. adb push rv1126_arc_test.tar.gz /
复制代码

4. 使用扫描应用获取摄像头 IP 地址。

5. ssh 登录到摄像头 IP 地址。ssh root@<ip>。密码:firefly。

6. 解压压缩包。
  1. tar xvf rv1126_arc_test.tar.gz
复制代码

7. 配置授权码,http 服务端的地址
  1. httpUrl=http://<设备 IP 地址>:5000/arc_face
  2. vi /etc/ffarc.cfg # 授权码找 firefly 业务拿(需要购买授权码)
复制代码

8. 手动关闭默认开启的摄像头应用
  1. /oem/RkLunch-stop.sh
复制代码

9. 执行环境配置脚本(含人脸注册;含执行网页服务器。注:网页服务器只能运行一次)
  1. /userdata/rv1126_env.sh
复制代码

10. 运行程序
  1. /userdata/rv1126_run.sh
复制代码


* 程序/脚本说明:
1. 手动创建 db 人脸数据库
  1. /userdata/ffarc/table /userdata/ffarc/firefly.db
复制代码

2. 环境配置脚本(含人脸注册,含执行网页服务器。人脸注册只运行一次,如果想要重新注册只能删掉 firefly.db 数据库,重新创建,重新注册)
  1. /userdata/rv1126_env.sh
复制代码

3. 自动运行程序
  1. /userdata/rv1126_run.sh
复制代码

* 获取推流预览地址:
1. 浏览器输入:
  1. http://<设备 ip 地址>:10008
复制代码

2. 点击推流列表-->播放地址。默认预览地址:
  1. rtsp://<设备 ip 地址>:8554/mainmain
复制代码

* Python 服务端应用
1. 目录:
  1. python_server/arcPywebservice.py
复制代码

2. 配置:
  1. 修改 python_server/ip_config.txt 配置服务端的ip地址和端口
复制代码

3. 执行:
  1. python3 ./python_server/arcPywebservice.py
复制代码


* 人脸识别分辨率切换
1. 修改 /userdata/rv1126_run.sh 选择 rkmedia_vi_arc_rtsp_test_2688_1520 或 rkmedia_vi_arc_rtsp_test_640_360 程序运行。分辨率选择分别为640x360 和 2688x1520。

* 设置环境变量
  1. export LD_LIBRARY_PATH=/userdata/ffarc/lib/
复制代码

* 手动注册人脸
把 test_data 里的图片放到 /userdata/ffarc/ffarc_tmp/
  1. cd /userdata/ffarc/ffarc_tmp/
  2. /userdata/ffarc/bin/register 李四.jpg  王五.jpg  张三.jpg  赵六.jpg # 也可以添加其他人脸,这里适合使用脚本完成
复制代码

* 运行服务器(注:必须运行服务器才能再运行人脸识别程序)
  1. /userdata/EasyDarwin-linux-8.1.0-21102107/easydarwin &
复制代码

* 运行人脸识别程序
  1. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/userdata/ffarc/lib/
  2. /userdata/ffarc/bin/rkmedia_vi_arc_rtsp_test_640_360 rtsp://127.0.0.1:8554/main
复制代码

* 首次执行环境配置脚本会删除镜头的黑白和彩色效果切换功能。重启生效。


示例执行效果:
1. EasyDarwin 服务器主界面


2. EasyDarwin 地址获取


3. 人脸识别效果预览


4. 接口数据预览
(1)rv1126 客户端(未打印图片 ASCII 码数据)


(2)PC 服务端





作者: 张文军    时间: 2022-1-6 15:19
学习..............
作者: a13378026780    时间: 2022-1-11 16:21
学习..............





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