17
Summer 09 is over. When did that happen?

Alex Sorokin: OpenCV/Mechanical Turk Presentation

Embed Size (px)

DESCRIPTION

Alex Sorokin's presentation on his work this summer building a server to annotate data collected from the Willow Garage PR2 robot. This server would submit jobs to people on Amazon's Mechanical Turk service to get labeled training data.

Citation preview

Page 1: Alex Sorokin: OpenCV/Mechanical Turk Presentation

Summer 09 is over.

When did that happen?

Page 2: Alex Sorokin: OpenCV/Mechanical Turk Presentation

What have I done?

• Tools for annotating data• Tools to for data access• Executive to capture data autonomously• Annotation lifting• PR2 challenge

Page 3: Alex Sorokin: OpenCV/Mechanical Turk Presentation

Data annotation

Page 4: Alex Sorokin: OpenCV/Mechanical Turk Presentation

New modes of annotation

• Several new ways toannotate data– Multiple fast

bounding boxes– Zoom-in interface for

detailed polygonalannotation

– Grouping images totrack people

– Free text labels

http://vm7.willowgarage.com/mt/good_results/bottles-p-2/p1/

Page 5: Alex Sorokin: OpenCV/Mechanical Turk Presentation

New modes of annotation

• Several new ways toannotate data– Multiple fast

bounding boxes– Zoom-in interface for

detailed polygons– Grouping images to

track people– Free text labels

http://vm7.willowgarage.com/mt/good_results/bottles-p-2/p1/

Page 6: Alex Sorokin: OpenCV/Mechanical Turk Presentation

New modes of annotation

• Several new ways toannotate data– Multiple fast

bounding boxes– Zoom-in interface for

detailed polygonalannotation

– Grouping images totrack people

– Free text labels

Page 7: Alex Sorokin: OpenCV/Mechanical Turk Presentation

New modes of annotation

• Several new ways toannotate data– Multiple fast

bounding boxes– Zoom-in interface for

detailed polygonalannotation

– Grouping images totrack people

– Free text labels

Page 8: Alex Sorokin: OpenCV/Mechanical Turk Presentation

Grading!

• Just filter out poorresults

Much easier thanannotating yourself

• New task to run gradingon MechTurk

• Random sample ofthumbnails

• Grading by worker• Track grading conflicts

http://vm7.willowgarage.com/mt/grading/thumbnails_random/prf-jul-08-L2-p/

Page 9: Alex Sorokin: OpenCV/Mechanical Turk Presentation

Grading!

• Just filter out poorresults

Much easier thanannotating yourself

• New task to rungrading on turk

• Random sample ofthumbnails

• Grading by worker

http://vm7.willowgarage.com/mt/grading/thumbnails_random/prf-jul-08-L2-p/

Page 10: Alex Sorokin: OpenCV/Mechanical Turk Presentation

Data annotation server

• Django server to manage dataannotation process

• Stable server• Consistent user interface• Scalable task architecture• First 5 users• ROS integration across 2+ different masters

– Image in (over HTTP post)– cv_mech_turk/ExternalAnnotation out

http://vm7.willowgarage.com/

Page 11: Alex Sorokin: OpenCV/Mechanical Turk Presentation

Data access

• Bag server– Random access into a bag file– Replay of select messages

• Bag image view– Browsing images off a bag– Example client to the bagserver

Page 12: Alex Sorokin: OpenCV/Mechanical Turk Presentation

Data lifting

• 2D to 3D correspondence• Annotation of laser clouds with object

labels, image coordinates an image IDs• Image storage server• Static map of all annotations• Whiteboard detector from static object

map

Page 13: Alex Sorokin: OpenCV/Mechanical Turk Presentation

Camera “calibration”

• Create a virtual cameraand move it to align withthe laser cloud or robotmodel

• Fix major calibrationerrors

http://pr.willowgarage.com/wiki/camera_offsetter

before

after

Page 14: Alex Sorokin: OpenCV/Mechanical Turk Presentation

Data collection executive

• High level executive based on M2 pythonexecutive– Move to waypoints– Position head– Record data– Record action state

• Select images when the “record” action wasactive and annotate them.

Page 15: Alex Sorokin: OpenCV/Mechanical Turk Presentation

PR2 challenge

• Integrated ROS components into a completebehavior.

• Preemptable high level state machine:– Allows to switch between autonomy and teleop– Preempts child actions– External GUI to watch and control the executive

• Great prototype for hardware in the loop test

Page 16: Alex Sorokin: OpenCV/Mechanical Turk Presentation

PR2 challenge• Integrated ROS

components into acomplete behavior.

• Preemptable high levelstate machine:– Allows to switch between

autonomy and teleop– Preempts child actions– External GUI to watch

and control the executive• Great prototype for

hardware in the looptest and learning

Page 17: Alex Sorokin: OpenCV/Mechanical Turk Presentation

Thank you