Mask RCNN(Mask_RCNN-master)简单部署

一.注意事项

1.本文主要是引用大佬的文章(侵权请联系,马上删除),做的工作为简单补充

二.介绍

①简介:

Mask R-CNN(Mask Region-based Convolutional Neural Network)是一种用于目标检测语义分割的深度学习模型,它是对 Faster R-CNN 模型的扩展。Mask R-CNN 可以同时预测目标的边界框和像素级的掩码,从而实现了对图像中对象的精确定位分割

Mask R-CNN 的架构包括三个主要组件

1Backbone Network:通常使用的是预训练的卷积神经网络(如 ResNet、ResNeXt、或者 MobileNet),用于提取输入图像的特征。

2Region Proposal Network (RPN):RPN 在输入图像上滑动,并提出候选的对象边界框。这些边界框被用来定位图像中的目标。

3Mask Head:Mask Head 是 Mask R-CNN 的关键部分,它在每个候选的对象边界框周围生成目标的像素级掩码。这个过程可以视为是对边界框中的像素进行分类,从而确定哪些像素属于目标对象。

Mask R-CNN 的训练过程涉及到多个损失函数,包括目标检测的边界框损失和语义分割的掩码损失。这些损失函数共同作用于网络的不同部分,以确保网络能够准确地检测目标的位置和分割对象的像素。

Mask R-CNN 在许多计算机视觉任务中取得了state-of-the-art的结果,如图像分割、实例分割、和目标检测。它被广泛应用于医学图像分析、自动驾驶、视频分析等领域。

②流程图:

③结构图

④效果图:

理论知识建议阅读:【Mask RCNN】论文详解(真的很详细)_mask rcnn论文-CSDN博客)

三.正文

1.大体流程按照:

使用Mask_RCNN训练自己数据_哔哩哔哩_bilibili

2.准备工作:

①视频中getdata代码

import json

import os

import numpy as np

path = 'image/val'

files = []

# 找到所有的 JSON 文件

for file in os.listdir(path):

    if file.endswith('.json'):

        files.append(file)

via_region_data = {}

# 遍历每个 JSON 文件

for file in files:

    # 读取 JSON 文件内容

    with open(os.path.join(path, file)) as f:

        data = json.load(f)

    one_image = {}

    one_image['filename'] = file.split('.')[0] + '.jpg'

    regions = {}

    # 处理每个区域

    for i, shape in enumerate(data['shapes']):

        points = np.array(shape['points'])

        all_points_x = list(points[:, 0])

        all_points_y = list(points[:, 1])

        regions[str(i)] = {

            'region_attributes': {},

            'shape_attributes': {

                'name': shape['label'],

                'all_points_x': all_points_x,

                'all_points_y': all_points_y

            }

        }

    one_image['regions'] = regions

    one_image['size'] = 0  # 这里可能需要根据实际情况修改

    via_region_data[file] = one_image

# 将数据保存到 JSON 文件中

with open('image/val/via_region_data.json', 'w') as f:

    json.dump(via_region_data, f, sort_keys=False, ensure_ascii=True)

(注意:val/train一定要自己修改)

②视频中的predicton代码

import cv2

image=cv2.imread('images/val/pig5.jpg')

from mrcnn.config import Config

from mrcnn import  model as modellib,utils

class BalloonConfig(Config):

    NAME = 'balloon'

    IMAGES_PER_GPU = 1

    NUM_CLASSES = 1+1

    DETECTION_MIN_CONFIDENCE = 0.8

config=BalloonConfig()

model=modellib.MaskRCNN(mode='inference',config=config,model_dir='logs')

model.load_weights(r'logs\balloon20240502T2045\mask_rcnn_balloon_0003.h5',by_name=True)

result=model.detect([image])

class_names=['BG','pig']

from mrcnn.visualize import display_instances

display_instances(image, result[0]['rois'],result[0]["masks"], result[0]['class_ids'], class_names,

                      scores=None, title="",

                      figsize=(16, 16), ax=None,

                      show_mask=True, show_bbox=True,

                      colors=None, captions=None)

3.结果式样

(本人标签打的不好所以结果不是特别理想)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3019382.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

