精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

以《貓和老鼠》為例,計算任意視頻中湯姆貓和杰瑞鼠的出鏡時長

DPVg_AI_era ? 來源:未知 ? 作者:李倩 ? 2018-10-04 08:49 ? 次閱讀

本文作者Pulkit Sharma分享了一篇有趣的項目,以《貓和老鼠》為例,計算任意視頻中湯姆貓和杰瑞鼠的出鏡時長。這一模型也可以用于其他電影,輕松統計各演員的上鏡時間。

簡介

當我開始接觸深度學習時,學到的第一件事就是圖像分類。這個話題非常有趣,包括我在內的很多人都沉浸在它的魅力之中。但是在我處理圖像分類時總會思考,如果我能將學到的東西遷移到視頻上就好了。

是否有一種模型能在特定時間內自動識別視頻中的某個人物呢?結果證明的確可以做到,下面就將我的方法分享給你們!

影視明星的出鏡時間是非常重要的,直接影響他們的片酬。舉個例子,在《蜘蛛俠:英雄歸來》中,小羅伯特唐尼僅僅出鏡15分鐘就有高達1000萬美元的片酬。

如果我能計算任意影片中所有演員的出鏡時間,那就太棒了!在這篇文章中,我將幫你理解如何在視頻數據中使用深度學習。我們就用《貓和老鼠》作為例子,計算任意視頻中,湯姆和杰瑞的出現時間。

目錄

讀取視頻并提取幀

如何用Python處理視頻文件

計算出鏡時間——一種簡單的解決方案

我的收獲

讀取視頻并提取幀

如上面的動圖所示,,每一頁紙上都有不同的畫面,隨著我們翻動書頁,可以看到一只跳舞的鯊魚,而且翻動的速度越快,效果越好。這也可以看作一種視頻,換句話說,這種視覺效果是不同圖像以特定順序排列在一起產生的。

同樣的,視頻也是由一系列圖片組成的,這些圖片稱為“幀”,可以通過組合得到原始視頻。所以與視頻數據有關的問題和圖像分類或者目標檢測問題并沒有什么不同。只是從視頻中提取幀需要多一個步驟。

我們這次的目的試計算湯姆和杰瑞在視頻中各自的出鏡時間,首先讓我們確定一下文中要做的步驟:

導入并讀取視頻,從中提取幀,將它們保存為圖片

標記一些圖片用于模型的訓練(這一步我已經做好了)

在訓練數據上搭建自己的模型

對剩余圖片進行預測

計算湯姆和杰瑞各自的出鏡時間

跟著以下步驟學習,將會幫助你解決很多深度學習相關的問題。

如何用Python處理視頻文件

首先要下載所有必需的庫:

NumPy

Pandas

Matplotlib

Keras

Skimage

OpenCV

第一步:讀取視頻并從中提取幀,將其保存為圖像

現在我們要下載視頻,并將它轉換成幀的形式。首先我們可以用VideoCapture( )函數從給定目錄中提取視頻,然后從視頻中提取幀,用imwrite( )函數將它們保存為圖像。

視頻下載地址:drive.google.com/file/d/1_DcwBhYo15j7AU-v2gN61qGGd1ZablGK/view

這個過程完成后,屏幕上會出現“Done!”的字樣。下面我們試著對圖像(幀)進行可視化,首先用matplotlib中的imread( )函數讀取圖像,然后用imshow( )函數顯示圖像。

這就是視頻中的第一幀。我們從每秒中提取一幀,由于視頻時長為4:58(共298秒),我們現在一共有298張照片。

我們的任務時確定哪張照片上有湯姆,哪張有杰瑞。如果我們提取出的圖像能和常見的ImageNet數據集中的圖片有很大的相似性,那么這個問題就能輕而易舉地解決了。但是這樣的樂趣在哪里?

我們的是動畫片,所以要讓任何預訓練模型在給定的視頻中定位湯姆和杰瑞還是有難度的。

第二步:標記圖片訓練模型

要實現標記圖片,一種可能的方案是手動貼標簽。一旦模型學會了特定模式,我們就能用它在之前沒見過的圖像上作出預測。

要記住的一點是,有些幀里可能沒有湯姆和杰瑞的鏡頭,所以我們要將其看成是多種類的分類問題:

0:沒有湯姆和杰瑞的鏡頭

1:杰瑞

2:湯姆

我已經給所有圖片打上了標簽,所以直接在mapping.csv文件中下載即可。

映射文件包含兩部分:

image_ID:包含每張照片的名稱

Class.Image_ID:含有每張圖對應的種類

下一步是讀取圖片信息,即他們的Image_ID部分:

