0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

采用預(yù)訓(xùn)練的動(dòng)作識(shí)別模型快速跟蹤AI應(yīng)用程序的開(kāi)發(fā)

星星科技指導(dǎo)員 ? 來(lái)源:NVIDIA ? 作者:NVIDIA ? 2022-04-08 17:26 ? 次閱讀

作為人類,我們每天都在不停地移動(dòng),做一些動(dòng)作,比如走路、跑步和坐著。這些行為是我們?nèi)粘I畹淖匀谎由?。?gòu)建能夠捕獲這些特定動(dòng)作的應(yīng)用程序在體育分析領(lǐng)域、醫(yī)療保健領(lǐng)域、零售領(lǐng)域以及其他領(lǐng)域都非常有價(jià)值。

然而,構(gòu)建和部署能夠理解人類行為的時(shí)間信息人工智能應(yīng)用程序既具有挑戰(zhàn)性又耗時(shí),需要大量培訓(xùn)和深入的人工智能專業(yè)知識(shí)。

在這篇文章中,我們將展示如何快速跟蹤 AI 應(yīng)用程序的開(kāi)發(fā),方法是采用預(yù)訓(xùn)練的動(dòng)作識(shí)別模型,使用 NVIDIA TAO Toolkit 自定義數(shù)據(jù)和類對(duì)其進(jìn)行微調(diào),并通過(guò) NVIDIA DeepStream 部署它進(jìn)行推理,而無(wú)需任何 AI 專業(yè)知識(shí)。

pYYBAGJP__CABR1pAAI75is9s4A376.png

圖 1 端到端工作流從預(yù)訓(xùn)練模型開(kāi)始,使用 TAO 工具包進(jìn)行微調(diào),并使用 DeepStream 進(jìn)行部署

動(dòng)作識(shí)別模型

要識(shí)別一個(gè)動(dòng)作,網(wǎng)絡(luò)不僅要查看單個(gè)靜態(tài)幀,還要查看多個(gè)連續(xù)幀。這提供了理解操作的時(shí)間上下文。這是與分類或目標(biāo)檢測(cè)模型相比的額外時(shí)間維度,其中網(wǎng)絡(luò)僅查看單個(gè)靜態(tài)幀。

這些模型是使用二維卷積神經(jīng)網(wǎng)絡(luò)創(chuàng)建的,其中的尺寸是寬度、高度和通道數(shù)。 2D 動(dòng)作識(shí)別模型與其他 2D 計(jì)算機(jī)視覺(jué)模型類似,但通道維度現(xiàn)在也包含時(shí)間信息。

在 2D 動(dòng)作識(shí)別模型中,將時(shí)間幀 D 與通道計(jì)數(shù) C 相乘,形成通道維度輸入。

對(duì)于三維模型,添加了表示時(shí)間信息的新維度 D 。

2D 和 3D 卷積網(wǎng)絡(luò)的輸出進(jìn)入一個(gè)完全連接的層,然后是一個(gè) Softmax 層來(lái)預(yù)測(cè)動(dòng)作。

poYBAGJP__eAcTfdAAEvLDR_9AQ909.png

圖 2 動(dòng)作識(shí)別 2D 和 3D 卷積網(wǎng)絡(luò)

pretrained model 是在代表性數(shù)據(jù)集上經(jīng)過(guò)訓(xùn)練并使用權(quán)重和偏差進(jìn)行微調(diào)的數(shù)據(jù)集。 NGC catalog 提供的動(dòng)作識(shí)別模型已在五個(gè)常見(jiàn)類別上進(jìn)行了培訓(xùn):

行走

跑步

騎自行車

墜落

這是一個(gè)示例模型。更重要的是,該模型可以很容易地用自定義數(shù)據(jù)重新訓(xùn)練,只需花費(fèi)很少的時(shí)間和從頭開(kāi)始訓(xùn)練所需的數(shù)據(jù)。

預(yù)訓(xùn)練模型是在 HMDB51 數(shù)據(jù)集中的幾百個(gè)短視頻剪輯上訓(xùn)練的。對(duì)于模型培訓(xùn)的五個(gè)類, 2D 模型的精度達(dá)到 83% , 3D 模型的精度達(dá)到 86% 。此外,如果選擇按原樣部署模型,下表顯示了各種 GPU 上的預(yù)期性能。

poYBAGJP_9qANGf5AAApHMmcBAY140.png

在本實(shí)驗(yàn)中,您將使用三個(gè)新類對(duì)模型進(jìn)行微調(diào),這些新類包含簡(jiǎn)單動(dòng)作,如俯臥撐、仰臥起坐和引體向上。您使用 HMDB51 數(shù)據(jù)集的子集,其中包含 51 個(gè)不同的操作。

