
检测算法
hzhj
写作不只为了传播,更重要的是思考和学习。
展开
-
EAST
数据并行。使用多gpu进行训练,将batch的训练数据根据设定的gpu数量进行划分,每个gpu训练batch数据中的一部分,得到其结构风险,然后计算当前结构风险的梯度信息。当前batch数据的梯度全部计算完后,进行梯度更新。 for i, gpu_id in enumerate(gpus): #数据并行 with tf.device('/gpu:%d' % gpu_id): with tf.name_scope('model_%d' % gpu_id) a原创 2020-05-16 21:00:37 · 358 阅读 · 0 评论 -
CTPN理解
CTPN pipline类似于faster rcnn的二阶段检测算法,通过anchor作为中间元素进行回归;不同之处是增加了LSTM单元; anchor 固定宽度为16个像素,高度设定为10个值;ctpn中的anchor 图片来自这里IOU的计算,由于anchor指定宽度16,所以对GoundTruth的坐标也进行变换,得到宽度为16的GT。和faster rcnn一样计算anchor与GT的IOU; RPN为LSTM输出序列经fc后得到部分;CTPN中的RPN,图片来自这里pro.原创 2020-05-10 22:39:40 · 453 阅读 · 0 评论 -
ValueError: attempt to get argmax of an empty sequence
本文针对faster rcnn训练中出现上述问题及解决的方法进行简单记录。报错信息2019-12-12 04:51:57.002253: W tensorflow/core/framework/op_kernel.cc:1610] Invalid argument: ValueError: attempt to get argmax of an empty sequenceTraceba...原创 2019-12-12 15:09:58 · 22026 阅读 · 6 评论 -
faster-rcnn pkl文件的生成
参考程序pascal_voc.py中_load_pascal_annotation函数用来读取标注信息,gt_roidb用于保存或读取pkl文件。单个文件的标注信息提取流程详见如下程序。import osimport scipyimport numpy as npimport xml.etree.ElementTree as ET_classes = ('__backgroun...原创 2019-12-12 14:38:59 · 1068 阅读 · 0 评论 -
检测算法中的损失函数
faster rcnn训练可分为交替训练和多任务训练两种方式,后者损失的计算过程可参看train.py, # RPN # classification loss rpn_cls_score = tf.reshape(self.net.get_output('rpn_cls_score_reshape'),[-1,2]) rpn_la...原创 2019-04-12 20:56:10 · 974 阅读 · 0 评论 -
Focal Loss for Dense Object Detection
论文通过对比一阶段和二阶段检测算法结果的差异发现,样本不均衡是导致one-stage detectors效果不如two-stage detectors好的主要原因。因为后者的分类器是针对少量样本(如RPN得到的区域)进行学习后得到的性能较好的分类器,而一阶段分类器受到大量负样本损失值的影响,训练后的判定性能不如二阶段分类器。作者基于此重新优化了损失函数,进而解决样本不均衡带来的影响。论文中...原创 2019-05-09 08:19:02 · 227 阅读 · 0 评论 -
检测损失函数比较
检测算法中回归部分常用到L1, L2(yolo),Smooth L1(Faster rcnn, ssd)等损失函数,如下将对不同损失函数进行简单对比。损失函数形式: L1 Loss L2 Loss Smooth L1 Loss特点:L2 Loss L1 Loss 不太鲁...原创 2019-05-14 21:07:15 · 764 阅读 · 0 评论 -
检测数据标注参考
本文以VOC2007中部分类别(bicycle,motorbike,car,bus,person)的图片为参考,通过解析xml文件得到标注结果,借此说明对检测数据的标注要求。检测标注中常遇到多类别物体、局部物体、物体间遮挡、真假物体、小物体(物体占比较小)等情况,故从VOC中筛选部分图片进行演示。图片如下。VOC部分数据单类别物体标注结果多类别物体标注结果局部物体标注结果...原创 2019-07-31 20:11:50 · 814 阅读 · 0 评论 -
检测算法中候选区域的生成方法
检测网络依赖于候选区域的位置,候选区域的生成方法和原始位置直接决定了整个算法的时间和效果。基于此,本文对当前主流检测算法faster-rcnn, yolo和ssd中候选区域的生成方法进行总结。faster-rcnn候选区域的生成方法faster-rcnn网络插图候选区域网络RPN的工作过程如上图右所示,采用anchor机制,在特征图上的每个像素位置生成k个anchor ...原创 2019-04-12 20:53:01 · 6412 阅读 · 0 评论 -
物体检测算法调研——YOLO9000
作者pjreddie的主页有YOLO v2的详细说明,包括模型和配置文件、使用方法、训练方法等。但是介绍中没有提及9000模型,本文对该模型的相关内容做一个汇总。 YOLO 9000是论文'YOLO9000: Better, Faster, Stronger'中提出的,该模型的训练方法是文章的一个创新点,其使用效果是Stronger论点的由来。下文将对上述两点内容进行详细介绍。 ...原创 2018-02-26 19:43:40 · 405 阅读 · 0 评论 -
YOLOv3: An Incremental Improvement
yolo之前已经出现了两版,最近,yolov3出现在作者官网。相关代码可见github网址。文中如有理解偏差,请各位指正。摘要 作者对YOLO进行了一些改进!通过一堆小的设计变化使之变的更好。作者训练了这个新的模型,其性能很棒。模型比上次的有点大但是更加准确。速度仍然很快,所以不必担心。对320*320的图片测试时,YOLOv3的速度和mAP分别为22ms和28.2,和SSD一样准确...翻译 2018-04-02 18:01:53 · 2098 阅读 · 0 评论 -
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks论文翻译
该论文于2015年6月首次上传至arxiv,2016年1月份更新至第三版,源码有matlab和python两种语言格式,分别由论文的一作和三作完成。本文主要介绍第三版中涉及的内容,并按照论文的行文结构组织进行呈现。文中如有理解偏差,请各位指正。摘要 最新的物体检测网络依赖于候选框(生成)算法来假设物体位置。最新的进展如SPPnet[1]和Fast R-CNN[2]已经减少了检测网络的...翻译 2018-05-04 12:35:44 · 3982 阅读 · 0 评论 -
faster rcnn如何生成anchors
本文就faster rcnn中anchors的函数generate_anchors.py为例,介绍anchors的生成过程。 首先看下主函数入口。论文中提到anchor两个参数:ratios和scales,长宽比和尺度变换都需要有个基础anchor的大小,也就是base_size的由来,至于16的由来,则等于网络的输入大小 / 特征图大小(生成anchor的feature...原创 2018-10-23 21:50:48 · 1167 阅读 · 2 评论 -
检测算法资料汇总
算法篇 常见算法及github主页,内容如下。数据库篇 深度学习常见的数据库(不局限于检测,最近一次更新是2017年5月)Visual GenomeImageNet Detection 2014 MS COCOCaltech 101Caltech 256Caltech PedestrainPASCAL Detection 2012Zitnick Abstract Scenes图片来源:...原创 2018-02-12 17:32:46 · 210 阅读 · 0 评论