武汉凯迪正大—电能质量测试仪功能特点

武汉凯迪正大电能质量测试仪功能特点 1. 仪器是专门用于检测电网中发生波形畸变、谐波含量、三相不平衡等电能质量问题的高精度测试仪器;同时还具备电参量测试、矢量分析的功能。 2. 可精确测量电压、电流、有功功率、无功功率、相角、功率因数、频率等多种电参量…

翔云优配正规炒股美股市场秒速涨停!主力疯狂加仓,板块掀涨停潮

查查配今日,A股整体微幅震荡,主要股指涨跌互现,上证指数小幅飘红再创年内新高,创业板指和科创50则小幅调整,两市成交跌破万亿元。盘面上,国防军工、化工、低空经济、房地产等板块涨幅居前,ST、电力、酒店餐饮、家用电器等板块跌幅居前。 翔云优配以其专业的服务和较低的管理费…

vue项目基于WebRTC实现一对一音视频通话

效果 前端代码 <template><div class"flex items-center flex-col text-center p-12 h-screen"><div class"relative h-full mb-4 fBox"><video id"localVideo"></video><video id"remoteVideo">…

CentOS操作

1.如何修改主机名 方法一&#xff1a; 修改命令&#xff1a;hostnamectl set-hostname 主机名 查看命令&#xff1a;hostname 方法二和方法三都是永久改变主机名&#xff0c;需要密码验证 方法二 修改命令&#xff1a;nmcli general hostname 主机名 查看命令&#xff…

普通人适合做大模型吗?过程中会发生什么潜在的挑战?

对于普通人来说&#xff0c;直接进行大模型的研发和训练可能存在一定的挑战&#xff0c;因为这通常需要以下资源和知识&#xff1a; 专业知识&#xff1a; 大模型的开发需要深入理解机器学习、深度学习、神经网络等领域的知识。 计算资源&#xff1a; 大模型的训练需要高性能的…

无处不在的AI:被科技巨头盯上的Agent智能体的崭新时代

&#x1f97d;一.Agent AI智能体 Agent AI 智能体是一种基于人工智能技术的智能代理&#xff0c;它可以自主地执行任务、与环境进行交互&#xff0c;并根据环境的变化做出决策。 OpenAI将AI Agent定义为以大语言模型&#xff08;LLM&#xff09;为大脑驱动具有自主理解、感知、…

一个账号玩遍ChatGPT/Claude-3/Midjourney 省钱又省力

当 OpenAI 的闭源 GPT-4 和 Meta 的开源 LLaMA 3 70B 模型在 Chatbot Arena Elo Score、MMLU 和 MT Benchmark 测试中表现出相当的性能时&#xff0c;选择更昂贵的专有模型&#xff08;其成本高出 58 倍&#xff09;的论据是&#xff1a; NVIDIA GPU Inference 上的运行速度比 …

新能源汽车充电站智慧充电电能服务综合解决方案

安科瑞薛瑶瑶18701709087/17343930412 ★解决方案 ✔目的地充电-EMS微电网平台 基于EMS解决方案从设备运维的角度解决本地充电的能量管理及运维问题&#xff0c;与充电管理平台打通数据&#xff0c;为企业微电网提供源、网、荷、储、充一体化解决方案。 ✔运营场站--电能服务…

教你零成本,免费使用comfyui复现remini爆火的黏土风格转绘(附完整教程)

在五一假期期间,一款名为Remini的AI照片编辑软件在小红书上迅速走红,其独特的“丑萌”黏土风格滤镜深受广大博主和用户的喜爱,引发了一波热潮,让人们玩得不亦乐乎。 Remini软件提供的这种视觉效果虽然看起来有点“丑萌”特效,然而,正是这种独树一帜的画风,使得Remini迅速…

秒翻-网页翻译最佳选择

使用方法&#xff1a; 安装“沉浸式翻译” 在扩展设置页面勾选“Beta”特性。 输入 DeepLX 现成的 API-https://api.deeplx.org/translate。

微信小程序音频怎么保存到手机

