pyramid

aspp

喜你入骨 提交于 2020-12-18 14:05:34
用法:pc上20ms aspp = ASPP(320, [3, 6, 9]) input = torch.randn(2, 320, 10, 10) # torch.onnx.export(pelee_net, input, "pelee_net.onnx", verbose=True) for i in range(10): start=time.time() # x, *shortcuts = net(input) # print(time.time()-start,x.shape) start = time.time() x=aspp(input) print(2,time.time() - start, x.shape) from torch.nn import functional as F class ASPPPooling(nn.Sequential): def __init__(self, in_channels, out_channels): super(ASPPPooling, self).__init__( nn.AdaptiveAvgPool2d(1), nn.Conv2d(in_channels, out_channels, 1, bias=False), nn.BatchNorm2d(out_channels), nn.ReLU()) def

What is this ZopeTransactionEvents error with SQLAlchemy while updating a Pyramid application?

南笙酒味 提交于 2020-12-15 05:30:27
问题 I'm updating Pyramid/SQLAlchemy legacy code to Python 3.8 from an app working fine under Python 2.7, and running it locally. All the necessary requirements are pip installed and setup.py runs without error. On running initialise with my local .ini file, All goes well, the database tables (MariaDB) are all written. in models.py from sqlalchemy.orm import ( scoped_session, sessionmaker, relationship, backref, synonym, ) from zope.sqlalchemy import ZopeTransactionEvents #[...] DBSession = scoped

保边滤波之Mean shift filter

﹥>﹥吖頭↗ 提交于 2020-12-08 16:29:00
Mean shift filter 目录 Mean shift filter 一、算法原理 二、练手实现的算法代码如下: 三、实现结果 一、算法原理 在OpenCV中,meanshift filter函数为 pyrMeanShiftFiltering, 它的函数调用格式如下: C++: void pyrMeanShiftFiltering(InputArray src , OutputArray dst , double sp , double sr , int maxLevel =1, TermCriteria termcrit =TermCriteria( TermCriteria::MAX_ITER+TermCriteria::EPS,5,1) ) Parameters: src – The source 8-bit, 3-channel image. //三通道的输入图像 dst – The destination image of the same format and the same size as the source. //相同尺寸格式输出图像 sp – The spatial window radius. //空间域半径 sr – The color window radius. //颜色域半径 maxLevel – Maximum level of the

『计算机视觉』Mask-RCNN_推断网络其三:RPN锚框处理和Proposal生成

早过忘川 提交于 2020-11-21 03:54:48
一、RPN锚框信息生成 上文的最后,我们生成了用于计算锚框信息的特征(源代码在inference模式中不进行锚框生成,而是外部生成好feed进网络,training模式下在向前传播时直接生成锚框,不过实际上没什么区别,锚框生成的讲解见 『计算机视觉』Mask-RCNN_锚框生成 ):     rpn_feature_maps = [P2, P3, P4, P5, P6] 接下来,我们基于上述特征首先生成锚框的信息,包含每个锚框的 前景/背景得分信息 及每个锚框的 坐标修正信息 。 接前文主函数 ,我们初始化rpn model class的对象,并应用于各层特征: # Anchors if mode == "training": …… else: anchors = input_anchors # RPN Model, 返回的是keras的Module对象, 注意keras中的Module对象是可call的 rpn = build_rpn_model(config.RPN_ANCHOR_STRIDE, # 1 3 256 len(config.RPN_ANCHOR_RATIOS), config.TOP_DOWN_PYRAMID_SIZE) # Loop through pyramid layers layer_outputs = [] # list of lists for p

『计算机视觉』Mask-RCNN_推断网络其四:FPN和ROIAlign的耦合