現在我們就有了圖片,記住,我們要用兩部分訓練模型:

訓練圖片

對應的種類

由于這里有三種不同情況,我們將用keras.utils中的to_cateforical( )函數對他們進行獨熱編碼。

圖片再輸入到VGG16訓練前,尺寸需變為224×224×3,所以我們的圖片在輸入前要重設尺寸。我們要用到skimage.transform中的resize( )函數。

尺寸調整好后,我們還要對每個模型的需求進行預處理,否則模型就不會表現得很好。利用keras.applications.vgg16中的preprocess_input( )函數來完成這一步驟。

我們還需要一個驗證集來檢查模型在陌生圖片上的性能,這里就需要用到sklearn.modelselection模塊中的traintest_split( )函數來隨機將圖片分成訓練集和驗證集。

第三步:搭建模型

下一步就是搭建自己的模型。我們會用VGG16預訓練模型來完成這一任務。首先導入所需的庫:

下載VGG16與訓練模型,并將其保存為base_model:

用該模型對X_train和X_valid進行預測,得到特征,再用特征重新訓練模型。

Xtrain和Xvalid的尺寸分別為(208,7,7,512)和(90,7,7,512)。為了輸入到神經網絡,我們必須把它重新修改成1—D尺寸。

現在對圖像進行預處理,去中心化,讓模型收斂得更快。

最后,我們將搭建自己的模型,這一步可以分為三小步:

搭建模型

編譯模型

訓練模型

用summary( )函數檢查模型的匯總信息:

模型中有一隱藏層,有1024個神經元,輸出層有3個神經元(因為我們有3種不同的預測情況)?,F在我們開始編譯模型。

最后一步,我們要訓練模型,并且用驗證集檢測它在陌生圖像上的表現:

可以看到在驗證集上的表現很不錯,精確度達到85%。這就是我們如何在視頻數據上訓練模型,再對每一幀作出預測的步驟。

下面,我將計算湯姆和杰瑞在新視頻中的出鏡時間。

計算出鏡時間——一種簡單的解決方案

首先下載我們要用到的視頻。一旦完成,可以從中提取幀:

從新視頻中提取幀之后,我們就要下載test.csv文件,它包含每個提取出的幀的名字:

接著,我們將導入用于測試的圖片,然后針對之前提到的預訓練模型重新修改尺寸:

接著,我們還要對這些圖片進行調整,就像之前處理訓練圖片那樣:

由于我們之前訓練了模型,就可以用它做出預測了。

第四步:對剩余圖像進行預測

第五步:計算湯姆和杰瑞的出鏡時間

剛剛我們規定了1代表杰瑞,2代表湯姆,這樣就可以用上述的預測來計算兩個角色的出鏡時長了:

結果如上。

我的收獲

為了完成這一項目,我遇到了很多問題。下面是我遇到的一些挑戰及做出的應對對策。

首先,我嘗試在沒有刪除最頂層的情況下使用預訓練模型,結果并不理想。原因可能是由于我們的模型之前沒有在動畫片上接受訓練。為了解決這個問題,我重新用圖片訓練模型,結果好了很多。

但是盡管用帶有標記的圖片訓練,精確度仍然不理想。模型在訓練圖像上表現得并不好。所以,我試著增加圖層數量。這種做法結果不錯,但訓練和驗證精度之間并不對應。模型出現了過度擬合,它在陌生數據上表現得也不好。所以我在密集層之后增加了Dropout層,這樣就解決了。

我注意到,湯姆的出鏡時間更長,所以模型得出的很多結論都是湯姆。為了讓模型平衡預測,我用了sklearn.utils.classweight模塊中的computeclass_weight( )函數。它在數值計數較低的類別中分配了更高的權重,在較高的數值計數中分配較低權重。

另外,我還用Model Checkpoint保存了最佳模型。

最終,我們在驗證數據上達到了88%左右的結果,在測試數據上達到了64%的精確度結果。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 視頻
    +關注

    關注

    6

    文章

    1933

    瀏覽量

    72810
  • 圖像分類
    +關注

    關注

    0

    文章

    90

    瀏覽量

    11907
  • python
    +關注

    關注

    56

    文章

    4782

    瀏覽量

    84453

