3D Lines
9 min
this page has two halves annotating is the order to work in and the tools that make each step cheap reviewing is what to check before a task leaves your hands โ the same checks whether you are checking your own work or someone else's annotating, in short set up the view bird's eye view ( b ) plus the settings that make the ground visible read the scene what you are annotating, and whether the data supports it choose the order one class at a time, each class supporting the next draw the lines adjust simplify, align to the ground, fix directions set properties once, then paste along the run annotating 1\ setting up the view 3d lines describe the ground, so set the view up to show the ground clearly once per project is usually enough if you change only three things bird's eye view ( b ), point cloud colours by intensity , and show node ground alignment the rest is refinement see the ground setting where why bird's eye view ( b ) main view new nodes land at ground level, based on the lidar points hide object points view โ point cloud point filter hides other objects' points not in all task types see the markings setting where why point cloud colors โ intensity or intensity gradient view โ point cloud colors painted markings reflect more light, so they stand out point cloud color interval window โ point cloud color interval intensity gradient only separates markings from road once tuned point cloud highlight โ full view view โ point cloud highlight lights the whole cloud, not just the current field of view see your own lines setting where why 3d node mode โ all nodes view โ 3d node mode shows every line's nodes, not only the selected line's show node ground alignment view colours nodes by distance to the ground show node indices view numbers each line's nodes from 1, so a node can be named follows your 3d node mode direction indicator โ all lines/lanes view โ direction indicator shows which way every line runs geometry settings window โ geometry settings on screen size of lines and nodes โ easier to see and click check your lines against the cameras setting where why projections โ selected object (2d) , all objects (2d) view โ projections projects your lines into the images, to check against what the cameras saw projections โ search light view โ projections shows where in 3d an area of the image is object camera ruler view adds a scale to the object cameras, so you can judge how far off a node is the cameras can also follow your work, from the the camera drawer docid\ yxklcvomtebtlj06g704g auto switch object camera and frame visibility โ jumps to the camera and frame where the selection is best visible best for reviewing aggregated scenes only auto switch cursor position โ follows your mouse best for classes you read from the images rather than the point cloud view docid\ uqzmvcnqfx8nyuzfkizex point slicing docid\ gtv4dz53czr jkxl1l1ly projections docid\ hngmpfpjhtmacdfuwwe8m object cameras docid\ wq00nqtw hvavjskfarnn point cloud aggregation docid\ bcoytptdi72b6fmuqvntx 2\ reading the scene a minute here is the cheapest minute in the task look through the scene step through a few frames in 2d which markings and edges you will annotate, which belong together, how far the work reaches use the ego trajectory to navigate, not to place lines clicking it jumps to that frame where the vehicle drove is not where a line belongs โ on a narrow road it may drive down the middle while the scene still needs a line each side wait for the ground nodes snap to the ground only after detecting ground finishes know what you are looking at your nodes are only as accurate as the ground under them smearing โ a stationary object that looks smeared means the cloud drifts, so the ground is not where it appears ghost shells โ vehicles and pedestrians look hollow in an point cloud aggregation docid\ bcoytptdi72b6fmuqvntx expected, not a fault what to do about these is a project question some projects want the task flagged, others want it annotated as it is 3\ choosing the order you annotate in which classes a scene needs is decided for you the order you create them in usually is not โ and it changes how much each class costs you finish one class before starting the next fewer class switches, properties paste across a whole run, and the property overlay docid\ nhzgrcsfqjgcxo2bphp7v shows whether a run is complete then order the classes so each supports the next reference lines โ the longest, clearest lines, usually painted markings easiest to place accurately, and they orient you in 3d for everything else physical boundaries โ curbs, road edges, barriers later lines are judged against these, so draw them before closing lines โ where the area ends without a physical edge, such as the far end of the road hold alt to attach their end nodes to the boundaries and close the area surfaces and connections derived from those lines โ build with derived classes docid\ t7pvih7 6 q3nbueccdgf rather than freehand only cheap once steps 2 and 3 are right a derived shape inherits its sources exclusions inside a surface โ islands and obstacles if they need links to the shapes they sit inside, set those now, while both shapes are fresh classes you judge from the images โ surface conditions, ground deviations place the first nodes with auto switch cursor position on the extent of the annotation โ a shape that says how much of the scene is annotated, if the task has one, comes last only then can you see how far the cloud stays dense and what has to fit inside not every scene has all seven with no painted markings, step 1 falls away and the physical boundaries become your reference lines two kinds of boundary a physical boundary is visible in the cloud, so it comes early and everything is measured against it an extent boundary is a decision about how much to annotate, so it comes last treating the second like the first is what makes people redraw it plan where each line starts and stops break lines where they need to connect derived tools work from line ends, so a stretch that connects to something must end there โ one object per stretch, not per road run lines past the shape that bounds them where they are meant to cross it, rather than stopping exactly on the boundary start a line only where the feature is real too narrow for what it describes means it has not started yet node density and placement few nodes on straights, more through curves extra nodes on a straight add review time, not accuracy keep nodes on the ground, not on what stands above it a node on a tree, pole or parked vehicle leaves the line floating skip adjustments below your project's tolerance 4\ drawing 3d lines work in bird's eye view ( b ) whenever you can each node lands at the lowest point in the cloud where you place it hold alt while drawing to attach nodes docid yy4terrg6jld5uihqua5 to another line, lane or point select the pen tool again to continue the selected line extend a finished line with 0 at the end, shift+0 at the start action assist 3d lines docid\ d0k8kfthb7pib6swfwxse steps the view sideways as you place nodes, so the drawing motion is shorter and your hands stay in one place if it stops stepping, press esc , b , select the class again and place the first node building on lines that already exist derived classes docid\ t7pvih7 6 q3nbueccdgf make a new shape from shapes you already drew derived class what it gives you options centerline a line midway between two lines or lanes, e g between left and right lane edges length same as selected, or selected plus connected lines lane connection a smooth line connecting two lines or lanes curve type soft or sharp and curve strength a type is suggested, and the choice appears only for lines that cross combined line one line through two or more existing lines, with a node at every selected node for u shaped and closed shapes offset in cm; positive pushes nodes outward selection order matters โ it sets a lane connection's direction and a combined line's shape if the result doubles back, check both sources run the same way keep lane connection curves gradual unless the real geometry is sharp a derived line is only as good as its sources expect to check length, direction, overlap, ground position and node count before you move on on complex stretches, drawing the line yourself beats repairing a derived one drag to duplicate creates the opposite edge in one motion, usually needing edits after see drag to duplicate docid\ lmdzsyt0y5o40zkjmriu9 3d lines docid 7inl rq6toyb7ytadauwb add/ remove nodes docid\ l9gxhlchbcdxog2lc3per 5\ adjusting 3d lines node tools โ add, remove and adjust one or many nodes most are in the action bar docid\ nty4yglaqsqrysd vjcwi ; transformation controls docid\ ai1c20i3hou bexm8ffmx work on a single node add/ remove nodes docid\ l9gxhlchbcdxog2lc3per ยท align 3d nodes to ground docid\ e27ypfhidmmw nzydsyki ยท multi edit nodes docid\ umf1ixrqo2cpgel0yqttl ยท attach nodes docid yy4terrg6jld5uihqua5 ยท detach nodes docid\ mtpensv2pyo6mt0mhc6e6 shape tools โ modify or combine whole shapes; scissors works on several lines at once for position, scale or rotation, activate node and shape edit modes docid 9y0ax8qabl5ceikmqxrde align 3d nodes to ground docid\ e27ypfhidmmw nzydsyki ยท simplify 3d line/ lanes docid\ ed75bimfbdkc 5uyxixir ยท scissors docid\ ano8t0cq temtkvdatc1j ยท join lines/ lanes docid\ geiekjonjact0bvz wen9 wrong direction? right click the line โ reverse direction splitting gives you two objects anything that referenced the original โ a link, or a shape derived from it โ may now point at the wrong half joining merges two lines into one object and id pick the ends; the preview arrow shows the resulting direction if a join will not commit, detach the lines and leave a gap between the ends 6\ setting properties set them however you normally do โ quick properties docid\ jrg96ecgjb68hrhkc7k y , the edit tab, or copy and properties docid\ uwjx3tigr8rgs2eghw7fb of the same class what is worth doing differently on lines set one line correctly, then paste its properties down the whole run before moving to the next class the property overlay docid\ nhzgrcsfqjgcxo2bphp7v colours shapes by their properties, so a run you have not finished is easy to spot reviewing run these checks before a task leaves your hands they are the same whether you are finishing your own annotation or reviewing someone else's โ the difference is what you do with what you find correct it, or record it as add feedback docid\ dyap cmm72dmzpvz6e5lb for whoever annotated it which of the two your project expects is a project question when you add feedback to a line or lane, a pin is placed automatically โ at the point you clicked, or at the node you had selected when you opened the form โ and go to pin on the feedback card takes the annotator straight there the pin follows one object, so it disappears if you select a second go through the scene with bird's eye view both on and off โ each exposes different mistakes node positions with show node ground alignment and 3d node mode โ all nodes on, look for orange and red colour meaning green on the ground โ within 10 cm orange slightly off โ within 25 cm red more than 25 cm off white ground could not be determined there turn on show node indices as well if you are writing feedback it numbers the nodes from 1, so a comment can name the node it is about instead of describing where it is then check from a second angle turn bird's eye view off and travel the scene at ground level, or step through frames in 2d a line that looked fine from above is obviously floating from the side auto switch object camera and frame visibility (aggregated scenes) or auto switch object camera visibility does this as you step node to node, with the line projected into the 2d miniature image docid\ budtv3ll0y3hhqyk8qxgl line direction turn on direction indicator docid\ vg0rqvtpdkrett4osvwch for all lines and check them in one pass what a direction means is defined per task, and can differ between datasets in one project โ right hand versus left hand traffic, for instance โ so check which the task is from rather than assuming links where two shapes are meant to be related, check the link is actually set turn on object links in the edit tab docid\ zicm7avhq1eaf hkrqlfp to see the connections in the scene, and view โ show object link area to shade the stretch each link covers, with one colour per area on a shape that has several โ useful when the question is not whether a link exists but whether it covers the right stretch re check links near anything that was cut, joined or redrawn a shape that referenced the original line may now point at the wrong object properties use the property overlay docid\ nhzgrcsfqjgcxo2bphp7v to confirm every class carries the properties it needs when the objects in your way are defined by a value rather than a class, hover the value in an expanded property and click the hide icon every object with that value disappears, including objects with no value set for that property hide several at once, and save the combination as a favourite filter if you use it in every task validation resolve the validation warnings, then submit & reset a task docid\ sqpfvjrjks0egmkwqbefp feedback overview docid\ kkoaadn2hl33jbtqug7po object feedback docid\ j6dvumpe0fwoqwqz qwfh focused review docid 31ttldc nilus cjnbvo8 reference applies to both halves tips for common issues too many nodes simplify 3d line/ lanes docid\ ed75bimfbdkc 5uyxixir removes redundant points, or reduces the line to a node count you choose nodes are not on the ground try align 3d nodes to ground docid\ e27ypfhidmmw nzydsyki first; where it fails โ sparse cloud, steep elevation โ align manually on curbs and raised edges, check the result alignment can settle nodes on top of the structure instead of at its base to fix a whole line's height select it, activate node and shape edit modes docid 9y0ax8qabl5ceikmqxrde , view it in the side cameras, and use the scale transform to "squish" all nodes to the same z position trees, poles or buildings block the view from above hold ctrl and scroll to slice the cloud, or set the range in window โ point cloud slicing see point slicing docid\ gtv4dz53czr jkxl1l1ly slicing keeps a flat band of heights, so on sloping ground the band that clears the trees at one end can cut away the road at the other โ slice for the stretch you are on, then widen again i can see the error in the image but not in 3d turn on search light under view โ projections docid\ hngmpfpjhtmacdfuwwe8m the point cloud barely shows the feature turn on auto switch cursor position in the camera drawer docid\ yxklcvomtebtlj06g704g so a camera follows your mouse nodes will not move, or drawing stops responding switch to 2d and back to 3d shortcuts worth knowing for lines only the line and node ones โ the general shortcuts are in the keybindings window docid\ zeohmsoo kfy qzqnmny2 , where you can also change these or add your own shortcut action b bird's eye view mode alt (hold while drawing or editing) attach node to another 3d line, lane or point alt+n / alt+p step to next / previous node + / add node / remove node 0 / shift+0 extend the selected line at the end / at the start shift+z switch between shape edit and node edit
