ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

这篇具有很好参考价值的文章主要介绍了ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        最近准备学习目标追踪于是想复现一篇基础的算法看看效果,故选择记录以下复现的过程,方便以后复习,本文采用ubuntu20.04与python3.8的conda虚拟环境,记录了一些环境问题。

选择的AB3Dmot源代码地址: GitHub - xinshuoweng/AB3DMOT: (IROS 2020, ECCVW 2020) Official Python Implementation for "3D Multi-Object Tracking: A Baseline and New Evaluation Metrics"(IROS 2020, ECCVW 2020) Official Python Implementation for "3D Multi-Object Tracking: A Baseline and New Evaluation Metrics" - GitHub - xinshuoweng/AB3DMOT: (IROS 2020, ECCVW 2020) Official Python Implementation for "3D Multi-Object Tracking: A Baseline and New Evaluation Metrics"https://github.com/xinshuoweng/AB3DMOT

第一步激活自己的conda环境并git代码,或者直接从上述的链接下载:

git clone https://github.com/xinshuoweng/AB3DMOT.git

ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

 安装依赖包:

venv只有python3可以使用,因此只能创建python3的虚拟环境,创建命令如下(这里照着代码步骤,应该不用再创建一个虚拟环境也可以,保险起见直接用作者提供的思路,但是在我python3.8环境下pip install venv会报错,不用安装直接操作下一步):

配置一个虚拟环境
python3 -m venv env
source env/bin/activate
pip3 install -r requirements.txt

 接着在根目录git作者的工具包并安装依赖然后返回工作区间:

git clone https://github.com/xinshuoweng/Xinshuo_PyToolbox
cd Xinshuo_PyToolbox
pip3 install -r requirements.txt
cd ..

如下图 

ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

 设置路径(为了让代码能找到工具包)

export PYTHONPATH=${PYTHONPATH}:/home/user/workspace/code/AB3DMOT
export PYTHONPATH=${PYTHONPATH}:/home/user/workspace/code/AB3DMOT/Xinshuo_PyToolbox

source激活一下

source ~/.profile
# cd path/to/AB3DMOT(没用上,因为一直在该路径下)
source env/bin/activate

如下图:

ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

 接下来运行作者提到的不用下载kitti数据就能快速演示的demo(这里我看了一下作者提供的代码里面没有相应的kitti数据所以大部分都不能运行,所以我直接下的kitti运行,但是记录一下该部分的一些bag错误):

运行作者提供的:

python3 main.py --dataset KITTI --split val --det_name pointrcnn

报错:packages/numba/_dynfunc.cpython-38-x86_64-linux-gnu.so: undefined symbol: _PyObject_GC_UNTRACK

原因:作者用的python3.6,这里pyhon3.8使用时需要更新numba包,解决方案:

pip install numba==0.50.1

.接着报错:

FileNotFoundError: [Errno 2] No such file or directory: '/home/t/t/AB3DMOT/AB3DMOT/AB3DMOT_libs/../data/KITTI/tracking/training/oxts/0001.txt

ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

对照路径发现并没有相应的文件,作者提供的文件没有kittti简单的simple不能直接检测,故选择直接上完整kitti数据集

链接:The KITTI Vision Benchmark Suite

下载解压到相应的文件夹:

ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

 解压完成后运行:

python3 main.py --dataset KITTI --det_name pointrcnn

报错:ValueError: not enough values to unpack(expected 2,got 1)

ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

 问题分析:由于kitti数据集里面calibs校准数据缺少冒号

如图(倒数3行,由于数据需要修改的txt很多,所以写了一个python脚本批量处理,如下):

ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

 批量处理():

from re import L
import numpy
import os
import sys
# 输入文件夹
root = '/home/t/t/AB3DMOT/AB3DMOT/data/KITTI/tracking/training/calib'
file_names = os.listdir(root)
file_ob_list = []
for file_name in file_names:
    fileob = root + '/' + file_name
    file_ob_list.append(fileob)
