复现MIlk-V Duo 256MB行人检测失败,请问如何解决
测试步骤:
编译:
行人检测程序源码位置:
Duo256M and DuoS:sample_vi_od.c
参考:https://github.com/milkv-duo/duo-tdl-examples/blob/master/README-zh.md
中的方法编译示例程序。
git clone https://github.com/milkv-duo/duo-tdl-examples.git
cd duo-tdl-examples
source envsetup.sh
第一次加载会自动下载所需的编译工具链,下载后的目录名为host-tools
,下次再加载编译环境时,会检测该目录,如果已存在则不会再次下载。
加载编译环境时需要按提示输入所需编译目标:
Select Product:
1. Duo (CV1800B)
2. Duo256M (SG2002) or DuoS (SG2000)
如果目标板是 Duo 则选择 1
,如果目标板是 Duo256M 或者 DuoS 则选择 2
。由于 Duo256M 和 DuoS 支持 RISCV 和 ARM 两种架构,还需要按提示继续选择:
Select Arch:
1. ARM64
2. RISCV64
Which would you like:
如果测试程序需要在 ARM 系统中运行,选择 1
,如果是 RISCV 系统则选择 2
。
检测的示例程序为 sample_vi_od
,进入到 sample_vi_od 目录:
cd sample_vi_od
使用 make
命令编译:
make
将当前目录中生成的 sample_vi_fd
程序通过 scp 或者其他方式上传到 Duo 系列开发板中进行测试。如需清除编译生成的程序,可以执行 make clean
清除。
下载用于行人检测的 cvimodel :
同样用 scp 将 cvimodel 上传到 Duo 开发板中。
运行示例
通过串口或者 ssh 登陆到 Duo 的终端。
在 Duo 的终端中为测试程序添加可执行权限
chmod +x sample_vi_od
在 Duo 的终端中执行测试程序:
Duo256M 和 DuoS:
./sample_vi_od mobiledetv2-pedestrian mobiledetv2-pedestrian-d0-ls-448.cvimodel
Duo 终端中会显示类似如下信息:
[root@milkv-duo]~# ./sample_vi_od yolov8-person-pets pet_det_640x384.cvimodel
[SAMPLE_COMM_SNS_ParseIni]-2168: Parse /mnt/data/sensor_cfg.ini
[parse_source_devnum]-1761: devNum = 1
[parse_sensor_name]-1842: sensor = GCORE_GC2083_MIPI_2M_30FPS_10BIT
[parse_sensor_busid]-1871: bus_id = 2
[parse_sensor_i2caddr]-1882: sns_i2c_addr = 37
[parse_sensor_mipidev]-1893: mipi_dev = 0
[parse_sensor_laneid]-1904: Lane_id = 1, 0, 2, -1, -1
[parse_sensor_pnswap]-1915: pn_swap = 0, 0, 0, 0, 0
MMF Version:7d0dea0a1-64bit
Create VBPool[0], size: (3110400 * 3) = 9331200 bytes
Create VBPool[1], size: (3110400 * 3) = 9331200 bytes
Create VBPool[2], size: (2359296 * 1) = 2359296 bytes
Total memory of VB pool: 21021696 bytes
Initialize SYS and VB
Cannot open '/dev/cvi-vo': 2, No such file or directory
Initialize VI
ISP Vipipe(0) Allocate pa(0x8c70e000) va(0x0x3fc1fea000) size(284096)
stSnsrMode.u16Width 1920 stSnsrMode.u16Height 1080 30.000000 wdrMode 0 pstSnsObj 0x3fc2d263e8
[SAMPLE_COMM_VI_StartMIPI]-494: sensor 0 stDevAttr.devno 0
awbInit ver 6.9@2021500
0 R:1400 B:3100 CT:2850
1 R:1500 B:2500 CT:3900
2 R:2300 B:1600 CT:6500
Golden 1024 1024 1024
WB Quadratic:0
isWdr:0
ViPipe:0,===GC2083 1080P 30fps 10bit LINE Init OK!===
********************************************************************************
cvi_bin_isp message
gerritId: NULL commitId: 7d0dea0a1
md5: 9b60189725b5bcb970ec86e4bbdbf600
sensorNum 1
sensorName0 2083
PQBIN message
gerritId: 80171 commitId: 5c9d8fc5d
md5: ba5a510e093ad42db6788e6c2d13169e
sensorNum 3
sensorName0 2053
author: wanqiang.he desc: 思博慧CV1812H_GC2083_RGB_mode_V1.0.0
createTime: 2023-08-04 16:48:08version: V1.1
tool Version: v3.0.5.24 mode:
********************************************************************************
sensorName(0) mismatch, mwSns:2083 != pqBinSns:2053
JSON_READ_ERR:DATA_TYPE 76(L) vc_motion.MotionThreshold
JSON_READ_ERR:NOT_EXIST 70(L) AWBAttrEx.u16MultiLSThr
JSON_READ_ERR:NOT_EXIST 70(L) AWBAttrEx.u16CALumaDiff
JSON_READ_ERR:NOT_EXIST 70(L) AWBAttrEx.u16CAAdjustRatio
JSON_READ_ERR:NOT_EXIST 70(L) AWBAttrEx.stInterference
[SAMPLE_COMM_ISP_Thread]-390: ISP Dev 0 running!
Initialize VPSS
---------VPSS[0]---------
Input size: (1920x1080)
Input format: (19)
VPSS physical device number: 1
Src Frame Rate: -1
Dst Frame Rate: -1
--------CHN[0]-------
Output size: (1920x1080)
Depth: 1
Do normalization: 0
Src Frame Rate: -1
Dst Frame Rate: -1
----------------------
--------CHN[1]-------
Output size: (1920x1080)
Depth: 1
Do normalization: 0
Src Frame Rate: -1
Dst Frame Rate: -1
----------------------
------------------------
Bind VI with VPSS Grp(0), Chn(0)
Attach VBPool(0) to VPSS Grp(0) Chn(0)
Attach VBPool(1) to VPSS Grp(0) Chn(1)
Initialize VENC
venc codec: h264
venc frame size: 1920x1080
Initialize RTSP
prio:0
Cannot open '/dev/cvi-vo': 2, No such file or directory
failed! ret=0xc0010102, at sample_vi_od.c:387
destroy middleware
ISP Vipipe(0) Free pa(0x8c70e000) va(0x0x3fc1fea000)
stop VPSS (0)
[root@milkv-duo]~# ./sample_vi_od mobiledetv2-pedestrian mobiledetv2-pedestrian-d0-ls-448.cvim
odel
[SAMPLE_COMM_SNS_ParseIni]-2168: Parse /mnt/data/sensor_cfg.ini
[parse_source_devnum]-1761: devNum = 1
[parse_sensor_name]-1842: sensor = GCORE_GC2083_MIPI_2M_30FPS_10BIT
[parse_sensor_busid]-1871: bus_id = 2
[parse_sensor_i2caddr]-1882: sns_i2c_addr = 37
[parse_sensor_mipidev]-1893: mipi_dev = 0
[parse_sensor_laneid]-1904: Lane_id = 1, 0, 2, -1, -1
[parse_sensor_pnswap]-1915: pn_swap = 0, 0, 0, 0, 0
MMF Version:7d0dea0a1-64bit
Create VBPool[0], size: (3110400 * 3) = 9331200 bytes
Create VBPool[1], size: (3110400 * 3) = 9331200 bytes
Create VBPool[2], size: (2359296 * 1) = 2359296 bytes
Total memory of VB pool: 21021696 bytes
Initialize SYS and VB
Cannot open '/dev/cvi-vo': 2, No such file or directory
Initialize VI
ISP Vipipe(0) Allocate pa(0x8c70e000) va(0x0x3fe2360000) size(284096)
stSnsrMode.u16Width 1920 stSnsrMode.u16Height 1080 30.000000 wdrMode 0 pstSnsObj 0x3fe309c3e8
[SAMPLE_COMM_VI_StartMIPI]-494: sensor 0 stDevAttr.devno 0
awbInit ver 6.9@2021500
0 R:1400 B:3100 CT:2850
1 R:1500 B:2500 CT:3900
2 R:2300 B:1600 CT:6500
Golden 1024 1024 1024
WB Quadratic:0
isWdr:0
ViPipe:0,===GC2083 1080P 30fps 10bit LINE Init OK!===
********************************************************************************
cvi_bin_isp message
gerritId: NULL commitId: 7d0dea0a1
md5: 9b60189725b5bcb970ec86e4bbdbf600
sensorNum 1
sensorName0 2083
PQBIN message
gerritId: 80171 commitId: 5c9d8fc5d
md5: ba5a510e093ad42db6788e6c2d13169e
sensorNum 3
sensorName0 2053
author: wanqiang.he desc: 思博慧CV1812H_GC2083_RGB_mode_V1.0.0
createTime: 2023-08-04 16:48:08version: V1.1
tool Version: v3.0.5.24 mode:
********************************************************************************
sensorName(0) mismatch, mwSns:2083 != pqBinSns:2053
JSON_READ_ERR:DATA_TYPE 76(L) vc_motion.MotionThreshold
JSON_READ_ERR:NOT_EXIST 70(L) AWBAttrEx.u16MultiLSThr
JSON_READ_ERR:NOT_EXIST 70(L) AWBAttrEx.u16CALumaDiff
JSON_READ_ERR:NOT_EXIST 70(L) AWBAttrEx.u16CAAdjustRatio
JSON_READ_ERR:NOT_EXIST 70(L) AWBAttrEx.stInterference
[SAMPLE_COMM_ISP_Thread]-390: ISP Dev 0 running!
Initialize VPSS
---------VPSS[0]---------
Input size: (1920x1080)
Input format: (19)
VPSS physical device number: 1
Src Frame Rate: -1
Dst Frame Rate: -1
--------CHN[0]-------
Output size: (1920x1080)
Depth: 1
Do normalization: 0
Src Frame Rate: -1
Dst Frame Rate: -1
----------------------
--------CHN[1]-------
Output size: (1920x1080)
Depth: 1
Do normalization: 0
Src Frame Rate: -1
Dst Frame Rate: -1
----------------------
------------------------
Bind VI with VPSS Grp(0), Chn(0)
Attach VBPool(0) to VPSS Grp(0) Chn(0)
Attach VBPool(1) to VPSS Grp(0) Chn(1)
Initialize VENC
venc codec: h264
venc frame size: 1920x1080
Initialize RTSP
rtsp://169.254.68.254/h264
prio:0
Cannot open '/dev/cvi-vo': 2, No such file or directory
failed! ret=0xc0010102, at sample_vi_od.c:387
destroy middleware
ISP Vipipe(0) Free pa(0x8c70e000) va(0x0x3fe2360000)
stop VPSS (0)
然后会自动退出程序
测试失败
参考文档:行人检测 | Milk-V