開發教程 |基于ModelArts的視頻全量目標分析和建模案例分析

      網友投稿 994 2025-04-01

      項目介紹


      本案例來自于第九屆中國軟件杯大賽A組賽題《視頻全量目標分析和建?!?。

      項目場景

      給出一段2分鐘的高清視頻,對視頻中出現的物體進行目標檢測和統計。視頻通過行車記錄儀采集,主要目標物為車輛,建筑,行人等。為了縮短模型推理時間,我們只使用了約30秒的視頻進行測試。

      基本要求

      識別不同類型的目標;輸出每種類型的圖片;統計每個類別的物體數量。下圖是一個參考示意圖。

      時間限制

      在30分鐘內完成推理結果。

      算法構思

      項目分析

      一般對于圖像的目標進行檢測和統計,需要使用目標檢測技術;而對于項目所給出的視頻,考慮到前后圖像的關聯性,還需要使用目標跟蹤技術。

      參考代碼

      常用的目標檢測方法有YOLO系列、SSD、R-CNN等。

      常用的目標跟蹤方法有SORT、 DeepSORT等。

      本實例在YOLOv3和DeepSORT的基礎上進行了改進,代碼借鑒了Object-Detection-and-Tracking。

      實際操作

      注冊華為云賬號

      進入華為云首頁,單擊頁面右上角的“注冊”。

      設置手機號、短信驗證碼、賬號名、密碼并勾選“我已閱讀并同意《華為云用戶協議》和《隱私政策聲明》”,單擊“同意協議并注冊”。

      實名認證

      賬號注冊成功后,登錄華為云,單擊界面右上角“用戶名>實名認證”。賬號類型選“個人”,個人認證類型推薦使用“掃碼認證”(華為云app)。

      服務授權

      點此進入ModelArts 控制臺頁面,點擊左下角的“全劇配置”,選擇“訪問授權”,按下圖順序操作:

      下載代碼、視頻

      從OBS桶下載代碼、視頻,點擊下列鏈接即可下載。

      test.ipynb

      data_process.ipynb

      code.tar

      創建OBS桶

      OBS大家可以簡單地理解成一個在線網盤,因為ModelArts本身目前沒有數據存儲的功能,所以需要從OBS里存儲我們上傳的數據進行訓練。

      點擊進入華為云OBS控制臺,進入后點擊右上角的【創建桶】按鈕(這里的桶可以理解成OBS進行存儲的基本單位,所有的數據必須存儲在某個桶里)。

      進入新建桶界面, 按照如下示例進行填寫:

      區域:華北-北京四;數據冗余存儲策略:單AZ存儲;桶名稱:自定義,需要全局唯一,即在整個華為云上的名字唯一;其它選項保持默認即可。

      使用OBS桶上傳代碼、視頻

      在OBS首頁,找到我們剛剛新建的桶,并點擊桶名稱進入桶內容管理界面。

      進入后,點擊左側“對象”按鈕,進入數據上傳界面,點擊“上傳對象“按鈕,彈出上傳對象框,我們直接用鼠標將前面下載好的壓縮包拖拽到到上傳對象框內。

      在文件夾中有code.tar,test.ipynb文件和data_process.ipynb文件三個文件,只需要上傳code.tar即可。

      創建開發環境

      在ModelArts左側導航欄選擇“開發環境 > Notebook”,單擊頁面中“創建”。

      在創建Notebook頁面填寫參數,可參考下圖填寫配置參數。

      點擊右側的“打開”,打開 Notebook 環境。

      上傳腳本文件

      進入Notebook 環境后,點擊右側的“Upload”,從百度云下載好的data_process.ipynb和test.ipynb文件上傳。

      運行data_process.ipynb文件

      注意,要將第一個地址修改為你自己的OBS桶名稱。

      對代碼文件進行解壓縮。

      開發教程 |基于ModelArts的視頻全量目標分析和建模案例分析

      運行test.ipynb文件

      我們需要切換到代碼文件夾下,通過test.ipynb文件執行主文件main.py。

      將代碼運行所需要的依賴庫都寫到了requirements.txt文件里,可以一次性安裝完畢。

      執行主文件main.py

      算法入口定義在main.py文件中,只需要執行這一個文件,就可以完成視頻的目標檢測及跟蹤。

      while True: # 從視頻中抽取一幀圖像 ret, frame = video_capture.read() # frame shape 640*480*33 if ret != True: break image = Image.fromarray(frame[...,::-1]) #bgr to rgb # 將抽取的圖像傳入YOLOv3進行目標檢測,得到目標框和類別。 boxs,class_names = yolo.detect_image(image) # 將抽取的圖像和目標檢測得到目標框傳入DeepSORT進行目標跟蹤。 features = encoder(frame, boxs) # 設置置信度為1.0 detections = [Detection(bbox, 1.0, feature, cl) for bbox, feature, cl in zip(boxs, features, class_names)] boxes = np.array([d.tlwh for d in detections]) scores = np.array([d.confidence for d in detections]) indices = preprocessing.non_max_suppression(boxes, nms_max_overlap, scores) detections = [detections[i] for i in indices] # 進行目標更新 tracker.predict() tracker.update(detections)

      -i參數表示輸入視頻的路徑。

      查看結果

      將結果保存在output文件夾中,內容包括視頻、圖片和文本。

      視頻outputVideo.avi可運行test.ipynb文件中的代碼查看,也可以到output文件夾下查看。

      文本totalCount.txt截圖。

      圖片imageSeg部分展示。

      保存結果

      運行data_process.ipynb文件中的代碼,記得修改第二個地址為自己的OBS桶地址。

      結語

      好了,上述步驟就是使用ModelArts進行深度學習的一個應用實例。

      AI開發平臺ModelArts 視頻

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel照片如何換底色
      下一篇:excel表格怎么對文字列進行分割
      相關文章
      亚洲成在人线aⅴ免费毛片| 色欲aⅴ亚洲情无码AV| 久久久久亚洲精品天堂久久久久久| 亚洲色中文字幕在线播放| 亚洲人成在线免费观看| 精品亚洲成AV人在线观看| 亚洲毛片在线观看| 亚洲AV日韩AV高潮无码专区| 亚洲成色WWW久久网站| 亚洲精品色午夜无码专区日韩| 亚洲熟女少妇一区二区| 在线亚洲午夜理论AV大片| 区久久AAA片69亚洲| 亚洲人成人一区二区三区| 亚洲无人区午夜福利码高清完整版| 成人午夜亚洲精品无码网站| 奇米影视亚洲春色| 亚洲热线99精品视频| 国产AV无码专区亚洲AV毛网站| 亚洲国产精品成人精品无码区 | 亚洲中文字幕在线第六区| 日韩亚洲变态另类中文| 亚洲精品乱码久久久久久按摩| 亚洲成色www久久网站夜月| 亚洲va在线va天堂va不卡下载| 亚洲综合精品香蕉久久网97| 亚洲精品视频观看| 色偷偷亚洲女人天堂观看欧| 精品国产日韩久久亚洲| 亚洲精品乱码久久久久久V| 国产亚洲精品美女久久久久 | 国产精品亚洲AV三区| 日韩精品成人亚洲专区| 亚洲一区二区视频在线观看| 国产AV无码专区亚洲AV手机麻豆| 久久久久亚洲av毛片大| 久久久久久久综合日本亚洲| 666精品国产精品亚洲| 亚洲一级在线观看| 亚洲va中文字幕| 亚洲午夜福利精品久久|