Package proposal for cv_mech_turk2.
The package cv_mech_turk2 is a replacement for cv_mech_turk. It contains vision-related task semantics for Mechanical Turk annotation server. The core task for the package is to annotate images with bounding boxes and outlines of objects. The package provides command line tools and task interpretation API. The ROS-specific API will be in mech_turk_ros .
Command line tools
The package provides command-line tools to send images for annotation, download images and annotation results from the server, convert polygonal annotations to segmentation masks. Additional pipeline tools allow to submit results of bounding box annotation to grouping and attribute generation tasks.
The package contains the following command line tools:
- submit_image.py - submit images for annotation
- session_results.py - download annotated images from the annotation server
- convert_outlines_to_masks.py - convert polygonal annotations to segmentation masks
- send_boxes_to_attribute.py - send bounding boxes of objects to the object attribute annotation session.
- send_boxes_to_group.py - send bounding boxes of objects to the object grouping session.
- hand_pick_images - manually select images that should be annotated by watching a stream of images.
Results interpretation API
The package contains helper classes for interpretation of the results and conversion between data formats.
cv_mech_turk2.tasks.gxml contains resolution conversion tools and parameter interpretation for the annotations through the flash-based image annotation tool.
cv_mech_turk2.tasks.boxes allows to extract bounding boxes from bounding box and polygonal annotations.
cv_mech_turk2.tasks.group_images allows to read and interpret image grouping results.
The package tests all command line tools against a predefined test server. The tests require a "test" server to be specified in the "auth.txt" file.