Firefly开源社区

标题: RV1126 基于 rockx 实现的 isp 摄像头动态识别 demo [打印本页]

作者: 799959745    时间: 2021-9-2 20:40
标题: RV1126 基于 rockx 实现的 isp 摄像头动态识别 demo
本帖最后由 799959745 于 2021-11-19 14:36 编辑

rockx 可以说是最简单上手模型。目前写了一些好玩的模型应用,识别效果也都还不错。有兴趣的朋友可以上手玩玩。SDK 代码仓库已经更新。想玩的朋友可以直接按照教程上手。

# 使用手册
* demo 目前只支持 CORE-1126-JD4/CORE-1109-JD4 板型。不支持智能双目摄像头模组 CAM-C1126S2U/CAM-C1109S2U

编译 mk 文件选择

  1. ./build.sh device/rockchip/rv1126_rv1109/aio-rv1126-xhlpr.mk
复制代码


* 由于默认 mk 文件会自动编译 XHLPR_APP 车牌识别。对应的 buildroot 配置文件 sdk/buildroot/configs/firefly_rv1126_rv1109_xhlpr_defconfig
如不需要 XHLPR_APP 请保证 buildroot/configs/firefly_rv1126_rv1109_xhlpr_defconfig 已经关闭 XHLPR_APP 编译配置
  1. BR2_PACKAGE_XHLPR_APP=n
复制代码

* 请保证 buildroot 已经打开以下配置
  1. # OPENCV3
  2. BR2_PACKAGE_OPENCV3=y
  3. BR2_PACKAGE_OPENCV3_LIB_CALIB3D=y
  4. BR2_PACKAGE_OPENCV3_LIB_FEATURES2D=y
  5. BR2_PACKAGE_OPENCV3_LIB_FLANN=y
  6. BR2_PACKAGE_OPENCV3_LIB_HIGHGUI=y
  7. BR2_PACKAGE_OPENCV3_LIB_IMGCODECS=y
  8. BR2_PACKAGE_OPENCV3_LIB_IMGPROC=y
  9. BR2_PACKAGE_OPENCV3_LIB_ML=y
  10. BR2_PACKAGE_OPENCV3_LIB_OBJDETECT=y
  11. BR2_PACKAGE_OPENCV3_LIB_PHOTO=y
  12. BR2_PACKAGE_OPENCV3_LIB_SHAPE=y
  13. BR2_PACKAGE_OPENCV3_LIB_STITCHING=y
  14. BR2_PACKAGE_OPENCV3_LIB_SUPERRES=y
  15. BR2_PACKAGE_OPENCV3_LIB_TS=y
  16. BR2_PACKAGE_OPENCV3_LIB_VIDEOIO=y
  17. BR2_PACKAGE_OPENCV3_LIB_VIDEO=y
  18. BR2_PACKAGE_OPENCV3_LIB_VIDEOSTAB=y
  19. BR2_PACKAGE_OPENCV3_WITH_FFMPEG=y
  20. BR2_PACKAGE_OPENCV3_WITH_GSTREAMER1=y
  21. BR2_PACKAGE_OPENCV3_WITH_JASPER=y
  22. BR2_PACKAGE_OPENCV3_WITH_JPEG=y
  23. BR2_PACKAGE_OPENCV3_WITH_PNG=y
  24. BR2_PACKAGE_OPENCV3_WITH_PROTOBUF=y
  25. BR2_PACKAGE_OPENCV3_WITH_TIFF=y
  26. BR2_PACKAGE_OPENCV3_WITH_V4L=y
  27. BR2_PACKAGE_OPENCV3_WITH_WEBP=y

  28. # firefly_rockx_demo
  29. BR2_PACKAGE_FIREFLY_ROCKX_DEMO=y
复制代码


* 编译(回到 sdk 根目录执行)
  1. ./build.sh buildroot
复制代码

* 文件系统更新
文件系统固件路径:sdk/rockdev/rootfs.img
  1. 烧录命令:
  2. upgrade_tool di -rootfs rockdev/rootfs.img
复制代码

更多有关 buildroot 系统相关的资料与教程请移步:https://wiki.t-firefly.com/zh_CN/Firefly-RK3399/buildroot_develop.html。这里就不再赘述。

* PC Linux vlc 软件预览识别画面。需要将设备 ip 对应到链接。
  1. vlc rtsp://<设备ip>:8554/H264_stream_0
复制代码


* 可直接在浏览器输入设备 ip 即可预览识别画面(由于播放器的原因,可能会有些许卡顿)。默认账号和密码登录网页:

  1. 账号:admin
  2. 密码:admin
复制代码
* 修改识别分辨率为 2K。修改文件 rockx_app.cfg :
  1. 修改前:c:activation_conf_path=/usr/share/firefly_rockx_demo/licSever/activation.conf licSever_path=/usr/share/firefly_rockx_demo/licSever VideoNode=rkispp_scale1 VideoType=6 EnImageType=4 EnVideoWidth=1920 EnVideoHeight=1080 InImageType=4 OutImageType=18 InVideoWidth=720 InVideoHeight=576 OutVideoWidth=720 OutVideoHeight=576

  2. 修改后:c:activation_conf_path=/usr/share/firefly_rockx_demo/licSever/activation.conf licSever_path=/usr/share/firefly_rockx_demo/licSever VideoNode=rkispp_scale1 VideoType=6 EnImageType=4 EnVideoWidth=1920 EnVideoHeight=1080 InImageType=4 OutImageType=18 InVideoWidth=2688 InVideoHeight=1520 OutVideoWidth=2688 OutVideoHeight=1520
复制代码

* 请确保 VI 接口(摄像头)没有被占用。请尝试执行:RkLunch-stop.sh 关闭摄像头服务。
* 手动参考示例执行 demo。或根据需求修改以下脚本然后执行启动。
  1. # 默认启动车牌识别
  2. /usr/share/firefly_rockx_demo/start_rockx_app.sh
复制代码

