layer

基于深度学习的图像边缘和轮廓提取方法介绍

扶醉桌前 提交于 2020-11-26 09:05:39
点击上方 “ 小白学视觉 ”,选择加"星标"或“置顶” 重磅干货,第一时间送达 作者:黄浴 奇点汽车 首席科学家 整理:Hoh Xil 来源: https://zhuanlan.zhihu.com/p/78051407 导读: 边缘和轮廓的提取是一个非常棘手的工作,细节也许就会被过强的图像线条掩盖,纹理(texture)本身就是一种很弱的边缘分布模式,分级(hierarchical)表示是常用的方法,俗称尺度空间(scale space)。以前做移动端的视觉平台,有时候不得不把一些图像处理功能关掉,原因是造成了特征畸变。现在 CNN 模型这种天然的特征描述机制,给图像预处理提供了不错的工具,它能将图像处理和视觉预处理合二为一。 ——边缘提取—— 1. HED 整体嵌套边缘检测( Holistically-Nested Edge Detection,HED 是一个深度学习的边缘提取的算法,两个特色:(1)整体图像训练和预测; (2)多尺度、多层特征学习。该深度模型利用全卷积网络,自动学习丰富的分层表示(基于侧面响应的深层监督指导)。 多尺度深度学习可分为四类,即多流学习(multi-stream)、跳网(skip-net learning)学习、多输入单模型以及独立网训练,如图所示:(a)多流架构; (b)跳网架构; (c)多尺度输入的单一模型; (d)不同网络独立训练; (e

常用分库分表方案汇总

此生再无相见时 提交于 2020-11-26 03:36:48
来源:rrd.me/g9zP3 一、数据库瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。 1、IO瓶颈 第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表。 第二种:网络IO瓶颈,请求的数据太多,网络带宽不够 -> 分库。 2、CPU瓶颈 第一种:SQL问题,如SQL中包含 join ,group by,order by,非索引字段条件查询等,增加CPU运算的操作 -> SQL优化,建立合适的索引,在业务Service层进行业务计算。 第二种:单表数据量太大,查询时扫描的行太多,SQL效率低,CPU率先出现瓶颈 -> 水平分表。 二、分库分表 1、水平分库 概念: 以字段为依据,按照一定策略(hash、range等),将一个库中的数据拆分到多个库中。 结果: 每个库的结构都一样; 每个库的数据都不一样,没有交集; 所有库的并集是全量数据; 场景: 系统绝对并发量上来了,分表难以根本上解决问题,并且还没有明显的业务归属来垂直分库。 分析: 库多了,io和cpu的压力自然可以成倍缓解。 2、水平分表 概念: 以字段为依据,按照一定策略

计算机网络常见面试题

一个人想着一个人 提交于 2020-11-25 03:16:43
分享一个很好的博客: http://www.cnblogs.com/maybe2030/p/4781555.html#_label3 OSI,TCP/IP,五层协议的体系结构,以及各层协议    1)物理层(Physical Layer)   激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。 该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。 物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。    2)数据链路层(Data Link Layer)   数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括: 物理地址寻址、数据的成帧、流量控制、数据的检错、重发等 。    有关数据链路层的重要知识点:      1>

iOS:手势与矩形、点运算相关(18-01-24更)

别说谁变了你拦得住时间么 提交于 2020-11-23 06:34:46
1、矩形、点运算   1、获取当前的View在Window的frame   2、包含判断   3、获取点击在响应者 touchesBegan 的位置   4、UIScrollView、UITableView 实时 位置 相关 2、手势   1、点击(UITapGestureRecognizer)   2、拖移(UIPanGestureRecognizer)、轻扫(UISwipeGestureRecognizer)   3、长按(UILongPressGestureRecognizer)   4、旋转(UIRotationGestureRecognizer)   5、捏合(UIPinchGestureRecognizer) 3、触摸    0、写在前面   可通过 NSStringFromCGPoint 等方法,用"%@"调试输出,不用再 point.x、point.y 列出来。rect 方法同。 1、矩形、点运算   1、获取当前的View在Window的frame UIWindow * window=[[[UIApplication sharedApplication] delegate] window]; CGRect rect=[_myButton convertRect:_myButton.bounds toView:window];   后续补充:     toView

CenterNet的骨干网络之DLASeg

