bbox

【论文阅读】Gaussian YOLOv3

我的梦境 提交于 2019-11-28 09:05:59
Gaussian YOLOv3 Abstract Introduction Background Gaussian YOLOv3 Gaussian modeling Reconstruction of loss function Utilization of localization uncertainty Experimental Results 【ICCV2019】Gaussian YOLOv3: An Accurate and Fast Object Detector Using Localization Uncertainty for Autonomous Driving Abstract FP(false positive)对无人驾驶会造成严重的后果,比如会造成不必要的刹车,这样会造成驾驶的不稳定性,本文通过在检测阶段使用 the predicted localization 减少FP,增加TP,从而提高准确度。 建设数据集: KITTI & BDD (Berkeley deep drive) Introduction 无人驾驶目标检测算法应满足两点要求: 对于道路目标,例如车、行人、交通灯、交通标志等,具有高检测准确度。 实时的检测速度 问题:大多数算法尽管知道被检测物体的坐标,但是该bbox的结果的不确定性未知,结合 不确定性 对于降低FP非常重要。 基础

yolo v3做行人检测+alexnet做上衣颜色识别

╄→гoц情女王★ 提交于 2019-11-28 05:29:22
参考链接: 1) alexnet做上衣颜色识别 2) keras训练自己的数据集 前言: 本项目是基于yolo v3已经训练好的coco数据集的模型进行行人检测的,然后将检测出来的结果传入到alexnet训练好的上衣颜色识别模型做识别。alexnet训练上衣颜色的数据集可以采用 RAP数据集 进行训练,后面会详细说rap数据集的坑。最终结果是:alexnet的val准确率大概在76%左右【这个感觉可以改成VGG16试一下,效果可能会更好】,每一帧做测试的时候需要400多秒. requirement: ubuntu14.04【ps:ubuntu 16.04更好,因为支持cuda9.0】 python3.6.1 keras2.1.2 tensorflow-gpu==1.4.1 一.步骤说明: 1)先按照 keras版的yolov3 的视频代码,框出行人的位置 2)训练上衣颜色识别的模型,原版的【参考链接2】是识别上衣颜色+上衣类别,我需要删掉上衣类别这个网络模型,然后进行训练 3)将第一步得到的行人的位置传入第二步训练好的模型中,然后返回到Yolo v3的视频检测中继续跑 二.对于RAP数据集的坑: 首先RAP数据集的label是mat文件,这就比较棘手了,还好 github上 有转化为xml格式的代码,直接拿来用 也可以直接用我写的,统计了颜色种类+每种上衣颜色的数量 1

TensorFlow-YOLO_V2测试代码梳理

百般思念 提交于 2019-11-28 05:26:35
TensorFlow-YOLO_V2测试代码梳理,相信看过后对yolo-v2的整个流程都一目了然了。 硬件:NVIDIA-GTX1080 软件:Windows7、python3.6.5、tensorflow-gpu-1.4.0 一、基础知识 1、anchor boxes (w, h) 通过kmeans聚类方法计算。kmeans计算的是两个数值之间的距离,通过迭代距离最小形成聚类,而目标检测的边界框不是点与点之间聚类,而是 框与框之间 的聚类,所以作者采用 IOU 作为聚类的标准, 要求IOU越大,距离越小 ,所以作者给出如下公式: 2、location prediction 在V2的边框回归中,中心点坐标x,y回归相对于V1未曾改变,改变的是w,h回归。V2的宽高回归是相对与anchor boxes而言的, 此时的w,h均是anchor boxes中w,h的系数,相乘的结果就是YOLO生成的标签 。 3、Multi-Scale Training V2在训练过程中每间隔一定的iterations之后改变模型的输入图片大小。由于YOLOv2的下采样总步长为32, 输入图片大小 选择一系列为 32倍数 的值,如320,352,。。。,608,当输入图像为608x608时,输出特征图为19x19,此时的boundingbox数量达到了19x19x5=1805个。 也就是说

自己收集运用的一些算法分享1

