From e46df118674bbdf22bbdbbacaeca6c125936ea14 Mon Sep 17 00:00:00 2001 From: pshivraj Date: Fri, 1 Feb 2019 22:06:17 -0800 Subject: [PATCH 01/11] setting training pipleine files --- mrcnn/scripts/config.py | 253 +++ mrcnn/scripts/model.py | 2881 ++++++++++++++++++++++++++++++++++ mrcnn/scripts/pre_process.py | 4 + mrcnn/scripts/train.py | 3 + mrcnn/scripts/utils.py | 877 +++++++++++ mrcnn/scripts/visualize.py | 499 ++++++ 6 files changed, 4517 insertions(+) create mode 100644 mrcnn/scripts/config.py create mode 100644 mrcnn/scripts/model.py create mode 100644 mrcnn/scripts/pre_process.py create mode 100644 mrcnn/scripts/train.py create mode 100644 mrcnn/scripts/utils.py create mode 100644 mrcnn/scripts/visualize.py diff --git a/mrcnn/scripts/config.py b/mrcnn/scripts/config.py new file mode 100644 index 0000000..edc5803 --- /dev/null +++ b/mrcnn/scripts/config.py @@ -0,0 +1,253 @@ +""" +Mask R-CNN Base Configurations class. + +Copyright (c) 2017 Matterport, Inc. +Licensed under the MIT License (see LICENSE for details) +Written by Waleed Abdulla +https://github.com/matterport/Mask_RCNN + +New class added by team clomask +""" + +import os +import sys +import time +import numpy as np +import model as modellib +import math +import utils +import cv2 +import pandas as pd +from skimage.color import rgb2hed +from skimage.exposure import rescale_intensity +from scipy.ndimage.morphology import binary_fill_holes +from tqdm import tqdm + + +class Config(object): + """Base configuration class. For custom configurations, create a + sub-class that inherits from this one and override properties + that need to be changed. + """ + # Name the configurations. For example, 'COCO', 'Experiment 3', ...etc. + # Useful if your code needs to do things differently depending on which + # experiment is running. + NAME = None # Override in sub-classes + + # NUMBER OF GPUs to use. When using only a CPU, this needs to be set to 1. + GPU_COUNT = 1 + + # Number of images to train with on each GPU. A 12GB GPU can typically + # handle 2 images of 1024x1024px. + # Adjust based on your GPU memory and image sizes. Use the highest + # number that your GPU can handle for best performance. + IMAGES_PER_GPU = 2 + + # Number of training steps per epoch + # This doesn't need to match the size of the training set. Tensorboard + # updates are saved at the end of each epoch, so setting this to a + # smaller number means getting more frequent TensorBoard updates. + # Validation stats are also calculated at each epoch end and they + # might take a while, so don't set this too small to avoid spending + # a lot of time on validation stats. + STEPS_PER_EPOCH = 1000 + + # Number of validation steps to run at the end of every training epoch. + # A bigger number improves accuracy of validation stats, but slows + # down the training. + VALIDATION_STEPS = 50 + + # Backbone network architecture + # Supported values are: resnet50, resnet101. + # You can also provide a callable that should have the signature + # of model.resnet_graph. If you do so, you need to supply a callable + # to COMPUTE_BACKBONE_SHAPE as well + BACKBONE = "resnet50" + + # Only useful if you supply a callable to BACKBONE. Should compute + # the shape of each layer of the FPN Pyramid. + # See model.compute_backbone_shapes + COMPUTE_BACKBONE_SHAPE = None + + # The strides of each layer of the FPN Pyramid. These values + # are based on a Resnet101 backbone. + BACKBONE_STRIDES = [4, 8, 16, 32, 64] + + # Size of the fully-connected layers in the classification graph + FPN_CLASSIF_FC_LAYERS_SIZE = 1024 + + # Size of the top-down layers used to build the feature pyramid + TOP_DOWN_PYRAMID_SIZE = 256 + + # Number of classification classes (including background) + NUM_CLASSES = 1 # Override in sub-classes + + # Length of square anchor side in pixels + RPN_ANCHOR_SCALES = (32, 64, 128, 256, 512) + + # Ratios of anchors at each cell (width/height) + # A value of 1 represents a square anchor, and 0.5 is a wide anchor + RPN_ANCHOR_RATIOS = [0.5, 1, 2] + + # Anchor stride + # If 1 then anchors are created for each cell in the backbone feature map. + # If 2, then anchors are created for every other cell, and so on. + RPN_ANCHOR_STRIDE = 1 + + # Non-max suppression threshold to filter RPN proposals. + # You can increase this during training to generate more propsals. + RPN_NMS_THRESHOLD = 0.7 + + # How many anchors per image to use for RPN training + RPN_TRAIN_ANCHORS_PER_IMAGE = 256 + + # ROIs kept after tf.nn.top_k and before non-maximum suppression + PRE_NMS_LIMIT = 6000 + + # ROIs kept after non-maximum suppression (training and inference) + POST_NMS_ROIS_TRAINING = 2000 + POST_NMS_ROIS_INFERENCE = 1000 + + # If enabled, resizes instance masks to a smaller size to reduce + # memory load. Recommended when using high-resolution images. + USE_MINI_MASK = True + MINI_MASK_SHAPE = (56, 56) # (height, width) of the mini-mask + + # Input image resizing + # Generally, use the "square" resizing mode for training and predicting + # and it should work well in most cases. In this mode, images are scaled + # up such that the small side is = IMAGE_MIN_DIM, but ensuring that the + # scaling doesn't make the long side > IMAGE_MAX_DIM. Then the image is + # padded with zeros to make it a square so multiple images can be put + # in one batch. + # Available resizing modes: + # none: No resizing or padding. Return the image unchanged. + # square: Resize and pad with zeros to get a square image + # of size [max_dim, max_dim]. + # pad64: Pads width and height with zeros to make them multiples of 64. + # If IMAGE_MIN_DIM or IMAGE_MIN_SCALE are not None, then it scales + # up before padding. IMAGE_MAX_DIM is ignored in this mode. + # The multiple of 64 is needed to ensure smooth scaling of feature + # maps up and down the 6 levels of the FPN pyramid (2**6=64). + # crop: Picks random crops from the image. First, scales the image based + # on IMAGE_MIN_DIM and IMAGE_MIN_SCALE, then picks a random crop of + # size IMAGE_MIN_DIM x IMAGE_MIN_DIM. Can be used in training only. + # IMAGE_MAX_DIM is not used in this mode. + IMAGE_RESIZE_MODE = "square" + IMAGE_MIN_DIM = 256 + IMAGE_MAX_DIM = 256 + # Minimum scaling ratio. Checked after MIN_IMAGE_DIM and can force further + # up scaling. For example, if set to 2 then images are scaled up to double + # the width and height, or more, even if MIN_IMAGE_DIM doesn't require it. + # Howver, in 'square' mode, it can be overruled by IMAGE_MAX_DIM. + IMAGE_MIN_SCALE = 0 + # Number of color channels per image. RGB = 3, grayscale = 1, RGB-D = 4 + # Changing this requires other changes in the code. See the WIKI for more + # details: https://github.com/matterport/Mask_RCNN/wiki + IMAGE_CHANNEL_COUNT = 3 + + # Image mean (RGB) + MEAN_PIXEL = np.array([123.7, 116.8, 103.9]) + + # Number of ROIs per image to feed to classifier/mask heads + # The Mask RCNN paper uses 512 but often the RPN doesn't generate + # enough positive proposals to fill this and keep a positive:negative + # ratio of 1:3. You can increase the number of proposals by adjusting + # the RPN NMS threshold. + TRAIN_ROIS_PER_IMAGE = 200 + + # Percent of positive ROIs used to train classifier/mask heads + ROI_POSITIVE_RATIO = 0.33 + + # Pooled ROIs + POOL_SIZE = 7 + MASK_POOL_SIZE = 14 + + # Shape of output mask + # To change this you also need to change the neural network mask branch + MASK_SHAPE = [28, 28] + + # Maximum number of ground truth instances to use in one image + MAX_GT_INSTANCES = 100 + + # Bounding box refinement standard deviation for RPN and final detections. + RPN_BBOX_STD_DEV = np.array([0.1, 0.1, 0.2, 0.2]) + BBOX_STD_DEV = np.array([0.1, 0.1, 0.2, 0.2]) + + # Max number of final detections + DETECTION_MAX_INSTANCES = 100 + + # Minimum probability value to accept a detected instance + # ROIs below this threshold are skipped + DETECTION_MIN_CONFIDENCE = 0.7 + + # Non-maximum suppression threshold for detection + DETECTION_NMS_THRESHOLD = 0.3 + + # Learning rate and momentum + # The Mask RCNN paper uses lr=0.02, but on TensorFlow it causes + # weights to explode. Likely due to differences in optimizer + # implementation. + LEARNING_RATE = 0.001 + LEARNING_MOMENTUM = 0.9 + + # Weight decay regularization + WEIGHT_DECAY = 0.0001 + + # Loss weights for more precise optimization. + # Can be used for R-CNN training setup. + LOSS_WEIGHTS = { + "rpn_class_loss": 1., + "rpn_bbox_loss": 1., + "mrcnn_class_loss": 1., + "mrcnn_bbox_loss": 1., + "mrcnn_mask_loss": 1. + } + + # Use RPN ROIs or externally generated ROIs for training + # Keep this True for most situations. Set to False if you want to train + # the head branches on ROI generated by code rather than the ROIs from + # the RPN. For example, to debug the classifier head without having to + # train the RPN. + USE_RPN_ROIS = True + + # Train or freeze batch normalization layers + # None: Train BN layers. This is the normal mode + # False: Freeze BN layers. Good when using a small batch size + # True: (don't use). Set layer in training mode even when predicting + TRAIN_BN = False # Defaulting to False since batch size is often small + + # Gradient norm clipping + GRADIENT_CLIP_NORM = 5.0 + + def __init__(self): + """Set values of computed attributes.""" + # Effective batch size + self.BATCH_SIZE = self.IMAGES_PER_GPU * self.GPU_COUNT + + # Input image size + if self.IMAGE_RESIZE_MODE == "crop": + self.IMAGE_SHAPE = np.array([self.IMAGE_MIN_DIM, self.IMAGE_MIN_DIM, + self.IMAGE_CHANNEL_COUNT]) + else: + self.IMAGE_SHAPE = np.array([self.IMAGE_MAX_DIM, self.IMAGE_MAX_DIM, + self.IMAGE_CHANNEL_COUNT]) + + # Image meta data length + # See compose_image_meta() for details + self.IMAGE_META_SIZE = 1 + 3 + 3 + 4 + 1 + self.NUM_CLASSES + + def display(self): + """Display Configuration values.""" + print("\nConfigurations:") + for a in dir(self): + if not a.startswith("__") and not callable(getattr(self, a)): + print("{:30} {}".format(a, getattr(self, a))) + print("\n") + + +class ClomaskConfig(Config): + """ + Mask RCNN configuration for 2018 Data Science Bowl + """ + NAME = "clomask" diff --git a/mrcnn/scripts/model.py b/mrcnn/scripts/model.py new file mode 100644 index 0000000..5c05121 --- /dev/null +++ b/mrcnn/scripts/model.py @@ -0,0 +1,2881 @@ +""" +Mask R-CNN +The main Mask R-CNN model implementation. + +Copyright (c) 2017 Matterport, Inc. +Licensed under the MIT License (see LICENSE for details) +Written by Waleed Abdulla +""" + +import os +import sys +import glob +import random +import math +import datetime +import itertools +import json +import re +import logging +from collections import OrderedDict +import multiprocessing +import numpy as np +import scipy.misc +from skimage.exposure import equalize_adapthist +from skimage.transform import rotate +from skimage.util import random_noise +from skimage.measure import label +import cv2 + +import tensorflow as tf +import keras +import keras.backend as K +import keras.layers as KL +import keras.initializers as KI +import keras.engine as KE +import keras.models as KM + +import utils + + +# Requires TensorFlow 1.3+ and Keras 2.0.8+. +from distutils.version import LooseVersion +assert LooseVersion(tf.__version__) >= LooseVersion("1.3") +assert LooseVersion(keras.__version__) >= LooseVersion('2.0.8') + + +############################################################ +# Utility Functions +############################################################ + +def log(text, array=None): + """Prints a text message. And, optionally, if a Numpy array is provided it + prints it's shape, min, and max values. + """ + if array is not None: + text = text.ljust(25) + text += ("shape: {:20} min: {:10.5f} max: {:10.5f} {}".format( + str(array.shape), + array.min() if array.size else "", + array.max() if array.size else "", + array.dtype)) + print(text) + + +class BatchNorm(KL.BatchNormalization): + """Extends the Keras BatchNormalization class to allow a central place + to make changes if needed. + + Batch normalization has a negative effect on training if batches are small + so this layer is often frozen (via setting in Config class) and functions + as linear layer. + """ + def call(self, inputs, training=None): + """ + Note about training values: + None: Train BN layers. This is the normal mode + False: Freeze BN layers. Good when batch size is small + True: (don't use). Set layer in training mode even when making inferences + """ + return super(self.__class__, self).call(inputs, training=training) + + +def compute_backbone_shapes(config, image_shape): + """Computes the width and height of each stage of the backbone network. + + Returns: + [N, (height, width)]. Where N is the number of stages + """ + if callable(config.BACKBONE): + return config.COMPUTE_BACKBONE_SHAPE(image_shape) + + # Currently supports ResNet only + assert config.BACKBONE in ["resnet50", "resnet101"] + return np.array( + [[int(math.ceil(image_shape[0] / stride)), + int(math.ceil(image_shape[1] / stride))] + for stride in config.BACKBONE_STRIDES]) + + +############################################################ +# Resnet Graph +############################################################ + +# Code adopted from: +# https://github.com/fchollet/deep-learning-models/blob/master/resnet50.py + +def identity_block(input_tensor, kernel_size, filters, stage, block, + use_bias=True, train_bn=True): + """The identity_block is the block that has no conv layer at shortcut + # Arguments + input_tensor: input tensor + kernel_size: default 3, the kernel size of middle conv layer at main path + filters: list of integers, the nb_filters of 3 conv layer at main path + stage: integer, current stage label, used for generating layer names + block: 'a','b'..., current block label, used for generating layer names + use_bias: Boolean. To use or not use a bias in conv layers. + train_bn: Boolean. Train or freeze Batch Norm layers + """ + nb_filter1, nb_filter2, nb_filter3 = filters + conv_name_base = 'res' + str(stage) + block + '_branch' + bn_name_base = 'bn' + str(stage) + block + '_branch' + + x = KL.Conv2D(nb_filter1, (1, 1), name=conv_name_base + '2a', + use_bias=use_bias)(input_tensor) + x = BatchNorm(name=bn_name_base + '2a')(x, training=train_bn) + x = KL.Activation('relu')(x) + + x = KL.Conv2D(nb_filter2, (kernel_size, kernel_size), padding='same', + name=conv_name_base + '2b', use_bias=use_bias)(x) + x = BatchNorm(name=bn_name_base + '2b')(x, training=train_bn) + x = KL.Activation('relu')(x) + + x = KL.Conv2D(nb_filter3, (1, 1), name=conv_name_base + '2c', + use_bias=use_bias)(x) + x = BatchNorm(name=bn_name_base + '2c')(x, training=train_bn) + + x = KL.Add()([x, input_tensor]) + x = KL.Activation('relu', name='res' + str(stage) + block + '_out')(x) + return x + + +def conv_block(input_tensor, kernel_size, filters, stage, block, + strides=(2, 2), use_bias=True, train_bn=True): + """conv_block is the block that has a conv layer at shortcut + # Arguments + input_tensor: input tensor + kernel_size: default 3, the kernel size of middle conv layer at main path + filters: list of integers, the nb_filters of 3 conv layer at main path + stage: integer, current stage label, used for generating layer names + block: 'a','b'..., current block label, used for generating layer names + use_bias: Boolean. To use or not use a bias in conv layers. + train_bn: Boolean. Train or freeze Batch Norm layers + Note that from stage 3, the first conv layer at main path is with subsample=(2,2) + And the shortcut should have subsample=(2,2) as well + """ + nb_filter1, nb_filter2, nb_filter3 = filters + conv_name_base = 'res' + str(stage) + block + '_branch' + bn_name_base = 'bn' + str(stage) + block + '_branch' + + x = KL.Conv2D(nb_filter1, (1, 1), strides=strides, + name=conv_name_base + '2a', use_bias=use_bias)(input_tensor) + x = BatchNorm(name=bn_name_base + '2a')(x, training=train_bn) + x = KL.Activation('relu')(x) + + x = KL.Conv2D(nb_filter2, (kernel_size, kernel_size), padding='same', + name=conv_name_base + '2b', use_bias=use_bias)(x) + x = BatchNorm(name=bn_name_base + '2b')(x, training=train_bn) + x = KL.Activation('relu')(x) + + x = KL.Conv2D(nb_filter3, (1, 1), name=conv_name_base + + '2c', use_bias=use_bias)(x) + x = BatchNorm(name=bn_name_base + '2c')(x, training=train_bn) + + shortcut = KL.Conv2D(nb_filter3, (1, 1), strides=strides, + name=conv_name_base + '1', use_bias=use_bias)(input_tensor) + shortcut = BatchNorm(name=bn_name_base + '1')(shortcut, training=train_bn) + + x = KL.Add()([x, shortcut]) + x = KL.Activation('relu', name='res' + str(stage) + block + '_out')(x) + return x + + +def resnet_graph(input_image, architecture, stage5=False, train_bn=True): + """Build a ResNet graph. + architecture: Can be resnet50 or resnet101 + stage5: Boolean. If False, stage5 of the network is not created + train_bn: Boolean. Train or freeze Batch Norm layers + """ + assert architecture in ["resnet50", "resnet101"] + # Stage 1 + x = KL.ZeroPadding2D((3, 3))(input_image) + x = KL.Conv2D(64, (7, 7), strides=(2, 2), name='conv1', use_bias=True)(x) + x = BatchNorm(name='bn_conv1')(x, training=train_bn) + x = KL.Activation('relu')(x) + C1 = x = KL.MaxPooling2D((3, 3), strides=(2, 2), padding="same")(x) + # Stage 2 + x = conv_block(x, 3, [64, 64, 256], stage=2, block='a', strides=(1, 1), train_bn=train_bn) + x = identity_block(x, 3, [64, 64, 256], stage=2, block='b', train_bn=train_bn) + C2 = x = identity_block(x, 3, [64, 64, 256], stage=2, block='c', train_bn=train_bn) + # Stage 3 + x = conv_block(x, 3, [128, 128, 512], stage=3, block='a', train_bn=train_bn) + x = identity_block(x, 3, [128, 128, 512], stage=3, block='b', train_bn=train_bn) + x = identity_block(x, 3, [128, 128, 512], stage=3, block='c', train_bn=train_bn) + C3 = x = identity_block(x, 3, [128, 128, 512], stage=3, block='d', train_bn=train_bn) + # Stage 4 + x = conv_block(x, 3, [256, 256, 1024], stage=4, block='a', train_bn=train_bn) + block_count = {"resnet50": 5, "resnet101": 22}[architecture] + for i in range(block_count): + x = identity_block(x, 3, [256, 256, 1024], stage=4, block=chr(98 + i), train_bn=train_bn) + C4 = x + # Stage 5 + if stage5: + x = conv_block(x, 3, [512, 512, 2048], stage=5, block='a', train_bn=train_bn) + x = identity_block(x, 3, [512, 512, 2048], stage=5, block='b', train_bn=train_bn) + C5 = x = identity_block(x, 3, [512, 512, 2048], stage=5, block='c', train_bn=train_bn) + else: + C5 = None + return [C1, C2, C3, C4, C5] + + +############################################################ +# Proposal Layer +############################################################ + +def apply_box_deltas_graph(boxes, deltas): + """Applies the given deltas to the given boxes. + boxes: [N, (y1, x1, y2, x2)] boxes to update + deltas: [N, (dy, dx, log(dh), log(dw))] refinements to apply + """ + # Convert to y, x, h, w + height = boxes[:, 2] - boxes[:, 0] + width = boxes[:, 3] - boxes[:, 1] + center_y = boxes[:, 0] + 0.5 * height + center_x = boxes[:, 1] + 0.5 * width + # Apply deltas + center_y += deltas[:, 0] * height + center_x += deltas[:, 1] * width + height *= tf.exp(deltas[:, 2]) + width *= tf.exp(deltas[:, 3]) + # Convert back to y1, x1, y2, x2 + y1 = center_y - 0.5 * height + x1 = center_x - 0.5 * width + y2 = y1 + height + x2 = x1 + width + result = tf.stack([y1, x1, y2, x2], axis=1, name="apply_box_deltas_out") + return result + + +def clip_boxes_graph(boxes, window): + """ + boxes: [N, (y1, x1, y2, x2)] + window: [4] in the form y1, x1, y2, x2 + """ + # Split + wy1, wx1, wy2, wx2 = tf.split(window, 4) + y1, x1, y2, x2 = tf.split(boxes, 4, axis=1) + # Clip + y1 = tf.maximum(tf.minimum(y1, wy2), wy1) + x1 = tf.maximum(tf.minimum(x1, wx2), wx1) + y2 = tf.maximum(tf.minimum(y2, wy2), wy1) + x2 = tf.maximum(tf.minimum(x2, wx2), wx1) + clipped = tf.concat([y1, x1, y2, x2], axis=1, name="clipped_boxes") + clipped.set_shape((clipped.shape[0], 4)) + return clipped + + +class ProposalLayer(KE.Layer): + """Receives anchor scores and selects a subset to pass as proposals + to the second stage. Filtering is done based on anchor scores and + non-max suppression to remove overlaps. It also applies bounding + box refinement deltas to anchors. + + Inputs: + rpn_probs: [batch, num_anchors, (bg prob, fg prob)] + rpn_bbox: [batch, num_anchors, (dy, dx, log(dh), log(dw))] + anchors: [batch, num_anchors, (y1, x1, y2, x2)] anchors in normalized coordinates + + Returns: + Proposals in normalized coordinates [batch, rois, (y1, x1, y2, x2)] + """ + + def __init__(self, proposal_count, nms_threshold, config=None, **kwargs): + super(ProposalLayer, self).__init__(**kwargs) + self.config = config + self.proposal_count = proposal_count + self.nms_threshold = nms_threshold + + def call(self, inputs): + # Box Scores. Use the foreground class confidence. [Batch, num_rois, 1] + scores = inputs[0][:, :, 1] + # Box deltas [batch, num_rois, 4] + deltas = inputs[1] + deltas = deltas * np.reshape(self.config.RPN_BBOX_STD_DEV, [1, 1, 4]) + # Anchors + anchors = inputs[2] + + # Improve performance by trimming to top anchors by score + # and doing the rest on the smaller subset. + pre_nms_limit = tf.minimum(self.config.PRE_NMS_LIMIT, tf.shape(anchors)[1]) + ix = tf.nn.top_k(scores, pre_nms_limit, sorted=True, + name="top_anchors").indices + scores = utils.batch_slice([scores, ix], lambda x, y: tf.gather(x, y), + self.config.IMAGES_PER_GPU) + deltas = utils.batch_slice([deltas, ix], lambda x, y: tf.gather(x, y), + self.config.IMAGES_PER_GPU) + pre_nms_anchors = utils.batch_slice([anchors, ix], lambda a, x: tf.gather(a, x), + self.config.IMAGES_PER_GPU, + names=["pre_nms_anchors"]) + + # Apply deltas to anchors to get refined anchors. + # [batch, N, (y1, x1, y2, x2)] + boxes = utils.batch_slice([pre_nms_anchors, deltas], + lambda x, y: apply_box_deltas_graph(x, y), + self.config.IMAGES_PER_GPU, + names=["refined_anchors"]) + + # Clip to image boundaries. Since we're in normalized coordinates, + # clip to 0..1 range. [batch, N, (y1, x1, y2, x2)] + window = np.array([0, 0, 1, 1], dtype=np.float32) + boxes = utils.batch_slice(boxes, + lambda x: clip_boxes_graph(x, window), + self.config.IMAGES_PER_GPU, + names=["refined_anchors_clipped"]) + + # Filter out small boxes + # According to Xinlei Chen's paper, this reduces detection accuracy + # for small objects, so we're skipping it. + + # Non-max suppression + def nms(boxes, scores): + indices = tf.image.non_max_suppression( + boxes, scores, self.proposal_count, + self.nms_threshold, name="rpn_non_max_suppression") + proposals = tf.gather(boxes, indices) + # Pad if needed + padding = tf.maximum(self.proposal_count - tf.shape(proposals)[0], 0) + proposals = tf.pad(proposals, [(0, padding), (0, 0)]) + return proposals + proposals = utils.batch_slice([boxes, scores], nms, + self.config.IMAGES_PER_GPU) + return proposals + + def compute_output_shape(self, input_shape): + return (None, self.proposal_count, 4) + + +############################################################ +# ROIAlign Layer +############################################################ + +def log2_graph(x): + """Implementation of Log2. TF doesn't have a native implementation.""" + return tf.log(x) / tf.log(2.0) + + +class PyramidROIAlign(KE.Layer): + """Implements ROI Pooling on multiple levels of the feature pyramid. + + Params: + - pool_shape: [pool_height, pool_width] of the output pooled regions. Usually [7, 7] + + Inputs: + - boxes: [batch, num_boxes, (y1, x1, y2, x2)] in normalized + coordinates. Possibly padded with zeros if not enough + boxes to fill the array. + - image_meta: [batch, (meta data)] Image details. See compose_image_meta() + - feature_maps: List of feature maps from different levels of the pyramid. + Each is [batch, height, width, channels] + + Output: + Pooled regions in the shape: [batch, num_boxes, pool_height, pool_width, channels]. + The width and height are those specific in the pool_shape in the layer + constructor. + """ + + def __init__(self, pool_shape, **kwargs): + super(PyramidROIAlign, self).__init__(**kwargs) + self.pool_shape = tuple(pool_shape) + + def call(self, inputs): + # Crop boxes [batch, num_boxes, (y1, x1, y2, x2)] in normalized coords + boxes = inputs[0] + + # Image meta + # Holds details about the image. See compose_image_meta() + image_meta = inputs[1] + + # Feature Maps. List of feature maps from different level of the + # feature pyramid. Each is [batch, height, width, channels] + feature_maps = inputs[2:] + + # Assign each ROI to a level in the pyramid based on the ROI area. + y1, x1, y2, x2 = tf.split(boxes, 4, axis=2) + h = y2 - y1 + w = x2 - x1 + # Use shape of first image. Images in a batch must have the same size. + image_shape = parse_image_meta_graph(image_meta)['image_shape'][0] + # Equation 1 in the Feature Pyramid Networks paper. Account for + # the fact that our coordinates are normalized here. + # e.g. a 224x224 ROI (in pixels) maps to P4 + image_area = tf.cast(image_shape[0] * image_shape[1], tf.float32) + roi_level = log2_graph(tf.sqrt(h * w) / (224.0 / tf.sqrt(image_area))) + roi_level = tf.minimum(5, tf.maximum( + 2, 4 + tf.cast(tf.round(roi_level), tf.int32))) + roi_level = tf.squeeze(roi_level, 2) + + # Loop through levels and apply ROI pooling to each. P2 to P5. + pooled = [] + box_to_level = [] + for i, level in enumerate(range(2, 6)): + ix = tf.where(tf.equal(roi_level, level)) + level_boxes = tf.gather_nd(boxes, ix) + + # Box indices for crop_and_resize. + box_indices = tf.cast(ix[:, 0], tf.int32) + + # Keep track of which box is mapped to which level + box_to_level.append(ix) + + # Stop gradient propogation to ROI proposals + level_boxes = tf.stop_gradient(level_boxes) + box_indices = tf.stop_gradient(box_indices) + + # Crop and Resize + # From Mask R-CNN paper: "We sample four regular locations, so + # that we can evaluate either max or average pooling. In fact, + # interpolating only a single value at each bin center (without + # pooling) is nearly as effective." + # + # Here we use the simplified approach of a single value per bin, + # which is how it's done in tf.crop_and_resize() + # Result: [batch * num_boxes, pool_height, pool_width, channels] + pooled.append(tf.image.crop_and_resize( + feature_maps[i], level_boxes, box_indices, self.pool_shape, + method="bilinear")) + + # Pack pooled features into one tensor + pooled = tf.concat(pooled, axis=0) + + # Pack box_to_level mapping into one array and add another + # column representing the order of pooled boxes + box_to_level = tf.concat(box_to_level, axis=0) + box_range = tf.expand_dims(tf.range(tf.shape(box_to_level)[0]), 1) + box_to_level = tf.concat([tf.cast(box_to_level, tf.int32), box_range], + axis=1) + + # Rearrange pooled features to match the order of the original boxes + # Sort box_to_level by batch then box index + # TF doesn't have a way to sort by two columns, so merge them and sort. + sorting_tensor = box_to_level[:, 0] * 100000 + box_to_level[:, 1] + ix = tf.nn.top_k(sorting_tensor, k=tf.shape( + box_to_level)[0]).indices[::-1] + ix = tf.gather(box_to_level[:, 2], ix) + pooled = tf.gather(pooled, ix) + + # Re-add the batch dimension + shape = tf.concat([tf.shape(boxes)[:2], tf.shape(pooled)[1:]], axis=0) + pooled = tf.reshape(pooled, shape) + return pooled + + def compute_output_shape(self, input_shape): + return input_shape[0][:2] + self.pool_shape + (input_shape[2][-1], ) + + +############################################################ +# Detection Target Layer +############################################################ + +def overlaps_graph(boxes1, boxes2): + """Computes IoU overlaps between two sets of boxes. + boxes1, boxes2: [N, (y1, x1, y2, x2)]. + """ + # 1. Tile boxes2 and repeat boxes1. This allows us to compare + # every boxes1 against every boxes2 without loops. + # TF doesn't have an equivalent to np.repeat() so simulate it + # using tf.tile() and tf.reshape. + b1 = tf.reshape(tf.tile(tf.expand_dims(boxes1, 1), + [1, 1, tf.shape(boxes2)[0]]), [-1, 4]) + b2 = tf.tile(boxes2, [tf.shape(boxes1)[0], 1]) + # 2. Compute intersections + b1_y1, b1_x1, b1_y2, b1_x2 = tf.split(b1, 4, axis=1) + b2_y1, b2_x1, b2_y2, b2_x2 = tf.split(b2, 4, axis=1) + y1 = tf.maximum(b1_y1, b2_y1) + x1 = tf.maximum(b1_x1, b2_x1) + y2 = tf.minimum(b1_y2, b2_y2) + x2 = tf.minimum(b1_x2, b2_x2) + intersection = tf.maximum(x2 - x1, 0) * tf.maximum(y2 - y1, 0) + # 3. Compute unions + b1_area = (b1_y2 - b1_y1) * (b1_x2 - b1_x1) + b2_area = (b2_y2 - b2_y1) * (b2_x2 - b2_x1) + union = b1_area + b2_area - intersection + # 4. Compute IoU and reshape to [boxes1, boxes2] + iou = intersection / union + overlaps = tf.reshape(iou, [tf.shape(boxes1)[0], tf.shape(boxes2)[0]]) + return overlaps + + +def detection_targets_graph(proposals, gt_class_ids, gt_boxes, gt_masks, config): + """Generates detection targets for one image. Subsamples proposals and + generates target class IDs, bounding box deltas, and masks for each. + + Inputs: + proposals: [POST_NMS_ROIS_TRAINING, (y1, x1, y2, x2)] in normalized coordinates. Might + be zero padded if there are not enough proposals. + gt_class_ids: [MAX_GT_INSTANCES] int class IDs + gt_boxes: [MAX_GT_INSTANCES, (y1, x1, y2, x2)] in normalized coordinates. + gt_masks: [height, width, MAX_GT_INSTANCES] of boolean type. + + Returns: Target ROIs and corresponding class IDs, bounding box shifts, + and masks. + rois: [TRAIN_ROIS_PER_IMAGE, (y1, x1, y2, x2)] in normalized coordinates + class_ids: [TRAIN_ROIS_PER_IMAGE]. Integer class IDs. Zero padded. + deltas: [TRAIN_ROIS_PER_IMAGE, (dy, dx, log(dh), log(dw))] + masks: [TRAIN_ROIS_PER_IMAGE, height, width]. Masks cropped to bbox + boundaries and resized to neural network output size. + + Note: Returned arrays might be zero padded if not enough target ROIs. + """ + # Assertions + asserts = [ + tf.Assert(tf.greater(tf.shape(proposals)[0], 0), [proposals], + name="roi_assertion"), + ] + with tf.control_dependencies(asserts): + proposals = tf.identity(proposals) + + # Remove zero padding + proposals, _ = trim_zeros_graph(proposals, name="trim_proposals") + gt_boxes, non_zeros = trim_zeros_graph(gt_boxes, name="trim_gt_boxes") + gt_class_ids = tf.boolean_mask(gt_class_ids, non_zeros, + name="trim_gt_class_ids") + gt_masks = tf.gather(gt_masks, tf.where(non_zeros)[:, 0], axis=2, + name="trim_gt_masks") + + # Handle COCO crowds + # A crowd box in COCO is a bounding box around several instances. Exclude + # them from training. A crowd box is given a negative class ID. + crowd_ix = tf.where(gt_class_ids < 0)[:, 0] + non_crowd_ix = tf.where(gt_class_ids > 0)[:, 0] + crowd_boxes = tf.gather(gt_boxes, crowd_ix) + crowd_masks = tf.gather(gt_masks, crowd_ix, axis=2) + gt_class_ids = tf.gather(gt_class_ids, non_crowd_ix) + gt_boxes = tf.gather(gt_boxes, non_crowd_ix) + gt_masks = tf.gather(gt_masks, non_crowd_ix, axis=2) + + # Compute overlaps matrix [proposals, gt_boxes] + overlaps = overlaps_graph(proposals, gt_boxes) + + # Compute overlaps with crowd boxes [proposals, crowd_boxes] + crowd_overlaps = overlaps_graph(proposals, crowd_boxes) + crowd_iou_max = tf.reduce_max(crowd_overlaps, axis=1) + no_crowd_bool = (crowd_iou_max < 0.001) + + # Determine positive and negative ROIs + roi_iou_max = tf.reduce_max(overlaps, axis=1) + # 1. Positive ROIs are those with >= 0.5 IoU with a GT box + positive_roi_bool = (roi_iou_max >= 0.5) + positive_indices = tf.where(positive_roi_bool)[:, 0] + # 2. Negative ROIs are those with < 0.5 with every GT box. Skip crowds. + negative_indices = tf.where(tf.logical_and(roi_iou_max < 0.5, no_crowd_bool))[:, 0] + + # Subsample ROIs. Aim for 33% positive + # Positive ROIs + positive_count = int(config.TRAIN_ROIS_PER_IMAGE * + config.ROI_POSITIVE_RATIO) + positive_indices = tf.random_shuffle(positive_indices)[:positive_count] + positive_count = tf.shape(positive_indices)[0] + # Negative ROIs. Add enough to maintain positive:negative ratio. + r = 1.0 / config.ROI_POSITIVE_RATIO + negative_count = tf.cast(r * tf.cast(positive_count, tf.float32), tf.int32) - positive_count + negative_indices = tf.random_shuffle(negative_indices)[:negative_count] + # Gather selected ROIs + positive_rois = tf.gather(proposals, positive_indices) + negative_rois = tf.gather(proposals, negative_indices) + + # Assign positive ROIs to GT boxes. + positive_overlaps = tf.gather(overlaps, positive_indices) + roi_gt_box_assignment = tf.cond( + tf.greater(tf.shape(positive_overlaps)[1], 0), + true_fn = lambda: tf.argmax(positive_overlaps, axis=1), + false_fn = lambda: tf.cast(tf.constant([]),tf.int64) + ) + roi_gt_boxes = tf.gather(gt_boxes, roi_gt_box_assignment) + roi_gt_class_ids = tf.gather(gt_class_ids, roi_gt_box_assignment) + + # Compute bbox refinement for positive ROIs + deltas = utils.box_refinement_graph(positive_rois, roi_gt_boxes) + deltas /= config.BBOX_STD_DEV + + # Assign positive ROIs to GT masks + # Permute masks to [N, height, width, 1] + transposed_masks = tf.expand_dims(tf.transpose(gt_masks, [2, 0, 1]), -1) + # Pick the right mask for each ROI + roi_masks = tf.gather(transposed_masks, roi_gt_box_assignment) + + # Compute mask targets + boxes = positive_rois + if config.USE_MINI_MASK: + # Transform ROI coordinates from normalized image space + # to normalized mini-mask space. + y1, x1, y2, x2 = tf.split(positive_rois, 4, axis=1) + gt_y1, gt_x1, gt_y2, gt_x2 = tf.split(roi_gt_boxes, 4, axis=1) + gt_h = gt_y2 - gt_y1 + gt_w = gt_x2 - gt_x1 + y1 = (y1 - gt_y1) / gt_h + x1 = (x1 - gt_x1) / gt_w + y2 = (y2 - gt_y1) / gt_h + x2 = (x2 - gt_x1) / gt_w + boxes = tf.concat([y1, x1, y2, x2], 1) + box_ids = tf.range(0, tf.shape(roi_masks)[0]) + masks = tf.image.crop_and_resize(tf.cast(roi_masks, tf.float32), boxes, + box_ids, + config.MASK_SHAPE) + # Remove the extra dimension from masks. + masks = tf.squeeze(masks, axis=3) + + # Threshold mask pixels at 0.5 to have GT masks be 0 or 1 to use with + # binary cross entropy loss. + masks = tf.round(masks) + + # Append negative ROIs and pad bbox deltas and masks that + # are not used for negative ROIs with zeros. + rois = tf.concat([positive_rois, negative_rois], axis=0) + N = tf.shape(negative_rois)[0] + P = tf.maximum(config.TRAIN_ROIS_PER_IMAGE - tf.shape(rois)[0], 0) + rois = tf.pad(rois, [(0, P), (0, 0)]) + roi_gt_boxes = tf.pad(roi_gt_boxes, [(0, N + P), (0, 0)]) + roi_gt_class_ids = tf.pad(roi_gt_class_ids, [(0, N + P)]) + deltas = tf.pad(deltas, [(0, N + P), (0, 0)]) + masks = tf.pad(masks, [[0, N + P], (0, 0), (0, 0)]) + + return rois, roi_gt_class_ids, deltas, masks + + +class DetectionTargetLayer(KE.Layer): + """Subsamples proposals and generates target box refinement, class_ids, + and masks for each. + + Inputs: + proposals: [batch, N, (y1, x1, y2, x2)] in normalized coordinates. Might + be zero padded if there are not enough proposals. + gt_class_ids: [batch, MAX_GT_INSTANCES] Integer class IDs. + gt_boxes: [batch, MAX_GT_INSTANCES, (y1, x1, y2, x2)] in normalized + coordinates. + gt_masks: [batch, height, width, MAX_GT_INSTANCES] of boolean type + + Returns: Target ROIs and corresponding class IDs, bounding box shifts, + and masks. + rois: [batch, TRAIN_ROIS_PER_IMAGE, (y1, x1, y2, x2)] in normalized + coordinates + target_class_ids: [batch, TRAIN_ROIS_PER_IMAGE]. Integer class IDs. + target_deltas: [batch, TRAIN_ROIS_PER_IMAGE, (dy, dx, log(dh), log(dw)] + target_mask: [batch, TRAIN_ROIS_PER_IMAGE, height, width] + Masks cropped to bbox boundaries and resized to neural + network output size. + + Note: Returned arrays might be zero padded if not enough target ROIs. + """ + + def __init__(self, config, **kwargs): + super(DetectionTargetLayer, self).__init__(**kwargs) + self.config = config + + def call(self, inputs): + proposals = inputs[0] + gt_class_ids = inputs[1] + gt_boxes = inputs[2] + gt_masks = inputs[3] + + # Slice the batch and run a graph for each slice + # TODO: Rename target_bbox to target_deltas for clarity + names = ["rois", "target_class_ids", "target_bbox", "target_mask"] + outputs = utils.batch_slice( + [proposals, gt_class_ids, gt_boxes, gt_masks], + lambda w, x, y, z: detection_targets_graph( + w, x, y, z, self.config), + self.config.IMAGES_PER_GPU, names=names) + return outputs + + def compute_output_shape(self, input_shape): + return [ + (None, self.config.TRAIN_ROIS_PER_IMAGE, 4), # rois + (None, self.config.TRAIN_ROIS_PER_IMAGE), # class_ids + (None, self.config.TRAIN_ROIS_PER_IMAGE, 4), # deltas + (None, self.config.TRAIN_ROIS_PER_IMAGE, self.config.MASK_SHAPE[0], + self.config.MASK_SHAPE[1]) # masks + ] + + def compute_mask(self, inputs, mask=None): + return [None, None, None, None] + + +############################################################ +# Detection Layer +############################################################ + +def refine_detections_graph(rois, probs, deltas, window, config): + """Refine classified proposals and filter overlaps and return final + detections. + + Inputs: + rois: [N, (y1, x1, y2, x2)] in normalized coordinates + probs: [N, num_classes]. Class probabilities. + deltas: [N, num_classes, (dy, dx, log(dh), log(dw))]. Class-specific + bounding box deltas. + window: (y1, x1, y2, x2) in normalized coordinates. The part of the image + that contains the image excluding the padding. + + Returns detections shaped: [num_detections, (y1, x1, y2, x2, class_id, score)] where + coordinates are normalized. + """ + # Class IDs per ROI + class_ids = tf.argmax(probs, axis=1, output_type=tf.int32) + # Class probability of the top class of each ROI + indices = tf.stack([tf.range(probs.shape[0]), class_ids], axis=1) + class_scores = tf.gather_nd(probs, indices) + # Class-specific bounding box deltas + deltas_specific = tf.gather_nd(deltas, indices) + # Apply bounding box deltas + # Shape: [boxes, (y1, x1, y2, x2)] in normalized coordinates + refined_rois = apply_box_deltas_graph( + rois, deltas_specific * config.BBOX_STD_DEV) + # Clip boxes to image window + refined_rois = clip_boxes_graph(refined_rois, window) + + # TODO: Filter out boxes with zero area + + # Filter out background boxes + keep = tf.where(class_ids > 0)[:, 0] + # Filter out low confidence boxes + if config.DETECTION_MIN_CONFIDENCE: + conf_keep = tf.where(class_scores >= config.DETECTION_MIN_CONFIDENCE)[:, 0] + keep = tf.sets.set_intersection(tf.expand_dims(keep, 0), + tf.expand_dims(conf_keep, 0)) + keep = tf.sparse_tensor_to_dense(keep)[0] + + # Apply per-class NMS + # 1. Prepare variables + pre_nms_class_ids = tf.gather(class_ids, keep) + pre_nms_scores = tf.gather(class_scores, keep) + pre_nms_rois = tf.gather(refined_rois, keep) + unique_pre_nms_class_ids = tf.unique(pre_nms_class_ids)[0] + + def nms_keep_map(class_id): + """Apply Non-Maximum Suppression on ROIs of the given class.""" + # Indices of ROIs of the given class + ixs = tf.where(tf.equal(pre_nms_class_ids, class_id))[:, 0] + # Apply NMS + class_keep = tf.image.non_max_suppression( + tf.gather(pre_nms_rois, ixs), + tf.gather(pre_nms_scores, ixs), + max_output_size=config.DETECTION_MAX_INSTANCES, + iou_threshold=config.DETECTION_NMS_THRESHOLD) + # Map indices + class_keep = tf.gather(keep, tf.gather(ixs, class_keep)) + # Pad with -1 so returned tensors have the same shape + gap = config.DETECTION_MAX_INSTANCES - tf.shape(class_keep)[0] + class_keep = tf.pad(class_keep, [(0, gap)], + mode='CONSTANT', constant_values=-1) + # Set shape so map_fn() can infer result shape + class_keep.set_shape([config.DETECTION_MAX_INSTANCES]) + return class_keep + + # 2. Map over class IDs + nms_keep = tf.map_fn(nms_keep_map, unique_pre_nms_class_ids, + dtype=tf.int64) + # 3. Merge results into one list, and remove -1 padding + nms_keep = tf.reshape(nms_keep, [-1]) + nms_keep = tf.gather(nms_keep, tf.where(nms_keep > -1)[:, 0]) + # 4. Compute intersection between keep and nms_keep + keep = tf.sets.set_intersection(tf.expand_dims(keep, 0), + tf.expand_dims(nms_keep, 0)) + keep = tf.sparse_tensor_to_dense(keep)[0] + # Keep top detections + roi_count = config.DETECTION_MAX_INSTANCES + class_scores_keep = tf.gather(class_scores, keep) + num_keep = tf.minimum(tf.shape(class_scores_keep)[0], roi_count) + top_ids = tf.nn.top_k(class_scores_keep, k=num_keep, sorted=True)[1] + keep = tf.gather(keep, top_ids) + + # Arrange output as [N, (y1, x1, y2, x2, class_id, score)] + # Coordinates are normalized. + detections = tf.concat([ + tf.gather(refined_rois, keep), + tf.to_float(tf.gather(class_ids, keep))[..., tf.newaxis], + tf.gather(class_scores, keep)[..., tf.newaxis] + ], axis=1) + + # Pad with zeros if detections < DETECTION_MAX_INSTANCES + gap = config.DETECTION_MAX_INSTANCES - tf.shape(detections)[0] + detections = tf.pad(detections, [(0, gap), (0, 0)], "CONSTANT") + return detections + + +class DetectionLayer(KE.Layer): + """Takes classified proposal boxes and their bounding box deltas and + returns the final detection boxes. + + Returns: + [batch, num_detections, (y1, x1, y2, x2, class_id, class_score)] where + coordinates are normalized. + """ + + def __init__(self, config=None, **kwargs): + super(DetectionLayer, self).__init__(**kwargs) + self.config = config + + def call(self, inputs): + rois = inputs[0] + mrcnn_class = inputs[1] + mrcnn_bbox = inputs[2] + image_meta = inputs[3] + + # Get windows of images in normalized coordinates. Windows are the area + # in the image that excludes the padding. + # Use the shape of the first image in the batch to normalize the window + # because we know that all images get resized to the same size. + m = parse_image_meta_graph(image_meta) + image_shape = m['image_shape'][0] + window = norm_boxes_graph(m['window'], image_shape[:2]) + + # Run detection refinement graph on each item in the batch + detections_batch = utils.batch_slice( + [rois, mrcnn_class, mrcnn_bbox, window], + lambda x, y, w, z: refine_detections_graph(x, y, w, z, self.config), + self.config.IMAGES_PER_GPU) + + # Reshape output + # [batch, num_detections, (y1, x1, y2, x2, class_id, class_score)] in + # normalized coordinates + return tf.reshape( + detections_batch, + [self.config.BATCH_SIZE, self.config.DETECTION_MAX_INSTANCES, 6]) + + def compute_output_shape(self, input_shape): + return (None, self.config.DETECTION_MAX_INSTANCES, 6) + + +############################################################ +# Region Proposal Network (RPN) +############################################################ + +def rpn_graph(feature_map, anchors_per_location, anchor_stride): + """Builds the computation graph of Region Proposal Network. + + feature_map: backbone features [batch, height, width, depth] + anchors_per_location: number of anchors per pixel in the feature map + anchor_stride: Controls the density of anchors. Typically 1 (anchors for + every pixel in the feature map), or 2 (every other pixel). + + Returns: + rpn_class_logits: [batch, H * W * anchors_per_location, 2] Anchor classifier logits (before softmax) + rpn_probs: [batch, H * W * anchors_per_location, 2] Anchor classifier probabilities. + rpn_bbox: [batch, H * W * anchors_per_location, (dy, dx, log(dh), log(dw))] Deltas to be + applied to anchors. + """ + # TODO: check if stride of 2 causes alignment issues if the feature map + # is not even. + # Shared convolutional base of the RPN + shared = KL.Conv2D(512, (3, 3), padding='same', activation='relu', + strides=anchor_stride, + name='rpn_conv_shared')(feature_map) + + # Anchor Score. [batch, height, width, anchors per location * 2]. + x = KL.Conv2D(2 * anchors_per_location, (1, 1), padding='valid', + activation='linear', name='rpn_class_raw')(shared) + + # Reshape to [batch, anchors, 2] + rpn_class_logits = KL.Lambda( + lambda t: tf.reshape(t, [tf.shape(t)[0], -1, 2]))(x) + + # Softmax on last dimension of BG/FG. + rpn_probs = KL.Activation( + "softmax", name="rpn_class_xxx")(rpn_class_logits) + + # Bounding box refinement. [batch, H, W, anchors per location * depth] + # where depth is [x, y, log(w), log(h)] + x = KL.Conv2D(anchors_per_location * 4, (1, 1), padding="valid", + activation='linear', name='rpn_bbox_pred')(shared) + + # Reshape to [batch, anchors, 4] + rpn_bbox = KL.Lambda(lambda t: tf.reshape(t, [tf.shape(t)[0], -1, 4]))(x) + + return [rpn_class_logits, rpn_probs, rpn_bbox] + + +def build_rpn_model(anchor_stride, anchors_per_location, depth): + """Builds a Keras model of the Region Proposal Network. + It wraps the RPN graph so it can be used multiple times with shared + weights. + + anchors_per_location: number of anchors per pixel in the feature map + anchor_stride: Controls the density of anchors. Typically 1 (anchors for + every pixel in the feature map), or 2 (every other pixel). + depth: Depth of the backbone feature map. + + Returns a Keras Model object. The model outputs, when called, are: + rpn_class_logits: [batch, H * W * anchors_per_location, 2] Anchor classifier logits (before softmax) + rpn_probs: [batch, H * W * anchors_per_location, 2] Anchor classifier probabilities. + rpn_bbox: [batch, H * W * anchors_per_location, (dy, dx, log(dh), log(dw))] Deltas to be + applied to anchors. + """ + input_feature_map = KL.Input(shape=[None, None, depth], + name="input_rpn_feature_map") + outputs = rpn_graph(input_feature_map, anchors_per_location, anchor_stride) + return KM.Model([input_feature_map], outputs, name="rpn_model") + + +############################################################ +# Feature Pyramid Network Heads +############################################################ + +def fpn_classifier_graph(rois, feature_maps, image_meta, + pool_size, num_classes, train_bn=True, + fc_layers_size=1024): + """Builds the computation graph of the feature pyramid network classifier + and regressor heads. + + rois: [batch, num_rois, (y1, x1, y2, x2)] Proposal boxes in normalized + coordinates. + feature_maps: List of feature maps from different layers of the pyramid, + [P2, P3, P4, P5]. Each has a different resolution. + image_meta: [batch, (meta data)] Image details. See compose_image_meta() + pool_size: The width of the square feature map generated from ROI Pooling. + num_classes: number of classes, which determines the depth of the results + train_bn: Boolean. Train or freeze Batch Norm layers + fc_layers_size: Size of the 2 FC layers + + Returns: + logits: [batch, num_rois, NUM_CLASSES] classifier logits (before softmax) + probs: [batch, num_rois, NUM_CLASSES] classifier probabilities + bbox_deltas: [batch, num_rois, NUM_CLASSES, (dy, dx, log(dh), log(dw))] Deltas to apply to + proposal boxes + """ + # ROI Pooling + # Shape: [batch, num_rois, POOL_SIZE, POOL_SIZE, channels] + x = PyramidROIAlign([pool_size, pool_size], + name="roi_align_classifier")([rois, image_meta] + feature_maps) + # Two 1024 FC layers (implemented with Conv2D for consistency) + x = KL.TimeDistributed(KL.Conv2D(fc_layers_size, (pool_size, pool_size), padding="valid"), + name="mrcnn_class_conv1")(x) + x = KL.TimeDistributed(BatchNorm(), name='mrcnn_class_bn1')(x, training=train_bn) + x = KL.Activation('relu')(x) + x = KL.TimeDistributed(KL.Conv2D(fc_layers_size, (1, 1)), + name="mrcnn_class_conv2")(x) + x = KL.TimeDistributed(BatchNorm(), name='mrcnn_class_bn2')(x, training=train_bn) + x = KL.Activation('relu')(x) + + shared = KL.Lambda(lambda x: K.squeeze(K.squeeze(x, 3), 2), + name="pool_squeeze")(x) + + # Classifier head + mrcnn_class_logits = KL.TimeDistributed(KL.Dense(num_classes), + name='mrcnn_class_logits')(shared) + mrcnn_probs = KL.TimeDistributed(KL.Activation("softmax"), + name="mrcnn_class")(mrcnn_class_logits) + + # BBox head + # [batch, num_rois, NUM_CLASSES * (dy, dx, log(dh), log(dw))] + x = KL.TimeDistributed(KL.Dense(num_classes * 4, activation='linear'), + name='mrcnn_bbox_fc')(shared) + # Reshape to [batch, num_rois, NUM_CLASSES, (dy, dx, log(dh), log(dw))] + s = K.int_shape(x) + mrcnn_bbox = KL.Reshape((s[1], num_classes, 4), name="mrcnn_bbox")(x) + + return mrcnn_class_logits, mrcnn_probs, mrcnn_bbox + + +def build_fpn_mask_graph(rois, feature_maps, image_meta, + pool_size, num_classes, train_bn=True): + """Builds the computation graph of the mask head of Feature Pyramid Network. + + rois: [batch, num_rois, (y1, x1, y2, x2)] Proposal boxes in normalized + coordinates. + feature_maps: List of feature maps from different layers of the pyramid, + [P2, P3, P4, P5]. Each has a different resolution. + image_meta: [batch, (meta data)] Image details. See compose_image_meta() + pool_size: The width of the square feature map generated from ROI Pooling. + num_classes: number of classes, which determines the depth of the results + train_bn: Boolean. Train or freeze Batch Norm layers + + Returns: Masks [batch, num_rois, MASK_POOL_SIZE, MASK_POOL_SIZE, NUM_CLASSES] + """ + # ROI Pooling + # Shape: [batch, num_rois, MASK_POOL_SIZE, MASK_POOL_SIZE, channels] + x = PyramidROIAlign([pool_size, pool_size], + name="roi_align_mask")([rois, image_meta] + feature_maps) + + # Conv layers + x = KL.TimeDistributed(KL.Conv2D(256, (3, 3), padding="same"), + name="mrcnn_mask_conv1")(x) + x = KL.TimeDistributed(BatchNorm(), + name='mrcnn_mask_bn1')(x, training=train_bn) + x = KL.Activation('relu')(x) + + x = KL.TimeDistributed(KL.Conv2D(256, (3, 3), padding="same"), + name="mrcnn_mask_conv2")(x) + x = KL.TimeDistributed(BatchNorm(), + name='mrcnn_mask_bn2')(x, training=train_bn) + x = KL.Activation('relu')(x) + + x = KL.TimeDistributed(KL.Conv2D(256, (3, 3), padding="same"), + name="mrcnn_mask_conv3")(x) + x = KL.TimeDistributed(BatchNorm(), + name='mrcnn_mask_bn3')(x, training=train_bn) + x = KL.Activation('relu')(x) + + x = KL.TimeDistributed(KL.Conv2D(256, (3, 3), padding="same"), + name="mrcnn_mask_conv4")(x) + x = KL.TimeDistributed(BatchNorm(), + name='mrcnn_mask_bn4')(x, training=train_bn) + x = KL.Activation('relu')(x) + + x = KL.TimeDistributed(KL.Conv2DTranspose(256, (2, 2), strides=2, activation="relu"), + name="mrcnn_mask_deconv")(x) + x = KL.TimeDistributed(KL.Conv2D(num_classes, (1, 1), strides=1, activation="sigmoid"), + name="mrcnn_mask")(x) + return x + + +############################################################ +# Loss Functions +############################################################ + +def smooth_l1_loss(y_true, y_pred): + """Implements Smooth-L1 loss. + y_true and y_pred are typically: [N, 4], but could be any shape. + """ + diff = K.abs(y_true - y_pred) + less_than_one = K.cast(K.less(diff, 1.0), "float32") + loss = (less_than_one * 0.5 * diff**2) + (1 - less_than_one) * (diff - 0.5) + return loss + + +def rpn_class_loss_graph(rpn_match, rpn_class_logits): + """RPN anchor classifier loss. + + rpn_match: [batch, anchors, 1]. Anchor match type. 1=positive, + -1=negative, 0=neutral anchor. + rpn_class_logits: [batch, anchors, 2]. RPN classifier logits for FG/BG. + """ + # Squeeze last dim to simplify + rpn_match = tf.squeeze(rpn_match, -1) + # Get anchor classes. Convert the -1/+1 match to 0/1 values. + anchor_class = K.cast(K.equal(rpn_match, 1), tf.int32) + # Positive and Negative anchors contribute to the loss, + # but neutral anchors (match value = 0) don't. + indices = tf.where(K.not_equal(rpn_match, 0)) + # Pick rows that contribute to the loss and filter out the rest. + rpn_class_logits = tf.gather_nd(rpn_class_logits, indices) + anchor_class = tf.gather_nd(anchor_class, indices) + # Cross entropy loss + loss = K.sparse_categorical_crossentropy(target=anchor_class, + output=rpn_class_logits, + from_logits=True) + loss = K.switch(tf.size(loss) > 0, K.mean(loss), tf.constant(0.0)) + return loss + + +def rpn_bbox_loss_graph(config, target_bbox, rpn_match, rpn_bbox): + """Return the RPN bounding box loss graph. + + config: the model config object. + target_bbox: [batch, max positive anchors, (dy, dx, log(dh), log(dw))]. + Uses 0 padding to fill in unsed bbox deltas. + rpn_match: [batch, anchors, 1]. Anchor match type. 1=positive, + -1=negative, 0=neutral anchor. + rpn_bbox: [batch, anchors, (dy, dx, log(dh), log(dw))] + """ + # Positive anchors contribute to the loss, but negative and + # neutral anchors (match value of 0 or -1) don't. + rpn_match = K.squeeze(rpn_match, -1) + indices = tf.where(K.equal(rpn_match, 1)) + + # Pick bbox deltas that contribute to the loss + rpn_bbox = tf.gather_nd(rpn_bbox, indices) + + # Trim target bounding box deltas to the same length as rpn_bbox. + batch_counts = K.sum(K.cast(K.equal(rpn_match, 1), tf.int32), axis=1) + target_bbox = batch_pack_graph(target_bbox, batch_counts, + config.IMAGES_PER_GPU) + + loss = smooth_l1_loss(target_bbox, rpn_bbox) + + loss = K.switch(tf.size(loss) > 0, K.mean(loss), tf.constant(0.0)) + return loss + + +def mrcnn_class_loss_graph(target_class_ids, pred_class_logits, + active_class_ids): + """Loss for the classifier head of Mask RCNN. + + target_class_ids: [batch, num_rois]. Integer class IDs. Uses zero + padding to fill in the array. + pred_class_logits: [batch, num_rois, num_classes] + active_class_ids: [batch, num_classes]. Has a value of 1 for + classes that are in the dataset of the image, and 0 + for classes that are not in the dataset. + """ + # During model building, Keras calls this function with + # target_class_ids of type float32. Unclear why. Cast it + # to int to get around it. + target_class_ids = tf.cast(target_class_ids, 'int64') + + # Find predictions of classes that are not in the dataset. + pred_class_ids = tf.argmax(pred_class_logits, axis=2) + # TODO: Update this line to work with batch > 1. Right now it assumes all + # images in a batch have the same active_class_ids + pred_active = tf.gather(active_class_ids[0], pred_class_ids) + + # Loss + loss = tf.nn.sparse_softmax_cross_entropy_with_logits( + labels=target_class_ids, logits=pred_class_logits) + + # Erase losses of predictions of classes that are not in the active + # classes of the image. + loss = loss * pred_active + + # Computer loss mean. Use only predictions that contribute + # to the loss to get a correct mean. + loss = tf.reduce_sum(loss) / tf.reduce_sum(pred_active) + return loss + + +def mrcnn_bbox_loss_graph(target_bbox, target_class_ids, pred_bbox): + """Loss for Mask R-CNN bounding box refinement. + + target_bbox: [batch, num_rois, (dy, dx, log(dh), log(dw))] + target_class_ids: [batch, num_rois]. Integer class IDs. + pred_bbox: [batch, num_rois, num_classes, (dy, dx, log(dh), log(dw))] + """ + # Reshape to merge batch and roi dimensions for simplicity. + target_class_ids = K.reshape(target_class_ids, (-1,)) + target_bbox = K.reshape(target_bbox, (-1, 4)) + pred_bbox = K.reshape(pred_bbox, (-1, K.int_shape(pred_bbox)[2], 4)) + + # Only positive ROIs contribute to the loss. And only + # the right class_id of each ROI. Get their indices. + positive_roi_ix = tf.where(target_class_ids > 0)[:, 0] + positive_roi_class_ids = tf.cast( + tf.gather(target_class_ids, positive_roi_ix), tf.int64) + indices = tf.stack([positive_roi_ix, positive_roi_class_ids], axis=1) + + # Gather the deltas (predicted and true) that contribute to loss + target_bbox = tf.gather(target_bbox, positive_roi_ix) + pred_bbox = tf.gather_nd(pred_bbox, indices) + + # Smooth-L1 Loss + loss = K.switch(tf.size(target_bbox) > 0, + smooth_l1_loss(y_true=target_bbox, y_pred=pred_bbox), + tf.constant(0.0)) + loss = K.mean(loss) + return loss + + +def mrcnn_mask_loss_graph(target_masks, target_class_ids, pred_masks): + """Mask binary cross-entropy loss for the masks head. + + target_masks: [batch, num_rois, height, width]. + A float32 tensor of values 0 or 1. Uses zero padding to fill array. + target_class_ids: [batch, num_rois]. Integer class IDs. Zero padded. + pred_masks: [batch, proposals, height, width, num_classes] float32 tensor + with values from 0 to 1. + """ + # Reshape for simplicity. Merge first two dimensions into one. + target_class_ids = K.reshape(target_class_ids, (-1,)) + mask_shape = tf.shape(target_masks) + target_masks = K.reshape(target_masks, (-1, mask_shape[2], mask_shape[3])) + pred_shape = tf.shape(pred_masks) + pred_masks = K.reshape(pred_masks, + (-1, pred_shape[2], pred_shape[3], pred_shape[4])) + # Permute predicted masks to [N, num_classes, height, width] + pred_masks = tf.transpose(pred_masks, [0, 3, 1, 2]) + + # Only positive ROIs contribute to the loss. And only + # the class specific mask of each ROI. + positive_ix = tf.where(target_class_ids > 0)[:, 0] + positive_class_ids = tf.cast( + tf.gather(target_class_ids, positive_ix), tf.int64) + indices = tf.stack([positive_ix, positive_class_ids], axis=1) + + # Gather the masks (predicted and true) that contribute to loss + y_true = tf.gather(target_masks, positive_ix) + y_pred = tf.gather_nd(pred_masks, indices) + + # Compute binary cross entropy. If no positive ROIs, then return 0. + # shape: [batch, roi, num_classes] + loss = K.switch(tf.size(y_true) > 0, + K.binary_crossentropy(target=y_true, output=y_pred), + tf.constant(0.0)) + loss = K.mean(loss) + return loss + + +############################################################ +# Data Generator +############################################################ + +def load_image_gt(dataset, config, image_id, augment=False, augmentation=None, + use_mini_mask=False): + """Load and return ground truth data for an image (image, mask, bounding boxes). + + augment: (deprecated. Use augmentation instead). If true, apply random + image augmentation. Currently, only horizontal flipping is offered. + augmentation: Optional. An imgaug (https://github.com/aleju/imgaug) augmentation. + For example, passing imgaug.augmenters.Fliplr(0.5) flips images + right/left 50% of the time. + use_mini_mask: If False, returns full-size masks that are the same height + and width as the original image. These can be big, for example + 1024x1024x100 (for 100 instances). Mini masks are smaller, typically, + 224x224 and are generated by extracting the bounding box of the + object and resizing it to MINI_MASK_SHAPE. + + Returns: + image: [height, width, 3] + shape: the original shape of the image before resizing and cropping. + class_ids: [instance_count] Integer class IDs + bbox: [instance_count, (y1, x1, y2, x2)] + mask: [height, width, instance_count]. The height and width are those + of the image unless use_mini_mask is True, in which case they are + defined in MINI_MASK_SHAPE. + """ + # Load image and mask + image = dataset.load_image(image_id, config.IMAGE_COLOR) + mask, class_ids = dataset.load_mask(image_id) + original_shape = image.shape + image, window, scale, padding, crop = utils.resize_image( + image, + min_dim=config.IMAGE_MIN_DIM, + min_scale=config.IMAGE_MIN_SCALE, + max_dim=config.IMAGE_MAX_DIM, + mode=config.IMAGE_RESIZE_MODE) + mask = utils.resize_mask(mask, scale, padding, crop) + + # Random horizontal flips. + # TODO: will be removed in a future update in favor of augmentation + if augment: + logging.warning("'augment' is deprecated. Use 'augmentation' instead.") + if random.randint(0, 1): + image = np.fliplr(image) + mask = np.fliplr(mask) + + # Augmentation + # This requires the imgaug lib (https://github.com/aleju/imgaug) + if augmentation: + import imgaug + + # Augmenters that are safe to apply to masks + # Some, such as Affine, have settings that make them unsafe, so always + # test your augmentation on masks + MASK_AUGMENTERS = ["Sequential", "SomeOf", "OneOf", "Sometimes", + "Fliplr", "Flipud", "CropAndPad", + "Affine", "PiecewiseAffine"] + + def hook(images, augmenter, parents, default): + """Determines which augmenters to apply to masks.""" + return augmenter.__class__.__name__ in MASK_AUGMENTERS + + # Store shapes before augmentation to compare + image_shape = image.shape + mask_shape = mask.shape + # Make augmenters deterministic to apply similarly to images and masks + det = augmentation.to_deterministic() + image = det.augment_image(image) + # Change mask to np.uint8 because imgaug doesn't support np.bool + mask = det.augment_image(mask.astype(np.uint8), + hooks=imgaug.HooksImages(activator=hook)) + # Verify that shapes didn't change + assert image.shape == image_shape, "Augmentation shouldn't change image size" + assert mask.shape == mask_shape, "Augmentation shouldn't change mask size" + # Change mask back to bool + mask = mask.astype(np.bool) + + # Note that some boxes might be all zeros if the corresponding mask got cropped out. + # and here is to filter them out + _idx = np.sum(mask, axis=(0, 1)) > 0 + mask = mask[:, :, _idx] + class_ids = class_ids[_idx] + # Bounding boxes. Note that some boxes might be all zeros + # if the corresponding mask got cropped out. + # bbox: [num_instances, (y1, x1, y2, x2)] + bbox = utils.extract_bboxes(mask) + + # Active classes + # Different datasets have different classes, so track the + # classes supported in the dataset of this image. + active_class_ids = np.zeros([dataset.num_classes], dtype=np.int32) + source_class_ids = dataset.source_class_ids[dataset.image_info[image_id]["source"]] + active_class_ids[source_class_ids] = 1 + + # Resize masks to smaller size to reduce memory usage + if use_mini_mask: + mask = utils.minimize_mask(bbox, mask, config.MINI_MASK_SHAPE) + + # Image meta data + image_meta = compose_image_meta(image_id, original_shape, image.shape, + window, scale, active_class_ids) + + return image, image_meta, class_ids, bbox, mask + + +def build_detection_targets(rpn_rois, gt_class_ids, gt_boxes, gt_masks, config): + """Generate targets for training Stage 2 classifier and mask heads. + This is not used in normal training. It's useful for debugging or to train + the Mask RCNN heads without using the RPN head. + + Inputs: + rpn_rois: [N, (y1, x1, y2, x2)] proposal boxes. + gt_class_ids: [instance count] Integer class IDs + gt_boxes: [instance count, (y1, x1, y2, x2)] + gt_masks: [height, width, instance count] Ground truth masks. Can be full + size or mini-masks. + + Returns: + rois: [TRAIN_ROIS_PER_IMAGE, (y1, x1, y2, x2)] + class_ids: [TRAIN_ROIS_PER_IMAGE]. Integer class IDs. + bboxes: [TRAIN_ROIS_PER_IMAGE, NUM_CLASSES, (y, x, log(h), log(w))]. Class-specific + bbox refinements. + masks: [TRAIN_ROIS_PER_IMAGE, height, width, NUM_CLASSES). Class specific masks cropped + to bbox boundaries and resized to neural network output size. + """ + assert rpn_rois.shape[0] > 0 + assert gt_class_ids.dtype == np.int32, "Expected int but got {}".format( + gt_class_ids.dtype) + assert gt_boxes.dtype == np.int32, "Expected int but got {}".format( + gt_boxes.dtype) + assert gt_masks.dtype == np.bool_, "Expected bool but got {}".format( + gt_masks.dtype) + + # It's common to add GT Boxes to ROIs but we don't do that here because + # according to XinLei Chen's paper, it doesn't help. + + # Trim empty padding in gt_boxes and gt_masks parts + instance_ids = np.where(gt_class_ids > 0)[0] + assert instance_ids.shape[0] > 0, "Image must contain instances." + gt_class_ids = gt_class_ids[instance_ids] + gt_boxes = gt_boxes[instance_ids] + gt_masks = gt_masks[:, :, instance_ids] + + # Compute areas of ROIs and ground truth boxes. + rpn_roi_area = (rpn_rois[:, 2] - rpn_rois[:, 0]) * \ + (rpn_rois[:, 3] - rpn_rois[:, 1]) + gt_box_area = (gt_boxes[:, 2] - gt_boxes[:, 0]) * \ + (gt_boxes[:, 3] - gt_boxes[:, 1]) + + # Compute overlaps [rpn_rois, gt_boxes] + overlaps = np.zeros((rpn_rois.shape[0], gt_boxes.shape[0])) + for i in range(overlaps.shape[1]): + gt = gt_boxes[i] + overlaps[:, i] = utils.compute_iou( + gt, rpn_rois, gt_box_area[i], rpn_roi_area) + + # Assign ROIs to GT boxes + rpn_roi_iou_argmax = np.argmax(overlaps, axis=1) + rpn_roi_iou_max = overlaps[np.arange( + overlaps.shape[0]), rpn_roi_iou_argmax] + # GT box assigned to each ROI + rpn_roi_gt_boxes = gt_boxes[rpn_roi_iou_argmax] + rpn_roi_gt_class_ids = gt_class_ids[rpn_roi_iou_argmax] + + # Positive ROIs are those with >= 0.5 IoU with a GT box. + fg_ids = np.where(rpn_roi_iou_max > 0.5)[0] + + # Negative ROIs are those with max IoU 0.1-0.5 (hard example mining) + # TODO: To hard example mine or not to hard example mine, that's the question + # bg_ids = np.where((rpn_roi_iou_max >= 0.1) & (rpn_roi_iou_max < 0.5))[0] + bg_ids = np.where(rpn_roi_iou_max < 0.5)[0] + + # Subsample ROIs. Aim for 33% foreground. + # FG + fg_roi_count = int(config.TRAIN_ROIS_PER_IMAGE * config.ROI_POSITIVE_RATIO) + if fg_ids.shape[0] > fg_roi_count: + keep_fg_ids = np.random.choice(fg_ids, fg_roi_count, replace=False) + else: + keep_fg_ids = fg_ids + # BG + remaining = config.TRAIN_ROIS_PER_IMAGE - keep_fg_ids.shape[0] + if bg_ids.shape[0] > remaining: + keep_bg_ids = np.random.choice(bg_ids, remaining, replace=False) + else: + keep_bg_ids = bg_ids + # Combine indices of ROIs to keep + keep = np.concatenate([keep_fg_ids, keep_bg_ids]) + # Need more? + remaining = config.TRAIN_ROIS_PER_IMAGE - keep.shape[0] + if remaining > 0: + # Looks like we don't have enough samples to maintain the desired + # balance. Reduce requirements and fill in the rest. This is + # likely different from the Mask RCNN paper. + + # There is a small chance we have neither fg nor bg samples. + if keep.shape[0] == 0: + # Pick bg regions with easier IoU threshold + bg_ids = np.where(rpn_roi_iou_max < 0.5)[0] + assert bg_ids.shape[0] >= remaining + keep_bg_ids = np.random.choice(bg_ids, remaining, replace=False) + assert keep_bg_ids.shape[0] == remaining + keep = np.concatenate([keep, keep_bg_ids]) + else: + # Fill the rest with repeated bg rois. + keep_extra_ids = np.random.choice( + keep_bg_ids, remaining, replace=True) + keep = np.concatenate([keep, keep_extra_ids]) + assert keep.shape[0] == config.TRAIN_ROIS_PER_IMAGE, \ + "keep doesn't match ROI batch size {}, {}".format( + keep.shape[0], config.TRAIN_ROIS_PER_IMAGE) + + # Reset the gt boxes assigned to BG ROIs. + rpn_roi_gt_boxes[keep_bg_ids, :] = 0 + rpn_roi_gt_class_ids[keep_bg_ids] = 0 + + # For each kept ROI, assign a class_id, and for FG ROIs also add bbox refinement. + rois = rpn_rois[keep] + roi_gt_boxes = rpn_roi_gt_boxes[keep] + roi_gt_class_ids = rpn_roi_gt_class_ids[keep] + roi_gt_assignment = rpn_roi_iou_argmax[keep] + + # Class-aware bbox deltas. [y, x, log(h), log(w)] + bboxes = np.zeros((config.TRAIN_ROIS_PER_IMAGE, + config.NUM_CLASSES, 4), dtype=np.float32) + pos_ids = np.where(roi_gt_class_ids > 0)[0] + bboxes[pos_ids, roi_gt_class_ids[pos_ids]] = utils.box_refinement( + rois[pos_ids], roi_gt_boxes[pos_ids, :4]) + # Normalize bbox refinements + bboxes /= config.BBOX_STD_DEV + + # Generate class-specific target masks + masks = np.zeros((config.TRAIN_ROIS_PER_IMAGE, config.MASK_SHAPE[0], config.MASK_SHAPE[1], config.NUM_CLASSES), + dtype=np.float32) + for i in pos_ids: + class_id = roi_gt_class_ids[i] + assert class_id > 0, "class id must be greater than 0" + gt_id = roi_gt_assignment[i] + class_mask = gt_masks[:, :, gt_id] + + if config.USE_MINI_MASK: + # Create a mask placeholder, the size of the image + placeholder = np.zeros(config.IMAGE_SHAPE[:2], dtype=bool) + # GT box + gt_y1, gt_x1, gt_y2, gt_x2 = gt_boxes[gt_id] + gt_w = gt_x2 - gt_x1 + gt_h = gt_y2 - gt_y1 + # Resize mini mask to size of GT box + placeholder[gt_y1:gt_y2, gt_x1:gt_x2] = \ + np.round(utils.resize(class_mask, (gt_h, gt_w))).astype(bool) + # Place the mini batch in the placeholder + class_mask = placeholder + + # Pick part of the mask and resize it + y1, x1, y2, x2 = rois[i].astype(np.int32) + m = class_mask[y1:y2, x1:x2] + mask = utils.resize(m, config.MASK_SHAPE) + masks[i, :, :, class_id] = mask + + return rois, roi_gt_class_ids, bboxes, masks + + +def build_rpn_targets(image_shape, anchors, gt_class_ids, gt_boxes, config): + """Given the anchors and GT boxes, compute overlaps and identify positive + anchors and deltas to refine them to match their corresponding GT boxes. + + anchors: [num_anchors, (y1, x1, y2, x2)] + gt_class_ids: [num_gt_boxes] Integer class IDs. + gt_boxes: [num_gt_boxes, (y1, x1, y2, x2)] + + Returns: + rpn_match: [N] (int32) matches between anchors and GT boxes. + 1 = positive anchor, -1 = negative anchor, 0 = neutral + rpn_bbox: [N, (dy, dx, log(dh), log(dw))] Anchor bbox deltas. + """ + # RPN Match: 1 = positive anchor, -1 = negative anchor, 0 = neutral + rpn_match = np.zeros([anchors.shape[0]], dtype=np.int32) + # RPN bounding boxes: [max anchors per image, (dy, dx, log(dh), log(dw))] + rpn_bbox = np.zeros((config.RPN_TRAIN_ANCHORS_PER_IMAGE, 4)) + + # Handle COCO crowds + # A crowd box in COCO is a bounding box around several instances. Exclude + # them from training. A crowd box is given a negative class ID. + crowd_ix = np.where(gt_class_ids < 0)[0] + if crowd_ix.shape[0] > 0: + # Filter out crowds from ground truth class IDs and boxes + non_crowd_ix = np.where(gt_class_ids > 0)[0] + crowd_boxes = gt_boxes[crowd_ix] + gt_class_ids = gt_class_ids[non_crowd_ix] + gt_boxes = gt_boxes[non_crowd_ix] + # Compute overlaps with crowd boxes [anchors, crowds] + crowd_overlaps = utils.compute_overlaps(anchors, crowd_boxes) + crowd_iou_max = np.amax(crowd_overlaps, axis=1) + no_crowd_bool = (crowd_iou_max < 0.001) + else: + # All anchors don't intersect a crowd + no_crowd_bool = np.ones([anchors.shape[0]], dtype=bool) + + # Compute overlaps [num_anchors, num_gt_boxes] + overlaps = utils.compute_overlaps(anchors, gt_boxes) + + # Match anchors to GT Boxes + # If an anchor overlaps a GT box with IoU >= 0.7 then it's positive. + # If an anchor overlaps a GT box with IoU < 0.3 then it's negative. + # Neutral anchors are those that don't match the conditions above, + # and they don't influence the loss function. + # However, don't keep any GT box unmatched (rare, but happens). Instead, + # match it to the closest anchor (even if its max IoU is < 0.3). + # + # 1. Set negative anchors first. They get overwritten below if a GT box is + # matched to them. Skip boxes in crowd areas. + anchor_iou_argmax = np.argmax(overlaps, axis=1) + anchor_iou_max = overlaps[np.arange(overlaps.shape[0]), anchor_iou_argmax] + rpn_match[(anchor_iou_max < 0.3) & (no_crowd_bool)] = -1 + # 2. Set an anchor for each GT box (regardless of IoU value). + # TODO: If multiple anchors have the same IoU match all of them + gt_iou_argmax = np.argmax(overlaps, axis=0) + rpn_match[gt_iou_argmax] = 1 + # 3. Set anchors with high overlap as positive. + rpn_match[anchor_iou_max >= 0.7] = 1 + + # Subsample to balance positive and negative anchors + # Don't let positives be more than half the anchors + ids = np.where(rpn_match == 1)[0] + extra = len(ids) - (config.RPN_TRAIN_ANCHORS_PER_IMAGE // 2) + if extra > 0: + # Reset the extra ones to neutral + ids = np.random.choice(ids, extra, replace=False) + rpn_match[ids] = 0 + # Same for negative proposals + ids = np.where(rpn_match == -1)[0] + extra = len(ids) - (config.RPN_TRAIN_ANCHORS_PER_IMAGE - + np.sum(rpn_match == 1)) + if extra > 0: + # Rest the extra ones to neutral + ids = np.random.choice(ids, extra, replace=False) + rpn_match[ids] = 0 + + # For positive anchors, compute shift and scale needed to transform them + # to match the corresponding GT boxes. + ids = np.where(rpn_match == 1)[0] + ix = 0 # index into rpn_bbox + # TODO: use box_refinement() rather than duplicating the code here + for i, a in zip(ids, anchors[ids]): + # Closest gt box (it might have IoU < 0.7) + gt = gt_boxes[anchor_iou_argmax[i]] + + # Convert coordinates to center plus width/height. + # GT Box + gt_h = gt[2] - gt[0] + gt_w = gt[3] - gt[1] + gt_center_y = gt[0] + 0.5 * gt_h + gt_center_x = gt[1] + 0.5 * gt_w + # Anchor + a_h = a[2] - a[0] + a_w = a[3] - a[1] + a_center_y = a[0] + 0.5 * a_h + a_center_x = a[1] + 0.5 * a_w + + # Compute the bbox refinement that the RPN should predict. + rpn_bbox[ix] = [ + (gt_center_y - a_center_y) / a_h, + (gt_center_x - a_center_x) / a_w, + np.log(gt_h / a_h), + np.log(gt_w / a_w), + ] + # Normalize + rpn_bbox[ix] /= config.RPN_BBOX_STD_DEV + ix += 1 + + return rpn_match, rpn_bbox + + +def generate_random_rois(image_shape, count, gt_class_ids, gt_boxes): + """Generates ROI proposals similar to what a region proposal network + would generate. + + image_shape: [Height, Width, Depth] + count: Number of ROIs to generate + gt_class_ids: [N] Integer ground truth class IDs + gt_boxes: [N, (y1, x1, y2, x2)] Ground truth boxes in pixels. + + Returns: [count, (y1, x1, y2, x2)] ROI boxes in pixels. + """ + # placeholder + rois = np.zeros((count, 4), dtype=np.int32) + + # Generate random ROIs around GT boxes (90% of count) + rois_per_box = int(0.9 * count / gt_boxes.shape[0]) + for i in range(gt_boxes.shape[0]): + gt_y1, gt_x1, gt_y2, gt_x2 = gt_boxes[i] + h = gt_y2 - gt_y1 + w = gt_x2 - gt_x1 + # random boundaries + r_y1 = max(gt_y1 - h, 0) + r_y2 = min(gt_y2 + h, image_shape[0]) + r_x1 = max(gt_x1 - w, 0) + r_x2 = min(gt_x2 + w, image_shape[1]) + + # To avoid generating boxes with zero area, we generate double what + # we need and filter out the extra. If we get fewer valid boxes + # than we need, we loop and try again. + while True: + y1y2 = np.random.randint(r_y1, r_y2, (rois_per_box * 2, 2)) + x1x2 = np.random.randint(r_x1, r_x2, (rois_per_box * 2, 2)) + # Filter out zero area boxes + threshold = 1 + y1y2 = y1y2[np.abs(y1y2[:, 0] - y1y2[:, 1]) >= + threshold][:rois_per_box] + x1x2 = x1x2[np.abs(x1x2[:, 0] - x1x2[:, 1]) >= + threshold][:rois_per_box] + if y1y2.shape[0] == rois_per_box and x1x2.shape[0] == rois_per_box: + break + + # Sort on axis 1 to ensure x1 <= x2 and y1 <= y2 and then reshape + # into x1, y1, x2, y2 order + x1, x2 = np.split(np.sort(x1x2, axis=1), 2, axis=1) + y1, y2 = np.split(np.sort(y1y2, axis=1), 2, axis=1) + box_rois = np.hstack([y1, x1, y2, x2]) + rois[rois_per_box * i:rois_per_box * (i + 1)] = box_rois + + # Generate random ROIs anywhere in the image (10% of count) + remaining_count = count - (rois_per_box * gt_boxes.shape[0]) + # To avoid generating boxes with zero area, we generate double what + # we need and filter out the extra. If we get fewer valid boxes + # than we need, we loop and try again. + while True: + y1y2 = np.random.randint(0, image_shape[0], (remaining_count * 2, 2)) + x1x2 = np.random.randint(0, image_shape[1], (remaining_count * 2, 2)) + # Filter out zero area boxes + threshold = 1 + y1y2 = y1y2[np.abs(y1y2[:, 0] - y1y2[:, 1]) >= + threshold][:remaining_count] + x1x2 = x1x2[np.abs(x1x2[:, 0] - x1x2[:, 1]) >= + threshold][:remaining_count] + if y1y2.shape[0] == remaining_count and x1x2.shape[0] == remaining_count: + break + + # Sort on axis 1 to ensure x1 <= x2 and y1 <= y2 and then reshape + # into x1, y1, x2, y2 order + x1, x2 = np.split(np.sort(x1x2, axis=1), 2, axis=1) + y1, y2 = np.split(np.sort(y1y2, axis=1), 2, axis=1) + global_rois = np.hstack([y1, x1, y2, x2]) + rois[-remaining_count:] = global_rois + return rois + + +def data_generator(dataset, config, shuffle=True, augment=False, augmentation=None, + random_rois=0, batch_size=1, detection_targets=False, + no_augmentation_sources=None): + """A generator that returns images and corresponding target class ids, + bounding box deltas, and masks. + + dataset: The Dataset object to pick data from + config: The model config object + shuffle: If True, shuffles the samples before every epoch + augment: (deprecated. Use augmentation instead). If true, apply random + image augmentation. Currently, only horizontal flipping is offered. + augmentation: Optional. An imgaug (https://github.com/aleju/imgaug) augmentation. + For example, passing imgaug.augmenters.Fliplr(0.5) flips images + right/left 50% of the time. + random_rois: If > 0 then generate proposals to be used to train the + network classifier and mask heads. Useful if training + the Mask RCNN part without the RPN. + batch_size: How many images to return in each call + detection_targets: If True, generate detection targets (class IDs, bbox + deltas, and masks). Typically for debugging or visualizations because + in trainig detection targets are generated by DetectionTargetLayer. + no_augmentation_sources: Optional. List of sources to exclude for + augmentation. A source is string that identifies a dataset and is + defined in the Dataset class. + + Returns a Python generator. Upon calling next() on it, the + generator returns two lists, inputs and outputs. The contents + of the lists differs depending on the received arguments: + inputs list: + - images: [batch, H, W, C] + - image_meta: [batch, (meta data)] Image details. See compose_image_meta() + - rpn_match: [batch, N] Integer (1=positive anchor, -1=negative, 0=neutral) + - rpn_bbox: [batch, N, (dy, dx, log(dh), log(dw))] Anchor bbox deltas. + - gt_class_ids: [batch, MAX_GT_INSTANCES] Integer class IDs + - gt_boxes: [batch, MAX_GT_INSTANCES, (y1, x1, y2, x2)] + - gt_masks: [batch, height, width, MAX_GT_INSTANCES]. The height and width + are those of the image unless use_mini_mask is True, in which + case they are defined in MINI_MASK_SHAPE. + + outputs list: Usually empty in regular training. But if detection_targets + is True then the outputs list contains target class_ids, bbox deltas, + and masks. + """ + b = 0 # batch item index + image_index = -1 + image_ids = np.copy(dataset.image_ids) + error_count = 0 + no_augmentation_sources = no_augmentation_sources or [] + + # Anchors + # [anchor_count, (y1, x1, y2, x2)] + backbone_shapes = compute_backbone_shapes(config, config.IMAGE_SHAPE) + anchors = utils.generate_pyramid_anchors(config.RPN_ANCHOR_SCALES, + config.RPN_ANCHOR_RATIOS, + backbone_shapes, + config.BACKBONE_STRIDES, + config.RPN_ANCHOR_STRIDE) + + # Keras requires a generator to run indefinitely. + while True: + try: + # Increment index to pick next image. Shuffle if at the start of an epoch. + image_index = (image_index + 1) % len(image_ids) + if shuffle and image_index == 0: + np.random.shuffle(image_ids) + + # Get GT bounding boxes and masks for image. + image_id = image_ids[image_index] + + # If the image source is not to be augmented pass None as augmentation + if dataset.image_info[image_id]['source'] in no_augmentation_sources: + image, image_meta, gt_class_ids, gt_boxes, gt_masks = \ + load_image_gt(dataset, config, image_id, augment=augment, + augmentation=None, + use_mini_mask=config.USE_MINI_MASK) + else: + image, image_meta, gt_class_ids, gt_boxes, gt_masks = \ + load_image_gt(dataset, config, image_id, augment=augment, + augmentation=augmentation, + use_mini_mask=config.USE_MINI_MASK) + + # Skip images that have no instances. This can happen in cases + # where we train on a subset of classes and the image doesn't + # have any of the classes we care about. + if not np.any(gt_class_ids > 0): + continue + + # RPN Targets + rpn_match, rpn_bbox = build_rpn_targets(image.shape, anchors, + gt_class_ids, gt_boxes, config) + + # Mask R-CNN Targets + if random_rois: + rpn_rois = generate_random_rois( + image.shape, random_rois, gt_class_ids, gt_boxes) + if detection_targets: + rois, mrcnn_class_ids, mrcnn_bbox, mrcnn_mask =\ + build_detection_targets( + rpn_rois, gt_class_ids, gt_boxes, gt_masks, config) + + # Init batch arrays + if b == 0: + batch_image_meta = np.zeros( + (batch_size,) + image_meta.shape, dtype=image_meta.dtype) + batch_rpn_match = np.zeros( + [batch_size, anchors.shape[0], 1], dtype=rpn_match.dtype) + batch_rpn_bbox = np.zeros( + [batch_size, config.RPN_TRAIN_ANCHORS_PER_IMAGE, 4], dtype=rpn_bbox.dtype) + batch_images = np.zeros( + (batch_size,) + image.shape, dtype=np.float32) + batch_gt_class_ids = np.zeros( + (batch_size, config.MAX_GT_INSTANCES), dtype=np.int32) + batch_gt_boxes = np.zeros( + (batch_size, config.MAX_GT_INSTANCES, 4), dtype=np.int32) + batch_gt_masks = np.zeros( + (batch_size, gt_masks.shape[0], gt_masks.shape[1], + config.MAX_GT_INSTANCES), dtype=gt_masks.dtype) + if random_rois: + batch_rpn_rois = np.zeros( + (batch_size, rpn_rois.shape[0], 4), dtype=rpn_rois.dtype) + if detection_targets: + batch_rois = np.zeros( + (batch_size,) + rois.shape, dtype=rois.dtype) + batch_mrcnn_class_ids = np.zeros( + (batch_size,) + mrcnn_class_ids.shape, dtype=mrcnn_class_ids.dtype) + batch_mrcnn_bbox = np.zeros( + (batch_size,) + mrcnn_bbox.shape, dtype=mrcnn_bbox.dtype) + batch_mrcnn_mask = np.zeros( + (batch_size,) + mrcnn_mask.shape, dtype=mrcnn_mask.dtype) + + # If more instances than fits in the array, sub-sample from them. + if gt_boxes.shape[0] > config.MAX_GT_INSTANCES: + ids = np.random.choice( + np.arange(gt_boxes.shape[0]), config.MAX_GT_INSTANCES, replace=False) + gt_class_ids = gt_class_ids[ids] + gt_boxes = gt_boxes[ids] + gt_masks = gt_masks[:, :, ids] + + # Add to batch + batch_image_meta[b] = image_meta + batch_rpn_match[b] = rpn_match[:, np.newaxis] + batch_rpn_bbox[b] = rpn_bbox + batch_images[b] = mold_image(image.astype(np.float32), config) + batch_gt_class_ids[b, :gt_class_ids.shape[0]] = gt_class_ids + batch_gt_boxes[b, :gt_boxes.shape[0]] = gt_boxes + batch_gt_masks[b, :, :, :gt_masks.shape[-1]] = gt_masks + if random_rois: + batch_rpn_rois[b] = rpn_rois + if detection_targets: + batch_rois[b] = rois + batch_mrcnn_class_ids[b] = mrcnn_class_ids + batch_mrcnn_bbox[b] = mrcnn_bbox + batch_mrcnn_mask[b] = mrcnn_mask + b += 1 + + # Batch full? + if b >= batch_size: + inputs = [batch_images, batch_image_meta, batch_rpn_match, batch_rpn_bbox, + batch_gt_class_ids, batch_gt_boxes, batch_gt_masks] + outputs = [] + + if random_rois: + inputs.extend([batch_rpn_rois]) + if detection_targets: + inputs.extend([batch_rois]) + # Keras requires that output and targets have the same number of dimensions + batch_mrcnn_class_ids = np.expand_dims( + batch_mrcnn_class_ids, -1) + outputs.extend( + [batch_mrcnn_class_ids, batch_mrcnn_bbox, batch_mrcnn_mask]) + + yield inputs, outputs + + # start a new batch + b = 0 + except (GeneratorExit, KeyboardInterrupt): + raise + except: + # Log it and skip the image + logging.exception("Error processing image {}".format( + dataset.image_info[image_id])) + error_count += 1 + if error_count > 5: + raise + + +############################################################ +# MaskRCNN Class +############################################################ + +class MaskRCNN(): + """Encapsulates the Mask RCNN model functionality. + + The actual Keras model is in the keras_model property. + """ + + def __init__(self, mode, config, model_dir): + """ + mode: Either "training" or "inference" + config: A Sub-class of the Config class + model_dir: Directory to save training logs and trained weights + """ + assert mode in ['training', 'inference'] + self.mode = mode + self.config = config + self.model_dir = model_dir + self.set_log_dir() + self.keras_model = self.build(mode=mode, config=config) + + def build(self, mode, config): + """Build Mask R-CNN architecture. + input_shape: The shape of the input image. + mode: Either "training" or "inference". The inputs and + outputs of the model differ accordingly. + """ + assert mode in ['training', 'inference'] + + # Image size must be dividable by 2 multiple times + h, w = config.IMAGE_SHAPE[:2] + if h / 2**6 != int(h / 2**6) or w / 2**6 != int(w / 2**6): + raise Exception("Image size must be dividable by 2 at least 6 times " + "to avoid fractions when downscaling and upscaling." + "For example, use 256, 320, 384, 448, 512, ... etc. ") + + # Inputs + input_image = KL.Input( + shape=[None, None, config.IMAGE_SHAPE[2]], name="input_image") + input_image_meta = KL.Input(shape=[None], + name="input_image_meta") + if mode == "training": + # RPN GT + input_rpn_match = KL.Input( + shape=[None, 1], name="input_rpn_match", dtype=tf.int32) + input_rpn_bbox = KL.Input( + shape=[None, 4], name="input_rpn_bbox", dtype=tf.float32) + + # Detection GT (class IDs, bounding boxes, and masks) + # 1. GT Class IDs (zero padded) + input_gt_class_ids = KL.Input( + shape=[None], name="input_gt_class_ids", dtype=tf.int32) + # 2. GT Boxes in pixels (zero padded) + # [batch, MAX_GT_INSTANCES, (y1, x1, y2, x2)] in image coordinates + input_gt_boxes = KL.Input( + shape=[None, 4], name="input_gt_boxes", dtype=tf.float32) + # Normalize coordinates + gt_boxes = KL.Lambda(lambda x: norm_boxes_graph( + x, K.shape(input_image)[1:3]))(input_gt_boxes) + # 3. GT Masks (zero padded) + # [batch, height, width, MAX_GT_INSTANCES] + if config.USE_MINI_MASK: + input_gt_masks = KL.Input( + shape=[config.MINI_MASK_SHAPE[0], + config.MINI_MASK_SHAPE[1], None], + name="input_gt_masks", dtype=bool) + else: + input_gt_masks = KL.Input( + shape=[config.IMAGE_SHAPE[0], config.IMAGE_SHAPE[1], None], + name="input_gt_masks", dtype=bool) + elif mode == "inference": + # Anchors in normalized coordinates + input_anchors = KL.Input(shape=[None, 4], name="input_anchors") + + # Build the shared convolutional layers. + # Bottom-up Layers + # Returns a list of the last layers of each stage, 5 in total. + # Don't create the thead (stage 5), so we pick the 4th item in the list. + if callable(config.BACKBONE): + _, C2, C3, C4, C5 = config.BACKBONE(input_image, stage5=True, + train_bn=config.TRAIN_BN) + else: + _, C2, C3, C4, C5 = resnet_graph(input_image, config.BACKBONE, + stage5=True, train_bn=config.TRAIN_BN) + # Top-down Layers + # TODO: add assert to varify feature map sizes match what's in config + P5 = KL.Conv2D(config.TOP_DOWN_PYRAMID_SIZE, (1, 1), name='fpn_c5p5')(C5) + P4 = KL.Add(name="fpn_p4add")([ + KL.UpSampling2D(size=(2, 2), name="fpn_p5upsampled")(P5), + KL.Conv2D(config.TOP_DOWN_PYRAMID_SIZE, (1, 1), name='fpn_c4p4')(C4)]) + P3 = KL.Add(name="fpn_p3add")([ + KL.UpSampling2D(size=(2, 2), name="fpn_p4upsampled")(P4), + KL.Conv2D(config.TOP_DOWN_PYRAMID_SIZE, (1, 1), name='fpn_c3p3')(C3)]) + P2 = KL.Add(name="fpn_p2add")([ + KL.UpSampling2D(size=(2, 2), name="fpn_p3upsampled")(P3), + KL.Conv2D(config.TOP_DOWN_PYRAMID_SIZE, (1, 1), name='fpn_c2p2')(C2)]) + # Attach 3x3 conv to all P layers to get the final feature maps. + P2 = KL.Conv2D(config.TOP_DOWN_PYRAMID_SIZE, (3, 3), padding="SAME", name="fpn_p2")(P2) + P3 = KL.Conv2D(config.TOP_DOWN_PYRAMID_SIZE, (3, 3), padding="SAME", name="fpn_p3")(P3) + P4 = KL.Conv2D(config.TOP_DOWN_PYRAMID_SIZE, (3, 3), padding="SAME", name="fpn_p4")(P4) + P5 = KL.Conv2D(config.TOP_DOWN_PYRAMID_SIZE, (3, 3), padding="SAME", name="fpn_p5")(P5) + # P6 is used for the 5th anchor scale in RPN. Generated by + # subsampling from P5 with stride of 2. + P6 = KL.MaxPooling2D(pool_size=(1, 1), strides=2, name="fpn_p6")(P5) + + # Note that P6 is used in RPN, but not in the classifier heads. + rpn_feature_maps = [P2, P3, P4, P5, P6] + mrcnn_feature_maps = [P2, P3, P4, P5] + + # Anchors + if mode == "training": + anchors = self.get_anchors(config.IMAGE_SHAPE) + # Duplicate across the batch dimension because Keras requires it + # TODO: can this be optimized to avoid duplicating the anchors? + anchors = np.broadcast_to(anchors, (config.BATCH_SIZE,) + anchors.shape) + # A hack to get around Keras's bad support for constants + anchors = KL.Lambda(lambda x: tf.Variable(anchors), name="anchors")(input_image) + else: + anchors = input_anchors + + # RPN Model + rpn = build_rpn_model(config.RPN_ANCHOR_STRIDE, + len(config.RPN_ANCHOR_RATIOS), config.TOP_DOWN_PYRAMID_SIZE) + # Loop through pyramid layers + layer_outputs = [] # list of lists + for p in rpn_feature_maps: + layer_outputs.append(rpn([p])) + # Concatenate layer outputs + # Convert from list of lists of level outputs to list of lists + # of outputs across levels. + # e.g. [[a1, b1, c1], [a2, b2, c2]] => [[a1, a2], [b1, b2], [c1, c2]] + output_names = ["rpn_class_logits", "rpn_class", "rpn_bbox"] + outputs = list(zip(*layer_outputs)) + outputs = [KL.Concatenate(axis=1, name=n)(list(o)) + for o, n in zip(outputs, output_names)] + + rpn_class_logits, rpn_class, rpn_bbox = outputs + + # Generate proposals + # Proposals are [batch, N, (y1, x1, y2, x2)] in normalized coordinates + # and zero padded. + proposal_count = config.POST_NMS_ROIS_TRAINING if mode == "training"\ + else config.POST_NMS_ROIS_INFERENCE + rpn_rois = ProposalLayer( + proposal_count=proposal_count, + nms_threshold=config.RPN_NMS_THRESHOLD, + name="ROI", + config=config)([rpn_class, rpn_bbox, anchors]) + + if mode == "training": + # Class ID mask to mark class IDs supported by the dataset the image + # came from. + active_class_ids = KL.Lambda( + lambda x: parse_image_meta_graph(x)["active_class_ids"] + )(input_image_meta) + + if not config.USE_RPN_ROIS: + # Ignore predicted ROIs and use ROIs provided as an input. + input_rois = KL.Input(shape=[config.POST_NMS_ROIS_TRAINING, 4], + name="input_roi", dtype=np.int32) + # Normalize coordinates + target_rois = KL.Lambda(lambda x: norm_boxes_graph( + x, K.shape(input_image)[1:3]))(input_rois) + else: + target_rois = rpn_rois + + # Generate detection targets + # Subsamples proposals and generates target outputs for training + # Note that proposal class IDs, gt_boxes, and gt_masks are zero + # padded. Equally, returned rois and targets are zero padded. + rois, target_class_ids, target_bbox, target_mask =\ + DetectionTargetLayer(config, name="proposal_targets")([ + target_rois, input_gt_class_ids, gt_boxes, input_gt_masks]) + + # Network Heads + # TODO: verify that this handles zero padded ROIs + mrcnn_class_logits, mrcnn_class, mrcnn_bbox =\ + fpn_classifier_graph(rois, mrcnn_feature_maps, input_image_meta, + config.POOL_SIZE, config.NUM_CLASSES, + train_bn=config.TRAIN_BN, + fc_layers_size=config.FPN_CLASSIF_FC_LAYERS_SIZE) + + mrcnn_mask = build_fpn_mask_graph(rois, mrcnn_feature_maps, + input_image_meta, + config.MASK_POOL_SIZE, + config.NUM_CLASSES, + train_bn=config.TRAIN_BN) + + # TODO: clean up (use tf.identify if necessary) + output_rois = KL.Lambda(lambda x: x * 1, name="output_rois")(rois) + + # Losses + rpn_class_loss = KL.Lambda(lambda x: rpn_class_loss_graph(*x), name="rpn_class_loss")( + [input_rpn_match, rpn_class_logits]) + rpn_bbox_loss = KL.Lambda(lambda x: rpn_bbox_loss_graph(config, *x), name="rpn_bbox_loss")( + [input_rpn_bbox, input_rpn_match, rpn_bbox]) + class_loss = KL.Lambda(lambda x: mrcnn_class_loss_graph(*x), name="mrcnn_class_loss")( + [target_class_ids, mrcnn_class_logits, active_class_ids]) + bbox_loss = KL.Lambda(lambda x: mrcnn_bbox_loss_graph(*x), name="mrcnn_bbox_loss")( + [target_bbox, target_class_ids, mrcnn_bbox]) + mask_loss = KL.Lambda(lambda x: mrcnn_mask_loss_graph(*x), name="mrcnn_mask_loss")( + [target_mask, target_class_ids, mrcnn_mask]) + + # Model + inputs = [input_image, input_image_meta, + input_rpn_match, input_rpn_bbox, input_gt_class_ids, input_gt_boxes, input_gt_masks] + if not config.USE_RPN_ROIS: + inputs.append(input_rois) + outputs = [rpn_class_logits, rpn_class, rpn_bbox, + mrcnn_class_logits, mrcnn_class, mrcnn_bbox, mrcnn_mask, + rpn_rois, output_rois, + rpn_class_loss, rpn_bbox_loss, class_loss, bbox_loss, mask_loss] + model = KM.Model(inputs, outputs, name='mask_rcnn') + else: + # Network Heads + # Proposal classifier and BBox regressor heads + mrcnn_class_logits, mrcnn_class, mrcnn_bbox =\ + fpn_classifier_graph(rpn_rois, mrcnn_feature_maps, input_image_meta, + config.POOL_SIZE, config.NUM_CLASSES, + train_bn=config.TRAIN_BN, + fc_layers_size=config.FPN_CLASSIF_FC_LAYERS_SIZE) + + # Detections + # output is [batch, num_detections, (y1, x1, y2, x2, class_id, score)] in + # normalized coordinates + detections = DetectionLayer(config, name="mrcnn_detection")( + [rpn_rois, mrcnn_class, mrcnn_bbox, input_image_meta]) + + # Create masks for detections + detection_boxes = KL.Lambda(lambda x: x[..., :4])(detections) + mrcnn_mask = build_fpn_mask_graph(detection_boxes, mrcnn_feature_maps, + input_image_meta, + config.MASK_POOL_SIZE, + config.NUM_CLASSES, + train_bn=config.TRAIN_BN) + + model = KM.Model([input_image, input_image_meta, input_anchors], + [detections, mrcnn_class, mrcnn_bbox, + mrcnn_mask, rpn_rois, rpn_class, rpn_bbox], + name='mask_rcnn') + + # Add multi-GPU support. + if config.GPU_COUNT > 1: + from mrcnn.parallel_model import ParallelModel + model = ParallelModel(model, config.GPU_COUNT) + + return model + + def find_last(self): + """Finds the last checkpoint file of the last trained model in the + model directory. + Returns: + The path of the last checkpoint file + """ + # Get directory names. Each directory corresponds to a model + dir_names = next(os.walk(self.model_dir))[1] + key = self.config.NAME.lower() + dir_names = filter(lambda f: f.startswith(key), dir_names) + dir_names = sorted(dir_names) + if not dir_names: + import errno + raise FileNotFoundError( + errno.ENOENT, + "Could not find model directory under {}".format(self.model_dir)) + # Pick last directory + dir_name = os.path.join(self.model_dir, dir_names[-1]) + # Find the last checkpoint + checkpoints = next(os.walk(dir_name))[2] + checkpoints = filter(lambda f: f.startswith("mask_rcnn"), checkpoints) + checkpoints = sorted(checkpoints) + if not checkpoints: + import errno + raise FileNotFoundError( + errno.ENOENT, "Could not find weight files in {}".format(dir_name)) + checkpoint = os.path.join(dir_name, checkpoints[-1]) + return checkpoint + + def load_weights(self, filepath, by_name=False, exclude=None): + """Modified version of the corresponding Keras function with + the addition of multi-GPU support and the ability to exclude + some layers from loading. + exclude: list of layer names to exclude + """ + import h5py + # Conditional import to support versions of Keras before 2.2 + # TODO: remove in about 6 months (end of 2018) + try: + from keras.engine import saving + except ImportError: + # Keras before 2.2 used the 'topology' namespace. + from keras.engine import topology as saving + + if exclude: + by_name = True + + if h5py is None: + raise ImportError('`load_weights` requires h5py.') + f = h5py.File(filepath, mode='r') + if 'layer_names' not in f.attrs and 'model_weights' in f: + f = f['model_weights'] + + # In multi-GPU training, we wrap the model. Get layers + # of the inner model because they have the weights. + keras_model = self.keras_model + layers = keras_model.inner_model.layers if hasattr(keras_model, "inner_model")\ + else keras_model.layers + + # Exclude some layers + if exclude: + layers = filter(lambda l: l.name not in exclude, layers) + + if by_name: + saving.load_weights_from_hdf5_group_by_name(f, layers) + else: + saving.load_weights_from_hdf5_group(f, layers) + if hasattr(f, 'close'): + f.close() + + # Update the log directory + self.set_log_dir(filepath) + + def get_imagenet_weights(self): + """Downloads ImageNet trained weights from Keras. + Returns path to weights file. + """ + from keras.utils.data_utils import get_file + TF_WEIGHTS_PATH_NO_TOP = 'https://github.com/fchollet/deep-learning-models/'\ + 'releases/download/v0.2/'\ + 'resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5' + weights_path = get_file('resnet50_weights_tf_dim_ordering_tf_kernels_notop.h5', + TF_WEIGHTS_PATH_NO_TOP, + cache_subdir='models', + md5_hash='a268eb855778b3df3c7506639542a6af') + return weights_path + + def compile(self, learning_rate, momentum): + """Gets the model ready for training. Adds losses, regularization, and + metrics. Then calls the Keras compile() function. + """ + # Optimizer object + optimizer = keras.optimizers.SGD( + lr=learning_rate, momentum=momentum, + clipnorm=self.config.GRADIENT_CLIP_NORM) + # Add Losses + # First, clear previously set losses to avoid duplication + self.keras_model._losses = [] + self.keras_model._per_input_losses = {} + loss_names = [ + "rpn_class_loss", "rpn_bbox_loss", + "mrcnn_class_loss", "mrcnn_bbox_loss", "mrcnn_mask_loss"] + for name in loss_names: + layer = self.keras_model.get_layer(name) + if layer.output in self.keras_model.losses: + continue + loss = ( + tf.reduce_mean(layer.output, keepdims=True) + * self.config.LOSS_WEIGHTS.get(name, 1.)) + self.keras_model.add_loss(loss) + + # Add L2 Regularization + # Skip gamma and beta weights of batch normalization layers. + reg_losses = [ + keras.regularizers.l2(self.config.WEIGHT_DECAY)(w) / tf.cast(tf.size(w), tf.float32) + for w in self.keras_model.trainable_weights + if 'gamma' not in w.name and 'beta' not in w.name] + self.keras_model.add_loss(tf.add_n(reg_losses)) + + # Compile + self.keras_model.compile( + optimizer=optimizer, + loss=[None] * len(self.keras_model.outputs)) + + # Add metrics for losses + for name in loss_names: + if name in self.keras_model.metrics_names: + continue + layer = self.keras_model.get_layer(name) + self.keras_model.metrics_names.append(name) + loss = ( + tf.reduce_mean(layer.output, keepdims=True) + * self.config.LOSS_WEIGHTS.get(name, 1.)) + self.keras_model.metrics_tensors.append(loss) + + def set_trainable(self, layer_regex, keras_model=None, indent=0, verbose=1): + """Sets model layers as trainable if their names match + the given regular expression. + """ + # Print message on the first call (but not on recursive calls) + if verbose > 0 and keras_model is None: + log("Selecting layers to train") + + keras_model = keras_model or self.keras_model + + # In multi-GPU training, we wrap the model. Get layers + # of the inner model because they have the weights. + layers = keras_model.inner_model.layers if hasattr(keras_model, "inner_model")\ + else keras_model.layers + + for layer in layers: + # Is the layer a model? + if layer.__class__.__name__ == 'Model': + print("In model: ", layer.name) + self.set_trainable( + layer_regex, keras_model=layer, indent=indent + 4) + continue + + if not layer.weights: + continue + # Is it trainable? + trainable = bool(re.fullmatch(layer_regex, layer.name)) + # Update layer. If layer is a container, update inner layer. + if layer.__class__.__name__ == 'TimeDistributed': + layer.layer.trainable = trainable + else: + layer.trainable = trainable + # Print trainable layer names + if trainable and verbose > 0: + log("{}{:20} ({})".format(" " * indent, layer.name, + layer.__class__.__name__)) + + def set_log_dir(self, model_path=None): + """Sets the model log directory and epoch counter. + + model_path: If None, or a format different from what this code uses + then set a new log directory and start epochs from 0. Otherwise, + extract the log directory and the epoch counter from the file + name. + """ + # Set date and epoch counter as if starting a new model + self.epoch = 0 + now = datetime.datetime.now() + + # If we have a model path with date and epochs use them + if model_path: + # Continue from we left of. Get epoch and date from the file name + # A sample model path might look like: + # \path\to\logs\coco20171029T2315\mask_rcnn_coco_0001.h5 (Windows) + # /path/to/logs/coco20171029T2315/mask_rcnn_coco_0001.h5 (Linux) + regex = r".*[/\\][\w-]+(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})[/\\]mask\_rcnn\_[\w-]+(\d{4})\.h5" + m = re.match(regex, model_path) + if m: + now = datetime.datetime(int(m.group(1)), int(m.group(2)), int(m.group(3)), + int(m.group(4)), int(m.group(5))) + # Epoch number in file is 1-based, and in Keras code it's 0-based. + # So, adjust for that then increment by one to start from the next epoch + self.epoch = int(m.group(6)) - 1 + 1 + print('Re-starting from epoch %d' % self.epoch) + + # Directory for training logs + self.log_dir = os.path.join(self.model_dir, "{}{:%Y%m%dT%H%M}".format( + self.config.NAME.lower(), now)) + + # Path to save after each epoch. Include placeholders that get filled by Keras. + self.checkpoint_path = os.path.join(self.log_dir, "mask_rcnn_{}_*epoch*.h5".format( + self.config.NAME.lower())) + self.checkpoint_path = self.checkpoint_path.replace( + "*epoch*", "{epoch:04d}") + + def train(self, train_dataset, val_dataset, learning_rate, epochs, layers, + augmentation=None, custom_callbacks=None, no_augmentation_sources=None): + """Train the model. + train_dataset, val_dataset: Training and validation Dataset objects. + learning_rate: The learning rate to train with + epochs: Number of training epochs. Note that previous training epochs + are considered to be done alreay, so this actually determines + the epochs to train in total rather than in this particaular + call. + layers: Allows selecting wich layers to train. It can be: + - A regular expression to match layer names to train + - One of these predefined values: + heads: The RPN, classifier and mask heads of the network + all: All the layers + 3+: Train Resnet stage 3 and up + 4+: Train Resnet stage 4 and up + 5+: Train Resnet stage 5 and up + augmentation: Optional. An imgaug (https://github.com/aleju/imgaug) + augmentation. For example, passing imgaug.augmenters.Fliplr(0.5) + flips images right/left 50% of the time. You can pass complex + augmentations as well. This augmentation applies 50% of the + time, and when it does it flips images right/left half the time + and adds a Gaussian blur with a random sigma in range 0 to 5. + + augmentation = imgaug.augmenters.Sometimes(0.5, [ + imgaug.augmenters.Fliplr(0.5), + imgaug.augmenters.GaussianBlur(sigma=(0.0, 5.0)) + ]) + custom_callbacks: Optional. Add custom callbacks to be called + with the keras fit_generator method. Must be list of type keras.callbacks. + no_augmentation_sources: Optional. List of sources to exclude for + augmentation. A source is string that identifies a dataset and is + defined in the Dataset class. + """ + assert self.mode == "training", "Create model in training mode." + + # Pre-defined layer regular expressions + layer_regex = { + # all layers but the backbone + "heads": r"(mrcnn\_.*)|(rpn\_.*)|(fpn\_.*)", + # From a specific Resnet stage and up + "3+": r"(res3.*)|(bn3.*)|(res4.*)|(bn4.*)|(res5.*)|(bn5.*)|(mrcnn\_.*)|(rpn\_.*)|(fpn\_.*)", + "4+": r"(res4.*)|(bn4.*)|(res5.*)|(bn5.*)|(mrcnn\_.*)|(rpn\_.*)|(fpn\_.*)", + "5+": r"(res5.*)|(bn5.*)|(mrcnn\_.*)|(rpn\_.*)|(fpn\_.*)", + # All layers + "all": ".*", + } + if layers in layer_regex.keys(): + layers = layer_regex[layers] + + # Data generators + train_generator = data_generator(train_dataset, self.config, shuffle=True, + augmentation=augmentation, + batch_size=self.config.BATCH_SIZE, + no_augmentation_sources=no_augmentation_sources) + val_generator = data_generator(val_dataset, self.config, shuffle=True, + batch_size=self.config.BATCH_SIZE) + + # Create log_dir if it does not exist + if not os.path.exists(self.log_dir): + os.makedirs(self.log_dir) + + # Callbacks + callbacks = [ + keras.callbacks.TensorBoard(log_dir=self.log_dir, + histogram_freq=0, write_graph=True, write_images=False), + keras.callbacks.ModelCheckpoint(self.checkpoint_path, + verbose=0, save_weights_only=True), + ] + + # Add custom callbacks to the list + if custom_callbacks: + callbacks += custom_callbacks + + # Train + log("\nStarting at epoch {}. LR={}\n".format(self.epoch, learning_rate)) + log("Checkpoint Path: {}".format(self.checkpoint_path)) + self.set_trainable(layers) + self.compile(learning_rate, self.config.LEARNING_MOMENTUM) + + # Work-around for Windows: Keras fails on Windows when using + # multiprocessing workers. See discussion here: + # https://github.com/matterport/Mask_RCNN/issues/13#issuecomment-353124009 + if os.name is 'nt': + workers = 0 + else: + workers = multiprocessing.cpu_count() + + self.keras_model.fit_generator( + train_generator, + initial_epoch=self.epoch, + epochs=epochs, + steps_per_epoch=self.config.STEPS_PER_EPOCH, + callbacks=callbacks, + validation_data=val_generator, + validation_steps=self.config.VALIDATION_STEPS, + max_queue_size=100, + workers=workers, + use_multiprocessing=True, + ) + self.epoch = max(self.epoch, epochs) + + def mold_inputs(self, images): + """Takes a list of images and modifies them to the format expected + as an input to the neural network. + images: List of image matrices [height,width,depth]. Images can have + different sizes. + + Returns 3 Numpy matrices: + molded_images: [N, h, w, 3]. Images resized and normalized. + image_metas: [N, length of meta data]. Details about each image. + windows: [N, (y1, x1, y2, x2)]. The portion of the image that has the + original image (padding excluded). + """ + molded_images = [] + image_metas = [] + windows = [] + for image in images: + # Resize image + # TODO: move resizing to mold_image() + molded_image, window, scale, padding, crop = utils.resize_image( + image, + min_dim=self.config.IMAGE_MIN_DIM, + min_scale=self.config.IMAGE_MIN_SCALE, + max_dim=self.config.IMAGE_MAX_DIM, + mode=self.config.IMAGE_RESIZE_MODE) + molded_image = mold_image(molded_image, self.config) + # Build image_meta + image_meta = compose_image_meta( + 0, image.shape, molded_image.shape, window, scale, + np.zeros([self.config.NUM_CLASSES], dtype=np.int32)) + # Append + molded_images.append(molded_image) + windows.append(window) + image_metas.append(image_meta) + # Pack into arrays + molded_images = np.stack(molded_images) + image_metas = np.stack(image_metas) + windows = np.stack(windows) + return molded_images, image_metas, windows + + def unmold_detections(self, detections, mrcnn_mask, original_image_shape, + image_shape, window): + """Reformats the detections of one image from the format of the neural + network output to a format suitable for use in the rest of the + application. + + detections: [N, (y1, x1, y2, x2, class_id, score)] in normalized coordinates + mrcnn_mask: [N, height, width, num_classes] + original_image_shape: [H, W, C] Original image shape before resizing + image_shape: [H, W, C] Shape of the image after resizing and padding + window: [y1, x1, y2, x2] Pixel coordinates of box in the image where the real + image is excluding the padding. + + Returns: + boxes: [N, (y1, x1, y2, x2)] Bounding boxes in pixels + class_ids: [N] Integer class IDs for each bounding box + scores: [N] Float probability scores of the class_id + masks: [height, width, num_instances] Instance masks + """ + # How many detections do we have? + # Detections array is padded with zeros. Find the first class_id == 0. + zero_ix = np.where(detections[:, 4] == 0)[0] + N = zero_ix[0] if zero_ix.shape[0] > 0 else detections.shape[0] + + # Extract boxes, class_ids, scores, and class-specific masks + boxes = detections[:N, :4] + class_ids = detections[:N, 4].astype(np.int32) + scores = detections[:N, 5] + masks = mrcnn_mask[np.arange(N), :, :, class_ids] + + # Translate normalized coordinates in the resized image to pixel + # coordinates in the original image before resizing + window = utils.norm_boxes(window, image_shape[:2]) + wy1, wx1, wy2, wx2 = window + shift = np.array([wy1, wx1, wy1, wx1]) + wh = wy2 - wy1 # window height + ww = wx2 - wx1 # window width + scale = np.array([wh, ww, wh, ww]) + # Convert boxes to normalized coordinates on the window + boxes = np.divide(boxes - shift, scale) + # Convert boxes to pixel coordinates on the original image + boxes = utils.denorm_boxes(boxes, original_image_shape[:2]) + + # Filter out detections with zero area. Happens in early training when + # network weights are still random + exclude_ix = np.where( + (boxes[:, 2] - boxes[:, 0]) * (boxes[:, 3] - boxes[:, 1]) <= 0)[0] + if exclude_ix.shape[0] > 0: + boxes = np.delete(boxes, exclude_ix, axis=0) + class_ids = np.delete(class_ids, exclude_ix, axis=0) + scores = np.delete(scores, exclude_ix, axis=0) + masks = np.delete(masks, exclude_ix, axis=0) + N = class_ids.shape[0] + + # Resize masks to original image size and set boundary threshold. + full_masks = [] + for i in range(N): + # Convert neural network mask to full size mask + full_mask = utils.unmold_mask(masks[i], boxes[i], original_image_shape) + full_masks.append(full_mask) + full_masks = np.stack(full_masks, axis=-1)\ + if full_masks else np.empty(original_image_shape[:2] + (0,)) + + return boxes, class_ids, scores, full_masks + + def detect(self, images, verbose=0): + """Runs the detection pipeline. + + images: List of images, potentially of different sizes. + + Returns a list of dicts, one dict per image. The dict contains: + rois: [N, (y1, x1, y2, x2)] detection bounding boxes + class_ids: [N] int class IDs + scores: [N] float probability scores for the class IDs + masks: [H, W, N] instance binary masks + """ + assert self.mode == "inference", "Create model in inference mode." + assert len( + images) == self.config.BATCH_SIZE, "len(images) must be equal to BATCH_SIZE" + + if verbose: + log("Processing {} images".format(len(images))) + for image in images: + log("image", image) + + # Mold inputs to format expected by the neural network + molded_images, image_metas, windows = self.mold_inputs(images) + + # Validate image sizes + # All images in a batch MUST be of the same size + image_shape = molded_images[0].shape + for g in molded_images[1:]: + assert g.shape == image_shape,\ + "After resizing, all images must have the same size. Check IMAGE_RESIZE_MODE and image sizes." + + # Anchors + anchors = self.get_anchors(image_shape) + # Duplicate across the batch dimension because Keras requires it + # TODO: can this be optimized to avoid duplicating the anchors? + anchors = np.broadcast_to(anchors, (self.config.BATCH_SIZE,) + anchors.shape) + + if verbose: + log("molded_images", molded_images) + log("image_metas", image_metas) + log("anchors", anchors) + # Run object detection + detections, _, _, mrcnn_mask, _, _, _ =\ + self.keras_model.predict([molded_images, image_metas, anchors], verbose=0) + # Process detections + results = [] + for i, image in enumerate(images): + final_rois, final_class_ids, final_scores, final_masks =\ + self.unmold_detections(detections[i], mrcnn_mask[i], + image.shape, molded_images[i].shape, + windows[i]) + results.append({ + "rois": final_rois, + "class_ids": final_class_ids, + "scores": final_scores, + "masks": final_masks, + }) + return results + + def detect_molded(self, molded_images, image_metas, verbose=0): + """Runs the detection pipeline, but expect inputs that are + molded already. Used mostly for debugging and inspecting + the model. + + molded_images: List of images loaded using load_image_gt() + image_metas: image meta data, also returned by load_image_gt() + + Returns a list of dicts, one dict per image. The dict contains: + rois: [N, (y1, x1, y2, x2)] detection bounding boxes + class_ids: [N] int class IDs + scores: [N] float probability scores for the class IDs + masks: [H, W, N] instance binary masks + """ + assert self.mode == "inference", "Create model in inference mode." + assert len(molded_images) == self.config.BATCH_SIZE,\ + "Number of images must be equal to BATCH_SIZE" + + if verbose: + log("Processing {} images".format(len(molded_images))) + for image in molded_images: + log("image", image) + + # Validate image sizes + # All images in a batch MUST be of the same size + image_shape = molded_images[0].shape + for g in molded_images[1:]: + assert g.shape == image_shape, "Images must have the same size" + + # Anchors + anchors = self.get_anchors(image_shape) + # Duplicate across the batch dimension because Keras requires it + # TODO: can this be optimized to avoid duplicating the anchors? + anchors = np.broadcast_to(anchors, (self.config.BATCH_SIZE,) + anchors.shape) + + if verbose: + log("molded_images", molded_images) + log("image_metas", image_metas) + log("anchors", anchors) + # Run object detection + detections, _, _, mrcnn_mask, _, _, _ =\ + self.keras_model.predict([molded_images, image_metas, anchors], verbose=0) + # Process detections + results = [] + for i, image in enumerate(molded_images): + window = [0, 0, image.shape[0], image.shape[1]] + final_rois, final_class_ids, final_scores, final_masks =\ + self.unmold_detections(detections[i], mrcnn_mask[i], + image.shape, molded_images[i].shape, + window) + results.append({ + "rois": final_rois, + "class_ids": final_class_ids, + "scores": final_scores, + "masks": final_masks, + }) + return results + + def get_anchors(self, image_shape): + """Returns anchor pyramid for the given image size.""" + backbone_shapes = compute_backbone_shapes(self.config, image_shape) + # Cache anchors and reuse if image shape is the same + if not hasattr(self, "_anchor_cache"): + self._anchor_cache = {} + if not tuple(image_shape) in self._anchor_cache: + # Generate Anchors + a = utils.generate_pyramid_anchors( + self.config.RPN_ANCHOR_SCALES, + self.config.RPN_ANCHOR_RATIOS, + backbone_shapes, + self.config.BACKBONE_STRIDES, + self.config.RPN_ANCHOR_STRIDE) + # Keep a copy of the latest anchors in pixel coordinates because + # it's used in inspect_model notebooks. + # TODO: Remove this after the notebook are refactored to not use it + self.anchors = a + # Normalize coordinates + self._anchor_cache[tuple(image_shape)] = utils.norm_boxes(a, image_shape[:2]) + return self._anchor_cache[tuple(image_shape)] + + def ancestor(self, tensor, name, checked=None): + """Finds the ancestor of a TF tensor in the computation graph. + tensor: TensorFlow symbolic tensor. + name: Name of ancestor tensor to find + checked: For internal use. A list of tensors that were already + searched to avoid loops in traversing the graph. + """ + checked = checked if checked is not None else [] + # Put a limit on how deep we go to avoid very long loops + if len(checked) > 500: + return None + # Convert name to a regex and allow matching a number prefix + # because Keras adds them automatically + if isinstance(name, str): + name = re.compile(name.replace("/", r"(\_\d+)*/")) + + parents = tensor.op.inputs + for p in parents: + if p in checked: + continue + if bool(re.fullmatch(name, p.name)): + return p + checked.append(p) + a = self.ancestor(p, name, checked) + if a is not None: + return a + return None + + def find_trainable_layer(self, layer): + """If a layer is encapsulated by another layer, this function + digs through the encapsulation and returns the layer that holds + the weights. + """ + if layer.__class__.__name__ == 'TimeDistributed': + return self.find_trainable_layer(layer.layer) + return layer + + def get_trainable_layers(self): + """Returns a list of layers that have weights.""" + layers = [] + # Loop through all layers + for l in self.keras_model.layers: + # If layer is a wrapper, find inner trainable layer + l = self.find_trainable_layer(l) + # Include layer if it has weights + if l.get_weights(): + layers.append(l) + return layers + + def run_graph(self, images, outputs, image_metas=None): + """Runs a sub-set of the computation graph that computes the given + outputs. + + image_metas: If provided, the images are assumed to be already + molded (i.e. resized, padded, and normalized) + + outputs: List of tuples (name, tensor) to compute. The tensors are + symbolic TensorFlow tensors and the names are for easy tracking. + + Returns an ordered dict of results. Keys are the names received in the + input and values are Numpy arrays. + """ + model = self.keras_model + + # Organize desired outputs into an ordered dict + outputs = OrderedDict(outputs) + for o in outputs.values(): + assert o is not None + + # Build a Keras function to run parts of the computation graph + inputs = model.inputs + if model.uses_learning_phase and not isinstance(K.learning_phase(), int): + inputs += [K.learning_phase()] + kf = K.function(model.inputs, list(outputs.values())) + + # Prepare inputs + if image_metas is None: + molded_images, image_metas, _ = self.mold_inputs(images) + else: + molded_images = images + image_shape = molded_images[0].shape + # Anchors + anchors = self.get_anchors(image_shape) + # Duplicate across the batch dimension because Keras requires it + # TODO: can this be optimized to avoid duplicating the anchors? + anchors = np.broadcast_to(anchors, (self.config.BATCH_SIZE,) + anchors.shape) + model_in = [molded_images, image_metas, anchors] + + # Run inference + if model.uses_learning_phase and not isinstance(K.learning_phase(), int): + model_in.append(0.) + outputs_np = kf(model_in) + + # Pack the generated Numpy arrays into a a dict and log the results. + outputs_np = OrderedDict([(k, v) + for k, v in zip(outputs.keys(), outputs_np)]) + for k, v in outputs_np.items(): + log(k, v) + return outputs_np + + +############################################################ +# Data Formatting +############################################################ + +def compose_image_meta(image_id, original_image_shape, image_shape, + window, scale, active_class_ids): + """Takes attributes of an image and puts them in one 1D array. + + image_id: An int ID of the image. Useful for debugging. + original_image_shape: [H, W, C] before resizing or padding. + image_shape: [H, W, C] after resizing and padding + window: (y1, x1, y2, x2) in pixels. The area of the image where the real + image is (excluding the padding) + scale: The scaling factor applied to the original image (float32) + active_class_ids: List of class_ids available in the dataset from which + the image came. Useful if training on images from multiple datasets + where not all classes are present in all datasets. + """ + meta = np.array( + [image_id] + # size=1 + list(original_image_shape) + # size=3 + list(image_shape) + # size=3 + list(window) + # size=4 (y1, x1, y2, x2) in image cooredinates + [scale] + # size=1 + list(active_class_ids) # size=num_classes + ) + return meta + + +def parse_image_meta(meta): + """Parses an array that contains image attributes to its components. + See compose_image_meta() for more details. + + meta: [batch, meta length] where meta length depends on NUM_CLASSES + + Returns a dict of the parsed values. + """ + image_id = meta[:, 0] + original_image_shape = meta[:, 1:4] + image_shape = meta[:, 4:7] + window = meta[:, 7:11] # (y1, x1, y2, x2) window of image in in pixels + scale = meta[:, 11] + active_class_ids = meta[:, 12:] + return { + "image_id": image_id.astype(np.int32), + "original_image_shape": original_image_shape.astype(np.int32), + "image_shape": image_shape.astype(np.int32), + "window": window.astype(np.int32), + "scale": scale.astype(np.float32), + "active_class_ids": active_class_ids.astype(np.int32), + } + + +def parse_image_meta_graph(meta): + """Parses a tensor that contains image attributes to its components. + See compose_image_meta() for more details. + + meta: [batch, meta length] where meta length depends on NUM_CLASSES + + Returns a dict of the parsed tensors. + """ + image_id = meta[:, 0] + original_image_shape = meta[:, 1:4] + image_shape = meta[:, 4:7] + window = meta[:, 7:11] # (y1, x1, y2, x2) window of image in in pixels + scale = meta[:, 11] + active_class_ids = meta[:, 12:] + return { + "image_id": image_id, + "original_image_shape": original_image_shape, + "image_shape": image_shape, + "window": window, + "scale": scale, + "active_class_ids": active_class_ids, + } + + +def mold_image(images, config): + """Expects an RGB image (or array of images) and subtracts + the mean pixel and converts it to float. Expects image + colors in RGB order. + """ + return images.astype(np.float32) - config.MEAN_PIXEL + + +def unmold_image(normalized_images, config): + """Takes a image normalized with mold() and returns the original.""" + return (normalized_images + config.MEAN_PIXEL).astype(np.uint8) + + +############################################################ +# Miscellenous Graph Functions +############################################################ + +def trim_zeros_graph(boxes, name=None): + """Often boxes are represented with matrices of shape [N, 4] and + are padded with zeros. This removes zero boxes. + + boxes: [N, 4] matrix of boxes. + non_zeros: [N] a 1D boolean mask identifying the rows to keep + """ + non_zeros = tf.cast(tf.reduce_sum(tf.abs(boxes), axis=1), tf.bool) + boxes = tf.boolean_mask(boxes, non_zeros, name=name) + return boxes, non_zeros + + +def batch_pack_graph(x, counts, num_rows): + """Picks different number of values from each row + in x depending on the values in counts. + """ + outputs = [] + for i in range(num_rows): + outputs.append(x[i, :counts[i]]) + return tf.concat(outputs, axis=0) + + +def norm_boxes_graph(boxes, shape): + """Converts boxes from pixel coordinates to normalized coordinates. + boxes: [..., (y1, x1, y2, x2)] in pixel coordinates + shape: [..., (height, width)] in pixels + + Note: In pixel coordinates (y2, x2) is outside the box. But in normalized + coordinates it's inside the box. + + Returns: + [..., (y1, x1, y2, x2)] in normalized coordinates + """ + h, w = tf.split(tf.cast(shape, tf.float32), 2) + scale = tf.concat([h, w, h, w], axis=-1) - tf.constant(1.0) + shift = tf.constant([0., 0., 1., 1.]) + return tf.divide(boxes - shift, scale) + + +def denorm_boxes_graph(boxes, shape): + """Converts boxes from normalized coordinates to pixel coordinates. + boxes: [..., (y1, x1, y2, x2)] in normalized coordinates + shape: [..., (height, width)] in pixels + + Note: In pixel coordinates (y2, x2) is outside the box. But in normalized + coordinates it's inside the box. + + Returns: + [..., (y1, x1, y2, x2)] in pixel coordinates + """ + h, w = tf.split(tf.cast(shape, tf.float32), 2) + scale = tf.concat([h, w, h, w], axis=-1) - tf.constant(1.0) + shift = tf.constant([0., 0., 1., 1.]) + return tf.cast(tf.round(tf.multiply(boxes, scale) + shift), tf.int32) diff --git a/mrcnn/scripts/pre_process.py b/mrcnn/scripts/pre_process.py new file mode 100644 index 0000000..10e1eeb --- /dev/null +++ b/mrcnn/scripts/pre_process.py @@ -0,0 +1,4 @@ +""" +Helper function to save masks as h5 files to make loading masks faster and hence +faster training time. +""" \ No newline at end of file diff --git a/mrcnn/scripts/train.py b/mrcnn/scripts/train.py new file mode 100644 index 0000000..4c27225 --- /dev/null +++ b/mrcnn/scripts/train.py @@ -0,0 +1,3 @@ +""" +Training module for maskrcnn on Bottles, Bags and Candy bags. +""" diff --git a/mrcnn/scripts/utils.py b/mrcnn/scripts/utils.py new file mode 100644 index 0000000..cc0954b --- /dev/null +++ b/mrcnn/scripts/utils.py @@ -0,0 +1,877 @@ +""" +Mask R-CNN +Common utility functions and classes. +Copyright (c) 2017 Matterport, Inc. +Licensed under the MIT License (see LICENSE for details) +Written by Waleed Abdulla +""" + +import sys +import os +import math +import random +import numpy as np +import tensorflow as tf +import scipy +import skimage.color +import skimage.io +import skimage.transform +import urllib.request +import shutil +import warnings +from distutils.version import LooseVersion + +# URL from which to download the latest COCO trained weights +COCO_MODEL_URL = "https://github.com/matterport/Mask_RCNN/releases/download/v2.0/mask_rcnn_coco.h5" + + +############################################################ +# Bounding Boxes +############################################################ + +def extract_bboxes(mask): + """Compute bounding boxes from masks. + mask: [height, width, num_instances]. Mask pixels are either 1 or 0. + Returns: bbox array [num_instances, (y1, x1, y2, x2)]. + """ + boxes = np.zeros([mask.shape[-1], 4], dtype=np.int32) + for i in range(mask.shape[-1]): + m = mask[:, :, i] + # Bounding box. + horizontal_indicies = np.where(np.any(m, axis=0))[0] + vertical_indicies = np.where(np.any(m, axis=1))[0] + if horizontal_indicies.shape[0]: + x1, x2 = horizontal_indicies[[0, -1]] + y1, y2 = vertical_indicies[[0, -1]] + # x2 and y2 should not be part of the box. Increment by 1. + x2 += 1 + y2 += 1 + else: + # No mask for this instance. Might happen due to + # resizing or cropping. Set bbox to zeros + x1, x2, y1, y2 = 0, 0, 0, 0 + boxes[i] = np.array([y1, x1, y2, x2]) + return boxes.astype(np.int32) + + +def compute_iou(box, boxes, box_area, boxes_area): + """Calculates IoU of the given box with the array of the given boxes. + box: 1D vector [y1, x1, y2, x2] + boxes: [boxes_count, (y1, x1, y2, x2)] + box_area: float. the area of 'box' + boxes_area: array of length boxes_count. + Note: the areas are passed in rather than calculated here for + efficiency. Calculate once in the caller to avoid duplicate work. + """ + # Calculate intersection areas + y1 = np.maximum(box[0], boxes[:, 0]) + y2 = np.minimum(box[2], boxes[:, 2]) + x1 = np.maximum(box[1], boxes[:, 1]) + x2 = np.minimum(box[3], boxes[:, 3]) + intersection = np.maximum(x2 - x1, 0) * np.maximum(y2 - y1, 0) + union = box_area + boxes_area[:] - intersection[:] + iou = intersection / union + return iou + + +def compute_overlaps(boxes1, boxes2): + """Computes IoU overlaps between two sets of boxes. + boxes1, boxes2: [N, (y1, x1, y2, x2)]. + For better performance, pass the largest set first and the smaller second. + """ + # Areas of anchors and GT boxes + area1 = (boxes1[:, 2] - boxes1[:, 0]) * (boxes1[:, 3] - boxes1[:, 1]) + area2 = (boxes2[:, 2] - boxes2[:, 0]) * (boxes2[:, 3] - boxes2[:, 1]) + + # Compute overlaps to generate matrix [boxes1 count, boxes2 count] + # Each cell contains the IoU value. + overlaps = np.zeros((boxes1.shape[0], boxes2.shape[0])) + for i in range(overlaps.shape[1]): + box2 = boxes2[i] + overlaps[:, i] = compute_iou(box2, boxes1, area2[i], area1) + return overlaps + + +def compute_overlaps_masks(masks1, masks2): + """Computes IoU overlaps between two sets of masks. + masks1, masks2: [Height, Width, instances] + """ + + # If either set of masks is empty return empty result + if masks1.shape[-1] == 0 or masks2.shape[-1] == 0: + return np.zeros((masks1.shape[-1], masks2.shape[-1])) + # flatten masks and compute their areas + masks1 = np.reshape(masks1 > .5, (-1, masks1.shape[-1])).astype(np.float32) + masks2 = np.reshape(masks2 > .5, (-1, masks2.shape[-1])).astype(np.float32) + area1 = np.sum(masks1, axis=0) + area2 = np.sum(masks2, axis=0) + + # intersections and union + intersections = np.dot(masks1.T, masks2) + union = area1[:, None] + area2[None, :] - intersections + overlaps = intersections / union + + return overlaps + + +def non_max_suppression(boxes, scores, threshold): + """Performs non-maximum suppression and returns indices of kept boxes. + boxes: [N, (y1, x1, y2, x2)]. Notice that (y2, x2) lays outside the box. + scores: 1-D array of box scores. + threshold: Float. IoU threshold to use for filtering. + """ + assert boxes.shape[0] > 0 + if boxes.dtype.kind != "f": + boxes = boxes.astype(np.float32) + + # Compute box areas + y1 = boxes[:, 0] + x1 = boxes[:, 1] + y2 = boxes[:, 2] + x2 = boxes[:, 3] + area = (y2 - y1) * (x2 - x1) + + # Get indicies of boxes sorted by scores (highest first) + ixs = scores.argsort()[::-1] + + pick = [] + while len(ixs) > 0: + # Pick top box and add its index to the list + i = ixs[0] + pick.append(i) + # Compute IoU of the picked box with the rest + iou = compute_iou(boxes[i], boxes[ixs[1:]], area[i], area[ixs[1:]]) + # Identify boxes with IoU over the threshold. This + # returns indices into ixs[1:], so add 1 to get + # indices into ixs. + remove_ixs = np.where(iou > threshold)[0] + 1 + # Remove indices of the picked and overlapped boxes. + ixs = np.delete(ixs, remove_ixs) + ixs = np.delete(ixs, 0) + return np.array(pick, dtype=np.int32) + + +def apply_box_deltas(boxes, deltas): + """Applies the given deltas to the given boxes. + boxes: [N, (y1, x1, y2, x2)]. Note that (y2, x2) is outside the box. + deltas: [N, (dy, dx, log(dh), log(dw))] + """ + boxes = boxes.astype(np.float32) + # Convert to y, x, h, w + height = boxes[:, 2] - boxes[:, 0] + width = boxes[:, 3] - boxes[:, 1] + center_y = boxes[:, 0] + 0.5 * height + center_x = boxes[:, 1] + 0.5 * width + # Apply deltas + center_y += deltas[:, 0] * height + center_x += deltas[:, 1] * width + height *= np.exp(deltas[:, 2]) + width *= np.exp(deltas[:, 3]) + # Convert back to y1, x1, y2, x2 + y1 = center_y - 0.5 * height + x1 = center_x - 0.5 * width + y2 = y1 + height + x2 = x1 + width + return np.stack([y1, x1, y2, x2], axis=1) + + +def box_refinement_graph(box, gt_box): + """Compute refinement needed to transform box to gt_box. + box and gt_box are [N, (y1, x1, y2, x2)] + """ + box = tf.cast(box, tf.float32) + gt_box = tf.cast(gt_box, tf.float32) + + height = box[:, 2] - box[:, 0] + width = box[:, 3] - box[:, 1] + center_y = box[:, 0] + 0.5 * height + center_x = box[:, 1] + 0.5 * width + + gt_height = gt_box[:, 2] - gt_box[:, 0] + gt_width = gt_box[:, 3] - gt_box[:, 1] + gt_center_y = gt_box[:, 0] + 0.5 * gt_height + gt_center_x = gt_box[:, 1] + 0.5 * gt_width + + dy = (gt_center_y - center_y) / height + dx = (gt_center_x - center_x) / width + dh = tf.log(gt_height / height) + dw = tf.log(gt_width / width) + + result = tf.stack([dy, dx, dh, dw], axis=1) + return result + + +def box_refinement(box, gt_box): + """Compute refinement needed to transform box to gt_box. + box and gt_box are [N, (y1, x1, y2, x2)]. (y2, x2) is + assumed to be outside the box. + """ + box = box.astype(np.float32) + gt_box = gt_box.astype(np.float32) + + height = box[:, 2] - box[:, 0] + width = box[:, 3] - box[:, 1] + center_y = box[:, 0] + 0.5 * height + center_x = box[:, 1] + 0.5 * width + + gt_height = gt_box[:, 2] - gt_box[:, 0] + gt_width = gt_box[:, 3] - gt_box[:, 1] + gt_center_y = gt_box[:, 0] + 0.5 * gt_height + gt_center_x = gt_box[:, 1] + 0.5 * gt_width + + dy = (gt_center_y - center_y) / height + dx = (gt_center_x - center_x) / width + dh = np.log(gt_height / height) + dw = np.log(gt_width / width) + + return np.stack([dy, dx, dh, dw], axis=1) + + +############################################################ +# Dataset +############################################################ + +class Dataset(object): + """The base class for dataset classes. + To use it, create a new class that adds functions specific to the dataset + you want to use. For example: + class CatsAndDogsDataset(Dataset): + def load_cats_and_dogs(self): + ... + def load_mask(self, image_id): + ... + def image_reference(self, image_id): + ... + See COCODataset and ShapesDataset as examples. + """ + + def __init__(self, class_map=None): + self._image_ids = [] + self.image_info = [] + # Background is always the first class + self.class_info = [{"source": "", "id": 0, "name": "BG"}] + self.source_class_ids = {} + + def add_class(self, source, class_id, class_name): + assert "." not in source, "Source name cannot contain a dot" + # Does the class exist already? + for info in self.class_info: + if info['source'] == source and info["id"] == class_id: + # source.class_id combination already available, skip + return + # Add the class + self.class_info.append({ + "source": source, + "id": class_id, + "name": class_name, + }) + + def add_image(self, source, image_id, path, **kwargs): + image_info = { + "id": image_id, + "source": source, + "path": path, + } + image_info.update(kwargs) + self.image_info.append(image_info) + + def image_reference(self, image_id): + """Return a link to the image in its source Website or details about + the image that help looking it up or debugging it. + Override for your dataset, but pass to this function + if you encounter images not in your dataset. + """ + return "" + + def prepare(self, class_map=None): + """Prepares the Dataset class for use. + TODO: class map is not supported yet. When done, it should handle mapping + classes from different datasets to the same class ID. + """ + + def clean_name(name): + """Returns a shorter version of object names for cleaner display.""" + return ",".join(name.split(",")[:1]) + + # Build (or rebuild) everything else from the info dicts. + self.num_classes = len(self.class_info) + self.class_ids = np.arange(self.num_classes) + self.class_names = [clean_name(c["name"]) for c in self.class_info] + self.num_images = len(self.image_info) + self._image_ids = np.arange(self.num_images) + + # Mapping from source class and image IDs to internal IDs + self.class_from_source_map = {"{}.{}".format(info['source'], info['id']): id + for info, id in zip(self.class_info, self.class_ids)} + self.image_from_source_map = {"{}.{}".format(info['source'], info['id']): id + for info, id in zip(self.image_info, self.image_ids)} + + # Map sources to class_ids they support + self.sources = list(set([i['source'] for i in self.class_info])) + self.source_class_ids = {} + # Loop over datasets + for source in self.sources: + self.source_class_ids[source] = [] + # Find classes that belong to this dataset + for i, info in enumerate(self.class_info): + # Include BG class in all datasets + if i == 0 or source == info['source']: + self.source_class_ids[source].append(i) + + def map_source_class_id(self, source_class_id): + """Takes a source class ID and returns the int class ID assigned to it. + For example: + dataset.map_source_class_id("coco.12") -> 23 + """ + return self.class_from_source_map[source_class_id] + + def get_source_class_id(self, class_id, source): + """Map an internal class ID to the corresponding class ID in the source dataset.""" + info = self.class_info[class_id] + assert info['source'] == source + return info['id'] + + @property + def image_ids(self): + return self._image_ids + + def source_image_link(self, image_id): + """Returns the path or URL to the image. + Override this to return a URL to the image if it's available online for easy + debugging. + """ + return self.image_info[image_id]["path"] + + def load_image(self, image_id): + """Load the specified image and return a [H,W,3] Numpy array. + """ + # Load image + image = skimage.io.imread(self.image_info[image_id]['path']) + # If grayscale. Convert to RGB for consistency. + if image.ndim != 3: + image = skimage.color.gray2rgb(image) + # If has an alpha channel, remove it for consistency + if image.shape[-1] == 4: + image = image[..., :3] + return image + + def load_mask(self, image_id): + """Load instance masks for the given image. + Different datasets use different ways to store masks. Override this + method to load instance masks and return them in the form of am + array of binary masks of shape [height, width, instances]. + Returns: + masks: A bool array of shape [height, width, instance count] with + a binary mask per instance. + class_ids: a 1D array of class IDs of the instance masks. + """ + # Override this function to load a mask from your dataset. + # Otherwise, it returns an empty mask. + mask = np.empty([0, 0, 0]) + class_ids = np.empty([0], np.int32) + return mask, class_ids + + +def resize_image(image, min_dim=None, max_dim=None, min_scale=None, mode="square"): + """Resizes an image keeping the aspect ratio unchanged. + min_dim: if provided, resizes the image such that it's smaller + dimension == min_dim + max_dim: if provided, ensures that the image longest side doesn't + exceed this value. + min_scale: if provided, ensure that the image is scaled up by at least + this percent even if min_dim doesn't require it. + mode: Resizing mode. + none: No resizing. Return the image unchanged. + square: Resize and pad with zeros to get a square image + of size [max_dim, max_dim]. + pad64: Pads width and height with zeros to make them multiples of 64. + If min_dim or min_scale are provided, it scales the image up + before padding. max_dim is ignored in this mode. + The multiple of 64 is needed to ensure smooth scaling of feature + maps up and down the 6 levels of the FPN pyramid (2**6=64). + crop: Picks random crops from the image. First, scales the image based + on min_dim and min_scale, then picks a random crop of + size min_dim x min_dim. Can be used in training only. + max_dim is not used in this mode. + Returns: + image: the resized image + window: (y1, x1, y2, x2). If max_dim is provided, padding might + be inserted in the returned image. If so, this window is the + coordinates of the image part of the full image (excluding + the padding). The x2, y2 pixels are not included. + scale: The scale factor used to resize the image + padding: Padding added to the image [(top, bottom), (left, right), (0, 0)] + """ + # Keep track of image dtype and return results in the same dtype + image_dtype = image.dtype + # Default window (y1, x1, y2, x2) and default scale == 1. + h, w = image.shape[:2] + window = (0, 0, h, w) + scale = 1 + padding = [(0, 0), (0, 0), (0, 0)] + crop = None + + if mode == "none": + return image, window, scale, padding, crop + + # Scale? + if min_dim: + # Scale up but not down + scale = max(1, min_dim / min(h, w)) + if min_scale and scale < min_scale: + scale = min_scale + + # Does it exceed max dim? + if max_dim and mode == "square": + image_max = max(h, w) + if round(image_max * scale) > max_dim: + scale = max_dim / image_max + + # Resize image using bilinear interpolation + if scale != 1: + image = resize(image, (round(h * scale), round(w * scale)), + preserve_range=True) + + # Need padding or cropping? + if mode == "square": + # Get new height and width + h, w = image.shape[:2] + top_pad = (max_dim - h) // 2 + bottom_pad = max_dim - h - top_pad + left_pad = (max_dim - w) // 2 + right_pad = max_dim - w - left_pad + padding = [(top_pad, bottom_pad), (left_pad, right_pad), (0, 0)] + image = np.pad(image, padding, mode='constant', constant_values=0) + window = (top_pad, left_pad, h + top_pad, w + left_pad) + elif mode == "pad64": + h, w = image.shape[:2] + # Both sides must be divisible by 64 + assert min_dim % 64 == 0, "Minimum dimension must be a multiple of 64" + # Height + if h % 64 > 0: + max_h = h - (h % 64) + 64 + top_pad = (max_h - h) // 2 + bottom_pad = max_h - h - top_pad + else: + top_pad = bottom_pad = 0 + # Width + if w % 64 > 0: + max_w = w - (w % 64) + 64 + left_pad = (max_w - w) // 2 + right_pad = max_w - w - left_pad + else: + left_pad = right_pad = 0 + padding = [(top_pad, bottom_pad), (left_pad, right_pad), (0, 0)] + image = np.pad(image, padding, mode='constant', constant_values=0) + window = (top_pad, left_pad, h + top_pad, w + left_pad) + elif mode == "crop": + # Pick a random crop + h, w = image.shape[:2] + y = random.randint(0, (h - min_dim)) + x = random.randint(0, (w - min_dim)) + crop = (y, x, min_dim, min_dim) + image = image[y:y + min_dim, x:x + min_dim] + window = (0, 0, min_dim, min_dim) + else: + raise Exception("Mode {} not supported".format(mode)) + return image.astype(image_dtype), window, scale, padding, crop + + +def resize_mask(mask, scale, padding, crop=None): + """Resizes a mask using the given scale and padding. + Typically, you get the scale and padding from resize_image() to + ensure both, the image and the mask, are resized consistently. + scale: mask scaling factor + padding: Padding to add to the mask in the form + [(top, bottom), (left, right), (0, 0)] + """ + # Suppress warning from scipy 0.13.0, the output shape of zoom() is + # calculated with round() instead of int() + with warnings.catch_warnings(): + warnings.simplefilter("ignore") + mask = scipy.ndimage.zoom(mask, zoom=[scale, scale, 1], order=0) + if crop is not None: + y, x, h, w = crop + mask = mask[y:y + h, x:x + w] + else: + mask = np.pad(mask, padding, mode='constant', constant_values=0) + return mask + + +def minimize_mask(bbox, mask, mini_shape): + """Resize masks to a smaller version to reduce memory load. + Mini-masks can be resized back to image scale using expand_masks() + See inspect_data.ipynb notebook for more details. + """ + mini_mask = np.zeros(mini_shape + (mask.shape[-1],), dtype=bool) + for i in range(mask.shape[-1]): + # Pick slice and cast to bool in case load_mask() returned wrong dtype + m = mask[:, :, i].astype(bool) + y1, x1, y2, x2 = bbox[i][:4] + m = m[y1:y2, x1:x2] + if m.size == 0: + raise Exception("Invalid bounding box with area of zero") + # Resize with bilinear interpolation + m = resize(m, mini_shape) + mini_mask[:, :, i] = np.around(m).astype(np.bool) + return mini_mask + + +def expand_mask(bbox, mini_mask, image_shape): + """Resizes mini masks back to image size. Reverses the change + of minimize_mask(). + See inspect_data.ipynb notebook for more details. + """ + mask = np.zeros(image_shape[:2] + (mini_mask.shape[-1],), dtype=bool) + for i in range(mask.shape[-1]): + m = mini_mask[:, :, i] + y1, x1, y2, x2 = bbox[i][:4] + h = y2 - y1 + w = x2 - x1 + # Resize with bilinear interpolation + m = resize(m, (h, w)) + mask[y1:y2, x1:x2, i] = np.around(m).astype(np.bool) + return mask + + +# TODO: Build and use this function to reduce code duplication +def mold_mask(mask, config): + pass + + +def unmold_mask(mask, bbox, image_shape): + """Converts a mask generated by the neural network to a format similar + to its original shape. + mask: [height, width] of type float. A small, typically 28x28 mask. + bbox: [y1, x1, y2, x2]. The box to fit the mask in. + Returns a binary mask with the same size as the original image. + """ + threshold = 0.5 + y1, x1, y2, x2 = bbox + mask = resize(mask, (y2 - y1, x2 - x1)) + mask = np.where(mask >= threshold, 1, 0).astype(np.bool) + + # Put the mask in the right location. + full_mask = np.zeros(image_shape[:2], dtype=np.bool) + full_mask[y1:y2, x1:x2] = mask + return full_mask + + +############################################################ +# Anchors +############################################################ + +def generate_anchors(scales, ratios, shape, feature_stride, anchor_stride): + """ + scales: 1D array of anchor sizes in pixels. Example: [32, 64, 128] + ratios: 1D array of anchor ratios of width/height. Example: [0.5, 1, 2] + shape: [height, width] spatial shape of the feature map over which + to generate anchors. + feature_stride: Stride of the feature map relative to the image in pixels. + anchor_stride: Stride of anchors on the feature map. For example, if the + value is 2 then generate anchors for every other feature map pixel. + """ + # Get all combinations of scales and ratios + scales, ratios = np.meshgrid(np.array(scales), np.array(ratios)) + scales = scales.flatten() + ratios = ratios.flatten() + + # Enumerate heights and widths from scales and ratios + heights = scales / np.sqrt(ratios) + widths = scales * np.sqrt(ratios) + + # Enumerate shifts in feature space + shifts_y = np.arange(0, shape[0], anchor_stride) * feature_stride + shifts_x = np.arange(0, shape[1], anchor_stride) * feature_stride + shifts_x, shifts_y = np.meshgrid(shifts_x, shifts_y) + + # Enumerate combinations of shifts, widths, and heights + box_widths, box_centers_x = np.meshgrid(widths, shifts_x) + box_heights, box_centers_y = np.meshgrid(heights, shifts_y) + + # Reshape to get a list of (y, x) and a list of (h, w) + box_centers = np.stack( + [box_centers_y, box_centers_x], axis=2).reshape([-1, 2]) + box_sizes = np.stack([box_heights, box_widths], axis=2).reshape([-1, 2]) + + # Convert to corner coordinates (y1, x1, y2, x2) + boxes = np.concatenate([box_centers - 0.5 * box_sizes, + box_centers + 0.5 * box_sizes], axis=1) + return boxes + + +def generate_pyramid_anchors(scales, ratios, feature_shapes, feature_strides, + anchor_stride): + """Generate anchors at different levels of a feature pyramid. Each scale + is associated with a level of the pyramid, but each ratio is used in + all levels of the pyramid. + Returns: + anchors: [N, (y1, x1, y2, x2)]. All generated anchors in one array. Sorted + with the same order of the given scales. So, anchors of scale[0] come + first, then anchors of scale[1], and so on. + """ + # Anchors + # [anchor_count, (y1, x1, y2, x2)] + anchors = [] + for i in range(len(scales)): + anchors.append(generate_anchors(scales[i], ratios, feature_shapes[i], + feature_strides[i], anchor_stride)) + return np.concatenate(anchors, axis=0) + + +############################################################ +# Miscellaneous +############################################################ + +def trim_zeros(x): + """It's common to have tensors larger than the available data and + pad with zeros. This function removes rows that are all zeros. + x: [rows, columns]. + """ + assert len(x.shape) == 2 + return x[~np.all(x == 0, axis=1)] + + +def compute_matches(gt_boxes, gt_class_ids, gt_masks, + pred_boxes, pred_class_ids, pred_scores, pred_masks, + iou_threshold=0.5, score_threshold=0.0): + """Finds matches between prediction and ground truth instances. + Returns: + gt_match: 1-D array. For each GT box it has the index of the matched + predicted box. + pred_match: 1-D array. For each predicted box, it has the index of + the matched ground truth box. + overlaps: [pred_boxes, gt_boxes] IoU overlaps. + """ + # Trim zero padding + # TODO: cleaner to do zero unpadding upstream + gt_boxes = trim_zeros(gt_boxes) + gt_masks = gt_masks[..., :gt_boxes.shape[0]] + pred_boxes = trim_zeros(pred_boxes) + pred_scores = pred_scores[:pred_boxes.shape[0]] + # Sort predictions by score from high to low + indices = np.argsort(pred_scores)[::-1] + pred_boxes = pred_boxes[indices] + pred_class_ids = pred_class_ids[indices] + pred_scores = pred_scores[indices] + pred_masks = pred_masks[..., indices] + + # Compute IoU overlaps [pred_masks, gt_masks] + overlaps = compute_overlaps_masks(pred_masks, gt_masks) + + # Loop through predictions and find matching ground truth boxes + match_count = 0 + pred_match = -1 * np.ones([pred_boxes.shape[0]]) + gt_match = -1 * np.ones([gt_boxes.shape[0]]) + for i in range(len(pred_boxes)): + # Find best matching ground truth box + # 1. Sort matches by score + sorted_ixs = np.argsort(overlaps[i])[::-1] + # 2. Remove low scores + low_score_idx = np.where(overlaps[i, sorted_ixs] < score_threshold)[0] + if low_score_idx.size > 0: + sorted_ixs = sorted_ixs[:low_score_idx[0]] + # 3. Find the match + for j in sorted_ixs: + # If ground truth box is already matched, go to next one + if gt_match[j] > -1: + continue + # If we reach IoU smaller than the threshold, end the loop + iou = overlaps[i, j] + if iou < iou_threshold: + break + # Do we have a match? + if pred_class_ids[i] == gt_class_ids[j]: + match_count += 1 + gt_match[j] = i + pred_match[i] = j + break + + return gt_match, pred_match, overlaps + + +def compute_ap(gt_boxes, gt_class_ids, gt_masks, + pred_boxes, pred_class_ids, pred_scores, pred_masks, + iou_threshold=0.5): + """Compute Average Precision at a set IoU threshold (default 0.5). + Returns: + mAP: Mean Average Precision + precisions: List of precisions at different class score thresholds. + recalls: List of recall values at different class score thresholds. + overlaps: [pred_boxes, gt_boxes] IoU overlaps. + """ + # Get matches and overlaps + gt_match, pred_match, overlaps = compute_matches( + gt_boxes, gt_class_ids, gt_masks, + pred_boxes, pred_class_ids, pred_scores, pred_masks, + iou_threshold) + + # Compute precision and recall at each prediction box step + precisions = np.cumsum(pred_match > -1) / (np.arange(len(pred_match)) + 1) + recalls = np.cumsum(pred_match > -1).astype(np.float32) / len(gt_match) + + # Pad with start and end values to simplify the math + precisions = np.concatenate([[0], precisions, [0]]) + recalls = np.concatenate([[0], recalls, [1]]) + + # Ensure precision values decrease but don't increase. This way, the + # precision value at each recall threshold is the maximum it can be + # for all following recall thresholds, as specified by the VOC paper. + for i in range(len(precisions) - 2, -1, -1): + precisions[i] = np.maximum(precisions[i], precisions[i + 1]) + + # Compute mean AP over recall range + indices = np.where(recalls[:-1] != recalls[1:])[0] + 1 + mAP = np.sum((recalls[indices] - recalls[indices - 1]) * + precisions[indices]) + + return mAP, precisions, recalls, overlaps + + +def compute_ap_range(gt_box, gt_class_id, gt_mask, + pred_box, pred_class_id, pred_score, pred_mask, + iou_thresholds=None, verbose=1): + """Compute AP over a range or IoU thresholds. Default range is 0.5-0.95.""" + # Default is 0.5 to 0.95 with increments of 0.05 + iou_thresholds = iou_thresholds or np.arange(0.5, 1.0, 0.05) + + # Compute AP over range of IoU thresholds + AP = [] + for iou_threshold in iou_thresholds: + ap, precisions, recalls, overlaps =\ + compute_ap(gt_box, gt_class_id, gt_mask, + pred_box, pred_class_id, pred_score, pred_mask, + iou_threshold=iou_threshold) + if verbose: + print("AP @{:.2f}:\t {:.3f}".format(iou_threshold, ap)) + AP.append(ap) + AP = np.array(AP).mean() + if verbose: + print("AP @{:.2f}-{:.2f}:\t {:.3f}".format( + iou_thresholds[0], iou_thresholds[-1], AP)) + return AP + + +def compute_recall(pred_boxes, gt_boxes, iou): + """Compute the recall at the given IoU threshold. It's an indication + of how many GT boxes were found by the given prediction boxes. + pred_boxes: [N, (y1, x1, y2, x2)] in image coordinates + gt_boxes: [N, (y1, x1, y2, x2)] in image coordinates + """ + # Measure overlaps + overlaps = compute_overlaps(pred_boxes, gt_boxes) + iou_max = np.max(overlaps, axis=1) + iou_argmax = np.argmax(overlaps, axis=1) + positive_ids = np.where(iou_max >= iou)[0] + matched_gt_boxes = iou_argmax[positive_ids] + + recall = len(set(matched_gt_boxes)) / gt_boxes.shape[0] + return recall, positive_ids + + +# ## Batch Slicing +# Some custom layers support a batch size of 1 only, and require a lot of work +# to support batches greater than 1. This function slices an input tensor +# across the batch dimension and feeds batches of size 1. Effectively, +# an easy way to support batches > 1 quickly with little code modification. +# In the long run, it's more efficient to modify the code to support large +# batches and getting rid of this function. Consider this a temporary solution +def batch_slice(inputs, graph_fn, batch_size, names=None): + """Splits inputs into slices and feeds each slice to a copy of the given + computation graph and then combines the results. It allows you to run a + graph on a batch of inputs even if the graph is written to support one + instance only. + inputs: list of tensors. All must have the same first dimension length + graph_fn: A function that returns a TF tensor that's part of a graph. + batch_size: number of slices to divide the data into. + names: If provided, assigns names to the resulting tensors. + """ + if not isinstance(inputs, list): + inputs = [inputs] + + outputs = [] + for i in range(batch_size): + inputs_slice = [x[i] for x in inputs] + output_slice = graph_fn(*inputs_slice) + if not isinstance(output_slice, (tuple, list)): + output_slice = [output_slice] + outputs.append(output_slice) + # Change outputs from a list of slices where each is + # a list of outputs to a list of outputs and each has + # a list of slices + outputs = list(zip(*outputs)) + + if names is None: + names = [None] * len(outputs) + + result = [tf.stack(o, axis=0, name=n) + for o, n in zip(outputs, names)] + if len(result) == 1: + result = result[0] + + return result + + +def download_trained_weights(coco_model_path, verbose=1): + """Download COCO trained weights from Releases. + coco_model_path: local path of COCO trained weights + """ + if verbose > 0: + print("Downloading pretrained model to " + coco_model_path + " ...") + with urllib.request.urlopen(COCO_MODEL_URL) as resp, open(coco_model_path, 'wb') as out: + shutil.copyfileobj(resp, out) + if verbose > 0: + print("... done downloading pretrained model!") + + +def norm_boxes(boxes, shape): + """Converts boxes from pixel coordinates to normalized coordinates. + boxes: [N, (y1, x1, y2, x2)] in pixel coordinates + shape: [..., (height, width)] in pixels + Note: In pixel coordinates (y2, x2) is outside the box. But in normalized + coordinates it's inside the box. + Returns: + [N, (y1, x1, y2, x2)] in normalized coordinates + """ + h, w = shape + scale = np.array([h - 1, w - 1, h - 1, w - 1]) + shift = np.array([0, 0, 1, 1]) + return np.divide((boxes - shift), scale).astype(np.float32) + + +def denorm_boxes(boxes, shape): + """Converts boxes from normalized coordinates to pixel coordinates. + boxes: [N, (y1, x1, y2, x2)] in normalized coordinates + shape: [..., (height, width)] in pixels + Note: In pixel coordinates (y2, x2) is outside the box. But in normalized + coordinates it's inside the box. + Returns: + [N, (y1, x1, y2, x2)] in pixel coordinates + """ + h, w = shape + scale = np.array([h - 1, w - 1, h - 1, w - 1]) + shift = np.array([0, 0, 1, 1]) + return np.around(np.multiply(boxes, scale) + shift).astype(np.int32) + + +def resize(image, output_shape, order=1, mode='constant', cval=0, clip=True, + preserve_range=False, anti_aliasing=False, anti_aliasing_sigma=None): + """A wrapper for Scikit-Image resize(). + Scikit-Image generates warnings on every call to resize() if it doesn't + receive the right parameters. The right parameters depend on the version + of skimage. This solves the problem by using different parameters per + version. And it provides a central place to control resizing defaults. + """ + if LooseVersion(skimage.__version__) >= LooseVersion("0.14"): + # New in 0.14: anti_aliasing. Default it to False for backward + # compatibility with skimage 0.13. + return skimage.transform.resize( + image, output_shape, + order=order, mode=mode, cval=cval, clip=clip, + preserve_range=preserve_range, anti_aliasing=anti_aliasing, + anti_aliasing_sigma=anti_aliasing_sigma) + else: + return skimage.transform.resize( + image, output_shape, + order=order, mode=mode, cval=cval, clip=clip, + preserve_range=preserve_range) \ No newline at end of file diff --git a/mrcnn/scripts/visualize.py b/mrcnn/scripts/visualize.py new file mode 100644 index 0000000..f78be41 --- /dev/null +++ b/mrcnn/scripts/visualize.py @@ -0,0 +1,499 @@ +""" +Mask R-CNN +Display and Visualization Functions. +Copyright (c) 2017 Matterport, Inc. +Licensed under the MIT License (see LICENSE for details) +Written by Waleed Abdulla +""" + +import os +import sys +import random +import itertools +import colorsys + +import numpy as np +from skimage.measure import find_contours +import matplotlib.pyplot as plt +from matplotlib import patches, lines +from matplotlib.patches import Polygon +import IPython.display + +# Root directory of the project +ROOT_DIR = os.path.abspath("../") + +# Import Mask RCNN +sys.path.append(ROOT_DIR) # To find local version of the library +import utils + + +############################################################ +# Visualization +############################################################ + +def display_images(images, titles=None, cols=4, cmap=None, norm=None, + interpolation=None): + """Display the given set of images, optionally with titles. + images: list or array of image tensors in HWC format. + titles: optional. A list of titles to display with each image. + cols: number of images per row + cmap: Optional. Color map to use. For example, "Blues". + norm: Optional. A Normalize instance to map values to colors. + interpolation: Optional. Image interpolation to use for display. + """ + titles = titles if titles is not None else [""] * len(images) + rows = len(images) // cols + 1 + plt.figure(figsize=(14, 14 * rows // cols)) + i = 1 + for image, title in zip(images, titles): + plt.subplot(rows, cols, i) + plt.title(title, fontsize=9) + plt.axis('off') + plt.imshow(image.astype(np.uint8), cmap=cmap, + norm=norm, interpolation=interpolation) + i += 1 + plt.show() + + +def random_colors(N, bright=True): + """ + Generate random colors. + To get visually distinct colors, generate them in HSV space then + convert to RGB. + """ + brightness = 1.0 if bright else 0.7 + hsv = [(i / N, 1, brightness) for i in range(N)] + colors = list(map(lambda c: colorsys.hsv_to_rgb(*c), hsv)) + random.shuffle(colors) + return colors + + +def apply_mask(image, mask, color, alpha=0.5): + """Apply the given mask to the image. + """ + for c in range(3): + image[:, :, c] = np.where(mask == 1, + image[:, :, c] * + (1 - alpha) + alpha * color[c] * 255, + image[:, :, c]) + return image + + +def display_instances(image, boxes, masks, class_ids, class_names, + scores=None, title="", + figsize=(16, 16), ax=None, + show_mask=True, show_bbox=True, + colors=None, captions=None): + """ + boxes: [num_instance, (y1, x1, y2, x2, class_id)] in image coordinates. + masks: [height, width, num_instances] + class_ids: [num_instances] + class_names: list of class names of the dataset + scores: (optional) confidence scores for each box + title: (optional) Figure title + show_mask, show_bbox: To show masks and bounding boxes or not + figsize: (optional) the size of the image + colors: (optional) An array or colors to use with each object + captions: (optional) A list of strings to use as captions for each object + """ + # Number of instances + N = boxes.shape[0] + if not N: + print("\n*** No instances to display *** \n") + else: + assert boxes.shape[0] == masks.shape[-1] == class_ids.shape[0] + + # If no axis is passed, create one and automatically call show() + auto_show = False + if not ax: + _, ax = plt.subplots(1, figsize=figsize) + auto_show = True + + # Generate random colors + colors = colors or random_colors(N) + + # Show area outside image boundaries. + height, width = image.shape[:2] + ax.set_ylim(height + 10, -10) + ax.set_xlim(-10, width + 10) + ax.axis('off') + ax.set_title(title) + + masked_image = image.astype(np.uint32).copy() + for i in range(N): + color = colors[i] + + # Bounding box + if not np.any(boxes[i]): + # Skip this instance. Has no bbox. Likely lost in image cropping. + continue + y1, x1, y2, x2 = boxes[i] + if show_bbox: + p = patches.Rectangle((x1, y1), x2 - x1, y2 - y1, linewidth=2, + alpha=0.7, linestyle="dashed", + edgecolor=color, facecolor='none') + ax.add_patch(p) + + # Label + if not captions: + class_id = class_ids[i] + score = scores[i] if scores is not None else None + label = class_names[class_id] + x = random.randint(x1, (x1 + x2) // 2) + caption = "{} {:.3f}".format(label, score) if score else label + else: + caption = captions[i] + ax.text(x1, y1 + 8, caption, + color='w', size=11, backgroundcolor="none") + + # Mask + mask = masks[:, :, i] + if show_mask: + masked_image = apply_mask(masked_image, mask, color) + + # Mask Polygon + # Pad to ensure proper polygons for masks that touch image edges. + padded_mask = np.zeros( + (mask.shape[0] + 2, mask.shape[1] + 2), dtype=np.uint8) + padded_mask[1:-1, 1:-1] = mask + contours = find_contours(padded_mask, 0.5) + for verts in contours: + # Subtract the padding and flip (y, x) to (x, y) + verts = np.fliplr(verts) - 1 + p = Polygon(verts, facecolor="none", edgecolor=color) + ax.add_patch(p) + ax.imshow(masked_image.astype(np.uint8)) + if auto_show: + plt.show() + + +def display_differences(image, + gt_box, gt_class_id, gt_mask, + pred_box, pred_class_id, pred_score, pred_mask, + class_names, title="", ax=None, + show_mask=True, show_box=True, + iou_threshold=0.5, score_threshold=0.5): + """Display ground truth and prediction instances on the same image.""" + # Match predictions to ground truth + gt_match, pred_match, overlaps = utils.compute_matches( + gt_box, gt_class_id, gt_mask, + pred_box, pred_class_id, pred_score, pred_mask, + iou_threshold=iou_threshold, score_threshold=score_threshold) + # Ground truth = green. Predictions = red + colors = [(0, 1, 0, .8)] * len(gt_match)\ + + [(1, 0, 0, 1)] * len(pred_match) + # Concatenate GT and predictions + class_ids = np.concatenate([gt_class_id, pred_class_id]) + scores = np.concatenate([np.zeros([len(gt_match)]), pred_score]) + boxes = np.concatenate([gt_box, pred_box]) + masks = np.concatenate([gt_mask, pred_mask], axis=-1) + # Captions per instance show score/IoU + captions = ["" for m in gt_match] + ["{:.2f} / {:.2f}".format( + pred_score[i], + (overlaps[i, int(pred_match[i])] + if pred_match[i] > -1 else overlaps[i].max())) + for i in range(len(pred_match))] + # Set title if not provided + title = title or "Ground Truth and Detections\n GT=green, pred=red, captions: score/IoU" + # Display + display_instances( + image, + boxes, masks, class_ids, + class_names, scores, ax=ax, + show_bbox=show_box, show_mask=show_mask, + colors=colors, captions=captions, + title=title) + + +def draw_rois(image, rois, refined_rois, mask, class_ids, class_names, limit=10): + """ + anchors: [n, (y1, x1, y2, x2)] list of anchors in image coordinates. + proposals: [n, 4] the same anchors but refined to fit objects better. + """ + masked_image = image.copy() + + # Pick random anchors in case there are too many. + ids = np.arange(rois.shape[0], dtype=np.int32) + ids = np.random.choice( + ids, limit, replace=False) if ids.shape[0] > limit else ids + + fig, ax = plt.subplots(1, figsize=(12, 12)) + if rois.shape[0] > limit: + plt.title("Showing {} random ROIs out of {}".format( + len(ids), rois.shape[0])) + else: + plt.title("{} ROIs".format(len(ids))) + + # Show area outside image boundaries. + ax.set_ylim(image.shape[0] + 20, -20) + ax.set_xlim(-50, image.shape[1] + 20) + ax.axis('off') + + for i, id in enumerate(ids): + color = np.random.rand(3) + class_id = class_ids[id] + # ROI + y1, x1, y2, x2 = rois[id] + p = patches.Rectangle((x1, y1), x2 - x1, y2 - y1, linewidth=2, + edgecolor=color if class_id else "gray", + facecolor='none', linestyle="dashed") + ax.add_patch(p) + # Refined ROI + if class_id: + ry1, rx1, ry2, rx2 = refined_rois[id] + p = patches.Rectangle((rx1, ry1), rx2 - rx1, ry2 - ry1, linewidth=2, + edgecolor=color, facecolor='none') + ax.add_patch(p) + # Connect the top-left corners of the anchor and proposal for easy visualization + ax.add_line(lines.Line2D([x1, rx1], [y1, ry1], color=color)) + + # Label + label = class_names[class_id] + ax.text(rx1, ry1 + 8, "{}".format(label), + color='w', size=11, backgroundcolor="none") + + # Mask + m = utils.unmold_mask(mask[id], rois[id] + [:4].astype(np.int32), image.shape) + masked_image = apply_mask(masked_image, m, color) + + ax.imshow(masked_image) + + # Print stats + print("Positive ROIs: ", class_ids[class_ids > 0].shape[0]) + print("Negative ROIs: ", class_ids[class_ids == 0].shape[0]) + print("Positive Ratio: {:.2f}".format( + class_ids[class_ids > 0].shape[0] / class_ids.shape[0])) + + +# TODO: Replace with matplotlib equivalent? +def draw_box(image, box, color): + """Draw 3-pixel width bounding boxes on the given image array. + color: list of 3 int values for RGB. + """ + y1, x1, y2, x2 = box + image[y1:y1 + 2, x1:x2] = color + image[y2:y2 + 2, x1:x2] = color + image[y1:y2, x1:x1 + 2] = color + image[y1:y2, x2:x2 + 2] = color + return image + + +def display_top_masks(image, mask, class_ids, class_names, limit=4): + """Display the given image and the top few class masks.""" + to_display = [] + titles = [] + to_display.append(image) + titles.append("H x W={}x{}".format(image.shape[0], image.shape[1])) + # Pick top prominent classes in this image + unique_class_ids = np.unique(class_ids) + mask_area = [np.sum(mask[:, :, np.where(class_ids == i)[0]]) + for i in unique_class_ids] + top_ids = [v[0] for v in sorted(zip(unique_class_ids, mask_area), + key=lambda r: r[1], reverse=True) if v[1] > 0] + # Generate images and titles + for i in range(limit): + class_id = top_ids[i] if i < len(top_ids) else -1 + # Pull masks of instances belonging to the same class. + m = mask[:, :, np.where(class_ids == class_id)[0]] + m = np.sum(m * np.arange(1, m.shape[-1] + 1), -1) + to_display.append(m) + titles.append(class_names[class_id] if class_id != -1 else "-") + display_images(to_display, titles=titles, cols=limit + 1, cmap="Blues_r") + + +def plot_precision_recall(AP, precisions, recalls): + """Draw the precision-recall curve. + AP: Average precision at IoU >= 0.5 + precisions: list of precision values + recalls: list of recall values + """ + # Plot the Precision-Recall curve + _, ax = plt.subplots(1) + ax.set_title("Precision-Recall Curve. AP@50 = {:.3f}".format(AP)) + ax.set_ylim(0, 1.1) + ax.set_xlim(0, 1.1) + _ = ax.plot(recalls, precisions) + + +def plot_overlaps(gt_class_ids, pred_class_ids, pred_scores, + overlaps, class_names, threshold=0.5): + """Draw a grid showing how ground truth objects are classified. + gt_class_ids: [N] int. Ground truth class IDs + pred_class_id: [N] int. Predicted class IDs + pred_scores: [N] float. The probability scores of predicted classes + overlaps: [pred_boxes, gt_boxes] IoU overlaps of predictions and GT boxes. + class_names: list of all class names in the dataset + threshold: Float. The prediction probability required to predict a class + """ + gt_class_ids = gt_class_ids[gt_class_ids != 0] + pred_class_ids = pred_class_ids[pred_class_ids != 0] + + plt.figure(figsize=(12, 10)) + plt.imshow(overlaps, interpolation='nearest', cmap=plt.cm.Blues) + plt.yticks(np.arange(len(pred_class_ids)), + ["{} ({:.2f})".format(class_names[int(id)], pred_scores[i]) + for i, id in enumerate(pred_class_ids)]) + plt.xticks(np.arange(len(gt_class_ids)), + [class_names[int(id)] for id in gt_class_ids], rotation=90) + + thresh = overlaps.max() / 2. + for i, j in itertools.product(range(overlaps.shape[0]), + range(overlaps.shape[1])): + text = "" + if overlaps[i, j] > threshold: + text = "match" if gt_class_ids[j] == pred_class_ids[i] else "wrong" + color = ("white" if overlaps[i, j] > thresh + else "black" if overlaps[i, j] > 0 + else "grey") + plt.text(j, i, "{:.3f}\n{}".format(overlaps[i, j], text), + horizontalalignment="center", verticalalignment="center", + fontsize=9, color=color) + + plt.tight_layout() + plt.xlabel("Ground Truth") + plt.ylabel("Predictions") + + +def draw_boxes(image, boxes=None, refined_boxes=None, + masks=None, captions=None, visibilities=None, + title="", ax=None): + """Draw bounding boxes and segmentation masks with different + customizations. + boxes: [N, (y1, x1, y2, x2, class_id)] in image coordinates. + refined_boxes: Like boxes, but draw with solid lines to show + that they're the result of refining 'boxes'. + masks: [N, height, width] + captions: List of N titles to display on each box + visibilities: (optional) List of values of 0, 1, or 2. Determine how + prominent each bounding box should be. + title: An optional title to show over the image + ax: (optional) Matplotlib axis to draw on. + """ + # Number of boxes + assert boxes is not None or refined_boxes is not None + N = boxes.shape[0] if boxes is not None else refined_boxes.shape[0] + + # Matplotlib Axis + if not ax: + _, ax = plt.subplots(1, figsize=(12, 12)) + + # Generate random colors + colors = random_colors(N) + + # Show area outside image boundaries. + margin = image.shape[0] // 10 + ax.set_ylim(image.shape[0] + margin, -margin) + ax.set_xlim(-margin, image.shape[1] + margin) + ax.axis('off') + + ax.set_title(title) + + masked_image = image.astype(np.uint32).copy() + for i in range(N): + # Box visibility + visibility = visibilities[i] if visibilities is not None else 1 + if visibility == 0: + color = "gray" + style = "dotted" + alpha = 0.5 + elif visibility == 1: + color = colors[i] + style = "dotted" + alpha = 1 + elif visibility == 2: + color = colors[i] + style = "solid" + alpha = 1 + + # Boxes + if boxes is not None: + if not np.any(boxes[i]): + # Skip this instance. Has no bbox. Likely lost in cropping. + continue + y1, x1, y2, x2 = boxes[i] + p = patches.Rectangle((x1, y1), x2 - x1, y2 - y1, linewidth=2, + alpha=alpha, linestyle=style, + edgecolor=color, facecolor='none') + ax.add_patch(p) + + # Refined boxes + if refined_boxes is not None and visibility > 0: + ry1, rx1, ry2, rx2 = refined_boxes[i].astype(np.int32) + p = patches.Rectangle((rx1, ry1), rx2 - rx1, ry2 - ry1, linewidth=2, + edgecolor=color, facecolor='none') + ax.add_patch(p) + # Connect the top-left corners of the anchor and proposal + if boxes is not None: + ax.add_line(lines.Line2D([x1, rx1], [y1, ry1], color=color)) + + # Captions + if captions is not None: + caption = captions[i] + # If there are refined boxes, display captions on them + if refined_boxes is not None: + y1, x1, y2, x2 = ry1, rx1, ry2, rx2 + x = random.randint(x1, (x1 + x2) // 2) + ax.text(x1, y1, caption, size=11, verticalalignment='top', + color='w', backgroundcolor="none", + bbox={'facecolor': color, 'alpha': 0.5, + 'pad': 2, 'edgecolor': 'none'}) + + # Masks + if masks is not None: + mask = masks[:, :, i] + masked_image = apply_mask(masked_image, mask, color) + # Mask Polygon + # Pad to ensure proper polygons for masks that touch image edges. + padded_mask = np.zeros( + (mask.shape[0] + 2, mask.shape[1] + 2), dtype=np.uint8) + padded_mask[1:-1, 1:-1] = mask + contours = find_contours(padded_mask, 0.5) + for verts in contours: + # Subtract the padding and flip (y, x) to (x, y) + verts = np.fliplr(verts) - 1 + p = Polygon(verts, facecolor="none", edgecolor=color) + ax.add_patch(p) + ax.imshow(masked_image.astype(np.uint8)) + + +def display_table(table): + """Display values in a table format. + table: an iterable of rows, and each row is an iterable of values. + """ + html = "" + for row in table: + row_html = "" + for col in row: + row_html += "{:40}".format(str(col)) + html += "" + row_html + "" + html = "" + html + "
" + IPython.display.display(IPython.display.HTML(html)) + + +def display_weight_stats(model): + """Scans all the weights in the model and returns a list of tuples + that contain stats about each weight. + """ + layers = model.get_trainable_layers() + table = [["WEIGHT NAME", "SHAPE", "MIN", "MAX", "STD"]] + for l in layers: + weight_values = l.get_weights() # list of Numpy arrays + weight_tensors = l.weights # list of TF tensors + for i, w in enumerate(weight_values): + weight_name = weight_tensors[i].name + # Detect problematic layers. Exclude biases of conv layers. + alert = "" + if w.min() == w.max() and not (l.__class__.__name__ == "Conv2D" and i == 1): + alert += "*** dead?" + if np.abs(w.min()) > 1000 or np.abs(w.max()) > 1000: + alert += "*** Overflow?" + # Add row + table.append([ + weight_name + alert, + str(w.shape), + "{:+9.4f}".format(w.min()), + "{:+10.4f}".format(w.max()), + "{:+9.4f}".format(w.std()), + ]) + display_table(table) \ No newline at end of file From 7c04ed22ab804200079af14b5843b1979b1059bb Mon Sep 17 00:00:00 2001 From: pshivraj Date: Thu, 14 Feb 2019 12:19:09 -0800 Subject: [PATCH 02/11] Adding custom config file --- mrcnn/scripts/config.py | 73 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 71 insertions(+), 2 deletions(-) diff --git a/mrcnn/scripts/config.py b/mrcnn/scripts/config.py index edc5803..84c4b8c 100644 --- a/mrcnn/scripts/config.py +++ b/mrcnn/scripts/config.py @@ -6,7 +6,8 @@ Written by Waleed Abdulla https://github.com/matterport/Mask_RCNN -New class added by team clomask +New classes by team clomask: + - ClomaskConfig() """ import os @@ -248,6 +249,74 @@ def display(self): class ClomaskConfig(Config): """ - Mask RCNN configuration for 2018 Data Science Bowl + Mask RCNN configuration for Clomask """ + + # Give the configuration a recognizable name NAME = "clomask" + + # Image resize mode ['crop', 'square', 'pad64'] + IMAGE_RESIZE_MODE = 'crop' + + # Optimizer, default is 'SGD' + OPTIMIZER = 'ADAM' + + # Train on 1 GPU and 2 images per GPU. + GPU_COUNT = 1 + IMAGES_PER_GPU = 2 + + # Number of classes (including background) + NUM_CLASSES = 1 + 3 # background + bottles + candy_boxes + chips_bag + + # Input image resing + # Images are resized such that the smallest side is >= IMAGE_MIN_DIM and + # the longest side is <= IMAGE_MAX_DIM. In case both conditions can't + # be satisfied together the IMAGE_MAX_DIM is enforced. + IMAGE_MIN_DIM = 512 + IMAGE_MAX_DIM = 512 + + IMAGE_MIN_SCALE = 0 + + # Backbone encoder architecture + BACKBONE = 'resnet101' + + # Using default anchors as object size is not too small. + RPN_ANCHOR_SCALES = (16, 32, 64, 128, 256) + + # How many anchors per image to use for RPN training + RPN_TRAIN_ANCHORS_PER_IMAGE = 320 # + + # ROIs kept after non-maximum supression (training and inference) + POST_NMS_ROIS_TRAINING = 2048 + POST_NMS_ROIS_INFERENCE = 2048 + IMAGE_COLOR = 'RGB' + + # Number of ROIs per image to feed to classifier/mask heads + TRAIN_ROIS_PER_IMAGE = 512 + + # Non-max suppression threshold to filter RPN proposals. + # Can be increased during training to generate more proposals. + RPN_NMS_THRESHOLD = 0.7 + # Maximum number of ground truth instances to use in one image + # We set this to 300 as we have control over how many masks we have in an image. + MAX_GT_INSTANCES = 300 + + # Max number of final detections + DETECTION_MAX_INSTANCES = 300 + + # Minimum probability value to accept a detected instance + # ROIs below this threshold are skipped + DETECTION_MIN_CONFIDENCE = 0.75 + + # Non-maximum suppression threshold for detection + DETECTION_NMS_THRESHOLD = 0.3 # 0.3 + + # Threshold number for mask binarization, only used in inference mode + DETECTION_MASK_THRESHOLD = 0.35 + +# Root directory of the project +ROOT_DIR = '../mask_data/' + +# Directory to save logs and trained model weights for tensorboard visualization and prediction. +MODEL_DIR = '../mask_data/logs' + From 2f3e501f59aac244eeba1632f457b23b5bc803a4 Mon Sep 17 00:00:00 2001 From: pshivraj Date: Thu, 14 Feb 2019 12:31:58 -0800 Subject: [PATCH 03/11] Added more default paths --- mrcnn/scripts/config.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mrcnn/scripts/config.py b/mrcnn/scripts/config.py index 84c4b8c..aab2411 100644 --- a/mrcnn/scripts/config.py +++ b/mrcnn/scripts/config.py @@ -22,7 +22,6 @@ from skimage.color import rgb2hed from skimage.exposure import rescale_intensity from scipy.ndimage.morphology import binary_fill_holes -from tqdm import tqdm class Config(object): @@ -101,7 +100,7 @@ class Config(object): # How many anchors per image to use for RPN training RPN_TRAIN_ANCHORS_PER_IMAGE = 256 - + # ROIs kept after tf.nn.top_k and before non-maximum suppression PRE_NMS_LIMIT = 6000 @@ -320,3 +319,8 @@ class ClomaskConfig(Config): # Directory to save logs and trained model weights for tensorboard visualization and prediction. MODEL_DIR = '../mask_data/logs' +TRAIN_PATH = '../data/train_image/' + +IMAGE_PATH = '/train_image/' + +MASK_PATH = '/train_mask/' From bdc5e3db7f4b05ec4417a0a2c2104288f8b2a764 Mon Sep 17 00:00:00 2001 From: pshivraj Date: Thu, 14 Feb 2019 12:34:16 -0800 Subject: [PATCH 04/11] Added pre processing file implementing h5 --- mrcnn/scripts/pre_process.py | 52 +++++++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 4 deletions(-) diff --git a/mrcnn/scripts/pre_process.py b/mrcnn/scripts/pre_process.py index 10e1eeb..1fc6151 100644 --- a/mrcnn/scripts/pre_process.py +++ b/mrcnn/scripts/pre_process.py @@ -1,4 +1,48 @@ -""" -Helper function to save masks as h5 files to make loading masks faster and hence -faster training time. -""" \ No newline at end of file +from config import * +import time +import numpy as np +import os +import cv2 +import h5py +import gc + + +def mask_to_h5(train_path): + """ + Generating masks and saving to .h5 file for faster training. + """ + train_ids = list(os.listdir(train_path)) + for i, id_ in enumerate(train_ids): + path = train_path + id_ + if os.path.exists(path + IMAGE_PATH + id_ + '.h5'): + os.remove(path + IMAGE_PATH + id_ + '.h5') + if os.path.exists(path + MASK_PATH + id_ + '.h5'): + os.remove(path + MASK_PATH + id_ + '.h5') + mask = [] + label_array = [] + for mask_file in next(os.walk(path + MASK_PATH))[2]: + if 'png' in mask_file: + class_id = int(mask_file.split('$')[1][:-4]) + label_array.append(class_id) + mask_ = cv2.imread(path + MASK_PATH + mask_file, 0) + i += 1 + mask_ = np.where(mask_ > 128, 1, 0) + # Add mask only if its area is larger than one pixel + if np.sum(mask_) >= 1: + mask.append(np.squeeze(mask_)) + mask = np.stack(mask, axis=-1) + mask = mask.astype(np.uint8) + fname = path + MASK_PATH + id_ + '.h5' + with h5py.File(fname, "w") as hf: + hf.create_dataset("mask_images", data=mask) + hf.create_dataset("labels", data=label_array) + # removing mask incase of memory issue + del mask + gc.collect() + print('Done with file-{}'.format(i)) + + +if __name__ == '__main__': + start = time.time() + mask_to_h5(train_path) + print('Elapsed time', round((time.time() - start)/60, 1), 'minutes') From 2c4295bd3809ef0ff1ad3e53769e5f23bab93e2e Mon Sep 17 00:00:00 2001 From: pshivraj Date: Thu, 14 Feb 2019 12:37:54 -0800 Subject: [PATCH 05/11] Added parent docstring --- mrcnn/scripts/pre_process.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mrcnn/scripts/pre_process.py b/mrcnn/scripts/pre_process.py index 1fc6151..2142f9f 100644 --- a/mrcnn/scripts/pre_process.py +++ b/mrcnn/scripts/pre_process.py @@ -1,3 +1,7 @@ +""" +Script to pre process masks file and convert to H5 files creating stiched masks for faster training time +""" + from config import * import time import numpy as np From 2945ef34dc5381af47bae5361e4020d000d8ed6d Mon Sep 17 00:00:00 2001 From: pshivraj Date: Thu, 14 Feb 2019 12:38:18 -0800 Subject: [PATCH 06/11] More parent docstring --- mrcnn/scripts/pre_process.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mrcnn/scripts/pre_process.py b/mrcnn/scripts/pre_process.py index 2142f9f..ebcf8f8 100644 --- a/mrcnn/scripts/pre_process.py +++ b/mrcnn/scripts/pre_process.py @@ -1,5 +1,6 @@ """ -Script to pre process masks file and convert to H5 files creating stiched masks for faster training time +Script to pre process mask files and convert to H5 files creating stiched masks and mask label list +for faster training time and multiclassification. """ from config import * From cbbefb8f7bea9899d5e765eee9b4a1c1d9e681f5 Mon Sep 17 00:00:00 2001 From: pshivraj Date: Thu, 14 Feb 2019 15:04:35 -0800 Subject: [PATCH 07/11] Remove helper function load_image to train --- mrcnn/scripts/config.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mrcnn/scripts/config.py b/mrcnn/scripts/config.py index aab2411..e3ce666 100644 --- a/mrcnn/scripts/config.py +++ b/mrcnn/scripts/config.py @@ -319,8 +319,12 @@ class ClomaskConfig(Config): # Directory to save logs and trained model weights for tensorboard visualization and prediction. MODEL_DIR = '../mask_data/logs' -TRAIN_PATH = '../data/train_image/' +TRAIN_PATH = '../mask_data/train_image/' + +TEST_PATH = '../mask_data/test_image/' IMAGE_PATH = '/train_image/' MASK_PATH = '/train_mask/' + +COCO_PATH = '../mask_data/mask_rcnn_coco.h5' \ No newline at end of file From aeef9d677796f7b92a5f2021376eb734d95a5f68 Mon Sep 17 00:00:00 2001 From: pshivraj Date: Thu, 14 Feb 2019 15:05:55 -0800 Subject: [PATCH 08/11] Added model train file --- mrcnn/scripts/train.py | 188 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 187 insertions(+), 1 deletion(-) diff --git a/mrcnn/scripts/train.py b/mrcnn/scripts/train.py index 4c27225..bb68731 100644 --- a/mrcnn/scripts/train.py +++ b/mrcnn/scripts/train.py @@ -1,3 +1,189 @@ """ -Training module for maskrcnn on Bottles, Bags and Candy bags. +Training module for maskrcnn on Bottles, Boxes and Candy bags. """ + +from config import * +import h5py +from imgaug import augmenters as iaa +from sklearn.model_selection import train_test_split +from random import randint +import numpy as np + + +class ClomaskDataset(utils.Dataset): + """ + Class wrapper for clomask dataset. + """ + + def load_shapes(self, id_list, train_path): + """ + Initialize the class with dataset info. + """ + # Add classes + self.add_class('clomask', 1, "bottles") + self.add_class('clomask', 2, "boxes") + self.add_class('clomask', 3, "bags") + self.train_path = train_path + # Add images + for i, id_ in enumerate(id_list): + self.add_image('clomask', image_id=i, path=None, + img_name=id_) + + def _load_img(self, fname): + """ + Reading image file from a path. + """ + img = cv2.imread(fname) + img = cv2.cvtColor(img, cv2.COLOR_BGRA2RGB) + return img + + def load_image(self, image_id, color): + """ + Load image from directory + """ + info = self.image_info[image_id] + path = self.train_path + info['img_name'] + \ + IMAGE_PATH + info['img_name'] + '.png' + try: + img = self._load_img(path) + except: + path = self.train_path + info['img_name'] + \ + IMAGE_PATH + info['img_name'] + '.jpg' + img = self._load_img(path) + return img + + def image_reference(self, image_id): + """ + Return the images data of the image. + """ + info = self.image_info[image_id] + return info['path'] + + def load_mask(self, image_id): + """ + Generate instance masks for images of the given image ID. + """ + + info = self.image_info[image_id] + path = self.train_path + info['img_name'] + \ + MASK_PATH + info['img_name'] + '.h5' + if os.path.exists(path): + with h5py.File(path, "r") as hf: + mask = hf["mask_images"][()] + class_ids = hf["labels"][()] + else: + path = self.train_path + info['img_name'] + mask = [] + label_array = [] + for mask_file in next(os.walk(path + MASK_PATH))[2]: + if 'png' in mask_file: + # these lines have been commented out due to invalid test data file name + # class_id = int(mask_file.split('$')[1][:-4]) + # label_array.append(class_id) + mask_ = cv2.imread(path + MASK_PATH + mask_file, 0) + mask_ = np.where(mask_ > 128, 1, 0) + # Add mask only if its area is larger than one pixel + if np.sum(mask_) >= 1: + mask.append(np.squeeze(mask_)) + mask = np.stack(mask, axis=-1) + class_ids = np.ones(mask.shape[2]) + return mask.astype(np.uint8), class_ids.astype(np.int8) + + +class ClomaskTrain(object): + """ + Training class for clomask dataset. + """ + + def __init__(self): + self.init_weights = 'coco' + self.config = ClomaskConfig() + self.learning_rate_one = 1e-4 + self.learning_rate_two = 1e-5 + self.learning_rate_three = 1e-6 + self.train_data = None + self.val_data = None + + def prepare_dataset(self): + + train_list, test_list = os.listdir(TRAIN_PATH), os.listdir(TEST_PATH) + # train_list, val_list = train_test_split(os.listdir(train_path), test_size=0.1, + # random_state=2019) + + # Use this for explode the training data for use in augmentation. + # train_list = np.repeat(train_list,5) + + # initialize training dataset + train_data = ClomaskDataset() + train_data.load_shapes(train_list, TRAIN_PATH) + train_data.prepare() + + # initialize validation dataset + validation_data = ClomaskDataset() + validation_data.load_shapes(test_list, TEST_PATH) + validation_data.prepare() + # Create model configuration in training mode + + self.config.STEPS_PER_EPOCH = len(train_list)//self.config.BATCH_SIZE + self.config.VALIDATION_STEPS = len(test_list)//self.config.BATCH_SIZE + + self.train_data = train_data + self.val_data = validation_data + + def weight_initialize(self): + """ + Loading Model weights to start training with + """ + self.model = modellib.MaskRCNN(mode="training", config=self.config, model_dir=MODEL_DIR) + if self.init_weights == "imagenet": + weights_path = self.model.get_imagenet_weights() + self.model.load_weights(weights_path, by_name=True, exclude=["mrcnn_class_logits", "mrcnn_bbox_fc", + "mrcnn_bbox", "mrcnn_mask"]) + elif self.init_weights == "coco": + weights_path = COCO_PATH + self.model.load_weights(weights_path, by_name=True, exclude=["mrcnn_class_logits", "mrcnn_bbox_fc", + "mrcnn_bbox", "mrcnn_mask"]) + + def model_train(self): + + augmentation = iaa.Sequential([ + iaa.Fliplr(0.5), + iaa.Flipud(0.5), + iaa.OneOf([iaa.Affine(rotate=0), + iaa.Affine(rotate=90), + iaa.Affine(rotate=180), + iaa.Affine(rotate=270)]), + iaa.Sometimes(0.5, iaa.Affine(rotate=(-10, 10))), + iaa.Sometimes(0.5, iaa.Affine(scale=randint(2, 3))) + ]) + # Start Training the model + + self.model.train(self.train_data, self.val_data, + learning_rate=self.learning_rate_one, + epochs=5, + layers='heads') + + self.model.train(self.train_data, self.val_data, + learning_rate=self.learning_rate_two, + epochs=30, + layers='all', + augmentation=augmentation) + + self.model.train(self.train_data, self.val_data, + learning_rate=self.learning_rate_three, + epochs=60, + layers='all', + augmentation=augmentation) + + +def main(): + Clomasktrain = ClomaskTrain() + Clomasktrain.prepare_dataset() + Clomasktrain.weight_initialize() + Clomasktrain.model_train() + + +if __name__ == '__main__': + start = time.time() + main() + print('Elapsed time', round((time.time() - start)/60, 1), 'minutes') \ No newline at end of file From d73cc04e3adb154c28ad33c7716913641824e50d Mon Sep 17 00:00:00 2001 From: pshivraj Date: Thu, 14 Feb 2019 19:02:06 -0800 Subject: [PATCH 09/11] Fixed big files --- .../bottles_73/train_image/bottles_73.jpg | Bin 0 -> 160437 bytes .../train_mask/bottles_73_mask_0.png | Bin 0 -> 18221 bytes .../train_mask/bottles_73_mask_1.png | Bin 0 -> 17081 bytes .../train_mask/bottles_73_mask_10.png | Bin 0 -> 17202 bytes .../train_mask/bottles_73_mask_11.png | Bin 0 -> 17965 bytes .../train_mask/bottles_73_mask_12.png | Bin 0 -> 17643 bytes .../train_mask/bottles_73_mask_13.png | Bin 0 -> 17883 bytes .../train_mask/bottles_73_mask_14.png | Bin 0 -> 17843 bytes .../train_mask/bottles_73_mask_15.png | Bin 0 -> 17826 bytes .../train_mask/bottles_73_mask_16.png | Bin 0 -> 16618 bytes .../train_mask/bottles_73_mask_17.png | Bin 0 -> 17062 bytes .../train_mask/bottles_73_mask_18.png | Bin 0 -> 16762 bytes .../train_mask/bottles_73_mask_2.png | Bin 0 -> 17563 bytes .../train_mask/bottles_73_mask_3.png | Bin 0 -> 16672 bytes .../train_mask/bottles_73_mask_4.png | Bin 0 -> 17544 bytes .../train_mask/bottles_73_mask_5.png | Bin 0 -> 17654 bytes .../train_mask/bottles_73_mask_6.png | Bin 0 -> 17777 bytes .../train_mask/bottles_73_mask_7.png | Bin 0 -> 17804 bytes .../train_mask/bottles_73_mask_8.png | Bin 0 -> 17811 bytes .../train_mask/bottles_73_mask_9.png | Bin 0 -> 17801 bytes .../image_11_2019_02_06_06_10_25.png | Bin 0 -> 369921 bytes .../image_11_2019_02_06_06_10_25.h5 | Bin 0 -> 16386208 bytes .../train_mask/mask_01$3.png | Bin 0 -> 2730 bytes .../train_mask/mask_02$3.png | Bin 0 -> 2789 bytes .../train_mask/mask_03$3.png | Bin 0 -> 2738 bytes .../train_mask/mask_04$3.png | Bin 0 -> 2708 bytes .../train_mask/mask_11$3.png | Bin 0 -> 2153 bytes .../train_mask/mask_12$3.png | Bin 0 -> 3017 bytes .../train_mask/mask_13$3.png | Bin 0 -> 2978 bytes .../train_mask/mask_21$3.png | Bin 0 -> 2849 bytes .../train_mask/mask_22$3.png | Bin 0 -> 2914 bytes .../train_mask/mask_23$3.png | Bin 0 -> 2887 bytes .../train_mask/mask_24$3.png | Bin 0 -> 2894 bytes .../train_mask/mask_31$1.png | Bin 0 -> 2810 bytes .../train_mask/mask_32$1.png | Bin 0 -> 2840 bytes .../train_mask/mask_33$1.png | Bin 0 -> 2810 bytes .../train_mask/mask_34$1.png | Bin 0 -> 2706 bytes .../train_mask/mask_35$3.png | Bin 0 -> 2883 bytes .../train_mask/mask_41$3.png | Bin 0 -> 2154 bytes .../train_mask/mask_42$3.png | Bin 0 -> 3800 bytes .../train_mask/mask_43$3.png | Bin 0 -> 3766 bytes .../train_mask/mask_44$3.png | Bin 0 -> 2250 bytes mrcnn/scripts/train.py | 13 +++++++++---- 43 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_image/bottles_73.jpg create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_0.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_1.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_10.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_11.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_12.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_13.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_14.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_15.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_16.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_17.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_18.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_2.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_3.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_4.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_5.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_6.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_7.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_8.png create mode 100644 mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_9.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_image/image_11_2019_02_06_06_10_25.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/image_11_2019_02_06_06_10_25.h5 create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_01$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_02$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_03$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_04$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_11$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_12$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_13$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_21$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_22$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_23$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_24$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_31$1.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_32$1.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_33$1.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_34$1.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_35$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_41$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_42$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_43$3.png create mode 100644 mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_44$3.png diff --git a/mrcnn/mask_data/test_image/bottles_73/train_image/bottles_73.jpg b/mrcnn/mask_data/test_image/bottles_73/train_image/bottles_73.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a657ec335aad91f8bcf33f5d05c69ead0ba6cffa GIT binary patch literal 160437 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 VUjrRoS|NL^+;Rj)zd+yo$ z?EUR;fA{1rb}f#Ry1BgNf)H|xiH=%|&`h8o zUa(}_V&7u@g|e}pQ4wWcX;ZBv;ZHoKQqnrh&GkL3^)y+GC{xcL7PP1hoXNsb(je705QOFvNV*k$PWm0aCB* zFP4i$r~$RtPULz;+H?_0%kJnF$Dt&)K!zL02_8?41aQe*80b;l{A*vUFkBXlHAAVAWJ{*Tq3sP%N|22N+FQXq3F z?cHB&aMHOeEYaL5#zOGL``kdC*emm*+%BFp;H}DDjkStO=*ma(`3ofI;PusS;u{KR z+E^ex+gHrf?WE=LKDll2wC3KR(B5WiZeM8(gfK`=l zJec3}f&A|NAuo=q{;QoJKn$H|JnVwVt;PZj5F%IC9|* zKFDMWqi0o+2w5)Woc|0GA2B8OOGgdmgEhKI-2m=uer|r(Q7UR4k1_d85TRLzj`A@& z)&e^2-IMhu)5cG|k7Jyr&x6s6N7^?lsPyLZ+r2PmK(Qa*RB`r86f$6!#dF)%NWq5w zwsM;U$cgDxJ5W;v*^Q_Fe9{W_*1F;VCIW$VKR|24-yl{GJiW$a&Ika`*wJ=mZY)ab zU1P!YQUiFa$*e1X9DvfcCpO{OEQKg+DLP*2juZw%H?HaD0LAAa1Jg&t=cqk4cgKE< zAuKTxvHfFJ#yp);n>%o?uDl$lOHf|`Rd%Ve==M_Nv+2{(*lGj7cZa)1J^*nsHV#u2 zVEpISKjg3{E&qXf3?9!}0tD?>CT@UYS}AYlym|4Qvd3d6uVKGx`4ypO*WsoS450{) z7?`bwPkn`Ls>4kMtgg6kYm1VgMTu_1>{<E|*TPUfJ=$pEkaC z=nnz6B@wupC!Le+Po@9qZ5+hbpeqJ!xn}yHR*)dgwIu7?{U>Z0C zcA5ioRL@-)SD!0?$4jgOhu6ht7%n>LvX$NI@aRxqtJSL9?0)cs>A?*mRV9OdxqZNv zuX~5i85q1HG&I?*hU&y-HKre4;A9aB%sBQJFPW20{*0%4(@>m%ud#sihJu3(imtl2 z6kBnF(7F|6>L>G=_hq-raZd9XG$rZW>+B>j?ddSR8%)<9_!I8W^tka7Eko|T6$AVh zR`?yh{cS+(+dfZ<;sq!}^FuJ+yc0z&uFo5nGsRrQH_J!-eh*VX+!z5m^jBM?=?&x^ zTJjM_e)I#7v$LS0vM#%7LQ%MH0NtlJDdK=N1A;vvajksvQ9g1v zpB^Z~;7VEuj&{qWY12?q*cmA;kc~Ntt^X#MQ#e#$#L_ zB#9sw)NAW!*ryFX!AJNqXBX)a{``b&`l$Cdbx!S z{Qy}X;6yb;_LIG}=B!+Q)W8-FHsxHG+k|T?Qozr>VyaBM73ckZPP>^d1FCBFn$>@W*e=oGZ^UT}`3tLo0r z@ebYzrRi@rxt81V80}@2E^%a5U3qs2g2 zw;F#b#Qj1-W{`Lge2{A3NRqGvVN22*xCTyoCD9H6r^f?9FJ2X39JXpzJfN-4P!>jJdY zs+Cqjv@M8Gp=bpM#cPW)0uHv=aYLIH5Um2C40}v^Lhcvgnf{o0I`i-Q0pZ@9obT-C zJ?HXdU#L7-WbI&$5E3m~7_bx}3jVY}LIJ$2m^2T5OVFZ#`OD)YTk6BM+`HAcH$SyzF(Q@4&6iZ|b;_)qn;=cXjIM5Z-OK4O&@Ie!Y@jObh{M<=k#BsDi-eyvn#Dzw?szx0$ zb7y!Oftgge%ff~Uy>sFvvoKOrZze_Rj~JfVEn>M*N)v^EaWs=k#4kya|Ju~oI6WjX z7AYw+sf9mZAUhcoW`*Sv+M`%ADI;6RBH^Kz-JWYgu_806m?&*DB=Iz#gtsvtNlueO zW-N}RdXttl&@oA$Cg5ZM&$yPN&U?Y$}7Xs&VPQ5x6s?Mb)M%3Sv)c-;3{ z#v-3(aVNTGqDgMweU3+WfweuN+6#5jl;*Wf#{#*5KO>w)86`&+9DAC^EAq`&4O2!h zevrm(8kB!yc*@!BPUC1)^L=tIUNEGMlA<7Q<@e2wX!QJkdu|EAHu42*qvhDncmW&s z@q;}akD_x7uV{y=EK6Syr7yAVR-hekXaYI?)Ei*UvEh_Y+k6|QBj%zPrx-nhN73J0 z&5DntG*;97{5e@m^FW-sHGWrTZ$&Z38fqDSu*(F~N0g3WikWXDIaeUzK@aYxjLwC# zhi_~;JO;U!G~dAsk4msaWrDmnR=^(oCVmQ*Ukrx|`#Z-aJQQjb=yY4%WW0UJ8Yx9t zha#Rf+b~zGJ4&(e2SE4(^!kK*UaDSI?c)gMQ-^L3{AR7C4a07?N9vCQUAV2!(-Bg% z!~ZM&w25@5z}F9Z(H=y%ugv?YDJ4qpjZ}i^onzvCuuy)mtI>#0JD?z$CL@63^vP%` z`lL|%1PRz%L6P%0^PGe|&ikjvd7nWoh2&*9+D{HN{1W+G?rj^Q|j%D{DTo4OXf zLPT^i_QfH zLoA4R-{IM@xqonG{-u~kp?0z?KPnvy-wLbH`n>B)ia~b6v;AoddwkzQljt7fY2*=B z_qOc@bm3uhE)K0YSa7!9%uyizrWB4+9KV=F@z)if9&>*7GULZv^>F!Iu23qsf=3=& zD%yh#;NE0VU^-U76%=sYn9wp_#N5*9reg)mZVLMvix z&)}%~5Q@WxokzRw2c;u}fWBL&rA@Aqg|KMvh*%VmGU@;qOxpLsj_M;n#8FzN?f!peY8F5eiUYn6D}XL&)=DCx|b)Ox+;W|*|>h038oy2PZq}T%Xxe2 z)kBCBsGflz&M-2DErUz{5@}xqGK|c=@%28gg@%CGAraTxZPy_u#jj&=)aApzKYvEo zw;c}1Q_~xU&9xX}=*WoklXvrqg0H=e7xLZEBwO#dc|IPp$Dd~hoB7-~2XFq3tK`9m zphqCtMh#iem-Cd=;Av7Tl06a(VVg*41cNt`8b{`aXvo6}V{8ltpb!(s9fv$6(25wi z@!U8@(|8YgMgd&AL}~gaRh>cK)e&4~`50TK!7`DOmM2$d(U9BKhP5;LCD=L&=mIy? zLu5&u0Bq&o4SvdC9FqP`#ULA`>K`{-8pf4rQ?kx}2+8_ar;9Ie$w04#v~23iitmEf zp+H$vuBGE3kVC_jS7f$-C1S=zw1?md`UD*Iq#(EF3-@7+p<9(w_5)RysJ4v$ZEp)F;fw01HUqeZ3{mF`;3I|GBjb#sOhmmZ=X#Ga~vn-Minlr@ry4T z&d#dSJXu<@FeZA&)sm`C1^4p}x}=ci+Z$V~WgL$vnqeif?biAoKRwPg{wh98V9_|! z$DFLU40+#m>yJkppHsTFUk9&e7;b5)kCSPF3{{9L!z1N(94&{B-f$m9Bk~z6k+M6b@$las^Q5wTSEKTTbbVuUTB#;SlltgcmvW%&LZUM6{+KW7Pv&lkK8J364FzKa%W}r+#~V$?QTo(QY!oAzyH!(aL0WUICL+^ zN_$?dDYcfNCUqAZp^%{5WyWXZgo4$$+;xu+gV zu;R`DXpvi?t4Q}v!e%#No&hB%o&%`tO3H1pRmOolQ~oRu&}{-I`uWuoT!m9oKwNY_ zl?CwY8dCf*#XADU-~Dsi+g?EN(!Y6Pio3zc^ch_j`YNx`I%WNf7d2^px^Kbi<;~zw z#hv#zE&@r*&zA65y5S&Q*)6a4b71D_wQ+LT%(i@0O^kX-5|rTxq$a4uWaf!gQ6xsQ(Y1i(d57$WyP`CgTN-X zD~2(`&=QD8wKC1B2zQa;yR)hXwJe&VuDbDe6I``ptXLI_CIqej+g8 z5EweL6+K;g(T0hdn2;w+aMF4MX8tgsfu9SA4SKq~uP{6te0J7?i5V;9AWD`0B%Cj8 zttDvdz&pWV5WC&x9$$$)<~xAu;Jmm;2LTWN@?jPNM`l4J82HQJ4p$(Ol`P)fwx=N3 zNx;0=tvc=#h!$V_up?G?6zrjUGYnHVpT2R2ge(fqh#pBK`0fB02Q@4F9@%Shh@98Wbt6NJ^ zb=MBZ;8?*_+DcHk&6+lJYjVN#jsV>Araq0g(F39L+F|?@G%(}3)XRGehsM~3VpLr& zf`#Jc8DV0C!baKCNrLX4xt}z|+2uRbo%J5=&AHk}O~FK0r53u?p!M-ZzP% zdI-bt7i2DgTJp{&PtjS8+QmuioQ%svH4oApfBRXC;mKg0#WT9EiUa5j=2il@%xXY& zM94$SMvIF2S5@JtT5S=4vw0YN;-2|iex~L%iZx`(Q?(ybky&bCzOa!F5|+-JO_thq zp|0su%T8#qweEtoUIkVw_ja=Df)0)MR+L87>+p>J5Jq;N`s7r%Tl1QQn6@290Ml`b z<#&{c2Pui(8{E@^j$xB6DYaQ%@QsnXgwcKjWa#L;ly>ETikEv^+Wm}5n$j$BHVOiw zojo3Br5wum{0MxK%S$ed(o z>aT9KY4l83dtc-$(VZ%QU+*4&DrH8Ro!Nxue|gp#+hD&4TV}DuV+2ZQKD6Lu2Iiw5 zj6eGQ){VaA2f9$SEY5oaj_F#K<(H%xES1*4-u36Tm|9?$?Q#kU5*QuT34(Z8?rebr zMnxLHZxd{w}zF?|HxrL^d z)OHAJ%{B=00(O}UiRVaYx~Ux|8zMsu&Il(U*d?>K4EdJ34Zse-@mvsxUIrimbE6O( zq?oka&_L`9(0xtDwI3xLZTFEkki#n literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_11.png b/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_11.png new file mode 100644 index 0000000000000000000000000000000000000000..228335242f49cc611ef8bead4765fa81b0d790f7 GIT binary patch literal 17965 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 aJzN~Gs%^jgCH`CsiJCrVTH(~h_x}xk7hzQZ literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_14.png b/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_14.png new file mode 100644 index 0000000000000000000000000000000000000000..433ccd02d0d706084b596c7d88211a89beea56dd GIT binary patch literal 17843 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 CN~`Sv literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_16.png b/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_16.png new file mode 100644 index 0000000000000000000000000000000000000000..7c831128e117c086a682c26931705e334354ef4d GIT binary patch literal 16618 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 QmnWcL-r~7Ud1deX4U1mIFaQ7m literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_18.png b/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_18.png new file mode 100644 index 0000000000000000000000000000000000000000..7ab5831437ba28aaad485e61317aafc331e3d97d GIT binary patch literal 16762 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 literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_2.png b/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_2.png new file mode 100644 index 0000000000000000000000000000000000000000..aebc7c9649cf3ed81a4876ad2af7bd42769e635f GIT binary patch literal 17563 zcmeHPZBSEJ8h-EPf&rx@Dx!iAYrzi$RCWzomqdX^)KwG#halk48fR$@t}Y-%a*-BB zYQc4Dsp|(SYpK?PRQZw!cj{1eSj8?g1}nj=;!2e-K{04Z_JrIMIEK zk8!pG3P5F-ljRPvFg?EJo5^-SA#~d1gxuK_wdnGPalUpyF=)r-q{+rHS487uMny~= zdk69HG1nl$%^tT&RJT$=(wRL|lRR#vf)p_JQjk<`Rw_uzN@{g-NU_=gIh~PXDLIc@ zZGc=vkQ*3s^)zM!{me+ zv$L%EC)Y?@Gv%N_!2UU6u5KzE_~H_O!;>3GQFp2VhU`^#brt>Pm7LG~g#sTmn1jWZ*>)47aRWz^GY}AcYJ+Wk^P==LQ(|rMA z=)3x$J6%3H*k20ask^@9v&cX!MGeH>?sJ<0`ZvM9!({p+GX2-gQ5H=C%hcqqjrD%E zCuz$lDy{y=amgVFY3-Cu;nh@xnso9=4|Orj+j3Zhn{7d8w;ojgi%0Sa+_l?D6SB%Z zx&m!mkma$kqx~OL@X6;bO%Re?)wmxEr4#ok%k0HbYlq$Oy4U-+ zP8F;`&>8;|G;M(QlUDLhQOB}S$4#zSv>)oepZ0eQY}B$~)b47Q2-w2k&Nz&T`;LXo zqXXVPNYz#HTD<2KQ-sj^alScQ^ovgBc1MQmd1}eoMHv=jKKqc>_BB1~&R4$2S|o-Y zF>hh*Hu{R8u{pipXSqMka91B3xzD?&4w0v8zjpR3A(X@yY{OQrLhh=1tZgkgA)?IA z+`i7@WBejI^hBq>b?z_DZ1l*!W!TzMkhP^;*841kE3cGUSnHJx!`418rfKdP-b_cd z3_5mK20d5<+I8Iyc)^mXNPvWvkuYa=C?gqnrn$LDi*q-(NQVw4nSI_jPdhbOkfOGs zpIRk@%@=-dpY6z1bvAy+Q<(NQ7D6^PbTu%tn`aL4p-pH+=4W*JNv{cqj(ykq_=vS| zqJVweYkAm5b7gk%P?+e*sD03Q6pTwx_~00nkSK$MoQUghW!??46f0gU*dl$kYK~2v zOOY!6)v4K=`k(GWWr3e+X6ec;dY)k&^|#40^3sMzB(cv>zvI zTWH&&Ar`S3`%K;X0mEf`?Q@~3js^zccLDe*g=k8lV%c6lDs7Nf+r2*z4d>N;>k|O+ z66H>;kKHIzbnNK+7`{~0PvmXGR*ffJJrBn7pYO)L5Q==T_EPbNg%G;FXCjug95wpe zx+~u_(}pVzi)Ucv#~|4A23JiYbflfD2 zL`Bsv4Z{|C5|L0Ier$r3O8sAL+N^6r&SNQR`coJ+5U^B=f$Na-)R_uz&xnHKkNOmL z+-V4RTHvUfindv}hPe#`Jbkce(@>$gM3^7d^ zf5E_Zw|^qxWw+&}W$`hMrc0?4S>-Bo zHc!2*9A$xy``62-fzRAwM@(}xvhVplI?E<1ZFJVrLpTo1LWIt$&Mg&z!`k!+8$|LZ z8LX=qO)UvsPMZQ`N%udE#wc+J#Xn18zE`Fh(L}khp3-@7yln=~5kugm!c^C{p`zNY z4M&Pj6c0Lm_g-ohfkg53GdyfYUU>3*sfz&I@~}f~KW?3l&WZ>1U0pd=&uz4# z@@dkG21hQ!BZaqnmh(gqp2B{!NbZ;`Wz?@qx^j4S-O&^GnzZLLiUiPPN-~M27xTvQ z8M2C73#1t$YG9e76iXNqF9WZDMB~0vlm}Zh|IAyo#AdcpD50L$DKmKmA&{di+|VAk zR}5k@gYZG@gZFge4J0~{XlX0>P)Z}Yf#e2~8%S=jof}EzNGfS^Zonr!;tj+bh&K># zu-@2^I+@hTq)sMvGO3eEEF^UysS8P6Na{jT7ycT(M%lYuH2RW&HP-J1_%-kd2I&Wr g?)U%g+W?$~+T(dj=%@PRLqI=~5$nS%RweKMH_aD7JOBUy literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_3.png b/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_3.png new file mode 100644 index 0000000000000000000000000000000000000000..cf98ab35d7a3115e847bda159c5031c5d12f1aef GIT binary patch literal 16672 zcmeHPc~nzZ8o%%H2u~D9)QJmJ9wNAahSn+`!4NG=MMbGr6bR7iluiW|JuX2Dc@dqW zAUa18J8Ukk)v34)l}#|IOBt6MJTia-LXHf|6s(BQfGn9Wc{kX<=D(RgX6`>E=e>Ks z`|bC;zwd_qtHMGY>?hkJgdCQ>ANT=6Ht>}}tO!2VddlH1hn5B|UZaY6{y2QAOSMF? zxIOIYmnzTv+x|yw9K+oXFqd_|^lUROQ`;1;Uf+9Jrr2jvy$qlkR?I1QMA6JUwEB0R z^Jc&|>mwPhlUU!fVs;eE*Zk#RsAaHuhys=UYOotci6cwGM~zHik*`45JeHfrp(S_c z&w4X~GKj3}FzjB2QT+Z_h|#7I8FTpD4NzejL1NQw&;;qnkMdT4o4Ex zB#~M2D9PSr%Q9~bWS=I*iKUn#6&Wc*&1EyGy%}=gFdwGKDT^E}EysCso+ikN8OI?Y z0s#>$5FG#7#H1WPCo5aIs|MEE+~G|*ib5OQyzt*x_w|I#aT6z@sc}s){`-Yq$GZ0v==^27&2O(#pfNXl zW(dR#3n(h7Db!)wn;wc`BSje&W{nf0>Y`eO1=Hts3X1X(KRjIrrFuf=_ffd%kzmjA z^Ndf53gGcdL;r`ErV3~d9@uST&o|#+v0Uh%_|M_cl+x}axh%`CkhaYedOw;dhSAOL zl=p#*I?fX7^wrTU|Jb*ENDbYZtUb6_(^UfJ#kZ=Vv(&nF11BsMcY;R~)BhQs zz-Bt~_2;ftem+p~!?xy;DS13n-PdoH&ESwU`alHM(J|1`-SgKoGR0+2?wX9o?g(Du z+>O<1*aWN?MV}9^0+EkCyn)+FHnxmTvuyUEY3NR)ubPiRlfw%REZb@x9rWa^< zQjPQ*g9jF^1rYFOTQYgHAU<2wfDHgBNLlnl16tw2OVaHIHJ4hir90 zxQXTmw#+Ym_Shs#3PI_pIz;e?&RHDV@i@;o9Hl@DL{`sk1=?G@0?N+wNA=>eHEONON=#E|TAvn~#8(g<#>y%WNK6%hJO?gGB z$IZfE;N`)o0$*j^KBRgpl35;G<%AU{cjJ&;^E9FkTrT1HjYg}7!;CA&*5^~e!=1Q( ziIve<3#-Ejd&XtU%GNKb^zs`VvICS9Ru0q#GKv)15mq*W2Pe z4UwR)D!I%AdT63>`_ixl1T4!gj9vo*S4_MZBnav~lS9X%Gjd*ozxAabE5y?LMAIiy zDZ6_zV6R8)^or4$FjGDsIbB@@J`@nQ|a z>ji>;OBzFz?%-crdU3Kf8YG1)rMLc-6tq87p90^O@` zv3xHNVCA-m*y-$}s!Ukdt+YDj6%hAE*+y{8a*J3wDo zH`ff9px5nUYc>CWH}jq>UDR&93-E8V@Jye%v^lkIa1g{t8YSp{PHuOBD@2RylkOYB za{E4A=l=Z%nc$Ru)3AQml;i?6{oMnN%DPhpp#^(RGgJDn%Xh_5K9RMrurqi; zw$H98NXgK3vSL(v{?QlMnuV}-;oesX9gwoO?`-`Mj~{^XLw;SNG$vmC()280z)N?+ zW7il#qNH*jmE|?q-2-J6f0g1WJiS!RqlV<&%|mt|6DQE2=ob(M#)E@5J;57~1SPM) za<7HR@zOfE&g@D=mBW6+dif2tjnCF21vo=QLlj-8?d?2A7Y=pHpLp2*Dl+210Vmy& zfBYw%Qo^A#MGba%+gS-ROs9rkN5Wb~DJo}St++*CsOGTB2S@0gfxH&^m%pnG6Y|h< zs0kjPO{p29@q@bKz6Xj=tp60J4IGW@Ao+P0+sl^V%mv{mRc6+|hK;x{FSiA6zzZRB z6?fErRs5bVfC|me`N*gs@zj^5<{QikChaR9P|kSNPCTW#ZS0y8e^V3Clpt3j%d z*M4?bJv#d3t(FNXJA;K4JE6|l(Q?9QT532QI~c32)ehf}iv3v|pwCfP<1u-#A%-=a znv^P5$nv_k9RdXRe;eeIIh)$5ND&`#$8pkNKEL?)#AYJ{ItU-1i~(eJnUA z0TBp@KtKdbD3BiwnYRW4A`lRPfCv^mjerOQL@ literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_4.png b/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_4.png new file mode 100644 index 0000000000000000000000000000000000000000..7da2ac27aad1bcfbc40c3e2883032eb9699a2909 GIT binary patch literal 17544 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 E3nIgrg8%>k literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_6.png b/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_6.png new file mode 100644 index 0000000000000000000000000000000000000000..04ed1b7c9f3ce70e5f6aafa43ab0f9be9bd309dc GIT binary patch literal 17777 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 literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_7.png b/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_7.png new file mode 100644 index 0000000000000000000000000000000000000000..ea4c570a476e430367b71f0101c3a6d7ae5a09c1 GIT binary patch literal 17804 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 CI34r= literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_9.png b/mrcnn/mask_data/test_image/bottles_73/train_mask/bottles_73_mask_9.png new file mode 100644 index 0000000000000000000000000000000000000000..03f492cd125d4f41e0ba8780cf3e4e35fa86756d GIT binary patch literal 17801 zcmeHPYgAL&6+ZWJ(dz>UItW-HQPilYs5pYckbp9Xj)2Z6J|{T7aH)k#g{UF9_!iN0 z>TA}Z0d-BS(-Cy3z$hfKj8LV;x2VG-4qBCG;e2QN#;2ElI;3ZE1Fh5XC|qp8uO{a z$2WcXG243%r8rRrXZQqv#chZH%`VQFfWHq{DT4#~n7E}EJ_HUtaR?j;97t9a5E>8~ z5E>8~@VzBz4oGuAwhlcTDY9jPx=5M>(j5HC=3s=_s8;JNRgpnmaYC!v6luwq%m;q; z)Eob0QgljDa6itv5t+s5BDdtZPsa96G0xF+Op8&RJqbl%cH8G6dRM)*8Ush05yv5=5 z3;{|I=T6}VCGlrClqYzoz8)q;<<)h$cw%yzrZbzf9-0(5-L5!Du8VE+DCJ}kQvUXhxO{Yc zG*V<$>xQ)a>0H;xSkHP`E^({Q7(gdkUdfQ+b%-N$Ea%nvlNttVE;dcGoWa}vUE_U*36M{}wraejJ4H=Ns7Y{5E|ytT8#~)kX|kX8 z6d&Raz=v^~r;iAEszwRt@~|HDJ*hcAkb7M6b2>&8#8D>ujvEq3<<8*1=48Qqq|s6<#?dZ zg~p^XnihREZ4Tz&0fv$OwDt`k+;F-}>BmdIH&%q6PhOs5XTP zTnBL%5>}kx#pVSAWx2X&g-nVRRizo2kE}UDisY_pS9u82QANwmzVA{nognHVEZRmjI<(r5_VGlLMh63uF5WDGy;?%tC93OR#Ea1?<(VFpje%$ zl!RQ9L(9?cICt{w4tJ;43pw6fa$JQo!u;?n)>l} zQ}oG!EH{5<_oZmILyWScT79vE#XzeaowM7NcVrgHkLFzD(G;r~i*-2H8=Py&V4*2X@v<48mCbGH^$80yey;;1;`g`i0a<$2s=UAfv+#J;& z;6+h_sqUlrlLe@BU3qDvbni2sj;yg+rnf)#G(&%ZO1{H zV$0k6k&*R;3gwyXDa2SE0Vs0}eEvW@i2H8S&&M%VX9HHx)FmlafcfdA!uMDO63E@u zAYC1#R%6~ef@%Fdx4b=SuYYi@ejZPO@{uCc5Y-l-h1IkRUOQnZF-mVpWoco9SS~E1 zxESl(AEIZc&S|+#$Gm->hzmyp1SDyk$wM+kK9A{;(U$w}-K%jP842MSx!>rnnrz&| z3ecD1`4HR_iO}#Y|Eq-op#R`crvHV{^j}d_l%o8}<4PBb&TI{R#z%28MCRg7p|1Xh zrO7%#jE<;+hVf8ff`Wn=ZbSSr$lf(8gD`*PnUEF?3l$H9gIJV}bA`z03sLu#sJhle zYV*yrWq?N@{QA*EpV8=gsn#2ewQFpIgP59ZM5NUS2|<=!_zX? zJa5K4l*_Iv%D`UIKqxgkea@tvh_IaLI+zWd> z$00ZWt+lC1p&W`$4sPRF2JKHwbHm~lx>=y_n~|zhVp3`~7?_Ye z%i|jSv{Hl1NQ3pY)qa1I7p7V+fGRgb-+v`QFDt6W7qi_S5>ouDuRXGlAS)B|^2O4l zy`s_}LYH^@Wt%oo##*0d>!yE}Su13gbXjUe?~VE#4n5VXUbR`RKAk$#p?uxTXideU z4^lJ#rbis_>Ux|tAjyg#sw0n0<-OQL2?wY&FH#e+?_dc5fL?G1CqTF{r5|MW_|O1b zhGqqzC`;L8zg+MwBaql~s z<0%r`zfZ9<(D$85vth`wsaN3ut;4>8EF(*ZyGyq~A^DaKc-zEz1kpl}m+ z@E(v7bo^hECDW@t*7hs_L-GhotG0YksthT*qzCEs0BOlche{guUJsD{3)#+*-7W6{ zve_rIkM~0vG72hmA(Jtj8p&jgOvY^cXpT(A$Qb$k?tx6z|LvfQ95Q@x?nm4~+(Ay{ za7RrJD9L#(Ilk`o06EPk4>$BZW+Pz6Hv{yqN}fIs>pPX&>O oq~4GFNlQjrGSZU$x0Xz=Lx&En5@@3AwFrK~LnG#7g~aUo7e=od+W-In literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_image/image_11_2019_02_06_06_10_25.png b/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_image/image_11_2019_02_06_06_10_25.png new file mode 100644 index 0000000000000000000000000000000000000000..6b13cc13d2efd998562969eb5ada780898166ab1 GIT binary patch literal 369921 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

