-
Notifications
You must be signed in to change notification settings - Fork 108
Tracking
First, Ctrl-c to quit all roslaunch opt_calibration sensor_[name].launch per node.
N.B.: Repeated sensor starts can hang in memory. It is occasionally necessary to restart all processes or simply reboot host.
Once multi-sensor calibration has been performed, multi-sensor people tracking can be launched by simply running a detection node for every sensor and a tracking node in the master PC.
In particular, in the master PC, run:
roslaunch tracking tracking_node.launch
The above publishes calibration data, performs tracking, and opens Rviz in order to track results. And in every PC attached to a sensor, the launch file detection_node_<sensor_id>.launch saved previously should be run as follows:
roslaunch detection detection_node_<sensor_id>.launch
After running the tracking node, Rviz is opened, people positions are plotted in the global reference frame (/world), and camera reference frames are shown. No people detection output is shown in order to avoid transmitting images over the network.
N.B.: While running multi-sensor tracking based on multi-sensor extrinsic calibration, the extrinsic_calibration flag in tracking/conf/tracker_multisensor.yaml must be set to true. If set to false, the camera reference frame is used as a global reference frame, and no extrinsic calibration information is used.
All parameters used for tracking are in tracking/conf/tracker_multicamera.yaml.
N.B. 2: It is important that all PCs are synchronized in time. The Internet can be used to update clock information. Future work includes implementation of an alternative option for synchronization. If the PCs are not synchronized in time, an error will appear in the tracking command line, such as:
[ERROR] [1396947072.332131826]: transform exception: Lookup would require extrapolation into the past.
This will allow you to change the sensitivity parameters for each unique imager in your network. Best practices for this process can be found in the Deployment Guide Imager Settings page.
To enable/disable this refinement in real time via dynamic reconfigure GUI, run:
rosrun rqt_reconfigure rqt_reconfigure
And select the tracking node.
While this step is optional, we have found that in OpenPtrack networks with five imagers or more, it is needed to resolve the splitting of a single track.
After performing multi-imager calibration with the checkerboard (Step 6 of this guide), it is possible to perform a refinement of the calibration by exploiting the output of the detection nodes.
This procedure requires one person to move throughout the entire area where tracking is to be performed.
In particular, in every PC attached to a sensor, the previously-saved launch file detection_node_<sensor_id>.launch should be run as follows:
roslaunch detection detection_node_<sensor_id>.launch
Then, in the master PC, run:
roslaunch opt_calibration opt_calibration_refinement.launch
At this point, it is requested that one person (only one!) move throughout the tracking area, performing different trajectories. People detections should appear in the visualizer.
N.B.: If people detections are not seen, try to zoom out in the visualizer.
When the entire area has been covered (more than once), to start the calibration refinement algorithm, run:
rostopic pub /opt_calibration/action std_msgs/String "save" -1
The optimization will start, and the refinement matrices will be saved in registration_<sensor_id>.txt files in the opt_calibration/conf folder. Moreover, a visualizer showing people detections before and after the refinement process should be displayed.
In order to use this refinement at tracking time, be sure that the calibration_refinement flag in the tracking/conf folder is set to true.
More information on the best practices can be found in the Deployment Guide Imager Settings page.
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.