由于深度学习的特性,使得它成为最适合处理计算机视觉任务的工具之一,特别是卷积神经网络(CNN),得益于它强大的自动学习能力,图像边缘检测任务得到了长足的发展,涌现出了许多优秀的方法,如 N4-field...、DeepContour、HED、RCF,基于神经网络的边缘检测算法成为了研究热点之一。...本文主要介绍基于 HED 网络的图像边缘检测的基本情况,对 HED 的网络架构和损失函数进行分析讨论。此外也将对另一个基于 HED 的网络,RCF 网络进行探究,对其进步之处进行分析。...在 HED 网络出现之前,大多数边缘检测方法如 N4-field、DeepEdge、DeepContour 等都是基于局部区域的算法。...HED 网络的优缺点 借助 VGG 网络强大的特征提取能力,HED 边缘检测算法能够对图像进行多尺度多层次的学习,直接对整幅图像进行操作。
点击上方蓝字关注我们 微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识 HED算法介绍 图像边缘检测是图像处理与计算机视觉领域最基础也是最重要的任务之一,早期的Canny边缘检测到现在还在使用...,但是Canny边缘检测过于依赖人工阈值的设定,无法在通用场景下工作,如何找到一个在自然场景下可以正确工作的边缘检测器,答案是使用CNN。...2015年的时候有人提出了基于卷积神经网络的边缘检测算法HED全称为《Holistically-Nested Edge Detection》, 先看一下HED与Canny的效果对比: 作者提出HED算法是受到了全卷积网络与深度监督网络的启发与影响...HED网络的自定义多层输出,然后重载它的forward方法之后,才可以正确执行。...,进行多全层次的边缘检测: # 自定义层 # 注册自定义层 cv.dnn_registerLayer('Crop', CropLayer) # Load the model. net = cv.dnn.readNet
参考目录: 0 轮廓检测 1 论文概述 2 HED结构 3 损失函数 4 损失函数 TF 5 总结 0 轮廓检测 轮廓检测,对我这样的初学者而言,与语义分割类似。...当然,最近也是用深度学习的方法来做这种轮廓提取,本问介绍的HED就是这样的一个深度学习提取边框的办法,下图是HED提取小狗轮廓的结果图。 ?...整体来说,这个HED边缘检测模型,与Unet分割模型类似,再加上年份较老,所以复现价值不大,大家当扩展知识看看就得了。...整体来说,这个损失函数是有两个部分: side-output:这个就是上图中五个不同尺度的预测结果,通过上采样成原图大小,然后和mask做交叉熵。...5 总结 这里谈一谈我看了这个2015年的老前辈模型的收获把: HED是一个边缘检测模型,但是使用的和Unet的框架有些类似。
HED算法介绍 图像边缘检测是图像处理与计算机视觉领域最基础也是最重要的任务之一,早期的Canny边缘检测到现在还在使用,但是Canny边缘检测过于依赖人工阈值的设定,无法在通用场景下工作,如何找到一个在自然场景下可以正确工作的边缘检测器...2015年的时候有人提出了基于卷积神经网络的边缘检测算法HED全称为《Holistically-Nested Edge Detection》, 先看一下HED与Canny的效果对比: ?...作者提出HED算法是受到了全卷积网络与深度监督网络的启发与影响,作者以VGGNet与FCN作为基础网络进行改进,对VGG网络进行conv1_2, conv2_2, conv3_3, conv4_3, conv5...代码演示 OpenCV DNN本身是不支持该网络直接加载与执行的,必须通过OpenCV4中支持的自定义层方法,首先解析HED网络的自定义多层输出,然后重载它的forward方法之后,才可以正确执行。...,进行多全层次的边缘检测: # 自定义层 # 注册自定义层 cv.dnn_registerLayer('Crop', CropLayer) # Load the model. net = cv.dnn.readNet
导读 分析了Canny的优劣,并给出了OpenCV使用深度学习做边缘检测的流程,文末有代码链接。...边缘检测在许多用例中是有用的,如视觉显著性检测,目标检测,跟踪和运动分析,结构从运动,3D重建,自动驾驶,图像到文本分析等等。 什么是边缘检测?...这种技术被称为整体嵌套边缘检测或HED,是一种基于学习的端到端边缘检测系统,使用修剪过的类似vgg的卷积神经网络进行图像到图像的预测任务。 HED利用了中间层的输出。...网络结构:整体嵌套边缘检测 HED方法不仅比其他基于深度学习的方法更准确,而且速度也比其他方法快得多。这就是为什么OpenCV决定将其集成到新的DNN模块中。以下是这篇论文的结果: ?...在OpenCV中训练深度学习边缘检测的代码 OpenCV使用的预训练模型已经在Caffe框架中训练过了,可以这样加载: sh download_pretrained.sh 网络中有一个crop层,默认是没有实现的
边缘提取 • HED 整体嵌套边缘检测(Holistically-Nested Edge Detection,HED 是一个深度学习的边缘提取的算法,两个特色:(1)整体图像训练和预测; (2)多尺度、...如图是HED的网络架构图,在卷积层之后插入侧输出层,在每个侧输出层施加深度监督,引导侧输出成为边缘预测。HED输出是多尺度多层,侧输出面变小,感受野变大。...(g)、(h)和(i)Canny边缘检测器在尺度σ= 2.0、σ= 4.0和σ= 8.0的边缘响应。HED与Canny在一致性方面显示出明显的优势。 ?...前面HED网络的基本思路是除了顶部网络损失以外还考虑底层卷积损失。另外,通过监督侧面激活的线性组合来获得融合边缘图。不过,HED仅执行二进制边缘检测。...池化值馈入分叉子网络。测试时,从分叉子网络的分支计算的标量输出做平均,生成最终轮廓预测。 ?
HED 整体嵌套边缘检测(Holistically-Nested Edge Detection,HED 是一个深度学习的边缘提取的算法,两个特色:(1)整体图像训练和预测; (2)多尺度、多层特征学习。...整个网络通过多个误差传播路径(虚线)训练。 下图给出HED的部分实验结果。(a)测试图像;(b)手工标注的边缘;(c)HED 结果。(d)、(e)和(f)卷积神经网络的层2、3和4的侧边响应。...(g)、(h)和(i)Canny 边缘检测器在尺度 σ= 2.0、σ= 4.0 和 σ= 8.0 的边缘响应。HED 与 Canny 在一致性方面显示出明显的优势。 2....前面 HED 网络的基本思路是除了顶部网络损失以外还考虑底层卷积损失。另外,通过监督侧面激活的线性组合来获得融合边缘图。不过,HED 仅执行二进制边缘检测。...池化值馈入分叉子网络。测试时,从分叉子网络的分支计算的标量输出做平均,生成最终轮廓预测。
和图片分类的数据增强不同,训练目标检测模型的数据增强在对图像做处理时,还需要对图片中每个目标的坐标做相应的处理。...为此TensorLayer 1.7.0发布中,提供了大量关于目标检测任务的数据集下载、目标坐标处理、数据增强的API。...首先,我们下载VOC2012数据集并对类别和坐标做预处理。...tl.prepro工具箱中关于目标检测的API往往有thresh_wh和thresh_wh2两个阀值,thresh_wh表示在处理图像之后,若一个目标的宽或高和图片本身宽高的比例小于这个值,则去除该目标...大家认真思考一下上面的 _data_pre_aug_fn 函数做数据增强有什么潜在缺点?
后来还尝试过用 YOLO 网络做 Object Detection,用 FCN 网络做像素级的 Semantic Segmentation,但是结果都很不理想,比如: 达不到文档检测功能想要的精确度...训练网络 8.1 cost 函数 论文给出的 HED 网络是一个通用的边缘检测网络,按照论文的描述,每一个尺度上得到的 image,都需要参与 cost 的计算,这部分的代码如下: ?...训练数据集(大量合成数据 + 少量真实数据) HED 论文里使用的训练数据集,是针对通用的边缘检测目的的,什么形状的边缘都有,比如下面这种: ?...考虑到现在的需求,只是检测矩形区域的边缘,而并不是检测通用场景下的广义的边缘,可以认为前者的复杂度比后者更低,所以一种可行的思路,就是保留 HED 的整体结构,修改 VGG 每一组卷积层里面的卷积核的数量...按照编号顺序,几个关键步骤做了下面这些事情: 用 HED 网络检测边缘,可以看到,这里得到的边缘线还是存在一些干扰的 在前一步得到的图像上,使用 HoughLinesP 函数检测线段(蓝色线段) 把前一步得到的线段延长成直线
4.1 卷积神经网络 吴恩达老师课程原地址[1] 1.2 边缘检测示例 边缘检测可以视为横向边缘检测和纵向边缘检测如下图所示: ?...边缘检测的原理是通过一个特定构造的卷积核对原始图片进行卷积操作后得到一个特征图,这个特征图恰好能反应图像的边缘。 例如:假设下图中越大的像素值对应的颜色越浅而越小的像素值对应的颜色越深。...这是利用卷积操作进行边缘检测的一个简单示例。 在这张图中我们发现特征识别的边缘太粗太明显,这是因为使用的原始图片是一个 的小图片。...1.3 更多边缘检测内容 深度学习去理解边缘检测实际上是通过把卷积核理解为需要求解的未知的参数,通过反向传播算法不断调整卷积核的数值,以达到目标效果 下图是上节中将一个 的图片应用垂直边缘检测卷积核卷积后生成特征图...垂直与水平边缘检测滤波器 ? ? 示例 ? 其他边缘检测滤波器 ?
YOLO 网络做 Object Detection,用 FCN 网络做像素级的 Semantic Segmentation,但是结果都很不理想,比如: 达不到文档检测功能想要的精确度 网络结构复杂,运算量大...,可以尝试用神经网络来替换 canny 算法,也就是用神经网络来对图像中的矩形区域进行边缘检测,只要这个边缘检测能够去除更多的干扰因素,那第二个步骤里面的算法也就可以变得更简单了。...cost 函数 论文给出的 HED 网络是一个通用的边缘检测网络,按照论文的描述,每一个尺度上得到的 image,都需要参与 cost 的计算,这部分的代码如下: input_queue_for_train...训练数据集 (大量合成数据 + 少量真实数据) HED 论文里使用的训练数据集,是针对通用的边缘检测目的的,什么形状的边缘都有,比如下面这种: ?...按照编号顺序,几个关键步骤做了下面这些事情: 用 HED 网络检测边缘,可以看到,这里得到的边缘线还是存在一些干扰的 在前一步得到的图像上,使用 HoughLinesP 函数检测线段 (蓝色线段) 把前一步得到的线段延长成直线
2) 边缘检测, 相当于对每个像素做一次二分类(是边缘或不是边缘)。以语义图像分割为例,其目的是将图像分割为若干个区域, 使得语义相同的像素被分割在同意区域内。...我们开源了基于Caffe的实现,代码链接 https://github.com/SHUCV/digit HED: FCN用于边缘检测 上一节讲到FCN适用于需要像素级预测的场景..., 下面就介绍一个基于FCN的边缘检测的工作HED, 来自于屠卓文老师组, 发表在ICCV2015并且获得了Marr奖提名。...由于HED解决的是边缘检测问题, 对于一个边缘点即使很小的感受野也能捕捉到边缘信息, 所以HED在多个side-output上进行优化的时候使用的是同一个ground-truth, 不同的side-output...文章来源:深度学习大讲堂 免责声明:本文系网络转载。版权归原作者所有。如涉及版权,请联系删除!
摘要:这篇论文提出了一种基于FCNN和深度监督网络的新的边缘检测算法HED,它解决了两个重要的问题,1)整体图片的训练和预测,2)多尺度多层级的特征学习。...HED能实现端到端的训练,输入一个图片,输出对应的边缘图片。 下图中的图c即为HED输出的边缘检测结果,d-f是不同side layer(后面会具体提到)的输出,g-i是Canny边缘检测器的输出。...前两个网络的问题是只有单一的输出层,所以只有一个预测结果,而在边缘检测中获得多个预测结果然后将所有的边缘映射平均是更有利的。...而本论文提出的HED方法就改进自图d中的方法,如图e所示,它将同一个深度学习网络的不同层级侧面输出(side output)。...bf0ceac9-69c8-49f4-a1da-e1f8210e5e52.png 总结:这篇论文提出的HED方法进行边缘检测还是很可靠的,它提出的这种从深度网络的每一层引一个侧面输出出来再进行混合的思想也可以借鉴
边缘检测在许多用例中是有用的,如视觉显著性检测,目标检测,跟踪和运动分析,结构从运动,3D重建,自动驾驶,图像到文本分析等等。01 什么是边缘检测?...最流行的边缘检测技术之一是Canny边缘检测,它已经成为大多数计算机视觉研究人员和实践者的首选方法。让我们快速看一下Canny边缘检测。...这种技术被称为整体嵌套边缘检测或HED,是一种基于学习的端到端边缘检测系统,使用修剪过的类似vgg的卷积神经网络进行图像到图像的预测任务。HED利用了中间层的输出。...以下是这篇论文的结果:05 在OpenCV中训练深度学习边缘检测的代码OpenCV使用的预训练模型已经在Caffe框架中训练过了,可以这样加载:sh download_pretrained.sh网络中有一个...如果我们在训练中做均值减法,那么我们必须在推理中应用它。这个平均值是一个对应于R, G, B通道的元组。例如Imagenet数据集的均值是R=103.93, G=116.77, B=123.68。
Richer Convolutional Features for Edge Detection CVPR2017 Caffe:https://github.com/yun-liu/rcf 本文针对边缘检测问题...,基于 VGG16 网络设计了一个 richer convolutional features (RCF) 用于边缘检测,效果目前是很好的。...我们将卷积分为5个stage,相邻两个stage 通过池化层来降采样,得到不同尺度特征,rich hierarchical information 对边缘检测很有帮助。...去除全连接层主要是为了得到全卷积网络,第五池化层对降采样特征图,不利于边缘定位。...Comparison With HED 和 HED 的比较 下面开始 马三点: 关于这个问题我要说三点 1)HED 只考虑 VGG16 每个 stage 中的最后一个卷积层, 这样很多有用的信息就丢失了
以图搜图 目标检测 应用 方法 产品 这个案例,给我们提供了一个灵感,图片或者文本,我们都可以先做自动标注(目标检测、命名实体识别),然后再扩充丰富相似信息。...结合了目标检测的以图搜图; 同样的原理,在文本搜索中…… ---- 常见的图像任务概念的区别 知识 图形分类 目标检测 语义分割 全景分割 ---- HED:Holistically-Nested...Edge Detection HED canny算子 边缘检测 作者提出的end-to-end的边缘检测系统,称为HED,使用holistically来表示边缘预测的结果是基于图像到图像的...,端到端的过程;而nested则强调了在生成的输出过程中不断地继承和学习得到精确的边缘预测图的过程。...在一个密集的(或全连接的)网络中,对于每一层,我们给出了一个dropout的概率p。在每次迭代中,每个神经元被去掉的概率为p。
1、使用 ControlNet 控制人物的身体姿势 ControlNet 是一种通过添加额外条件来控制扩散模型的神经网络结构。...它提供了一种增强稳定扩散的方法,在文本到图像生成过程中使用条件输入(如边缘映射、姿势识别等),可以让生成的图像将更接近输入图像,这比传统的图像到图像生成方法有了很大的改进。...下面介绍几种可以用来控制人物身体姿势的方法: 1.1、Canny 边缘检测控制姿势 通过 Canny 模型可以对原始图片进行边缘检测,从而基于原始图片生成对应的线稿图。...如下图: 根据 canny 线稿图生成新图 可以看到我这里的原图、Canny 线稿图、生成的新图对照如下,新图姿势和原图保持了一致: >> 1.2、HED 边缘检测控制姿势...通过 HED 模型也可以对原始图片进行边缘检测,从而基于原始图片生成对应的线稿图,但是边缘更柔和。
作者:Edison_G 边缘检测是计算机视觉中的一个基本问题。近年来,卷积神经网络(CNNs)的出现极大地推动了这一领域的发展。...今天分享的paper提出了一种利用更丰富的卷积特征(RCF)来精确的边缘检测方法。 2 引言 如下图所示,构建了一个简单的网络,使用带有HED架构(S. Xie and Z....通过将RCF边缘应用于经典图像分割,验证了该方法的通用性。 RCF 借鉴了现有工作HED、FCN并开始VGG-16网络。VGG-16网络由13个Conv层和3个全连接层组成。...在HED文献中中可以找到不同层的详细感受野大小。假设使用这种丰富的分层信息来帮助边缘检测,网络设计的出发点就是在这里。 上图显示了提出的新网络。...对于每幅图像,平均所有的Ground Truth,生成一幅从0到1的边缘概率图。 多尺度分层边缘检测 在单尺度边缘检测中,将原始图像传送到微调的RCF网络中,然后输出是边缘概率图。
【导读】边缘检测是计算机视觉中的一个基本问题。近年来,卷积神经网络(CNNs)的出现极大地推动了这一领域的发展。现有的方法采用特定的深层CNN,但由于尺度和纵横比的变化,可能无法捕捉到复杂的数据结构。...今天分享的paper提出了一种利用更丰富的卷积特征(RCF)来精确的边缘检测方法。 ? 引言 ? 如下图所示,构建了一个简单的网络,使用带有HED架构(S. Xie and Z....通过将RCF边缘应用于经典图像分割,验证了该方法的通用性。 RCF ? 借鉴了现有工作HED、FCN并开始VGG-16网络。VGG-16网络由13个Conv层和3个全连接层组成。...在HED文献中中可以找到不同层的详细感受野大小。假设使用这种丰富的分层信息来帮助边缘检测,网络设计的出发点就是在这里。 ? 上图显示了提出的新网络。...对于每幅图像,平均所有的Ground Truth,生成一幅从0到1的边缘概率图。 ? 多尺度分层边缘检测 ? 在单尺度边缘检测中,将原始图像传送到微调的RCF网络中,然后输出是边缘概率图。
图4 自动框选效果 对内容的框选现有很多技术,比如图像处理的边缘提取,但是效果不好需要特别多的后处理,随着 AI 的发展,也有一些深度学习的方法对边缘进行提取,比如 HED 网络。...前期同事也基于 hed 进行了模型训练得到了不错的检测效果。...图6 多任务边缘检测网络 图7 网络示意图 两个分支的 encoder 部分卷积层权重共享。 在边缘检测分支,我们还是分为多个 block 计算 loss,并通过 se 模块融合分支。...对于边缘检测,我们更多想得到全局信息,所以引入了 SEblock,如下图,在 featrueMap 上做了一次 attention。...图10 优化前后对比图 通过验证集验证,hed 验证集 miou=88.38,多任务网络 miou=90.63,多任务训练的方式 miou 可以提升 2 个点。
领取专属 10元无门槛券
手把手带您无忧上云