'計算機視覺中如何解決多尺度的問題'

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

計算機視覺中如何解決多尺度的問題

如上展示了3個尺度的圖像,如果要完成的任務只是判斷圖中是否有前景,那麼12×8的圖像尺度就足夠了。如果要完成的任務是識別圖中的水果種類,那麼64×48的尺度也能勉強完成。如果要完成的任務是後期合成該圖像的景深,則需要更高分辨率的圖像,比如640×480。

1.2 圖像金字塔

多尺度的信號實際上已經包含了不同的特徵,為了獲取更加強大的特徵表達,在傳統圖像處理算法中,有一個很重要的概念,即圖像金字塔和高斯金字塔。

圖像金字塔,即一組不同分辨率的圖像,如下圖,

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

計算機視覺中如何解決多尺度的問題

如上展示了3個尺度的圖像,如果要完成的任務只是判斷圖中是否有前景,那麼12×8的圖像尺度就足夠了。如果要完成的任務是識別圖中的水果種類,那麼64×48的尺度也能勉強完成。如果要完成的任務是後期合成該圖像的景深,則需要更高分辨率的圖像,比如640×480。

1.2 圖像金字塔

多尺度的信號實際上已經包含了不同的特徵,為了獲取更加強大的特徵表達,在傳統圖像處理算法中,有一個很重要的概念,即圖像金字塔和高斯金字塔。

圖像金字塔,即一組不同分辨率的圖像,如下圖,

計算機視覺中如何解決多尺度的問題

圖像金字塔

採樣的方式可以是不重疊或者重疊的,如果是不重疊的,採樣尺度因子為2,那就是每增加一層,行列分辨率為原來的1/2。

當然,為了滿足採樣定理,每一個採樣層還需要配合平滑濾波器,因此更常用的就是高斯金字塔,每一層內用了不同的平滑參數,在經典的圖像算子SIFT中被使用。

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

計算機視覺中如何解決多尺度的問題

如上展示了3個尺度的圖像,如果要完成的任務只是判斷圖中是否有前景,那麼12×8的圖像尺度就足夠了。如果要完成的任務是識別圖中的水果種類,那麼64×48的尺度也能勉強完成。如果要完成的任務是後期合成該圖像的景深,則需要更高分辨率的圖像,比如640×480。

1.2 圖像金字塔

多尺度的信號實際上已經包含了不同的特徵,為了獲取更加強大的特徵表達,在傳統圖像處理算法中,有一個很重要的概念,即圖像金字塔和高斯金字塔。

圖像金字塔,即一組不同分辨率的圖像,如下圖,

計算機視覺中如何解決多尺度的問題

圖像金字塔

採樣的方式可以是不重疊或者重疊的,如果是不重疊的,採樣尺度因子為2,那就是每增加一層,行列分辨率為原來的1/2。

當然,為了滿足採樣定理,每一個採樣層還需要配合平滑濾波器,因此更常用的就是高斯金字塔,每一層內用了不同的平滑參數,在經典的圖像算子SIFT中被使用。

計算機視覺中如何解決多尺度的問題

高斯金字塔

不過這不是本文要聚焦的內容,請大家去自行了解尺度空間理論,接下來聚焦計算機視覺中的多尺度模型設計。

2 計算機視覺中的多尺度模型架構

卷積神經網絡通過逐層抽象的方式來提取目標的特徵,其中一個重要的概念就是感受野。如果感受野太小,則只能觀察到局部的特徵,如果感受野太大,則獲取了過多的無效信息,因此研究人員一直都在設計各種各樣的多尺度模型架構,主要是圖像金字塔和特徵金字塔兩種方案,但是具體的網絡結構可以分為以下幾種:(1) 多尺度輸入。(2) 多尺度特徵融合。(3) 多尺度特徵預測融合。(4) 以上方法的組合。

2.1 多尺度輸入網絡

顧名思義,就是使用多個尺度的圖像輸入(圖像金字塔),然後將其結果進行融合,傳統的人臉檢測算法V-J框架就採用了這樣的思路。

深度學習中模型以MTCNN[1]人臉檢測算法為代表,其流程如下,在第一步檢測PNet中就使用了多個分辨率的輸入,各個分辨率的預測結果(檢測框)一起作為RNet的輸入。

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

計算機視覺中如何解決多尺度的問題

如上展示了3個尺度的圖像,如果要完成的任務只是判斷圖中是否有前景,那麼12×8的圖像尺度就足夠了。如果要完成的任務是識別圖中的水果種類,那麼64×48的尺度也能勉強完成。如果要完成的任務是後期合成該圖像的景深,則需要更高分辨率的圖像,比如640×480。

1.2 圖像金字塔

多尺度的信號實際上已經包含了不同的特徵,為了獲取更加強大的特徵表達,在傳統圖像處理算法中,有一個很重要的概念,即圖像金字塔和高斯金字塔。

圖像金字塔,即一組不同分辨率的圖像,如下圖,

計算機視覺中如何解決多尺度的問題

圖像金字塔

採樣的方式可以是不重疊或者重疊的,如果是不重疊的,採樣尺度因子為2,那就是每增加一層,行列分辨率為原來的1/2。

當然,為了滿足採樣定理,每一個採樣層還需要配合平滑濾波器,因此更常用的就是高斯金字塔,每一層內用了不同的平滑參數,在經典的圖像算子SIFT中被使用。

計算機視覺中如何解決多尺度的問題

高斯金字塔

不過這不是本文要聚焦的內容,請大家去自行了解尺度空間理論,接下來聚焦計算機視覺中的多尺度模型設計。

2 計算機視覺中的多尺度模型架構

卷積神經網絡通過逐層抽象的方式來提取目標的特徵,其中一個重要的概念就是感受野。如果感受野太小,則只能觀察到局部的特徵,如果感受野太大,則獲取了過多的無效信息,因此研究人員一直都在設計各種各樣的多尺度模型架構,主要是圖像金字塔和特徵金字塔兩種方案,但是具體的網絡結構可以分為以下幾種:(1) 多尺度輸入。(2) 多尺度特徵融合。(3) 多尺度特徵預測融合。(4) 以上方法的組合。

2.1 多尺度輸入網絡

顧名思義,就是使用多個尺度的圖像輸入(圖像金字塔),然後將其結果進行融合,傳統的人臉檢測算法V-J框架就採用了這樣的思路。

深度學習中模型以MTCNN[1]人臉檢測算法為代表,其流程如下,在第一步檢測PNet中就使用了多個分辨率的輸入,各個分辨率的預測結果(檢測框)一起作為RNet的輸入。

計算機視覺中如何解決多尺度的問題

值得一提的是,多尺度模型集成的方案在提高分類任務模型性能方面是不可或缺的,許多的模型僅僅採用多個尺度的預測結果進行平均值融合,就能在ImageNet等任務中提升2%以上的性能。

2.2 多尺度特徵融合網絡

多尺度特徵融合網絡常見的有兩種,第一種是並行多分支網絡,第二種是串行的跳層連接結構都是在不同的感受野下進行特徵提取

