Ubuntu双系统,SuSTechPOINTS点云标注软件及OpenCalib联合标定软件安装与配置保姆级教程

数据集建设需要对采集的数据进行标注,这里我选择南方科技大学的开源标注工具SuSTechPOINTS作为点云的标注软件,OpenCalib作为点云和相机联合标定的变换矩阵手动调参的软件,LabelmeAI版作为图像的标注。系统则选择在我电脑上装个双系统以便能使用GPU加速

一 Ubuntu20.04 双系统安装

1 硬盘空间划分

随便安装一个硬盘空间管理的软件,这里我选择的是傲梅的分区助手下载分区助手

打开文件夹中的PartAssist.exe。右键点击你要划分的盘,点击拆分分区,划分出500G-1T左右的空间

而后右键点击你划分出的这个分区(我这里是I盘),点击删除分区,让它变成未分配空间

最后右上角点击提交即可,流程走完即可

2 U盘烧录

官网下载用于烧录系统的iso文件

Ubuntu 20.04.6 LTS (Focal Fossa)

下载rufus(标准版即可)用于烧录iso到U盘

Rufus - 轻松创建 USB 启动盘

准备一个可以格式化的U盘,插到电脑里。rufus会自动识别你的U盘并格式化(不要选错了U盘酿成悲剧)

选择你刚刚下的镜像文件,其他都选择默认的。直接点击开始便可以烧录了

3 BIOS切换引导U盘启动 安装Ubuntu双系统并划分硬盘空间

重启电脑,不停按F8或F10或F2(不同主板进入BIOS的按键不同,请自行百度),直到进入BIOS

在引导设置里将U盘启动优先级升到最高,并且设置Secure Boot选项为disabled

保存,电脑会从U盘启动,然后点击进入到Ubuntu安装界面

 选英文系统,Install Ubuntu(虽然感觉中文的也差不多)

 这些都随便选

直到安装方法那选something else(忘拍了用了别人的图)

然后就是到了最重要的环节,选安装的地方了。在所有freespace里找和你留的大小最接近的那个(会有很多freespace,但都是1M左右的,那就明显不是你要找的)

我这里是留了250多G,正好和这一个对上了。然后点击左下加号

 这里先给根目录/分配空间(作为系统盘),我设置了50G,如果你们要设置别的就在Size那里改,其他的按照我的来

然后点OK,继续找freespace,这次只剩下200G了

 把剩下的空间全给/home,作为数据盘

 然后就大功告成!设置用户名和密码后慢慢等即可

4 Anaconda安装

到Anaconda官网下载linux版本

# cd到下载目录后安装 请勿使用sudo!
bash Anaconda3-xxx.sh