先決條件

開(kāi)始之前,您必須擁有以下培訓(xùn)和部署資源:

NVIDIA GPU 驅(qū)動(dòng)程序版本:》 470

NVIDIA Docker:2.5.0-1

云中或本地的 NVIDIA GPU :

英偉達(dá) A100

英偉達(dá) V100

英偉達(dá) T4

英偉達(dá) RTX 30×0

工具包 NVIDIA:3.0-21-11

NVIDIA DeepStream:6.0

有關(guān)更多信息,請(qǐng)參閱 TAO 工具包快速入門指南 。

使用 TAO 工具包進(jìn)行培訓(xùn)、調(diào)整和優(yōu)化

在本節(jié)中,您將使用 TAO 工具包使用新類對(duì)模型進(jìn)行微調(diào)。

TAO 工具包使用 transfer learning ,其中使用從現(xiàn)有神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)的特征,并將其應(yīng)用于新的神經(jīng)網(wǎng)絡(luò)模型。 TAO 工具包是 NVIDIA TAO 框架 基于 CLI 和 Jupyter 筆記本的解決方案,它抽象了 AI / DL 框架的復(fù)雜性,使您能夠在沒(méi)有任何 AI 專業(yè)知識(shí)的情況下為您的用例創(chuàng)建定制和生產(chǎn)就緒的模型。

您可以在 CLI 窗口中提供簡(jiǎn)單指令,也可以使用交鑰匙 Jupyter 筆記本進(jìn)行培訓(xùn)和微調(diào)。您可以使用 NGC 中的動(dòng)作識(shí)別筆記本來(lái)訓(xùn)練自定義的三類模型。

下載 TAO Toolkit 計(jì)算機(jī)視覺(jué)示例工作流 的 1.3 版并解壓縮包。在/action_recognition_net目錄中,找到用于動(dòng)作識(shí)別培訓(xùn)的 Jupyter 筆記本(actionrecognitionnet.ipynb),以及/specs目錄,其中包含用于培訓(xùn)、評(píng)估和模型導(dǎo)出的所有規(guī)范文件。您可以為培訓(xùn)配置這些等級(jí)庫(kù)文件。

啟動(dòng) Jupyter 筆記本并打開(kāi)action_recognition_net/actionrecognitionnet.ipynb文件:

jupyter notebook --ip 0.0.0.0 --port 8888 --allow-root

步驟 1 :設(shè)置并安裝 TAO 工具包

所有培訓(xùn)步驟都在 Jupyter 筆記本中運(yùn)行。啟動(dòng)筆記本后,運(yùn)行筆記本中提供的設(shè)置環(huán)境變量和映射驅(qū)動(dòng)器安裝 TAO 發(fā)射器步驟。

步驟 2 :下載數(shù)據(jù)集和預(yù)訓(xùn)練模型

安裝 TAO 后,下一步是下載并準(zhǔn)備數(shù)據(jù)集進(jìn)行培訓(xùn)。 Jupyter 筆記本提供了下載和預(yù)處理 HMDB51 數(shù)據(jù)集的步驟。如果您有自己的自定義數(shù)據(jù)集,則可以在步驟 2.1 中使用它。

對(duì)于本文,您將使用 HMDB51 數(shù)據(jù)集中的三個(gè)類。修改幾行以添加俯臥撐、引體向上和仰臥起坐課程。

$ wget -P $HOST_DATA_DIR http://serre-lab.clps.brown.edu/wp-content/uploads/2013/10/hmdb51_org.rar
$ mkdir -p $HOST_DATA_DIR/videos && unrar x $HOST_DATA_DIR/hmdb51_org.rar $HOST_DATA_DIR/videos
$ mkdir -p $HOST_DATA_DIR/raw_data
$ unrar x $HOST_DATA_DIR/videos/pushup.rar $HOST_DATA_DIR/raw_data
$ unrar x $HOST_DATA_DIR/videos/pullup.rar $HOST_DATA_DIR/raw_data
$ unrar x $HOST_DATA_DIR/videos/situp.rar $HOST_DATA_DIR/raw_data

每個(gè)類的視頻文件存儲(chǔ)在$HOST_DATA_DIR/raw_data下各自的目錄中。這些是經(jīng)過(guò)編碼的視頻文件,必須解壓縮為幀才能訓(xùn)練模型。已經(jīng)提供了一個(gè)腳本來(lái)幫助您為培訓(xùn)準(zhǔn)備數(shù)據(jù)。

