1. 程式人生 > >CNN邊緣檢測--Richer Convolutional Features for Edge Detection

CNN邊緣檢測--Richer Convolutional Features for Edge Detection

Richer Convolutional Features for Edge Detection
CVPR2017
Caffe:https://github.com/yun-liu/rcf

本文針對邊緣檢測問題,基於 VGG16 網路設計了一個 richer convolutional features (RCF) 用於邊緣檢測,效果目前是很好的。

首先來看看 VGG16不同卷積層的特徵輸出
這裡寫圖片描述

3 Richer Convolutional Features (RCF)
3.1. Network Architecture
網路結構思路很簡單啊

這裡寫圖片描述
這裡寫圖片描述
我們將卷積分為5個stage,相鄰兩個stage 通過池化層來降取樣,得到不同尺度特徵,rich hierarchical information 對邊緣檢測很有幫助。
隨著 receptive field 尺寸的增加,每個卷積層學習到的有用資訊將變得 coarser

標準VGG16中的感受野和步長
這裡寫圖片描述

我們對VGG16的改動如下:
1)去除所有的全連線層和第五池化層。去除全連線層主要是為了得到全卷積網路,第五池化層對降取樣特徵圖,不利於邊緣定位。
2)對VGG16中的每個卷積層使用一個 kernel size 1 × 1 and channel depth 21 卷積層, 每個stage中所有的1 × 1 × 21卷積輸出進行元素相加操作( eltwise layer),得到一個複合特徵
3)每個 eltwise layer 後面加一個deconv layer 用於放大特徵圖尺寸的(up-sampling layer)
4)在每個 up-sampling layer 後面使用一個 cross-entropy loss / sigmoid layer
5)所有的 up-sampling layers 輸出進行concatenated,隨後使用一個 1×1 conv layer 進行特徵圖融合,最後使用 一個 cross-entropy loss / sigmoid layer 得到輸出

下面看看每個 stage 的輸出結果
這裡寫圖片描述

3.2. Annotator-robust Loss Function
在設計損失函式時,我們對於有爭議的邊緣點不計入損失函式的計算中,例如有10個人標記,只有1-3個人同時標記某個畫素為邊緣點。那麼該畫素點就屬於有爭議的邊緣點。

每個畫素的損失函式定義如下
這裡寫圖片描述

3.3. Multiscale Hierarchical Edge Detection
對尺度影象輸入
這裡寫圖片描述
we use three scales 0.5, 1.0, and 1.5 in this paper
對於 BSDS500 資料庫, 精度提升: ODS F-measure from 0.806 to 0.811,速度從 30 FPS 降到 8 FPS

3.4. Comparison With HED 和 HED 的比較
下面開始 馬三點: 關於這個問題我要說三點
1)HED 只考慮 VGG16 每個 stage 中的最後一個卷積層, 這樣很多有用的資訊就丟失了。 而 RCF 使用了所有的卷積層資訊
2) 我們設計了新的損失函式,不考慮有爭議的邊緣點計算
3) 多尺度提升效能 multiscale hierarchy to enhance edges 2.3% improvement in ODS F-measure over HED

BSDS500 資料庫上對比
這裡寫圖片描述

NYUD dataset
這裡寫圖片描述

Multicue dataset
這裡寫圖片描述

圖示結果:
這裡寫圖片描述

最後有一點很有意思: non-linearity 沒有幫助,甚至導致網路不收斂
In order to investigate whether including additional non-linearity helps, we connecting ReLU layer after 1 × 1 − 21 or 1 × 1 − 1 conv layers in each stage. However, the network performs worse. Especially, when we attempt to add nonlinear layers to 1 × 1 − 1 conv layers, the network can not converge properly.

相關推薦

CNN邊緣檢測--Richer Convolutional Features for Edge Detection

Richer Convolutional Features for Edge Detection CVPR2017 Caffe:https://github.com/yun-liu/rcf 本文針對邊緣檢測問題,基於 VGG16 網路設計了一個 rich

輪廓檢測論文解讀 | Richer Convolutional Features for Edge Detection | CVPR | 2017

有什麼問題可以加作者微信討論,cyx645016617 上千人的粉絲群已經成立,氛圍超好。為大家提供一個遇到問題有可能得到答案的平臺。 ## 0 概述 - 論文名稱:“Richer Convolutional Features for Edge Detection” - 論文連結:https://opena

CNN邊緣檢測示例 直觀觀察CNN卷積結果

一 兩種示例濾波器 水平與垂直濾波器,分別用來檢測水平邊緣與豎直邊緣 二 簡單示例 假定矩陣中的數值表示灰度,那麼用此6*6的矩陣和vertical filter以stride=1進行卷積,可得到等式右邊的結果,那麼結果的矩陣正值表示檢測出的邊緣 若將原矩

論文筆記:Learning Region Features for Object Detection

中心思想 繼Relation Network實現可學習的nms之後,MSRA的大佬們覺得目標檢測器依然不夠fully learnable,這篇文章類似之前的Deformable ROI Pooling,主要在ROI特徵的組織上做文章,文章總結了現有的各種ROI Pooling變體,提出了一個統一的數學表示式

目標檢測“Feature Pyramid Networks for Object Detection

