deepgeo-ext-maskrcnn 0.0.1
deepgeo_ext_maskrcnn
License: MIT

# DeepGeo Extension :: Mask R-CNN
- Easy Deep Learning
 - Copyright (c) 2019 [InfoLab](http://infolab.kunsan.ac.kr) ([Donggun LEE](http://duration.digimoon.net))

- How to install
  ```bash
  pip install deepgeo_ext_maskrcnn
  ```
  - other version
    ```basha
    # 0.0.1
    pip install deepgeo_ext_maskrcnn==0.0.1
    ```
   - requirement
      - Python 3.6
      ```bash
      pip install deepgeo
      ```
- How to use
   ```python
   import deepgeo

   engine = deepgeo.Engine()
   engine.add_model('maskrcnn_mscoco','maskrcnn','D:/default_config.json')

   image = deepgeo.Image.Image("image.jpg","D:/Project")
   image = engine.detect('maskrcnn_mscoco', image)
   image.draw_annotations(image.get_annotation())
   image.save("D:/","test","PNG")
   ```

- default_config.json
   ```json
   {
     "BACKBONE": "resnet101",
     "BACKBONE_STRIDES": [
       4,
       8,
       16,
       32,
       64
     ],
     "BATCH_SIZE": 1,
     "BBOX_STD_DEV": [0.1, 0.1, 0.2, 0.2],
     "CATEGORY": [
       "bg",
       "person",
       "bicycle",
       "car",
       "motorcycle",
       "airplane",
       "bus",
       "train",
       "truck",
       "boat",
       "traffic_light",
       "fire_hydrant",
       "stop_sign",
       "parking_meter",
       "bench",
       "bird",
       "cat",
       "dog",
       "horse",
       "sheep",
       "cow",
       "elephant",
       "bear",
       "zebra",
       "giraffe",
       "backpack",
       "umbrella",
       "handbag",
       "tie",
       "suitcase",
       "frisbee",
       "skis",
       "snowboard",
       "sports_ball",
       "kite",
       "baseball_bat",
       "baseball_glove",
       "skateboard",
       "surfboard",
       "tennis_racket",
       "bottle",
       "wine_glass",
       "cup",
       "fork",
       "knife",
       "spoon",
       "bowl",
       "banana",
       "apple",
       "sandwich",
       "orange",
       "broccoli",
       "carrot",
       "hot_dog",
       "pizza",
       "donut",
       "cake",
       "chair",
       "couch",
       "potted_plant",
       "bed",
       "dining_table",
       "toilet",
       "tv",
       "laptop",
       "mouse",
       "remote",
       "keyboard",
       "cell_phone",
       "microwave",
       "oven",
       "toaster",
       "sink",
       "refrigerator",
       "book",
       "clock",
       "vase",
       "scissors",
       "teddy_bear",
       "hair_drier",
       "toothbrush"
     ],
     "COMPUTE_BACKBONE_SHAPE": null,
     "DETECTION_MAX_INSTANCES": 100,
     "DETECTION_MIN_CONFIDENCE": 0.7,
     "DETECTION_NMS_THRESHOLD": 0.3,
     "EPOCHS": 1,
     "FPN_CLASSIF_FC_LAYERS_SIZE": 1024,
     "GPU_COUNT": 1,
     "GRADIENT_CLIP_NORM": 5.0,
     "IMAGES_PER_GPU": 1,
     "IMAGE_CHANNEL_COUNT": 3,
     "IMAGE_MAX_DIM": 1024,
     "IMAGE_META_SIZE": 14,
     "IMAGE_MIN_DIM": 800,
     "IMAGE_MIN_SCALE": 0,
     "IMAGE_PATH": "image",
     "IMAGE_RESIZE_MODE": "square",
     "IMAGE_SHAPE": null,
     "LAYERS": "all",
     "LEARNING_MOMENTUM": 0.9,
     "LEARNING_RATE": 0.001,
     "LOSS_WEIGHTS": {
       "mrcnn_bbox_loss": 1.0,
       "mrcnn_class_loss": 1.0,
       "mrcnn_mask_loss": 1.0,
       "rpn_bbox_loss": 1.0,
       "rpn_class_loss": 1.0
     },
     "MASK_POOL_SIZE": 14,
     "MASK_SHAPE": [
       28,
       28
     ],
     "MAX_GT_INSTANCES": 100,
     "MEAN_PIXEL": [123.7, 116.8, 103.9],
     "MEMO": "",
     "MINI_MASK_SHAPE": [
       56,
       56
     ],
     "MODEL_FILE_NAME": "mask_rcnn_coco.h5",
     "MODEL_PATH":"model",
     "MODEL_URI":"",
     "NAME": "MASK_RCNN",
     "NUM_CLASSES": 80,
     "POOL_SIZE": 7,
     "POST_NMS_ROIS_INFERENCE": 1000,
     "POST_NMS_ROIS_TRAINING": 2000,
     "PRE_NMS_LIMIT": 6000,
     "RESULT_TEST_NUM": 100,
     "ROI_POSITIVE_RATIO": 0.33,
     "RPN_ANCHOR_RATIOS": [
       0.5,
       1,
       2
     ],
     "RPN_ANCHOR_SCALES": [
       32,
       64,
       128,
       256,
       512
     ],
     "RPN_ANCHOR_STRIDE": 1,
     "RPN_BBOX_STD_DEV": [0.1,0.1,0.2,0.2],
     "RPN_NMS_THRESHOLD": 0.7,
     "RPN_TRAIN_ANCHORS_PER_IMAGE": 256,
     "STEPS_PER_EPOCH": 1000,
     "TOP_DOWN_PYRAMID_SIZE": 256,
     "TRAIN_BN": false,
     "TRAIN_ROIS_PER_IMAGE": 200,
     "USE_MINI_MASK": true,
     "USE_RPN_ROIS": true,
     "VALIDATION_STEPS": 50,
     "VERSION": "",
     "WEIGHT_DECAY": 0.0001
   }
   ```