下載幫助程序腳本并安裝依賴項(xiàng):

$ git clone https://github.com/NVIDIA-AI-IOT/tao_toolkit_recipes.git $ pip3 install xmltodict opencv-python

將視頻文件解壓縮為幀:

$ cd tao_recipes/tao_action_recognition/data_generation/
$ ./preprocess_HMDB_RGB.sh $HOST_DATA_DIR/raw_data \ $HOST_DATA_DIR/processed_data

下面的代碼示例中顯示了每個(gè)類的輸出。f cnt: 82表示此視頻剪輯已解壓縮到 82 幀。對(duì)目錄中的所有視頻執(zhí)行此操作。根據(jù)類的數(shù)量以及數(shù)據(jù)集和視頻剪輯的大小,此過(guò)程可能需要一些時(shí)間。

Preprocess pullup
f cnt: 82.0
f cnt: 82.0
f cnt: 82.0
f cnt: 71.0
...

處理后的數(shù)據(jù)的格式類似于下面的代碼示例。如果您正在對(duì)自己的數(shù)據(jù)進(jìn)行培訓(xùn),請(qǐng)確保數(shù)據(jù)集也遵循此目錄格式。

	$HOST_DATA_DIR/processed_data/ |-->  |--> 

下一步是將數(shù)據(jù)拆分為培訓(xùn)和驗(yàn)證集。 HMDB51 數(shù)據(jù)集為每個(gè)類提供了一個(gè)拆分文件,因此只需下載該文件,并將數(shù)據(jù)集劃分為 70% 的培訓(xùn)和 30% 的驗(yàn)證。

$ wget -P $HOST_DATA_DIR http://serre-lab.clps.brown.edu/wp-content/uploads/2013/10/test_train_splits.rar $ mkdir -p $HOST_DATA_DIR/splits && unrar x \ $HOST_DATA_DIR/test_train_splits.rar $HOST_DATA_DIR/splits

使用助手腳本split_dataset.py拆分?jǐn)?shù)據(jù)。這僅適用于 HMDB 數(shù)據(jù)集提供的拆分文件。如果您正在使用自己的數(shù)據(jù)集,那么這將不適用。

$ cd tao_recipes/tao_action_recognition/data_generation/ $ python3 ./split_dataset.py $HOST_DATA_DIR/processed_data \ $HOST_DATA_DIR/splits/testTrainMulti_7030_splits $HOST_DATA_DIR/train \ $HOST_DATA_DIR/test

用于培訓(xùn)的數(shù)據(jù)在$HOST_DATA_DIR/train下,用于測(cè)試和驗(yàn)證的數(shù)據(jù)在$HOST_DATA_DIR/test下。

準(zhǔn)備好數(shù)據(jù)集后,從 NGC 下載預(yù)訓(xùn)練模型。按照 Jupyter 筆記本 2.1 中的步驟操作。

$ ngc registry model download-version "nvidia/tao/actionrecognitionnet:trainable_v1.0" --dest $HOST_RESULTS_DIR/pretrained

步驟 3 :配置培訓(xùn)參數(shù)

spec YAML 文件中提供了培訓(xùn)參數(shù)。在/ specs 目錄中,查找所有用于培訓(xùn)、微調(diào)、評(píng)估、推斷和導(dǎo)出的 spec 文件。對(duì)于培訓(xùn),您可以使用train_rgb_3d_finetune.yaml。

對(duì)于本實(shí)驗(yàn),我們將向您展示一些可以修改的超參數(shù)。有關(guān)所有不同參數(shù)的更多信息,請(qǐng)參閱ActionRecognitionNet。

您還可以在運(yùn)行時(shí)覆蓋任何參數(shù)。大多數(shù)參數(shù)保留為默認(rèn)值。下面的代碼塊中突出顯示了正在更改的少數(shù)代碼。

## Model Configuration
model_config: model_type: rgb input_type: "3d" backbone: resnet18 rgb_seq_length: 32 ## Change from 3 to 32 frame sequence rgb_pretrained_num_classes: 5 sample_strategy: consecutive sample_rate: 1 # Training Hyperparameter configuration
train_config: optim: lr: 0.001 momentum: 0.9 weight_decay: 0.0001 lr_scheduler: MultiStep lr_steps: [5, 15, 25] lr_decay: 0.1 epochs: 20 ## Number of Epochs to train checkpoint_interval: 1 ## Saves model checkpoint interval ## Dataset configuration
dataset_config: train_dataset_dir: /data/train ## Modify to use your train dataset val_dataset_dir: /data/test ## Modify to use your test dataset

