国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)的視頻多目標(biāo)跟蹤實(shí)現(xiàn)

這篇具有很好參考價(jià)值的文章主要介紹了計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)的視頻多目標(biāo)跟蹤實(shí)現(xiàn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1 前言

?? 優(yōu)質(zhì)競(jìng)賽項(xiàng)目系列,今天要分享的是

基于深度學(xué)習(xí)的視頻多目標(biāo)跟蹤實(shí)現(xiàn)

該項(xiàng)目較為新穎,適合作為競(jìng)賽課題方向,學(xué)長(zhǎng)非常推薦!

?? 更多資料, 項(xiàng)目分享:

https://gitee.com/dancheng-senior/postgraduate文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-838457.html

2 先上成果

計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)的視頻多目標(biāo)跟蹤實(shí)現(xiàn),python

3 多目標(biāo)跟蹤的兩種方法

3.1 方法1

基于初始化幀的跟蹤,在視頻第一幀中選擇你的目標(biāo),之后交給跟蹤算法去實(shí)現(xiàn)目標(biāo)的跟蹤。這種方式基本上只能跟蹤你第一幀選中的目標(biāo),如果后續(xù)幀中出現(xiàn)了新的物體目標(biāo),算法是跟蹤不到的。這種方式的優(yōu)點(diǎn)是速度相對(duì)較快。缺點(diǎn)很明顯,不能跟蹤新出現(xiàn)的目標(biāo)。

3.2 方法2

基于目標(biāo)檢測(cè)的跟蹤,在視頻每幀中先檢測(cè)出來(lái)所有感興趣的目標(biāo)物體,然后將其與前一幀中檢測(cè)出來(lái)的目標(biāo)進(jìn)行關(guān)聯(lián)來(lái)實(shí)現(xiàn)跟蹤的效果。這種方式的優(yōu)點(diǎn)是可以在整個(gè)視頻中跟蹤隨時(shí)出現(xiàn)的新目標(biāo),當(dāng)然這種方式要求你前提得有一個(gè)好的“目標(biāo)檢測(cè)”算法。

學(xué)長(zhǎng)主要分享Option2的實(shí)現(xiàn)原理,也就是Tracking By Detecting的跟蹤方式。

4 Tracking By Detecting的跟蹤過(guò)程

**Step1:**使用目標(biāo)檢測(cè)算法將每幀中感興趣的目標(biāo)檢測(cè)出來(lái),得到對(duì)應(yīng)的(位置坐標(biāo), 分類(lèi), 可信度),假設(shè)檢測(cè)到的目標(biāo)數(shù)量為M;

**Step2:**通過(guò)某種方式將Step1中的檢測(cè)結(jié)果與上一幀中的檢測(cè)目標(biāo)(假設(shè)上一幀檢測(cè)目標(biāo)數(shù)量為N)一一關(guān)聯(lián)起來(lái)。換句話說(shuō),就是在M*N個(gè)Pair中找出最像似的Pair。

對(duì)于Step2中的“某種方式”,其實(shí)有多種方式可以實(shí)現(xiàn)目標(biāo)的關(guān)聯(lián),比如常見(jiàn)的計(jì)算兩幀中兩個(gè)目標(biāo)之間的歐幾里得距離(平面兩點(diǎn)之間的直線距離),距離最短就認(rèn)為是同一個(gè)目標(biāo),然后通過(guò)匈牙利算法找出最匹配的Pair。當(dāng)讓?zhuān)氵€可以加上其他的判斷條件,比如我用到的IOU,計(jì)算兩個(gè)目標(biāo)Box(位置大小方框)的交并比,該值越接近1就代表是同一個(gè)目標(biāo)。還有其他的比如判斷兩個(gè)目標(biāo)的外觀是否相似,這就需要用到一種外觀模型去做比較了,可能耗時(shí)更長(zhǎng)。

在關(guān)聯(lián)的過(guò)程中,會(huì)出現(xiàn)三種情況:

1)在上一幀中的N個(gè)目標(biāo)中找到了本次檢測(cè)到的目標(biāo),說(shuō)明正常跟蹤到了;