如果你想在微信小程序中收听美妙的音乐&#xff0c;又想将其保存到手机中&#xff0c;那么微信小程序音频怎么保存到手机这个问题就是你的最佳指南。 微信小程序音频下载工具我已经打包好了&#xff0c;有需要的自己下载一下 下载高手工具打包链接&#xff1a;百度网盘 请输入…

unreal engine5.3.2 Quixel bridge无法登陆

UE5系列文章目录 文章目录 UE5系列文章目录前言一、问题定位二、解决方法 前言 这几天unreal engine5.3.2 Quixel bridge无法登陆&#xff0c;输入epic 账号和密码&#xff0c;然后在输入epic发送的验证码&#xff0c;总是提示登录失败。就算是使用科学上网依然无法登录。而且…

Python——Numpy基础分析(1)

一、数据集 1.数据说明 fixed acidity 固定酸度 volatile acidity 挥发性酸度 pH 酸碱值 alcohol 酒精度数 quality 品质得分 2.部分数据展示 图 1-1部分数据展示 若需要全部数据&#xff0c;请私信作者&#xff0c;谢谢 二、导入数据——使用genfromtxt函数来读取文件…

领导想提拔你,看的从来不只是努力

谁不曾做过努力工作&#xff0c;一路升职加薪的职业规划&#xff0c;现实却给很多人泼了一盆冷水。 在大家的普遍认知里&#xff0c;北上广普遍高薪&#xff0c;月入过万就是标配。 然而在逃离北上广的热门帖子下&#xff0c;有网友发出了声音&#xff1a; “我都35了&#xff…

SpringBoot Actuator未授权访问漏洞的解决方法

1. 介绍 Spring Boot Actuator 是一个用于监控和管理 Spring Boot 应用程序的功能模块。它提供了一系列生产就绪的功能&#xff0c;帮助你了解应用程序的运行状况&#xff0c;以及在运行时对应用程序进行调整。Actuator 使用了 Spring MVC 来暴露各种 HTTP 或 JMX 端点&#x…

2024年全国五大数学建模竞赛Top榜及难度分析!推荐数维杯!!!

发现最近许多同学都陆续开始准备今年的数学建模竞赛了&#xff0c;但是随着数学建模领域越来越普及&#xff0c;影响力越来越广泛&#xff0c;参加的同学也越来越多&#xff0c;就导致有越来越多各式各样的数学建模竞赛此起彼伏出现&#xff0c;但其中有一些竞赛其实并不值得参…

Vue按照顺序实现多级弹窗(附Demo)

目录 前言1. 单个弹窗2. 多级弹窗 前言 强化各个知识点&#xff0c;以实战融合&#xff0c;以下两个Demo从实战提取 1. 单个弹窗 部署按钮框以及确定的方法即可 截图如下所示&#xff1a; 以下Demo整体逻辑如下&#xff1a; 点击“生成周月计划”按钮会触发showWeekPlanDia…

pytorch实现transformer(1): 模型介绍

文章目录 1. transformer 介绍2 Position Encoding2.1 位置编码原理2.2 代码实现3 Self-attention4 前馈层FFN5 残差连接与层归一化6 编码器和解码器结构1. transformer 介绍 Transformer 模型是由谷歌在 2017 年提出并首先应用于机器翻译的神经网络模型结构。机器翻译的目标是…

23.右值引用_c++11(左值引用的使用场景、右值引用的使用场景、左值引用和右值引用的对比、移动构造、移动赋值、右值引用完美转发)

传统的C语法中就有引用的语法&#xff0c;而C11中新增了的右值引用语法特性&#xff0c;所以从现在开始我们之前学习的引用就叫做左值引用。无论左值引用还是右值引用&#xff0c;都是给对象取别名。 4.右值引用 4.1 左值引用和右值引用 什么是左值&#xff1f;什么是左值引…

2024年常用的几款透明加密软件大全

文件透明加密软件是一种特殊类型的加密工具&#xff0c;它们能够在后台自动加密和解密文件&#xff0c;对用户来说&#xff0c;加密和解密是透明的&#xff0c;不需要额外的操作。以下是几种常见的文件透明加密软件&#xff1a; 1、Ping32&#xff1a; Ping32透明加密软件还具…