第四步:訓(xùn)練你的人工智能模型

對(duì)于培訓(xùn),請(qǐng)遵循 Jupyter 筆記本中的步驟 4 。設(shè)置環(huán)境變量。

訓(xùn)練動(dòng)作識(shí)別的 TAO 工具包任務(wù)稱為action_recognition。要進(jìn)行培訓(xùn),請(qǐng)使用tao action_recognition train命令。指定培訓(xùn)規(guī)范文件,并提供輸出目錄和預(yù)培訓(xùn)模型?;蛘撸部梢栽?code style="font-size:inherit;color:inherit;margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;line-height:inherit;vertical-align:baseline;background-color:rgb(244,244,244);">model_config規(guī)范中設(shè)置預(yù)訓(xùn)練模型。

$ tao action_recognition train \ -e $SPECS_DIR/train_rgb_3d_finetune.yaml \ -r $RESULTS_DIR/rgb_3d_ptm \ -k $KEY \ model_config.rgb_pretrained_model_path=$RESULTS_DIR/pretrained/actionrecognitionnet_vtrainable_v1.0/resnet18_3d_rgb_hmdb5_32.tlt
ognition train \

根據(jù)您的 GPU 、序列長(zhǎng)度或年代,這可能需要幾分鐘到幾小時(shí)的時(shí)間。因?yàn)橐4婷總€(gè)歷元,所以可以看到與歷元數(shù)量相同的模型檢查點(diǎn)。

模型檢查點(diǎn)另存為ar_model_epoch=-val_loss=.tlt。選擇模型評(píng)估和導(dǎo)出的最后一個(gè)歷元,但可以使用驗(yàn)證損失最小的歷元。

步驟 5 :評(píng)估經(jīng)過(guò)培訓(xùn)的模型

有兩種不同的抽樣策略來(lái)評(píng)估視頻剪輯上的訓(xùn)練模型:

  • Center mode:拾取序列的中間幀進(jìn)行推斷。例如,如果模型需要 32 幀作為輸入,而視頻剪輯有 128 幀,則可以從索引 48 到索引 79 中選擇幀進(jìn)行推斷。
  • Conv mode:對(duì)單個(gè)視頻中的 10 個(gè)序列進(jìn)行卷積采樣并進(jìn)行推斷。結(jié)果取平均值。

對(duì)于評(píng)估,請(qǐng)使用/specs目錄中提供的評(píng)估規(guī)范文件(evaluate_rgb.yaml)。這就像訓(xùn)練配置。修改dataset_config參數(shù)以使用您正在培訓(xùn)的三個(gè)類。

dataset_config: ## Label maps for new classes. Modify this for your custom classes label_map: pushup: 0 pullup: 1 situp: 2 

使用tao action_recognition evaluate命令進(jìn)行計(jì)算。如前所述,對(duì)于video_eval_mode,您可以在中心模式或 conv 模式之間進(jìn)行選擇。使用訓(xùn)練運(yùn)行中最后保存的模型檢查點(diǎn)。

$ tao action_recognition evaluate \ -e $SPECS_DIR/evaluate_rgb.yaml \ -k $KEY \ model=$RESULTS_DIR/rgb_3d_ptm/ar_model_epoch=-val_loss=.tlt \ batch_size=1 \ test_dataset_dir=$DATA_DIR/test \ video_eval_mode=center

評(píng)價(jià)產(chǎn)出:

100%|███████████████████████████████████████████| 90/90 [00:03<00:00, 29.82it/s]
*******************************
pushup 56.67
pullup 100.0
situp 90.0
*******************************
Total accuracy: 82.222
Average class accuracy: 82.222
2021-11-17 17:46:52,590 [INFO] tlt.components.docker_handler.docker_handler: Stopping container.

這是在 90 個(gè)視頻數(shù)據(jù)集上評(píng)估的,該數(shù)據(jù)集包含所有三個(gè)動(dòng)作的剪輯??傮w準(zhǔn)確率約為 82% ,這對(duì)于數(shù)據(jù)集的大小來(lái)說(shuō)是合適的。數(shù)據(jù)集越大,模型的通用性越好。您可以嘗試使用自己的剪輯測(cè)試準(zhǔn)確性。

步驟 6 :導(dǎo)出以進(jìn)行 DeepStream 部署

最后一步是導(dǎo)出用于部署的模型。要導(dǎo)出,請(qǐng)運(yùn)行tao action_recognition export命令。您必須提供導(dǎo)出規(guī)范文件,該文件作為export_rgb.yaml包含在/specs目錄中。修改export_rgb.yaml中的dataset_config值,以使用您培訓(xùn)的三個(gè)類。這類似于evaluate_rgb.yaml中的dataset_config。

