0
本文作者: skura | 2019-11-06 16:43 | 專題:ICCV 2019 |
近日,在 ICCV 2019 Workshop 舉辦的 CVWC2019 公布了最終結(jié)果,來(lái)自深蘭科技北京 AI 研發(fā)中心的 DeepBlueAI 團(tuán)隊(duì)斬獲了 Tiger Pose Detection 賽道冠軍。
本文作者深蘭科技北京 AI 研發(fā)中心羅志鵬。我們可以通過(guò)這篇文章來(lái)了解一下 DeepBlueAI 團(tuán)隊(duì)的解決方案。
1.CVWC 2019
1.1CVWC 介紹
CVWC 是頂會(huì) ICCV 會(huì)議下的一個(gè) Workshop, 旨在探索如何使用 CV 技術(shù)保護(hù)瀕臨滅絕的野生動(dòng)植物,特別是針對(duì)阿穆爾虎,也稱為西伯利亞虎或東北虎。阿穆爾虎種群主要集中在遠(yuǎn)東地區(qū),特別是俄羅斯遠(yuǎn)東地區(qū)和中國(guó)東北地區(qū)。估計(jì)剩余的野生種群為 600 只,因此保護(hù)至關(guān)重要。
與往年一樣,CVWC2019 分為四個(gè)賽道:Tiger Detection、Tiger Pose Detection、Tiger Re-ID with Human Alignment (Plain Re-ID)、Tiger Re-ID in the Wild,而我們隊(duì)伍「DeepBlueAI」在 Tiger Pose Detection 賽道中取得了冠軍的成績(jī)。
1.2 賽題介紹
CVWC 2019 關(guān)注瀕危野生動(dòng)物保護(hù)問(wèn)題。保護(hù)野生生物對(duì)于維持健康和平衡的生態(tài)系統(tǒng)以及確保我們世界的持續(xù)生物多樣性至關(guān)重要。瀕危物種尤其是生物多樣性和環(huán)境健康的重要指標(biāo)。世界各國(guó)政府以及諸如 WWF(世界野生動(dòng)物基金會(huì))之類的環(huán)境組織已經(jīng)投入了許多資源和項(xiàng)目來(lái)保護(hù)瀕臨滅絕的物種。對(duì)野生動(dòng)植物保護(hù)至關(guān)重要的是,監(jiān)測(cè)野生動(dòng)植物地理空間分布的趨勢(shì)并跟蹤種群。
計(jì)算機(jī)視覺技術(shù)能夠從攝像機(jī)陷阱甚至無(wú)人機(jī)收集大量圖像數(shù)據(jù),并使用此圖像構(gòu)建從邊緣到云的系統(tǒng)以保護(hù)野生生物;并可以應(yīng)用于智能成像傳感器,以捕獲與野生動(dòng)植物相關(guān)的圖像/視頻并監(jiān)視野生動(dòng)植物。
主辦方在比賽中提供了來(lái)自中國(guó) 10 個(gè)動(dòng)物園采集的 8,000 多只 92 頭個(gè)體的東北虎視頻片段,并對(duì)視頻幀創(chuàng)建邊界框,基于關(guān)鍵點(diǎn)的姿勢(shì)和身份注釋,并制定 ATRW(野外阿穆爾虎重新識(shí)別)數(shù)據(jù)集的格式。比賽選手需要對(duì)老虎的姿態(tài)關(guān)鍵點(diǎn)進(jìn)行預(yù)測(cè)。
1.3 評(píng)測(cè)指標(biāo)
每天,提交的姿態(tài)關(guān)鍵點(diǎn)結(jié)果將會(huì)和真實(shí)姿態(tài)關(guān)鍵點(diǎn)標(biāo)注比較,并根據(jù) mAP 和 OKS(Object Keypoint Similarity)評(píng)分:
表示 groundtruth 中每個(gè)老虎與預(yù)測(cè)的每個(gè)老虎的關(guān)鍵點(diǎn)的歐式距離;
為尺度因子;
為歸一化因子;
代表第
個(gè)人是否可見;
1.4 團(tuán)隊(duì)成績(jī)
1.5 題目特點(diǎn)以及常用方法
人體姿態(tài)檢測(cè)問(wèn)題現(xiàn)有研究比較多,但是對(duì)于老虎姿態(tài)檢測(cè)比較新,與人體姿態(tài)檢測(cè)不同的是,老虎的姿態(tài)關(guān)鍵點(diǎn)上半身與下半身、對(duì)陣點(diǎn)的設(shè)置與人體姿態(tài)檢測(cè)不同?,F(xiàn)有的高精度姿態(tài)檢測(cè)模型有 CPN(Cascaded Pyramid Network)網(wǎng)絡(luò)、MSPN 網(wǎng)絡(luò)以及 HRNet。CPN 是采用 Top-down 自上而下的檢測(cè)策略,GolbalNet 負(fù)責(zé)網(wǎng)絡(luò)所有關(guān)鍵點(diǎn)的檢測(cè)(容易檢測(cè)的點(diǎn)),RefineNet 指的是對(duì) GolbalNet 預(yù)測(cè)的結(jié)果進(jìn)行修正的網(wǎng)絡(luò)(困難的點(diǎn)誤差大)。MSPN 采用多階段的特征聚合策略以及粗到細(xì)的監(jiān)督來(lái)提升精度。HRNet 通過(guò)保持搞分辨率,以及不同分辨率之間的信息流動(dòng)來(lái)提升精度。
1.6 比賽數(shù)據(jù)與數(shù)據(jù)分析
本題提供主要老虎的 15 個(gè)關(guān)鍵點(diǎn)信息:
a) 關(guān)鍵點(diǎn)名稱:
["left_ear","right_ear","nose","front_right_elbow","front_right_wrist","front_left_elbow","front_left_wrist","back_right_hip","back_right_knee","back_right_ankle","back_left_hip","back_left_knee","back_left_ankle","tail","neck"]
b) 關(guān)鍵點(diǎn)對(duì):
[[1,3],[2,3],[3,15],[15,4],[15,6],[4,5],[6,7],[15,14],[14,8],[14,11],[8,9],[9,10],[11,12],[12,13]]
首先,我們觀察了老虎關(guān)鍵點(diǎn)的特點(diǎn),與人題關(guān)鍵點(diǎn)類比,將這個(gè) 15 個(gè)關(guān)鍵點(diǎn)分別設(shè)置權(quán)重 [1., 1., 1., 1.2, 1.2, 1.2, 1.2,1.5, 1, 1.2, 1.5, 1, 1.2, 1.5, 1.5]。
1.7.BaseLine
由于數(shù)據(jù)集較小且數(shù)據(jù)且是對(duì)野生動(dòng)物的姿態(tài)估計(jì),如果采用過(guò)于復(fù)雜的模型容易造成過(guò)擬合,或者在 OHEM 的過(guò)程中導(dǎo)致模型無(wú)法收斂。
對(duì)比于 MSPN 我們采用結(jié)構(gòu)更加簡(jiǎn)單,更加高效的模型——HRnet 作為我們的 BaseLine,結(jié)構(gòu)如下圖所示:
HRnet 是并行連接高分辨率到低分辨率的子網(wǎng),而不是像大多數(shù)現(xiàn)有解決方案那樣串行連接。因此,這種方法能夠保持高分辨率,而不是通過(guò)一個(gè)低到高的過(guò)程恢復(fù)分辨率,因此預(yù)測(cè)的熱圖可能在空間上更精確。
大多數(shù)現(xiàn)有的融合方案都將低層和高層的表示集合起來(lái)。相反,我們使用重復(fù)的多尺度融合,利用相同深度和相似級(jí)別的低分辨率表示來(lái)提高高分辨率表示,反之亦然,從而使得高分辨率表示對(duì)于姿態(tài)的估計(jì)也很充分。因此,HRnet 預(yù)測(cè)的熱圖可能更準(zhǔn)確。
1.8 改進(jìn)的 Unet Plus 網(wǎng)絡(luò)
我們發(fā)現(xiàn)關(guān)鍵點(diǎn)檢測(cè)在 Pipeline 上與語(yǔ)義分割有類似的部分,MSPN 和 CPN 均有 Top-Down 這種結(jié)構(gòu)來(lái)聚合特征,減少信息丟失。因此,我們選用 Unet 作為基礎(chǔ)結(jié)構(gòu);同時(shí)借鑒 HRNet 這種逐層保持對(duì)應(yīng)分辨率,不同分辨率之間存在信息交換的結(jié)構(gòu),融合多尺度的信息, 將 Unet 原來(lái)的 Skip Connection 結(jié)構(gòu)更換成部分深層信息向上流動(dòng)的結(jié)構(gòu)。同時(shí)對(duì)每個(gè)層次的輸出,經(jīng)過(guò)上采樣到同一大小后進(jìn)行 Concat 操作,這是借鑒 Hyper Column 模型的思想,最終的改動(dòng)模型如下圖所示。
1.9 實(shí)驗(yàn)?zāi)P?/strong>
我們主要實(shí)驗(yàn)了 4 種模型,CPN, MSPN 與 HRNet、改進(jìn) UnetPlus 模型。
對(duì)于 HRNet 我們分別使用了一些注意力機(jī)制,第一個(gè)是 Spatial Group-wise Enhance Module:
SGE 通過(guò)在在每個(gè) group 里生成 attention factor,這樣就能得到每個(gè) sub feature 的重要性,每個(gè) group 也可以有針對(duì)性的學(xué)習(xí)和抑制噪聲。這個(gè) attention factor 僅由各個(gè) group 內(nèi)全局和局部特征之間的相似性來(lái)決定,SGE 顯著改善了組內(nèi)不同語(yǔ)義子特征的空間分布,并產(chǎn)生較大的統(tǒng)計(jì)方差,增強(qiáng)了語(yǔ)義區(qū)域的特征學(xué)習(xí),壓縮了噪聲和干擾, 此外,SGE 非常輕量級(jí)。第二個(gè)是空間注意力機(jī)制(Spatial Attention)模塊:
與通道注意力相似,給定一個(gè) H×W×C 的特征 F,先分別進(jìn)行一個(gè)通道維度的平均池化和最大池化得到兩個(gè) H×W×1 的通道描述,并將這兩個(gè)描述按照通道拼接在一起。然后,經(jīng)過(guò)一個(gè) 7×7 的卷積層,激活函數(shù)為 Sigmoid,得到權(quán)重系數(shù) Ms。最后,拿權(quán)重系數(shù)和特征 F 相乘即可得到縮放后的新特征。
其次,我們嘗試使用空洞卷積,去保留更多的空間信息,空洞卷積結(jié)構(gòu)如下圖所示:
a) 圖對(duì)應(yīng) 3x3 的 1-dilated conv,和普通的卷積操作一樣,
(b) 圖對(duì)應(yīng) 3x3 的 2-dilated conv,實(shí)際的卷積 kernel size 還是 3x3,但是空洞為 1,也就是對(duì)于一個(gè) 7x7 的圖像 patch,只有 9 個(gè)紅色的點(diǎn)和 3x3 的 kernel 發(fā)生卷積操作,其余的點(diǎn)略過(guò)。也可以理解為 kernel 的 size 為 7x7,但是只有圖中的 9 個(gè)點(diǎn)的權(quán)重不為 0,其余都為 0??梢钥吹诫m然 kernel size 只有 3x3,但是這個(gè)卷積的感受野已經(jīng)增大到了 7x7(如果考慮到這個(gè) 2-dilated conv 的前一層是一個(gè) 1-dilated conv 的話,那么每個(gè)紅點(diǎn)就是 1-dilated 的卷積輸出,所以感受野為 3x3,所以 1-dilated 和 2-dilated 合起來(lái)就能達(dá)到 7x7 的 conv),
(c) 圖是 4-dilated conv 操作,同理跟在兩個(gè) 1-dilated 和 2-dilated conv 的后面,能達(dá)到 15x15 的感受野。對(duì)比傳統(tǒng)的 conv 操作,3 層 3x3 的卷積加起來(lái),stride 為 1 的話,只能達(dá)到 (kernel-1)*layer+1=7 的感受野,也就是和層數(shù) layer 成線性關(guān)系,而 dilated conv 的感受野是指數(shù)級(jí)的增長(zhǎng)。
dilated 的好處是不做 pooling 損失信息的情況下,加大了感受野,讓每個(gè)卷積輸出都包含較大范圍的信息。這個(gè)模塊其實(shí)還有很多的使用技巧,例如最后一層不進(jìn)行下采樣,或者在適當(dāng)?shù)?layer 加入此模塊,這里由于時(shí)間限制并沒有做過(guò)多的實(shí)驗(yàn),感興趣的同學(xué)可以進(jìn)一步研究。
以下為最終實(shí)驗(yàn)結(jié)果:
1.10 模型融合
模型融合是算法大賽中常用的提高模型精度方法,有些比賽在競(jìng)爭(zhēng)激烈的后期用了幾十甚至上百模型。我們最終選擇了單模型 mAP 比較高的 HRNetW48+SGE、HRNetW48+SA、改進(jìn) Unet Plus+ResNet152 這三個(gè)模型,并在線上的結(jié)果為 0.904。
對(duì)于 Unet Plus,之所以沒用更強(qiáng)的模型是因?yàn)?GPU 資源有限,我們?cè)?2080ti 的 GPU 上,只能將 batch_size 參數(shù)設(shè)置為 1(batch_size_per_gpu), 如果使用更大的 batch_size 結(jié)果有望進(jìn)一步提升
總結(jié)
在前期嘗試過(guò)程中發(fā)現(xiàn)他和語(yǔ)義分割任務(wù)有部分相似的地方,所以就嘗試將語(yǔ)義分割任務(wù)里有效的結(jié)構(gòu)移植過(guò)來(lái),做一些嘗試,經(jīng)過(guò)試驗(yàn)發(fā)現(xiàn),一些空間信息增強(qiáng)模塊以及深淺層信息融合模塊在該任務(wù)中是能夠有效提分的。
由于數(shù)據(jù)集分布的原因,之前許多在 COCO 數(shù)據(jù)集上行之有效的方法,不能在這個(gè)數(shù)據(jù)集上取得很好的效果,所以我們需要通過(guò)控制變量法,來(lái)一個(gè)一個(gè)進(jìn)行實(shí)驗(yàn)驗(yàn)證。且在較輕量的數(shù)據(jù)集上,不宜使用過(guò)于復(fù)雜的算法結(jié)構(gòu),否則會(huì)引起反效果
參考文獻(xiàn)
[1]Sun K , Xiao B , Liu D , et al. Deep High-Resolution Representation Learning for Human Pose Estimation[J]. 2019.
[2]Ronneberger O , Fischer P , Brox T . U-Net: Convolutional Networks for Biomedical Image Segmentation[J]. 2015.
[3]Li W , Wang Z , Yin B , et al. Rethinking on Multi-Stage Networks for Human Pose Estimation[J]. 2019.
[4]Chen Y , Wang Z , Peng Y , et al. Cascaded Pyramid Network for Multi-Person Pose Estimation[J]. 2017.
[5]Yu F , Koltun V . Multi-Scale Context Aggregation by Dilated Convolutions[J]. 2015.
[6]Laskar Z , Kannala J . Context Aware Query Image Representation for Particular Object Retrieval[J]. 2017.
雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。
本專題其他文章