qliEt1D^sOq05JCOh9a{D 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%0Au`Qj8MewCw%ni*kEbhB= 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�}mG^CR0Th4&ux(ij*bqh= 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 literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/image_11_2019_02_06_06_10_25.h5 b/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/image_11_2019_02_06_06_10_25.h5 new file mode 100644 index 0000000000000000000000000000000000000000..b1bcde54b6c75dd095f549dcc5d4e8cd1834ccf9 GIT binary patch literal 16386208 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 z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ 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 z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF 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 zfdByl-wK!=&zv3KuCw1KKwu96J^PtGyZ5^7k!Igw1%ck#biFY>YK83h3h?oNOJ0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N 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 z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1jZEj ze@|Z4(f9e<|NY;Q!IPwi-*)tRzIN<<pbNV2S{M4=RssYF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF%pl-Xf<7gfoXP0)0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0tD_B 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 zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1pa?JbdCZ53<3d=;Q#-eMw^9TAEpvda0n0}K!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U zAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C7 z2oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N z0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+ z009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBly zK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF z5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk z1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs z0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZ zfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N0t5&U gAV7cs0RjXF5Fqf0K=mIP&!e7mnQwbrf9}oP1x!xIO8@`> literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_01$3.png b/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_01$3.png new file mode 100644 index 0000000000000000000000000000000000000000..1eaaf7532768ae731f9674a8efad240cdfb489a3 GIT binary patch literal 2730 zcmeH|`#TegAIBLLVq+Bzhsp7j+i^J|D+Ik@~ShX7|e z5Qz@T`FV{&-IWTTj2dCVy@4ndWw`u7ML;ebmLpT>ydUGsgsgR)y4C)nrTw#IcW1%q z`kQq{@@m8%NtGC#{@M9g#jCI5!%xK@`!)7|hhQE7TyC>C<22w_)YhbG7OeAV?7rG+ zpQ6Rk>iIkL$(Me0T0OW1e8bMg);}5sjEZAsI^yg#A9z06kla}#_#_10FzYj(+hyT! zTE~J*oyU&4ImzqCpNP5kB=mc)YVXsYRQ0+f2yZ1UOeMmQx)-@B8mZ2(*ANM}L`Xc& zFT5ztcCja*e0;C^Bcpj#2q=F3-g;;459A(jC`9dPD3_R$+e0$GGc2;`ZKSE?^a^R4{CM=&K893 z_)x32HfjewZp|{YaJjuJnN-*B0MBgzdN1gSq+;7XxK(Eo|H`mOPODqZD6pig(YHN| z#4g^T#ybpHZ9T7(^&|SyOnSAW{i<;WJ?X;4;}rWliLd)}yy%4B-P60bPI_Y-nH?`4=fOGkK-Lj005ikc7m(Y<6w7HsmlHr}N=g(Cw~ zRd$F)Oj4_3#)6c%`y%x>O6*j%LI`siHe^oq{S-JD(FuS^UVrns1*o#iUTHR*(9wnt zf_$HFIqqm0v$5tTti(l9>m6c$O%I>@^P|DT3jg}0ee;JE5h2Yl=-Wz`vu#j=A|>ME zhJ!%*DHx$^aEHqZ=3&B^?BZQ#x_M^W+R9i3UTbfgoUq)5aA z@ssa6ILjJDU1U=0mRg-#Vz;3sIGLCc-CT7qZTzH>E_lv3p0@KG?S@@UN0IVj$yk1~ z&rG4V7>DMb+7fvtnDi(^d<6|#hcG5|J7W#y_lcbC@xch>R5%i>{QhNkGG)ix-1=<( zTL8rKFeUna-QcU9?T%2J2_F}GkE-kbGy~p#Nbzv2$L8F&ZVC-f%b)KKZCfeLBp%a& zHmKdix2yT&bejT9BhpB!^XMx|%I=WtW(FL4FDEFgR=uXY=a{>TdwDC8{sb5Wb#<{X zW1MdsW0ZCubMACNO{PANd0&0H0i@;Z05UC4pKr1BHTky)t%ere(R1ap zG7!X2ce3q&3=b+}%ZNI)2PV<}lrG+__Iujg$hjUP{Sz@QQLqV5H&AQ>&**1eLS!SO zNQ3jX=Y=nSrI;I(p=-lD7uC-abi_Nv)(iyOjJ4R52s|J^^> zvo^foh}UPAZ^ROu@8+8@{e)zTu55MP;q0Owh2*=!GIq8oL^>q=^;&=*b?}|7DWHiy zn;HgRyw?(>scQr0S=5%?FgLO^1t8W9LN13&hs1RO`t=q`)BMCu6P#_Xx@_QvW5-kn ztkrfuK-vA3@cMk|Y%@tav^|BVQg=jjz_pl9n#NtTiILB%m9B{gA+EB}28bGIj>G0% z);aNY0T7E^V97`}QHz`PG;Bx#&-k(h<-k{9bAqsGFSYRc6&RdkI+*fpjy-NU+M>Ru z9jYUWNH}+n@ul333lzd1bpJp{iJER>IoXG0vF7=$sZ_qdoO>$8Pw#ifJuwS`XgZ4V z1lmqK}`+P6@`BRh5%(21Y^35#gh+(~_=Iec>HpG_M3kX?ZF z^4^h?-#&sWrzmtbZ;*Ks9UVG^Uml-9X9$LHPm8~jC{`@1 zls%PQnpp;4#j`5!fr*uFVVye`Rj(8?JkHqTG$@&{O;aaojR==}O7G(mKXa%<6?QS( z12>hFXrnjmrN#?eD~*d(y}CpM(HGLy7dZXlxGT1CG^Z=BPIy%_x3$uv={ww#%4Ff# zeZx)1qU{4CZ_{H{X8O*Pae}X{1!??|hwaXF6V_GcQLIw)^psT)) zEfo&p#_HQ850B7~YrfoKk{mBw`kaqjxj0r@H9v7>-fxeK;s3fsVO<;u0|RH zyRsrDkKQq5jDEzjwE7I^Pn|y3TSfI6Ti@Bx49HzA`1R@kjeiOJ-xA2=ebpS3isb4U RFVs^L~#hZ{a;GU|D^x` literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_02$3.png b/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_02$3.png new file mode 100644 index 0000000000000000000000000000000000000000..064f0c1c7bb4ea6d708588aa1cffc5d20a4a2c55 GIT binary patch literal 2789 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 literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_11$3.png b/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_11$3.png new file mode 100644 index 0000000000000000000000000000000000000000..c0043a95a13d95c2e3755993c04f9bca4ad80322 GIT binary patch literal 2153 zcmeH{`#;kQ7{@o4v!&!#$;$Ta)Cy%JBA2rfxvWj5i&hj87Se5^%SsY0ak5r(qBgXa zTsD_9#z`D(2jx;L?BtTEolO#Bm^0^pI6w4yo#%(=hv$dq^L*aV^Lo}l7&esl1m;Ex&{Kc$|`QQAYE@F=dN5!aKtiK4wMT3Q<6UfPq6 zI`51p{tHP{vbI2u!_SYM-DdV=7#HG^el$4&-fWMci02&#jSnW2ew8QG+;fsCWJ-c; zYn2-O0#@m2ZlbaZ5J^J(EK%udFoQ);Vf2~o2pHzw=O1X>prudHkeF%+ z`+~^Yr&w1*jMyK3)(qSlanoz(kgm>RS$rJNCE=zss$Eq_Mg(u`8_hm7nc9iA^3~Gb z`i1X^=-8x;Ov+UH#*|=Q;*9j%p)-GqZ0eZOQ1-=>ct7vrN>rufyrkZC{bzL3)4&lz zXt4cf`|kQ{B@X457F9W~2@NxEjYJB&byt@{p@%V;k6KF(aQO$Ejz zH0o6bpyh$p4uGhPNzMM8V~K4{oYFYHji!MECa&`vWHP-4~9c|P!2 z-|1y>)mOHZguQtkAGihQY_0!%k5i(^T0g@vIS9gJ4rqljv*@Y6Y5Hp{d}>T;*@8jx{r_jOXp8km#Q9nqU6VfAKX z%T4pxw{C2ov$F;Q=Uy(O((T}Gs#zbB$CvL96KcshbUR7*W!Vv=^hxlbz`qixpxGur zgV*JrC6Y*DMOsb(pl5=w6uM5?cv-gt91Z&j*Nd1P)n~FJK-K>g#-|4hfmeP zgSi)ohB?CfywVYLp-#acHAKS?LZ?SxzE9HRK}gBh-6rIAE6LL{xUwzHj#Q;ob8i|@ zn|6qLBSIE@mNwk>U4tP7(`OwQ*L|yaBf6bGMI4c#R~Qn%NL>9z&(+oK{0NdI;?jis z);1O+l?uocD$>dF_c0}c)AD3W z(#R-fDsm>~r(Y%*3vmW;^R@5fZ+Ht5^w{OHF*_Uih7KR0r07UUY{}sl{KQl9J!^^t zg0>N1Pg{`LkX%MLtOJmbjU8BTJ9_U- z-nGGX@oAR(0~x|3H(UUVM)30tu4-;>_MYGs&l*TSoe3!;JNH;QtQvyoM`QwQoXYoo wHhFl#h2^il!G4JDW&EfQ`~SKBD+0g!s3B6NZj{&x$Y0d(^}>6WcpOds2gX9kvj6}9 literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_12$3.png b/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_12$3.png new file mode 100644 index 0000000000000000000000000000000000000000..c3513bb4717f58212bc64acaa4119ee206082b1b GIT binary patch literal 3017 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 j{(aAz|1*Sh$ubuPNcdR1tKL# z2}dCir3nkDWC0DRfJ9p8A$)Ovz&?IYJ1=u)=FHqP_ntG8W_Qg}P~dj~001Cpg)nyj z0JuN^05^b-od6h$Ab$Y>1eUGLO|C~*(C6HnJuJj|H*}9Keq#vUcWALVgRBMHXZ~rP z4t@+Fnbde3DlxlVW+q$+`76JDoXp%CSu5>@a{k2q&;Ff(u@vX9T<@Okj)ObNrrWiaCj=wLqYq(Z z9=C^%Cj`P)@A}wRv0EHtEe@!xnMGQV@@VARhaF=U-Zq>^-^>CILB1%DP1NRl-mvcT zQJlv&ebdR@T<7KE$&DYzcgN5J!92zHSDd)zQukxVN!v2EP2+c!`4I#7HwTi3tuN1d zSru~E4K1n*m*$inqCQ1c`Q$!U1SKXKv>)&4C+H9ihw%!aekN;4iplH*Vz_m~vDGIR z@6FW=#UGU?Y4nyQF{0O^SLNiYO3uRm@On9=gVzMc=n~>^S$zoAaZ&uLiASQ^y=)XC z#!*D;jNsMO1l!D@>7o5a?FNvqq5vYpI4iA{!CKBOO~SH~eVD6c*PCZ2XSpulsAHF9 zc2Bwj+CLlhM7YoZ*?!JDsJ0!?2KsfG#a97q$xsU?_+aF>{_`tp3$$tt%b)QfYB{^E zJ5GjHRq@uYgJsx(GsI0lI2ZToT;(}Gj+Opldo%NQ464mi^tr5a7}Z6=o_{%kS+6 zwN6*c724o;WX7S1Q`CpDeVS%aYd`p4^hTQZs#+Z}5rz~nEqa^8h}@XK@MOd;P~u&4 z{hSTZGKcHXMBRA(!}v{*%_d`)GQ~3#y{|dET&E;NS+a@A>iX4sASJ;AS+{2?*m^xs ze&wn7E}stNyoQKYE7xC)0m24|jhKLJL*Ut$Mk~k;QrLo(h}jE?)zNt@ zM(g~XSM}5`=)_17q*^eWG_qEXBou_|mL|M@Yztxcplt)k)SGQRMCaQ!%Ee{XTrVy3 zag@JT;G;O_#8|cRb8ayS+s9HZG3VppH~%gtaEU^YV%*$X;=BV9_sI@Db94W=@~ExQ zZPTYV8oX?xZ8xu=Uq>bOG$3kdK)G5?D!{6WmgL)`c@I>rP|>pdErs!UW6mF3rzD6d zXJHy2)i(3<1zqucDNSQx>P<6pmXv_VUi;XK`j%vlH=Pwgj3JrBDq4;jADm%G&Szvi z!P$j&BUjT=4ngq25@u(c-jB|B?X}|1C)Zb$h_Fa;51}#l&5J8Pc2tYVxVqSMiy9jd z5ej>o8eZ_Y!VN|CKB#15j+)^)okue&B6`5p<;igsfMvnt*vuS`>nf_D}l3W-e%@?C*0++)W zo|eJ-3z^nD5a#n$_D~#Ae98r8tE6_dQ5jsjaj3yg9?>cJP!z%fs#r8j&wdLrtsz`{HfHw!l}IOV%cT$dJWx-c+W zjDBaG-Idf9_KoPM@YngKuK95GVbFb6z22?%M0$KNoP82&x5kbLRjoDeX;R&yq=VCi z9KS7!ori+V7Gj_C_SPw$MtpbM^>3#U7LffArBzN*nN9`zZTg_@P)lyL1_(D>rE4!q z>k_`_&c`pnb=QoRVS~p9)w|wy;s}xoe*aBe#)VYkTv6{Vjs+W?tn}F1<@C;X%bU$n zjR|&%$LZ|VwMn>q%(6(%OKLmlX!bMqEn_YH`lkS5 zZLBK!L%KzJVR}Z}{!G(B;!y{c>b65=9cN#yl=n4~woFZDx2%25&+5bNTjvC>-TWK$@;5?Z!5ZjS;>|1U$x0zLKnWzm5F%*TNGZ*!LF$*TVkWZb?%9@eA z8EocufSWVVXdm#zeQ}yhVH7^^Zz0XssX=(<0ovn>-r$ztLuiUO_gX=XrOIbQ3_j literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_22$3.png b/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_22$3.png new file mode 100644 index 0000000000000000000000000000000000000000..00f50a30156b2ba280533aa69aa9d4b79f49ab68 GIT binary patch literal 2914 zcmeHJX*^r$8qcB_8VpL&REE&TQmxurOQWkW=#5s3#uhasmMUUvNcFa+ROJ_@N-XzR zv{idG+KA<6w3MK>s(mR!EVYG5Z1=?6&-3wqn)BtH=RD_q|I72d?|U9!b+`hPQk4RM zKroEWMJxyeMSwtJAW7f_$U@HhAP6Ll!d$ez7MZm;f-8exhf9o)Ws;*^UBzsz(bqJ( zsK+l~)9{ph{d+L=b$YDSj#%cVO3mqCw6&W)9uBs-hWuF`26^GB@w-NRO#-AuQApa* zGcf6dB;0K%t~HOznRyu)y?QQ{@h$jEae4+ug!<3*_YQa-XniB=Sx~*(N9R<6rP@=D z2>4y4+5@308LVoBy$Z%kqk0<$x-IUE$A6V5w=LjgdFixoEDZ2v_O2%gV8u=OP?}G< z0bl4U*ZR@1b>4Rltnyu`gTYRD>xVDxYR(sF8$O0To|<}D4jNPT9n!DvgmtmZ;9B8uJPY1ITM@j6_rVkL{|$&lIzE3 znzOB&0tUgD8+(0WBQH3mJD1Rx1HJ>pXCr&8ZH{I*);zuv^gY)-SHeBuW?hHS!&J{P zMnTr5o$Y80*E|w6DCg6weUuuu{*>4LhA&_%JVNA|tW(mq8Np_@WwJ+ee)=o|C&z9r z6c3>C(_(IUB@gvNv8MjJ!nu+V?oPEuy zO2By~XHoJw%?3s;#jly+A7VybU|`IcCCM(SrGKz?H6pbJe++>^)n}RZce}AQ`3%+J zayLoN_7hE}@kzwFk-(mW@hvZ6qJ*myyCA$0G;v#w@Gw37HzD|weW zEk)cGLt+S}htF!@O09~fYZLVnC`c5U8L*tmyub_b$vo%}qIp zNp~dY%Z$i}Z#3N3eG7rmkjy)w%UZRBV@qe{sK}PSWi31RmFhnMP-lWw53Ig1Nef_{ z?5@1GlHF&0*%3`UxM?z*3a`8#B7$$!nbTg;CoWeo#3aV79&VAIkni+XCI&4YFE2A#tz+Lqwx#NQTL5 z#}{>Y4U(;mSj=KE=QPJH6{sXq1_yo)>_5ZB7g<3@PlNpnraF|&5iTdd_nqXZ2O1Al zX#uFr3CNHCvos@Snv_Qcq$5#{^R%w(cxd3O}kD&5vek&m`$q<`@O}c z=aiD`0^KkP80gc`bRJ+X-GK%;L4({lS-I2nLq0G5X2?&rr9 z#l#$}(f_*vhJBhmWbxJuCTTSY7nFu)34ru5$P!UyeyEC8JDHZWm{ zIrEB!vA|pdeqAzd;=k;dF3>rQyf30f+pUIeo19>h#wyedodWu%mhELA=Vt}g^wwmlj<``r)s{-lOmOwKKKMqNzb>wC5oA?Ilf{h|tF$uc?u{k{2zGT~ zq(oc_SGw)@^&_6sqsx3bk!){HGSY1~{M8C^o4EFd^l2-(%t*IG6yxf6OwtW&?@_Q}ym05PA z09QM8QON#7*#uW;wg!b5`Z~$l+@0)rWNQ3}ptNY{`m5SP37;G_dX;ti0IaBI_#+hi zmfx6caKFRPHMbZJO>19FvrDoouZU5L{9jatXo>d__HBf7(>jt7}{+p&L zGXYDb&Fmb1BFr^SrWP9yb*}Hb$>UCr)Xg1x;-E_181qBLhyn5%B< z;Y9RcbrWzvbWL`Qq9Z9DiC^%Q+Wk=zoV zuD-JtszzQ6of@ZDM)5gMdoQ8qq~#60dt^S-v!8dFcj+YA6~7N(0oHMEYAkOmcg44m zacZ3sh7+1z<~E*Tx@4pO{)ge8?Ek}o$jUuvXWa3(M&rR-B0S6`hl{1>J>&likU~tb literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_23$3.png b/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_23$3.png new file mode 100644 index 0000000000000000000000000000000000000000..fee34122a5f4a625248115fc88e7a622d5cc1afa GIT binary patch literal 2887 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 literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_31$1.png b/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_31$1.png new file mode 100644 index 0000000000000000000000000000000000000000..c5352a9f5faf9636d860eb60f5047e1050280f08 GIT binary patch literal 2810 zcmeHJ_dgqI7q?p4qKUnQ8jTo9Yg|!;NGU>5H9G7nid&i*YjZxh6Z+PEd?&tG9zkQ#xzR&rb=bV#%+0Ihvq|8Y!E-s-+&IQ*6fVUtQ*U5L6EX=M%6W18_)wlfQ`M)n3E|$gxE)#~K0RgJM;3;L% z^b&zlss!tuKm~bJAN$*5xjC zwLmC`Uf*8>2MQ!Mrp14F6)S>94UeKjv1 z;F_CJn*Cvd?w7+`UN6iO^v5!-@>H_(1?LqnnCq$C#Zvog2j^(7jZO(58;h7jhL&#z zme>4?dJ>%dURO}EvgrOB2Tp1tJdgp_%tQy?!6j7(mT?R+fVtmMoSo+O)$qj?b5FNi zoM;fQ$oN!M(%ZVapWendO0ugdrgxYir5s0%%`9FAdC{DrUVpq+Mu?Q)I~A;ImKF%; zyxmQnGzV3+&$mmieiYA1bHkiROE7d@o39gJv$y4+r&ZS=7bWz4VKJ!Ioj%zuAS^>s z-Km4X^xa?k({4inZFR7LY7&yrl$3pg`-!m-Kkc!jubSil8KYq%v9s~rnjuUOh~QRs z=VzzvvuGEaK2w8|6~FhiFOY28k6;jRd@7hy2rGHIPQ8XurUV}8uQSiNw@l&2?-n2? zv&?Z%lAs*8w=)}WAzrAVL~wo-@;uwLr_J3Q=jWtzCO;#X-AU zGpvt$t`i3&P8dQMe6?kT@0dyjK9(ja(z)}8KW06N1Iw-|j`w?G1~7+rI?!rCL!S>b zhuwT5@DZ!QO+xEADN2PA3vtzEfG~7EY{g)J63j)V@(x~gF=)D){m&B z?_}mF8aN#g!CITy5_+ii(8tKFJdz;ijZ0<=4Q~?EFuM({VQj2?=@&Ua* zj{VpkkZN+xOn~HYL+|iT7*Il zQQLM+flVBNR8&qPjEp0GWH%gkHzZztTLSB&zbrJD!YlC9kr&n%8>Xd7A1qw}Meg}E z#P(F$Wov?!1d)r}=`4%VYnd%)4*GR{)=Fkt)l2g8Sxm4H;2^J0nZ3-{{Npa2HH zipS{YU7c|f-pw-e!9DotK24Lcx{Un4p`ye^QWpiFimI2r{UjocN_ z2KlGb1n-7Zq6&l<2Y66TI{;xRqWoI~~rDwif6by^mP=Jl(N&TnW|M^(#*Y zx}m_4rWj^rk+B9y&_Z#BL3*LUhOc3tG#Dm(Et!CFzYPZ;XXGjrNk2U=W4QL)=q;Hb z2}Lxgw+Ic!RD*gB`DX~=&D?_eo1>))y&x2G+*_tby9@(zk=N&UU-HRONOkXkZ6|;= zdsRr|M+^+$TxLn0pLt3}p%XgrhMJutmQO{e(N#lpOtj#HbpAOk_*Q0=h6$}@qV7Zl zxzH@8wP|CHJZ@ZDpdo;y+aqq`Obl>K22s;uw@DnS$xivRzwpE#(g{$xjw?BzN5_YF zH!nA3KG2ULgL3ut4<_K)PN~xQCBI?=TIo2;_aTv%qAig~w?yD0c4Jpl;?9!T<&%3k z{7cq4J~_?J8*hzB>%qA$&3{c)H?agBSZzzKKL-?pBKW zDkXqBy_!-Rau+673A>!V+a0eY1sOB90Joi`ejt}kQ)j#q3QP55CCP|h_D zQQeucTFFpB<5_4VYB2wevIlGT+bT|&lP=`>E&gsqOaTKk`kDbfjS zci7Ov@U+sA2;s)|1g)_ybX17hpYS-58rD|KSRg=TIaCQGh*T7Rx=nn+z;jADkrgGr zw&$9AGhiB=NM*eg-mJa7U$E>jK0SukZ5G`0yoU>et70B(+igEa#wLgOlaRVaBu{>+*R;;5YO3UDWF)jr&^5dez6t!kIo11FZS# zTM%$Ga^5w|wnNM#{F!p4?xpftAN`V{TR@xbPcn`l>(iDu?QtDsmbOymm8UjGQb3?h z(~ZqiJ>EQxmBEnvddkYe%$A-unxIYGXpd3wN6PQbP{Su=K(? z(cPA7KdL5Ep`Aw=`O7n5dDOlAf#;!-JH=P1Kf4cT|Egu;e?%6$r|6R@t>Lb{TlmZ4 MC6t{7)!Z}TA7EkzX#fBK literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_32$1.png b/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_32$1.png new file mode 100644 index 0000000000000000000000000000000000000000..cb08093d31af3a1607dc81be48f69c2a251d9ed0 GIT binary patch literal 2840 zcmeH}`#%$GAID9~nQ}*S3K1ctkh2_CMobPfVa{?Wx-nLotWYTBR4GPmwqc0ov~oxu zZiLX#oNhMfQ!!>5?$w|0yq;g~*Xy}{yH4Nl=lWdl>verou0pIug=BJVKK;APbkIC&x#2GA6E*21?8s=Jz-ZszG?XA=}^Zt_X|MstPz^8DLnNqC!^mW^c z$KoY@0b3`+WILk<4U&C{3+>mM?g<-*`_T0&{e8=QP7T4$*KNE$nULP2|D(7wWq%PF@3n$r|K$m>ac`vOTGbpIqIbYkPBP{54at>IvlFUStS9b* z_pznSB{$i0U`O~#zNe*2XUX&$b~2v5J1Z)|t6r?JW&rGo0Hj2qD75PNhZcgD7rG-* zfRy0ZYLGf9UiBH#V;@GED$pRiY1t6+JpN#ep zFHxx*n^qA2>F8RhAiLwbbEC+&7bxobw#q>jKe@Yho96?tOiY$kdNSVdZP@Pk2(M`; zbt@P0majVI=z7%2#E)Inp$@_!mDlxlg1*E>g#X=X^$DuP`jy;RX`*MCF;GpuP(kmh zETS5ScckeAChoZ_lr`+zaT7U0=1hk3iqIh4h`udbOJM#EX)V7R4I=V^?`X2Me|HI;e>Rx?Vx4&i$hk~>AXIwg<=H;%TpJQAOXQyvHk6K;~JXK1Ly7Ph?C~KP{VOe0i*H}IPm8FGi%0`5R z&wZ6SRKh?r$ePjb$D*3vq#D*dw9qhARM$f8wcQpg_i5=810%zQ3Soi#0nQz)Ir29k z#_YLV`i0#Sl=10)y!DIh!?7-r<|j=1XCeNp;CS7hD+RVF@_JVd&WSj4cdPE=q@$PpOkqrYzj5`Sk&EsYPStkc$}X|wAAG{DG3GuW`S|dM z59e5#`v?K+m@{Ds~u-tpVq+*2<_T-C;1tq zG*&d~jXT52p|6B{v`)aaaIs6n7CXezD6H>p*8)eCHvc9?tvvS&AyX3!>8T%8qalJ$ zDKUu*G@1JDCq>k<6!9p;Ylmy0lVl%~GJ$<1D$j%&$1t21DzQ4l_@LF zM=9z@-4y%e9AoYzw~FZaDvW;%%*^ZM3@<07M~r2k{$rr5RTCT<{mKp3dLZ+q(P>H7 z1;Oq_5nD_XFzXdk!>qPpuv#$BX-ZOMpixJ^%AWPXy-bl=x{dz8LFKcHCQbVA+TbL9 zl^Lu3{AkaN!FyJRV_k2X7a4Jw%YZw%|vKBI~^`G>w>~$NR4KLDlHl=HY zo17^W2_G*UCj0h%OEZ&7$k=$OHhO)CSE66n`B5UxW=V|6T{Axk@gd&UtBlY= ztj;YcN=pg$UOCb1IVZuRZrFPaAroyqR^RU=V9G^4qhh&!9X6wBz52Gu`WG7s@75S_ z_7i^k0HON8dgNT6n=Jvxo#<(D{IS2yXXhAWE`~($dEg!ejW-;8cZwYuI?zXRBv^oP z&6hhTlcNdC-3x!t8G5{zT!3~0Iv3=jb!M(Om{ClZPif`>iG_mx%`+RtY~7^7UoUQ# zFdDLQE|jGzob;QH&HHiV6|6k*&t<>CvT10jq^pVb70Zjj`T;2jZ^Aib)@oc#!12e& zC6A{oV`Op$9pvS$E4kR_D%?GVBnsSFIJuZN-P6q!-+^vRQfHelI`@opgbqGa zONy5t!n9TriC#2gx^|;{p}9)W~@OQ$8{M1>-Sxqg#&jxU4jM zKyTP{Y}Qm9w-P_m5P89q@ku|vxpDi-S}JEu>!zG@FL0;!cyZZ&?fE6{Uw473 mx&H&@@vka1{x@RLy?eqR{iQYT1>|9WMYOpD0aaM~JopEo;Vs1g literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_33$1.png b/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_33$1.png new file mode 100644 index 0000000000000000000000000000000000000000..6e1c6fbfc0aea57a6087e748e83eabfb5cbb391a GIT binary patch literal 2810 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 JX;#^ds%#=Qmesh)_hw#8Kx;$BiWk#{_Yl8``n zno!X8)*-pTbv!Y zJ~|!>n?a;{3N>qqfhPjO)n%FkAJ`uqSCHQ*_n*g?lW@z)HCEy?ldN8LgZigNH4~mO zQ!+KgUYihwT#QLhxg{>wit}MauLNB`eeFH3jh#Q`N52_~cXlYQGOXf9@!1FVenvO` z=`l(0^D+Hw+ReUOVpgG}U7gWRs9)(-;R#JNZ*PG>yfK)MvWh3mnI|pIv_?e2V3*`+ z6(Y1>@VjI{))p(x=e;UTy)jxmL(^_F(5&(-KFO-BE9`z+Y+<>oVd9~?N>u! z=jM=*8l9b$l(}j5{!{N1?9%X9Sy{CvNP=P9^Cum-D0)SO7<}%tuMG1FP0bJh!fub2 z_}gIDm;#MF#=zaW?5TA##E2!J*yy2^#+8l$z7E$>9EvLAsO@N zD&1>nLM5quLAmLra7XK5D{e8TUksk`n}iU?zZ@uqjSCQ|U~pklWQu%Tyy~&kyFz4U z;gz6js4YryZ_}+Y2qEADV~f&t<)%tjnq?zX57;0%=SRXwGQ5)JkS_g~myG7Re-RC| zVUH@xtX$*g((zbfRO2)gd@gb6X~UHEDi#x5cmqQke*1hevmSZLI$b_4LJD(X*)?SU z0*nn8ZBxsnKfHfvb&mnyvC7|?L^Xk1i)$T8wlm*EuUQcpR1<#MEkPD?s=#M##I+Kr zq#U^O3jX#wZ|Qh2}CBiIV~}6iS@oTen#t-|59I@Ud|tjgqNuN&6CEY!zZtJ^!Oi7MhDt7mlYSzbq8W=q&NYi`XEt zo9ng-n2IaG1ED3X ztFw2=F_Y8e#h{h&O-B}J>!HeUjop2-9gKA$TKJYNGBKLn*XGFO7oG9GSmOPL8GU8# z)2<>Gt7Veg(^6zaE>R}0hS3na;Tmu_oIKz0*XY`Ja0&upkRsfTAfcxBX#&W6RkNJl zw!y~>c}6Z>Op4A44;nYd8t0xvAvoLlRC72Shp&v{@5)o34*HfwSoY|e?HmUy1*QOW woY-j~En_Ay{wMTK-1M$sTW4Vte+^za?MGB>(^b literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_42$3.png b/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_42$3.png new file mode 100644 index 0000000000000000000000000000000000000000..5bb788eea6f97e21c3376cc9f88ac295f210b172 GIT binary patch literal 3800 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 literal 0 HcmV?d00001 diff --git a/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_44$3.png b/mrcnn/mask_data/train_image/image_11_2019_02_06_06_10_25/train_mask/mask_44$3.png new file mode 100644 index 0000000000000000000000000000000000000000..e91b8ea3df571f1835a53b59e1a90714afcec5ba GIT binary patch literal 2250 zcmeHHSy&QS6b7>iH50StORc~xb=qc1g$hg2K3CM-GRP&Ru^=ll6%A68amf&;QbTOB z%n3qKQ$ta|97D^rMZy%9G{u4d2?dv=fq93vd$@%VOJzd=c~OVgEt{GgTwr*=^$YZV%fDn> z=lJVG$cf;mRECXxQWZw|Y}S~xRNjtyiZXZ013O$Xjd8qmJU^QzVVhzj3zr^qC9ifzU4N!`~bKZp9DE z&K$6T+~=mah?iy;&xWEMPU?CSuZ(Q(rw9m|zD3#Fr4)q7cSWUAC^Bf9XDYjHRyY5H zKib^-VQPsD1p9EJL6qkVt$I*+)zh^zsAJAf7I#gsZ7ckqO@taWlMWYUnz~GvQQv;dTXJ0To^d;QoE|g2? zSU;QFYNZqFsFOcz1GlLd?X?C7J&d_s3}2+LI1{=GJRc}|UTe@cu$53Tlh1T$xN2*F ztQ7B85H5m1+!tkWr}x=H#v9+I-Z5&M->M9w1tdPU0H0&`FLTm?#;fiXeO5%|Z_r~F z7wRl`M<93T=2HXeB7GILs}~+!zQ=lX?NGNN z#eX`*qB#Av5%8F-&>k;5gjXxhz7J#XjQ`CoJk2SI5fwRP2ZZ*5VVGC3GjnR3o`no1>sKm{8?CJDb9&D8j`O0C|V{>e^i&poEY6L{WXrAZoPm1n71LW0R>>WEL z6}!^L=H!+&4XN;&tS8fhH74Y`(l2skr$p~gyvKW}=HFAFE~G6;KEx)Me^XV+)t~fd zO-F_pn{4==vKHF0Ks+@^D{o&3{(35cC_rf{f;PPnDTFsR_FU75(UT9axc4Jk&@MUl z$E|yA4cnJ{I2=bDva#WxxLB>oFbAI#5T`QZ>c2a`?A@0(yxmDcjGg>QgD2svvsRWb zXWZ6~^Q||B9d5*6XX@=@s3aoIoR*fs?9jB6bJ7dMZ^ZYsRgCGhhN#@2O=W(bHjY2Y evHu6wc6M2J*Qzy7TR$AsSG^DVdsHH$FZ~OxpaCKP literal 0 HcmV?d00001 diff --git a/mrcnn/scripts/train.py b/mrcnn/scripts/train.py index bb68731..59d6aa4 100644 --- a/mrcnn/scripts/train.py +++ b/mrcnn/scripts/train.py @@ -8,6 +8,7 @@ from sklearn.model_selection import train_test_split from random import randint import numpy as np +import json class ClomaskDataset(utils.Dataset): @@ -19,10 +20,13 @@ def load_shapes(self, id_list, train_path): """ Initialize the class with dataset info. """ + with open(ROOT_DIR + 'id_map.json') as mapping_file: + class_mapping = (json.load(mapping_file)) # Add classes - self.add_class('clomask', 1, "bottles") - self.add_class('clomask', 2, "boxes") - self.add_class('clomask', 3, "bags") + for val in class_mapping.keys(): + self.add_class('clomask', val, class_mapping[val]) + # self.add_class('clomask', 2, "boxes") + # self.add_class('clomask', 3, "bags") self.train_path = train_path # Add images for i, id_ in enumerate(id_list): @@ -117,6 +121,7 @@ def prepare_dataset(self): train_data = ClomaskDataset() train_data.load_shapes(train_list, TRAIN_PATH) train_data.prepare() + print(train_data.class_names) # initialize validation dataset validation_data = ClomaskDataset() @@ -186,4 +191,4 @@ def main(): if __name__ == '__main__': start = time.time() main() - print('Elapsed time', round((time.time() - start)/60, 1), 'minutes') \ No newline at end of file + print('Elapsed time', round((time.time() - start)/60, 1), 'minutes') From 0a6e6998e02411062b9a1829cadec2bf1f56fec1 Mon Sep 17 00:00:00 2001 From: pshivraj Date: Thu, 14 Feb 2019 19:09:39 -0800 Subject: [PATCH 10/11] Fix delimiters for masks --- mrcnn/scripts/pre_process.py | 2 +- mrcnn/scripts/train.py | 10 +++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/mrcnn/scripts/pre_process.py b/mrcnn/scripts/pre_process.py index ebcf8f8..aca8004 100644 --- a/mrcnn/scripts/pre_process.py +++ b/mrcnn/scripts/pre_process.py @@ -27,7 +27,7 @@ def mask_to_h5(train_path): label_array = [] for mask_file in next(os.walk(path + MASK_PATH))[2]: if 'png' in mask_file: - class_id = int(mask_file.split('$')[1][:-4]) + class_id = int(mask_file.split('__')[1][:-4]) label_array.append(class_id) mask_ = cv2.imread(path + MASK_PATH + mask_file, 0) i += 1 diff --git a/mrcnn/scripts/train.py b/mrcnn/scripts/train.py index 59d6aa4..921f3f3 100644 --- a/mrcnn/scripts/train.py +++ b/mrcnn/scripts/train.py @@ -25,8 +25,6 @@ def load_shapes(self, id_list, train_path): # Add classes for val in class_mapping.keys(): self.add_class('clomask', val, class_mapping[val]) - # self.add_class('clomask', 2, "boxes") - # self.add_class('clomask', 3, "bags") self.train_path = train_path # Add images for i, id_ in enumerate(id_list): @@ -78,19 +76,18 @@ def load_mask(self, image_id): else: path = self.train_path + info['img_name'] mask = [] - label_array = [] + class_ids = [] for mask_file in next(os.walk(path + MASK_PATH))[2]: if 'png' in mask_file: # these lines have been commented out due to invalid test data file name - # class_id = int(mask_file.split('$')[1][:-4]) - # label_array.append(class_id) + class_id = int(mask_file.split('__')[1][:-4]) + class_ids.append(class_id) mask_ = cv2.imread(path + MASK_PATH + mask_file, 0) mask_ = np.where(mask_ > 128, 1, 0) # Add mask only if its area is larger than one pixel if np.sum(mask_) >= 1: mask.append(np.squeeze(mask_)) mask = np.stack(mask, axis=-1) - class_ids = np.ones(mask.shape[2]) return mask.astype(np.uint8), class_ids.astype(np.int8) @@ -121,7 +118,6 @@ def prepare_dataset(self): train_data = ClomaskDataset() train_data.load_shapes(train_list, TRAIN_PATH) train_data.prepare() - print(train_data.class_names) # initialize validation dataset validation_data = ClomaskDataset() From 619a95823475ccf15e4b76bffba3b61e190538a5 Mon Sep 17 00:00:00 2001 From: Shivraj Date: Mon, 18 Feb 2019 23:19:30 -0800 Subject: [PATCH 11/11] Added mapping file for class_id and Object --- mrcnn/mask_data/id_map.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 mrcnn/mask_data/id_map.json diff --git a/mrcnn/mask_data/id_map.json b/mrcnn/mask_data/id_map.json new file mode 100644 index 0000000..cea80f9 --- /dev/null +++ b/mrcnn/mask_data/id_map.json @@ -0,0 +1,5 @@ +{ + "1": "bottles", + "2": "boxes", + "3": "bags" +}