(External) The Falcon Handbook v1
(External) The Falcon Handbook v1
Handbook
Version 1.0
Last Updated 2/04/2021
History/Change log
● 4/24/2020, Version 1.0
○ Expanded section and added examples under Positioning - Vehicles
● 4/17/2020, Version 1.0
○ Added more vehicle sizing examples under Shape & Sizing - Vehicles
○ Added more examples under Echo Points
○ Updated gif examples under Unknown Zones
● 4/5/2020, Version 1.0
○ Added more vehicle sizing examples under Shape & Sizing - Vehicles
● 2/5/2020, Version 1.0
○ Draft created
● 2/4/2021, Version 1.0
○ Updated image examples under Positioning - Vehicles
○ Added a Freeway Scene Section
○ Added Parking Lots Section
○ Added more GIF examples for Echo Points
○ Added section for How to Identify Bad Data
○ Updated images under Articulated Vehicles
○ Added section about Trailers
○ Added section about Dumpsters
Table of Contents
How to Annotate:
● Ground Points and Tires
● Cuboid Sizing:
○ Shape and Sizing - Vehicles
○ Positioning - Vehicles
○ Extremities
● Unknown Zones
● Freeway Scene
● Parking Lots
● Echo points
● How to label Shifting Data
● How to Identify Bad Data
● Scattered Data
● Articulated Vehicles
● Dumpsters
● Trailers
● Animals
● Advanced Concepts
Common Errors:
● Standard Sizing - How and when to do it
Guides, Tips, and Advice:
● Workflow
● Missing Cuboids - Using Radar Points
● Pedestrians sitting on the ground
● Leaving out extremities
● Objects entering/exiting a building with an Unknown Zone
● Bicyclist/Motorcyclist
How to Annotate
Ground Points and Tires
Include ground Grounds points are the green colored lidar points near the bottom of the
points if they are scene. The coloring is meant to help differentiate the ground from the
also part of the vehicles; however, they are not always accurate. Parts of the car, like
tire. Always size tires, might be colored green by mistake.
the cuboid to the
bottom of the You should always size the cuboid to the bottom of the lowest tire. Include
lowest tire. ground points if you are trying to include a tire in the process.
Incorrect: Correct:
Example 1: Cuboid Cutting off Tires
The following incorrect example shows ground points excluded from
cuboids. This is incorrect because it also excludes the tires of vehicles.
Note: Beware of vehicles that are sized to the bottom of the vehicle body
with no consideration for wheel height.
The vehicle is clearly on a slope, but we are taking extra care to include
the lidar points of the lowest wheel.
Vehicle vs Small 3 wheel motor objects are considered “Vehicles”. Key difference is
Motorcycle that the rider is not exposed.
Exceptions to the “exposed rider” rule are roofless vehicles and lawn
mowers.
DO NOT include Do not include the following extremities within vehicle cuboids
mirrors, (examples below):
antennas, open 1. Side Mirrors
car doors / 2. Antennas
trunks, roof 3. Open Car Doors / Trunks
racks, or any 4. Roof Racks
other extremities 5. Bike Racks
6. Back tires on cars
7. Other Extremities
(b) Here we have a very big gap from the edge of the LiDAR to the edge
of the cuboid. Camera view confirms that this cuboid could’ve been sized
tighter to the LiDAR.
There should be no space in between the vehicle edge and cuboid edge!!
(b)
In this example, the changes are very subtle. However, this change was
large enough that it was considered a critical error.
The cuboid width on the right was narrowed on both sides to exclude the
extra noise points and extra space right by the doors of the vehicle.
Here we have APC turned on at 50 density. The side view shows this
vehicle was not sized properly according to the rules mentioned above.
The back bumper still has some room left that should not be there. In the
image on the right, the back of the cuboid was pulled in where the edge
touches the LiDAR.
Bonus points if you were able to identify extra space at the top of the
vehicle.
(a) This example incorporates both the Door to Door and Tire to Roof
sizing. There is too much space in between both of those edges. On the
image to the right, the cuboid was adjusted to the edge of the LiDAR.
We do not include wheels that stick out in that manner. Please follow the
Door to Door sizing rule in this case.
Positioning - Vehicles
Positioning a vehicle does not necessarily require you to adjust the size of
the cuboid. Instead, use camera view and lidar context can help determine
how to properly position the cuboid to align with the lidar edge of the
object.
Stationary Vehicles
To fix this, use the arrow keys to adjust rotational heading. There is no
pitch and roll in falcon, so you do not need to worry about that. Pressing
the right arrow key will align the cuboid edge so that the sides will become
parallel with each other.
You will notice that there is now a considerable gap in between the cuboid
and LiDAR edge. Using the WASD key functions can help move the
cuboid to its proper location. Here, the D key was used to move the
cuboid. Keep in mind that no sizing adjustments have been made, only
positioning!
Dynamic Vehicles
The hot key B is very useful to display all dynamic frames in one image.
This is called dynamic APC. For another interactive explanation of
dynamic APC, please refer to the Workflow section in the Handbook.
In the cuboid above, it appears that all the LiDAR points were not entirely
captured. The front bumper is cut off and the back bumper has too much
space in between the cuboid edge.
The main principle of dynamic APC is to be able to visualize all moving
frames in one place. This can be done by placing the mouse cursor and
hovering across the pathway bar.
In the scene above, it seems that the frames where the LiDAR was not
contained is within frames 30 to 45.
The next steps in fixing this is to adjust the cuboid in each key frame the
error is present in. In this case, you would adjust the cuboid in all the
keyframes between frames 30 and 45. This fix here is simple; using a
combo of the WASD keys, you can adjust the positioning for that key
frame.
Since the bumpers were not properly annotated in the example above, the
W and S keys should be used. You may have difficulty containing all the
LiDAR points that are in frames between the key frames, so some back
and forth is expected.
The end result should look like this with all LiDAR contained within the
cuboid.
Extremities
We choose to exclude the lidar points that are associated with the loading
dock.
Conclusion: Cuboid will exclude lidar points that are suspected to be part
of the loading dock. If camera view is not present, points will be excluded
if clear with 90% confidence.
Unknown Zones
Unknown zones Unknown Zones are generally large cuboids that cover an area of interest.
are used to label They cover areas of low confidence like the inside of buildings where we
lidar points with are less certain about the existence of another label (like a vehicle) or
less than 90% where the LiDAR points might be less distinguishable from the
certainty of the surroundings.
proper label.
Conditions in where Unknown Zones are used:
● LiDAR points suggest an annotatable object but can NOT be
They confirmed in camera. Additionally, there are insufficient LiDAR
automatically points to confirm conditions for annotation with 90% confidence.
include ○ Cuboid should be sized to include all lidar points in
reflections, question
objects in ● Indoor areas where vehicles and pedestrians can exist should be
buildings, and labelled with an Unknown zone. These include, but are not limited
covered cars. to, the first floor of a multi-story parking lot, garages, and
restaurants.
○ In these cases, do NOT annotate other labels inside the
unknown zone.
○ Avoid including the walls of the building or extending past
the first floor unless there is lidar evidence of potential
things to annotate. Include those lidar points in the
unknown zone, do not annotate them individually.
○ If an object is entering or exiting an unknown zone, it
should be annotated once it is outside the unknown zone.
There should be no frame where the object is not contained
in some cuboid.
○ Example 1, Example 2
● Reflections anywhere in the lidar scene
○ Unknown Zone cuboids can extend past inner walls to
include reflections. The Unknown Zone cuboid should not
extend past the exterior wall that faces the outside.
○ An exception to the rule is when reflections extend past the
exterior walls out into the streets and onto other cuboids.
Tightly size the Unknown Zone cuboid to include all
reflection points that extend into the street.
○ Example 3
Incorrect: Correct:
Cuboids should not exist inside unknown zones. Even if they appear in
Lidar.
(a) An unknown zone is placed over a large area that captures all
reflections in a given region. Remember that all unknown zones that
capture reflection points should be sized within the walls of a building the
reflections are contained in.
(b) Reflections can be present outside of buildings and into streets and
sidewalks. In these cases, annotate only the reflection points of the object
that is being reflected off of.
Size the unknown zone as tightly as possible making sure that any LiDAR
points are not excluded. These specific cuboids are allowed to overlap
over other objects as long as there are reflection points.
When Cuboids In certain scenarios, there may be insufficient LiDAR points to judge a
have insufficient large number of cuboids. In these cases, we should place the cuboids
lidar points and within an Unknown Zone.
are on a hill or
incline, label
cuboids to the Example 1: Cuboids resting on an incline.
best of your Because of insufficient lidar points, z-index between different cuboids can
ability and place be different. This is natural given the low confidence of the entire area to
an unknown zone begin with.
over the entire
area.
In cases like this:
1. Label all cuboids to the best of your ability using LiDAR points &
Standard Sizing Rules.
2. Avoid changing existing cuboid unless you have over 90%
confidence in the change. Different Z-indexes are OK.
Freeway Scene
❏ For sparse or ambiguous lidar points far from the SDC position
that are NOT ON the freeway check camera. If the lidar points are
not in the camera image (occluded behind buildings, barriers, etc.)
we can ignore.
❏ MAKE SURE to check context and scene layout if you think it is an
object of interest then mark with Unknown Zone.
Parking Lots
❏ Vehicles in parking lots without camera image but have clear lidar
and context should be labeled as Vehicle. Based on context we
can confidently assume that the lidar points are cars
Echo Points
Cuboid should Echo points appear when the SDC picks up extraneous data
include echo around a dynamic object. Echo points can be included when annotating
points when dynamic paths.
necessary that
correspond to the However, the cuboid should follow the LiDAR track of the actual object not
object in motion the surrounding echo points. Cuboids should be sized to the frame of the
fullest LiDAR image of the actual object at its closest distance to the SDC.
To figure out if an object has echo points, go through every frame of the
moving object. A “ghost” projection of the LiDAR should appear right next
to the object as it gets closer to the SDC. This extended projection gives
the illusion that the object is larger than normal.
(a) The images above show echo of the same object one frame from each
other.
(b) In the series of frames above, echo is present around the vehicle. The
cuboid length was extended to include the surrounding echo points.
Incorrect:
(a) The GIF above shows the incorrect way of annotating a dynamic
vehicle. Some echo points were included inside the vehicle which
makes this annotation incorrect.
Correct:
(a) The GIF above shows the correct way of including the valid dense
points of the vehicle and excluding the echo points.
Shifting data Shifting data occurs when the SDC makes a sharp turn, drives over
should be speed bumps and/or potholes, or if there is a miscalibration of the LiDAR
included within data. LiDAR points within the scene “shift” and move at each frame with
the parameters of the movement of the SDC. This results in objects appearing larger and
the cuboid exaggerated in height, length, or width.
1. Dynamic: Size based on best lidar frame then exclude lidar points
if necessary. (Pathing should be smooth to properly measure
momentum)
2. Stationary: Include all points by annotating in APC.
Example #1:
Considerations: Max APC is on. There is enough LiDAR on the backside
to determine the full width and height of the vehicle. Since there is an
insufficient amount of data on the frontside of the vehicle, we cannot
determine the complete length of the vehicle. Therefore, standard sizing
should be used at 4.75m.
Because shifting data is difficult to determine the true size and shape of an
object, all of the LiDAR should be contained within the edges of the
cuboid.
Since there is a clear view of the camera, we can actually size the cuboid
to the camera view while keeping the LiDAR shift in mind. Be careful to
not include any extraneous LiDAR that is not part of the vehicle.
If we take a look at the Overhead View, we can clearly see two protruding
side mirrors which suggests the true width of the vehicle.
Bad data occurs when you start to notice reflection points underneath an
object but it is neither rainy nor foggy in your current scene.
There are certain conditions for when we can consider the reflections
[without the rain] as bad data.
(a) The GIF above shows the abnormal data. The lidar points are all
white and not green lidar points and it is stacked on top of each
other. To find this kind of data, turn on MAX APC - density 50 to
see all of the points clearly.
(b) Turn on Dynamic APC [hotkey B] and scrub through the frames so
you can see the movement of the points in each frame. This way,
you can confirm if bad data is present.
Scattered Data
Shifting data Scattered data appears when LiDAR points are “stretched out” giving the
should be appearance of a wider, taller, or longer object. Scattered data is a type of
included within noise. This is not to be confused with shifting data, however they are very
the parameters of similar in appearance when Max APC is turned on.
the cuboid
Scattered data and shifting data differ in the following ways:
● Shifting data will vary in position per frame after the data collection
process.
● Shifting data will capture the true shape of the object but the
position of the object will drift from its original position.
To put it simply, scattered data collects extra LiDAR points around the
object but the position remains the same. Contrastly, shifting data
maintains the true size of an object per frame but its position moves
across all 50 frames. Thus, resulting in an exaggerated shape when Max
APC is on.
It is also important to note that scattered data does not necessarily affect
every cuboid in the scene compared to shifting data.
Example #1:
Considerations: Max APC is on. Standard sizing has been applied due to
insufficient LiDAR points at the front and backside of the vehicle.
As a general guide, if scattered data is unclear and does not allow for
proper cuboid sizing, use standard sizing. Additionally, if a camera view is
present, use the camera image to help size the cuboid.
Articulated vehicles are two (or more) separate vehicles that are
attached together such as:
● Semi-trucks
The front section of the semi-truck (where the driver would be in) should
be sized from the front bumper to back of the middle tires (without the
payload, the semi-truck would still have the middle tires).
The back section of the semi-truck (the payload) should be sized from the
end of the trailer to the end of the front section of the semi-truck.
Note: remember to exclude extremities (especially loading docks)
The overhead view, in the end, will look like this:
Note: it is okay if the two cuboids overlap just slightly. The two sections do
not have to be perfectly touching each other.
(a) The image above shows that the object is an articulated vehicle
based on the camera view.
(b) But checking on the lidar view, it is hard to determine the pivot
point. However, we can distinguish the head of the truck to the
trailer of the truck so we can safely separate them.
Correct Sizing:
(c) The first cuboid is sized to cover the head of the truck up to where the
pivot points should normally be (exercise best judgement) while the
second cuboid covers the entire trailer. Again, we can see slight overlap
that is necessary for these objects.
NOTE:
In cases where an articulated vehicle is visible in the camera but no
indication of where the connector between the front and back section is,
use ONE vehicle cuboid is used to annotate the whole thing.
Trailers
Dumpsters
Example 2:
Clear LiDAR and Clear Camera view
Advanced Concepts
Using Camera/ ● When looking at a task, try using LiDAR View and Camera View to
LiDAR context to correctly position objects
help locate
missing objects
and their position
Common Errors:
Standard Sizing
Clear Lidar Points = “More than 90% confidence in the exact size of the
cuboid”
The LiDAR points display half of the horizontal back of the car, as well as
some of what appears to be the wheels on the side. However, it does not
necessarily give us enough evidence to determine the sides of the car.
For Height: LiDAR points give sufficient evidence for the original width
and height of the cuboid. Therefore, we size to the LiDAR points.
The Vehicle width is uncertain since we cannot see a clear back outline or
sides of the car - hence we fit standard sizing width 1.8M over existing
LiDAR points.
Note: Using width standard sizing and sizing based on lidar both get us
close to 1.8m width.
Example 2: Has LiDAR & Camera / Unclear LiDAR & Camera
We do not have enough information in LiDAR to find the roof of the car, so
we cannot size ”tire to roof”. Camera view appears accurate, so we start
with standard sizing and size to camera as best as we can. We include
what we might consider to be the front tire.
The LiDAR points display the horizontal back of the car in Overhead View.
In Back View, they sparsely outline the shape of the car. The Overhead
View gives us enough confidence to size to Lidar. The width sizing
conveniently is the same as standard sizing.
We can see no evidence of a front bumper in LiDAR.
For Height: LiDAR points do not show a roof position and give <90%
confidence for tire position. Camera is available and seems accurate, so
we size for Camera Accuracy while including all LiDAR points in the tire. If
there was no camera, we would use the standard sizing for height of
1.85m.
For Width: LiDAR points show the back outline of the car in Overhead
View. The outline gives us enough confidence to size the width to LiDAR.
This is conveniently the same as 1.8m width standard sizing.
For Length: LiDAR shows us the back outline of the car; however, it does
not give us any information on the front of the car. This does not give us
enough to size “bumper to bumper”. Hence, we should use 4.75m length
standard sizing and align the cuboid to the back outline bumper.
Even with APC on, LiDAR points only show one side of the vehicle. We
cannot find the other door, so we cannot size “door to door.” Hence, we
should use standard sizing.
Even with APC on, LiDAR points do not show the front or back bumper.
Since we cannot find the bumper, we cannot size “bumper to bumper.”
Hence, we should use standard sizing.
In the scene view around the car, we can see the bush in front of the car.
For Height: LiDAR does not show enough data to find the tires. Hence,
we cannot size “tire to roof”, so we should use 1.85m height standard
sizing. We position the cuboid to align with what we can see is the roof.
For Width: LiDAR only shows one door. The other door has no lidar
points. Hence, we cannot size “door to door”, so we should use 1.8m
width standard sizing. We position the cuboid to align with what we see as
one door.
For Length: LiDAR does not show the front bumper. Hence, we cannot
size “bumper to bumper”, so we should use 4.75m length standard sizing.
We see the scene has LiDAR points not associated with the car at the
front of the cuboid. We position the cuboid with these points in mind, even
if those push these cuboid past the back of the car.
Guides, Tips, and Advice:
Missing Cuboids
Use the “pedestrian” ● If a pedestrian is sitting on the ground, bench, ledge, then use
label. the “pedestrian” label.
UPDATE!!
Use the “PEDESTRIAN
LYING DOWN” label for
pedestrians laying on
benches and laying or
sitting on the ground.
Excluding Extremities
Rule: any objects inside a building should not In this GIF, the vehicle is entering a building.
be annotated even if it has LiDAR and/or The moment the vehicle’s LiDAR is fully
camera view. inside the Unknown Zone, the annotation of
the vehicle is finished.
Following this rule, dynamic objects
entering/exiting a building should be
annotated while the object’s LiDAR points are
outside of the unknown zone.
Other_Human
Orientation:
Can be disregarded when labeling other
humans.
Bicyclists/Motorcyclists
Motorcyclists:
Only annotate
motorcycles when
there is a rider ON
the motorcycle
Do NOT annotate
motorcycles when
riders are NOT
present (i.e Parked
motorcycles)
Workflow
Workflow
○
● Start working in “Section 1”
○ Fix cuboids that you’ve noted down for Camera 0//Section 1
○ Click on the cuboid CLOSEST to the SDC in Section 1
■ Stationary or Dynamic?
■ Stationary (Turn on APC, “P” Key):
○ Correct Label?
○ Correct Sizing?
○ Correct Orientation?
○ Correct Positioning?
■ Dynamic (Turn on Dynamic APC, “B” Key):
○ Correct Label?
○ Correct Sizing?
○ Correct Orientation?
○ Correct Positioning?
○ Smooth Pathing?
■ Fix cuboid (if needed)
■ When finished, press Shift + Spacebar
○ Repeat for the entirety of Section 1 with the next closest cuboid
● Start working in Section 2, Section 3, Section 4
○ Same steps as above
● Last Check - Scroll through the entire scene toggling APC on/off
○ Turn on Quality Assistant (“Q” Key)
■ Go through the list for any unchecked cuboids
■ If cuboid is unchecked, click the search icon and fix (if needed)
and press Shift + Spacebar
○ Look for missing stationary objects
■ Go down every single road and intersection
■ Check driveways for parked cars
■ Check at stop lights for stopped cars at intersections
■ Check parked lanes, with Radar on, if vehicles are getting
picked up
○ Look for trails of dynamic pathways that weren’t annotated
○ Check the Unknown Zones
■ Reflections
■ Is this UZ covering all points of the reflection?
■ Is the UZ around long enough to cover the entire reflection?
■ Overlapping
■ Are the objects actually overlapping by more than 20%?
■ Is the UZ around during the time that the objects are
overlapping?
■ Objects inside of buildings
■ Are these objects annotated and covered with an UZ?
○ If yes, then delete the individual object(s) and check if
the UZ is labeled correctly.
○ If objects are not annotated and not covered by a UZ,
then make an UZ that covers the entire section that
objects (while excluding the building walls)
Reviewing Stationary, Dynamic and Pedestrians
Reviewing a Pedestrian
● Go to LiDAR View
● Toggle Cuboid Trail On (“O” Key)
● Click on the pedestrian cuboid.
● Look at the side panel.
○ Turn on Dynamic APC (“B” Key)
■ Check if LiDAR points are all contained within the cuboid across all
frames.
● Tip: Use grid view (“K” Key) to see all frames at once and adjust
keyframes with lidar points that are not aligned with the rest.
■ Make sure cuboid sizing is fixed (0.5m x 0.5m x 0.5m)
○ Press “T” for top-down view
■ Check the smoothness of the pedestrian path.
■ Check z-index in the side panel for smoothness.
● If SDC goes over bumps/dips, then z-index may be jagged.
■ Press “O” to stop showing all frames.
■ Use +/- to navigate and use predicted frames to look for missed lidar
points in later/earlier frames.
● Open Quality Assistant Panel (“Q” Key)
○ Double check to see if ALL pedestrians have been checked off