ISAT_with_sam/docs/README-en.md
2023-08-04 17:31:36 +08:00

5.5 KiB
Raw Blame History

ISAT with segment anything

Interactive semi-automatic annotation tool for image segmentation.

annotate.gif

If this project brings convenience to your work and life, please provide a Star; If you want to contribute code to this project, please send Pull requests

Quick annotate for image segmentation by segment anything

Demo Videoyoutube

演示视频:bilibili

中文 English

Feature

  • Support interactive semi-automatic annotation based on SAM.
  • Support manual creation of polygons.
  • Support modifying polygons.
  • Support for adjusting polygon occlusion.
  • Support preview annotation result.
  • More features refer to Features Description

INSTALL

1. Run with source code

(1) Create environment

conda create -n ISAT_with_segment_anything python==3.8
conda activate ISAT_with_segment_anything

(2) Install ISAT_with_segment_anything

git clone https://github.com/yatengLG/ISAT_with_segment_anything.git
cd ISAT_with_segment_anything
pip install -r requirements.txt

(3) Download Segment anything pretrained checkpoint.

Download the checkpointand save in the path: ISAT_with_segment_anything/segment_any

Now support SAMsam-hqMobileSAM

pretrained checkpoint memory size
SAM sam_vit_h_4b8939.pth 7305M 2.6G
sam_vit_l_0b3195.pth 5855M 2.6G
sam_vit_b_01ec64.pth 4149M 375M
sam-hq sam_hq_vit_h.pth 7393M 2.6G
sam_hq_vit_l.pth 5939M 1.3G
sam_hq_vit_b.pth 4207M 379M
sam_hq_vit_tiny.pth 1463M 43M
mobile-sam mobile_sam.pt 1375M 40M

(5) Run

python main.py

2. run exe

(1) download exe

Coming soon

(2) Download Segment anything pretrained checkpoint.

Use

1.Annotate

1. Choice the category in left window of software.
    Edit category in Toolbar-File-Setting.
    
2. Start annotate
    2.1 semi-automatic annotate with SAM.
        Click button named [Segment anything] start annotate(shortcut Q).
        Click interested area with left button of mouse, click uninterested area with right button of mouse, SAM will calcute masks.
    2.2 manual creation of polygons.
        Click button named [Draw polygon] start annotate(shortcut C).
        Click with left button of mouse add point into the polygon.
        Press left button of mouse and drag will auto add point into the polygon, time interval of 0.15 seconds
    2.3 backspace
        Click button named [Backspace] return previous state
(shortcut Z).
3. Click button named [Annotate finished] finish annotate.
(shortcut E).
4. Click button named [Save] write annotations to json file.
(shortcut S).

2.Modify

1. Polygon modify
    Drag and drop polygon vertices to modify the shape of the polygon.
    Drag the polygon to adjust its position.
2. Category modify
    Chioce the polygon and click button named [Edit] or double click polygon, choice new category in edit window. 
3. Occlusion modify
    Chioce the polygon and click button named [To top](shortcut T) or [To bottom](shortcut B).
4. Delete polygon
    Chioce the polygon and click button named [Delete] to delete the polygon.

3.View

1. Preview annotation
    Click button named [Bit map], preview semantic and instance annotation result.(shortcut space)
    The order of swithing is polygons-semantic-instance.
2. Image window
    Click Buttons named [Zoom in],[Zoom out],[Fit window](shortcut F)Adjust the size of image.
3. show/hide polygons
    Click button named [Visible] ,show/hide polygons.(shortcut V)
4. mask aplha(only effective when using SAM)
    Drag mask aplha bar to adjust the mask contrast ratio.

4.Data convert

ISAT have specific format with json.You can use convert tools or convert to other format by yourself.

1. ISAT to VOC
    Convert ISAT jsons to PNG images.
2. ISAT to COCO
    Convert ISAT jsons to COCO json.
3. ISAT to LABELME
    Convert ISAT jsons to LABELME jsons.
4. COCO to ISAT
    Convert COCO json to ISAT jsons.

Citation

@misc{ISAT with segment anything,
  title={{ISAT with segment anything}: Image segmentation annotation tool with segment anything},
  url={https://github.com/yatengLG/ISAT_with_segment_anything},
  note={Open source software available from https://github.com/yatengLG/ISAT_with_segment_anything},
  author={yatengLG, Alias-z and horffmanwang},
  year={2023},
}