Ubuntu16.04布置CenterFusion记录

news2024/10/6 15:54:06

安装细节

CenterFusion/src/tools/convert_nuScenes.py内容修改

  • 如果你用的是nuscenes数据集中的Mini部分,那就把convert_nuScenes.py第27行内容中的其他部分注释掉

在这里插入图片描述

  • convert_nuScenes.py在56行处,将数量修改为3
    在这里插入图片描述

nuscenes-devkit下载

将nuscenes-devkit克隆到CenterFusion/src/tools/nuscenes-devkit

#在 CenterFusion/src/tools 文件夹下,先删除原来的空文件夹,否则的话,克隆会报错
rm -rf nuscenes-devkit
#再下载 nuscenes-devkit
git clone https://github.com/nutonomy/nuscenes-devkit.git

DCNv2安装

将DCNv2克隆到CenterFusion/src/lib/model/networks

git clone https://github.com/CharlesShang/DCNv2/  
cd DCNv2
./make.sh

我的pytorch是1.2,推荐使用github上的这一款DCNv2——CharlesShang / DCNv2
这一款DCNv2运行时报错——lbin / DCNv2
报错信息如下

test.sh修改

如果你是单显卡的话,将CenterFusion/experiments/test.sh中的内容修改

export CUDA_VISIBLE_DEVICES=1

修改为

export CUDA_VISIBLE_DEVICES=0

可视化

在运行test.py时加入--debug 4参数
同时修改CenterFusion/src/lib/utils/debugger.py文件中第 424 行

          cv2.line(bird_view, (rect[e[0]][0], rect[e[0]][1]),
                  (rect[e[1]][0], rect[e[1]][1]), lc, t,
                  lineType=cv2.LINE_AA)

修改为

          cv2.line(bird_view, (int(rect[e[0]][0]), int(rect[e[0]][1])),
                  (int(rect[e[1]][0]), int(rect[e[1]][1])), lc, t,
                  lineType=cv2.LINE_AA)

即,转为整数类型。
CenterFusion/exp/ddd/centerfusion/debug中即可找到可视化后的结果。

问题记录

解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found

解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found

【解决错误】ModuleNotFoundError: No module named ‘progress‘

其实这个问题不算是问题,你别从test.sh文件运行test.py就好了,将命令复制出来,直接用终端运行即可。
因为运行pip list可以发现已经存在progress库了,或者PyCharm里面也能够正常调用progress库。
【解决错误】ModuleNotFoundError: No module named ‘progress‘

ImportError: cannot import name ‘PILLOW_VERSION’ from ‘PIL’ (/home/jjuv/anaconda3/lib/python3.7/site-packages/PIL/init.py)

ImportError: cannot import name 'PILLOW_VERSION' from 'PIL' (/home/jjuv/anaconda3/lib/python3.7/site-packages/PIL/__init__.py)

报错解释:torchvision在运行时要调用PIL模块,调用PIL模块的PILLOW_VERSION函数。但是PILLOW_VERSION在Pillow 7.0.0之后的版本被移除了,Pillow 7.0.0之后的版本使用__version__函数代替PILLOW_VERSION函数。
你可以尝试一下,在终端启动python,然后引入torchvision库import torchvision也是报错的。
在这里插入图片描述定位到最后一个文件,functional.py修改里面的内容

from PIL import Image, ImageOps, ImageEnhance, PILLOW_VERSION

修改为

from PIL import Image, ImageOps, ImageEnhance, __version__

即可。
Python模块问题:ImportError: cannot import name ‘PILLOW_VERSION’ from ‘PIL’

cv2.error: OpenCV(4.5.5) 👎 error: (-5:Bad argument) in function ‘line’

下面的错误
在这里插入图片描述肯定是没有修改CenterFusion/src/lib/utils/debugger.py文件中第 424 行。

          cv2.line(bird_view, (rect[e[0]][0], rect[e[0]][1]),
                  (rect[e[1]][0], rect[e[1]][1]), lc, t,
                  lineType=cv2.LINE_AA)

修改为

          cv2.line(bird_view, (int(rect[e[0]][0]), int(rect[e[0]][1])),
                  (int(rect[e[1]][0]), int(rect[e[1]][1])), lc, t,
                  lineType=cv2.LINE_AA)

即,转为整数类型。
修改完毕就没事了。

参考文章

CenterFusion 项目超详细环境搭建步骤及可视化操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/531624.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络实验(ensp)-实验1:初识eNSP仿真软件

目录 实验报告: 实验操作 1.建立网络拓扑图并开启设备 2.配置路由器 1.输入命名:sys 从用户视图切换到系统视图 2.输入命名:sysname 姓名 修改路由器名字 3.输入命名:interface g0/0/0 进入端口视图g0…

开源同城跑腿系统(PHP版)

同城跑腿系统的优点在于,它可以为用户提供方便快捷的服务,避免了用户自己跑腿的麻烦和时间成本,同时也为跑腿人员提供了一种灵活的兼职方式 此系统是一款基于likeadmin-php开发的跑腿小程序系统,提供全部前后台无加密源代码&…

知乎高赞回答|只需5分钟,一文教你理解结构化和非结构化数据!

什么是结构化数据? 结构化数据:指关系模型数据,即以关系数据库表形式管理的数据,结合到典型场景中更容易理解,比如企业ERP、OA、HR里的数据。 什么是非结构化数据? 非结构化数据:指数据结构不…

el-tree饿了么elementUI tree树结构插件设置全部展开折叠

效果如上图↑ // 折叠所有节点 foldAllNodes(type) {let treeNodes this.$refs[type _tree].store._getAllNodes()for (var i 0; i < treeNodes.length; i) {treeNodes[i].expanded false;} }, // 展开所有节点 expandAllNodes(type) {let treeNodes this.$refs[type …

Centos7使用for循环语句批量修改文件名

O、前言 虽然单个文件更名&#xff0c;我们可以使用mv命令进行更名。那几百个文件更改&#xff0c;这个工程量比较大&#xff0c;下面介绍一下如何使用for循环语句来批量修改文件名。 一、环境介绍 1.Centos版本:Centos7-X86_64-Eeverything2009 二、命令介绍 这里主要用到ba…

企业电子商务系统 b2b2c o2o 多商家入驻商城 直播带货商城 电子商务

一个好的SpringCloudSpringBoot b2b2c 电子商务平台涉及哪些技术、运营方案&#xff1f;以下是我结合公司的产品做的总结&#xff0c;希望可以帮助到大家&#xff01; 搜索体验小程序&#xff1a;海哇 1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家…

语音常识与基本概念

img { margin: auto; display: block } 数字信号 连续时间信号&#xff1a;在连续时间范围内定义的信号&#xff0c;信号的幅度可以是连续的(模拟信号)&#xff0c;也可以是离散的 离散时间信号&#xff1a;时间为离散变量的信号&#xff0c;即独立变量时间被量化了&#xff0c…

时钟同步-注意客户端和服务端都需要开启123端口 udp协议

确认时钟源 chronyc sources -v chronyc tracking Linux ❉ Chronyd时间同步服务器详解_wangjie722703的博客-CSDN博客 local stratum 10: 即使自己未能通过网络时间服务器同步到时间,也允许将本地时间作为标准时间授时给其它客户端 确认 端口是否打开 Nmap -sU -p 123 192…

创客匠人5月产品升级,功能更新(上)

创客匠人致力为老师们打造更好的知识付费平台&#xff0c;如今&#xff0c;又迎来一波超厉害产品功能升级&#xff0c;有没有你期待的功能上线呢&#xff1f;我们一起来看看吧&#xff01; 正式升级迭代时间&#xff1a;2023年5月18日 一、公众号店铺支持支付宝支付 微信公…

Redis的五大数据类型

一、String数据类型 概述&#xff1a;String是redis最基本的类型&#xff0c;最大能存储512MB的数据&#xff0c;String类型是二进制安全的&#xff0c;即可以存储任何数据、比如数字、图片、序列化对象等 1. SET/GET/APPEND/STRLEN: append命令&#xff1a;append key valu…