* 手动执行示例 demo 则需要手动执行网页推流(不执行则网页无法预览识别结果)
  1. # 只推流视频命令
  2. ffmpeg -f rtsp -rtsp_transport tcp -i "rtsp://127.0.0.1:8554/H264_stream_0" -c  copy -f flv "rtmp://127.0.0.1/live/mainstream" &

  3. # 同时推流视频和音频命令(目前只有运行示例 rockx_face_attribute 的 rockx_face_attribute_aenc_venc_rtsp_service 能执行以下命令)
  4. ffmpeg -f rtsp -rtsp_transport tcp -i "rtsp://127.0.0.1:8554/H264_stream_0" -i "rtsp://127.0.0.1:8555/audio_stream_0" -c  copy -f flv "rtmp://127.0.0.1/live/mainstream" &
复制代码

# 示例

* rockx_carplate
# 说明
* 车牌识别
# 代码路径
* app/firefly_rockx_demo/
# 快速使用

  1. rockx_carplate_service -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
  2. rockx_carplate_client -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
复制代码
* demo 效果



* 终端打印



* rockx_face_attribute
# 说明
* 人脸特征点定位(只推流视频,无音频推流)
# 代码路径
* app/firefly_rockx_demo/
# 快速使用
  1. rockx_face_attribute_service -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
  2. rockx_face_attribute_client -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
复制代码
* demo 效果



* rockx_face_attribute
# 说明
* 人脸特征点定位(同时推流音频和视频)
# 代码路径
* app/firefly_rockx_demo/
# 快速使用
  1. rockx_face_attribute_aenc_venc_rtsp_service -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
  2. rockx_face_attribute_client -c /usr/share/firefly_rockx_demo/rockx_app.cfg &

  3. # ffmpeg 命令需要修改成以下命令
  4. ffmpeg -f rtsp -rtsp_transport tcp -i "rtsp://127.0.0.1:8554/H264_stream_0" -i "rtsp://127.0.0.1:8555/audio_stream_0" -c  copy -f flv "rtmp://127.0.0.1/live/mainstream" &
复制代码
* demo 效果



* rockx_face_landmark
# 说明
* 人脸关键点识别
# 代码路径
* app/firefly_rockx_demo/
# 快速使用
  1. rockx_face_landmark_service -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
  2. rockx_face_landmark_client -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
复制代码
* demo 效果



* rockx_face_masks_detection
# 说明
* 人脸口罩检测
# 代码路径
* app/firefly_rockx_demo/
# 快速使用
  1. rockx_face_masks_detection_service -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
  2. rockx_face_masks_detection_client -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
复制代码
* demo 效果
不戴口罩



戴口罩



* rockx_face_recognition
# 说明
* 人脸识别,需要手动输入图片。图片名字即识别显示 id。不支持中文 id 显示。
# 代码路径
* app/firefly_rockx_demo/
# 快速使用
  1. rockx_face_recognition_service -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
  2. rockx_face_recognition_client -c /usr/share/firefly_rockx_demo/rockx_app.cfg -i /path/to/id.jpg &
复制代码
* demo 效果
识别失败



识别成功



* rockx_head_detection
# 说明
* 人头检测
# 代码路径
* app/firefly_rockx_demo/
# 快速使用
  1. rockx_head_detection_service -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
  2. rockx_head_detection_client -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
复制代码
* demo 效果




* rockx_object_track
# 说明
* 人车物检测与追踪
# 代码路径
* app/firefly_rockx_demo/
# 快速使用
  1. rockx_object_track_service -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
  2. rockx_object_track_client -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
复制代码
* demo 效果



* rockx_person_detection
# 说明
* 人体识别
# 代码路径
* app/firefly_rockx_demo/
# 快速使用
  1. rockx_person_detection_service -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
  2. rockx_person_detection_client -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
复制代码
* demo 效果



* rockx_pose_body
# 说明
* 身体骨骼关键点定位
# 代码路径
* app/firefly_rockx_demo/
# 快速使用
  1. rockx_pose_body_service -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
  2. rockx_pose_body_client -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
复制代码
* demo 效果






* rockx_pose_finger
# 说明
* 手指关键点定位
# 代码路径
* app/firefly_rockx_demo/
# 快速使用
  1. rockx_pose_finger_service -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
  2. rockx_pose_finger_client -c /usr/share/firefly_rockx_demo/rockx_app.cfg &
复制代码
* demo 效果







作者: ubuntu    时间: 2021-9-22 14:57
赞, 楼主颜值爆表, 希望以后多发干货, 顺便多爆照哈.
作者: ubuntu    时间: 2021-9-22 17:06
build fail, 我用的`rv1126_rv1109_linux_ai_camera_release` REPO_SDK 软件包。
2021-09-22T15:53:09 ERROR: /opt/ws/AI_UVC_CAM-CRV1126S2U/buildroot/../app/rkaiq_switch_mode does not exist

请问您用的下面哪个软件包呢?
如果需要开发Facial_Gate类型应用请下载 `rv1126_rv1109_linux_release` REPO_SDK 软件包,

```bash
repo init  --no-clone-bundle --repo-url https://gitlab.com/firefly-linux/git-repo.git -u https://gitlab.com/firefly-linux/manifests.git -b master -m rv1126_rv1109_linux_release.xml --no-repo-verify
```

如果需要开发AI_UVC应用请下载 `rv1126_rv1109_linux_ai_camera_release` REPO_SDK 软件包。


```bash
repo init  --no-clone-bundle --repo-url https://gitlab.com/firefly-linux/git-repo.git -u https://gitlab.com/firefly-linux/manifests.git -b master -m rv1126_rv1109_linux_ai_camera_release.xml --no-repo-verify
```
作者: 799959745    时间: 2021-9-23 10:46
ubuntu 发表于 2021-9-22 17:06
build fail, 我用的`rv1126_rv1109_linux_ai_camera_release` REPO_SDK 软件包。
2021-09-22T15:53:09 ERR ...

仔细看一下说明:不支持智能双目摄像头模组 CAM-C1126S2U/CAM-C1109S2U
应该使用rv1126_rv1109_linux_release

