1.3 【Mask-RCNN训练自己的数据集】---- Part Three: 用自己训练的模型进行测试(全部流程总结+部分释义)

2023-11-17

三.模型测试

import os
import sys
sys.path.remove('/opt/ros/kinetic/lib/python2.7/dist-packages')
import random
import math
import numpy as np
import skimage.io
import matplotlib
import matplotlib.pyplot as plt
import cv2
import time
 
ROOT_DIR = os.path.abspath("/home/***/Mask_RCNN-master/")
 
sys.path.append(ROOT_DIR)
 
from mrcnn.config import Config
from datetime import datetime
from mrcnn import utils
import mrcnn.model as modellib
from mrcnn import visualize
 
sys.path.append(os.path.join(ROOT_DIR, "samples/coco/"))
from samples.coco import coco
 
MODEL_DIR = os.path.join(ROOT_DIR, "logs/shapes20200108T1438")
#MODEL_DIR = os.path.join(ROOT_DIR, "logs")
 
COCO_MODEL_PATH = os.path.join(MODEL_DIR, "mask_rcnn_shapes_0020.h5")
#COCO_MODEL_PATH = os.path.join(MODEL_DIR, "mask_rcnn_coco.h5")
 
IMAGE_DIR = os.path.join(ROOT_DIR, "testimg")
#IMAGE_DIR = os.path.join(ROOT_DIR, "images")
 
class ShapesConfig(Config):
    NAME = "shapes"
    
    GPU_COUNT = 1
    IMAGES_PER_GPU = 1
    
    NUM_CLASSES = 1 + 1
    
    IMAGE_MIN_DIM = 1080
    IMAGE_MAX_DIM = 1920
    
    RPN_ANCHOR_SCALES = (8 * 10, 16 * 10, 32 *10, 64 * 10, 128 * 10)
    
    TRAIN_ROIS_PER_IMAGE =100
    
    STEPS_PER_EPOCH = 10
    
    VALIDATION_STEPS = 10
    
class InferenceConfig(ShapesConfig):
    
    GPU_COUNT = 1
    IMAGES_PER_GPU = 1
    
config = InferenceConfig()
 
model = modellib.MaskRCNN(mode="inference", model_dir=MODEL_DIR, config=config)
 
model = modellib.MaskRCNN(mode="inference", model_dir=MODEL_DIR, config=config)
 
model.load_weights(COCO_MODEL_PATH, by_name=True)
 
class_names = ['BG', 'tank']
i=1
while(i<2):
    i=i+1
    file_names = next(os.walk(IMAGE_DIR))[2]
#    image = skimage.io.imread(os.path.join(IMAGE_DIR, random.choice(file_names)))
    image = skimage.io.imread(os.path.join(IMAGE_DIR, "000002.jpg"))
    a=datetime.now()
 
    results = model.detect([image], verbose=1)
    b=datetime.now()
 
    print("time:",(b-a).seconds)
    r = results[0]
    visualize.display_instances(image, r['rois'], r['masks'], r['class_ids'], class_names, r['scores'])

注意更改要测试的图片大小,其余的就不多做解释了,上篇博客几乎都讲到了。