(1) 並行多分支結構

比如Inception網絡中的Inception基本模塊,包括有四個並行的分支結構,分別是1×1卷積,3×3卷積,5×5卷積,3×3最大池化,最後對四個通道進行組合。

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

計算機視覺中如何解決多尺度的問題

如上展示了3個尺度的圖像,如果要完成的任務只是判斷圖中是否有前景,那麼12×8的圖像尺度就足夠了。如果要完成的任務是識別圖中的水果種類,那麼64×48的尺度也能勉強完成。如果要完成的任務是後期合成該圖像的景深,則需要更高分辨率的圖像,比如640×480。

1.2 圖像金字塔

多尺度的信號實際上已經包含了不同的特徵,為了獲取更加強大的特徵表達,在傳統圖像處理算法中,有一個很重要的概念,即圖像金字塔和高斯金字塔。

圖像金字塔,即一組不同分辨率的圖像,如下圖,

計算機視覺中如何解決多尺度的問題

圖像金字塔

採樣的方式可以是不重疊或者重疊的,如果是不重疊的,採樣尺度因子為2,那就是每增加一層,行列分辨率為原來的1/2。

當然,為了滿足採樣定理,每一個採樣層還需要配合平滑濾波器,因此更常用的就是高斯金字塔,每一層內用了不同的平滑參數,在經典的圖像算子SIFT中被使用。

計算機視覺中如何解決多尺度的問題

高斯金字塔

不過這不是本文要聚焦的內容,請大家去自行了解尺度空間理論,接下來聚焦計算機視覺中的多尺度模型設計。

2 計算機視覺中的多尺度模型架構

卷積神經網絡通過逐層抽象的方式來提取目標的特徵,其中一個重要的概念就是感受野。如果感受野太小,則只能觀察到局部的特徵,如果感受野太大,則獲取了過多的無效信息,因此研究人員一直都在設計各種各樣的多尺度模型架構,主要是圖像金字塔和特徵金字塔兩種方案,但是具體的網絡結構可以分為以下幾種:(1) 多尺度輸入。(2) 多尺度特徵融合。(3) 多尺度特徵預測融合。(4) 以上方法的組合。

2.1 多尺度輸入網絡

顧名思義,就是使用多個尺度的圖像輸入(圖像金字塔),然後將其結果進行融合,傳統的人臉檢測算法V-J框架就採用了這樣的思路。

深度學習中模型以MTCNN[1]人臉檢測算法為代表,其流程如下,在第一步檢測PNet中就使用了多個分辨率的輸入,各個分辨率的預測結果(檢測框)一起作為RNet的輸入。

計算機視覺中如何解決多尺度的問題

值得一提的是,多尺度模型集成的方案在提高分類任務模型性能方面是不可或缺的,許多的模型僅僅採用多個尺度的預測結果進行平均值融合,就能在ImageNet等任務中提升2%以上的性能。

2.2 多尺度特徵融合網絡

多尺度特徵融合網絡常見的有兩種,第一種是並行多分支網絡,第二種是串行的跳層連接結構都是在不同的感受野下進行特徵提取

(1) 並行多分支結構

比如Inception網絡中的Inception基本模塊,包括有四個並行的分支結構,分別是1×1卷積,3×3卷積,5×5卷積,3×3最大池化,最後對四個通道進行組合。

計算機視覺中如何解決多尺度的問題

除了更高卷積核大小,還可以使用帶孔卷積來控制感受野。在圖像分割網絡Deeplab V3[2]和目標檢測網絡trident networks[3]中都使用了這樣的策略,網絡結構如下圖:

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

計算機視覺中如何解決多尺度的問題

如上展示了3個尺度的圖像,如果要完成的任務只是判斷圖中是否有前景,那麼12×8的圖像尺度就足夠了。如果要完成的任務是識別圖中的水果種類,那麼64×48的尺度也能勉強完成。如果要完成的任務是後期合成該圖像的景深,則需要更高分辨率的圖像,比如640×480。

1.2 圖像金字塔

多尺度的信號實際上已經包含了不同的特徵,為了獲取更加強大的特徵表達,在傳統圖像處理算法中,有一個很重要的概念,即圖像金字塔和高斯金字塔。

圖像金字塔,即一組不同分辨率的圖像,如下圖,

計算機視覺中如何解決多尺度的問題

圖像金字塔

採樣的方式可以是不重疊或者重疊的,如果是不重疊的,採樣尺度因子為2,那就是每增加一層,行列分辨率為原來的1/2。

當然,為了滿足採樣定理,每一個採樣層還需要配合平滑濾波器,因此更常用的就是高斯金字塔,每一層內用了不同的平滑參數,在經典的圖像算子SIFT中被使用。

計算機視覺中如何解決多尺度的問題

高斯金字塔

不過這不是本文要聚焦的內容,請大家去自行了解尺度空間理論,接下來聚焦計算機視覺中的多尺度模型設計。

2 計算機視覺中的多尺度模型架構

卷積神經網絡通過逐層抽象的方式來提取目標的特徵,其中一個重要的概念就是感受野。如果感受野太小,則只能觀察到局部的特徵,如果感受野太大,則獲取了過多的無效信息,因此研究人員一直都在設計各種各樣的多尺度模型架構,主要是圖像金字塔和特徵金字塔兩種方案,但是具體的網絡結構可以分為以下幾種:(1) 多尺度輸入。(2) 多尺度特徵融合。(3) 多尺度特徵預測融合。(4) 以上方法的組合。

2.1 多尺度輸入網絡

顧名思義,就是使用多個尺度的圖像輸入(圖像金字塔),然後將其結果進行融合,傳統的人臉檢測算法V-J框架就採用了這樣的思路。

深度學習中模型以MTCNN[1]人臉檢測算法為代表,其流程如下,在第一步檢測PNet中就使用了多個分辨率的輸入,各個分辨率的預測結果(檢測框)一起作為RNet的輸入。

計算機視覺中如何解決多尺度的問題

值得一提的是,多尺度模型集成的方案在提高分類任務模型性能方面是不可或缺的,許多的模型僅僅採用多個尺度的預測結果進行平均值融合,就能在ImageNet等任務中提升2%以上的性能。

2.2 多尺度特徵融合網絡

多尺度特徵融合網絡常見的有兩種,第一種是並行多分支網絡,第二種是串行的跳層連接結構都是在不同的感受野下進行特徵提取

(1) 並行多分支結構

比如Inception網絡中的Inception基本模塊,包括有四個並行的分支結構,分別是1×1卷積,3×3卷積,5×5卷積,3×3最大池化,最後對四個通道進行組合。

計算機視覺中如何解決多尺度的問題

除了更高卷積核大小,還可以使用帶孔卷積來控制感受野。在圖像分割網絡Deeplab V3[2]和目標檢測網絡trident networks[3]中都使用了這樣的策略,網絡結構如下圖:

計算機視覺中如何解決多尺度的問題

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

計算機視覺中如何解決多尺度的問題

