Keras之Mask R-CNN:《极限挑战》第四季第2期助力高考—使用Mask R-CNN代替Photoshop抠图、颜色填充框出目标检测

简介: Keras之Mask R-CNN:《极限挑战》第四季第2期助力高考—使用Mask R-CNN代替Photoshop抠图、颜色填充框出目标检测

输出结果


image.png

image.png

image.png








设计思路

image.png




核心代码


# -*- 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)

全部代码和设计思路解释每周六将公布!!!


相关文章
|
9天前
|
机器学习/深度学习 数据采集 TensorFlow
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
29 0
|
2月前
|
机器学习/深度学习 编解码 算法
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
42 0
|
2月前
|
机器学习/深度学习 编解码 数据可视化
RecursiveDet | 超越Sparse RCNN,完全端到端目标检测的新曙光
RecursiveDet | 超越Sparse RCNN,完全端到端目标检测的新曙光
57 0
|
4月前
|
机器学习/深度学习 监控 算法
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
35 0
|
4月前
|
机器学习/深度学习 算法 固态存储
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
121 0
|
4月前
|
机器学习/深度学习 并行计算 算法
【计算机视觉+CNN】keras+ResNet残差网络实现图像识别分类实战(附源码和数据集 超详细)
【计算机视觉+CNN】keras+ResNet残差网络实现图像识别分类实战(附源码和数据集 超详细)
64 0
|
5月前
|
机器学习/深度学习 数据挖掘 TensorFlow
keras tensorflow 搭建CNN-LSTM神经网络的住宅用电量预测 完整代码数据
keras tensorflow 搭建CNN-LSTM神经网络的住宅用电量预测 完整代码数据
54 0
|
6月前
|
机器学习/深度学习 自然语言处理 算法
【深度学习】实验15 使用CNN完成MNIST手写体识别(Keras)
【深度学习】实验15 使用CNN完成MNIST手写体识别(Keras)
55 0
|
9月前
|
机器学习/深度学习 算法框架/工具 Python
高级神经网络Keras+CNN-GRU-Attention负荷预测(Python代码实现)
高级神经网络Keras+CNN-GRU-Attention负荷预测(Python代码实现)
|
10月前
|
机器学习/深度学习 编解码 缓存
两阶段目标检测指南:R-CNN、FPN、Mask R-CNN
两阶段目标检测指南:R-CNN、FPN、Mask R-CNN
133 0

热门文章

最新文章