<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>

          一個開源小項目,如何使用「分類網(wǎng)絡(luò)」實現(xiàn)排球追蹤

          共 2523字,需瀏覽 6分鐘

           ·

          2021-03-14 19:30

                01      

          背景概述

          筆者最近接觸到了一個很有趣的問題,有關(guān)于排球位置追蹤。如果有看過排球比賽的話,大家想必都知道,排球的實時運(yùn)動軌跡對排球的落點有很大的幫助。而如果可以預(yù)知排球的落點,就可以很好的在比賽中防住對手,把握取勝先機(jī)。因而產(chǎn)生了一個很有趣的問題:是否有可能預(yù)測比賽中的排球運(yùn)動軌跡?這其實是一個典型的物體追蹤問題,也是一個在筆者看來很有趣的題目。


          然而解決這類問題并不容易。
          • 首先,基于排球的視頻數(shù)據(jù)集數(shù)量稀少,有了真值標(biāo)注的數(shù)據(jù)集更是少之又少,如何搜索合適的數(shù)據(jù)是一個不好處理的問題。
          • 其次,排球本身形狀較小,直接進(jìn)行小物體檢測,可能易于其他目標(biāo)混淆,所以用檢測實現(xiàn)追蹤不是非常理想。
          • 再考慮到實時性的需求,直接調(diào)用追蹤框架,可能參數(shù)過多,實時測試性能表現(xiàn)不佳。

                02      

          數(shù)據(jù)集選擇與初始解決方案


          考慮到以上種種挑戰(zhàn),開始階段對于方案的選擇并不容易,尤其是標(biāo)好物體框的排球視頻數(shù)據(jù)集更是非常難找??墒且曨l數(shù)據(jù)集是很重要的,一個好的數(shù)據(jù)集對最終的表現(xiàn)有很大影響。經(jīng)過仔細(xì)評估,最終我選擇了一個開源的排球數(shù)據(jù)集。選擇的原因是清晰度較高,拍攝時長恰好,但是該數(shù)據(jù)集沒有可供使用的真值。

          為了解決沒有真值的問題,我用了以下方法,也是跟別人學(xué)習(xí)來的。通過觀察排球在視頻中的位置,我發(fā)現(xiàn)排球在運(yùn)動的時候,傾向于在圖像中的較高點。所以如果有辦法能把圖像中較高點的物體所在位置拿到(比如一些封裝好的輪廓),自然就得到了真值。為了實現(xiàn)這一方法,我用了基于自適應(yīng)混合高斯背景建模的背景減除法(MOG)。

          接下來是提出一個合理的解決方案?;跈z測精度的要求,希望盡可能的畫出大致軌跡,不要求絕對準(zhǔn)確但是大致可以用?;谶\(yùn)行速度的要求,希望可以做到實時測試得出結(jié)果??紤]到前文所提,一開始的方向大致在調(diào)用追蹤模型看表現(xiàn)。后來發(fā)現(xiàn)實時性無法滿足。因而該方案不能直接使用。

          之后我仔細(xì)看了一下數(shù)據(jù)集視頻。該數(shù)據(jù)集有以下特點,讓我意識到也許有捷徑可以走。

          • 球的形狀固定,飛行軌跡為拋物線形,所以可能可以嘗試用擬合路徑的方式來替代。

          • 如果可以把球所在的位置標(biāo)出來,然后提取出來周圍的像素,說不定可以拿來學(xué)習(xí),幫助判斷對應(yīng)的一張輸入圖像有沒有球,并且?guī)椭成淝虻娘w行軌跡。

          • 由于排球自身有落點的問題,每一次落點后軌跡都會斷開重連,如何在不使用數(shù)據(jù)相關(guān)方法的基礎(chǔ)上,設(shè)計方案使得銜接自然合理,也是一個重點。


          鑒于以上這些特點,我更新了一下之前的設(shè)計方案,使用球定位+識別的方法,而不是直接套用單物體檢測框架來實現(xiàn)任務(wù)需求。

                03      

          設(shè)計和實現(xiàn)方案

          實現(xiàn)方案大致如下:

          • 使用前文提到的數(shù)據(jù)生成方法,產(chǎn)生真值數(shù)據(jù)供分類模型使用

          • 使用深度學(xué)習(xí)網(wǎng)絡(luò)建模分類,訓(xùn)練網(wǎng)絡(luò)并產(chǎn)生預(yù)測結(jié)果

          • 給定預(yù)測數(shù)據(jù),送入深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行預(yù)測,生成類標(biāo)(預(yù)測是否為排球)

          • 對屬于排球的幀按照先后時間標(biāo)記,依次生成追蹤結(jié)果,用綠色圈標(biāo)記


          首先是生成真值數(shù)據(jù),具體實現(xiàn)相對復(fù)雜。由于我們的假設(shè)(排球比賽中,排球是在移除背景后位置最高的點)不一定成立,實際情況下,需要做額外的處理。首先是要看拿到的到底是不是排球,此外還要把排球附近的背景移除掉,因為這些背景可能對分類結(jié)果有很大的干擾。

          這里舉一個實際的例子, 排球一般是白色背景,而室內(nèi)場景的日光一般也是白色的,以及場地附近的墻體也會是白色,兩者會互相疊加,因而有可能不利于物體分類。之后我們會用形態(tài)學(xué)操作去進(jìn)一步處理得到的排球?qū)?yīng)的圖像塊。具體來說,我們會對這些結(jié)果進(jìn)行進(jìn)一步腐蝕,得到的結(jié)果會只留下排球,把周圍的背景像素都過濾掉。

          在此之后,我使用了一個非常簡單的 backbone 去做特征提取,簡單來說就是conv->pool->conv->pool->conv->pool,之后因為我們的目的是去做分類,所以損失函數(shù)是二分類交叉熵函數(shù)。


          測試反而比較麻煩。分為好幾個流程:

          1.生成數(shù)據(jù)。生成過程中因為不能用數(shù)據(jù)聯(lián)系(data association), 需要手動存好圖像幀的相對時間(先后順序)。在實驗中我們設(shè)計閾值為t=4,即為如果識別出的排球的幀數(shù)差大于t,就會切斷當(dāng)前軌跡追蹤,并重新生成新軌跡。

          2.對生成數(shù)據(jù)進(jìn)行預(yù)處理。包括
          1. 數(shù)據(jù)去背景

          2. 標(biāo)定所有物體,產(chǎn)生物體框(使用cv2即可)

          3. 對于每一個潛在的物體框,按照排球的大概尺寸進(jìn)行過濾,存儲并切取當(dāng)前像素對應(yīng)的區(qū)塊


          3.取步驟2結(jié)果,依次進(jìn)行預(yù)測,對所有預(yù)測類標(biāo)正確的圖,按照 id 進(jìn)行標(biāo)記,然后依次分配并且進(jìn)行閾值判斷,從中獲得所有追蹤軌跡。

                04      

          結(jié)果展示



                05      

          總結(jié)

          在這篇文章我簡單的介紹了如何使用分類方法去做一個追蹤器。有興趣的同學(xué)可以查看我的 GitHub,上面有詳細(xì)的代碼: https://github.com/Cli98/volleyball-tracking-demo

          ?------------------------------------------------


          看到這里了,說明您也喜歡這篇文章,您可以點擊「分享」與朋友們交流,點擊「在看」使我們的新文章及時出現(xiàn)在您的訂閱列表中,或順手「點贊」給我們一個支持,讓我們做的更好哦。


          歡迎微信搜索并關(guān)注「目標(biāo)檢測與深度學(xué)習(xí)」,不被垃圾信息干擾,只分享有價值知識!


          瀏覽 36
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          分享
          舉報
          <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>
                  免费一区二区精品 | 日韩精品二区中文字 | 久久毛片 | 国产日韩在线观看一区 | 久久人妻无码毛片A片麻豆 |