Comments (5)
The simplest way to get started with the tool is to bring your dataset in the format of the KITTI odometry data. As described in the Readme, the folder structure is as follows:
point cloud folder
├── velodyne/ -- directory containing ".bin" files with Velodyne point clouds.
├── labels/ [optional] -- label directory, will be generated if not present.
├── image_2/ [optional] -- directory containing ".png" files from the color camera.
├── calib.txt -- calibration of velodyne vs. camera. needed for projection of point cloud into camera.
└── poses.txt -- file containing the poses of every scan.
-
The
velodyne
folder contains binary files for each scan, i.e., 00000.bin, 00001.bin, .... The format is very simple, it's just each point in the local coordinate frame of the sensor as x,y,z,remission represented as afloat
(e.g.np.float32
if you are familiar with numpy). -
The
calib.txt
can be just a dummy file containing:
P0: 1 0 0 0 0 1 0 0 0 0 1 0
P1: 1 0 0 0 0 1 0 0 0 0 1 0
P2: 1 0 0 0 0 1 0 0 0 0 1 0
P3: 1 0 0 0 0 1 0 0 0 0 1 0
Tr: 1 0 0 0 0 1 0 0 0 0 1 0
This is just needed to use the original convention of KITTI that provides poses in the coordinate system of a camera.
- The
poses.txt
contains the global poses of the LiDAR sensor for each scan. We generated these using our surfel-based SLAM approach. Each line corresponds to the first 3 rows of a homogeneous transformation matrix, see #44 (comment) for a more detailed description. These poses will be used to display multiple scans at the same time.
Hope that gets you started.
from point_labeler.
Thank you very much for your reply. I did as you suggested. It seems that everything is ready, but when I prepare to label my dataset, it shows that the label file cannot be opened, as shown in Figure 1 (shouldn't the label file be generated automatically after labeling?), On the contrary, when I load the data of the label file, it displays as shown in Figure 2, and no point cloud is displayed. Thank you again.
from point_labeler.
You always open the based directory containing the velodyne
folder. You have to ensure that the bin files contains exactly 4*number of points floats, since the number of points is inferred from the file size:
std::ifstream in(velodyne_filenames_[i].c_str());
in.seekg(0, std::ios::end);
uint32_t num_points = in.tellg() / (4 * sizeof(float));
in.close();
If there is no labels
directory, then the program will first create a directory and create for each point cloud in the velodyne
directory a corresponding .label
file. This will then be later used.
If there is a mismatch between the number of points in the corresponding .bin
file and the number of labels in the .label
file, you will get the error in your second figure. (If you start just fresh, I would suggest to simply delete the labels
folder.)
Ensure that you have enough disk space (such that the files are not truncated.), since the initialize
of KittiReader
will generate for each point cloud a corresponding label file if it does not exist.
from point_labeler.
Thank you for your help. It runs successfully. I'm trying to use this tool to label point cloud data. Thank you again.
from point_labeler.
When I used kitti's data set and strictly followed the format you suggested, the following problems appeared. What is the problem?
from point_labeler.
Related Issues (20)
- Adding additional labels HOT 2
- Can't this project be run with CMake alone? HOT 1
- ERROR with sudo apt install catkin HOT 2
- What command to run such that program read specific data directory
- How to Annotate Moving Objects HOT 2
- libglow.so : the 'boost: : filesystem: : path: : filename () const "undefined reference
- How to use pointlabeler to view the number of points corresponding to the selected label
- How to enable the CAD navigation mode? HOT 5
- Issue with catkin build HOT 6
- Issue with open directory HOT 6
- suggestion: dark background color to increase contrast to colored clouds HOT 1
- Can this tool label data sets collected by other types of lidar? HOT 1
- issue about "No space left on device" HOT 5
- Issues with poses.txt generated by Kiss-ICP HOT 6
- Plugin does not support setParent and propagateSizeHints() HOT 1
- Cannot read my own dataset HOT 3
- How to label the next frame
- Issue with label HOT 3
- Failed in Ubuntu 20.04 HOT 3
- label my own datesets HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from point_labeler.