The Ground Truth Labeler app enables you to label multiple image or lidar point cloud signals simultaneously. When playing the signals or navigating between frames, you can control which frames display for each signal by changing the frame rate at which the signals display.
The signals that you label are composed of frames. Each frame has a discrete timestamp associated with it, but the app treats each frame as a duration of [t0, t1), where:
t0 is the timestamp of the current frame.
t1 is the timestamp of the next frame.
When you label a frame that displays in the app, the label applies to the duration of that frame.
The intervals between frames are units of time, such as seconds. This time interval is
the frame rate of the signal. Specify the timestamps for a signal
duration vector. Each timestamp
corresponds to the start of a frame.
When you load multiple signals into a new app session, by default, the app designates the signal with the highest frame rate as the master signal. When you play back signals or navigate between frames, the app displays all frames from the master signal.
In the app, you can label signals only from within the time range of the master signal. When you view a frame from the master signal, the app displays the frames from all other signals that are at that timestamp. In this scenario, when navigating between frames, frames from signals with lower frame rates are sometimes repeated.
Consider an app session containing two signals: a video, v, and a lidar point cloud sequence, pc.
The video has a frame rate of 4 frames per second, with a 0.25-second duration per frame. This signal is the master signal.
The point cloud sequence has a frame rate of 2.5 frames per second, with a 0.4-second duration per frame.
This figure shows the frames that display over the first second in this scenario.
At time 0, the app displays the initial frame for each signal: v1 for the video and pc1 for the point cloud sequence. When you click the Next Frame button, the time skips to 0.25 seconds.
For the video, the app displays the next frame, v2.
For the point cloud sequence, the app displays pc1 again.
The app repeats the point cloud frame because the next point cloud frame, pc2, does not start until 0.4 seconds. To display this frame, you must either set the Current Time parameter to 0.4 seconds or click the Next Frame button again to navigate to a time of 0.5 seconds.
Keep the signal with the highest frame rate as the master signal when you want to display and label all frames for all signals.
After loading signals, you can change the master signal from the Playback Control Settings dialog box. To open this dialog box, below the slider, click the clock settings button . Then, select Master signal and change the master signal to a different signal loaded into the app. When you change the master signal to a signal with a lower frame rate, frames from signals with higher frame rates are sometimes skipped.
Consider the app session described in the previous section, except with the point cloud sequence as the master signal.
When you skip from pc2 to pc3, the app skips over v3 entirely. You can see v3 only if you set Current Time to a time in the range [0.5, 0.75).
Designate the signal with the lowest frame rate as the master signal when you want to label signals only at synchronized times.
Changing the master signal after you begin labeling can affect existing scene labels. For example, suppose you apply a scene label to the entire time range of the master signal. If you change the master signal, the time range changes. If the new master signal has a longer duration, then the scene label no longer applies to the entire time range.
If you load a new signal into an app session that has a higher frame rate than the existing signals, the app does not automatically designate the new signal as the master signal. The app chooses a master signal only the first time you load signals into a session. To designate the new signal as the master signal, select that signal from the Master signal list in the Playback Control Settings dialog box.
In the Playback Control Settings dialog box, you can select All timestamps to display all signals. Choose this option to verify and visualize the loaded frames. Do not select this option for labeling. When you display all timestamps, the navigation between frames is uneven and the frames of multiple signals are repeated.
Consider the app session described in the previous sections, except with all timestamps displaying. This figure shows the frames that display.
You can specify your own timestamp vector and use those timestamps as the ones that
the app uses to navigate between frames. In the Playback Control Settings dialog box,
select Timestamps from workspace, click the From
Workspace button, and specify a
duration vector from
the MATLAB® workspace.
When you select a signal for automation, in the automation session, the app displays all frames of the selected signal for the specified time interval. Because you can automate only one signal at a time, the app plays back the signal frames at the frame rate for that signal.