當(dāng)前位置: 首頁 > 工業(yè)電氣產(chǎn)品 > 端子與連接器 > 線路板連接器 > FFC連接器
發(fā)布日期:2022-05-18 點(diǎn)擊率:72
隨著深度學(xué)習(xí)的出現(xiàn),目標(biāo)檢測從一個自底而上的問題發(fā)展到一個自上而下的識別問題。由中科院、牛津大學(xué)以及華為諾亞方舟實(shí)驗(yàn)室聯(lián)合提出的One-stag目標(biāo)檢測論文《CenterNet: Keypoint Triplets for Object Detection》已發(fā)表,并在Github上開源。研究人員將此方法命名為CenterNet,據(jù)論文作者表示,CenterNet是目前已知的性能最好的one-stage目標(biāo)檢測方法。CenterNet在最具挑戰(zhàn)性之一的數(shù)據(jù)集MS COCO上,獲得了47%AP,超過了所有已知的one-stage檢測方法,并大幅度領(lǐng)先,其領(lǐng)先幅度至少達(dá)4.9%。
傳統(tǒng)的基于關(guān)鍵點(diǎn)的目標(biāo)檢測方法,例如最具代表性的CornerNet [1]通過檢測物體的左上角點(diǎn)和右下角點(diǎn)來確定目標(biāo),但在確定目標(biāo)的過程中,無法有效利用物體的內(nèi)部的特征,即無法感知物體內(nèi)部的信息,從而導(dǎo)致該類方法產(chǎn)生了很多誤檢 (錯誤目標(biāo)框)。
本文利用關(guān)鍵點(diǎn)三元組,即中心點(diǎn)、左上角點(diǎn)和右下角點(diǎn)三個關(guān)鍵點(diǎn)而非兩個點(diǎn)來確定一個目標(biāo),使網(wǎng)絡(luò)花費(fèi)了很小的代價便具備了感知物體內(nèi)部信息的能力,從而能有效抑制誤檢。另外,為了更好的檢測中心點(diǎn)和角點(diǎn),研究人員分別提出了center pooling和cascade corner pooling來提取中心點(diǎn)和角點(diǎn)的特征。
研究人員將此方法命名為CenterNet,是一種one-stage的方法,在最具挑戰(zhàn)性之一的數(shù)據(jù)集MS COCO [2]上,獲得了47%AP,超過了所有已知的one-stage檢測方 法,并大幅度領(lǐng)先,其領(lǐng)先幅度至少達(dá)4.9%。
CenterNet 原理
研究人員抑制誤檢的原理基于一個推論:如果目標(biāo)框是準(zhǔn)確的,那么在其中心區(qū)域能夠檢測到目標(biāo)中心點(diǎn)的概率就會很高;反之,就會很低。
因此,首先利用左上和右下兩個角點(diǎn)生成初始目標(biāo)框,對每個預(yù)測框定義一個中心區(qū)域,然后判斷每個目標(biāo)框的中心區(qū)域是否含有中心點(diǎn)。若有,則保留該目標(biāo)框;若無,則刪除該目標(biāo)框。原理如圖1所。
圖1
baseline 和 Motivation
不光是基于關(guān)鍵點(diǎn)的one-stage方法無法感知物體內(nèi)部信息,幾乎所有的one-stage方法都存在這一問題。本論文的baseline為CornerNet,因此首先討論CornerNet為什么容易產(chǎn)生很多的誤檢。
首先,CornerNet通過檢測角點(diǎn)確定目標(biāo),而不是通過初始候選框anchor的回歸確定目標(biāo)。由于沒有了anchor的限制,使得任意兩個角點(diǎn)都可以組成一個目標(biāo)框,這就對判斷兩個角點(diǎn)是否屬于同一物體的算法要求很高;一但準(zhǔn)確度差一點(diǎn),就會產(chǎn)生很多錯誤目標(biāo)框。
其次,恰恰因?yàn)檫@個算法有缺陷。因?yàn)榇怂惴ㄔ谂袛鄡蓚€角點(diǎn)是否屬于同一物體時,缺乏全局信息的輔助,因此很容易把原本不是同一物體的兩個角點(diǎn),看成是一對角點(diǎn),因此產(chǎn)生了很多錯誤目標(biāo)框。
最后,角點(diǎn)的特征對邊緣比較敏感,這導(dǎo)致很多角點(diǎn)同樣對背景的邊緣很敏感,因此在背景處也檢測到了錯誤的角點(diǎn)。
綜上原因,使得CornerNet產(chǎn)生了很多誤檢。如圖2所示,研究人員用CornerNet對兩張圖片進(jìn)行檢測,根據(jù)每個預(yù)測目標(biāo)框的confidence選出Top 100個預(yù)測框 (根據(jù) MS COCO 標(biāo)準(zhǔn)),可以發(fā)現(xiàn)產(chǎn)生了很多誤檢。
圖2。藍(lán)色框?yàn)間round truth,,紅色框?yàn)轭A(yù)測框。
為了能夠量化分析誤檢問題,研究人員提出了一種新的衡量指標(biāo),稱為FD (false discovery) rate,能夠很直觀的反映出誤檢情況。FD rate的計算方式為:
FD = 1-AP
其中AP為IoU閾值取[0.05 : 0.05 : 0.5]下的平均精度。研究人員統(tǒng)計了CornerNet的誤檢情況,如表1所示:
可以看到,F(xiàn)D = 37.8,而FD5高達(dá)32.7,這意味著即使把條件限制的很嚴(yán)格:只有那些與ground-truth的IoU< 0.05,才被認(rèn)定為錯誤目標(biāo)框。每100個預(yù)測框中,仍然平均有32.7 個錯誤目標(biāo)框!而小尺度的目標(biāo)框其FD更是達(dá)到了60.3!
分析出了CornerNet 的問題后,接下來就是找出解決之道。關(guān)鍵問題,在于讓網(wǎng)絡(luò)具備感知物體內(nèi)部信息的能力。一個較容易想到的方法,是把CornerNet變成一個two-stage的方法,即利用RoI pooling或RoI align提取預(yù)測框的內(nèi)部信息,從而獲得感知能力。
但這樣做開銷很大,因此研究人員提出了用關(guān)鍵點(diǎn)三元組來檢測目標(biāo),這樣使得方法在one-stage的前提下就能獲得感知物體內(nèi)部信息的能力,并且開銷較小。因?yàn)橹恍桕P(guān)注物體的中心,從而避免了RoI pooling或RoI align關(guān)注物體內(nèi)部的全部信息。
方法介紹
利用關(guān)鍵點(diǎn)三元組檢測物體
圖3
圖3為CenterNet的結(jié)構(gòu)圖。網(wǎng)絡(luò)通過center pooling和cascade corner pooling分別得到center heatmap和corner heatmaps,用來預(yù)測關(guān)鍵點(diǎn)的位置。
得到角點(diǎn)的位置和類別后,通過offsets將角點(diǎn)的位置映射到輸入圖片的對應(yīng)位置,然后通過embedings判斷哪兩個角點(diǎn)屬于同一個物體,以便組成一個檢測框。
正如前文所說,組合過程中由于缺乏來自目標(biāo)區(qū)域內(nèi)部信息的輔助,從而導(dǎo)致大量的誤檢。為了解決這一問題CenterNet不僅預(yù)測角點(diǎn),還需要預(yù)測中心點(diǎn)。,對每個預(yù)測框定義一個中心區(qū)域,通過判斷每個目標(biāo)框的中心區(qū)域是否含有中心點(diǎn)。若有,則保留,并且此時框的confidence為中心點(diǎn)、左上角點(diǎn)和右下角點(diǎn)的confidence的平均;若無,則去除,使得網(wǎng)絡(luò)具備感知目標(biāo)區(qū)域內(nèi)部信息的能力,能夠有效除錯誤的目標(biāo)框。
研究人員發(fā)現(xiàn)中心區(qū)域的尺度會影響錯誤框去除效果。中心區(qū)域過小導(dǎo)致很多小尺度的錯誤目標(biāo)框無法被去除,而中心區(qū)域過大導(dǎo)致很多大尺度的錯誤目標(biāo)框無法被去除。因此研究人員提出了尺度可調(diào)節(jié)的中心區(qū)域定義法 (下方公式1)。
該方法可以在預(yù)測框的尺度較大時,定義一個相對較小的中心區(qū)域;在預(yù)測框的尺度較小時,預(yù)測一個相對較大的中心區(qū)域。如下圖所示
提取中心點(diǎn)和角點(diǎn)特征:Center Pooling
圖5
一個物體的中心并不一定含有很強(qiáng)的、易于區(qū)分于其他類別的語義信息。例如,一個人的頭部含有很強(qiáng)的、易于區(qū)分于其他類別的語義信息。,但是其中心往往位于人的中部。
研究人員提出了center pooling來豐富中心點(diǎn)特征。圖5為該方法原理,center pooling提取中心點(diǎn)水平方向和垂直方向的最大值并相加,以此給中心點(diǎn)提供所處位置以外的信息。
這一操作使中心點(diǎn)有機(jī)會獲得更易于區(qū)分于其他類別的語義信息。Center pooling可通過不同方向上的corner pooling的組合實(shí)現(xiàn)。一個水平方向上的取最大值操作可由left pooling和right pooling通過串聯(lián)實(shí)現(xiàn);同理,一個垂直方向上的取最大值操作可由top pooling和bottom pooling通過串聯(lián)實(shí)現(xiàn),如圖6所示
圖6
Cascade corner pooling: 一般情況下角點(diǎn)位于物體外部,所處位置并不含有關(guān)聯(lián)物體的語義信息,這為角點(diǎn)的檢測帶來了困難。圖7(b) 為傳統(tǒng)做法,稱為 corner pooling。它提取物體邊界最大值并相加,該方法只能提供關(guān)聯(lián)物體邊緣語義信息,對于更加豐富的物體內(nèi)部語義信息則很難提取到。
圖7
圖7(a)為cascade corner pooling 原理,它首先提取物體邊界最大值,然后在邊界最大值處繼續(xù)向內(nèi)部(圖中沿虛線方向)提取提最大值,并與邊界最大值相加,以此給角點(diǎn)特征提供更加豐富的關(guān)聯(lián)物體語義信息。Cascade corner pooling 也可通過不同方向上的 corner pooling 的組合實(shí)現(xiàn),如圖8 所示,圖8展示了cascade left corner pooling 原理。
圖8
實(shí)驗(yàn)分析
本實(shí)驗(yàn)在最具挑戰(zhàn)性之一的 MS COCO 數(shù)據(jù)集上進(jìn)行測試,科研人員選了一些比較有代表性的工作做了對比。
實(shí)驗(yàn)結(jié)果表明CenterNet獲得了47%的AP,超過了所有已知的one-stage檢測方法,并大幅度領(lǐng)先,其領(lǐng)先幅度至少達(dá)4.9%。Table2為CenterNet與CornerNet的單獨(dú)對比。
最近目標(biāo)檢測方法在COCO數(shù)據(jù)集上基本在以百分之零點(diǎn)幾的精度往前推進(jìn),因?yàn)閏oco數(shù)據(jù)集難度很高,而CenterNet往前推進(jìn)了將近5個百分點(diǎn)。
同時,CenterNet的結(jié)果也接近two-stage方法的最好結(jié)果。值得注意的是,CenterNet訓(xùn)練輸入圖片分辨率只有511X511,在single-scale下,測試圖片的分辨率為原圖分辨率(~500),在multi-scale下,測試圖片的分辨率最大為原圖分辨率的1.8倍。而two-stage的輸入圖片的分辨率一般最短邊也要>600,甚至更大,比如D-RFCN+SNIP [3]和PANet [4]。而且研究人員的方法是Train from scratch。
速度方面,Two-stage方法論文中一般是不報的One-stage方法只在較淺的backbone上如VGG-16上報速度,一般處理一張圖片需要十幾毫秒,在較深的backbone上速度慢一些,處理一張圖片需要幾百毫秒,但還是要比two-stage的方法快。
在這里,研究人員在一張Nvidia Tesla P100顯卡上比較了CornerNet和CenterNet,CornerNet511-104測試速度約為300ms/幀 (并沒有實(shí)現(xiàn)原論文所說的250ms/幀的速度,可能是與我用的服務(wù)器環(huán)境有關(guān)),而CenterNet511-104 的測試速度約為340ms/幀,比baseline慢約40ms/幀。
但對于更輕backbone,CenterNet511-52的測試速度約為270ms/幀,比CornerNet511-104快約30ms/幀,而且其精度無論是single-scale test 還是 multi-scale test 都比CornerNet511-104高。
CenterNet 以 CornerNet為 baseline,后者為最具代表性的基于關(guān)鍵點(diǎn)的目標(biāo)檢測方法。上圖展示了CenterNet與CornerNet的對比結(jié)果。(a) 和 (b) 表明CenterNet能有效去除小尺度的錯誤目標(biāo)框。(c) 和 (d) 表明CenterNet能有效去除中等尺度和大尺度的錯誤目標(biāo)框。
上圖為CenterNet的檢測結(jié)果。由于CenterNet去除了大量錯誤的目標(biāo)框,因此即使在目標(biāo)框的confidence較低的情況下,依然能保證較好的檢測結(jié)果,上圖展示了confidence在0.5以上的目標(biāo)框分布情況。
Table4為消除實(shí)驗(yàn)。第一行為CornerNet結(jié)果。中心點(diǎn)的加入 (CRE) 使得網(wǎng)絡(luò)提升了2.3% (37.6% vs 39.9%)。對于中心點(diǎn)的檢測,本實(shí)驗(yàn)使用傳統(tǒng)的卷積操作進(jìn)行。
其中小尺度目標(biāo)提升的最多,提升了4.6% (18.5% vs 23.1%), 而大尺度目標(biāo)幾乎沒有發(fā)生變化。這說明小尺度的錯誤目標(biāo)框被去除的最多,這是因?yàn)閺母怕噬现v,小尺度目標(biāo)框由于面積小更容易確定其中心點(diǎn),因此那些錯誤的小目標(biāo)框不在中心點(diǎn)附近的概率更大,因此去除的最多。
Center pooling (CTP) 的加入使網(wǎng)絡(luò)進(jìn)一步提升了0.9%。值得注意的是,大尺度目標(biāo)提升了1.4% (52.2% vs 53.6%),小目標(biāo)和中等目標(biāo)也得到了一定的提升,這表明center pooling能夠使中心點(diǎn)獲得更易于區(qū)分于其他類別的語義信息。Cascade corner pooling (CCP) 使得使網(wǎng)絡(luò)性能進(jìn)一步提升。
第二行的試驗(yàn)中,科研人員將CornerNet的corner pooling替換成了cascade corner pooling,性能提升了0.7% (37.6% vs 38.3%)??梢杂^察到大目標(biāo)的AP沒有發(fā)生變化,AR卻提升了1.8% (74.0% vs 75.8%),這說明cascade corner pooling通過加入了物體內(nèi)部信息能夠感知更多的物體。
但是由于大目標(biāo)由于面積過大,使其容易獲得較明顯的內(nèi)部特征而干擾了邊緣特征,因此使得預(yù)測出的目標(biāo)框位置不精確。當(dāng)結(jié)合了CRE后,由于CRE能夠有效去除錯誤目標(biāo)框,因此使大目標(biāo)框的AP得到了提升 (53.6% vs 55.8%)。
Table3為錯誤目標(biāo)框的去除實(shí)驗(yàn)的對比。實(shí)驗(yàn)結(jié)果表明CenterNet去除了大量的錯誤目標(biāo)框,尤其是小尺度的錯誤目標(biāo)框,這也是為什么小尺度目標(biāo)的AP提升最多的原因。
Table5為錯誤實(shí)驗(yàn)分析??蒲腥藛T將檢測的中心點(diǎn)用真實(shí)的中心點(diǎn)代替,實(shí)驗(yàn)結(jié)果表明中心點(diǎn)的檢測準(zhǔn)確度還有很大的提升空間。同時該結(jié)果還表明要想更進(jìn)一步的提升檢測精度,需要進(jìn)一步提升角點(diǎn)的檢測精度。
總結(jié)
前文提到 one-stage 方法都無法感知物體內(nèi)部信息,這是由于 one-stage 直接對 anchor 進(jìn)行回歸和分類,這個過程并沒有像 two-stage 方法一樣利用到了物體內(nèi)部特征,因此無法感知物體內(nèi)部信息。
本工作主要研究了基于關(guān)鍵點(diǎn)的 one-stage 方法,在接下來的工作中,研究人員將擴(kuò)展到更廣義的 one-stage 方法,如 SSD[5] 等方法,以及更多的 backbone,例如VGG-16,resnet101等。
參考文獻(xiàn):
[1]. H. Law and J. Deng. Cornernet: Detecting objects as paired keypoints. In Proceedings of the European conference on computer vision, pages 734–750, 2018.
[2]. T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Doll′ar, and C. L. Zitnick. Microsoft coco: Common objects in context. In European conference on computer vision, pages 740–755. Springer, 2014.
[3]. B. Singh and L. S. Davis. An analysis of scale invariance in object detection snip. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 3578–3587, 2018.
[4]. S. Liu, L. Qi, H. Qin, J. Shi, and J. Jia. Path aggregation network for instance segmentation. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 8759–8768, 2018.
[5]. W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.Y. Fu, and A. C. Berg. Ssd: Single shot multibox detector. In European conference on computer vision, pages 21–37. Springer, 2016.
論文鏈接:https://arxiv.org/abs/1904.08189
代碼鏈接:https://github.com/Duankaiwen/CenterNet
文章來源: CVer
下一篇: PLC、DCS、FCS三大控
上一篇: ?小米無人機(jī)和大疆對