為了在不同尺度檢測物體,特徵金字塔很重要。作者提出了一個具有橫向連線的自上而下的結構,來構造每個尺度的高層語義特組圖。這個結構成為特徵金字塔網路(FPB)。 幾種不同的檢測結構對比,圖(a)是使用影象金字塔構造特徵金字塔,圖(b)只使用一個尺度的特徵進行快速檢

目標檢測--Feature Pyramid Networks for Object Detection

CVPR2017 Feature Pyramid Networks for Object Detection https://arxiv.org/abs/1612.03144 Code will be made publicly available 本

視頻顯著性檢測-----Predicting Video Saliency using Object-to-Motion CNN and Two-layer Convolutional LSTM

layer lin -- 分享圖片 組合 object idt red 9.png 幀內顯著性檢測: 將卷積網絡的多層特征進行組合通過unsampling 得到粗顯著性預測; 幀間顯著性檢測: (粗檢測結果+新卷積網絡的特征圖,最後+之前卷積網絡的卷積特征輸入到LST

Wasserstein CNN: Learning Invariant Features for NIR-VIS Face Recognition

表現 ted diff 差異 osi asi nta measure mod 承接上上篇博客,在其基礎上,加入了Wasserstein distance和correlation prior 。其他相關工作、網絡細節(maxout operator)、訓練方式和數據處理等基本

OpenCV學習筆記(7)--Canny Edge Detection Canny邊緣檢測

    Canny 邊緣檢測是很流行的邊緣檢測演算法,是在1986年由John F.Canny提出的。它是一個多級(multi-stage)演算法。下面詳細介紹每一級。     1.減少噪音         因為邊緣檢測對噪音非常敏感,所以實現邊緣檢測的第一步,是使用高斯

邊緣檢測Image Gradients+Canny edge detection——opencv_python

Canny Edge Detection 參考地址 Image Gradients opencv提供了三種梯度濾波器或者叫高通濾波器。分別為cv.Sobel(), cv.Scharr(), cv.Laplacian() Sobel and Scharr Sobel(索貝爾)運

數字影象處理筆記——邊緣檢測Edge detection

邊緣檢測 我們之前講邊緣檢測的時候講到了一階導和二階導,理想邊緣的畫素值是跳變的,而斜坡邊緣的畫素值是漸變的。我們在求一階導的時候導數值大的地方可以看做邊緣;若是對於斜坡邊緣,我們不想得到一長條邊緣,而只想得到這個漸變的中央點時,我們可以看二階導,二階導只在邊緣開始與結束的地方會出現,因此我們只

Region-based Convolutional Networks for Accurate Object Detection and Segmentation----R-CNN論文筆記

一、為什麼提出R-CNN 目標檢測效能停滯不前,效能最好的整合方法又太複雜,所以作者提出了一個既能大幅提升效能,又更簡單的R-CNN。 二、R-CNN的框架 上面的框架圖清晰的給出了R-CNN的目標檢測流程: 1) 輸入測試影象 2) 利用s

降噪 (Noise Reduction)對於影象邊緣檢測 (Edge Detection)的意義

對於拍攝到的影象,在識別其中物體的邊緣時,一定要先降噪 1. 首先,邊緣檢測的演算法如下圖所示: 原始影象如上圖所示,肉眼可見清晰的邊緣。 其強度函式 (Intensity Function)如下: 那麼,邊緣的識別是基於強度函式的一

深度學習筆記(4):1.1-1.3 邊緣檢測(edge detection)

第四課開始,我們開始學習卷積神經網路。 1.1 計算機視覺(computer vision) 深度學習在計算機視覺方面的應用非常振奮人心,一方面是該應用使許多不可能變成了可能,另一方面是深度學習在計算機視覺方面的應用能夠給深度學習在其他方面的應用帶來一些方法的改進和思考,

canny邊緣檢測 demo

filename channels rfi 作用 namespace str named names amp #include <iostream> #include <string> #include <sstream>

Canny邊緣檢測算法原理及其VC實現詳解(一)

常用 差分 實現圖 還需要 鏈接 傳感器 出了 關系 位置 轉自:http://blog.csdn.net/likezhaobin/article/details/6892176 圖象的邊緣是指圖象局部區域亮度變化顯著的部分,該區域的灰度剖面一般可以看作是一個階躍,既從

Halcon學習之邊緣檢測函數

轉換 函數 灰度 nms dir 學習 邊緣 檢測 進行 sobel_amp ( Image : EdgeAmplitude : FilterType, Size : ) 根據圖像的一次導數計算圖像的邊緣 close_edges ( Edges, EdgeImage :

Convolutional Patch Networks with Spatial Prior for Road Detection and Urban Scene Understanding

line evel linux 程序 providing form ram -s visio Convolutional Patch Networks with Spatial Prior for Road Detection and Urban Sce

六 OpenCV圖像處理4 Canny 邊緣檢測

alt left 最大的 max plt src 分享 body 邊界 1.Canny 邊緣檢測原理 步驟: ·1噪聲去除: 由於邊緣檢測很容易受到噪聲影響,所以第一步是使用 5x5 的高斯濾波器 去除噪聲 ·2計算圖像梯度:

GeometryWorks 3D Features for SolidWorks 2014 Win32_64 2CD

aer mat struct top ima graphic truct 3.1 ctu Intelligent.Light.FieldView.v14.Win32_64 2CD Altair HyperWorks Solvers v12.0.212 Update Onl