for file1 in file_ob_list:
    print(file1)
    with open(file1,"r+") as f:
        file = f.read()
        file = file.replace('R_rect','R_rect:')
        file = file.replace('Tr_velo_cam','Tr_velo_cam:')
        file = file.replace('Tr_imu_velo','Tr_imu_velo:')
        print(file)
        f.seek(0,0)
        f.truncate()	#清空文件,配合seek使用,否则清空的位置不对
        f.write(file)
        f.close()
        # for line in f:
        #     xiugai = line.split(' ')
        #     if(xiugai[0]=='R_rect'):
        #         line = line[0:6]+':'+line[6:]
        #     if(xiugai[0]=='Tr_velo_cam'):
        #         line = line[0:11]+':'+line[11:]
        #     if(xiugai[0]=='Tr_imu_velo'):
        #         line = line[0:11]+':'+line[11:]    

 修改后再次运行(接着报错):

关键字报错:KeyError: 'Tr_velo_to_cam' KeyError: 'Tr_imu_to_velo' KeyError: 'R0_rect'

后续出现该问题,首先检测是否每个calib里面的txt符合规范

ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

问题描述:由于代码里面与kiiti数据calibs上面的txt文件里面名称不同,这里可以改 代码也可以改上面的kitti数据集的calibs:

from re import L
import numpy
import os
import sys
root = '/home/t/t/AB3DMOT/AB3DMOT/data/KITTI/tracking/training/calib'
file_names = os.listdir(root)
file_ob_list = []
for file_name in file_names:
    fileob = root + '/' + file_name
    file_ob_list.append(fileob)
for file1 in file_ob_list:
    print(file1)
    with open(file1,"r+") as f:
        file = f.read()
        file = file.replace('R_rect','R0_rect')
        file = file.replace('Tr_velo_cam','Tr_velo_to_cam')
        file = file.replace('Tr_imu_velo','Tr_imu_to_velo')
        print(file)
        f.seek(0,0)
        f.truncate()	#清空文件,配合seek使用,否则清空的位置不对
        f.write(file)
        f.close()

 再次运行,成功:

ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

运行test:

python3 main.py --dataset KITTI --det_name pointrcnn --split test

可视化准备:

python3 scripts/post_processing/trk_conf_threshold.py --dataset KITTI --result_sha pointrcnn_test_H1

生成追踪结果:

python3 scripts/post_processing/visualization.py --dataset KITTI --result_sha pointrcnn_test_H1_thres --split test

报错: self._proc.stdin.write(vid.tostring())
BrokenPipeError: [Errno 32] Broken pipe

参考这类错误原因:

IOError: [Errno 32] Broken pipe 错误分析_顶晚人的博客-CSDN博客_broken pipe异常分析及解决一、概述Broken pipe 本质是 IOError 错误,是 Linux 系统层面的机制导致,一般发生在读写文件IO和网络Socket IO的时候。对应的 Linux 系统错误是 EPIPE,摘自【参考2】的一段话:'''Macro: int EPIPE “Broken pipe.” There is no process reading from the other end...https://blog.csdn.net/qq_34333481/article/details/105135640

报错如图:

ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录解决方案(修改如下代码): 

 ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

 文章来源地址https://www.toymoban.com/news/detail-476248.html

try:
	video_writer.writeFrame(image)
		count += 1
except IOError as e:
    	if e.errno == errno.EPIPE:
    		pass

再次运行,成功得到结果:

ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

 打开问价夹查看结果:

ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

 前三帧文件 :ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

 ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

 ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录

 

到了这里,关于ubuntu20.04上conda环境复现AB3DMOT目标追踪算法记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ORB-SLAM3复现的详细过程——配置安装及ROS和脚本运行---Ubuntu20.04

    ORB-SLAM3代码下载地址:ORB-SLAM3源码下载 所有的操作都是在完成以下网址中的所有操作内容下进行的:Ubuntu系统安装之后首需要做的事情 本文是总结的比较完善和直接的过程。 其实在整个运行中也遇到了一些问题,也做了一些总结,记录在了文章 ORB-SLAM3复现过程中遇到的问题

    2024年02月09日
    浏览(67)
  • ubuntu20.04搭建arm交叉编译环境

    源码下载地址:Downloads | GNU-A Downloads – Arm Developer 要根据目标系统选择编译器版本,我的主板: aarch64bit体系结构(arm 64bit),linux内核GNU操作系统=GNU/Linux操作系统(简称linux) 大端模式(Big-endian),是指数据的高字节,保存在内存的低地址中,而数据的低字节,保存在内存

    2023年04月24日
    浏览(50)
  • 【环境】Ubuntu20.04 安装 Anaconda 顺顺利利

    source一下 中间遇到了一个问题,用下面的链接轻松解决了 关于修改anaconda安装路径的问题

    2024年02月07日
    浏览(47)
  • Ubuntu20.04+SGX(一):环境搭建与测试

    Ubuntu 20.04 Intel® Xeon® Gold 5318Y 测试方法参考官方文档 如果输出为空,则表示不支持,可以使用simulation mode,但该模式不能用于发布版环境。 如果输出中包含 SGX_LC: SGX launch config supported = true ,则支持DCAP(数据中心标记基元,即远程认证服务)功能。FLC 即 Flexible Launch Control。

    2024年02月09日
    浏览(45)
  • Ubuntu 20.04 系统配置 OpenVINO 2022.3 环境

    由于 OpenVINO 2021 版本在调用 IECore 时会出现 Segmentation fault 的问题,因此需要将其升级为 2022 版本的。 1. 卸载原来版本的 OpenVINO 进入OpenVINO的卸载目录,通常在 /opt/intel 文件夹下, 之后执行卸载程序,一路next即可 之后将 ~/.bashrc 中原本的 source 那行注释掉 注释以下这行 至此

    2024年02月03日
    浏览(63)
  • ubuntu20.04配置OpenCV的C++环境

    这里以opencv-3.4.16为例 复现https://github.com/raulmur/ORB_SLAM2此项目,需安装opencv及其他依赖,可见README.md详情 https://opencv.org/releases/ https://github.com/opencv/opencv_contrib 如果在执行第三个命令时提示“Unable to locate package libjasper-dev”,应该是下载源的问题。解决方法如下: 然后再执行一

    2024年02月05日
    浏览(69)
  • 【Ubuntu 20.04安装和深度学习环境搭建 4090显卡】

    Ubuntu安装步骤参考文章 知乎:Ubuntu 20.04系统安装及初始配置 先在Ubuntu官网下载系统镜像(或直接bing搜索对应版本)。【Ubuntu官网】 参考这篇文章 https://blog.csdn.net/qq_21386397/article/details/129894803 需要准备一个U盘(使用之前将U盘中内容做好备份,做成启动盘后U盘内文件将被清

    2024年02月09日
    浏览(72)
  • Ubuntu20.04搭建OpenGL环境(glfw+glad)

    本文在VMware安装Ubuntu20.04桌面版的环境下搭建OpenGL, 按照本文搭建完成后可以执行LearnOpenGL网站上的demo 。 关于VMware可自行到VMware Workstation Pro | CN下载 关于Ubuntu20.04桌面版可自行到官网或Index of /ubuntu-releases/20.04.6/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror下载 这里窗口

    2024年02月12日
    浏览(59)
  • Ubuntu20.04系统配置Pytorch环境(GPU版)

    Ubuntu和NVIDIA Driver的安装请参考其他博主的文章,主要是当时安装的时候没记录,现在不想再折腾这两个东西了。 需要补充的几个点: 安装Ubuntu系统前,多看几遍教程,如果是笔记本安装双系统,最好是看和自己品牌相同的笔记本对应的博客,因为不同厂家的BIOS设置有一些差

    2024年04月09日
    浏览(67)
  • ubuntu 20.04 搭建crash dump问题分析环境

    主机环境和内核版本信息: 参考了Ubuntu Kernel crash dump这篇文章 如果通过上面的命令安装ubuntu内核调试符号,则需要通过下面的方法去安装,参考文章:安装ubuntu内核调试符号 1.5.1 GPG 秘钥导入 确保您拥有系统的 GPG 密钥。适用于16.04 及更高版本的 Ubuntu : 对于旧的发布版本

    2024年02月05日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包