作者: ubuntu    时间: 2021-9-23 14:18
收到, 谢谢.
作者: leo99    时间: 2021-9-23 16:01
我也遇到同样的问题了,按照wiki的提示编译固件提示进行的,然后编译时候说找不到/apprkaiq_switch_mode。这个怎么解呢?
作者: leo99    时间: 2021-9-23 16:04
ubuntu 发表于 2021-9-23 14:18
收到, 谢谢.

这个问题,你那里解决了吗?现在默认就是带这个ai的,但是app里却没有更新到。
作者: 799959745    时间: 2021-9-23 16:06
leo99 发表于 2021-9-23 16:01
我也遇到同样的问题了,按照wiki的提示编译固件提示进行的,然后编译时候说找不到/apprkaiq_switch_mode。 ...

用rv1126_rv1109_linux_release.xml编译就不会出问题
作者: leo99    时间: 2021-9-23 16:41
799959745 发表于 2021-9-23 16:06
用rv1126_rv1109_linux_release.xml编译就不会出问题

您好,谢谢回复。我是国内用户,使用的是【Docs » 源码编译】方式一进行sdk更新的,没有您说的这个文件呢?https://wiki.t-firefly.com/zh_CN/CORE-1126-JD4/Source_code.html
作者: 799959745    时间: 2021-9-24 08:52

更新一下
作者: leo99    时间: 2021-9-24 16:15
799959745 发表于 2021-9-24 08:52
更新一下

好的,重新更新了一遍,这个问题没有了。
作者: qiuyurui    时间: 2021-10-9 19:42
学习一下
作者: xuhaicheng327    时间: 2021-10-13 17:14
好资料。
作者: 炜邦    时间: 2021-11-9 09:28
前来围观大佬
作者: czx    时间: 2021-11-18 11:38
本帖最后由 czx 于 2021-11-18 12:13 编辑

编译源码的时候报错这个
CMake Error at CMakeLists.txt:33 (find_package):
  Could not find a configuration file for package "MiniLogger" that is
  compatible with requested version "".

作者: 张文军    时间: 2021-12-21 21:28
学习...............
作者: leolee    时间: 2021-12-24 11:04
请问这个demo可以用usb摄像头实现吗
作者: 799959745    时间: 2021-12-24 14:08
leolee 发表于 2021-12-24 11:04
请问这个demo可以用usb摄像头实现吗

代码是针对isp摄像头的。如果要用usb摄像头,需要自己修改代码实现。
作者: 东逝之水    时间: 2022-1-8 16:21
标题: C40PL 编译 aio-rv1126-xhlpr.mk 报错
本帖最后由 东逝之水 于 2022-1-8 16:24 编辑

我是严格按照文档操作的。但是编译出现如下问题。
我使用的是C40PL机器。sdk也是对应地址下载的。执行./build.sh aio-rv1126-jd4.mk后可以编译。执行aio-rv1126-xhlpr.mk,就出现如下错误。