2)在上一幀中的N個(gè)目標(biāo)中沒(méi)有找到本次檢測(cè)到的目標(biāo),說(shuō)明這個(gè)目標(biāo)是這一幀中新出現(xiàn)的,所以我們需要把它記錄下來(lái),用于下下一次的跟蹤關(guān)聯(lián);

3)在上一幀中存在某個(gè)目標(biāo),這一幀中并沒(méi)有與之關(guān)聯(lián)的目標(biāo),那么說(shuō)明該目標(biāo)可能從視野中消失了,我們需要將其移除。(注意這里的可能,因?yàn)橛锌赡苡捎跈z測(cè)誤差,在這一幀中該目標(biāo)并沒(méi)有被檢測(cè)到)

計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)的視頻多目標(biāo)跟蹤實(shí)現(xiàn),python

4.1 存在的問(wèn)題

上面提到的跟蹤方法在正常情況下都能夠很好的工作,但是如果視頻中目標(biāo)運(yùn)動(dòng)得很快,前后兩幀中同一個(gè)目標(biāo)運(yùn)動(dòng)的距離很遠(yuǎn),那么這種跟蹤方式就會(huì)出現(xiàn)問(wèn)題。

計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)的視頻多目標(biāo)跟蹤實(shí)現(xiàn),python
如上圖,實(shí)線框表示目標(biāo)在第一幀的位置,虛線框表示目標(biāo)在第二幀的位置。當(dāng)目標(biāo)運(yùn)行速度比較慢的時(shí)候,通過(guò)之前的跟蹤方式可以很準(zhǔn)確的關(guān)聯(lián)(A, A’)和(B,
B’)。但是當(dāng)目標(biāo)運(yùn)行速度很快(或者隔幀檢測(cè))時(shí),在第二幀中,A就會(huì)運(yùn)動(dòng)到第一幀中B的位置,而B(niǎo)則運(yùn)動(dòng)到其他位置。這個(gè)時(shí)候使用上面的關(guān)聯(lián)方法就會(huì)得到錯(cuò)誤的結(jié)果。

那么怎樣才能更加準(zhǔn)確地進(jìn)行跟蹤呢?

4.2 基于軌跡預(yù)測(cè)的跟蹤方式

既然通過(guò)第二幀的位置與第一幀的位置進(jìn)行對(duì)比關(guān)聯(lián)會(huì)出現(xiàn)誤差,那么我們可以想辦法在對(duì)比之前,先預(yù)測(cè)目標(biāo)的下一幀會(huì)出現(xiàn)的位置,然后與該預(yù)測(cè)的位置來(lái)進(jìn)行對(duì)比關(guān)聯(lián)。這樣的話,只要預(yù)測(cè)足夠精確,那么幾乎不會(huì)出現(xiàn)前面提到的由于速度太快而存在的誤差

計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)的視頻多目標(biāo)跟蹤實(shí)現(xiàn),python

如上圖,我們?cè)趯?duì)比關(guān)聯(lián)之前,先預(yù)測(cè)出A和B在下一幀中的位置,然后再使用實(shí)際的檢測(cè)位置與預(yù)測(cè)的位置進(jìn)行對(duì)比關(guān)聯(lián),可以完美地解決上面提到的問(wèn)題。理論上,不管目標(biāo)速度多么快,都能關(guān)聯(lián)上。那么問(wèn)題來(lái)了,怎么預(yù)測(cè)目標(biāo)在下一幀的位置?

方法有很多,可以使用卡爾曼濾波來(lái)根據(jù)目標(biāo)前面幾幀的軌跡來(lái)預(yù)測(cè)它下一幀的位置,還可以使用自己擬合出來(lái)的函數(shù)來(lái)預(yù)測(cè)下一幀的位置。實(shí)際過(guò)程中,我是使用擬合函數(shù)來(lái)預(yù)測(cè)目標(biāo)在下一幀中的位置。

