Keras之Mask R-CNN:《极限挑战》第四季第2期助力高考—使用Mask R-CNN代替Photoshop抠图、颜色填充框出目标检测
Keras之Mask R-CNN:《极限挑战》第四季第2期助力高考—使用Mask R-CNN代替Photoshop抠图、颜色填充框出目标检测
导读
没有伞的孩子只能努力奔跑!奔跑吧,相信自己!博主提前祝莘莘学子2018年高考顺利!Nothing is impossible.Just do it!
输出结果
设计思路
核心代码
# -*- coding: utf-8 -*-
import os
import sys
import argparse
import numpy as np
import coco
import utils
import model as modellib
import imageio
import visualize
def create_noisy_color(image, color):
color_mask = np.full(shape=(image.shape[0], image.shape[1], 3),
fill_value=color)
noise = np.random.normal(0, 25, (image.shape[0], image.shape[1]))
noise = np.repeat(np.expand_dims(noise, axis=2), repeats=3, axis=2)
mask_noise = np.clip(color_mask + noise, 0., 255.)
return mask_noise
def string_to_rgb_triplet(triplet):
if '#' in triplet:
# http://stackoverflow.com/a/4296727
triplet = triplet.lstrip('#')
_NUMERALS = '0123456789abcdefABCDEF'
_HEXDEC = {v: int(v, 16)
for v in (x + y for x in _NUMERALS for y in _NUMERALS)}
return (_HEXDEC[triplet[0:2]], _HEXDEC[triplet[2:4]],
_HEXDEC[triplet[4:6]])
else:
# https://stackoverflow.com/a/9763133
triplet = make_tuple(triplet)
return triplet
……
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description='Person Blocker - Automatically "block" people '
'in images using a neural network.')
parser.add_argument('-i', '--image', help='Image file name.',
required=False)
parser.add_argument(
'-m', '--model', help='path to COCO model', default=None)
parser.add_argument('-o',
'--objects', nargs='+',
help='object(s)/object ID(s) to block. ' +
'Use the -names flag to print a list of ' +
'valid objects',
default='person')
parser.add_argument('-c',
'--color', nargs='?', default='(255, 255, 255)',
help='color of the "block"')
parser.add_argument('-l',
'--labeled', dest='labeled',
action='store_true',
help='generate labeled image instead')
parser.add_argument('-n',
'--names', dest='names',
action='store_true',
help='prints class names and exits.')
parser.set_defaults(labeled=False, names=False)
args = parser.parse_args()
if args.names:
print(get_class_names())
sys.exit()
person_blocker(args)
全部代码和设计思路解释每周六将公布!!!
参考文章
Mask R-CNN
最新更新说明!!!
全部代码请移步到GitHub地址:https://github.com/matterport/Mask_RCNN
赞 (0)