中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

長春網(wǎng)站開發(fā)推薦網(wǎng)絡(luò)營銷案例100例

長春網(wǎng)站開發(fā)推薦,網(wǎng)絡(luò)營銷案例100例,湛江做網(wǎng)站哪家好,公司網(wǎng)站如何被百度快照文章目錄 0 前言2 先上成果3 多目標(biāo)跟蹤的兩種方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟蹤過程4.1 存在的問題4.2 基于軌跡預(yù)測的跟蹤方式 5 訓(xùn)練代碼6 最后 0 前言 🔥 優(yōu)質(zhì)競賽項目系列,今天要分享的是 🚩 深度學(xué)習(xí)多目標(biāo)跟蹤 …

文章目錄

  • 0 前言
  • 2 先上成果
  • 3 多目標(biāo)跟蹤的兩種方法
    • 3.1 方法1
    • 3.2 方法2
  • 4 Tracking By Detecting的跟蹤過程
    • 4.1 存在的問題
    • 4.2 基于軌跡預(yù)測的跟蹤方式
  • 5 訓(xùn)練代碼
  • 6 最后

0 前言

🔥 優(yōu)質(zhì)競賽項目系列,今天要分享的是

🚩 深度學(xué)習(xí)多目標(biāo)跟蹤 實時檢測

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

🥇學(xué)長這里給一個題目綜合評分(每項滿分5分)

  • 難度系數(shù):3分
  • 工作量:3分
  • 創(chuàng)新點:4分

🧿 更多資料, 項目分享:

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

2 先上成果

在這里插入圖片描述

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

3.1 方法1

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

3.2 方法2

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

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

4 Tracking By Detecting的跟蹤過程

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

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

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

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

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

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

3)在上一幀中存在某個目標(biāo),這一幀中并沒有與之關(guān)聯(lián)的目標(biāo),那么說明該目標(biāo)可能從視野中消失了,我們需要將其移除。(注意這里的可能,因為有可能由于檢測誤差,在這一幀中該目標(biāo)并沒有被檢測到)

在這里插入圖片描述

4.1 存在的問題

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

在這里插入圖片描述
如上圖,實線框表示目標(biāo)在第一幀的位置,虛線框表示目標(biāo)在第二幀的位置。當(dāng)目標(biāo)運行速度比較慢的時候,通過之前的跟蹤方式可以很準(zhǔn)確的關(guān)聯(lián)(A, A’)和(B,
B’)。但是當(dāng)目標(biāo)運行速度很快(或者隔幀檢測)時,在第二幀中,A就會運動到第一幀中B的位置,而B則運動到其他位置。這個時候使用上面的關(guān)聯(lián)方法就會得到錯誤的結(jié)果。

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

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

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

在這里插入圖片描述

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

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

在這里插入圖片描述
如上圖,通過前面6幀的位置,我可以擬合出來一條(T->XY)的曲線(注意不是圖中的直線),然后預(yù)測目標(biāo)在T+1幀的位置。具體實現(xiàn)很簡單,Python中的numpy庫中有類似功能的方法。

5 訓(xùn)練代碼

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

?
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_lossgrads = 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_losslogging.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 最后

🧿 更多資料, 項目分享:

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

http://www.risenshineclean.com/news/48573.html

相關(guān)文章:

  • centos lamp wordpress百度seo搜索
  • 內(nèi)江網(wǎng)站建設(shè)0832hdsj長沙疫情最新消息今天封城了
  • 河南做網(wǎng)站哪個公司好蘋果cms永久免費全能建站程序
  • 做網(wǎng)站生意越來越差阜陽seo
  • 重慶專業(yè)的網(wǎng)站建設(shè)網(wǎng)站百度權(quán)重查詢
  • 14版哥斯拉的官方做的宣傳網(wǎng)站營銷策略有哪幾種
  • 網(wǎng)站怎樣做權(quán)重百度賬號免費注冊
  • 大公司做網(wǎng)站怎么創(chuàng)建一個網(wǎng)站
  • 網(wǎng)站開發(fā)實例視頻常用的網(wǎng)絡(luò)推廣方法
  • 82端口做網(wǎng)站品牌傳播策劃方案
  • 上海專業(yè)做網(wǎng)站公司電話石家莊網(wǎng)絡(luò)關(guān)鍵詞排名
  • 現(xiàn)在pc網(wǎng)站的標(biāo)準(zhǔn)一般是做多大網(wǎng)絡(luò)營銷的作用
  • 招商加盟網(wǎng)站模板程序百度網(wǎng)站推廣怎么做
  • 那個網(wǎng)站有免費的模板百度搜索指數(shù)查詢
  • mac做網(wǎng)站設(shè)計全網(wǎng)營銷渠道
  • 安卓系統(tǒng)誰開發(fā)的5年網(wǎng)站seo優(yōu)化公司
  • 為什么做這個網(wǎng)站項目企業(yè)seo
  • 溫州市建設(shè)工程信息網(wǎng)溫州seo教程
  • 計算機課程網(wǎng)站建設(shè)實訓(xùn)報告總結(jié)南昌seo搜索排名
  • 上海住房和城市建設(shè)廳網(wǎng)站app推廣項目從哪接一手
  • 廣州網(wǎng)站營銷優(yōu)化開發(fā)請輸入搜索關(guān)鍵詞
  • 自己做圖片的網(wǎng)站網(wǎng)絡(luò)營銷渠道類型有哪些
  • 合肥哪里有做網(wǎng)站今天合肥剛剛發(fā)生的重大新聞
  • 商務(wù)部直銷行業(yè)管理信息系統(tǒng)西安網(wǎng)站seo排名優(yōu)化
  • 作弊網(wǎng)站網(wǎng)站開發(fā)建設(shè)步驟
  • 個人做的小網(wǎng)站需要備案網(wǎng)絡(luò)推廣銷售是做什么的
  • 公司做網(wǎng)站要注意什么seo需要培訓(xùn)才能找到工作嗎
  • 網(wǎng)站優(yōu)化軟件排名器怎么創(chuàng)建網(wǎng)頁鏈接
  • 網(wǎng)站日均ip過萬怎么做最佳磁力搜索引擎
  • 河長制網(wǎng)站建設(shè)希愛力雙效片的作用與功效