ZED2代相机+nvidia jetson AGX xavier踩坑记录(续)

ZED2代相机+nvidia jetson AGX xavier踩坑记录(续)

项目描述

书接上文,尝试ZED的Mask-RCNN项目失败后,这次继续尝试运行一下ZED的YOLO例程。

项目地址:https://github.com/stereolabs/zed-yolo

项目文档:https://www.stereolabs.com/docs/yolo/

最新版的YOLOv4的C++版本已经原生支持ZED,不需要下载ZED的例程了,但python版本还没有支持,此次主要解决python版本例程遇到的问题。

问题1 libdarknet编译问题

问题出现描述:

下载zed-yolo的项目后,编译libdarknet失败,错误大概与cudnnGetConvolutionForwardAlgorithm()相关。

问题解决过程:

其实就是版本老旧的问题,可以查看参考链接[1],旧版本的darknet不支持cuDNN8。

需要自己下载新版的darknet进行编译,下载地址:https://github.com/AlexeyAB/darknet

下载完成后,打开文件夹中的Makefile,在文件开头设置:

GPU=1
CUDNN=1
CUDNN_HALF=0
OPENCV=0
AVX=0
OPENMP=0
LIBSO=1
ZED_CAMERA=1
ZED_CAMERA_V2_8=0

LIBSO=1是生成库文件,运行python版程序必选。其余根据实际情况设置,部分不当会产生一些问题,下文会提到。

问题2

问题出现描述:

进入zed_python_sample文件夹,运行命令出现dets[j].prob[i] > 0 Null pointer access exception错误。

问题解决过程:

还是版本老旧的问题,查看参考链接[2],修改darknet_zed.py中58行左右的class DETECTION(Structure):

class DETECTION(Structure):
    _fields_ = [("bbox", BOX),
                ("classes", c_int),
                ("prob", POINTER(c_float)),
                ("mask", POINTER(c_float)),
                ("objectness", c_float),
                ("sort_class", c_int),
                ("uc", POINTER(c_float)),
                ("points", c_int),
                ("embeddings", POINTER(c_float)),
                ("embedding_size", c_int),
                ("sim", c_float),
                ("track_id", c_int)]

原版代码是没有sort_class之后的内容的。

问题3 GTK+ 2.x and GTK+ 3冲突

问题出现描述:

运行程序,出现错误:

Gtk-ERROR **: 18:37:16.114: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported

问题解决过程:

尝试注释darknet_zed.py的470的行左右的cv2.imshow("ZED", image),程序可以正常运行。

发现在darknet编译时,Makefile中设置OPENCV=1,参照ZED例程的设置,设置为0,再次运行不再出错。

问题4

问题出现描述:

运行程序,出现错误:

CUDA status Error: file: ./src/convolutional_kernels.cu : ()
CUDA Error: invalid resource handle

问题解决过程:

这个问题最后也不算解决吧,参考链接[3]提到了类似的情况,darknet编译时,Makefile中设置CUDNN_HALF=0,再编译就没有错误了。

但根据github里提到的的情况,nvidia jetson AGX Xavier是可以使用CUDNN_HALF的,查看参考链接[4]。估计还是和darknet_zed.py的调用有关,有时间再关注一下吧。

参考链接

[1]https://github.com/AlexeyAB/darknet/issues/5905

[2]https://github.com/AlexeyAB/darknet/issues/6322

[3]https://github.com/AlexeyAB/darknet/issues/3840

[4]https://github.com/AlexeyAB/darknet/issues/5234

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值