当前位置:   article > 正文

晟腾A200移植Yolov3模型_昇腾a200

昇腾a200

基于MxBase 的yolov3视频流推理样例

1 介绍

本开发样例是基于mxBase开发的端到端推理的C++应用程序,可在昇腾芯片上实现视频流的目标检测,并把可视化结果保存到本地。代码网址:mindxsdk-referenceapps: MindX SDK Reference Apps - Gitee.com

 2 准备工作

2.1 模型转换

step1: 在ModelZoo上下载YOLOv3模型。[下载地址](https://mindx.sdk.obs.cn-north-4.myhuaweicloud.com/mindxsdk-referenceapps%20/contrib/ActionRecognition/ATC%20YOLOv3%28FP16%29%20from%20TensorFlow%20-%20Ascend310.zip)

step2: 将获取到的YOLOv3模型pb文件存放至:"./model/"。

step3: 进行模型转换

①. 设置环境变量(请确认install_path路径是否正确)

    bash . /usr/local/Ascend/ascend-toolkit/set_env.sh # Ascend-cann-toolkit开发套件包默认安装路径,请根据实际安装路径修改。

②. 执行以下命令转换YOLOv3模型

  atc --model=./yolov3_tf.pb --framework=3 --output=./yolov3_tf_bs1_fp16 --soc_version=Ascend310 --insert_op_conf=./aipp_yolov3_416_416.aippconfig --input_shape="input:1,416,416,3" --out_nodes="yolov3/yolov3_head/Conv_6/BiasAdd:0;yolov3/yolov3_head/Conv_14/BiasAdd:0;yolov3/yolov3_head/Conv_22/BiasAdd:0"

  执行完模型转换脚本后,会生成相应的.om模型文件。

2.2 相关参数修改

①. main.cpp文件中,添加模型路径与 rtsp 流源地址(需要自行准备可用的视频流,视频流格式为H264)

initParam.modelPath = "{yolov3模型路径}";

 std::string streamName = "rtsp_Url";

VideoProcess.cpp文件中,设置视频的宽高值

const uint32_t VIDEO_WIDTH = {视频宽度};

const uint32_t VIDEO_HEIGHT = {视频高度};

2.3 配置CMakeLists

set(MX_SDK_HOME {SDK实际安装路径})

set(FFMPEG_PATH {ffmpeg安装路径})

3. 编译与运行

3.1编译

新建sample_build.sh文件,写入如下命令:

path_cur=$(dirname $0)

cd $path_cur

rm -rf build

mkdir -p build

cd build

cmake .. -DCMAKE_CXX_COMPILER=/usr/bin/g++

make -j4 || {

    ret=$?

    echo "Failed to build"

    exit ${ret}

}

然后运行 bash sample_build.sh

 3.2 运行

bash run.sh

4. 查看结果

执行run.sh完毕后,可视化结果会被保存在工程目录下result文件夹中。


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/842751
推荐阅读
相关标签
  

闽ICP备14008679号