Faster批量测试且所有类检测结果都显示在一张图上。

使用endernewton的tf-faster-rcnn实现批量图片检测,将所有类别检测结果整合到一张图像上。通过读取txt文件中的图片名,对每张图片进行多类别检测,并将检测框直接绘制到原图,最终结果保存于data/result目录。主要改动在于避免了vis_detections函数的多次调用,实现了多类检测结果在同一图像的可视化。
摘要由CSDN通过智能技术生成

用的https://github.com/endernewton/tf-faster-rcnn

endernewton版本tensorflow实现的faster-rcnn

原来demo.py:实现的是检测一张图片,然后对该图片的每一类检测结果,单独显示。

修改之后:从txt中读取要检测的图片名称,进行批量检测,并把所有类的检测结果都放到一张图上,然后保存到data/result里。


修改的地方:

原来的可视化是用vis_detections(image_name, im, cls, dets, thresh=CONF_THRESH),它把一张图的多类检测结果,每一类单独显示在一张图像上。现在不用他了,直接在代码中打开图片,然后把检测结果遍历,直接画在一张图上。

不能显示在一张图上的原因是,每次调用vis_detections函数,输入的仅仅是单类的检测结果,然后每次打开一张图。而现在是直接打开一张图,一次在图片中输入所有类的检测结果。

具体在下面代码有注释。

#!/usr/bin/env python

"""
https://blog.csdn.net/gusui7202/article/details/83239142
qhy。
"""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import _init_paths
from model.config import cfg
from model.test import im_detect
from model.nms_wrapper import nms

from utils.timer import Timer
import tensorflow as tf
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
import os, cv2
import argparse


from nets.vgg16 import vgg16
from nets.resnet_v1 import resnetv1

CLASSES = ('__background__',  # always index 0
                     'normal bolt','normal bolt-2','normal bolt-3','shim losing','nut losing','nut losing-2','nut losing-3','nut directly loosening','nut directly loosening-2','nut directly loosening-3','nut directly loosening-4','pin loosening','pin closing
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值