如上展示了3個尺度的圖像,如果要完成的任務只是判斷圖中是否有前景,那麼12×8的圖像尺度就足夠了。如果要完成的任務是識別圖中的水果種類,那麼64×48的尺度也能勉強完成。如果要完成的任務是後期合成該圖像的景深,則需要更高分辨率的圖像,比如640×480。

1.2 圖像金字塔

多尺度的信號實際上已經包含了不同的特徵,為了獲取更加強大的特徵表達,在傳統圖像處理算法中,有一個很重要的概念,即圖像金字塔和高斯金字塔。

圖像金字塔,即一組不同分辨率的圖像,如下圖,

計算機視覺中如何解決多尺度的問題

圖像金字塔

採樣的方式可以是不重疊或者重疊的,如果是不重疊的,採樣尺度因子為2,那就是每增加一層,行列分辨率為原來的1/2。

當然,為了滿足採樣定理,每一個採樣層還需要配合平滑濾波器,因此更常用的就是高斯金字塔,每一層內用了不同的平滑參數,在經典的圖像算子SIFT中被使用。

計算機視覺中如何解決多尺度的問題

高斯金字塔

不過這不是本文要聚焦的內容,請大家去自行了解尺度空間理論,接下來聚焦計算機視覺中的多尺度模型設計。

2 計算機視覺中的多尺度模型架構

卷積神經網絡通過逐層抽象的方式來提取目標的特徵,其中一個重要的概念就是感受野。如果感受野太小,則只能觀察到局部的特徵,如果感受野太大,則獲取了過多的無效信息,因此研究人員一直都在設計各種各樣的多尺度模型架構,主要是圖像金字塔和特徵金字塔兩種方案,但是具體的網絡結構可以分為以下幾種:(1) 多尺度輸入。(2) 多尺度特徵融合。(3) 多尺度特徵預測融合。(4) 以上方法的組合。

2.1 多尺度輸入網絡

顧名思義,就是使用多個尺度的圖像輸入(圖像金字塔),然後將其結果進行融合,傳統的人臉檢測算法V-J框架就採用了這樣的思路。

深度學習中模型以MTCNN[1]人臉檢測算法為代表,其流程如下,在第一步檢測PNet中就使用了多個分辨率的輸入,各個分辨率的預測結果(檢測框)一起作為RNet的輸入。

計算機視覺中如何解決多尺度的問題

值得一提的是,多尺度模型集成的方案在提高分類任務模型性能方面是不可或缺的,許多的模型僅僅採用多個尺度的預測結果進行平均值融合,就能在ImageNet等任務中提升2%以上的性能。

2.2 多尺度特徵融合網絡

多尺度特徵融合網絡常見的有兩種,第一種是並行多分支網絡,第二種是串行的跳層連接結構都是在不同的感受野下進行特徵提取

(1) 並行多分支結構

比如Inception網絡中的Inception基本模塊,包括有四個並行的分支結構,分別是1×1卷積,3×3卷積,5×5卷積,3×3最大池化,最後對四個通道進行組合。

計算機視覺中如何解決多尺度的問題

除了更高卷積核大小,還可以使用帶孔卷積來控制感受野。在圖像分割網絡Deeplab V3[2]和目標檢測網絡trident networks[3]中都使用了這樣的策略,網絡結構如下圖:

計算機視覺中如何解決多尺度的問題

計算機視覺中如何解決多尺度的問題

還有一種比不同大小的卷積核和帶孔卷積計算代價更低的控制感受野的方法,即直接使用不同大小的池化操作,被PSPNet[4]採用。

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

計算機視覺中如何解決多尺度的問題

如上展示了3個尺度的圖像,如果要完成的任務只是判斷圖中是否有前景,那麼12×8的圖像尺度就足夠了。如果要完成的任務是識別圖中的水果種類,那麼64×48的尺度也能勉強完成。如果要完成的任務是後期合成該圖像的景深,則需要更高分辨率的圖像,比如640×480。

1.2 圖像金字塔

多尺度的信號實際上已經包含了不同的特徵,為了獲取更加強大的特徵表達,在傳統圖像處理算法中,有一個很重要的概念,即圖像金字塔和高斯金字塔。

圖像金字塔,即一組不同分辨率的圖像,如下圖,

計算機視覺中如何解決多尺度的問題

圖像金字塔

採樣的方式可以是不重疊或者重疊的,如果是不重疊的,採樣尺度因子為2,那就是每增加一層,行列分辨率為原來的1/2。

當然,為了滿足採樣定理,每一個採樣層還需要配合平滑濾波器,因此更常用的就是高斯金字塔,每一層內用了不同的平滑參數,在經典的圖像算子SIFT中被使用。

計算機視覺中如何解決多尺度的問題

高斯金字塔

不過這不是本文要聚焦的內容,請大家去自行了解尺度空間理論,接下來聚焦計算機視覺中的多尺度模型設計。

2 計算機視覺中的多尺度模型架構

卷積神經網絡通過逐層抽象的方式來提取目標的特徵,其中一個重要的概念就是感受野。如果感受野太小,則只能觀察到局部的特徵,如果感受野太大,則獲取了過多的無效信息,因此研究人員一直都在設計各種各樣的多尺度模型架構,主要是圖像金字塔和特徵金字塔兩種方案,但是具體的網絡結構可以分為以下幾種:(1) 多尺度輸入。(2) 多尺度特徵融合。(3) 多尺度特徵預測融合。(4) 以上方法的組合。

2.1 多尺度輸入網絡

顧名思義,就是使用多個尺度的圖像輸入(圖像金字塔),然後將其結果進行融合,傳統的人臉檢測算法V-J框架就採用了這樣的思路。

深度學習中模型以MTCNN[1]人臉檢測算法為代表,其流程如下,在第一步檢測PNet中就使用了多個分辨率的輸入,各個分辨率的預測結果(檢測框)一起作為RNet的輸入。

計算機視覺中如何解決多尺度的問題

值得一提的是,多尺度模型集成的方案在提高分類任務模型性能方面是不可或缺的,許多的模型僅僅採用多個尺度的預測結果進行平均值融合,就能在ImageNet等任務中提升2%以上的性能。

2.2 多尺度特徵融合網絡

多尺度特徵融合網絡常見的有兩種,第一種是並行多分支網絡,第二種是串行的跳層連接結構都是在不同的感受野下進行特徵提取

(1) 並行多分支結構

比如Inception網絡中的Inception基本模塊,包括有四個並行的分支結構,分別是1×1卷積,3×3卷積,5×5卷積,3×3最大池化,最後對四個通道進行組合。

計算機視覺中如何解決多尺度的問題

除了更高卷積核大小,還可以使用帶孔卷積來控制感受野。在圖像分割網絡Deeplab V3[2]和目標檢測網絡trident networks[3]中都使用了這樣的策略,網絡結構如下圖:

計算機視覺中如何解決多尺度的問題

計算機視覺中如何解決多尺度的問題

還有一種比不同大小的卷積核和帶孔卷積計算代價更低的控制感受野的方法,即直接使用不同大小的池化操作,被PSPNet[4]採用。

計算機視覺中如何解決多尺度的問題