2022-01-08T16:02:19 rockx_client.cpp:(.text+0xba0): undefined reference to `CARPLATE_RECOG_CODE'
2022-01-08T16:02:19 collect2: error: ld returned 1 exit status
2022-01-08T16:02:19 CMakeFiles/rockx_client.dir/build.make:120: recipe for target 'rockx_client' failed
2022-01-08T16:02:19 make[4]: *** [rockx_client] Error 1
2022-01-08T16:02:19 CMakeFiles/Makefile2:141: recipe for target 'CMakeFiles/rockx_client.dir/all' failed
2022-01-08T16:02:19 make[3]: *** [CMakeFiles/rockx_client.dir/all] Error 2
2022-01-08T16:02:19 Makefile:129: recipe for target 'all' failed
2022-01-08T16:02:19 make[2]: *** [all] Error 2
2022-01-08T16:02:19 package/pkg-generic.mk:228: recipe for target '/home/rv1126/rv1126_camera/rv1126_rv1109_linux_release_20211022/buildroot/output/firefly_rv1126_rv1109_xhlpr/build/xhlpr_app-1.0/.stamp_built' failed
2022-01-08T16:02:19 make[1]: *** [/home/rv1126/rv1126_camera/rv1126_rv1109_linux_release_20211022/buildroot/output/firefly_rv1126_rv1109_xhlpr/build/xhlpr_app-1.0/.stamp_built] Error 2
2022-01-08T16:02:19 /home/rv1126/rv1126_camera/rv1126_rv1109_linux_release_20211022/buildroot/output/firefly_rv1126_rv1109_xhlpr/Makefile:16: recipe for target '_all' failed
2022-01-08T16:02:19 make: *** [_all] Error 2
Command exited with non-zero status 1

作者: 799959745    时间: 2022-1-8 18:39
请问更新了 SDK 没?需要将 SDK 更新到最新。
如果已经更新到最新。cat /proc/version看一下信息。
作者: 799959745    时间: 2022-1-8 18:40
东逝之水 发表于 2022-1-8 16:21
我是严格按照文档操作的。但是编译出现如下问题。
我使用的是C40PL机器。sdk也是对应地址下载的。执行./bu ...


请问更新了 SDK 没?需要将 SDK 更新到最新。
如果已经更新到最新。cat /proc/version看一下信息。
作者: 东逝之水    时间: 2022-1-10 10:55
799959745 发表于 2022-1-8 18:40
请问更新了 SDK 没?需要将 SDK 更新到最新。
如果已经更新到最新。cat /proc/version看一下信息。

[root@RV1126_RV1109:~]# cat /proc/version
Linux version 4.19.111 (rv1126@rv1126) (rv1126_rv1109_linux_20211225.xml) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05)) #2 SMP PREEMPT Fri Jan 7 17:12:18 CST 2022
作者: 799959745    时间: 2022-1-10 15:27
东逝之水 发表于 2022-1-10 10:55
[root@RV1126_RV1109:~]# cat /proc/version
Linux version 4.19.111 (rv1126@rv1126) (rv1126_rv1109_l ...

我验证一下
作者: 东逝之水    时间: 2022-1-10 16:33
799959745 发表于 2022-1-10 15:27
我验证一下

您那边验证的怎么样?我编译了几次都是卡在undefined reference to `CARPLATE_RECOG_CODE'。
作者: 799959745    时间: 2022-1-10 19:25
东逝之水 发表于 2022-1-10 16:33
您那边验证的怎么样?我编译了几次都是卡在undefined reference to `CARPLATE_RECOG_CODE'。

sdk 的 rockx 部分更新了,但是 firefly_rockx_demo 仓库没有同步过来,现在正在编译验证。firefly_rockx_demo已经编译通过了。功能还没验证
作者: 东逝之水    时间: 2022-1-11 08:37
功能能实现吗?我需要怎样做才能编译通过?
作者: 799959745    时间: 2022-1-11 10:32
东逝之水 发表于 2022-1-11 08:37
功能能实现吗?我需要怎样做才能编译通过?

预计这两天内适配+验证。完成之后给你回复。
作者: 东逝之水    时间: 2022-1-12 15:16
799959745 发表于 2022-1-11 10:32
预计这两天内适配+验证。完成之后给你回复。

适配的怎么样?现在着急用你们这个功能。
作者: 799959745    时间: 2022-1-12 16:18
东逝之水 发表于 2022-1-12 15:16
适配的怎么样?现在着急用你们这个功能。

更新了 sdk2.0。改动较大。你先这样:
1、cd sdk/

2、ls -l .repo/manifest.xml  #看一下版本链接应该是 rv1126_rv1109_linux_20211225.xml
3、ln -sf .repo/manifest.xml .repo/manifests/rv1126_rv1109/rv1126_rv1109_linux_20211206.xml  #链接回旧版本的sdk。

4、ls -l .repo/manifest.xml #确认已经链接旧的sdk版本
5、repo sync -c #同步回退SDK代码
6、删掉原来编译的 buildroot/output/ 文件夹
7、重新按照教程操作

作者: 东逝之水    时间: 2022-1-12 16:47
rv1126@rv1126:~/rv1126_camera/rv1126_rv1109_linux_release_20211022$ ls -l .repo/manifest.xml
lrwxrwxrwx 1 rv1126 rv1126 41 3月   3  2021 .repo/manifest.xml -> manifests/rv1126_rv1109_linux_release.xml
rv1126@rv1126:~/rv1126_camera/rv1126_rv1109_linux_release_20211022$ ln -sf .repo/manifest.xml .repo/manifests/rv1126_rv1109/rv1126_rv1109_linux_20211206.xml
ln: 无法创建符号链接'.repo/manifests/rv1126_rv1109/rv1126_rv1109_linux_20211206.xml': 没有那个文件或目录
rv1126@rv1126:~/rv1126_camera/rv1126_rv1109_linux_release_20211022$ ln -sf .repo/manifest.xml .repo/manifests/rv1126_rv1109/rv1126_rv1109_linux_20211206.xml


显示无法创建符号链接

作者: 东逝之水    时间: 2022-1-12 16:51
799959745 发表于 2022-1-12 16:18
更新了 sdk2.0。改动较大。你先这样:
1、cd sdk/

rv1126@rv1126:~/rv1126_camera/rv1126_rv1109_linux_release_20211022/.repo/manifests$ ls
px30_linux                rk3399_linux                  rk356x_openwrt_release.xml
px30_linux_release.xml    rk3399_linux4.19_release.xml  rv1126_rv1109_linux
rk1808_linux              rk3399_linux_release.xml      rv1126_rv1109_linux_ai_camera_release.xml
rk1808_linux_release.xml  rk3399pro_linux               rv1126_rv1109_linux_release.xml
rk3288_linux              rk3399pro_linux_release.xml   yocto_release.xml
rk3288_linux_release.xml  rk356x_linux                  yocto.xml
rk3328_linux_release.xml  rk356x_linux_release.xml


我的xml文件只有这些

我可以下载你们新的sdk,只要功能能实现就行.
作者: 东逝之水    时间: 2022-1-12 17:34
799959745 发表于 2022-1-12 16:18
更新了 sdk2.0。改动较大。你先这样:
1、cd sdk/

我找到rv1126_rv1109/rv1126_rv1109_linux_20211206.xml,这个文件。链接过去了。也同步退回SDK了。编译的时候又报下面的错误。
./build.sh cleanall 和   删除buildroot/output/文件夹都报同样的错误。


2022-01-11T10:18:28 [ 55%] Building CXX object CMakeFiles/rkuac.dir/src/uevent.cpp.o
2022-01-11T10:18:28 In file included from /home/rv1126/rv1126_camera/rv1126_rv1109_linux_release_20211022/buildroot/output/firefly_rv1126_rv1109_xhlpr/build/uac_app/src/graph_control.cpp:18:
2022-01-11T10:18:28 /home/rv1126/rv1126_camera/rv1126_rv1109_linux_release_20211022/buildroot/output/firefly_rv1126_rv1109_xhlpr/build/uac_app/src/graph_control.h:21:10: fatal error: rockit/rt_header.h: No such

file or directory
2022-01-11T10:18:28 #include <rockit/rt_header.h>
2022-01-11T10:18:28 ^~~~~~~~~~~~~~~~~~~~
2022-01-11T10:18:28 compilation terminated.
2022-01-11T10:18:28 CMakeFiles/rkuac.dir/build.make:62: recipe for target 'CMakeFiles/rkuac.dir/src/graph_control.cpp.o' failed

作者: 799959745    时间: 2022-1-13 09:00
东逝之水 发表于 2022-1-12 17:34
我找到rv1126_rv1109/rv1126_rv1109_linux_20211206.xml,这个文件。链接过去了。也同步退回SDK了。编译 ...

试一下回退到这个版本:rv1126_rv1109_linux_20210904.xml
作者: 东逝之水    时间: 2022-1-13 09:44
799959745 发表于 2022-1-13 09:00
试一下回退到这个版本:rv1126_rv1109_linux_20210904.xml

我回退会0904版本了。还是这个错误。是不是哪里不对啊。你那里能编译过去吗?

ot/output/firefly_rv1126_rv1109_xhlpr/build/uac_app/src/graph_control.cpp:18:
2022-01-11T10:18:28 /home/rv1126/rv1126_camera/rv1126_rv1109_linux_release_20211022/buildroot/output/firefly_rv1126_rv1109_xhlpr/build/uac_app/src/graph_control.h:21:10: fatal error: rockit/rt_header.h: No such file or directory
2022-01-11T10:18:28 #include <rockit/rt_header.h>
2022-01-11T10:18:28 ^~~~~~~~~~~~~~~~~~~~
2022-01-11T10:18:28 compilation terminated.
2022-01-11T10:18:28 CMakeFiles/rkuac.dir/build.make:62: recipe for target 'CMakeFiles/rkuac.dir/src/graph_control.cpp.o' failed

作者: 799959745    时间: 2022-1-13 11:04
回退版本后,需要删掉output目录重新编译才行的
作者: 799959745    时间: 2022-1-13 11:05
东逝之水 发表于 2022-1-13 09:44
我回退会0904版本了。还是这个错误。是不是哪里不对啊。你那里能编译过去吗?

ot/output/firefly_rv11 ...

重新编译了吗?
作者: 东逝之水    时间: 2022-1-13 14:56
799959745 发表于 2022-1-13 11:05
重新编译了吗?

重新编译还是有错误。我能不能只编译一个xhlpr_app
作者: 东逝之水    时间: 2022-1-13 16:25
我现在用的你们的C40PL相机。只要能实现车牌识别的demo就行。
作者: 799959745    时间: 2022-1-13 16:37
可以的,用xhlpr_app需要购买授权码。联系商务获取。有固定固件。看一下置顶的帖子。
作者: 东逝之水    时间: 2022-1-13 16:53
799959745 发表于 2022-1-13 16:37
可以的,用xhlpr_app需要购买授权码。联系商务获取。有固定固件。看一下置顶的帖子。

这个授权是收费的吗?大概多少钱。打400,接电话的人完全不懂啊!
作者: 东逝之水    时间: 2022-1-13 16:59
东逝之水 发表于 2022-1-13 16:53
这个授权是收费的吗?大概多少钱。打400,接电话的人完全不懂啊!

置顶的帖子是哪个。有链接吗。我这里也看不到有说授权的地方啊
作者: 799959745    时间: 2022-1-13 17:00
东逝之水 发表于 2022-1-13 16:53
这个授权是收费的吗?大概多少钱。打400,接电话的人完全不懂啊!

你跟商务说,买一个薪火车牌识别授权码。他们就懂了。
作者: 799959745    时间: 2022-1-13 17:02
东逝之水 发表于 2022-1-13 16:59
置顶的帖子是哪个。有链接吗。我这里也看不到有说授权的地方啊

看一下这个帖子:https://dev.t-firefly.com/thread-104518-1-1.html
作者: 东逝之水    时间: 2022-1-13 17:14
799959745 发表于 2022-1-13 17:02
看一下这个帖子:https://dev.t-firefly.com/thread-104518-1-1.html

你们这个不是基于瑞芯微rockx做的吗?当时你们400接电话的明确告诉我不收费。
作者: 799959745    时间: 2022-1-13 17:26
东逝之水 发表于 2022-1-13 17:14
你们这个不是基于瑞芯微rockx做的吗?当时你们400接电话的明确告诉我不收费。

算法不一样。
xhlpr_app不是基于rockx做的。基于算法公司做的。这个是收费的。
firefly_rockx_demo 才是 rockx 做的。这个是免费。
固件readme说明:
9月4号的sdk是肯定可以编译通过的。这个已经验证过了。
AIO-RV1126_RV1109-JD4_IPC_2021_0904_1333

        作者:吕仕宪
        版本:rv1126_rv1109_linux_20210904.xml
        描述:更新软件仓库

        1.ssh 登录密码修改为 firefly
        2.添加 firefly_rockx_demo 仓库
作者: 东逝之水    时间: 2022-1-13 17:29
firefly_rockx_demo这里跑的车牌识别不是薪火的吧
作者: 799959745    时间: 2022-1-13 17:38
东逝之水 发表于 2022-1-13 17:29
firefly_rockx_demo这里跑的车牌识别不是薪火的吧

不是啊。仓库名都写着rockx了。
在配置编译选项的时候就是让关掉编译xhlpr_app。因为用的算法不一样。
作者: 799959745    时间: 2022-1-13 17:40
回退代码的时候看一下有没有回退成功。进入仓库用 git log 命令看一下最新的提交是否对上xml上写的提交号。
作者: 东逝之水    时间: 2022-1-14 10:57
799959745 发表于 2022-1-13 17:40
回退代码的时候看一下有没有回退成功。进入仓库用 git log 命令看一下最新的提交是否对上xml上写的提交号。

还是编译有问题。git log 看不出问题。

能不能把虚拟机发我一下。我直接用你的环境编译。



作者: 东逝之水    时间: 2022-1-14 11:42
东逝之水 发表于 2022-1-14 10:57
还是编译有问题。git log 看不出问题。

能不能把虚拟机发我一下。我直接用你的环境编译。

n Execute
    project.Sync_LocalHalf(syncbuf, force_sync=opt.force_sync)
  File "/home/camera/rv1126_camera/rv1126_rv1109_linux_release_20211022/.repo/repo/project.py", line 1428, in Sync_LocalHalf
    if committer_email == self.UserEmail:
  File "/home/camera/rv1126_camera/rv1126_rv1109_linux_release_20211022/.repo/repo/project.py", line 793, in UserEmail
    self._LoadUserIdentity()
  File "/home/camera/rv1126_camera/rv1126_rv1109_linux_release_20211022/.repo/repo/project.py", line 797, in _LoadUserIdentity
    u = self.bare_git.var('GIT_COMMITTER_IDENT')
  File "/home/camera/rv1126_camera/rv1126_rv1109_linux_release_20211022/.repo/repo/project.py", line 2747, in runner
    (self._project.name, name, p.stderr))
error.GitError: app/aiserver var:
*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'camera@camera.(none)')



回退版本出现上边内容。
编译还是出错误。
作者: 799959745    时间: 2022-1-14 16:11
东逝之水 发表于 2022-1-14 11:42
n Execute
    project.Sync_LocalHalf(syncbuf, force_sync=opt.force_sync)
  File "/home/camera/rv ...

都报错了,回退都没有成功。编译肯定会报错的。
你试一下指定 xml 拉取代码:
新建个文件夹,在文件夹下执行:
  1. repo init  --no-clone-bundle --repo-url https://gitlab.com/firefly-linux/git-repo.git -u https://gitlab.com/firefly-linux/manifests.git -b master -m rv1126_rv1109_linux/rv1126_rv1109_linux_20210904.xml
复制代码


成功后再执行:
  1. repo sync -c
  2. #需反复确认代码下载是否成功
复制代码



作者: 东逝之水    时间: 2022-1-17 09:06
799959745 发表于 2022-1-14 16:11
都报错了,回退都没有成功。编译肯定会报错的。
你试一下指定 xml 拉取代码:
新建个文件夹,在文件夹 ...

这个命令有问题。没法回退版本。
有rockx demo的固件是哪个我下载一个直接烧录进去。
作者: 799959745    时间: 2022-1-17 09:14
东逝之水 发表于 2022-1-17 09:06
这个命令有问题。没法回退版本。
有rockx demo的固件是哪个我下载一个直接烧录进去。

这不是回退版本的命令。这是重新拉一份指定版本的SDK源代码命令。这个命令维基上就有,我改了版本号而已。
作者: 东逝之水    时间: 2022-1-17 09:21
AIO-RV1126_RV1109-JD4_IPC_2021_0904_1333

    作者:吕仕宪
    版本:rv1126_rv1109_linux_20210904.xml
    描述:更新软件仓库

    1.ssh 登录密码修改为 firefly
    2.添加 firefly_rockx_demo 仓库

我烧录这个版本的AIO-RV1126_RV1109-JD4_IPC_2021_0904_1333这个版本的固件为什么没有
firefly_rockx_demo这个demo呢
作者: 799959745    时间: 2022-1-17 14:09
东逝之水 发表于 2022-1-17 09:21
AIO-RV1126_RV1109-JD4_IPC_2021_0904_1333

    作者:吕仕宪

因为公版固件默认是IPC固件
作者: 东逝之水    时间: 2022-1-17 14:28
799959745 发表于 2022-1-17 14:09
因为公版固件默认是IPC固件

哪个固件有firefly_rockx_demo这个demo
作者: 799959745    时间: 2022-1-17 14:44
东逝之水 发表于 2022-1-17 14:28
哪个固件有firefly_rockx_demo这个demo

没有。。。。
作者: 东逝之水    时间: 2022-1-17 14:58
799959745 发表于 2022-1-17 14:44
没有。。。。

那我怎么编译出它呢?

作者: 799959745    时间: 2022-1-17 15:36
东逝之水 发表于 2022-1-17 14:58
那我怎么编译出它呢?

算了,我编一个出来。。。
作者: 东逝之水    时间: 2022-1-17 15:54
799959745 发表于 2022-1-17 15:36
算了,我编一个出来。。。

好。最好把sdk放到百度云上。谢谢
用repo init 对我们环境要求太高。python总出问题。还需要翻墙。
作者: 799959745    时间: 2022-1-17 16:46
sdk放不了。这个不是我管理的。
作者: 东逝之水    时间: 2022-1-17 17:19
799959745 发表于 2022-1-17 16:46
sdk放不了。这个不是我管理的。

编译好的固件我从哪里下载
作者: 799959745    时间: 2022-1-17 17:44
没那么快,编译需要5-7个小时。
作者: 东逝之水    时间: 2022-1-18 08:36
799959745 发表于 2022-1-17 17:44
没那么快,编译需要5-7个小时。


作者: 799959745    时间: 2022-1-18 09:41
东逝之水 发表于 2022-1-18 08:36

链接: https://pan.baidu.com/s/1EYDnzkX4Sjhe2M7-rbGwsg
密码: aa1p
作者: 东逝之水    时间: 2022-1-18 11:01
这个固件能用web页或者rtsp浏览吗?我这里没有图像
作者: 799959745    时间: 2022-1-18 11:06
东逝之水 发表于 2022-1-18 11:01
这个固件能用web页或者rtsp浏览吗?我这里没有图像

你看一下教程啊。没有自启动应用的。要自己修改启动:/etc/init.d/S99_rockx。把注释的那行给取消注释,重启就能自启动了。
作者: 东逝之水    时间: 2022-1-18 11:13
我说的是rtsp看图像。这个固件不能用vlc预览。这个也需要设置吗。教程里没说啊
作者: 1142688779    时间: 2022-2-12 17:12
799959745 发表于 2021-9-24 08:52
更新一下

这个人脸识别不是用的模型做的么?我怎么没有找到.rknn的模型在哪儿啊?
作者: 799959745    时间: 2022-2-14 09:45
1142688779 发表于 2022-2-12 17:12
这个人脸识别不是用的模型做的么?我怎么没有找到.rknn的模型在哪儿啊?

是用模型做的。rockchip把这个模型做成.data数据。用rockx接口去对接这个数据。.data数据可以在sdk/app/firefly_rockx_demo/rockx-data-rv1109/能看到。
作者: 1142688779    时间: 2022-2-14 09:48
799959745 发表于 2022-2-14 09:45
是用模型做的。rockchip把这个模型做成.data数据。用rockx接口去对接这个数据。.data数据可以在sdk/app/f ...

那如果想修改这个模型或者优化这个模型该怎么优化呢?还是说这个模型基本上就不用优化了?如果用RKNN的模型实现不用.data的形式实现有该怎么做呢?
作者: 799959745    时间: 2022-2-14 10:05
1142688779 发表于 2022-2-14 09:48
那如果想修改这个模型或者优化这个模型该怎么优化呢?还是说这个模型基本上就不用优化了?如果用RKNN的模 ...

1、rockx模型优化不了。rockx模型是rockchip开发的,这个是闭源的。有关rockx的接口耗时基本是根据输入图片的分辨率大小决定的。
2、使用RKNN模型的示例:sdk/external/rknpu/rknn/rknn_api/examples。
相关文档:sdk/external/rknpu/rknn/doc/Rockchip_User_Guide_RKNN_API_V1.6.0_CN.pdf。
作者: 1142688779    时间: 2022-2-14 10:29
799959745 发表于 2022-2-14 10:05
1、rockx模型优化不了。rockx模型是rockchip开发的,这个是闭源的。有关rockx的接口耗时基本是根据输入图 ...

那rockx的模型一共有多少种?在哪里可以下载呢?还是就SDK里对应的这些呢?
作者: 799959745    时间: 2022-2-14 15:11
1142688779 发表于 2022-2-14 10:29
那rockx的模型一共有多少种?在哪里可以下载呢?还是就SDK里对应的这些呢?

在sdk/external/rockx/sdk/rockx-data-rv1109/目录下。
  1. body_detection.data        face_attribute.data                face_detection_v3_large.data  face_recognition.data           object_detection_ipc.data  pose_finger.data
  2. body_mask.data             face_detection_v2.data             face_landmark5.data           head_detection.data             person_detection_v2.data   pose_hand.data
  3. carplate_align.data        face_detection_v2_horizontal.data  face_landmarks68.data         head_detection_v2_640X480.data  person_detection_v3.data
  4. carplate_detection.data    face_detection_v3.data             face_mask_classify.data       object_color_attribute.data     pose_body.data
  5. carplate_recognition.data  face_detection_v3_fast.data        face_masks_detection.data     object_detection.data           pose_body_v2.data
复制代码

目录下有这么多模型,都在sdk里面。sdk获取方法请详见firefly官网rv1126 wiki教程。
作者: 1142688779    时间: 2022-3-1 17:12
大神您好  如果我想用别的mipi摄像头 驱动我已经移植好了  也能获取到摄像头的图像  如果我要使用这些应用需要改哪些地方呢?
作者: 799959745    时间: 2022-3-2 08:54
1142688779 发表于 2022-3-1 17:12
大神您好  如果我想用别的mipi摄像头 驱动我已经移植好了  也能获取到摄像头的图像  如果我要使用这些应用 ...

修改摄像头初始化部分,RKAIQ换成你的摄像头初始化
作者: 1142688779    时间: 2022-3-2 15:21
799959745 发表于 2022-3-2 08:54
修改摄像头初始化部分,RKAIQ换成你的摄像头初始化

在哪儿修改RKAIQ呢?
作者: 799959745    时间: 2022-3-3 17:31
主要修改源码的定义RKAIQ的部分。换成你的驱动。
  1. #ifdef RKAIQ
  2.                 printf("#Rkaiq XML DirPath: %s\n", session_cfg->iq_file_path);
  3.                 printf("#bMultictx: %d\n\n", bMultictx);
  4.                 rk_aiq_working_mode_t hdr_mode = RK_AIQ_WORKING_MODE_NORMAL;
  5.                 int fps = 25;
  6.                 SAMPLE_COMM_ISP_Init(s32CamId, hdr_mode, bMultictx, session_cfg->iq_file_path);
  7.                 SAMPLE_COMM_ISP_Run(s32CamId);
  8.                 SAMPLE_COMM_ISP_SetFrameRate(s32CamId, fps);
  9.                 SAMPLE_COMM_ISP_SET_mirror(s32CamId, 1);
  10. #endif
复制代码




作者: 1142688779    时间: 2022-3-4 23:27
799959745 发表于 2022-3-3 17:31
主要修改源码的定义RKAIQ的部分。换成你的驱动。

这个代码在那个文件里面呢?
作者: 799959745    时间: 2022-3-5 09:00
1142688779 发表于 2022-3-4 23:27
这个代码在那个文件里面呢?

帖子已经写了啊
# 代码路径
* sdk/app/firefly_rockx_demo/
作者: 1142688779    时间: 2022-3-8 11:28
本帖最后由 1142688779 于 2022-3-8 11:45 编辑

v4l2-ctl -d /dev/video19 \--set-fmt-video=width=1920,height=1080,pixelformat=JPEG\--stream-mmap=3 \--stream-skip=3 \--stream-to=/tmp/2.JPG \--stream-count=1 \--stream-poll
这条指令能拍jpg格式的图片吗?CSI的摄像头  


作者: 1142688779    时间: 2022-3-9 12:01

大佬 ,我想再问一下这里面的这个activation.conf文件是干嘛的?我看里面就写了一个zstq_lpr_test,这个文件的作用是什么呢?还有就是我看着里面的摄像头的节点写的是VideoNode=/dev/video27   我换了摄像头了是不是就不是video27了  ,需要自己去看一下到底是哪个节点?


作者: 799959745    时间: 2022-3-9 14:30
1142688779 发表于 2022-3-9 12:01
大佬 ,我想再问一下这里面的这个activation.conf文件是干嘛的?我看里面就写了一个zstq_lpr_test,这个 ...

rockx 没用到这个文件,留下来是为了兼容薪火车牌识别算法的代码。
节点使用这个维基都有写的。
作者: 1142688779    时间: 2022-3-9 14:58
799959745 发表于 2022-3-9 14:30
rockx 没用到这个文件,留下来是为了兼容薪火车牌识别算法的代码。
节点使用这个维基都有写的。

能把节点使用的链接 发给我一下么?没找到
作者: 799959745    时间: 2022-3-9 15:23
1142688779 发表于 2022-3-9 14:58
能把节点使用的链接 发给我一下么?没找到

grep '' /sys/class/video4linux/video*/name
作者: 1142688779    时间: 2022-3-9 15:30
799959745 发表于 2022-3-9 15:23
grep '' /sys/class/video4linux/video*/name

哦,那除了改这个文件里面的节点改了,如果想跑这个应用的话 ,这两个文件里面还用改什么吗?比如节点信息什么的?因为我看这个文件中有个/dev/video25,这是不是也要改成自己相应的节点?
作者: 799959745    时间: 2022-3-14 11:45
1142688779 发表于 2022-3-9 15:30
哦,那除了改这个文件里面的节点改了,如果想跑这个应用的话,这两个文件里面还用改什么吗?比如节点信息 ...

你试着改一下咯
作者: ubuntu    时间: 2022-7-6 15:31
799959745 发表于 2022-3-14 11:45
你试着改一下咯

兄台请教一下, 这个节点要修改为哪个呢?
年前我这边测试可以跑通, 昨天更新code 后无法跑通,显示节点错误了。
完整log : https://note.88.uy/8
版本信息:

[root@RV1126_RV1109:/usr/share/firefly_rockx_demo]# cat /proc/version
Linux version 4.19.111 (root@bda35bbf6da1) (kernel commit id: 85988bd7b1fc67ac96e868b90f4e676f44c713ae) (sdk version: rv1126_rv1109_linux_release_20220324_v2.2.5b.xml) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05)) #4 SMP PREEMPT Tue Jul 5 15:32:15 HKT 2022

异常log:

[RKMEDIA][SYS][Info]:#V4l2Stream: camraID:0, Device:/dev/video27
[RKMEDIA][SYS][Info]:#V4l2Stream: camera id:0, VideoNode:/dev/video27
[RKMEDIA][SYS][Error]:V4L2-CTX: open /dev/video27 failed No such file or directory
[RKMEDIA][VI][Info]:Create stream v4l2_capture_stream failed
[RKMEDIA][VI][Info]:#SourceStreamFlow[]: stream off....


[root@RV1126_RV1109:/usr/share/firefly_rockx_demo]# grep '' /sys/class/video4lin
ux/video*/name
/sys/class/video4linux/video0/name:stream_cif_mipi_id0
/sys/class/video4linux/video1/name:stream_cif_mipi_id1
/sys/class/video4linux/video10/name:rkisp_rawwr3
/sys/class/video4linux/video11/name:rkisp_rawrd0_m
/sys/class/video4linux/video12/name:rkisp_rawrd2_s
/sys/class/video4linux/video13/name:rkisp_rawrd1_l
/sys/class/video4linux/video14/name:rkisp-statistics
/sys/class/video4linux/video15/name:rkisp-input-params
/sys/class/video4linux/video16/name:rkisp-mipi-luma
/sys/class/video4linux/video17/name:rkispp_input_image
/sys/class/video4linux/video18/name:rkispp_m_bypass
/sys/class/video4linux/video19/name:rkispp_scale0
/sys/class/video4linux/video2/name:stream_cif_mipi_id2
/sys/class/video4linux/video20/name:rkispp_scale1
/sys/class/video4linux/video21/name:rkispp_scale2
/sys/class/video4linux/video22/name:rkispp_iqtool
/sys/class/video4linux/video23/name:rkispp_input_params
/sys/class/video4linux/video24/name:rkispp-stats
/sys/class/video4linux/video3/name:stream_cif_mipi_id3
/sys/class/video4linux/video4/name:rkcif-mipi-luma
/sys/class/video4linux/video5/name:rkisp_mainpath
/sys/class/video4linux/video6/name:rkisp_selfpath
/sys/class/video4linux/video7/name:rkisp_rawwr0
/sys/class/video4linux/video8/name:rkisp_rawwr1
/sys/class/video4linux/video9/name:rkisp_rawwr2
[root@RV1126_RV1109:/usr/share/firefly_rockx_demo]#



作者: 799959745    时间: 2022-7-6 16:40
因为rkmedia摄像头调用的方式发生了改变,你需要用最新的代码编译来跑
作者: ubuntu    时间: 2022-7-6 17:35
799959745 发表于 2022-7-6 16:40
因为rkmedia摄像头调用的方式发生了改变,你需要用最新的代码编译来跑

谢谢回复, 我就是今天.repo/repo/repo sync -c --no-tags更新到最新的code。
您看看#89的版本信息没错吧?
作者: 799959745    时间: 2022-7-7 14:21
ubuntu 发表于 2022-7-6 17:35
谢谢回复, 我就是今天.repo/repo/repo sync -c --no-tags更新到最新的code。
您看看#89的版本信息没错 ...

版本信息没错
作者: ubuntu    时间: 2022-7-7 17:42
按照您#91 说的版本信息无错的话,
那就不用考虑您#89 说的“因为rkmedia摄像头调用的方式发生了改变,你需要用最新的代码编译来跑”版本问题。
参考#88 楼提供的异常log,请教可否帮忙分析一下?
感激不尽!
作者: ubuntu    时间: 2022-7-12 08:44
799959745 发表于 2022-7-7 14:21
版本信息没错

兄台有什么建议吗?
作者: yegrand    时间: 2022-10-17 16:23
你好  rockx demo可以用gc2053模组吗.如果不行,那是什么问题

image.png (55.59 KB, 下载次数: 790)

image.png

作者: 799959745    时间: 2022-10-17 16:45
gc2053 不是双目摄像头模组吗?firefly_rockx_demo 目前没适配智能双目摄像头模组。如果需要可以自行编程适配。
作者: 799959745    时间: 2022-10-17 16:45
yegrand 发表于 2022-10-17 16:23
你好  rockx demo可以用gc2053模组吗.如果不行,那是什么问题

gc2053 不是双目摄像头模组吗?firefly_rockx_demo 目前没适配智能双目摄像头模组。如果需要可以自行编程适配。
作者: yegrand    时间: 2022-10-17 17:29
799959745 发表于 2022-10-17 16:45
gc2053 不是双目摄像头模组吗?firefly_rockx_demo 目前没适配智能双目摄像头模组。如果需要可以自行编程 ...

是的,如何适配呢,这方面有资料吗
作者: 799959745    时间: 2022-10-18 10:36
rkmedia 有提供双目摄像头的 demo 。rkmedia 也有相关开发文档。自行参考开发吧。
作者: yjhgogo    时间: 2022-10-24 11:18
1142688779 发表于 2022-3-1 17:12
大神您好  如果我想用别的mipi摄像头 驱动我已经移植好了  也能获取到摄像头的图像  如果我要使用这些应用 ...

您好,请问一下您用的mipi摄像头是哪款呀,我最近买了rv1126的开发板,准备学着做一个可变焦的图像采集系统,现在在摄像头的选择上很迷茫,不知道板子支持哪些,所以想和您请教一下




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