$ tao action_recognition export \
-e $SPECS_DIR/export_rgb.yaml \
-k $KEY \
model=$RESULTS_DIR/rgb_3d_ptm/ar_model_epoch=-val_loss=.tlt \
/export/rgb_resnet18_3.etlt

祝賀您,您已成功培訓(xùn)了自定義 3D 動(dòng)作識(shí)別模型?,F(xiàn)在,使用 DeepStream 部署此模型。

使用 DeepStream 部署

在本節(jié)中,我們將展示如何使用 NVIDIA DeepStream 部署經(jīng)過(guò)微調(diào)的模型。

DeepStream SDK幫助您快速構(gòu)建高效、高性能的視頻 AI 應(yīng)用程序。 DeepStream 應(yīng)用程序可以在由 NVIDIA Jetson 提供動(dòng)力的邊緣設(shè)備、本地服務(wù)器或云中運(yùn)行。

為了支持動(dòng)作識(shí)別模型, DeepStream 6.0 添加了Gst-nvdspreprocess插件。該插件加載一個(gè)自定義庫(kù)( custom _ sequence _ preprocess.so ),以執(zhí)行時(shí)間序列捕獲和感興趣區(qū)域( ROI )部分批處理,然后將批處理的張量緩沖區(qū)轉(zhuǎn)發(fā)給下游推理插件。

您可以修改 DeepStream SDK 中包含的deepstream-3d-action-recognition應(yīng)用程序,以測(cè)試使用 TAO 微調(diào)的模型。

圖 4 。三維動(dòng)作識(shí)別應(yīng)用程序管道

示例應(yīng)用程序同時(shí)對(duì)四個(gè)視頻文件運(yùn)行推斷,并以 2 × 2 平鋪顯示結(jié)果。

在進(jìn)行修改之前,先運(yùn)行標(biāo)準(zhǔn)應(yīng)用程序。首先,啟動(dòng) DeepStream 6.0 開(kāi)發(fā)容器:

$ xhost +
$ docker run --gpus '"'device=0'"' -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-6.0 nvcr.io/nvidia/deepstream:6.0-devel

有關(guān) NVIDIA 提供的 DeepStream 集裝箱的更多信息,請(qǐng)參閱NGC catalog。

在容器中,導(dǎo)航到 3D 動(dòng)作識(shí)別應(yīng)用程序目錄,從 NGC 下載并安裝標(biāo)準(zhǔn) 3D 和 2D 模型。

$ cd sources/apps/sample_apps/deepstream-3d-action-recognition/
$ wget --content-disposition https://api.ngc.nvidia.com/v2/models/nvidia/tao/actionrecognitionnet/versions/deployable_v1.0/zip -O actionrecognitionnet_deployable_v1.0.zip
$ unzip actionrecognitionnet_deployable_v1.0.zip

現(xiàn)在,您可以使用 3D 推理模型執(zhí)行應(yīng)用程序并查看結(jié)果。

$ deepstream-3d-action-recognition -c deepstream_action_recognition_config.txt

預(yù)處理器插件配置

在修改應(yīng)用程序之前,請(qǐng)熟悉運(yùn)行應(yīng)用程序所需的預(yù)處理器插件的關(guān)鍵配置參數(shù)。

/app/sample_apps/deepstream-3d-action-recognition文件夾中,打開(kāi)config_preprocess_3d_custom.txt文件并查看三維模型的預(yù)處理器配置。

第 13 行定義了三維模型所需的 5 維輸入形狀:

network-input-shape = 4;3;32;224;224

對(duì)于此應(yīng)用程序,您將使用四個(gè)輸入,每個(gè)輸入有一個(gè) ROI :

  • 您的批次號(hào)為 4 (#輸入*每個(gè)輸入的 ROI )。
  • 您的輸入是 RGB ,因此通道數(shù)為 3 。
  • 序列長(zhǎng)度為 32 ,輸入分辨率為 224 × 224 ( HxW )。

第 18 行告訴預(yù)處理器庫(kù)您正在使用自定義序列:

network-input-order = 2

第 51 行和第 52 行定義了如何將幀傳遞給推理機(jī):

stride=1
subsample=0
  • subsample值為 0 意味著您按順序?qū)ǖ?1 幀、第 2 幀……)傳遞到推斷步驟。
  • stride值為 1 表示序列之間存在單個(gè)幀的差異。例如:
    • 序列 A :幀 1 , 2 , 3 , 4 …
    • 序列 B :幀 2 , 3 , 4 , 5 …