值得注意的是,這樣的結構對於模型壓縮也是有益處的,以Big-little Net[5]為代表,它採用不同的尺度對信息進行處理。

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

計算機視覺中如何解決多尺度的問題

如上展示了3個尺度的圖像,如果要完成的任務只是判斷圖中是否有前景,那麼12×8的圖像尺度就足夠了。如果要完成的任務是識別圖中的水果種類,那麼64×48的尺度也能勉強完成。如果要完成的任務是後期合成該圖像的景深,則需要更高分辨率的圖像,比如640×480。

1.2 圖像金字塔

多尺度的信號實際上已經包含了不同的特徵,為了獲取更加強大的特徵表達,在傳統圖像處理算法中,有一個很重要的概念,即圖像金字塔和高斯金字塔。

圖像金字塔,即一組不同分辨率的圖像,如下圖,

計算機視覺中如何解決多尺度的問題

圖像金字塔

採樣的方式可以是不重疊或者重疊的,如果是不重疊的,採樣尺度因子為2,那就是每增加一層,行列分辨率為原來的1/2。

當然,為了滿足採樣定理,每一個採樣層還需要配合平滑濾波器,因此更常用的就是高斯金字塔,每一層內用了不同的平滑參數,在經典的圖像算子SIFT中被使用。

計算機視覺中如何解決多尺度的問題

高斯金字塔

不過這不是本文要聚焦的內容,請大家去自行了解尺度空間理論,接下來聚焦計算機視覺中的多尺度模型設計。

2 計算機視覺中的多尺度模型架構

卷積神經網絡通過逐層抽象的方式來提取目標的特徵,其中一個重要的概念就是感受野。如果感受野太小,則只能觀察到局部的特徵,如果感受野太大,則獲取了過多的無效信息,因此研究人員一直都在設計各種各樣的多尺度模型架構,主要是圖像金字塔和特徵金字塔兩種方案,但是具體的網絡結構可以分為以下幾種:(1) 多尺度輸入。(2) 多尺度特徵融合。(3) 多尺度特徵預測融合。(4) 以上方法的組合。

2.1 多尺度輸入網絡

顧名思義,就是使用多個尺度的圖像輸入(圖像金字塔),然後將其結果進行融合,傳統的人臉檢測算法V-J框架就採用了這樣的思路。

深度學習中模型以MTCNN[1]人臉檢測算法為代表,其流程如下,在第一步檢測PNet中就使用了多個分辨率的輸入,各個分辨率的預測結果(檢測框)一起作為RNet的輸入。

計算機視覺中如何解決多尺度的問題

值得一提的是,多尺度模型集成的方案在提高分類任務模型性能方面是不可或缺的,許多的模型僅僅採用多個尺度的預測結果進行平均值融合,就能在ImageNet等任務中提升2%以上的性能。

2.2 多尺度特徵融合網絡

多尺度特徵融合網絡常見的有兩種,第一種是並行多分支網絡,第二種是串行的跳層連接結構都是在不同的感受野下進行特徵提取

(1) 並行多分支結構

比如Inception網絡中的Inception基本模塊,包括有四個並行的分支結構,分別是1×1卷積,3×3卷積,5×5卷積,3×3最大池化,最後對四個通道進行組合。

計算機視覺中如何解決多尺度的問題

除了更高卷積核大小,還可以使用帶孔卷積來控制感受野。在圖像分割網絡Deeplab V3[2]和目標檢測網絡trident networks[3]中都使用了這樣的策略,網絡結構如下圖:

計算機視覺中如何解決多尺度的問題

計算機視覺中如何解決多尺度的問題

還有一種比不同大小的卷積核和帶孔卷積計算代價更低的控制感受野的方法,即直接使用不同大小的池化操作,被PSPNet[4]採用。

計算機視覺中如何解決多尺度的問題

值得注意的是,這樣的結構對於模型壓縮也是有益處的,以Big-little Net[5]為代表,它採用不同的尺度對信息進行處理。

計算機視覺中如何解決多尺度的問題

對於分辨率大的分支,使用更少的卷積通道,對於分辨率小的分支,使用更多的卷積通道,這樣的方案能夠更加充分地使用通道信息。

(2) 串行多分支結構

串行的多尺度特徵結構以FCN[6]為代表,需要通過跳層連接來實現特徵組合,這樣的結構在圖像分割/目標檢測任務中是非常常見的。

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

計算機視覺中如何解決多尺度的問題

如上展示了3個尺度的圖像,如果要完成的任務只是判斷圖中是否有前景,那麼12×8的圖像尺度就足夠了。如果要完成的任務是識別圖中的水果種類,那麼64×48的尺度也能勉強完成。如果要完成的任務是後期合成該圖像的景深,則需要更高分辨率的圖像,比如640×480。

1.2 圖像金字塔

多尺度的信號實際上已經包含了不同的特徵,為了獲取更加強大的特徵表達,在傳統圖像處理算法中,有一個很重要的概念,即圖像金字塔和高斯金字塔。

圖像金字塔,即一組不同分辨率的圖像,如下圖,

計算機視覺中如何解決多尺度的問題

圖像金字塔

採樣的方式可以是不重疊或者重疊的,如果是不重疊的,採樣尺度因子為2,那就是每增加一層,行列分辨率為原來的1/2。

當然,為了滿足採樣定理,每一個採樣層還需要配合平滑濾波器,因此更常用的就是高斯金字塔,每一層內用了不同的平滑參數,在經典的圖像算子SIFT中被使用。

計算機視覺中如何解決多尺度的問題

高斯金字塔

不過這不是本文要聚焦的內容,請大家去自行了解尺度空間理論,接下來聚焦計算機視覺中的多尺度模型設計。

2 計算機視覺中的多尺度模型架構

卷積神經網絡通過逐層抽象的方式來提取目標的特徵,其中一個重要的概念就是感受野。如果感受野太小,則只能觀察到局部的特徵,如果感受野太大,則獲取了過多的無效信息,因此研究人員一直都在設計各種各樣的多尺度模型架構,主要是圖像金字塔和特徵金字塔兩種方案,但是具體的網絡結構可以分為以下幾種:(1) 多尺度輸入。(2) 多尺度特徵融合。(3) 多尺度特徵預測融合。(4) 以上方法的組合。

2.1 多尺度輸入網絡

顧名思義,就是使用多個尺度的圖像輸入(圖像金字塔),然後將其結果進行融合,傳統的人臉檢測算法V-J框架就採用了這樣的思路。

深度學習中模型以MTCNN[1]人臉檢測算法為代表,其流程如下,在第一步檢測PNet中就使用了多個分辨率的輸入,各個分辨率的預測結果(檢測框)一起作為RNet的輸入。

計算機視覺中如何解決多尺度的問題

值得一提的是,多尺度模型集成的方案在提高分類任務模型性能方面是不可或缺的,許多的模型僅僅採用多個尺度的預測結果進行平均值融合,就能在ImageNet等任務中提升2%以上的性能。

2.2 多尺度特徵融合網絡

