首页 > 其他分享 >ax650使用ax-pipeline进行推理

ax650使用ax-pipeline进行推理

时间:2023-12-19 17:33:52浏览次数:36  
标签:pipeline hdmi ivps vo sample json ax650 npu ax

ax650使用ax-pipeline进行推理

搭建交叉编译环境

  • 拉取ax-pipeline源码及子模块
git clone --recursive https://github.com/AXERA-TECH/ax-pipeline.git
  • 下载sdk
cd ax-pipeline
./download_ax_bsp.sh ax650
cd ax650n_bsp_sdk
wget https://github.com/ZHEQIUSHUI/assets/releases/download/ax650/drm.zip
mkdir third-party
unzip drm.zip -d third-party
cd ..
  • 下载opencv
mkdir 3rdparty
cd 3rdparty
wget https://github.com/ZHEQIUSHUI/assets/releases/download/ax650/libopencv-4.5.5-aarch64.zip
unzip libopencv-4.5.5-aarch64.zip
  • 编译环境
wget https://developer.arm.com/-/media/Files/downloads/gnu-a/9.2-2019.12/binrel/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz
tar -xvf gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz
export PATH=$PATH:$PWD/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/bin/
  • 源码编译
cd ax-pipeline
mkdir build
cd build
cmake -DAXERA_TARGET_CHIP=AX650 -DBSP_MSP_DIR=$PWD/../ax650n_bsp_sdk/msp/out -DOpenCV_DIR=$PWD/../3rdparty/libopencv-4.5.5-aarch64/lib/cmake/opencv4 -DSIPY_BUILD=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../toolchains/aarch64-none-linux-gnu.toolchain.cmake -DCMAKE_INSTALL_PREFIX=install ..
make -j12
make install
  • 获得bin文件到开发板上
bin
├── config
│   ├── custom_model.json
│   ├── dinov2.json
│   ├── dinov2_depth.json
│   ├── glpdepth.json
│   ├── ppyoloe.json
│   ├── scrfd.json
│   ├── scrfd_recognition.json
│   ├── yolo_nas.json
│   ├── yolov5_seg.json
│   ├── yolov5s.json
│   ├── yolov5s_face.json
│   ├── yolov5s_face_recognition.json
│   ├── yolov6.json
│   ├── yolov7.json
│   ├── yolov7_face.json
│   ├── yolov8.json
│   ├── yolov8_pose.json
│   └── yolox.json
├── sample_demux_ivps_npu_hdmi_vo
├── sample_demux_ivps_npu_rtsp
├── sample_demux_ivps_npu_rtsp_hdmi_vo
├── sample_multi_demux_ivps_npu_hdmi_vo
├── sample_multi_demux_ivps_npu_multi_rtsp
├── sample_multi_demux_ivps_npu_multi_rtsp_hdmi_vo
├── sample_vin_ivps_npu_hdmi_vo
└── sample_vin_ivps_npu_venc_rtsp
  • 开发板运行

修改yolov5s.json文件
博主的

{
    "MODEL_TYPE": "MT_DET_YOLOV5",
    "MODEL_PATH": "/root/Desktop/install/bin/config/models/yolov5s_hat.axmodel",
    "TRACK_ENABLE": true,
    "STRIDES": [8, 16, 32],
    "ANCHORS": [
        10.0,
        13.0,
        16.0,
        30.0,
        33.0,
        23.0,
        30.0,
        61.0,
        62.0,
        45.0,
        59.0,
        119.0,
        116.0,
        90.0,
        156.0,
        198.0,
        373.0,
        326.0
    ],
    "CLASS_NAMES": [
     	"hat",
        "person"
       
    ],
    "CLASS_NUM": 2,
    "NMS_THRESHOLD": 0.44999998807907104,
    "PROB_THRESHOLD": 0.4000000059604645
}

需要修改标签和标签数量,anchors可以不改,如果你是官方模型pt训练的,然后修改一下模型路径

要显示推理到hdmi上,先杀掉 fb_vo 这个进程
ps aux|grep fb_vo
找到进程号后kill -9 实际pid杀掉即可
将hdmi插入hdmi0(远离网口的那个)
如果需要恢复运行/root/runVoHook.sh即可恢复原样