限于喜欢 提交于 2020-11-21 12:00:37
DLA全称是Deep Layer Aggregation, 于2018年发表于CVPR。被CenterNet, FairMOT等框架所采用,其效果很不错,准确率和模型复杂度平衡的也比较好。 CenterNet中使用的DLASeg是在DLA-34的基础上添加了Deformable Convolution后的分割网络。 1. 简介 Aggretation聚合是目前设计网络结构的常用的一种技术。如何将不同深度,将不同stage、block之间的信息进行融合是本文探索的目标。 目前常见的聚合方式有skip connection, 如ResNet,这种融合方式仅限于块内部,并且融合方式仅限于简单的叠加。 本文提出了DLA的结构,能够迭代式地将网络结构的特征信息融合起来,让模型有更高的精度和更少的参数。 DLA的设计思路 上图展示了DLA的设计思路,Dense Connections来自DenseNet,可以聚合语义信息。Feature Pyramids空间特征金字塔可以聚合空间信息。DLA则是将两者更好地结合起来从而可以更好的获取what和where的信息。仔细看一下DLA的其中一个模块,如下图所示: DLA其中一个Tree结构 研读过代码以后,可以看出这个花里胡哨的结构其实是按照树的结构进行组织的,红框框住的就是两个树,树之间又采用了类似ResNet的残差链接结构。 2. 核心

FFI (语言交互接口(Foreign Function Interface))

杀马特。学长 韩版系。学妹 提交于 2020-11-21 06:12:16
FFI( Foreign Function Interface )是用来与其它语言交互的接口, 在有些语言里面称为语言绑定(language bindings), Java 里面一般称为 JNI(Java Native Interface) 或 JNA(Java Native Access)。 由于现实中很多程序是由不同编程语言写的,必然会涉及到跨语言调用,比如 A 语言写的函数如果想在 B 语言里面调用,这时一般有两种解决方案:一种是将函数做成一个服务,通过进程间通信( IPC )或网络协议通信( RPC , RESTful 等);另一种就是直接通过 FFI 调用。前者需要至少两个独立的进程才能实现,而后者直接将其它语言的接口内嵌到本语言中,所以调用效率比前者高。 http://www.voidcn.com/article/p-uyomozse-bnw.html Compilers for high level languages generate code that follow certain conventions. These conventions are necessary, in part, for separate compilation to work. One such convention is the "calling convention". The

HTTP之简析

南楼画角 提交于 2020-11-21 04:22:10
1. 简介 HTTP 协议是 Hyper Text Transfer Protocol(超文本传传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。HTTP 通常架构在 TCP 传输协议之上,如下图所示。有时出于安全的考虑,HTTP 还需要经过 TLS 或 SSL 层的封装,架构在 SSL 层之上的 HTTP 协议通常称为 HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)协议。 HTTP 协议是一个无状态的协议,即客户端向服务器端发送出请求时,服务器并没有存储关于该客户端和请求的任何状态信息。即便同一个客户端在几秒钟内再次请求通过一个对象,服务器也不会响应说自己刚刚给它发送了这个对象。相反,服务器会重新发送这个对象,因为它已经彻底忘记自己早先做过什么了,同一个客户端的这次请求和上次请求没有任何关系。 HTTP 1.1 支持持续连接机制,即客户端和服务端建立 TCP 连接后,后续相关联的 HTTP 请求可以重复利用已经建立起来的 TCP 连接,不仅整个 Web 页面(包括基本的 HTML 文件和其他对象)可以使用这个持续的 TCP 连接来完成 HTTP 请求和响应,而且同一个服务器内的多个 Web 页面也可以通过同一个持续 TCP 连接来请求和响应。通常情况下,这个持续的 TCP

『计算机视觉』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对应给不同的特征层

论文笔记:Diffusion-Convolutional Neural Networks (传播-卷积神经网络)

我是研究僧i 提交于 2020-11-21 02:37:25
Diffusion-Convolutional Neural Networks (传播-卷积神经网络) 2018-04-09 21:59:02 1. Abstract :   我们提出传播-卷积神经网络(DCNNs),一种处理 graph-structured data 的新模型。随着 DCNNs 的介绍,我们展示如何从 graph structured data 中学习基于传播的表示(diffusion-based representations),然后作为节点分类的有效基础。DCNNs 拥有多个有趣的性质,包括:   1). a latent representation for graphical data that is invariant under isomorphism;   2). polynomial-time prediction;   3). learning that can be represented as tensor operations;   4). efficiently implemented on a GPU. 2. Introduction :   处理结构化的数据是非常有挑战的。一方面,找到合适的方法来展示和探索数据的结构可以获得预测精度的提升;另一方面,找到这样的结构可能很困难,在模型中添加结构会使得预测复杂度显著的提升。