多尺度特徵融合網絡常見的有兩種,第一種是並行多分支網絡,第二種是串行的跳層連接結構都是在不同的感受野下進行特徵提取

(1) 並行多分支結構

比如Inception網絡中的Inception基本模塊,包括有四個並行的分支結構,分別是1×1卷積,3×3卷積,5×5卷積,3×3最大池化,最後對四個通道進行組合。

計算機視覺中如何解決多尺度的問題

除了更高卷積核大小,還可以使用帶孔卷積來控制感受野。在圖像分割網絡Deeplab V3[2]和目標檢測網絡trident networks[3]中都使用了這樣的策略,網絡結構如下圖:

計算機視覺中如何解決多尺度的問題

計算機視覺中如何解決多尺度的問題

還有一種比不同大小的卷積核和帶孔卷積計算代價更低的控制感受野的方法,即直接使用不同大小的池化操作,被PSPNet[4]採用。

計算機視覺中如何解決多尺度的問題

值得注意的是,這樣的結構對於模型壓縮也是有益處的,以Big-little Net[5]為代表,它採用不同的尺度對信息進行處理。

計算機視覺中如何解決多尺度的問題

對於分辨率大的分支,使用更少的卷積通道,對於分辨率小的分支,使用更多的卷積通道,這樣的方案能夠更加充分地使用通道信息。

(2) 串行多分支結構

串行的多尺度特徵結構以FCN[6]為代表,需要通過跳層連接來實現特徵組合,這樣的結構在圖像分割/目標檢測任務中是非常常見的。

計算機視覺中如何解決多尺度的問題

從上面這些模型可以看出,並行的結構能夠在同一層級獲取不同感受野的特徵,經過融合後傳遞到下一層,可以更加靈活地平衡計算量和模型能力。串行的結構將不同抽象層級的特徵進行融合,對於邊界敏感的圖像分割任務是不可缺少的。

2.3 多尺度特徵預測融合

即在不同的特徵尺度進行預測,最後將結果進行融合,以目標檢測中的SSD[7]為代表。

SSD在不同stride不同大小的特徵圖上進行預測。低層特徵圖stride較小,尺寸較大,感受野較小,期望能檢測到小目標,高層特徵圖stride較大,尺寸較小,感受野較大,期望能檢測到大目標。

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

計算機視覺中如何解決多尺度的問題

如上展示了3個尺度的圖像,如果要完成的任務只是判斷圖中是否有前景,那麼12×8的圖像尺度就足夠了。如果要完成的任務是識別圖中的水果種類,那麼64×48的尺度也能勉強完成。如果要完成的任務是後期合成該圖像的景深,則需要更高分辨率的圖像,比如640×480。

1.2 圖像金字塔

多尺度的信號實際上已經包含了不同的特徵,為了獲取更加強大的特徵表達,在傳統圖像處理算法中,有一個很重要的概念,即圖像金字塔和高斯金字塔。

圖像金字塔,即一組不同分辨率的圖像,如下圖,

計算機視覺中如何解決多尺度的問題

圖像金字塔

採樣的方式可以是不重疊或者重疊的,如果是不重疊的,採樣尺度因子為2,那就是每增加一層,行列分辨率為原來的1/2。

當然,為了滿足採樣定理,每一個採樣層還需要配合平滑濾波器,因此更常用的就是高斯金字塔,每一層內用了不同的平滑參數,在經典的圖像算子SIFT中被使用。

計算機視覺中如何解決多尺度的問題

高斯金字塔

不過這不是本文要聚焦的內容,請大家去自行了解尺度空間理論,接下來聚焦計算機視覺中的多尺度模型設計。

2 計算機視覺中的多尺度模型架構

卷積神經網絡通過逐層抽象的方式來提取目標的特徵,其中一個重要的概念就是感受野。如果感受野太小,則只能觀察到局部的特徵,如果感受野太大,則獲取了過多的無效信息,因此研究人員一直都在設計各種各樣的多尺度模型架構,主要是圖像金字塔和特徵金字塔兩種方案,但是具體的網絡結構可以分為以下幾種:(1) 多尺度輸入。(2) 多尺度特徵融合。(3) 多尺度特徵預測融合。(4) 以上方法的組合。

2.1 多尺度輸入網絡

顧名思義,就是使用多個尺度的圖像輸入(圖像金字塔),然後將其結果進行融合,傳統的人臉檢測算法V-J框架就採用了這樣的思路。

深度學習中模型以MTCNN[1]人臉檢測算法為代表,其流程如下,在第一步檢測PNet中就使用了多個分辨率的輸入,各個分辨率的預測結果(檢測框)一起作為RNet的輸入。

計算機視覺中如何解決多尺度的問題

值得一提的是,多尺度模型集成的方案在提高分類任務模型性能方面是不可或缺的,許多的模型僅僅採用多個尺度的預測結果進行平均值融合,就能在ImageNet等任務中提升2%以上的性能。

2.2 多尺度特徵融合網絡

多尺度特徵融合網絡常見的有兩種,第一種是並行多分支網絡,第二種是串行的跳層連接結構都是在不同的感受野下進行特徵提取

(1) 並行多分支結構

比如Inception網絡中的Inception基本模塊,包括有四個並行的分支結構,分別是1×1卷積,3×3卷積,5×5卷積,3×3最大池化,最後對四個通道進行組合。

計算機視覺中如何解決多尺度的問題

除了更高卷積核大小,還可以使用帶孔卷積來控制感受野。在圖像分割網絡Deeplab V3[2]和目標檢測網絡trident networks[3]中都使用了這樣的策略,網絡結構如下圖:

計算機視覺中如何解決多尺度的問題

計算機視覺中如何解決多尺度的問題

還有一種比不同大小的卷積核和帶孔卷積計算代價更低的控制感受野的方法,即直接使用不同大小的池化操作,被PSPNet[4]採用。

計算機視覺中如何解決多尺度的問題

值得注意的是,這樣的結構對於模型壓縮也是有益處的,以Big-little Net[5]為代表,它採用不同的尺度對信息進行處理。

計算機視覺中如何解決多尺度的問題

對於分辨率大的分支,使用更少的卷積通道,對於分辨率小的分支,使用更多的卷積通道,這樣的方案能夠更加充分地使用通道信息。

(2) 串行多分支結構

串行的多尺度特徵結構以FCN[6]為代表,需要通過跳層連接來實現特徵組合,這樣的結構在圖像分割/目標檢測任務中是非常常見的。

計算機視覺中如何解決多尺度的問題

從上面這些模型可以看出,並行的結構能夠在同一層級獲取不同感受野的特徵,經過融合後傳遞到下一層,可以更加靈活地平衡計算量和模型能力。串行的結構將不同抽象層級的特徵進行融合,對於邊界敏感的圖像分割任務是不可缺少的。

2.3 多尺度特徵預測融合

即在不同的特徵尺度進行預測,最後將結果進行融合,以目標檢測中的SSD[7]為代表。

SSD在不同stride不同大小的特徵圖上進行預測。低層特徵圖stride較小,尺寸較大,感受野較小,期望能檢測到小目標,高層特徵圖stride較大,尺寸較小,感受野較大,期望能檢測到大目標。