旧城冷巷雨未停 提交于 2020-11-21 03:27:16
一、模块概述 上节的最后,我们进行了如下操作获取了有限的proposal, # [IMAGES_PER_GPU, num_rois, (y1, x1, y2, x2)] # IMAGES_PER_GPU取代了batch,之后说的batch都是IMAGES_PER_GPU rpn_rois = ProposalLayer( proposal_count=proposal_count, nms_threshold=config.RPN_NMS_THRESHOLD, # 0.7 name="ROI", config=config)([rpn_class, rpn_bbox, anchors]) 总结一下: 与 GT 的 IOU 大于0.7 与某一个 GT 的 IOU 最大的那个 anchor 进一步,我们需要按照RCNN的思路,使用proposal对共享特征进行ROI操作,在Mask-RCNN中这里有两个创新: ROI使用ROI Align取代了之前的ROI Pooling 共享特征由之前的单层变换为了FPN得到的金字塔多层特征,即: mrcnn_feature_maps = [P2, P3, P4, P5] 其中创新点2意味着我们不同的proposal对应去ROI的特征层并不相同,所以,我们需要: 按照proposal的长宽,将不同的proposal对应给不同的特征层

目标检测论文整理

早过忘川 提交于 2020-11-18 08:38:07
最近开始看一些object detection的文章,顺便整理一下思路。排版比较乱,而且几乎所有图片都是应用的博客或论文,如有侵权请联系我。 文章阅读路线参考 目前已完成的文章如下,后续还会继续补充( 其中加粗的为精读文章 ): RCNN Overfeat MR-CNN SPPNet Fast RCNN A Fast RCNN Faster RCNN FPN R-FCN Mask RCNN YOLO YOLO 9000 YOLO v3 SSD DSSD R-SSD RetinaNet(focal loss) DSOD Cascade R-CNN (待续) 吐槽一下,博客园的markdown竟然没有补齐功能,我还是先在本地补全再传上来吧。。。 RCNN之前的故事 Histogram of Gradient (HOG) 特征 在深度学习应用之前,图像的特征是人工定义的具有鲁棒性的特征,如SIFT,HOG等,下面简要介绍一下HOG。 8x8像素框内计算方向梯度直方图: HOG Pyramid 特征金字塔,对于不同大小的物体进行适应,设计尺度不变性特征 HOG特征 -> SVM分类 DPM模型 Deformable Part Model 加组件组合的HOG特征, 组件间计算弹性得分,优化可变形参数 如果没有弹性距离,就是BoW (Bag of Word)模型, 问题很大, 位置全部丢失:

目标检测之FPN网络详解

ε祈祈猫儿з 提交于 2020-11-06 04:48:01
公众号关注 “ 视学算法 ” 设为 “ 星标 ”,消息即可送达! 来自 | CSDN博客 作者 | kk123k 编辑 | 深度学习这件小事公众号 本文仅作学术交流,如有侵权,请联系后台删除 特征图金字塔网络FPN(Feature Pyramid Networks)是2017年提出的一种网络,FPN主要解决的是物体检测中的多尺度问题,通过简单的网络连接改变,在基本不增加原有模型计算量的情况下,大幅度提升了小物体检测的性能。 低层的特征语义信息比较少,但是目标位置准确;高层的特征语义信息比较丰富,但是目标位置比较粗略。另外虽然也有些算法采用多尺度特征融合的方式,但是一般是采用融合后的特征做预测,而本文FPN不一样的地方在于预测是在不同特征层独立进行的。 一、各种网络结构对比 1、通常的CNN网络结构如下图所示 图1 上图网络是自底向上卷积,然后使用最后一层特征图进行预测,像SPP-Net,Fast R-CNN,Faster R-CNN就是采用这种方式,即仅采用网络最后一层的特征。 以VGG16为例子,假如feat_stride=16,表示若原图大小是1000*600,经过网络后最深一层的特征图大小是60*40,可理解为特征图上一像素点映射原图中一个16*16的区域;那原图中有一个小于16*16大小的小物体,是不是就会被忽略掉,检测不到了呢?

【计算机视觉发展史】:目标检测二十年

