本样例为大家学习昇腾软件栈提供参考,非商业目的!
本样例适配3.3.0及以上版本,支持产品为Atlas200DK、Atlas300(ai1s)。
本README只提供命令行方式运行样例的指导,如需在Mindstudio下运行样例,请参考Mindstudio运行视频样例wiki。
功能:使用yolov4
模型对输入视频进行预测推理,并将结果打印到输出视频上。
样例输入:原始视频文件。
样例输出:带推理结果的视频文件。
部署此Sample前,需要准备好以下环境:
-
请确认已按照环境准备和依赖安装准备好环境。
-
已完成对应产品的开发环境和运行环境安装。
-
获取源码包。
可以使用以下两种方式下载,请选择其中一种进行源码准备。
-
命令行方式下载(下载时间较长,但步骤简单)。
开发环境,非root用户命令行中执行以下命令下载源码仓。
cd $HOME
git clone https://gitee.com/ascend/samples.git
-
压缩包方式下载(下载时间较短,但步骤稍微复杂)。
-
samples仓右上角选择 克隆/下载 下拉框并选择 下载ZIP。
-
将ZIP包上传到开发环境中的普通用户家目录中,例如 $HOME/ascend-samples-master.zip。
-
开发环境中,执行以下命令,解压zip包。
cd $HOME
unzip ascend-samples-master.zip
-
-
-
获取此应用中所需要的原始网络模型。
参考下表获取此应用中所用到的模型,并将其存放到开发环境普通用户下的工程目录:
cd $HOME/samples/python/level2_simple_inference/2_object_detection/YOLOV4_coco_detection_car_video/model模型名称 模型说明 模型下载路径 yolov4 基于onnx-YOLOV4的目标检测模型。 请参考https://www.hiascend.com/zh/software/modelzoo/detail/1/abb7e641964c459398173248aa5353bc 下载原始模型。 - modelzoo中提供了转换好的om模型,但此模型不匹配当前样例,所以需要下载原始模型后重新进行模型转换。
将下载的模型名字更改为工程需要的名字
- modelzoo中提供了转换好的om模型,但此模型不匹配当前样例,所以需要下载原始模型后重新进行模型转换。
-
将原始模型转换为Davinci模型。
注:请确认环境变量已经在环境准备和依赖安装中配置完成
-
设置LD_LIBRARY_PATH环境变量。
由于LD_LIBRARY_PATH环境变量在转使用atc工具和运行样例时会产生冲突,所以需要在命令行单独设置此环境变量,方便修改。
export install_path=$HOME/Ascend/ascend-toolkit/latest
export LD_LIBRARY_PATH=\${install_path}/atc/lib64
-
执行以下atc命令进行模型转换。
atc --model=./yolov4_dynamic_bs.onnx --framework=5 --output=yolov4_bs1 --input_format=NCHW --soc_version=Ascend310 --input_shape="input:1,3,608,608" --out_nodes="Conv_434:0;Conv_418:0;Conv_402:0"
-
-
获取样例需要的测试视频。
执行以下命令,进入样例的data文件夹中,下载对应的测试视频。
cd $HOME/samples/python/level2_simple_inference/2_object_detection/YOLOV4_coco_detection_car_video/data
注:开发环境与运行环境合一部署,请跳过步骤1,直接执行步骤2即可。
-
执行以下命令,将开发环境的 YOLOV4_coco_detection_car_video 目录上传到运行环境中,例如 /home/HwHiAiUser,并以HwHiAiUser(运行用户)登录运行环境(Host)。
scp -r $HOME/samples/python/level2_simple_inference/2_object_detection/YOLOV4_coco_detection_car_video [email protected]:/home/HwHiAiUser
- xxx.xxx.xxx.xxx为运行环境ip,200DK在USB连接时一般为192.168.1.2,300(ai1s)为对应的公网ip。
-
-
如果是开发环境与运行环境合一部署,执行以下命令,设置运行环境变量,并切换目录。
export LD_LIBRARY_PATH=
source ~/.bashrc
cd $HOME/samples/python/level2_simple_inference/2_object_detection/YOLOV4_coco_detection_car_video/src
-
如果是开发环境与运行环境分离部署,执行以下命令切换目录。
cd $HOME/YOLOV4_coco_detection_car_video/src
切换目录后,执行以下命令运行样例。
python3.6 yolov4.py ../data/test.mp4
-
运行完成后,结果视频保存在out目录下。