Keyframe Interpolation
Last updated
Last updated
Interpolation of an annotation is a process of labelling a moving object by tool estimating its position across frames between two defined frames. These frames in which the user sets the position of the annotation are called Keyframes. A keyframe can also be created with the Shortcut K.
On creating a keyframe, the tool automatically calculates and repositions the annotations in the interim frames between defined keyframes.
The keyframes are visible on the timeline (blue line under the frames) for a given selected annotation indicating that the position was set by the annotators themselves in those frames.
For instance, in the example below, the object was in motion from Frame 1 to Frame 25 and moved out of the scene. Frame 1, 5, 10, 15 & 25
are keyframes where the annotator manually set the annotation positions, while the intermediate frames have positions calculated by the tool.
Efficiency: Reduces the time and effort required to annotate frames individually by automatically propagating annotations across intermediate frames.
Consistency: Ensures uniformity in annotations across sequential frames, minimizing discrepancies and improving accuracy.
Keyframe Interpolation feature is only used for labelling object(s) in motion. Once a moving object has been identified, the process for Keyframe Interpolation can begin.
Identify the frame where the object is most clearly visible, in most cases it is the frame where the object is most closest to the ego vehicle.
Create the annotation for the object in the same frame. Modify its dimensions to annotate accurately and provide the attribute values.
The first time the annotation is created, inherently, becomes a Keyframe.
The annotation is propagated across all frames (forward and backward) on the same world coordinates (provided the ego pose data is available in the dataset).
Track the object by navigating in one direction, and after approximately 5-7 frames from the initial frame, reposition the annotation on the object accurately.
As soon as the cuboid is repositioned the current frame becomes a Keyframe.
The tool automatically adjusts the positions of all the annotations between the two Keyframes.
This process should be repeated till the object is visible in the sequence.
Deleting the annotation in any frame will indicate the immediate next/ previous frames in which the Annotation is present as a Keyframe. Eg:
The object is available between Frame 1-9
and is no longer visible on Frame 10
. The annotation is created on Frame 1
. Then, the annotation is deleted from Frame 10
since it is no longer visible. Therefore, Frame 9
becomes a Keyframe.
The object is available between Frame 11-14
and leaves the scene. The annotation is created on Frame 11
. Then, the annotation is deleted fromFrame 15
onwards since it's no longer visible. Therefore, Frame 14
becomes a Keyframe.
A frame turns into a Keyframes when the user does the following:
Creates an annotation on any frame.
Makes any position modification to an annotation manually.
Deletes the annotation on a frame which makes the immediate next and/or previous frames the annotation occurs in a Keyframe.
Uses the Shortcut K
while an annotation is selected. This makes the frame a Keyframe without making any changes to the positioning of the annotation.
For example, an object is stationary from Frame 1-10
and starts moving on Frame 11
:
The user will first create the annotation on Frame 1
The annotation gets propagated across all frames in the same position.
On Frame 10
, the user will press K Key
and mark it as a Keyframe
On Frame 11
where the object has started to move, the user will reposition the annotation accurately.
Hence Frame 11
will become a Keyframe.
Hence, to prevent the tool from interpolating the annotation beyond Frame 1-11
, the user created a Keyframe on Frame 10.
Keyframes can be removed by selecting an annotation on a keyframe and pressing the Shortcut K
. This shortcut is a toggle for both adding and removing the Keyframe.
Sometimes an object might be occluded in the interim frames. In such cases follow this:
Create the annotation on the object (Frame 1
) .
Go to the frame where the object is visible (Frame 8
) before it gets occluded (i.e.Frame 9-11
).
Press K
(Frame 8
bcomes a Keyframe)
Go to the frame where the object reappears again (Frame 12
).
Right-click on the selected annotation and select the option to Delete
annotation between a frame range.
Select the frame range as Frame 9 - 11
and apply action. The annotation will get deleted from this range without re-positioning it in frames that were not a keyframe.
To remove a keyframe or bring the annotation back to the tool calculated position, user can visit the frame and press K provided the annotation was selected in the prior frame.
This is useful when the object is both stationary and moving across the frames.
User can add a Keyframe to prevent the tool from interpolating annotations beyond a certain frame.