Fast R-CNN 个人理解
Fast R-CNN是在R-CNN的基礎(chǔ)上進(jìn)行的改進(jìn),大致框架是一致的??傮w而言,Fast R-CNN相對于R-CNN而言,主要提出了三個(gè)改進(jìn)策略:
1. 提出了RoIPooling,避免了對提取的region proposals進(jìn)行縮放到224x224,然后經(jīng)過pre-trained CNN進(jìn)行檢測的步驟,加速了整個(gè)網(wǎng)絡(luò)的learning與inference過程,這個(gè)是巨大的改進(jìn),并且RoIPooling是可導(dǎo)的,因此使得整個(gè)網(wǎng)絡(luò)可以實(shí)現(xiàn)end-to-end learning,這個(gè)可以認(rèn)為是Fast R-CNN相對于R-CNN最大的改進(jìn)之處。
2. 采用了Multi-task loss進(jìn)行邊框回歸,這個(gè)在R-CNN中也有這方面的實(shí)驗(yàn)。
3. 利用了截?cái)嗟钠娈愔捣纸?#xff08;Truncated SVD for faster detection)加速了網(wǎng)絡(luò)。
下圖是Fast R-CNN的總體框圖(以VGG16為骨干網(wǎng))
這個(gè)圖比較詳細(xì)的表達(dá)了Fast R-CNN的結(jié)構(gòu)以及操作,但是該圖中有些細(xì)節(jié)是沒有展示出來的,因此在這里我們指出這些細(xì)節(jié),首先我們?nèi)Ξ嫴糠?#xff0c;region proposals是通過相關(guān)算法實(shí)現(xiàn)的,原論文中并沒有標(biāo)明,提取的每一個(gè)region proposal都有一個(gè)對應(yīng)的Ground-truth Bounding Box 和 Ground-truth class label。其中值得注意的是,這里的坐標(biāo)均是對應(yīng)原圖像的,而不是輸出的feature maps。因此,還需要把原圖像的坐標(biāo)系映射到feature maps上。這一點(diǎn)也很簡單,比如采用的是pre-trained 網(wǎng)絡(luò)模型為VGG16的話,RoIPooling替換掉最后一個(gè)max pooling層的話,則原圖像要經(jīng)過4個(gè)max pooling層,輸出的feature maps是原圖像的1/16,因此,將原圖像對應(yīng)的四元數(shù)組轉(zhuǎn)換到feature maps上就是每個(gè)值都除以16,并量化到最接近的整數(shù)。這樣我們就實(shí)現(xiàn)了將原圖中region proposals 到特征圖中的轉(zhuǎn)換、接下來就是將region proposals框起來的那部分特征圖輸RoIPooling,得到固定大小的輸出特征圖,這里假設(shè)(原論文中分成了7x7)每一個(gè)框的被劃分為6x6的網(wǎng)格大小,根據(jù)規(guī)則我們知道,從每一個(gè)框中挑選出一個(gè)最大值,作為輸出,所以經(jīng)過池化后,產(chǎn)生的特征圖的大小為6x6,由于是按通道池化(最大池化)的,所以每一個(gè)ROI對應(yīng)一個(gè)6x6x256的特征圖,并且有P個(gè)類別,所以這些特征圖組合之后,形成6x6x256xP的特征圖,即為ROIPooling的層的輸出,然后進(jìn)行全連接,形成4096*P的特征圖,這樣我們就可以利用得到的特征圖去進(jìn)行線性回歸和分類,這就是對本人fast RCNN的一個(gè)個(gè)人理解,也有可能存在欠缺。
總結(jié)
以上是生活随笔為你收集整理的Fast R-CNN 个人理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用tensorflow建立简单的神经网
- 下一篇: 关于list 数据类型 和 ndarra