日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

论文阅读(3)--SPDA-CNN: Unifying Semantic Part Detection and Abstraction for Fine-grained Recognition

發布時間:2023/12/10 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 论文阅读(3)--SPDA-CNN: Unifying Semantic Part Detection and Abstraction for Fine-grained Recognition 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章是來自羅格斯大學的Han Zhang等人的工作。由題目可知與上一篇文章一樣,本文的作者也關注到了富有語義的局部(利用Part,Part,Part,重要事情強調三遍),作者不滿足于CUB-2011數據庫提供的head和body的定位結果,提出了small semantic parts 生成的方法

論文中使用的網絡分為兩個子網絡,一個用于檢測,一個用于分類。檢測子網絡采用一個新的自頂向下的方法生成用于檢測的細小的語義局部候選(small semantic part candidates),而分類子網絡采用一個新的part layers,該層主要是從由檢測子網絡檢測得到的局部提取特征,然后用于分類。最后將兩個子網絡都整合到成一個端到端的網絡,可以提供檢測,定位多個語句局部以及對整個物體的識別功能。整個網絡系統如下圖所示

下面具體介紹這兩個子網絡的細節實現。

1. 檢測子網絡

1.1 Geometrically-constrained Top-down Region Proposals for Small Semantic Parts

首先是需要檢測出細小的語義局部,論文是提出一種幾何限制的自頂向下的區域建議方法。這種方法類似于K-最近鄰方法。

這個方法首先是計算在一個矩形框內的物體的HOG特征,并用HOG來表示該物體的大致全局形狀,然后基于這個特征,對于給定的圖片,從訓練集中跳出K個最近的鄰居(也就是K張圖片),對這些圖片的特定的局部區域會根據給定的測試圖片來調整尺寸大小。這里論文還提出可以根據兩種形式的先驗信息來得到最終的part region proposals,第一種比較強的是考慮到部件(part)的類標簽以及其幾何形狀限制,這樣最后得到的部件總數是N=km,而每個部件的proposals則是k個,k就是KNN方法找出來的K張圖片數量,而m則是表示每張圖片的部件(part)數量;第二種則是相對弱的信息,不考慮類標簽,這種情況下,單個部件的proposals數量就等于部件的總數,也就是N=km

最終得到的數量會比傳統的生成region proposals的要少一個數量級。

1.2 Fast RCNN based Part Detection

得到上一步的part region proposals后,就使用[1]的方法來回歸每一個part region proposal,并且分配一個部件的標簽。對于每個物體,有m個部件,則將會有(m+1)個輸出,包括m個部件的標簽以及表示背景標簽的0值。每一個輸出都包括一個回歸的bounding box–b,一個自信度得分s[0,1]。并且如[1]所介紹的,會訓練部件分類器和part regressor。這里需要好好看看[1]這篇論文才能更好了解。

對所有的part region proposals的分類都是并行的,并且對于分類結果的判定,作者認為每個部件在一個測試圖片中應該最多只有一次檢測,應該每個部件應該選擇擁有最高自信度得分的bounding box,同時會剔除得分低于閾值的,也就是對應的部件是實際不存在的,論文中對鳥類的檢測中,腿部這個部件就是這種情況。


2. 分類子網絡

分類子網絡對傳統的CNN網絡結構中增加了3個新的網絡層,分別是semantic part RoI pooling layerpart-based fully connected layer(pfc)concatenation fully connected layer(cfc)

semantic part RoI pooling layer:這一層的作用是從檢測子網絡中檢測得到的語義部件提取特征,并根據一個預定義好的順序重新組織這些特征。

part-based fully connected layer(pfc):這一層主要是將屬于同一部件的連接在一起,以便獲得mid-level part-specific features,也就是中層的特定部件特征。

concatenation fully connected layer(cfc):這一層則是將pfc層的結果連接在一起,也就是連接所有的部件,從而得到一個完整的網絡,可以同時訓練所有的部件。

2.1 Semantic Part RoI Pooling Layer

傳統的pooling層主要是用于增加平移不變性以及減少網絡的空間大小,即可以降低內存的使用。但是不是所有特征圖中的特征都有用于分類的。

論文提出的新的pooling層是可以將pooling運算只使用在物體的有語義的部件上的。

首先,每個部件區域會分成H×W(論文中給出的也就是3*3,文章開頭給出的圖中有標明大小)大小的子窗口,然后在這些子窗口上執行max-pooling運算,對于沒有出現在語義部件的特征則拋棄。

然后,不同部件的經過pooling操作的特征會根據一個預定好的順序排列(論文中給出鳥類部件的順序)。

2.2 Part-based Fully Connected Layer

這一個新的全連接層中每個節點只會連接同一種部件中的特征,目的是得到一個中級的部件信息,可以連接低級的圖像特征和高級的全局信息,同時也比傳統的全連接層的參數更少。

2.3 Concatenation Fully Connected Layer

之前很多基于部件的CNN方法都是為每個部件訓練單獨的網絡,然后再使用SVM來對聯合起來的特征向量進行分類。而論文則提出這個新的全連接層來建立一個完整的網絡來處理不同的部件。這樣做的好處是可以將分類的誤差傳播回所有的部件,從而在訓練的時候可以更新部件的權重。


3 Unifying Two Sub-networks

這里介紹如何將兩個子網絡聯合在一起形成一個統一的網絡。

作者是參考了[2]的做法——使用交替優化的方法,分為3個步驟。

第一步,分別使用ImageNet的預訓練模型分別微調兩個子網絡,在這一步中,分類子網絡中使用的是oracle的部件標注,而不是部件檢測的結果,同時,這一步,兩個子網絡有著不同的卷積層。

第二步,使用分類子網絡的前n個卷積層代替檢測子網絡中的對應卷積層,然后微調檢測子網絡中其他獨立的網絡層,這里n是一個超參數,需要根據最終統一網絡的性能和效率來進行調試。

最后一步,則使用來自檢測子網絡的檢測結果對分類子網絡進行微調,除了共享的卷積層外,即第二步選擇的前n個卷積層不用進行微調。因此,兩個子網絡將擁有相同的卷積層,并最終變成一個統一的網絡。


4 小結

總的來說,文章作者基于鳥的形狀特性,在Proposal生成階段構造了幾何限制條件,并基于此提出了一種Part Detection的方法。而Parts在鳥類Fine-Grained分類問題上對結果的提高有明顯幫助。作者將Part Detection和Classification結合成一個End-to-End的結構,同時進行訓練與測試,取得了優異的結果。

這篇論文也是將重點放到特定部件上,不過其用的數據庫中是有提供bounding box的標注的,相比上一篇看的論文的自動檢測部件方法,這里的檢測網絡和分類網絡,如果對于沒有任何bounding box的標注的數據庫的話,可能就會需要人工標注了,工作量就相對比較大了。不過,這也說明了使用部件來進行精細圖像分類是目前比較熱門的一個方向,確實可以好好往這方面想想,還有什么可以改進的。


其他參考論文:

[1] Fast RCNN
[2] Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

總結

以上是生活随笔為你收集整理的论文阅读(3)--SPDA-CNN: Unifying Semantic Part Detection and Abstraction for Fine-grained Recognition的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。