計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)的視頻多目標(biāo)跟蹤實(shí)現(xiàn),python
如上圖,通過(guò)前面6幀的位置,我可以擬合出來(lái)一條(T->XY)的曲線(注意不是圖中的直線),然后預(yù)測(cè)目標(biāo)在T+1幀的位置。具體實(shí)現(xiàn)很簡(jiǎn)單,Python中的numpy庫(kù)中有類(lèi)似功能的方法。

5 訓(xùn)練代碼

這里記錄一下訓(xùn)練代碼,來(lái)日更新

?

 if FLAGS.mode == 'eager_tf':
        # Eager mode is great for debugging
        # Non eager graph mode is recommended for real training
        avg_loss = tf.keras.metrics.Mean('loss', dtype=tf.float32)
        avg_val_loss = tf.keras.metrics.Mean('val_loss', dtype=tf.float32)

        for epoch in range(1, FLAGS.epochs + 1):
            for batch, (images, labels) in enumerate(train_dataset):
                with tf.GradientTape() as tape:
                    outputs = model(images, training=True)
                    regularization_loss = tf.reduce_sum(model.losses)
                    pred_loss = []
                    for output, label, loss_fn in zip(outputs, labels, loss):
                        pred_loss.append(loss_fn(label, output))
                    total_loss = tf.reduce_sum(pred_loss) + regularization_loss

                grads = tape.gradient(total_loss, model.trainable_variables)
                optimizer.apply_gradients(
                    zip(grads, model.trainable_variables))

                logging.info("{}_train_{}, {}, {}".format(
                    epoch, batch, total_loss.numpy(),
                    list(map(lambda x: np.sum(x.numpy()), pred_loss))))
                avg_loss.update_state(total_loss)

            for batch, (images, labels) in enumerate(val_dataset):
                outputs = model(images)
                regularization_loss = tf.reduce_sum(model.losses)
                pred_loss = []
                for output, label, loss_fn in zip(outputs, labels, loss):
                    pred_loss.append(loss_fn(label, output))
                total_loss = tf.reduce_sum(pred_loss) + regularization_loss

                logging.info("{}_val_{}, {}, {}".format(
                    epoch, batch, total_loss.numpy(),
                    list(map(lambda x: np.sum(x.numpy()), pred_loss))))
                avg_val_loss.update_state(total_loss)

            logging.info("{}, train: {}, val: {}".format(
                epoch,
                avg_loss.result().numpy(),
                avg_val_loss.result().numpy()))

            avg_loss.reset_states()
            avg_val_loss.reset_states()
            model.save_weights(
                'checkpoints/yolov3_train_{}.tf'.format(epoch))

6 最后

?? 更多資料, 項(xiàng)目分享:

https://gitee.com/dancheng-senior/postgraduate