最后,第 55-60 行定義了輸入和 ROI 的數(shù)量:

src-ids=0;1;2;3
process-on-roi=1
roi-params-src-0=0;0;1280;720
roi-params-src-1=0;0;1280;720
roi-params-src-2=0;0;1280;720
roi-params-src-3=0;0;1280;720

有關(guān)所有應(yīng)用程序和預(yù)處理器參數(shù)的更多信息,請(qǐng)參閱 DeepStream 文檔的Action Recognition部分。

運(yùn)行新模型

現(xiàn)在,您可以修改應(yīng)用程序配置并測(cè)試練習(xí)動(dòng)作識(shí)別模型。

因?yàn)槟褂玫氖?Docker 映像,所以在主機(jī)文件系統(tǒng)和容器之間傳輸文件的最佳方法是在啟動(dòng)容器以設(shè)置可共享位置時(shí)使用-v mount標(biāo)志。例如,使用-v /home:/home將主機(jī)的/home目錄裝載到容器的/home目錄。

將新模型、標(biāo)簽文件和文本視頻復(fù)制到/app/sample_apps/deepstream-3d-action-recognitionfolder.

# back up the original labels file
$ cp ./labels.txt ./labels_bk.txt
$ cp /home/labels.txt ./
$ cp /home/Exercise_demo.mp4 ./
$ cp /home/rgb_resnet18_3d_exercises.etlt ./

打開(kāi)deepstream_action_recognition_config.txt并將第 30 行更改為指向運(yùn)動(dòng)測(cè)試視頻。

uri-list=file:////opt/nvidia/deepstream/deepstream-6.0/sources/apps/sample_apps/deepstream-3d-action-recognition/Exercise_demo.mp4

打開(kāi)config_infer_primary_3d_action.txt并將第 63 行用于推斷的模型和第 68 行的批次大小從 4 更改為 1 ,因?yàn)槟鷮乃膫€(gè)輸入更改為一個(gè)輸入:

tlt-encoded-model=./rgb_resnet18_3d_exercises.etlt .. batch-size=1

最后,打開(kāi)config_preprocess_3d_custom.txt。更改network-input-shape值以反映第 35 行上運(yùn)動(dòng)識(shí)別模型的單個(gè)輸入和配置:

network-input-shape= 1;3;3;224;224

修改第 77 – 82 行中單個(gè)輸入和 ROI 的源設(shè)置:

src-ids=0
process-on-roi=1
roi-params-src-0=0;0;1280;720
#roi-params-src-1=0;0;1280;720
#roi-params-src-2=0;0;1280;720
#roi-params-src-3=0;0;1280;720

現(xiàn)在可以使用以下命令測(cè)試新模型:

$ deepstream-3d-action-recognition -c deepstream_action_recognition_config.txt

應(yīng)用程序源代碼

動(dòng)作識(shí)別示例應(yīng)用程序使您能夠靈活地更改輸入源、輸入數(shù)量和使用的模型,而無(wú)需修改應(yīng)用程序源代碼。

要查看應(yīng)用程序是如何實(shí)現(xiàn)的,請(qǐng)參閱/sources/apps/sample_apps/deepstream-3d-action-recognition文件夾中的應(yīng)用程序源代碼以及預(yù)處理器插件使用的自定義序列庫(kù)。

總結(jié)

在這篇文章中,我們分別使用TAO ToolkitDeepStream向您展示了一個(gè)端到端的工作流程,用于微調(diào)和部署動(dòng)作識(shí)別模型。 TAO 工具包和 DeepStream 都是抽象出 AI 框架復(fù)雜性的解決方案,使您能夠在生產(chǎn)中構(gòu)建和部署 AI 應(yīng)用程序,而無(wú)需任何 AI 專業(yè)知識(shí)。

通過(guò)從NGC catalog下載模型,開(kāi)始使用動(dòng)作識(shí)別模型。

關(guān)于作者

Chintan Shah 是 NVIDIA 的產(chǎn)品經(jīng)理,專注于智能視頻分析解決方案的 AI 產(chǎn)品。他管理工具箱,用于有效的深度學(xué)習(xí)培訓(xùn)和實(shí)時(shí)推理。在他之前的工作中,他正在為 NVIDIA GPU 開(kāi)發(fā)硬件 IP 。他擁有北卡羅來(lái)納州立大學(xué)電氣工程碩士學(xué)位。