纵饮孤独 提交于 2020-11-02 06:20:56
↑↑↑点击上方 蓝字 ,回复 资料 ,10个G的惊喜 来源丨 DeepBlue深兰科技 作者丨深兰科学院李亦超 编辑丨极市平台 以2014年为分水岭,作者将过去二十年的目标检测发展进程分为两个阶段:2014年之前的传统目标检测,以及之后基于深度学习的目标检测。接下来,文章列举了二十年来目标检测领域的关键技术,思路非常清晰。 过去二十年中与 “ 目标检测 ” 相关的出版物数量的增长 二十年 在计算机视觉领域中有几个基本的任务:图像分类[3]、目标检测[4]、实例分割[5]及语义分割[6],其中目标检测作为计算机视觉中最基本的任务在近年来引起了广泛关注。某种意义上,它在过去二十年内的发展也是计算机视觉发展史的缩影。如果我们将今天基于深度学习的目标检测技术比作一场“热兵器革命”,那么 回顾20年前的技术 时即可窥探“冷兵器”时代的智慧。 目标检测是一项计算机视觉任务。正如视觉对于人的作用一样,目标检测旨在解决计算机视觉应用中两个最基本的问题: 1. 该物体是什么?2. 该物体在哪里? 当然,聪明的人可能会立即想到第三个问题: “该物体在干什么?” 这即是更进一步的逻辑及认知推理,这一点在近年来的目标检测技术中也越来越被重视。不管怎样,作为计算机视觉的基本任务,它也是其他计算机视觉任务的主要成分,如实例分割、图像字幕、目标跟踪等。 从应用的角度来看,目标检测可以被分为两个研究主题 :“

综述:目标检测二十年

随声附和 提交于 2020-11-02 05:41:38
↑ 点击 蓝字 关注视学算法 作者丨深兰科学院李亦超 来源丨 DeepBlue深兰科技 编辑丨极市平台 极市导读 以2014年为分水岭,作者将过去二十年的目标检测发展进程分为两个阶段:2014年之前的传统目标检测,以及之后基于深度学习的目标检测。接下来,文章列举了二十年来目标检测领域的关键技术,思路非常清晰。 过去二十年中与 “ 目标检测 ” 相关的出版物数量的增长 二十年 在计算机视觉领域中有几个基本的任务:图像分类[3]、目标检测[4]、实例分割[5]及语义分割[6],其中目标检测作为计算机视觉中最基本的任务在近年来引起了广泛关注。某种意义上,它在过去二十年内的发展也是计算机视觉发展史的缩影。如果我们将今天基于深度学习的目标检测技术比作一场“热兵器革命”,那么 回顾20年前的技术 时即可窥探“冷兵器”时代的智慧。 目标检测是一项计算机视觉任务。正如视觉对于人的作用一样,目标检测旨在解决计算机视觉应用中两个最基本的问题: 1. 该物体是什么?2. 该物体在哪里? 当然,聪明的人可能会立即想到第三个问题: “该物体在干什么?” 这即是更进一步的逻辑及认知推理,这一点在近年来的目标检测技术中也越来越被重视。不管怎样,作为计算机视觉的基本任务,它也是其他计算机视觉任务的主要成分,如实例分割、图像字幕、目标跟踪等。 从应用的角度来看,目标检测可以被分为两个研究主题 :“ 通用目标检测

基于深度学习的小目标检测算法文献综述阅读

╄→尐↘猪︶ㄣ 提交于 2020-10-30 17:02:04
基于深度学习的小目标检测算法文献综述阅读 目标检测简要介绍 传统目标检测 基于深度学习的目标检测 基于候选区域的目标检测 基于回归的目标检测 小目标检测背景介绍及难点 小目标检测算法介绍 多尺度预测 反卷积和上采样 对抗网络GAN 总结与展望 最近做了一个对于小目标检测算法的文献的阅读,在搜查文献的时候,了解了目标检测的发展过程以及其中比较典型的算法,以下根据汇报的PPT从四个方法介绍小目标检测算法文献综述,分别是: 目标检测的简要介绍、小目标检测背景介绍及难点、小目标检测算法介绍、总结与展望 ,此篇博客也可作为汇报的讲稿。 目标检测简要介绍 目标检测过程简单的可以分为两个过程:定位和识别,定位是对于某一个目标位于哪一个位置而言,识别是指所定位的目标是什么,是一个分类问题。目标检测的发展也可以分为两个过程,其一是传统的目标检测,另一个是基于深度学习的目标检测。 传统目标检测 传统目标检测可以分为三个过程:获取检测窗口、手工设计感兴趣目标的特征、训练分类器。 1998年Papageorgiou发表一篇关于A general framework for object detection,提出Harr分类器,这是一个用于检测人脸的目标检测分类器,计算获取的每个检测窗口的像素总和,然后取它们的差值,利用差值作为特征进行目标分类,该方法的优点是速度快。2004年,David