【文献阅读】ChangeNet——变化检测网络(A. Varghese等人,ECCV,2018)
一、背景
文章題目:《ChangeNet: A Deep Learning Architecture for Visual Change Detection》
這篇文章思路非常簡單,覺得能中ECCV還是有點(diǎn)牽強(qiáng)啊。變化檢測一般就是孿生網(wǎng)絡(luò)+反卷積,能還原出變化的mask就行,考慮到不同尺度下的變化特征,引入多尺度特征層就可以了。即使不看這篇文章,一般人也能想到這個思路。感覺能中ECCV有點(diǎn)玄學(xué),因?yàn)榱咙c(diǎn)不多。
文章下載地址:https://link.springer.com/content/pdf/10.1007%2F978-3-030-11012-3_10.pdf
文章引用格式:Ashley Varghese, Jayavardhana Gubbi, Akshaya Ramaswamy, and Balamuralidhar P.?"ChangeNet: A Deep Learning Architecture for Visual Change Detection."?European Conference on Computer Vision (ECCV), 2018.
項(xiàng)目地址:暫無
二、文章摘要
The increasing urban population in cities necessitates the need for the development of smart cities that can offer better services to its citizens. Drone technology plays a crucial role in the smart city environment and is already involved in a number of functions in smart cities such as traffic control and construction monitoring. A major challenge in fast growing cities is the encroachment of public spaces. A robotic solution using visual change detection can be used for such purposes. For the detection of encroachment, a drone can monitor outdoor urban areas over a period of time to infer the visual changes. Visual change detection is a higher level inference task that aims at accurately identifying variations between a reference image (historical) and a new test image depicting the current scenario. In case of images, the challenges are complex considering the variations caused by environmental conditions that are actually unchanged events. Human mind interprets the change by comparing the current status with historical data at intelligence level rather than using only visual information. In this paper, we present a deep architecture called ChangeNet for detecting changes between pairs of images and express the same semantically (label the change). A parallel deep convolutional neural network (CNN) architecture for localizing and identifying the changes between image pair has been proposed in this paper. The architecture is evaluated with VL-CMU-CD street view change detection, TSUNAMI and Google Street View (GSV) datasets that resemble drone captured images. The performance of the model for different lighting and seasonal conditions are experimented quantitatively and qualitatively. The result shows that ChangeNet outperforms the state of the art by achieving 98.3% pixel accuracy, 77.35% object based Intersection over Union (IoU) and 88.9% area under Receiver Operating Characteristics (RoC) curve.
首先作者提到了智慧城市,然后談到城市的變化非常快。為了自動檢測出這種變化,作者提出了ChangeNet,它是一個并行CNN結(jié)構(gòu)來檢測圖像對之間的變化。實(shí)驗(yàn)基于三個數(shù)據(jù)集VL-CMU-CD,TSUNAMI,Google Street View。實(shí)驗(yàn)表明ChangeNet達(dá)到了98.3%的識別精度,77.35%的IoU和88.9%的RoC。
三、文章介紹
一般做目標(biāo)變化檢測的難點(diǎn)在于:光照,光強(qiáng),對比度,分辨率,質(zhì)量,尺度,位置等因素的微妙變化。傳統(tǒng)方法就是利用圖像分割,結(jié)合閾值,這種低級決策方法,遇到一些復(fù)雜情況就變得極其不穩(wěn)定。這里作者給了一個例子:
該例子來自VL-CMU-CD數(shù)據(jù)集。實(shí)際上的變化之處僅僅為門口的垃圾,其他地方盡管稍有不同,但實(shí)際上是沒有發(fā)生變化的,這種變化是一種高級信息。
因此,本文設(shè)計(jì)ChangNet,它使用ResNet來提取圖像特征。然后結(jié)合不同層(尺度)的變化信息。最后使用相同的網(wǎng)絡(luò)來檢測變化的label。
1. 相關(guān)工作及動機(jī)
這里先不介紹了,因?yàn)樽鲎兓瘷z測的其實(shí)挺多的。
2. 模型結(jié)構(gòu)
作者的想法來源于孿生網(wǎng)絡(luò)和全卷積網(wǎng)絡(luò)FCN,網(wǎng)絡(luò)結(jié)構(gòu)如下所示:
基本上就是一個孿生網(wǎng)絡(luò)的結(jié)構(gòu),上下兩個CNN的權(quán)值共享,作者提出的這個網(wǎng)絡(luò)和孿生網(wǎng)絡(luò)一個最大的區(qū)別是,權(quán)重和反卷積是無關(guān)的(not tied),這可以使模型提升5%。
對于特征提取模塊,作者使用的是ResNet50:
最后為了獲得mask,需要進(jìn)行上采樣獲得和輸入相同的feature map,這里作者上采樣使用了雙線性內(nèi)插來替代卷積(Upsampling is done with bilinear interpolation filter)。然后把兩個并行網(wǎng)絡(luò)的輸出做連接。連接好的輸出最后再連接一個softmax做分類就OK。
下面看一下作者給的一個例子吧:
四、小結(jié)
這篇文章很簡單,實(shí)現(xiàn)起來也非常容易,自己就簡單寫了下核心偽代碼:
# 以下代碼基于tensorflow,簡單寫下思路,真正在寫的時候,除了train,val,test,還要考慮placeholder,loss,optimizer等等,這些都要設(shè)置### 導(dǎo)入相關(guān)庫 from tensorflow.contrib import slim from tensorflow.contrib.slim.nets import resnet_v2 from tensorflow.contrib.slim.python.slim.nets.resnet_utils import resnet_arg_scope### 讀取數(shù)據(jù) before_info = ........ after_info = ........### 用resnet提取兩組數(shù)據(jù)的特征 with slim.arg_scope(resnet_arg_scope):net1, end_points1 = resnet_v2.resnet_v2_50(before_info)net2, end_points2 = resnet_v2.resnet_v2_50(after_info, reuse=True)### 拿出不同層的特征 b1 = end_points1[.......] b2 = end_points1[.......]a1 = end_points2[.......] a2 = end_points2[.......]### 然后反卷積 w = tf.constant(1.0, shape=[.......]) b1_mask = tf.nn.conv2d_transpose(......) b2_mask = tf.nn.conv2d_transpose(......)a1_mask = tf.nn.conv2d_transpose(......) a2_mask = tf.nn.conv2d_transpose(......)### 然后連接,用tf.concat(....)### 最后softmax就可以了?
總結(jié)
以上是生活随笔為你收集整理的【文献阅读】ChangeNet——变化检测网络(A. Varghese等人,ECCV,2018)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: abupy文件结构功能
- 下一篇: 风格迁移(Style Transfer)