Project
In this page is possible to obtain the code implementation from GitHub regarding such project. In the following lines I am going to give details about the shared files.
Hierarchical view
- Depth Module:
distance_measurements.py
= it extracts the distance of the framed subject;- o
bstacle_localization.py
= it extracts the portions of image where close obstacles reside.
- Detection Module:
detection.py
= given path to the SVM models, it performs detection on the input image;non-maxima-sup.py
= it deletes overlapping detections (caused by similar images obtained via Sliding Window).- SVM Models:
real-diag-handle-hog-sqrt-pyr.pkl
= HOG-descriptor based classifier for recognizing door handles;real-diag-handle-pyr.pkl
= PCA-vectors based classifier for recognizing door handles of the DIAG department of Sapienza university;real-human-legs-side-hog-sqrt-pyr.pkl
= HOG-descriptor based classifier for recognizing human legs;sun-floor-depth.pkl
= depth image based classifier that recognizes sun projected on the floor.
- Image Retriever:
saver.py
= it acquires images in a ROS system and save them in a specified path with name "my_image<i>.png" where <i> is an incremental integer that starts from zero.
- Preprocessing and training:
data-augmentation.py
= it creates training instances from the image already existent;generate-labels.py
= it generates a "labels.txt" file where in every line there is the label of the correspondent image in the folder;training.py
= it trains a SVM model with the images present in the same folder.
- Test Folder:
test.py
= test the SVM model created on stored images.- Simulated Navigation:
depth-listener.py
= a ROS node that processes depth images obtained through the camera in order to not collide with anything and enable the detection module;navigate_sim.py
= a ROS node that takes care of the Twist messages sent to the topic "/cmd_vel" in order to make the robot move, and it is the bridge from depth-listener to rgb-listener nodes.rgb-listener.py
= a ROS node that analyzes and recognizes obstacles or people in the image and issues the correspondent actions to undertake.