本例子使用读取视频MP4,调用npu推理到hdmi显示

./sample_demux_ivps_npu_hdmi_vo -p config/yolov5s.json -f test.mp4

开发板运行显示hdmi上的视频:

<iframe allowfullscreen="true" border="0" frameborder="no" framespacing="0" scrolling="no" src="//player.bilibili.com/player.html?aid=579893520&bvid=BV1M64y1p7dU&cid=1373064355&p=1"> </iframe>

标签:pipeline,hdmi,ivps,vo,sample,json,ax650,npu,ax
From: https://www.cnblogs.com/smallwxw/p/17914293.html

相关文章

  • jQuery与JavaScript与ajax三者的区别与联系
    简单总结:1、JS是一门前端语言。2、Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新。3、jQuery是一个框架,它对JS进行了封装,使其更方便使用。jQuery使得JS与Ajax的使用更方便 关系比喻:若把js比作木头,那么jquery就是......
  • maxwell常见问题
    错误描述#启动maxwell,jps查看没有显示maxwell的进程/opt/software/maxwell/bin/maxwell--config/opt/software/maxwell/config.properties--daemon#使用前台启动/opt/software/maxwell/bin/maxwell--config/opt/software/maxwell/config.properties#显示如下2083......
  • Nacos启动:[NACOS HTTP-POST] The maximum number of tolerable server reconnection e
    一、表象二、分析源码:publicHttpRestResult<String>httpPost(Stringpath,Map<String,String>headers,Map<String,String>paramValues,Stringencode,longreadTimeoutMs)throwsException{finallongendTime=System.currentTi......
  • DataX配置文件生成脚本
    创建文件cd/opt/softwaremkdirgen_import_config.pyvimgen_import_config.pygen_import_config.py#coding=utf-8importjsonimportgetoptimportosimportsysimportMySQLdb#MySQL相关配置,需根据实际情况作出修改mysql_host="slave1"mysql_port="33......
  • SeaFormer: Squeeze-enhanced Axial Transformer for Mobile Semantic Segmentation
    SeaFormer:Squeeze-enhancedAxialTransformerforMobileSemanticSegmentation*Authors:[[QiangWan]],[[ZilongHuang]],[[JiachenLu]],[[GangYu]],[[LiZhang]]初读印象comment::(SeaFormer)提出了一种适用于移动设备的轻量级网络,设计了一个通用的注意力块,特......
  • Expectation-Maximization Attention Networks for Semantic Segmentation 使用了EM算
    Expectation-MaximizationAttentionNetworksforSemanticSegmentation*Authors:[[XiaLi]],[[ZhishengZhong]],[[JianlongWu]],[[YiboYang]],[[ZhouchenLin]],[[HongLiu]]DOI:10.1109/ICCV.2019.00926Locallibrary初读印象comment::(EMANet)用期望......
  • datax web采集oracle数据库,能连接无法使用的问题
    链接oracle数据库时,要注意自己数据的连接参数,下边代码中的高亮部分作为参考{"job":{"setting":{"speed":{"channel":3,"byte":1048576},"errorLimit":{"record":0......
  • DataX-Web增量配置
    一、根据日期进行增量数据抽取1.页面任务配置打开菜单任务管理页面,选择添加任务按下图中5个步骤进行配置1.任务类型选DataX任务2.辅助参数选择时间自增3.增量开始时间选择,即sql中查询时间的开始时间,用户使用此选项方便第一次的全量同步。第一次同步完成后,该时间被更......
  • Letax常用数学符号
    Latex常用数学符号1.关系运算符符号LaTeX代码\(=\)=\(\neq\)\neq\(\leq\)\leq\(\geq\)\geq\(\ll\)\ll\(\gg\)\gg\(\leqslant\)\leqslant\(\geqslant\)\geqslant\(\equiv\)\equiv\(\not\equiv\)\not......
  • vue3+vite+js中二次封装axios
    一、安装axiosnpmiaxios二、文件结构涉及到的文件:utils/request.sjapi/index.js(可以根据不同页面在api文件下新建不同文件夹,方便管理)vite.config.js三、request.js对axios进行简单的二次封装importaxiosfrom"axios";constrequest=axios.create({//......