計算機視覺中如何解決多尺度的問題

類似的思想還有SSH[8],從分辨率較大的特徵圖開始分為多個分支,然後各個分支單獨預測不同尺度大小的目標。

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

計算機視覺中如何解決多尺度的問題

如上展示了3個尺度的圖像,如果要完成的任務只是判斷圖中是否有前景,那麼12×8的圖像尺度就足夠了。如果要完成的任務是識別圖中的水果種類,那麼64×48的尺度也能勉強完成。如果要完成的任務是後期合成該圖像的景深,則需要更高分辨率的圖像,比如640×480。

1.2 圖像金字塔

多尺度的信號實際上已經包含了不同的特徵,為了獲取更加強大的特徵表達,在傳統圖像處理算法中,有一個很重要的概念,即圖像金字塔和高斯金字塔。

圖像金字塔,即一組不同分辨率的圖像,如下圖,

計算機視覺中如何解決多尺度的問題

圖像金字塔

採樣的方式可以是不重疊或者重疊的,如果是不重疊的,採樣尺度因子為2,那就是每增加一層,行列分辨率為原來的1/2。

當然,為了滿足採樣定理,每一個採樣層還需要配合平滑濾波器,因此更常用的就是高斯金字塔,每一層內用了不同的平滑參數,在經典的圖像算子SIFT中被使用。

計算機視覺中如何解決多尺度的問題

高斯金字塔

不過這不是本文要聚焦的內容,請大家去自行了解尺度空間理論,接下來聚焦計算機視覺中的多尺度模型設計。

2 計算機視覺中的多尺度模型架構

卷積神經網絡通過逐層抽象的方式來提取目標的特徵,其中一個重要的概念就是感受野。如果感受野太小,則只能觀察到局部的特徵,如果感受野太大,則獲取了過多的無效信息,因此研究人員一直都在設計各種各樣的多尺度模型架構,主要是圖像金字塔和特徵金字塔兩種方案,但是具體的網絡結構可以分為以下幾種:(1) 多尺度輸入。(2) 多尺度特徵融合。(3) 多尺度特徵預測融合。(4) 以上方法的組合。

2.1 多尺度輸入網絡

顧名思義,就是使用多個尺度的圖像輸入(圖像金字塔),然後將其結果進行融合,傳統的人臉檢測算法V-J框架就採用了這樣的思路。

深度學習中模型以MTCNN[1]人臉檢測算法為代表,其流程如下,在第一步檢測PNet中就使用了多個分辨率的輸入,各個分辨率的預測結果(檢測框)一起作為RNet的輸入。

計算機視覺中如何解決多尺度的問題

值得一提的是,多尺度模型集成的方案在提高分類任務模型性能方面是不可或缺的,許多的模型僅僅採用多個尺度的預測結果進行平均值融合,就能在ImageNet等任務中提升2%以上的性能。

2.2 多尺度特徵融合網絡

多尺度特徵融合網絡常見的有兩種,第一種是並行多分支網絡,第二種是串行的跳層連接結構都是在不同的感受野下進行特徵提取

(1) 並行多分支結構

比如Inception網絡中的Inception基本模塊,包括有四個並行的分支結構,分別是1×1卷積,3×3卷積,5×5卷積,3×3最大池化,最後對四個通道進行組合。

計算機視覺中如何解決多尺度的問題

除了更高卷積核大小,還可以使用帶孔卷積來控制感受野。在圖像分割網絡Deeplab V3[2]和目標檢測網絡trident networks[3]中都使用了這樣的策略,網絡結構如下圖:

計算機視覺中如何解決多尺度的問題

計算機視覺中如何解決多尺度的問題

還有一種比不同大小的卷積核和帶孔卷積計算代價更低的控制感受野的方法,即直接使用不同大小的池化操作,被PSPNet[4]採用。

計算機視覺中如何解決多尺度的問題

值得注意的是,這樣的結構對於模型壓縮也是有益處的,以Big-little Net[5]為代表,它採用不同的尺度對信息進行處理。

計算機視覺中如何解決多尺度的問題

對於分辨率大的分支,使用更少的卷積通道,對於分辨率小的分支,使用更多的卷積通道,這樣的方案能夠更加充分地使用通道信息。

(2) 串行多分支結構

串行的多尺度特徵結構以FCN[6]為代表,需要通過跳層連接來實現特徵組合,這樣的結構在圖像分割/目標檢測任務中是非常常見的。

計算機視覺中如何解決多尺度的問題

從上面這些模型可以看出,並行的結構能夠在同一層級獲取不同感受野的特徵,經過融合後傳遞到下一層,可以更加靈活地平衡計算量和模型能力。串行的結構將不同抽象層級的特徵進行融合,對於邊界敏感的圖像分割任務是不可缺少的。

2.3 多尺度特徵預測融合

即在不同的特徵尺度進行預測,最後將結果進行融合,以目標檢測中的SSD[7]為代表。

SSD在不同stride不同大小的特徵圖上進行預測。低層特徵圖stride較小,尺寸較大,感受野較小,期望能檢測到小目標,高層特徵圖stride較大,尺寸較小,感受野較大,期望能檢測到大目標。

計算機視覺中如何解決多尺度的問題

類似的思想還有SSH[8],從分辨率較大的特徵圖開始分為多個分支,然後各個分支單獨預測不同尺度大小的目標。

計算機視覺中如何解決多尺度的問題

在多個特徵通道進行預測的思想與多個輸入的方案其實是異曲同工的,但是它的計算效率更高。

2.4 多尺度特徵和預測融合

既然可以將不同尺度的特徵進行融合,也可以在不同的尺度進行預測,為何不同時將這兩種機制一起使用呢?這樣的結構以目標檢測中的FPN[9]為代表。

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

計算機視覺中如何解決多尺度的問題

如上展示了3個尺度的圖像,如果要完成的任務只是判斷圖中是否有前景,那麼12×8的圖像尺度就足夠了。如果要完成的任務是識別圖中的水果種類,那麼64×48的尺度也能勉強完成。如果要完成的任務是後期合成該圖像的景深,則需要更高分辨率的圖像,比如640×480。

1.2 圖像金字塔

多尺度的信號實際上已經包含了不同的特徵,為了獲取更加強大的特徵表達,在傳統圖像處理算法中,有一個很重要的概念,即圖像金字塔和高斯金字塔。

圖像金字塔,即一組不同分辨率的圖像,如下圖,

計算機視覺中如何解決多尺度的問題

圖像金字塔

採樣的方式可以是不重疊或者重疊的,如果是不重疊的,採樣尺度因子為2,那就是每增加一層,行列分辨率為原來的1/2。

當然,為了滿足採樣定理,每一個採樣層還需要配合平滑濾波器,因此更常用的就是高斯金字塔,每一層內用了不同的平滑參數,在經典的圖像算子SIFT中被使用。

計算機視覺中如何解決多尺度的問題

高斯金字塔