2.1 Mask-RCNN训练自己的数据集【Part One:制作数据集】(全部流程总结+部分释义)
2.2 Mask-RCNN训练自己的数据集【Part Two: 模型训练】(全部流程总结+部分释义)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1.3 【Mask-RCNN训练自己的数据集】---- Part Three: 用自己训练的模型进行测试(全部流程总结+部分释义) 的相关文章

  • 如何保存 Tensorflow.js 模型?

    我想制作一个创建 保存和训练 tensorflow js 模型的用户界面 但我无法在创建模型后保存模型 我什至从tensorflow js文档复制了这段代码 但它不起作用 const model tf sequential layers t
  • QSortFilterProxyModel + QAbstractItemModel modelIndex.internalPointer() 导致崩溃

    我在 PyQt 4 8 Python 2 7 中实现了自己的 QAbstractItemModel class FriendListModel QtCore QAbstractItemModel def init self groups c
  • 使用 python 通过搜索端点从 Spotify API 获取曲目

    因此 我尝试使用 API 的搜索端点进行搜索 从而从 Spotify API 获取曲目 请参阅文档 https developer spotify com documentation web api reference search sea
  • Keras,如何获取每一层的输出?

    我已经用 CNN 训练了一个二元分类模型 这是我的代码 model Sequential model add Convolution2D nb filters kernel size 0 kernel size 1 border mode
  • 将 stdout 重定向到 Python 中的文件? [复制]

    这个问题在这里已经有答案了 如何将 stdout 重定向到 Python 中的任意文件 当长时间运行的 Python 脚本 例如 Web 应用程序 从 ssh 会话内启动并处于后台 并且 ssh 会话关闭时 应用程序将引发 IOError
  • Python 中的二进制相移键控

    我目前正在编写一些代码 以使用音频转换通过激光传输消息 文件 和其他数据 我当前的代码使用 python 中 binascii 模块中的 hexlify 函数将数据转换为二进制 然后为 1 发出一个音调 为 0 发出不同的音调 这在理论上是
  • 如何通过 Python socket.send() 发送字符串以外的任何内容

    我对 Python 编程非常陌生 但出于必要 我必须快速地将一些东西组合在一起 我正在尝试通过 UDP 发送一些数据 除了当我执行 socket send 时 我必须以字符串形式输入数据之外 一切都正常 这是我的程序 这样你就可以看到我在做
  • 出现意外的关键字参数“timeout”(Python 中的 google-cloud-storage)

    使用 google cloud storage 的 Python 项目在本地运行良好 但是当它从 App Engine 运行时 会显示错误 Traceback most recent call last File opt python3 7
  • keras 预测内存交换无限期增加

    我使用keras实现了一个分类程序 我有一大组图像 我想使用 for 循环来预测每个图像 然而 每次计算新图像时 交换内存都会增加 我尝试删除预测函数内部的所有变量 并且我确信该函数内部存在问题 但内存仍然增加 for img in ima
  • 超时时杀死或终止子进程?

    我想尽可能快地重复执行子进程 然而 有时这个过程会花费太长的时间 所以我想杀死它 我使用 signal signal 如下所示 ppid pipeexe pid signal signal signal SIGALRM stop handl
  • 如何在Python中获取绝对文件路径

    给定一条路径 例如 mydir myfile txt 如何在Python中找到文件的绝对路径 例如 在 Windows 上 我最终可能会得到 C example cwd mydir myfile txt gt gt gt import os
  • 将 ASCII 字符转换为“”unicode 表示法的脚本

    我正在对 Linux 区域设置文件进行一些更改 usr share i18n locales like pt BR 并且需要格式化字符串 例如 d m Y H M 必须以 Unicode 指定 其中每个 在本例中为 ASCII 字符表示为
  • 通过套接字发送字符串(python)

    我有两个脚本 Server py 和 Client py 我心中有两个目标 能够从客户端一次又一次地向服务器发送数据 能够将数据从服务器发送到客户端 这是我的 Server py import socket serversocket soc
  • Pandas - 分割大的Excel文件

    我有一个大约有 500 000 行的 Excel 文件 我想将其拆分为多个 Excel 文件 每个文件有 50 000 行 我想用熊猫来做 这样它会是最快和最简单的 有什么想法如何制作吗 感谢您的帮助 假设您的 Excel 文件只有一个 第
  • 带有整数的 np.sqrt 和 where 条件返回错误结果

    当我将 numpy sqrt 方法应用于带有 a 的整数数组时 我得到了奇怪的结果where健康 状况 见下文 对于整数 a np array 1 4 9 np sqrt a where a gt 5 Out 3 array 0 0 5 3
  • 如何在 Python 中解析损坏的 XML?

    我无法影响的服务器发送的 XML 非常损坏 具体来说 Unicode WHITE STAR 将被编码为 UTF 8 E2 98 86 然后使用 Latin 1 转换为 HTML 实体表 我得到的是 acirc 98 86 9 个字节 位于声
  • 在 Gensim 中通过 ID 检索文档的字符串版本

    我正在使用 Gensim 进行一些主题建模 并且已经达到使用 LSI 和 tf idf 模型进行相似性查询的程度 我取回 ID 集和相似点 例如 299501 0 64505910873413086 如何获取与 ID 在本例中为 29950
  • Python 中的 C 指针算术

    我正在尝试将一个简单的 C 程序转换为 Python 但由于我对 C 和 Python 都一无所知 这对我来说很困难 我被 C 指针困住了 有一个函数采用 unsigned long int 指针并将其值添加到 while 循环中的某些变量
  • 在 pip 中为 Flask 应用程序构建 docker 映像失败

    from alpine latest RUN apk add no cache python3 dev pip3 install upgrade pip WORKDIR backend COPY backend RUN pip no cac
  • 获取长度为 n 的所有(n-选择-k)组合

    我怎样才能获得长度的所有组合 按顺序 n从数字列表中 例如 给定列表 1 2 3 4 并设置n 3 我怎样才能得到这些结果 1 2 3 1 2 4 1 3 4 2 3 4 For combinations of all possible l