原文標題:Python視頻深度學習:計算任意影片中所有演員出鏡時間(代碼)

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    電子仿聲驅器電路設計

    老鼠的天敵,利用電子裝置來模擬貓叫聲驅是一種有效的方法。由于是電子裝置,貓叫聲可大可小,可快可慢,間隔時間可長可短,且電路結構簡單、成本低廉,適合電子愛好者自制用于家庭。
    發表于 10-08 13:47 ?2653次閱讀
    電子仿聲驅<b class='flag-5'>鼠</b>器電路設計

    自做會說話的湯姆

    我想自己制作一個會說話的湯姆送人,不知道怎么做,各位高手可不可以幫幫小弟,不勝感激?。。∮新曇翡浫胼敵龉δ芫托?。我的郵箱wanganangelsnow@126.com
    發表于 03-30 17:12

    基于LabVIEW的會說話的湯姆程序

    點擊學習>>《龍哥手把手教你學LabVIEW視覺設計》視頻教程今晚無聊,就開起LabVIEW來鼓搗,就這么做出個會說話的湯姆來了…不對,應該是會說話的小圓點,沒有湯姆
    發表于 06-26 22:58

    我的畢設是湯姆,大家可以給我一下這方面的建議嗎

    我的畢設是湯姆,大家可以給我一下這方面的建議嗎求指導程序
    發表于 01-10 15:52

    貼片天線設計的HFSS在天線設計的應用介紹

    /近場輻射方向圖、天線增益、軸比、計劃比、半功率波瓣寬度、內部電磁場場型、天線阻抗、電壓駐波比、S參數等等。下面貼片天線設計介紹一下HFSS在天線設計的應用。
    發表于 06-27 07:05

    函數/任意波形發生器的帶限噪聲信號產生方法介紹

    /任意波形發生器利用其配套的任意波形編輯軟件就可以直接實現滿足不同需求的各種帶限噪聲信號的輸出,真實模擬通信系統內部和實際信道的干擾環境,極大地方便了對系統進行有效、可靠的分析?! ”疚闹?b class='flag-5'>
    發表于 07-22 07:12

    什么原因視頻顯微的應用越來越廣泛,華顯光學您做解答!

    具體體現在哪里? 既然視頻顯微又被稱為數碼顯微,所以其突出的特點就是可以將圖像數模轉換的方式呈現在計算機等終端上,這樣的好處不僅僅是
    發表于 02-12 17:13

    仿貓叫電子驅器電路資料推薦

    本電路我們暫且稱其為“仿聲原理電子驅器”,它不是我們常見的利用高強度超聲波驅趕老鼠的工作方式,而是利用電子電路產生一種逼真的貓叫聲,用模擬出來的這種叫聲嚇阻老鼠不讓其在一定范圍內活動。至于這種驅
    發表于 04-28 06:36

    電腦概述

    Harrison新加坡 黃明吉先生個人主頁2009人工智慧單晶片電腦即機器人競賽教學視頻中國***地區第14屆人工智慧單晶片電腦競賽3.電腦實驗平臺以及關鍵技術實驗平臺
    發表于 09-13 08:47

    制作驅劑的教程

    描述驅劑我的項目是關于驅劑的,我之所以成功是因為我的房間里有很多老鼠,我必須讓它消失。我有想法制作驅劑。PCB
    發表于 08-26 06:58

    電子仿聲驅

      老鼠的天敵,利用電子裝置來模擬貓叫聲驅是一種有效的方法。由于是電子裝置,貓叫聲
    發表于 04-16 22:19 ?1670次閱讀
    電子仿聲驅<b class='flag-5'>鼠</b>器

    開關電源在微型計算機中的應用(長城0520A)

    開關電源在微型計算機中的應用(長城0520A)
    發表于 11-03 11:25 ?1305次閱讀
    開關電源在微型<b class='flag-5'>計算機中</b>的應用(<b class='flag-5'>以</b>長城0520A<b class='flag-5'>為</b><b class='flag-5'>例</b>)

    電子驅器工作原理及常見故障檢修

    電子驅器一般置于存放各類食品、糧食的倉庫等場所。它在工作時能產生逼真的貓叫聲,起到驅作用,可避免因使用鼠藥或機械滅鼠器而發生死老鼠對食品造成污染,保證食品安全。電子驅
    的頭像 發表于 02-11 16:07 ?2.1w次閱讀
    電子驅<b class='flag-5'>鼠</b>器工作原理及常見故障檢修

    湯姆加速布局AI應用,接入OpenAI Sora模型,探索生成視頻素材之道

    湯姆稱,Sora是人工智能不斷演進的里程碑之作。類似Sora的各類AI工具能夠助其更高效率、更低成本創建豐富多樣且用戶體驗佳的AI應用產品和服務。
    的頭像 發表于 03-04 13:46 ?650次閱讀

    湯姆正在推進申請接入OpenAI的Sora模型

    湯姆在互動平臺上透露,公司正在積極推進申請接入OpenAI的Sora模型,并計劃進行相關素材制作的測試。目前,湯姆尚未正式接入Sora模型。
    的頭像 發表于 03-05 10:20 ?850次閱讀