不過這不是本文要聚焦的內容,請大家去自行了解尺度空間理論,接下來聚焦計算機視覺中的多尺度模型設計。

2 計算機視覺中的多尺度模型架構

卷積神經網絡通過逐層抽象的方式來提取目標的特徵,其中一個重要的概念就是感受野。如果感受野太小,則只能觀察到局部的特徵,如果感受野太大,則獲取了過多的無效信息,因此研究人員一直都在設計各種各樣的多尺度模型架構,主要是圖像金字塔和特徵金字塔兩種方案,但是具體的網絡結構可以分為以下幾種:(1) 多尺度輸入。(2) 多尺度特徵融合。(3) 多尺度特徵預測融合。(4) 以上方法的組合。

2.1 多尺度輸入網絡

顧名思義,就是使用多個尺度的圖像輸入(圖像金字塔),然後將其結果進行融合,傳統的人臉檢測算法V-J框架就採用了這樣的思路。

深度學習中模型以MTCNN[1]人臉檢測算法為代表,其流程如下,在第一步檢測PNet中就使用了多個分辨率的輸入,各個分辨率的預測結果(檢測框)一起作為RNet的輸入。

計算機視覺中如何解決多尺度的問題

值得一提的是,多尺度模型集成的方案在提高分類任務模型性能方面是不可或缺的,許多的模型僅僅採用多個尺度的預測結果進行平均值融合,就能在ImageNet等任務中提升2%以上的性能。

2.2 多尺度特徵融合網絡

多尺度特徵融合網絡常見的有兩種,第一種是並行多分支網絡,第二種是串行的跳層連接結構都是在不同的感受野下進行特徵提取

(1) 並行多分支結構

比如Inception網絡中的Inception基本模塊,包括有四個並行的分支結構,分別是1×1卷積,3×3卷積,5×5卷積,3×3最大池化,最後對四個通道進行組合。

計算機視覺中如何解決多尺度的問題

除了更高卷積核大小,還可以使用帶孔卷積來控制感受野。在圖像分割網絡Deeplab V3[2]和目標檢測網絡trident networks[3]中都使用了這樣的策略,網絡結構如下圖:

計算機視覺中如何解決多尺度的問題

計算機視覺中如何解決多尺度的問題

還有一種比不同大小的卷積核和帶孔卷積計算代價更低的控制感受野的方法,即直接使用不同大小的池化操作,被PSPNet[4]採用。

計算機視覺中如何解決多尺度的問題

值得注意的是,這樣的結構對於模型壓縮也是有益處的,以Big-little Net[5]為代表,它採用不同的尺度對信息進行處理。

計算機視覺中如何解決多尺度的問題

對於分辨率大的分支,使用更少的卷積通道,對於分辨率小的分支,使用更多的卷積通道,這樣的方案能夠更加充分地使用通道信息。

(2) 串行多分支結構

串行的多尺度特徵結構以FCN[6]為代表,需要通過跳層連接來實現特徵組合,這樣的結構在圖像分割/目標檢測任務中是非常常見的。

計算機視覺中如何解決多尺度的問題

從上面這些模型可以看出,並行的結構能夠在同一層級獲取不同感受野的特徵,經過融合後傳遞到下一層,可以更加靈活地平衡計算量和模型能力。串行的結構將不同抽象層級的特徵進行融合,對於邊界敏感的圖像分割任務是不可缺少的。

2.3 多尺度特徵預測融合

即在不同的特徵尺度進行預測,最後將結果進行融合,以目標檢測中的SSD[7]為代表。

SSD在不同stride不同大小的特徵圖上進行預測。低層特徵圖stride較小,尺寸較大,感受野較小,期望能檢測到小目標,高層特徵圖stride較大,尺寸較小,感受野較大,期望能檢測到大目標。

計算機視覺中如何解決多尺度的問題

類似的思想還有SSH[8],從分辨率較大的特徵圖開始分為多個分支,然後各個分支單獨預測不同尺度大小的目標。

計算機視覺中如何解決多尺度的問題

在多個特徵通道進行預測的思想與多個輸入的方案其實是異曲同工的,但是它的計算效率更高。

2.4 多尺度特徵和預測融合

既然可以將不同尺度的特徵進行融合,也可以在不同的尺度進行預測,為何不同時將這兩種機制一起使用呢?這樣的結構以目標檢測中的FPN[9]為代表。

計算機視覺中如何解決多尺度的問題

即將高層的特徵添加到相鄰的低層組合成新的特徵,每一層單獨進行預測。當然,也可以反過來將低層的特徵也添加到高層,比如PAN[10]。

"

大家好,這是專欄《AI不惑境》的第七篇文章,講述計算機視覺中的多尺度問題。

進入到不惑境界,就是向高手邁進的開始了,在這個境界需要自己獨立思考。如果說學習是一個從模仿,到追隨,到創造的過程,那麼到這個階段,應該躍過了模仿和追隨的階段,進入了創造的階段。從這個境界開始,講述的問題可能不再有答案,更多的是激發大家一起來思考。

作者&編輯 | 言有三

在計算機視覺中,尺度始終是一個大問題,小物體與超大尺度物體往往都會嚴重影響性能。

1 什麼是多尺度

1.1 什麼是多尺度

所謂多尺度,實際上就是對信號的不同粒度的採樣,通常在不同的尺度下我們可以觀察到不同的特徵,從而完成不同的任務。

計算機視覺中如何解決多尺度的問題

如上兩個圖是同樣的一維信號在不同採樣頻率下的結果,這是一條精度曲線。通常來說粒度更小/更密集的採樣可以看到更多的細節,粒度更大/更稀疏的採樣可以看到整體的趨勢,不過此處由於使用了不同的顏色,曲線本身也存在較大的波動,所以粒度更小的右圖反而能更直觀的看到各個曲線的整體性能比較結果。

計算機視覺中如何解決多尺度的問題

如上展示了3個尺度的圖像,如果要完成的任務只是判斷圖中是否有前景,那麼12×8的圖像尺度就足夠了。如果要完成的任務是識別圖中的水果種類,那麼64×48的尺度也能勉強完成。如果要完成的任務是後期合成該圖像的景深,則需要更高分辨率的圖像,比如640×480。

1.2 圖像金字塔

多尺度的信號實際上已經包含了不同的特徵,為了獲取更加強大的特徵表達,在傳統圖像處理算法中,有一個很重要的概念,即圖像金字塔和高斯金字塔。

圖像金字塔,即一組不同分辨率的圖像,如下圖,

計算機視覺中如何解決多尺度的問題

圖像金字塔

採樣的方式可以是不重疊或者重疊的,如果是不重疊的,採樣尺度因子為2,那就是每增加一層,行列分辨率為原來的1/2。

當然,為了滿足採樣定理,每一個採樣層還需要配合平滑濾波器,因此更常用的就是高斯金字塔,每一層內用了不同的平滑參數,在經典的圖像算子SIFT中被使用。

計算機視覺中如何解決多尺度的問題

高斯金字塔

不過這不是本文要聚焦的內容,請大家去自行了解尺度空間理論,接下來聚焦計算機視覺中的多尺度模型設計。

