test_bag_launch - Extended-Object-Detection-ROS/wiki_english GitHub Wiki
Test launch on bags
To check the operability of the methods, a set of bag files is used, on which you can run the recognition node. Bag files, as well as launch files are located in the repository.
1. Install tests
Clone the test repository into your ROS environment and make it.
cd ~/catkin_ws/src
git clone https://github.com/Extended-Object-Detection-ROS/example_data
cd ..
catkin_make # or catkin build eod_bags
source ~/catkin_ws/devel/setup.bash
The main repository must be installed to run the tests.
2. Tests launch
Descriptions of objects, recognition of which is launched in tests, are in the example of the main repository object base. For each of the launch files listed below, you can specify the playback speed using the rate parameter, for example: roslaunch eod_bags stickers.launch rate: = 0.5
- this will start playing the video at a speed that is halved. For each test, rviz is run, showing an image with the recognition results and markers.
If errors occur, refer to the error and warning list.
3. Simple Objects
3.1. Color detectors and some check attributes
roslaunch eod_bags stickers.launch
Detects simple objects 1, 2 and 4, which are colored stickers with different settings. The histogram color filtering attribute is used.
- Yellow sticker - basic detection, so sometimes you can see that there are noises in the recognition.
- Pink sticker - with the size attribute, which removes noise.
- Orange sticker - with the [position] attribute (PoseDetector) on the screen, is detected only at its bottom.
3.2. Haar detector
roslaunch eod_bags haar.launch
Detects a simple object 10, which is a human face recognizable by Haar cascade trained by Satya Mallick. This cascade is better than the one supplied by OpenCV.
3.3. Motion detector
roslaunch eod_bags motion.launch
Detects areas where [motion] (BasicMotionAttribute) occurs (Simple Object 30).
3.4. Combining features using the example of a face and movement
roslaunch eod_bags face_in_motion.launch
Detects a face in motion (simple object 31), based on the combination of features from the previous two examples.
3.5. Detection of ArUco
roslaunch eod_bags aruco.launch
It detects simple objects 40 and 41. Object 40 is a specific marker from the 4x4 dictionary, therefore only one of the 4x4 markers presented in the test is recognized. Note that rviz draws the full 3D position of the markers.
3.6. Detection with DNN module
Only with OpenCV 4.2.0 installed (ROS Noetic)
roslaunch eod_bags dnn.launch
A simple object 60 is recognized, which is all Tensorflow SSD MobileNet COCO output options imported for use via the dnn module. In this case, a person and a cup are recognized.
3.7. Combining attributes with 'red cup' example
Only with OpenCV 4.2.0 installed (ROS Noetic)
roslaunch eod_bags red_cup.launch
A simple object 61 is recognized, which is a combination of color and an image recognizable by DNN.
3.8. Detection with key points
Only with installed OpenCV Contrib
roslaunch eod_bags feature.launch
Recognition of the book "Social Robot Communities" (simple object 50) by the Key Points method (in this case used SIFT method).
3.9. Tracking of ArUco
Only with OpenCV 4.2.0 installed (ROS Noetic)
roslaunch eod_bags aruco_track.launch
A Simple Object 43 is recognized, which is a 6x6 aruco[ArucoAttribute] with a tracker Mosse attached to it. An aruko marker cannot be recognized if cannot been seen entirety, which is what happens when it is obscured by a finger, however, the tracker allows to follow the marker, but, unfortunately, without three-dimensional localization, which can be observed in rviz.
3.10. Soft mode tracking
Only with installed OpenCV 4.2.0 (ROS Noetic)
roslaunch eod_bags simple_soft_tracking.launch
A red ball consisting of color and shape attributes is recognized; if the shape attribute disappears, the object is tracked only by the color attribute.
4. Complex Objects
Only with installed igraph
4.1. A Complex Object by the example of a combination of two ArUco
roslaunch eod_bags aruco_space.launch
Complex Objects 6-9 are recognized, which are different variants of the arrangement of two objects in quadrants. Depending on the position of the small (4x4) aruco marker relatively large (6x6), the recognized Complex Object changes. Each quadrant is specified using a logical AND linking two spatial relationships (combinations of OVER, UNDER, LEFT, RIGHT).
4.2. A complex object by the example of a combination of ArUco forming a triangle
roslaunch eod_bags aruco_triangle.launch
A Complex Object 1 is recognized, which is a triangle of aruco-markers connected by the relation distance in three-dimensional space.
4.3. A complex object on the example of a person
Only with OpenCV 4.2.0 installed (ROS Noetic)
roslaunch eod_bags faced_person.launch
A Complex Object 10 is recognized, which is a person turned to face the camera. A Complex Object consists of Simple Objects "face" and "person", which are connected by the relation "be in".