-
Notifications
You must be signed in to change notification settings - Fork 8
Quick_Start_Using_GUI
Viktor Seib edited this page Apr 30, 2021
·
8 revisions
This guide shows how to use the software to classify isolated point clouds.
- Download example point cloud objects from the PCL repository
(five files for trainingism_train_*.pcdand five files for testingism_test_*.pcd). - in the following steps I will assume that these files are downloaded and placed in the folder
point-cloud-donkey/example_clouds.
For this example I will use the executable training_gui which is build from the code located in point-cloud-donkey/src/training_gui.
Please note that the training_gui is not a full replacement for the command line interface of the eval_tool, but rather serves as means of visualization of various algorithm steps.
This is just a quick start example with the training_gui. For a detailed documentation please refer to Training GUI Tool Documentation.
- Run the following command from the
point-cloud-donkeyfolder to start the application
./build/bin/training_gui
- You will see an application window similar to this
- Click the button
Load Train Configwhich is located on the right in theTrainingbutton group - This button corresponds to the
-targument of the command line interface - In the file dialog select the file
point-cloud-donkey/config/qs_input_config.ismto load the config - In the next step we need to add point clouds and their labels for training
- This corresponds to the
-fargument of the command line interface - Click the button
Add Cloudwhich is located on the right in theTrainingbutton group - In the opening dialog enter the class label ID in the text field
- Then click
Load Modeland load the first training model from thepoint-cloud-donkey/example_cloudsfolder - Click
OKto close the dialog to add a model - The selected point cloud will appear in the application window
- Repeat loading the training objects for each object as outlined in the file
data/qs_train_list.txt - These are the following point clouds with their respective class IDs:
example_clouds/ism_train_cat.pcd 0
example_clouds/ism_train_horse.pcd 1
example_clouds/ism_train_lioness.pcd 2
example_clouds/ism_train_michael.pcd 3
example_clouds/ism_train_wolf.pcd 4
- After adding all objects, click
Train ISM - When training is finished some bounding boxes will appear in the application window, ignore them for now ;)
- Important: To proceed to using the training results you have to click
Save ISM(this corresponds to the-oargument of the command line interface) - Let us assume the ISM is saved as
quick_start_example.ism
- If you have closed the application after training, run the following command from the
point-cloud-donkeyfolder to start the application
./build/bin/training_gui
- Click the button
Load ISMwhich is located on the right in theDetectionbutton group - Important: If you did not close the application after training, you still need to click
Load ISMand select the trained model - Select the previously trained ISM model (e.g.
quick_start_example.ism) - This button corresponds to the
-dargument of the command line interface - Each file for classification has to be loaded manually using the button
Load Scene - You can try each of the files listed in the file
data/qs_test_list.txt - These are the following point clouds with their respective ground truth class IDs:
example_clouds/ism_test_cat.pcd 0
example_clouds/ism_test_horse.pcd 1
example_clouds/ism_test_lioness.pcd 2
example_clouds/ism_test_michael.pcd 3
example_clouds/ism_test_wolf.pcd 4
- Selecting any of these files and clicking
Detectshould yield the given ground truth class ID as result - Important: the class ID is only displayed on the command line, but not in the application window
- Let us assume we have loaded the previously trained ISM model
- For the sake of this example, make sure that all checkboxes on the lower right are cleared except for
Show Results - We proceed by clicking
Load Sceneand selecting the fileexample_clouds/ism_test_cat.pcd - The point cloud of the cat will appear in the application window (you might need to zoom out using the mouse wheel)
- Now click
Detectand many different bounding boxes will appear in the window - Meanwhile you should see an output similar to this in the console:
[13:03:13] INFO: finding maxima
[13:03:13] INFO: maximum 0, class: 0, weight: 0.705494, instance: 0 (0.705494), num votes: 13
[13:03:13] INFO: maximum 1, class: 1, weight: 0.116802, instance: 1 (0.116802), num votes: 2
[13:03:13] INFO: maximum 2, class: 1, weight: 0.0592346, instance: 1 (0.0592346), num votes: 1
[13:03:13] INFO: maximum 3, class: 3, weight: 0.0592346, instance: 3 (0.0592346), num votes: 1
[13:03:13] INFO: maximum 4, class: 4, weight: 0.0592346, instance: 4 (0.0592346), num votes: 1
[13:03:13] INFO: detected 5 maxima
- These are all detection hypotheses in descending order of confidence
- You will note that class ID 0 is the top result which shows that the cat was classified correctly
- Also note that the top result (cat) has 13 votes, while the second result has only 2
- Next enter any number between 3 and 13 in the text field labeled
Min Votes:in the lower right corner - After clicking the
Detectbutton again the visualization is much nicer
- You can proceed by using other point clouds for classification