2 計算機視覺中的多尺度模型架構

卷積神經網絡通過逐層抽象的方式來提取目標的特徵,其中一個重要的概念就是感受野。如果感受野太小,則只能觀察到局部的特徵,如果感受野太大,則獲取了過多的無效信息,因此研究人員一直都在設計各種各樣的多尺度模型架構,主要是圖像金字塔和特徵金字塔兩種方案,但是具體的網絡結構可以分為以下幾種:(1) 多尺度輸入。(2) 多尺度特徵融合。(3) 多尺度特徵預測融合。(4) 以上方法的組合。

2.1 多尺度輸入網絡

顧名思義,就是使用多個尺度的圖像輸入(圖像金字塔),然後將其結果進行融合,傳統的人臉檢測算法V-J框架就採用了這樣的思路。

深度學習中模型以MTCNN[1]人臉檢測算法為代表,其流程如下,在第一步檢測PNet中就使用了多個分辨率的輸入,各個分辨率的預測結果(檢測框)一起作為RNet的輸入。

計算機視覺中如何解決多尺度的問題

值得一提的是,多尺度模型集成的方案在提高分類任務模型性能方面是不可或缺的,許多的模型僅僅採用多個尺度的預測結果進行平均值融合,就能在ImageNet等任務中提升2%以上的性能。

2.2 多尺度特徵融合網絡

多尺度特徵融合網絡常見的有兩種,第一種是並行多分支網絡,第二種是串行的跳層連接結構都是在不同的感受野下進行特徵提取

(1) 並行多分支結構

比如Inception網絡中的Inception基本模塊,包括有四個並行的分支結構,分別是1×1卷積,3×3卷積,5×5卷積,3×3最大池化,最後對四個通道進行組合。

計算機視覺中如何解決多尺度的問題

除了更高卷積核大小,還可以使用帶孔卷積來控制感受野。在圖像分割網絡Deeplab V3[2]和目標檢測網絡trident networks[3]中都使用了這樣的策略,網絡結構如下圖:

計算機視覺中如何解決多尺度的問題

計算機視覺中如何解決多尺度的問題

還有一種比不同大小的卷積核和帶孔卷積計算代價更低的控制感受野的方法,即直接使用不同大小的池化操作,被PSPNet[4]採用。

計算機視覺中如何解決多尺度的問題

值得注意的是,這樣的結構對於模型壓縮也是有益處的,以Big-little Net[5]為代表,它採用不同的尺度對信息進行處理。

計算機視覺中如何解決多尺度的問題

對於分辨率大的分支,使用更少的卷積通道,對於分辨率小的分支,使用更多的卷積通道,這樣的方案能夠更加充分地使用通道信息。

(2) 串行多分支結構

串行的多尺度特徵結構以FCN[6]為代表,需要通過跳層連接來實現特徵組合,這樣的結構在圖像分割/目標檢測任務中是非常常見的。

計算機視覺中如何解決多尺度的問題

從上面這些模型可以看出,並行的結構能夠在同一層級獲取不同感受野的特徵,經過融合後傳遞到下一層,可以更加靈活地平衡計算量和模型能力。串行的結構將不同抽象層級的特徵進行融合,對於邊界敏感的圖像分割任務是不可缺少的。

2.3 多尺度特徵預測融合

即在不同的特徵尺度進行預測,最後將結果進行融合,以目標檢測中的SSD[7]為代表。

SSD在不同stride不同大小的特徵圖上進行預測。低層特徵圖stride較小,尺寸較大,感受野較小,期望能檢測到小目標,高層特徵圖stride較大,尺寸較小,感受野較大,期望能檢測到大目標。

計算機視覺中如何解決多尺度的問題

類似的思想還有SSH[8],從分辨率較大的特徵圖開始分為多個分支,然後各個分支單獨預測不同尺度大小的目標。

計算機視覺中如何解決多尺度的問題

在多個特徵通道進行預測的思想與多個輸入的方案其實是異曲同工的,但是它的計算效率更高。

2.4 多尺度特徵和預測融合

既然可以將不同尺度的特徵進行融合,也可以在不同的尺度進行預測,為何不同時將這兩種機制一起使用呢?這樣的結構以目標檢測中的FPN[9]為代表。

計算機視覺中如何解決多尺度的問題

即將高層的特徵添加到相鄰的低層組合成新的特徵,每一層單獨進行預測。當然,也可以反過來將低層的特徵也添加到高層,比如PAN[10]。

計算機視覺中如何解決多尺度的問題

當然,對於不同尺度的特徵圖的融合,還可以基於學習的融合方案。

3 後話

上面說了這麼多的方法,相信動手能力強的同學一定可以基於這些方法進行排列組合和拓展。另外,對於某些領域中的專用技巧,比如目標檢測中的不同尺度的Anchor設計,不同尺度的訓練技巧,在這裡沒有講述。

以上就是多尺度的常用設計方法,從圖像分辨率的控制,到卷積核,池化的大小和不同的方案,到不同特徵的融合,現在有很多相關的研究,本文不一一詳述,作為計算機視覺中的老大難問題,我們會持續關注,相關自動架構搜索的研究也已經出現[11]。

更多相關模型的解讀,我們會在有三AI知識星球中進行剖析,每日兩篇網絡結構解讀,感興趣的可以來。

「知識星球」超3萬字的網絡結構解讀,學習必備

參考文獻

[1] Zhang K, Zhang Z, Li Z, et al. Joint face detection and alignment using multitask cascaded convolutional networks[J]. IEEE Signal Processing Letters, 2016, 23(10): 1499-1503.

[2] Chen L C, Papandreou G, Schroff F, et al. Rethinking atrous convolution for semantic image segmentation[J]. arXiv preprint arXiv:1706.05587, 2017.

[3] Li Y, Chen Y, Wang N, et al. Scale-aware trident networks for object detection[J]. arXiv preprint arXiv:1901.01892, 2019.

[4] Zhao H, Shi J, Qi X, et al. Pyramid scene parsing network[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 2881-2890.

[5] Chen C F, Fan Q, Mallinar N, et al. Big-little net: An efficient multi-scale feature representation for visual and speech recognition[J]. arXiv preprint arXiv:1807.03848, 2018.

[6]Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 3431-3440.

[7] Liu W, Anguelov D, Erhan D, et al. Ssd: Single shot multibox detector[C]//European conference on computer vision. Springer, Cham, 2016: 21-37.

[8] Najibi M, Samangouei P, Chellappa R, et al. Ssh: Single stage headless face detector[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 4875-4884.

[9] Lin T Y, Dollár P, Girshick R, et al. Feature pyramid networks for object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 2117-2125.

[10] Liu S, Qi L, Qin H, et al. Path aggregation network for instance segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 8759-8768.

總結

多尺度不僅對檢測和分割不同尺度的目標很重要,對於提高模型的參數使用效率也非常關鍵,是必須深刻理解和掌握的方法。

下期預告:深度學習中的Attention機制。

"

相關推薦

推薦中...