然后一直按Enter直到出现 Do you accept the license terms? [yes|no] ,表示协议阅读完毕输入yes即可继续安装(这部分用的别人的图超详细Ubuntu安装Anaconda步骤+Anconda常用命令_ubuntu 安装anaconda-CSDN博客

提示确认安装位置,这里点击Enter,默认即可,界面如下

 最后一步 初始化Anaconda,这一步只需要根据提示输入yes即可,界面如下:

5 其他配置

下载源的配置。在以下网站拷贝相应的下载源网址

ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

覆盖到以下的位置 sudo gedit /etc/apt/sources.list

二 SuSTechPOINTS编译

1 软件安装

从SuSTechPOINTS的github上下载所需的包GitHub - naurril/SUSTechPOINTS: 3D Point Cloud Annotation Platform for Autonomous Driving

或者直接git clone https://github.com/naurril/SUSTechPOINTS

创建一个专用于点云标注的环境

conda create -n pointlabel python==3.8
conda activate pointlabel

cd到你刚才下载的文件中,安装其要求的python库

pip install -r requirement.txt

下载软件自动标注所使用的模型到指定的文件夹中

wget https://github.com/naurril/SUSTechPOINTS/releases/download/0.1/deep_annotation_inference.h5  -P algos/models

(如果下载不下来,可以在浏览器中打开这个页面https://github.com/naurril/SUSTechPOINTS/blob/dev-auto-annotate/doc/install_from_source.md而后点击下载)

 然后就可以启动了(以后每次启动需要conda activate pointcloud激活环境后再运行main.py)

python main.py

在浏览器中输入 http://127.0.0.1:8081,就可以打开标注页面了

2 数据组织

数据组织应参考SUSTechPOINTS的data文件夹中的example的目录结构。以下是本次标注的目录结构

camera_n存着第n个摄像头(全景一共4个摄像头)的图片,lidar存着点云文件

其中calib的camera下存放着4个json文件,对应camera中四个文件夹名。json文件中存着camera_n到点云的相机内参和外参

数据组织这部分目前不需要自己动手,只需要在你自己的电脑上做如下操作

1 给你的ubuntu安装一个zerotier。安装完成后会显示一个id号,应该是10位,由数字和小写字母组成。把id交给管理员

curl -s https://install.zerotier.com | sudo bash
sudo service zerotier-one start

2 安装ssh

sudo apt install openssh-client
sudo systemctl start ssh
sudo systemctl enable ssh

3 在你的SUSTechPOINTS程序的data目录下创建一个目录用于挂载远程硬盘。这里假设创建名为mnt的文件夹,并得到这个文件夹的绝对路径,比如我就是/home/ubuntu/SUSTechPOINTS-dev-auto-annotate/data/mnt

4 运行以下代码即可,管理员会告诉你你是usr几,同时还会给你usr几的密码 

sudo sshfs -o allow_other usr*@tmp虚拟机的IP:/home/usr*/data /home/ubuntu/SUSTechPOINTS-dev-auto-annotate/data/mnt

5 连接成功后可以在mnt下看到文件了,再激活环境并进入SUSTechPOINTS即可 

conda activate pointlabel
python main.py

6 标注完成后,请解除挂载

sudo fusermount -u /home/ubuntu/SUSTechPOINTS-dev-auto-annotate/data/mnt

三 OpenCalib编译

1 ROS安装

添加清华源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

添加key

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

 更新软件库并安装ros

sudo apt update
sudo apt install ros-noetic-desktop-full

设置环境变量 

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

ROS 内置了一些小程序,可以通过运行这些小程序以检测 ROS 环境是否可以正常运行(来源1.2.5 测试 ROS · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程

  1. 首先启动三个命令行(ctrl + alt + T)

  2. 命令行1键入:roscore

  3. 命令行2键入:rosrun turtlesim turtlesim_node(此时会弹出图形化界面)

  4. 命令行3键入:rosrun turtlesim turtle_teleop_key(在3中可以通过上下左右控制2中乌龟的运动)

2 Pangolin安装

https://github.com/stevenlovegrove/Pangolin/releases

下载Pangolin0.9(注意版本,请和下文pcl一样,在release中找到对应的版本再下载源码)的安装包进行编译(缺什么直接按提示安装依赖即可)

cd Pangolin
mkdir build
cd build
cmake ..
make -j2
sudo make -j2 install

3 PCL1.9.1安装

先安装相关依赖

sudo apt-get install libeigen3-dev
sudo apt-get install libflann1.9 libflann-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libpcap-dev
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev 
sudo apt-get install mono-complete
sudo apt-get install libopenni-dev libopenni2-dev

 打开并下载pcl源码,点击右边的Releases,找到1.9.1 Releases · PointCloudLibrary/pcl · GitHub

选择source code下载并解压

 

cd pcl-pcl-1.9.1
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j2
sudo make -j2 install
sudo ldconfig

 如果全程没有报错即完成安装

4 OpenCalib手动标定相机和雷达

从github上下载OpenCalibhttps://github.com/PJLab-ADG/SensorsCalibration

cd到/SensorsCalibration/lidar2camera/manual_calib文件夹下cmake出可执行文件

mkdir build && cd build
cmake ..
make -j2

 而后cd到上一级目录(cd ..),可以运行一下示例(示例在data文件夹下)并自己尝试下左边的按钮看看会有什么样的反映

./bin/run_lidar2camera data/0.png data/0.pcd data/center_camera-intrinsic.json data/top_center_lidar-to-center_camera-extrinsic.json

 调整结束后关闭软件终端会显示需要记录的值,到时候这个值需要写到calib文件夹中的extrinsic中

正式使用时,在使用SuSTechPOINTS时发现点云和图像的框对不上时,需要打开OpenCalib对点云和图像进行手动的配准,然后记录配准后得到的变换矩阵并记录到calib/camera/camera_n中(请写文件记录是哪个图片和点云开始使用你这次修改后的参数,并保存前面未修改的)不然前面的不又白修改了吗)

四 Labelme AI安装

1 软件安装

为图片标注新建一个环境

conda create -n label python==3.10
conda activate label

安装labelme

pip install labelme

在终端激活label环境并运行即可

labelme

2 数据组织与软件操作

每个场景之间用日期隔开,每个场景文件夹下应该组织如下:

将图像都在xxx_images中,而标注的结果都存储到xxx_images_labels文件夹中,标注文件夹中的路径格式应该与xxx_images相同,比如cam_images中的子目录是这样的,那么cam_images_labels的子目录也应该与之相同(calib的子目录与cam_images_labels相同)。在标注时应该按照对应关系存储标注文件

激活环境并运行labelme,点击打开目录,即打开图片的目录。然后在文件里点击更改输出路径,这里是设置存储相应label的目录

上方可以选择使用的AI辅助工具和模型。同时可以创建多边形和编辑多边形。创建多边形后会让选取一个类别标签,这里就选择我们决定的几个大类中的其中一类即可。后续如何分类会在实际使用时说明。

至于操作教程,该软件很简单,就不多做赘述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值