本秂侑毒 提交于 2019-11-27 18:40:45
目标检测算法中检测框合并策略技术综述 物体检测(Object Detection)的任务是找出图像或视频中的感兴趣目标,同时实现输出检测目标的位置和类别,是机器视觉领域的核心问题之一,学术界已有将近二十年的研究历史。随着深度学习技术的火热发展,目标检测算法也从基于手工特征的传统算法转向了基于深度神经网络的检测技术。从最初 2013 年提出的 R-CNN、OverFeat,到后面的 Fast/Faster R-CNN、SSD、YOLO 系列,以及Mask R-CNN、RefineDet、RFBNet等(图 1,完整论文列表参见[1])。短短不到五年时间,基于深度学习的目标检测技术,在网络结构上,从 two stage 到 one stage,从 bottom-up only 到 Top-Down,从 single scale network 到 feature pyramid network,从面向 PC 端到面向移动端,都涌现出许多好的算法技术,这些算法在开放目标检测数据集上的检测效果和性能都很出色。 图 1 目标检测领域重要论文 物体检测过程中有很多不确定因素,如图像中物体数量不确定,物体有不同的外观、形状、姿态,加之物体成像时会有光照、遮挡等因素的干扰,导致检测算法有一定的难度。进入深度学习时代以来,物体检测发展主要集中在两个方向:two stage算法如R-CNN系列和one

matlplotlib绘图 之 函数legend()

最后都变了- 提交于 2019-11-27 13:40:13
添加图例的两种方法 1.【推荐使用】在plot函数中增加label参数,然后在后面加上plt.legend() plt.plot(x, x*3.0, label='Fast') plt.plot(x, x/3.0, label='Slow') plt.legend() 2.legend方法中传入字符串列表 plt.plot(x,np.sin(x),x,np.cos(x)) plt.legend(["sin","cos"]) 接下来是两篇文章的阅读笔记(将自己不懂的地方标注了一下) 第一篇: 用python的matplotlib画图时,往往需要加图例说明。如果不设置任何参数,默认是加到图像的内侧的最佳位置。 如果需要将该legend移到图像外侧,有多种方法,这里介绍一种。 在plt.legend()函数中加入若干参数:plt.legend(bbox_to_anchor=(num1, num2), loc=num3, borderaxespad=num4),只要加上这些参数并给他们设置一定的值,则就会将图例放在外面。 具体设置参考文章:https://blog.csdn.net/Poul_henry/article/details/82533569 第二篇:原文链接:https://blog.csdn.net/Poul_henry/article/details/88311964

学习Faster R-CNN代码rpn(六)

♀尐吖头ヾ 提交于 2019-11-27 10:37:52
代码文件结构 bbox_transform.py # bounding box变换。 generate_anchors.py # 生成anchor,根据几种尺度和比例生成的anchor。 proposal_layer.py # 通过将估计的边界框变换应用于一组常规框(称为“锚点”)来输出对象检测候选区域。选出合适的ROIS。 anchor_target_layer.py # 将anchor对应ground truth。生成anchor分类标签和边界框回归目标。为anchor找到训练所需的ground truth类别和坐标变换信息。 proposal_target_layer_cascade.py # 将对象检测候选分配给ground truth目标。生成候选分类标签和边界框回归目标。为选择出的rois找到训练所需的ground truth类别和坐标变换信息 rpn.py # RPN网络定义。 参考 详细的Faster R-CNN源码解析之RPN源码解析 https://blog.csdn.net/jiongnima/article/details/79781792 Faster R-CNN 入坑之源码阅读 https://www.jianshu.com/p/a223853f8402?tdsourcetag=s_pcqq_aiomsg 对RPN部分代码进行注释。 1 rpn.py 1

Tensorflow版Faster RCNN源码解析(TFFRCNN) (19) rpn_msr/proposal_target_layer_tf.py

