-
Notifications
You must be signed in to change notification settings - Fork 107
Manual Ground Plane
We have found that in some environments, specifically spaces with reflective or dark-colored floors, the automatic ground plane will not accurately detect the ground. This leads to sparse tracking; the tracks will not be consistent, or there will be no detection or tracks at all. To correct this, the ground plane detection needs to be changed from automatic to manual selection. To do this for each sensor, ground_based_people_detector_kinect2.yaml
or ground_based_people_detector_kinect.yaml
, change line 5 from:
ground_estimation_mode: 3
to:
ground_estimation_mode: 0
Once this change has been saved to the .yaml file, stop the detection process for the sensor, and then restart it. Once the sensor is restarted, the manual ground plane selection window (titled "Pick three points") should appear after a few moments. If you are connecting remotely via SSH and do not see the window, first navitage to open_ptrack/detection/conf/ground_based_people_detector_kinect2.yaml
and verify that:
remote_ground_selection: true
Then, check that you're using the -XC flag to start SSH with X11 GUI forwarding enabled, e.g., ssh -XC 192.168.100.101. If everything is working properly, the following screen should appear:
N.B.: In tracking environments with dark floors, when starting a Kinect v2 camera, we have found it necessary to place a large, flat white object on the floor to create a surface from which the three points can be chosen. This is the white square in the image above.
After the screen appears, we have found it easiest to zoom into the space from where the three points will be selected. This can be done by using the center wheel on the mouse, or by using the f
key with the cursor over this space. It should now look like this:
N.B.: We have found that after zooming in on the spot that will be used to select the three points, the image should be articulated in a way that verifies all pixels are in the ground plane.
Now, hold the shift
key and use the left mouse button
to select the three points. It should look similar to this:
Rotate the rendering in 3D to verify the pixels near your selection are actually on the ground plane, and you did not inadvertently select pixels on another plane.
To save the three points selected, use the right mouse click
for the TX or TK1
or q
, if using any other computer, to save the manual ground plane
. The screen will close, and the ground plane that was selected will be used for the sensor's detection.
After a sensor restart, to reuse the ground plane that was selected, a few changes need to be made to the ground_based_people_detector_kinect2.yaml
or ground_based_people_detector_kinect1.yaml
, depending on the sensor(s) being used. First change read from ground file to true:
read_ground_from_file: true
Lastly, change lock ground to true:
lock_ground: true
If a camera is moved, then the following:
read_ground_from_file: true
needs to be returned to:
read_ground_from_file: false
This will allow the ground plane to be reset manually by the user.
If you are working with OpenPTrack v2, use this wiki instead.
- Time Synchronization
- Pre-Calibration Configuration
- Intrinsic Calibration
- Camera Network Calibration
- Person Tracking
- Object Tracking
- World Coordinate Settings
- Tips and Tricks
- Tested Hardware
- Network Configuration
- Imager Mounting and Placement
- Calibration in Practice
- Quick Start Example
- Imager Settings
- Manual Ground Plane
- Calibration Refinement
How to receive tracking data in:
Notes on contributing to OPT.