"examples/git@developer.sourcefind.cn:OpenDAS/megatron-lm.git" did not exist on "de7dc40f883ceed06344051c3c7ebd57da59cc53"
Commit 0e3323be authored by Georgy Marrero's avatar Georgy Marrero Committed by Facebook GitHub Bot
Browse files

Add support for pseudo GT labels

Summary:
With this diff, we add support for Pseudo-GT / machine-generated labels on a D2 (https://github.com/facebookresearch/d2go/commit/7992f91324aee6ae59795063a007c6837e60cdb8)Go dataset.

The idea is to generate pseudo-GT early on a project and on a rolling basis replace these labels with human-GT as annotation progress occurs (which we know is costly).

## how to use

To add pseudo-GT labels for a class (segmentation only), all that needs to be done is add the mask folder (with machine-generated labels) just like you would for human-generated labels **but with the "_pseudo-label" postfix**.

After this, you'd have to register the dataset following the instructions in D32298220.

## example

For example, say you're adding an **eyebrows** class to a dataset located in: `manifold://pai_mobile/tree/datasets/some_dataset/batch1`.

You'd then add your `eyebrows` folder with all your machine-generated .PNGs as `eyebrows_pseudo-label` in `manifold://pai_mobile/tree/datasets/some_dataset/batch1/mask/eyebrows_pseudo-label`.

After this, you'd have to register the dataset following the instructions in D32298220.

Reviewed By: wenliangzhao2018

Differential Revision: D32298221

fbshipit-source-id: 230a862e6be69306fb5c119b778e14e12d1280e0
parent c2b8c277
...@@ -74,13 +74,18 @@ class MultiSemSegEvaluator(DatasetEvaluator): ...@@ -74,13 +74,18 @@ class MultiSemSegEvaluator(DatasetEvaluator):
from d2go.data.fb.semantic_seg import register_sem_seg from d2go.data.fb.semantic_seg import register_sem_seg
if tmp_dataset_name not in MetadataCatalog: if tmp_dataset_name not in MetadataCatalog:
if superclass_name in metadata.pseudo_gt_classes:
mask_dir = metadata.pseudo_gt_mask_dir
else:
mask_dir = metadata.mask_dir
register_sem_seg( register_sem_seg(
tmp_dataset_name, tmp_dataset_name,
metadata=metadata.mcs_metadata[superclass_name], metadata=metadata.mcs_metadata[superclass_name],
image_root=metadata.image_root, image_root=metadata.image_root,
sem_seg_root=metadata.sem_seg_root, sem_seg_root=metadata.sem_seg_root,
instances_json=metadata.json_file, instances_json=metadata.json_file,
mask_dir=metadata.mask_dir.format(superclass_name), mask_dir=mask_dir.format(superclass_name),
) )
self.evaluators[key] = create_evaluator_and_reset(tmp_dataset_name) self.evaluators[key] = create_evaluator_and_reset(tmp_dataset_name)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment