999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Caffe網絡模型的Faster R-CNN算法推理過程的解析

2018-02-09 17:54:28郭葉軍汪敬華
現代計算機 2018年1期
關鍵詞:區域模型

郭葉軍,汪敬華

(1.英特爾亞太研發有限公司,上海 200241;2.上海工程技術大學,上海 201620)

0 引言

Faster R-CNN是用深度學習來進行目標檢測的算法[1],并在PASCAL VOC目標檢測競賽[2]中取得了很好的成績。從理論研究的角度來解析這個算法,存在不易描述清楚的理論問題;而從源代碼的角度來講述該算法,則又拘泥于編程細節,因此,從算法對應的網絡模型出發,明確網絡模型中每一層的輸入輸出,并概述其功能,就能把握算法的整體思路,為后續的深入研究奠定基礎。

眾所周知,有監督的深度學習算法包括兩個方面:一是前饋(forward)的推理過程(inference),根據輸入和網絡模型參數,得到輸出;二是反饋(backward)的訓練過程(train),根據輸入和預期的輸出,調整網絡模型參數。本文僅關注推理過程,因為理解了推理過程,也就容易理解訓練過程。提出Faster R-CNN算法的作者,在其GitHub主頁[3]中提供了基于Caffe網絡模型[4]的代碼,其中也包括一個demo示例程序,其網址見文獻[6],通過分析這個demo,來解析這個算法。

1 算法解析

1.1 算法的網絡模型

目標檢測,是指在一張圖像上,找出所有的目標,以及這些目標的具體位置。由于無法預知目標在圖像的具體位置,因此,最初始想法就是遍歷圖像中所有可能位置的候選區域,對每個候選區域(Region of Inter?est,簡稱RoI),通過特征提取等方法分析是否屬于某個目標類別。但是,RoI過多會導致算法效率低而無法實用,因此,有很多后續研究關注如何減少候選區域[7]。Faster R-CNN算法的網絡模型如圖1所示,通過RPN(Region Proposal Network)來生成所有的候選區域RoI。

圖1 Faster R-CNN算法的網絡模型

在Faster R-CNN算法中,待檢測圖像沒有固定的尺寸要求,作為輸入圖像只需要長寬等比例縮放到一定范圍即可,因此可以避免失真。RoI Pooling層用來將一定范圍內的尺寸轉換為固定尺寸,以滿足后續全連接網絡層的要求。待檢測圖像首先通過深度神經網絡來生成圖像特征,這些特征既被候選的RPN使用,又被后續的檢測過程使用,因此,實現了兩個不同目的的特征共享,這就是圖中被稱為共享神經網絡的原因。

1.2 目標位置(Bounding Box)

目標檢測,需要確定目標所在的位置,因此神經網絡的輸出應包含目標的位置信息,被稱為Bounding Box,簡稱BBox。在Faster R-CNN算法中,BBox被拆分成兩部分:初始位置(矩形位置信息xa,ya,ha,wa共四個值,記為 PriorBox)和調整參數(tx,ty,tw 和 th四個參數,記為BoxDelta)。神經網絡是如何知道Prior?Box和BoxDelta的物理意義呢?這是因為在訓練網絡時,訓練數據就是建立在這些概念之上,網絡經過訓練后,這些物理意義就被內化在網絡中了。結合PriorBox和BoxDelta,可以算出調整后的新矩形位置,這個新矩形就是目標所在的更精確的位置,即BBox。這個思路,在RPN和結果整合層都被用到。在文獻[1]中用如下公式表示它們之間的關系:

其中xa,ya,ha,wa表示PriorBox的中心點坐標和高寬,tx,ty,tw 和 th是調整參數,而 x,y,h和 w 則是BBox的中心點坐標和高寬。

在RPN生成RoIs時,PriorBox是預先定義的an?chor;在結果整合層,PriorBox是RoIs。而BoxDelta則是網絡的中間輸出。都將在后面詳述。

1.3 共享卷積神經網絡

卷積神經網絡在圖像識別中表現絕佳[8-9],已是非常基礎的概念,這里需要強調的是,卷積神經網絡對輸入圖像的尺寸沒有要求,可以是任意大小。所以,雖然在Caffe網絡模型[4]描述中,第一層接受的輸入是1×3×224×224,實際上,也可輸入 1×3×600×800的圖像,其中,1表示一幅彩色圖像,3表示圖像中有三個通道(channel),分別是紅綠藍三色信號通道,而600×800則是圖像的高和寬,這也是在demo[6]中作為Faster RCNN算法輸入的圖像尺寸。圖1所示的共享卷積神經網絡來源自VGG16模型[5],最后的輸出數據維度是1×512×38×50,表示有 512個 feature map,每個 feature map的 size是 38×50。

1.4 生成候選區域的RPN(Region Proposal Net-work)

RPN的網絡模型詳細如圖2所示,其輸入數據是來自共享卷積網絡的輸出,維度是1×512×38×50,首先經過一個卷積層rpn_conv和一個relu層,然后,分為兩條支路。這里的rpn_conv卷積層的kernel size是3,output number是512,對應文獻[1]中圖3的3×3的滑動窗口,只是輸出的不是論文中的256-d數據,而是512維的數據。

下面一條支路經過rpn_bbox_pred卷積層后,變成的維度是 1×36×38×50,表示 feature map的 size是 38×50,一共36個feature map。考察任意一個feature map中的單個元素,其值最終可以對應著原始圖像中的某個區域;正是原始圖像中的這個區域中的像素,決定了feature map中的這個元素的值。將這個區域進行縮放和偏移,根據事先在訓練之前就定義好的規則,我們得到了9個新的區域,這些新的區域就被稱為anchor。所以,38×50大小的 feature map就對應著 9×38×50個anchor。由于每個anchor有四個調整參數,因此就對應著 4×9×38×50個調整參數,剛好和feature map的數量對應起來。因此,36個feature map在這里被賦予了具體的物理意義,對應著9個anchor的調整參數,而每個anchor有4個調整參數。

上面一條支路經過rpn_cls_score卷積層后,維度變成了 1×18×38×50,相同的,這里的 18個 feature map也被賦予了具體的物理意義,對應著9個anchor的得分,每個anchor有2個得分,分別是存在目標和不存在目標的得分,顯然,這兩個得分的概率之和應該是1,所以,后面加了rpn_cls_prob層做softmax。在rpn_cls_prob前后還各有一個Reshape層主要是為了使得數據格式符合相關層的要求,做簡單的shape變化,并不涉及到具體的數據拷貝,為圖示簡潔,這兩個Reshape層并沒有畫出。

圖2 RPN的網絡模型

最后,在proposal層中,首先根據調整參數來調整anchor得到新矩形位置,為了避免新區域過小,或者超過了原圖范圍,proposal層還有一個輸入im_info用來傳入原圖尺寸。從這里我們可以看出,新矩形位置是基于原圖坐標的,而不是基于某個feature map尺寸的。再結合 NMS(Non-Max Suppress)算法,根據得分概率和新矩形的重疊情況,給出最有可能性存在目標的160個候選區域,稱為RoIs,每個候選區域除了矩形的四邊坐標外,還有一個id(在這個demo中被置為0,并沒有被實際用到),因此是5維的,所以,最后輸出的RoI維度是160×5。其中,160是在確定網絡結構模型參數的時候,事先確定的。

1.5 候選區域的池化層(RoIPooling)

RoI Pooling層如圖3所示,有兩個輸入,分別是來自共享卷積網絡的圖像特征數據和來自RPN的RoIs。由于RPN產生的RoI是基于原圖坐標,而RoI Pooling層處理的是卷積后的圖像特征數據,其大小已經發生了變化,不再是原圖分辨率,因此,通過層參數spatial_scale來調整RoI坐標,使之符合卷積后數據的尺寸要求。在網絡模型參數確定后,這個參數可以事先計算得到。

RoI Pooling層的參數還包括pooled_w和pooled_h,指的是每個RoI區域應該分成pooled_w×pooled_h個子區域,對每個子區域采用max pooling。所以,在本例子中,對于輸入的512個feature map,每個feature map中有160個RoI,一共會產生160×512×7×7個數據。一旦明確模型參數后,無論輸入的圖像尺寸如何變化,這些數字都不再變化。因此,RoI Pooling層的輸出維度是固定的,所以,滿足后續全連接網絡的固定輸入維度的要求。從這里輸出的四個維度,我們還可以有一個推論,也就是faster rcnn在推理過程中,在Caffe框架下,每次只能處理一張圖片,因為Caffe的數據結構最多就是四個維度,在這里都已經被使用,已經無法容納諸如圖片個數等額外信息了。

圖3 RoI Pooling層

1.6 全連接網絡

全連接網絡如圖4所示,輸入來自RoI Pooling層,經過兩個全連接層(Fully Connected)和RELU層(FC6,RELU6,FC7和 RELU7),演變為 160×4096的數據,然后分成兩路。其中一路在經過全連接層bbox_pred,產生維度為160×84的輸出,其中160還是對應著160個RoI,而84則對應著每個RoI的21個分類(本例子的識別目標分20類,再加上背景一共21類)的位置調整參數。另外一路經過全連接層cls_score產生維度為160×21的數據,表示160個ROI中每個ROI對應著21個分類的可能性得分,顯然,所有可能性相加應該為1,所以,后續緊跟著cls_probe層做softmax。這里的輸出,邏輯上和RPN網絡中的rpn_cls_prob和rpn_bbox_pred是非常類似的。

1.7 結果整合層

結果整合層并不在Caffe網絡模型文件中體現,而是在demo最后用Python代碼完成,非常類似于RPN網絡中的proposal層,只是初始位置從事先可以靜態計算的anchor變成了動態計算得到的RoIs。首先根據調整參數bbox_pred來調整RoIs得到新矩形位置,再結合NMS算法,根據得分概率和新矩形的重疊情況,給出本圖像中的目標位置和目標類別。

