desc | |
圖像領域的任務 |
![]()
前兩個的默認是只有一個主體,對於 localization 使用的方法就是一個回歸問題,回歸值是一個四元組
![]()
對於 多對象的圖片,使用slide window的方式來掃描,中間有些技巧
|
localization 的問題 | 本質是一個 四元組的 回歸問題 |
聽說 |
VGG 適合做遷移學習 ,GoogleLeNet 在 VGG 初始上參數調整的
ResNet 微軟 152 層,這么深,能訓練成功已經很困難了
在某個深度上,能完整訓練出來,在這個問題上不好 ,在別的問題上可能效果好
|
為什么卷積神經網絡強大 |
卷積神經網絡的本質還是在發揮神經網絡的功能,是 FC 網絡的 簡化
只是:
1. 計算力上去了
2. 而且技巧性的降低了復雜度,使用:局部連接 + 參數共享,使得參數降低
|
確定矩形 |
x,y,w,h
這個四元組 可以確定一個矩形,而不是使用 4個二元組的方式
|
關於 classification + localization 的問題 |
1. 先找 AlexNet ,分別接上 classification head 和 regression head 進行 fine tune 一下
2. 對於然后 使用的損失函數是 L2 norm,而不是cos 角,因為cos 僅僅表示夾角,而這里如果對 ,x, y, w, h 作伸縮,那么是有問題的 ,所以只能歐氏距離
3. 輸出的時候,可以 前面的共用,輸出有兩個頭,節省預測的時間,如下圖:
![]() ![]()
4. 進一步擴展,可以對每一個類進行 localization,不管這個類的概率是大是小
假如分類的head 有 C 個類,那么 regression head 的輸出是 C*4 個數值
其中,這個 C*4 的數值就是 result ,只要有監督就可以了
雖然比較個性化,可視化好,但是 預測值增多,提升了難度
5. 回歸層的位置
![]() ![]()
最后一個conv層之后 或者 FC 層之后都是可以的
|
關於精細化的 classification + localization 的問題 |
關於 精細化的 貓的鼻子耳朵眼睛都探測出來,此時的問題還不是object-detection
因為有幾個主體是知道的,而 object-detection 有幾個主體是不知道的
所以可以分別單獨訓練,多跑幾個localization,分別針對鼻子眼睛等等獨立的訓練
而對於 deep pose,姿勢探測,主要是 確定了人的關節點,有幾個關節點也是確定的,可以單獨訓練,多跑幾遍,然后信息組合,得出此時的姿勢的結論
|
object detection | 因為不知道有多少個主體,所以要:滑動窗口的方式,然后針對每一個窗口進行 classification + localization 的問題 |
R-CNN的 過程 |
1. 從 AlexNet 開始配置一個網絡,認為AlexNet 已經幫助做好了 特征抽取的工作
2. 訓練過程:將圖像找出很多的候選 region,然后resize 之后 分別 投入你的網絡當中
去 get 到這個圖片的 feature
3. 然后使用一個 SVM 判斷 這些region 圖片的feature,是否是 含有主體的圖片
有幾個主體,就要訓練幾個 SVM
|
fast R-CNN的 過程 |
不再是每一個區域都輸入網絡得到其 feature,而是整個圖片輸入網絡得到一個大的 ALL_feature
然后 各個 region 從原始圖到 ALL_feature 上有一個映射,從這個 ALL_feature 中找出自己region 的 feature
優點
1. 特征抽取時間加速了,不必有多少個 region 就要過多少次網絡
2. 原始 AlexNet 也在 fine-tune,而不是 freeze 住了
3. 不必將特征存盤,而是用一個系統在跑
# 即不用 pipeline 了
|
faster R-CNN的 過程 |
不再使用 selective search 的方法找候選區域了,
而是 使用 一個層 RPN 來找出候選區域
且不是在原始圖像上找而是在conv5上面找 ,這是更快的原因
以前是 selective search的方法 找候選區域
但是這個慢,且沒有用用到GPU上
|
怎么找 候選的 region |
不能全部遍歷式的找region,思路就是先 找出一些 邊緣 ,確定一下 候選區域 region
然后再測試:
至於確定這些 region 邊緣檢測,那么可以基於像素等使用kmeans,
然后將其擴展為一個方框,這些方框之間可以有重疊
|
對 linear svm 認識 |
SVM 可以使用linear svm 來分類比較快 ,即不要用Kernel
linear svm 就是線性分類器的速度
|
選取哪里作為 圖像的特征表示 |
一般使用的方法時FC層之后的作為特征表示,因為認為經過卷積之后,信息損失,這個FC有信息還原
但是如果 FC 之后的feature 太大,所以用 最后一個 pool 層的結果來表示
|
參數共享 |
這個的 fastRCNN
就是相當於 卷積大小是1,連接數目沒減,主要使用的是 Wi——>W
就是:參數共享,參數已經很少了,但是連接數沒變
全連接層是費時間的主要原因
|
bbox regression | bounding box |
R-CNN |
其思想就是 分成很多區域,然后一一處理這些區域,這應該就是 Region 的含義
只不過不是針對每個 原始圖片region,而是處理其對應的feature
RCNN 主要是在訓練最后一個分類層,前面的 CNN freeze 了,而 fast-CNN 同時訓練前面的CNN
|