log4cplus: 一个好用的日志模块。编译以及使用

log4cplus 日志 介绍 log4cplus 是一个 C 版本的日志库&#xff0c;它是 Apache 组织的 log4j 日志库的一个开源实现。log4cplus 提供了一个灵活的、高性能的日志系统&#xff0c;支持多线程、本地化和分层结构。 log4cplus 的主要特点如下&#xff1a; 灵活性&#xff1a;…

jetson nx 用windows远程连接

VNC Viewer远程连接 一、jetson nx配置vnc 1、安装客户端 sudo apt-get install xrdp vnc4server xbase-clients2、进入nano/nx桌面&#xff0c;打开“Setting–>Desktop sharing”&#xff0c;没反应&#xff0c;据说是bug&#xff0c;我试过nano和nx都一样。首先输入下…

研发效能管理中的经典度量——DORA 指标

有一个组织&#xff0c;每年都会基于对相关从业者的调研和分析&#xff0c;发布一份《DevOps 行业状态报告》&#xff0c;揭秘研发团队的 DevOps 健康状况和平均效能水平&#xff0c;至今已持续了 9 年。目前&#xff0c;全球有超过三万名专业人士参与该调研&#xff0c;而它也…

前端路由+原生JS实现SPA

●前端路由 ●路由: 就是一一对应关系的集合 ●前端路由: 就是一个 url 地址, 对应哪个组件(页面) ●前端路由的本质 ○根据地址栏变化(不重新想服务器发送请求), 去局部更新不同的页面内容, 完成前端业务场景切换 ●前端路由的思路 ○URL 地址栏中的 Hash 值发生了变化 ○前端…

[JAVA] 图书管理系统

前言 1. 基本情况 2. 基本思路 3. 类的创建 Book包底下类有实现 &#xff08;1&#xff09;Book类 - 图书类 &#xff08;2&#xff09;BookList - 书架类 operation包底下类的实现(包含7个类,一个接口) &#xff08;1&#xff09;IOperation接口 - 功能接口 &…

蓝精灵协会每周社区会议|延长水晶铸造期限以及游戏重启计划

蓝精灵协会每周社区会议来啦&#xff01;我们已经把活动名称从「AMA」改为「市政会议厅」&#xff0c;因为该会议的目的是倾听社区反馈和进行讨论。当然&#xff0c;我们仍然非常欢迎你提出问题&#xff01; 本次市政会议厅涵盖四个主题&#xff1a; 延长水晶铸造时间的投票结果…

scrollIntoView的基本定义、以及Vue3、vue2中使用: 点击导航滚动到对应区域。

1. 基本定义 MDN 关于scorllIntoView的介绍 Element 接口的 scrollIntoView() 方法会滚动元素的父容器&#xff0c;使被调用 scrollIntoView() 的元素对用户可见。 scrollIntoView()scrollIntoView(alignToTop)scrollIntoView(scrollIntoViewOptions) 1. alignToTop 可选 alig…

aws Automation

In order to save money, CloudFormation terminates the resources from the template Systems Manager will handle on-premises and EC2 instance patches Caching Amazon CloudFront 是一种内容分发网络 (CDN) 服务&#xff0c;旨在获得优异性能、安全性和开发人员便利性…

A股市场上股票行情数据接口有那几种?

L2行情数据接口相比Level-1接口相比&#xff0c;L2行情市场具有数据更完整、推送速度更及时的优势&#xff0c;帮助投资者及时把握盘中主要资金流&#xff0c;做出更准确的投资决策。简而言之&#xff0c;Level-2最大的作用就是提前看到主力的大单&#xff0c;对于追逐日线跌停…

js解析jwt中的数据,将base64转为json方式,以及需要注意的地方

jwt前端解析 ​当我们做前后端分离项目时&#xff0c;需要将jwt保存在前端&#xff0c;有时候需要将jwt中的数据解析出来&#xff0c;网上有很多用第三方组件的方式&#xff0c;但是js的原生方法就也可以解决&#xff0c;虽然存在兼容等问题&#xff0c;但是修改一下也是可用的…