2 結語

圖4 全連接網絡

本文從Faster R-CNN算法的網絡模型出發,針對重要的網絡層,分析它們的輸入輸出,包括數據維度格式和對應的物理意義,也簡單介紹了每一層的主要參數和功能。這樣,更容易理解Faster R-CNN算法的關鍵技術,為后續的進一步研究打下堅實的基礎。

[1]Shaoqing Ren,Kaiming He,Ross Girshick,Jian Sun.Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,vol.39,no.6,1137-1149.

[2]Mark Everingham,S.M.Ali Eslami,Luc Van Gool,Christopher K.I.Williams,John Winn,Andrew Zisserman.The PASCAL Visual Object Classes Challenge:A Retrospective[J].International Journal of Computer Vision,2015,98-136.[3]https://github.com/rbgirshick/py-faster-rcnn.

[4]Y.Jia,E.Shelhamer,J.Donahue,S.Karayev,J.Long,R.Girshick,S.Guadarrama,T.Darrell.Caffe:Convolutional Architecture for Fast Feature embedding[J].Proceedings of the 22nd ACM International Conference on Multimedia,2014,675-678.

[5]K.Simonyan,A.Zisserman.Very Deep Convolutional Networks for Large-Scale Image Recognition[C].International Conference on Learning Representations,2015.

[6]https://github.com/rbgirshick/py-faster-rcnn/blob/master/models/pascal_voc/VGG16/faster_rcnn_alt_opt/faster_rcnn_test.pt.

[7]R.Girshick.Fast R-CNN[J].Proceedings of IEEE International Conference on Computer Vision,2015,1440-1448.

[8]許可.卷積神經網絡在圖像識別上的應用的研究[D].杭州:浙江大學,2012.

[9]A.Krizhevsky,I.Sutskever,G.Hinton.Imagenet Classification with Deep Convolutional Neural Networks[J].Proceedings of Neural Information Processing Systems,2012,1097-1105.

猜你喜歡
區域模型
一半模型
永久基本農田集中區域“禁廢”
今日農業(2021年9期)2021-11-26 07:41:24
分割區域
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
關于四色猜想
分區域
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
基于嚴重區域的多PCC點暫降頻次估計
電測與儀表(2015年5期)2015-04-09 11:30:52
主站蜘蛛池模板: 亚洲欧美国产五月天综合| 亚洲人成人无码www| 国产精品成人一区二区| 麻豆精品在线| 国产91在线|日本| 日韩少妇激情一区二区| 99热这里只有精品免费国产| 亚洲专区一区二区在线观看| 久久久噜噜噜| 欧美成人手机在线视频| 中文国产成人精品久久一| 欧美精品亚洲精品日韩专区va| 国产中文一区二区苍井空| 欧美性精品不卡在线观看| 嫩草影院在线观看精品视频| 曰韩人妻一区二区三区| 91精品国产自产91精品资源| 国模私拍一区二区三区| 亚洲国产午夜精华无码福利| 中文无码毛片又爽又刺激| 国产大片黄在线观看| 欧美激情网址| 久久精品亚洲专区| 性色生活片在线观看| 亚洲一区二区在线无码| 久一在线视频| 婷婷色一区二区三区| 日韩欧美在线观看| 婷婷丁香在线观看| 久久久久亚洲精品成人网| 亚洲无码视频喷水| 国产成人精品在线| 91av成人日本不卡三区| 人与鲁专区| 毛片在线看网站| 亚欧美国产综合| 特级欧美视频aaaaaa| 亚洲国产综合精品一区| 国产国产人成免费视频77777| 免费亚洲成人| 久久综合干| 亚洲高清资源| 日韩精品一区二区三区swag| 欧美a级在线| 久久久久亚洲Av片无码观看| 91蜜芽尤物福利在线观看| 激情无码视频在线看| 国产免费a级片| 国产成人AV大片大片在线播放 | 国产日本欧美在线观看| 激情成人综合网| 无码国产伊人| 另类专区亚洲| 亚洲欧美精品一中文字幕| 人人爽人人爽人人片| 四虎亚洲国产成人久久精品| 久久久久无码国产精品不卡| 青青网在线国产| 国产美女精品一区二区| 久久五月视频| 久久天天躁狠狠躁夜夜躁| 国产精品妖精视频| 精品人妻系列无码专区久久| 伊人成人在线| 青青草91视频| 国产美女精品在线| 亚洲高清在线天堂精品| 国产精品99r8在线观看| 国产在线观看高清不卡| 亚洲日韩欧美在线观看| 99热这里只有精品国产99| 亚卅精品无码久久毛片乌克兰 | 91偷拍一区| 国产导航在线| 波多野结衣久久高清免费| 国产精品高清国产三级囯产AV| 国产免费久久精品99re丫丫一| 久久国产拍爱| 亚洲swag精品自拍一区| 久久久91人妻无码精品蜜桃HD| 国产成人精品高清在线| 久久国语对白|