有些话、适合烂在心里 提交于 2019-11-27 08:44:33
本blog为github上 CharlesShang/TFFRCNN 版源码解析系列代码笔记 --------------- 个人学习笔记 --------------- ---------------- 本文作者吴疆 -------------- ------ 点击此处链接至博客园原文 ------ 1. proposal_target_layer (rpn_rois, gt_boxes, gt_ishard, dontcare_areas, _num_classes)代码逻辑 赋值all_rois = rpn_rois,剔除gt_boxes中的gt_hardboxes得到gt_easyboxes---> 扩充all_rois(None,5) 第1列为全0batch_ind: rpn_rois + gt_easyboxes + jittered_gt_boxes 三个部分,jittered_gt_boxes由gt_easyboxes抖动而来(调用_jitter_gt_boxes(...)函数, 未知意义 ) 未知扩充all_rois的意义??? ( Include ground-truth boxes in the set of candidate rois) 猜想是参与训练的proposals中也应包含gt box,而不仅仅是来源于RPN得到的proposals,有利于RCNN

Tensorflow版Faster RCNN源码解析(TFFRCNN) (17) rpn_msr/proposal_layer_tf.py

只谈情不闲聊 提交于 2019-11-27 03:46:19
本blog为github上 CharlesShang/TFFRCNN 版源码解析系列代码笔记 --------------- 个人学习笔记 --------------- ---------------- 本文作者吴疆 -------------- ------ 点击此处链接至博客园原文 ------ """ Outputs object detection proposals by applying estimated bounding-box transformations to a set of regular boxes (called "anchors"). 根据RPN目标回归值修正anchors并做后处理输出proposals和全0batch_ind组成的blob """ 1.proposal_layer(rpn_cls_prob_reshape, rpn_bbox_pred, im_info, cfg_key, _feat_stride = [16,], anchor_scales = [8, 16, 32]) 算法逻辑 调用generate_anchors(...)(generate_anchors.py中)产生9个base anchors---> im_info = im_info[0] # 取出第一张图像更新im_info ,存储该图像的宽、高和缩放因子--->

Tensorflow版Faster RCNN源码解析(TFFRCNN) (11) gt_data_layer/minibatch.py

纵饮孤独 提交于 2019-11-26 16:13:17
本blog为github上 CharlesShang/TFFRCNN 版源码解析系列代码笔记 --------------- 个人学习笔记 --------------- ---------------- 本文作者吴疆 -------------- ------ 点击此处链接至博客园原文 ------ 与roi_data_layer/minibatch.py类似, 该函数可能并未执行 """Compute minibatch blobs for training a Fast R-CNN network.""" 1.get_minibatch(roidb, num_classes) 更新roidb[i]'info_boxes'字段( 未知内容,18是什么意思 )、增加'data'(图像数据blob)和'parameters'字段(相关参数,含num_scale 图像缩放尺度数量、num_aspect 使用纵横比数量、cfg.TRAIN.SCALES、 cfg.TRAIN.SCALE_MAPPING、cfg.TRAIN.ASPECT_HEIGHTS、cfg.TRAIN.ASPECT_WIDTHS , 后面3个值均无应该会报错,也有可能该函数并未执行 ), 未见调用 # 更新roidb[i]'info_boxes'字段、增加'data'和'parameters'字段 def get

Tensorflow版Faster RCNN源码解析(TFFRCNN) (10) roi_data_layer/roidb.py

烈酒焚心 提交于 2019-11-26 15:51:40
本blog为github上 CharlesShang/TFFRCNN 版源码解析系列代码笔记 --------------- 个人学习笔记 --------------- ---------------- 本文作者吴疆 -------------- ------ 点击此处链接至博客园原文 ------ """Transform a roidb into a trainable roidb by adding a bunch of metadata 元数据.""" 1.prepare_roidb(imdb) roidb = imdb.roidb ,增加 roidb[i]中'image'(记录图像路径)、'width'(记录图像宽)、'height'(记录图像高)、'max_classes'(记录图像中各roi与哪类gt IOU最大)、'max_overlaps'(记录各roi与gt最大的IOU值)字段赋值得到( 'imdb' )数据集所有图像的roidb, 未见调用 # 增加roidb[i]中'image'(记录图像路径)、'width'(记录图像宽)、'height'(记录图像高)、 # 'max_classes'(记录该图像中各roi与哪类gt IOU最大)、'max_overlaps'(记录各roi与gt最大的IOU值)字段赋值得到数据集所有图像的roidb def