Alvin Clark 是 DeepStream 的產(chǎn)品營(yíng)銷經(jīng)理。阿爾文的職業(yè)生涯始于設(shè)計(jì)工程師,然后轉(zhuǎn)向技術(shù)銷售和市場(chǎng)營(yíng)銷。他曾與多個(gè)行業(yè)的客戶合作,應(yīng)用范圍從衛(wèi)星系統(tǒng)、外科機(jī)器人到深海潛水器。阿爾文持有圣地亞哥加利福尼亞大學(xué)的工程學(xué)學(xué)位,目前正在喬治亞理工大學(xué)攻讀碩士學(xué)位。

Akhil Docca 是 NVIDIA NGC 的高級(jí)產(chǎn)品營(yíng)銷經(jīng)理,專注于 HPC 和 DL 容器。 Akhil 擁有加州大學(xué)洛杉磯分校安德森商學(xué)院工商管理碩士學(xué)位,圣何塞州立大學(xué)機(jī)械工程學(xué)士學(xué)位。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4793

    瀏覽量

    102427
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4591

    瀏覽量

    128143
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    大語(yǔ)言模型預(yù)訓(xùn)練

    能力,逐漸成為NLP領(lǐng)域的研究熱點(diǎn)。大語(yǔ)言模型預(yù)訓(xùn)練是這一技術(shù)發(fā)展的關(guān)鍵步驟,它通過(guò)在海量無(wú)標(biāo)簽數(shù)據(jù)上進(jìn)行訓(xùn)練,使模型學(xué)習(xí)到語(yǔ)言的通用知識(shí)
    的頭像 發(fā)表于 07-11 10:11 ?249次閱讀

    人臉識(shí)別模型訓(xùn)練流程

    人臉識(shí)別模型訓(xùn)練流程是計(jì)算機(jī)視覺(jué)領(lǐng)域中的一項(xiàng)重要技術(shù)。本文將詳細(xì)介紹人臉識(shí)別模型訓(xùn)練流程,包括
    的頭像 發(fā)表于 07-04 09:19 ?498次閱讀

    人臉識(shí)別模型訓(xùn)練失敗原因有哪些

    人臉識(shí)別模型訓(xùn)練失敗的原因有很多,以下是一些常見(jiàn)的原因及其解決方案: 數(shù)據(jù)集質(zhì)量問(wèn)題 數(shù)據(jù)集是訓(xùn)練人臉識(shí)別
    的頭像 發(fā)表于 07-04 09:17 ?357次閱讀

    人臉識(shí)別模型訓(xùn)練是什么意思

    人臉識(shí)別模型訓(xùn)練是指通過(guò)大量的人臉數(shù)據(jù),使用機(jī)器學(xué)習(xí)或深度學(xué)習(xí)算法,訓(xùn)練出一個(gè)能夠識(shí)別和分類人臉的模型
    的頭像 發(fā)表于 07-04 09:16 ?334次閱讀

    預(yù)訓(xùn)練模型的基本原理和應(yīng)用

    預(yù)訓(xùn)練模型(Pre-trained Model)是深度學(xué)習(xí)和機(jī)器學(xué)習(xí)領(lǐng)域中的一個(gè)重要概念,尤其是在自然語(yǔ)言處理(NLP)和計(jì)算機(jī)視覺(jué)(CV)等領(lǐng)域中得到了廣泛應(yīng)用。預(yù)
    的頭像 發(fā)表于 07-03 18:20 ?1432次閱讀

    聆思CSK6視覺(jué)語(yǔ)音大模型AI開(kāi)發(fā)板入門資源合集(硬件資料、大模型語(yǔ)音/多模態(tài)交互/英語(yǔ)評(píng)測(cè)SDK合集)

    與硬件外設(shè)的開(kāi)發(fā)板,采用具備豐富組件生態(tài)的 Zephyr RTOS作為操作系統(tǒng),官方提供了十幾種開(kāi)源SDK,包含大模型語(yǔ)音交互、大模型拍照識(shí)圖、文生圖、人臉
    發(fā)表于 06-18 17:33

    【大語(yǔ)言模型:原理與工程實(shí)踐】大語(yǔ)言模型預(yù)訓(xùn)練

    大語(yǔ)言模型的核心特點(diǎn)在于其龐大的參數(shù)量,這賦予了模型強(qiáng)大的學(xué)習(xí)容量,使其無(wú)需依賴微調(diào)即可適應(yīng)各種下游任務(wù),而更傾向于培養(yǎng)通用的處理能力。然而,隨著學(xué)習(xí)容量的增加,對(duì)預(yù)訓(xùn)練數(shù)據(jù)的需求也相
    發(fā)表于 05-07 17:10

    英特爾開(kāi)發(fā)套件『哪吒』在Java環(huán)境實(shí)現(xiàn)ADAS道路識(shí)別演示 | 開(kāi)發(fā)者實(shí)戰(zhàn)

    本文使用來(lái)自O(shè)penModelZoo的預(yù)訓(xùn)練的road-segmentation-adas-0001模型。ADAS代表高級(jí)駕駛輔助服務(wù)。該模型識(shí)別
    的頭像 發(fā)表于 04-29 08:07 ?333次閱讀
    英特爾<b class='flag-5'>開(kāi)發(fā)</b>套件『哪吒』在Java環(huán)境實(shí)現(xiàn)ADAS道路<b class='flag-5'>識(shí)別</b>演示 | <b class='flag-5'>開(kāi)發(fā)</b>者實(shí)戰(zhàn)

    使用Redis和Spring?Ai構(gòu)建rag應(yīng)用程序

    整合如何通過(guò)簡(jiǎn)化的開(kāi)發(fā)流程,讓開(kāi)發(fā)者能夠更專注于創(chuàng)新而非底層實(shí)現(xiàn)。一、SpringAI簡(jiǎn)介由大型語(yǔ)言模型(LLM)驅(qū)動(dòng)的應(yīng)用程序中,向量數(shù)據(jù)庫(kù)常作為人工智能應(yīng)用程
    的頭像 發(fā)表于 04-29 08:04 ?800次閱讀
    使用Redis和Spring?<b class='flag-5'>Ai</b>構(gòu)建rag<b class='flag-5'>應(yīng)用程序</b>

    開(kāi)發(fā)者手機(jī) AI - 目標(biāo)識(shí)別 demo

    應(yīng)用的demo。 應(yīng)用程序通過(guò)相機(jī)進(jìn)行預(yù)覽,對(duì)預(yù)覽畫面中的物體進(jìn)行目標(biāo)識(shí)別,目前該應(yīng)用程序支持識(shí)別100種物體。 系統(tǒng)架構(gòu) 下圖為demo應(yīng)用以及Openharmony
    發(fā)表于 04-11 16:14

    谷歌模型訓(xùn)練軟件有哪些功能和作用

    谷歌模型訓(xùn)練軟件主要是指ELECTRA,這是一種新的預(yù)訓(xùn)練方法,源自谷歌AI。ELECTRA不僅擁有BERT的優(yōu)勢(shì),而且在效率上更勝一籌。
    的頭像 發(fā)表于 02-29 17:37 ?639次閱讀

    高通AI Hub為開(kāi)發(fā)者開(kāi)啟卓越終端側(cè)AI性能

    在今年的巴塞羅那世界移動(dòng)通信大會(huì)(MWC)上,高通技術(shù)公司再次引領(lǐng)AI技術(shù)的創(chuàng)新潮流,發(fā)布了其全新的高通AI Hub。這一創(chuàng)新平臺(tái)為開(kāi)發(fā)者提供了一個(gè)全面的AI
    的頭像 發(fā)表于 02-27 11:15 ?678次閱讀

    谷歌發(fā)布新的AI SDK,簡(jiǎn)化Gemini模型與Android應(yīng)用程序的集成

    。開(kāi)發(fā)者無(wú)需直接使用 REST API,也無(wú)需為在 Android 應(yīng)用程序中訪問(wèn) Gemini 模型實(shí)現(xiàn)服務(wù)器端服務(wù)。
    的頭像 發(fā)表于 01-03 16:29 ?797次閱讀

    基于RZ/V2L AI MPU的人頭計(jì)數(shù)應(yīng)用

    瑞薩基于RZ/V2L AI MPU開(kāi)發(fā)了大量可拿來(lái)即用的AI應(yīng)用程序,并提供源代碼、預(yù)編譯應(yīng)用程序二進(jìn)制文件和
    的頭像 發(fā)表于 12-15 13:49 ?502次閱讀

    NVIDIA 加快企業(yè)自定義生成式 AI 模型開(kāi)發(fā)

    開(kāi)發(fā)者可以直接在瀏覽器中試用全新的 NVIDIA AI Foundation Models,使用 NVIDIA AI Foundation Endpoints 在應(yīng)用程序中進(jìn)行測(cè)試,然
    的頭像 發(fā)表于 11-16 21:15 ?492次閱讀
    NVIDIA 加快企業(yè)自定義生成式 <b class='flag-5'>AI</b> <b class='flag-5'>模型</b><b class='flag-5'>開(kāi)發(fā)</b>