到了這里,關(guān)于計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)的視頻多目標(biāo)跟蹤實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 計(jì)算機(jī)設(shè)計(jì)大賽 題目:基于深度學(xué)習(xí)的中文對(duì)話問(wèn)答機(jī)器人

    計(jì)算機(jī)設(shè)計(jì)大賽 題目:基于深度學(xué)習(xí)的中文對(duì)話問(wèn)答機(jī)器人

    ?? 優(yōu)質(zhì)競(jìng)賽項(xiàng)目系列,今天要分享的是 基于深度學(xué)習(xí)的中文對(duì)話問(wèn)答機(jī)器人 該項(xiàng)目較為新穎,適合作為競(jìng)賽課題方向,學(xué)長(zhǎng)非常推薦! ?? 更多資料, 項(xiàng)目分享: https://gitee.com/dancheng-senior/postgraduate 整個(gè)項(xiàng)目分為 數(shù)據(jù)清洗 和 建立模型兩個(gè)部分。 (1)主要定義了seq2seq這樣

    2024年04月12日
    瀏覽(1879)
  • 計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)YOLO抽煙行為檢測(cè) - python opencv

    計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)YOLO抽煙行為檢測(cè) - python opencv

    ?? 優(yōu)質(zhì)競(jìng)賽項(xiàng)目系列,今天要分享的是 ?? 基于深度學(xué)習(xí)YOLO抽煙行為檢測(cè) 該項(xiàng)目較為新穎,適合作為競(jìng)賽課題方向,學(xué)長(zhǎng)非常推薦! ??學(xué)長(zhǎng)這里給一個(gè)題目綜合評(píng)分(每項(xiàng)滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點(diǎn):4分 ?? 更多資料, 項(xiàng)目分享: https://gitee.com/dancheng-sen

    2024年02月22日
    瀏覽(313)
  • 計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)人臉表情識(shí)別算法 - opencv python 機(jī)器視覺(jué)

    計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)人臉表情識(shí)別算法 - opencv python 機(jī)器視覺(jué)

    ?? 優(yōu)質(zhì)競(jìng)賽項(xiàng)目系列,今天要分享的是 ?? 深度學(xué)習(xí)人臉表情識(shí)別系統(tǒng) 該項(xiàng)目較為新穎,適合作為競(jìng)賽課題方向,學(xué)長(zhǎng)非常推薦! ??學(xué)長(zhǎng)這里給一個(gè)題目綜合評(píng)分(每項(xiàng)滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點(diǎn):4分 ?? 更多資料, 項(xiàng)目分享: https://gitee.com/dancheng-senior/

    2024年02月21日
    瀏覽(570)
  • 計(jì)算機(jī)視覺(jué)+深度學(xué)習(xí)+機(jī)器學(xué)習(xí)+opencv+目標(biāo)檢測(cè)跟蹤(代碼+視頻)

    計(jì)算機(jī)視覺(jué)+深度學(xué)習(xí)+機(jī)器學(xué)習(xí)+opencv+目標(biāo)檢測(cè)跟蹤(代碼+視頻)

    計(jì)算機(jī)視覺(jué)、深度學(xué)習(xí)和機(jī)器學(xué)習(xí)是當(dāng)今最熱門(mén)的技術(shù),它們被廣泛應(yīng)用于各種領(lǐng)域,如自動(dòng)駕駛、醫(yī)學(xué)圖像分析、安防監(jiān)控等。而目標(biāo)檢測(cè)跟蹤技術(shù)則是計(jì)算機(jī)視覺(jué)中的一個(gè)重要分支,它可以幫助我們?cè)趫D像或視頻中自動(dòng)識(shí)別和跟蹤特定的目標(biāo)。 下面我們來(lái)一一介紹這些技

    2024年02月01日
    瀏覽(58)
  • 計(jì)算機(jī)設(shè)計(jì)大賽 交通目標(biāo)檢測(cè)-行人車(chē)輛檢測(cè)流量計(jì)數(shù) - 計(jì)算機(jī)設(shè)計(jì)大賽

    計(jì)算機(jī)設(shè)計(jì)大賽 交通目標(biāo)檢測(cè)-行人車(chē)輛檢測(cè)流量計(jì)數(shù) - 計(jì)算機(jī)設(shè)計(jì)大賽

    ?? 優(yōu)質(zhì)競(jìng)賽項(xiàng)目系列,今天要分享的是 ?? 畢業(yè)設(shè)計(jì) 交通目標(biāo)檢測(cè)-行人車(chē)輛檢測(cè)流量計(jì)數(shù) 該項(xiàng)目較為新穎,適合作為競(jìng)賽課題方向,學(xué)長(zhǎng)非常推薦! ??學(xué)長(zhǎng)這里給一個(gè)題目綜合評(píng)分(每項(xiàng)滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點(diǎn):4分 ?? 更多資料, 項(xiàng)目分享: https://

    2024年01月25日
    瀏覽(25)
  • 計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)人體跌倒檢測(cè) -yolo 機(jī)器視覺(jué) opencv python

    計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)人體跌倒檢測(cè) -yolo 機(jī)器視覺(jué) opencv python

    ?? 優(yōu)質(zhì)競(jìng)賽項(xiàng)目系列,今天要分享的是 ?? **基于深度學(xué)習(xí)的人體跌倒檢測(cè)算法研究與實(shí)現(xiàn) ** 該項(xiàng)目較為新穎,適合作為競(jìng)賽課題方向,學(xué)長(zhǎng)非常推薦! ??學(xué)長(zhǎng)這里給一個(gè)題目綜合評(píng)分(每項(xiàng)滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點(diǎn):5分 ?? 更多資料, 項(xiàng)目分享: https

    2024年02月21日
    瀏覽(169)
  • 計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)疲勞檢測(cè) 駕駛行為檢測(cè) - python opencv cnn

    計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)疲勞檢測(cè) 駕駛行為檢測(cè) - python opencv cnn

    ?? 優(yōu)質(zhì)競(jìng)賽項(xiàng)目系列,今天要分享的是 ?? **基于深度學(xué)習(xí)加駕駛疲勞與行為檢測(cè) ** 該項(xiàng)目較為新穎,適合作為競(jìng)賽課題方向,學(xué)長(zhǎng)非常推薦! ??學(xué)長(zhǎng)這里給一個(gè)題目綜合評(píng)分(每項(xiàng)滿分5分) 難度系數(shù):4分 工作量:3分 創(chuàng)新點(diǎn):5分 ?? 更多資料, 項(xiàng)目分享: https://gitee.com

    2024年03月14日
    瀏覽(164)
  • 計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)YOLO安檢管制物品識(shí)別與檢測(cè) - python opencv

    計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)YOLO安檢管制物品識(shí)別與檢測(cè) - python opencv

    ?? 優(yōu)質(zhì)競(jìng)賽項(xiàng)目系列,今天要分享的是 ?? **基于深度學(xué)習(xí)YOLO安檢管制誤判識(shí)別與檢測(cè) ** 該項(xiàng)目較為新穎,適合作為競(jìng)賽課題方向,學(xué)長(zhǎng)非常推薦! ??學(xué)長(zhǎng)這里給一個(gè)題目綜合評(píng)分(每項(xiàng)滿分5分) 難度系數(shù):4分 工作量:3分 創(chuàng)新點(diǎn):4分 ?? 更多資料, 項(xiàng)目分享: https://gi

    2024年02月20日
    瀏覽(99)
  • 計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)YOLOv5車(chē)輛顏色識(shí)別檢測(cè) - python opencv

    計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)YOLOv5車(chē)輛顏色識(shí)別檢測(cè) - python opencv

    ?? 優(yōu)質(zhì)競(jìng)賽項(xiàng)目系列,今天要分享的是 ?? **基于深度學(xué)習(xí)YOLOv5車(chē)輛顏色識(shí)別檢測(cè) ** 該項(xiàng)目較為新穎,適合作為競(jìng)賽課題方向,學(xué)長(zhǎng)非常推薦! ??學(xué)長(zhǎng)這里給一個(gè)題目綜合評(píng)分(每項(xiàng)滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點(diǎn):4分 ?? 更多資料, 項(xiàng)目分享: https://gitee.com

    2024年02月19日
    瀏覽(174)
  • 計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)人體語(yǔ)義分割在彈幕防遮擋上的實(shí)現(xiàn) - python

    計(jì)算機(jī)設(shè)計(jì)大賽 深度學(xué)習(xí)人體語(yǔ)義分割在彈幕防遮擋上的實(shí)現(xiàn) - python

    ?? 優(yōu)質(zhì)競(jìng)賽項(xiàng)目系列,今天要分享的是 ?? 深度學(xué)習(xí)人體語(yǔ)義分割在彈幕防遮擋上的應(yīng)用 該項(xiàng)目較為新穎,適合作為競(jìng)賽課題方向,學(xué)長(zhǎng)非常推薦! ??學(xué)長(zhǎng)這里給一個(gè)題目綜合評(píng)分(每項(xiàng)滿分5分) 難度系數(shù):3分 工作量:3分 創(chuàng)新點(diǎn):3分 ?? 更多資料, 項(xiàng)目分享: https://gi

    2024年02月20日
    瀏覽(642)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包