随机推荐

  • Linux——进程信号的发送

    目录 一 信号发送的概念 首先来讲几个发送术语 它有三种情况 注意 二 信号在内核中的表示示意图 三 信号捕捉 所以总结一下 此时 会出现这样一个疑问 操作系统是如何得知现在被执行的进程是用户态还是内核态 问题2 CPU在执行某个进程时是如
  • Node.js 应用:Koa2 使用 JWT 进行鉴权

    前言 在前后端分离的开发中 通过 Restful API 进行数据交互时 如果没有对 API 进行保护 那么别人就可以很容易地获取并调用这些 API 进行操作 那么服务器端要如何进行鉴权呢 Json Web Token 简称为 JWT 它定
  • React全部api解读

    很多同学用react开发的时候 真正用到的React的api少之又少 基本停留在Component React memo等层面 实际react源码中 暴露出来的方法并不少 只是我们平时很少用 但是React暴露出这么多api并非没有用 想要
  • pip(Python包管理工具)安装第三方库教程

    目录 1 python环境检查 2 pip库的常用命令 2 1 更新包 2 1 1 更新pip工具 2 1 2 更新三方库 2 2 安装包 2 2 1 在线安装 2 2 1 1 直接安装 2 2 1 2 镜像安装 2 2 2 离线安装 2
  • 机器学习概述和数据预处理

    概述 机器学习定义 机器学习是一门能够让编程计算机从数据中学习的计算机科学 一个计算机程序在完成任务T之后 获得经验E 其表现效果为P 如果任务T的性能表现 也就是用来衡量的P 随着E增加而增加 那么这样计算机程序就被称为机器学习系统 自我
  • Vue 2项目如何升级到Vue 3?

    应不应该从 Vue 2 升级到 Vue 3 应不应该升级 这个问题不能一概而论 首先 如果你要开启一个新项目 那直接使用 Vue 3 是最佳选择 后面课程里 我也会带你使用 Vue 3 的新特性和新语法开发一个项目 以前我独立使用 Vue
  • Linux磁盘管理命令

    Linux磁盘管理命令 Linux磁盘管理命令 1 pwd命令 2 cd命令 3 df命令 4 mkdir命令 5 mount及umount命令 6 ls命令 7 history命令 Linux磁盘管理命令 1 pwd命令 作用 显示当前工
  • ubuntu18.04安装Azure Kinect传感器摄像头教程

    官方教程 Azure Kinect DK文档 配置存储库 可以通过安装适用于 Linux 分发版和版本的 Linux 包自动配置存储库 此包将安装存储库配置以及工具 如 apt yum zypper 使用的 GPG 公钥来验证已签名的包和
  • 基于STM32CubeMX创建的STM32H743+DP83848+LWIP网络通信程序调试_20221127算是胎教级教程了

    目录 目的 编写一个可以稳定连接到局域网的STM32网络通信程序 硬件和软件 具体步骤 1 利用STM32CubeMX建立Keil工程文件 2 在keil中修改代码和配置工程 3 代码烧录 功能验证 目的 编写一个可以稳定连接到局域网的ST
  • 关于xpath的安装

    1 xpath简介 使用xpath需要安装模块 pip install lxml 导入模块 from lxml import etree xpath是用来载xml中查找指定的元素 它是一种路径表达式 详细内容可在文档中查找 https de
  • linux中软链接的使用方法

    在 Linux 中的连结有两种 一种是类似 Windows 的快捷方式功能的档案 可以让你快速的链接到目标档案 或目彔 另一种则是透过文件系统的 inode 连结来产生新的文档名 而不是产生新档案 这种称为实体链接 hard link Ha
  • C++ std::Thread多线程和mutex锁通俗易懂

    记录学习过程 如有新的发现 随时补充 如有错误或补充 请各位大佬指正 一 前言 多线程有多种方式 std Thread boost Thread pthread Windows库等 本文只关注std Thread 可以跨平台运行 二 std
  • 已解决-NVIDIA安装程序失败-win10

    这个错误界面没截图 去别的地方盗过来一个 我的电脑显示cuda版本是11 0的 所以一直努力装11 0版本的 新电脑刚开始装的前几次还没问题 卸的次数多了报应就来了 一直报错 整的都快崩溃了 现在解决了 我装的是10 0版本的 把方法贴出来
  • 使用Docker伪分布式安装hadoop

    1 安装Docker Desktop 官网地址 2 下载linux内核更新包 安装好Docker重启之后 会自动提示安装它 官网地址 3 重启计算机后打开docker desktop 4 win r 打开 cmd窗口 5 拉取镜像 dock
  • 在linux服务器上进行VTM的cmake并进行编解码

    前不多言 直接进入主题 一 上传VTM源码至linux服务器端 源码压缩包可以去这个网站进行下载 二 上传后使用linux操作命令解压 unzip xxx zip 三 解压后进行cmake操作 输入命令行进行操作 第一步 进入至解压后的vt
  • git操作总结

    git操作总结 一 配置Git 1 配置用户信息 安装git后 第一件事是配置用户名和邮件地址 记录是谁对文件进行了修改 global命令运行一次 永久生效 git config global user name git config gl
  • pandas DataFrame.to_sql() 用法

    to sql 的语法如下 https pandas pydata org pandas docs stable reference api pandas DataFrame to sql html DataFrame to sql name
  • QT-子线程或自定义类操作访问主界面UI控件的几种方法

    前言 QT创建窗体工程 一般在MainWindow或Dialog类里可以直接通过ui指针访问控件 但是添加新的类后又如何访问呢 可以通过以下几种方式 1 将ui指针公开后直接访问 1 例如有个自己定义的类CustomClass 在自定义类里
  • autojs人像变换

    牙叔教程 简单易懂 产品简介 腾讯云神图 人像变换 Face Transformation 基于腾讯优图领先的人脸识别算法 提供人脸年龄变化 人脸性别转换等能力 用户上传照片即可得到实现男女性别切换 人脸变老 变年轻等效果 适用于社交娱乐
  • 1.3 【Mask-RCNN训练自己的数据集】---- Part Three: 用自己训练的模型进行测试(全部流程总结+部分释义)

    三 模型测试 import os import sys sys path remove opt ros kinetic lib python2 7 dist packages import random import math import