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)

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


相关文章
|
8月前
|
机器学习/深度学习 算法 TensorFlow
TensorFlow 2keras开发深度学习模型实例:多层感知器(MLP),卷积神经网络(CNN)和递归神经网络(RNN)
TensorFlow 2keras开发深度学习模型实例:多层感知器(MLP),卷积神经网络(CNN)和递归神经网络(RNN)
|
8月前
|
机器学习/深度学习 数据采集 TensorFlow
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
|
8月前
|
机器学习/深度学习 人工智能 测试技术
基于keras平台CNN神经网络模型的服装识别分析
基于keras平台CNN神经网络模型的服装识别分析
|
8月前
|
机器学习/深度学习 编解码 算法
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
275 0
|
8月前
|
机器学习/深度学习 编解码 数据可视化
RecursiveDet | 超越Sparse RCNN,完全端到端目标检测的新曙光
RecursiveDet | 超越Sparse RCNN,完全端到端目标检测的新曙光
133 0
|
8月前
|
机器学习/深度学习 监控 算法
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
153 0
|
8月前
|
机器学习/深度学习 算法 固态存储
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
502 0
|
30天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
312 7
|
2月前
|
机器学习/深度学习 自然语言处理 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
60 1

热门文章

最新文章