<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          計算機視覺中低延遲該如何檢測?

          共 7748字,需瀏覽 16分鐘

           ·

          2020-09-20 10:53

          ↑ 點擊藍字?關(guān)注極市平臺

          作者丨吃飯機@知乎
          來源丨h(huán)ttps://zhuanlan.zhihu.com/p/200924181;
          https://zhuanlan.zhihu.com/p/212842916
          編輯丨極市平臺


          計算機視覺中低延遲檢測的相關(guān)理論和應(yīng)用(上)


          寫在前邊

          之前在專欄的第一篇文章中介紹了一下關(guān)于層模型(layered model)的工作,并給自己挖了幾個坑。今天讓我來填其中一個坑:視頻中的物體低延遲檢測。由于這一系列工作目前貢獻了一篇cvpr17和一篇iccv19共兩篇論文,我將分上下兩篇文章分別介紹,希望可以把工作的背景、思路、坑、相關(guān)思考和一些不在論文發(fā)表內(nèi)容中的故事說明白。還是和上一篇一樣,希望寫出來的的不是機械的公式或者吹得天花亂墜神乎其神的PR,而是一些原理性的東西以及背后思考的過程。
          低延遲檢測是視覺任務(wù)工程化落地不可能繞過的一個問題??傮w來說,對于任何檢測(不只是視覺)任務(wù)來說,延遲和誤報率大概有這樣一個關(guān)系:
          這個關(guān)系不難理解,不只是視覺問題,世間萬物,更長的決策過程(delay)往往能帶來更高的準(zhǔn)確度,但是這個更長的決策過程也會帶來更大的延遲。兩者之間的平衡,對很多需要在線決策(online process)的系統(tǒng)來說非常重要。例如生物視覺,假定一個動物檢測到掠食者就需要逃跑,如果追求低誤報率,就要承擔(dān)高延遲帶來的風(fēng)險,有可能檢測到掠食者時為時已晚無法逃脫;如果追求低延遲,雖然相對安全,但是誤報率高,有一點風(fēng)吹草動就猶如驚弓之鳥。
          Motivation: Biological Vision
          這樣的決策過程對自動駕駛的重要性不言而喻。在檢測障礙物的過程中,既不可能等到撞到再剎車,也不可能隨便看到什么像障礙物的東西就剎車。比如下邊這個uber自動駕駛出的致命事故,在車輛撞到行人的那一刻仍然沒有準(zhǔn)確檢測道障礙物,這樣的延遲顯然不能接受。
          對于一般的視覺任務(wù)來說,更高的準(zhǔn)確度往往可以通過加大模型來達到;但是對于實際應(yīng)用來說,提高模型準(zhǔn)確率難上加難(不少任務(wù)漲點1%已經(jīng)是突破了),但是多從相機抓取一幀幾乎沒有任何成本。把兩幀的結(jié)果合并到一起,總體準(zhǔn)確率顯然比只用一幀要高。所以,一個簡單的思路在于,當(dāng)出現(xiàn)了一個可能的目標(biāo),系統(tǒng)需要在“宣布檢測到目標(biāo)”和“多等一幀看看”之間做出決斷。這篇專欄介紹的工作,就是要解決這樣一個決策過程。

          背景理論

          幸運的是,現(xiàn)有的信號處理理論中已經(jīng)對這個問題有了很好的建模(參見Quickest Change Detection Theory [1])。在這里我不放大段數(shù)學(xué),只概括一下大概思路和結(jié)論。沒有興趣的話,可以直接跳到下一部分看算法結(jié)果。
          讓我們假設(shè)一個系統(tǒng)的初始狀態(tài)為 ,在某一個未知的時間點轉(zhuǎn)換成 。例如自動駕駛,沒有障礙物的情況為,有障礙物的情況為 。而在某個未知的時間 (障礙物突然出現(xiàn)的時刻),系統(tǒng)會從 轉(zhuǎn)換成。這時檢測系統(tǒng)的目標(biāo),是探測這種狀態(tài)的轉(zhuǎn)換。假設(shè)輸入的信號是 (對視覺問題來說,每一幀就是信號),這樣一個檢測問題就可以由這樣如下假設(shè)檢驗來描述:
          其中 為當(dāng)前時刻,分子代表轉(zhuǎn)換已經(jīng)發(fā)生的概率,分母代表轉(zhuǎn)換還未發(fā)生的概率。如果在同狀態(tài)下的 是獨立同分布的,這樣一個似然比檢驗(likelihood ratio test)就有如下形式:
          這里的數(shù)學(xué)符號都很簡單,不超出本科數(shù)理統(tǒng)計的內(nèi)容,就不多做解釋了。在這種概率建模下,似然比可以作為一個用于決策轉(zhuǎn)換是否發(fā)生的統(tǒng)計量。當(dāng)似然比大于某個閾值,即可宣稱系統(tǒng)發(fā)生了變化(declare a detection),反之則等待新的信號輸入。實際操作中,我們對右邊的表達取log,連乘變成連加,更加方便??傮w來說,決策過程如下邊這個框圖
          這套理論有兩個特別好的點。首先,這一個似然比檢驗可以獲得理論上漸進最優(yōu)的解。也就是說,在同一個誤報率下,這個檢測方法可以獲得理論上最低的延遲;而在同樣的延遲下,這個檢測方法可以獲得理論上最低的誤報率。這就給把這套檢測方法用在視覺系統(tǒng)中提供了很好的理論保障。其次,這套理論提供了一個遞歸解。在實際應(yīng)用中,這個遞歸解可以讓上邊公式關(guān)于 取max的操作無需遍歷所有 ,具體的數(shù)學(xué)表達比較復(fù)雜,建議有興趣的朋友直接參考[1]。

          移動物體檢測

          這一部分介紹一下17年CVPR的論文《Minimum Delay Moving Object Detection》[2]。在這片論文中,我們把這套低延遲檢測的統(tǒng)計理論用在了移動物體的檢測上。對于移動物體,我們的核心思路一向是使用光流進行描述。這是因為,光流可以有效帶來移動物體的分割信息。比如下邊這個海洋生物的例子,如果只通過外觀對單幀進行像素級的分割,結(jié)果可以說是狗屁不通,但是通過光流分割,就可以準(zhǔn)確獲得物體邊界。
          特別地,兩幀之間的光流比較不穩(wěn)定,而將多幀的光流組合到一起,就可以看到非常穩(wěn)定的分割邊界,這也符合上一節(jié)所說的,延遲越高越準(zhǔn)確,例如下邊這個例子:
          左:視頻;中:幀到幀的光流;右:多幀組合的光流
          在我們的建模中,把幀與幀之間像素的對應(yīng)關(guān)系,用以下方法進行描述:
          其中 是與視頻內(nèi)容無關(guān)的i.i.d.高斯噪聲。在這個模型中,如果視頻中只有一個整體的背景,則通過一個統(tǒng)一的運動模式 就可以描述兩幀之間的對應(yīng)關(guān)系;而如果視頻中有背景+移動物體,則需要對背景和移動物體分別取 , 兩種不同的運動模式,才能夠描述兩幀之間的對應(yīng)。理論上,我們可以建立無數(shù)組 對多個目標(biāo)同時進行檢測。但是由于算力所限,這篇文章只做了前景/背景的二元分割。這樣一來,我們就可以建立如下兩組概率進行似然比檢驗。
          其中 是robust norm,對信號處理不了解的朋友可以直接無視。當(dāng)然,這兩個公式只是方法的基本原理。工程方面細(xì)枝末節(jié)的trick在這里就不多說了。總體來說,當(dāng)視頻出現(xiàn)移動物體時,似然比統(tǒng)計量會顯著增加,而到達某個閾值后,算法則輸出移動物體的探測結(jié)果。下邊直接放一下結(jié)果,還蠻有趣的:
          視頻鏈接:https://www.zhihu.com/zvideo/1282335357196140544
          通過改變不同的閾值,算法可以自由選擇不同水平的誤報率和延遲。如果我需要低延遲而可以忍受高誤報率,就選擇較低的閾值,反之亦然。通過改變閾值,我們就可以畫出如下的誤報率-延遲曲線。這條曲線的結(jié)果還算比較符合理論的??梢钥吹?,在各誤報率下,我們的算法都可以達到更低的延遲。

          后續(xù)和一些感想

          首先還是說一下這個工作里的坑。說實話,這樣一個工作更大的意義是學(xué)理上驗證了這套理論在視覺中的應(yīng)用,距離工程上的應(yīng)用,還有很大的距離。部分原因在于,由于工作完成的時間是2016年,當(dāng)時還沒有成熟可靠的快速光流算法和分割算法。而這個工作需要大量的幀到幀之間的運算,所以在實際運算時間上可以說是慘不忍睹。第二點,如果仔細(xì)看過上邊的結(jié)果視頻,不難發(fā)現(xiàn),composed motion經(jīng)常出現(xiàn)重影,對分割結(jié)果造成影響。這也直接促成了我們用layered model解決移動物體分割的后續(xù)工作。關(guān)于這種重影,我會將來填“詳解移動物體分割、光流和遮擋之間的聯(lián)系”坑的時候詳細(xì)介紹。
          低延遲的檢測是我2015年本科畢業(yè)后,零計算機基礎(chǔ)入坑視覺做的第一個工作。當(dāng)時我的博士導(dǎo)師給我扔過來三篇論文,讓我挑其中一篇最感興趣的當(dāng)科研方向,[1]就是其中一篇。現(xiàn)在回頭想想導(dǎo)師也算是看得起我,一上來扔過來的都是這樣“硬核”的內(nèi)容。搞這個工作的時候,其實相當(dāng)頭疼,畢竟作為一個零基礎(chǔ)的學(xué)生,一上來就要平地起高樓做一個從沒有人提出過的問題,從白紙開始寫代碼,自己收集數(shù)據(jù)集,找人做的標(biāo)注,由于沒有相關(guān)工作,還要從其他方法中創(chuàng)造baseline,總體來說很有挑戰(zhàn)性。雖然相比直接從深度學(xué)習(xí)入坑CV的同學(xué),這讓我對采用不同思路決視覺問題有更多想法(這在之后的科研過程中幫了大忙),但是也讓我錯過了17年之前深度學(xué)習(xí)“隨便做做就能發(fā)文章”的爆發(fā)期。不過,在之后的專欄中,我會介紹如何把低延遲檢測的理論和基于深度學(xué)習(xí)的檢測器進行結(jié)合,讓這套理論在視覺問題上真正變得可用。
          參考資料
          [1]?V. V. Veeravalli and T. Banerjee. Quickest change detection. Academic press library in signal processing: Array and statistical signal processing, 3:209–256, 2013.
          [2] Dong Lao and Ganesh Sundaramoorthi. Minimum delay moving object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4250–4259, 2017.

          計算機視覺中低延遲檢測的相關(guān)理論和應(yīng)用(下)


          寫在前邊

          今天接著上一次寫的東西,繼續(xù)聊一下視覺中低延遲檢測的相關(guān)理論和應(yīng)用。在介紹自己的具體工作之前,我覺得還是有必要把一些想法放在前邊作為一個引子。
          近年來AI領(lǐng)域的整體風(fēng)氣,客觀上鼓勵作者對論文進行商業(yè)廣告式的包裝。論文除學(xué)術(shù)價值外,還要考慮讀者的接受度和吸引眼球程度。這種風(fēng)氣下,誠實寫出一些深層次的思考,或者對論文的局限性進行分析,無異于授人以柄的自殺行為。我曾經(jīng)遇到過,某審稿人直接把論文Discussion章節(jié)中的算法局限性無腦寫進拒稿意見,也遇到過論文提出的方法冒犯到某些審稿人的情況。這種整體風(fēng)氣,對領(lǐng)域的發(fā)展是絕對有害的。
          為什么要說這一段話呢?因為今天介紹的就是這樣一篇工作,為了照顧審稿人和讀者,算法背后有很多的深層次思考卻不能開誠布公寫在論文里。今天的專欄里,我在介紹工作的同時,也會如實寫下這些思考。

          前情提要

          在上一篇專欄中,我們說過,對于任何檢測任務(wù),延遲和誤報率大概有這樣一個關(guān)系:
          更長的決策過程往往能帶來更高的準(zhǔn)確度,但也會帶來更大的延遲。我們通過統(tǒng)計學(xué)/信號處理中Quickest Change Detection理論 [1] (以下簡稱QD),將這個問題建模成似然比檢驗,通過改變不同閾值,調(diào)整延遲和結(jié)果準(zhǔn)確度之間的平衡。
          更詳細(xì)的背景介紹參見上一篇專欄。先前一篇工作,我們通過光流對移動物體檢測進行了建模,但是由于當(dāng)時光流算法帶來的巨大運算負(fù)擔(dān),這一套算法難以在實際的視覺應(yīng)用中落地。在我們ICCV2019的工作《Minimum Delay Object Detection from Video》[2]中,我們拋棄掉光流,使用目前已經(jīng)發(fā)展相對成熟的單幀檢測器(Fast-RCNN、YOLO等),直接對檢測框和物體類別進行概率建模,將已有的單幀檢測器無縫對接到視頻物體的低延遲檢測中。

          低延遲檢測的思路

          在視頻物體檢測中,如果使用上一幀的檢測結(jié)果作為先驗,將下一幀的檢測結(jié)果輸入貝葉斯框架,輸出后驗,那么總體來說,這個后驗結(jié)果融合了兩幀的信息,會比單幀更準(zhǔn)。在這個思路下,理論上來說使用的幀數(shù)越多,檢測越準(zhǔn)。如以下單幀和多幀的對比:
          但是同時更多的幀數(shù)會造成更長的延遲(延遲 := 物體被檢測到的時刻 - 物體出現(xiàn)的時刻)。如何在保證物體檢測精度的情況下,盡量降低延遲呢?我們參照QD理論進行如下建模:
          假設(shè)一個物體在時刻 出現(xiàn)在視頻中,在 離開視頻,則這個物體的移動軌跡可以用時序上的一組檢測框 表示。這樣的一組檢測框檢測框序列,在目標(biāo)追蹤(Data association / tracking)領(lǐng)域被一些人稱作tracklet。簡單說,我們的算法目標(biāo)是以低延遲判斷檢測框序列內(nèi)是否含有物體。因此,我們稱這樣一組檢測框序列為一個candidate。在quickest change detection框架下, 可以用如下似然比檢驗判斷 時刻物體是否出現(xiàn)在該candidate內(nèi):
          其中 代表一個單幀檢測器在 上的檢測結(jié)果, 代表candidate中的內(nèi)容從背景變?yōu)榈? 類物體(如行人)這一事件發(fā)生的時刻, 代表給定類別 的時候,事件 發(fā)生的概率。由條件概率的獨立性, 與類別 和檢測框 獨立,繼而時序上各時刻檢測結(jié)果的聯(lián)合概率變成各時刻概率的連乘:
          這里需要明確一下,上邊公式中的條件概率并非簡單的檢測器輸出的結(jié)果,具體如何計算 需要一套比較復(fù)雜的建模。由于這里只介紹低延遲檢測的整體思路,關(guān)于 的建模待我有空時會附在文末,有興趣的朋友可以直接去論文查閱。總之,我們可以對這個似然比取閾值,進行檢測。閾值越高,結(jié)果越準(zhǔn),但是延遲越大,反之同理。由QD理論中遞歸算法(CuSum算法),我們可以對上述似然比取log,記為W。最終的檢測流程可以參照如下框圖。
          整體流程為:
          (1)將已有但似然比未超過閾值的candidate做tracking進入下一幀;
          (2)在下一幀進行單幀檢測,生成新的檢測框,與前一幀tracking后的檢測框合并到一起;
          (3)對這些candidate進行似然比檢驗,W超出閾值則輸出檢測結(jié)果,W小于零則去除該檢測框,W大于零小于閾值則回到(1),進入下一幀。這樣一個檢測框架,可以與任何單幀檢測器結(jié)合。

          結(jié)果

          這篇工作和先前的工作一樣,由于是新問題,并沒有現(xiàn)成的數(shù)據(jù)集,于是我們只能對KITTI進行魔改,將KITTI中對物體的第一幀標(biāo)注作為這個物體出現(xiàn)的時間,計算平均檢測延遲。可以看到,無論與哪種檢測器相結(jié)合,相比單幀檢測,這種多幀框架下的檢測方法在相同精度下都可以有效降低檢測延遲。
          更加有趣的是,這些曲線都是由COCO上預(yù)訓(xùn)練好的檢測器直接得出,根本沒有在KITTI上做過任何finetune。即便如此,只要能夠接受足夠多幀的延遲,這些方法依然可以達到很低的誤報率。這其實是一個非常有意思的結(jié)果,說明用延遲換精度是一個完全可行的思路。
          文章中還有一些其他圖表,證明了這樣一個多幀的方法不光可以有效降低檢測延遲,還可以增加同誤報率下被準(zhǔn)確檢出的物體數(shù)量,就不一一羅列了。另外,目前使用神經(jīng)網(wǎng)絡(luò)進行檢測都是在GPU進行,而該多幀框架則可以在CPU并行執(zhí)行,執(zhí)行速度約50fps。兩者并行的話,已經(jīng)有潛力實時應(yīng)用在真正的系統(tǒng)中了。下邊放一個同誤報率下,單幀方法和本文方法的對比,注意視頻上下兩組結(jié)果使用的是完全相同的神經(jīng)網(wǎng)絡(luò)。
          視頻鏈接:https://www.zhihu.com/zvideo/1284627306846834688

          后續(xù)和一些感想

          寫這篇論文的時候,我查閱了不少關(guān)于“視頻物體檢測”的文獻,加上通過和一些業(yè)界大佬交流,發(fā)現(xiàn)已有的“視頻物體檢測”算法,例如基于光流的Feature Aggregation、3D 卷積等技術(shù),目前基本上沒法真正落地(如果說的不對請指正)。究其原因,一是不少方法純煉丹,對數(shù)據(jù)的依賴強,缺少一個solid的理論框架(這也是深度學(xué)習(xí)通?。欢沁@些方法根本沒有考慮真正在工業(yè)應(yīng)用上的部署,比如視頻物體檢測往往要固定temporal window size,極大限制了算法的落地空間。在我做這一篇工作的同期,斯坦福大學(xué)Bill Dally教授組的Huizi Mao同樣出品了一篇關(guān)于檢測延遲和檢測精度關(guān)系的論文《A Delay Metric for Video Object Detection: What Average Precision Fails to Tell》[3]。在這篇論文中得出結(jié)論,同等精度下,目前使用多幀的視頻物體檢測方法在延遲方面輸給單幀檢測器。
          Mao et al., ICCV 2019.
          出于好奇,我在本文框架下,也對已有的視頻物體檢測算法做了些測試,同樣發(fā)現(xiàn)同等誤報率下,已有方法同樣不如單幀(結(jié)果未隨論文發(fā)表)。兩篇論文雖然metric不同,但是結(jié)論幾乎一樣。這也就意味著,在真的產(chǎn)品部署中,需要大量運算的視頻檢測器不但沒有提高檢測效率,反而幫了倒忙。
          另一方面,工業(yè)界對于比單幀更穩(wěn)定的檢測器卻有著貨真價實的需求。比如據(jù)說某廠在開發(fā)工業(yè)探傷算法過程中,發(fā)現(xiàn)單幀F(xiàn)ast-RCNN的輸出非常noisy。如今在一些產(chǎn)品(例如機器人、自動駕駛、垃圾分揀)中,由于軟硬件限制,要想進一步提高單幀的檢測精度非常之難。與此同時,相機多抓取一幀,多跑一遍檢測算法卻并不難。在這樣一套可以自由融合多幀的框架下,改變思路,用一定的檢測延遲換取更高的精度也許是個有趣的方向。
          說實話,對于端到端煉丹在各視頻應(yīng)用上(不只是檢測)難以真正有效這件事,大家也只能心照不宣。真正落地往往其實還是逐幀分析再做后處理。我個人看來,對視頻這類有著明確時序聯(lián)系的任務(wù),或者一些具有已知物理模型的任務(wù)(如光學(xué)成像),完全可以大框架下使用已有的理論完備的模型(如本文介紹的QD),把深度學(xué)習(xí)留給難以用數(shù)學(xué)/統(tǒng)計學(xué)準(zhǔn)確建模的子模塊(如單幀檢測)。在這個思路下,我估計AI領(lǐng)域會漸漸誕生出兩個新的流派:【1】放棄對端到端的執(zhí)念,將傳統(tǒng)模型與深度學(xué)習(xí)結(jié)合,將深度學(xué)習(xí)作為求解器;【2】將統(tǒng)計模型/物理模型直接融入網(wǎng)絡(luò)設(shè)計,端到端訓(xùn)練出一個帶有傳統(tǒng)模型性質(zhì)的新方法。這篇工作堅決貫徹了【1】的思路,而機緣巧合,我之后一篇工作,使用了【2】的思路,有興趣的朋友可以持續(xù)關(guān)注本專欄。
          參考資料
          [1] V. V. Veeravalli and T. Banerjee. Quickest change detection. Academic press library in signal processing: Array and statistical signal processing, 3:209–256, 2013.
          [2] Dong Lao and Ganesh Sundaramoorthi. Minimum Delay Object Detection From Video. Proceedings of the IEEE International Conference on Computer Vision, pp. 5097-5106. 2019.
          [3] Mao,?Huizi, Xiaodong Yang, and William J. Dally. A delay metric for video object detection: What average precision fails to tell. Proceedings of the IEEE International Conference on Computer Vision, pp. 573-582. 2019.


          瀏覽 53
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  内射网站大全中文 | 夜夜撸天天日 | 亚洲 精品一区二区三区 | 黑人操屄视频 | 人人夜夜i日日 |