• [问题求助] 【Atlas800 Mindx SDK】【模型转换后推理】模型转换后Mindx SDK推理失败
     配置ATC命令,设置模型为多bach推理,输出为UINT8,转换模型后,推理失败【功能模块】模型转换 Mindx sdk【环境】系统:Ubuntu 18.04run包:1、A300-3000-3010-npu-driver_21.0.1_ubuntu18.04-aarch64.run2、A300-3000-3010-npu-firmware_1.77.22.6.220.run3、Ascend-mindxsdk-mxvision_2.0.1_linux-aarch64.run【执行过程】模型转换:模型下载路径:https://support.huaweicloud.com/ug-mfac-mindxsdk201/atlasmx_02_0047.html模型转换命令:atc --model=./yolov3_tf.pb --framework=3 --output=./UINT8_model --soc_version=Ascend310 --insert_op_conf=./aipp_yolov3_416_416.aippconfig --input_shape="input/input_data:8,416,416,3" --output_type=UINT8 --out_nodes="conv_lbbox/BiasAdd:0;conv_mbbox/BiasAdd:0;conv_sbbox/BiasAdd:0"推理现象:(pipeline见附件)
  • [问题求助] FRS人脸识别服务的javaSDK应该怎么用?
    FRS人间识别服务的javaSDK应该怎么用?https://support.huaweicloud.com/sdkreference-face/face_04_0002.html  这个下载的jar包按照流程导入未提供java文件,不能直接调用是要自己构建客户端?引用其中的方法?别的服务的都是导入工程直接用!深感疑惑,有没有热心人解答下
  • [MindX SDK] opencv编译指导-可以将MindX SDK中的opencv增加FFmpeg视频解码和图像显示功能
    # opencv编译指导此指导可以将MindX SDK中的opencv增加FFmpeg视频解码和图像显示功能。需要按如下指导编译opencv之后将生成的libopencv_world.so替换SDK本身的so。## 1. 标准形态软件依赖以安装包Ascend-mindxsdk-mxvision_2.0.2.b011_linux-aarch64.run为例,其中的opencv版本为4.3.0| 依赖软件 | 版本 | 下载地址 | 说明 || -------- | ----- | ------------------------------------------------------------ | ------------------------------------ || opencv | 4.3.0 | [link](https://github.com/opencv/opencv/releases) | opencv的基本组件,用于图像的基本处理 || ffmpeg | 4.2.1 | [link](https://github.com/FFmpeg/FFmpeg/archive/n4.2.1.tar.gz) | 视频转码解码组件 | |注意:- 其中opencv的版本需要和SDK动态链接库的opencv版本一致- 设备区别(x86 和 arm 等)### 1.1 FFmpeg下载完解压,进入解压后的目录,按以下命令编译即可 **注意** 其中的${路径} 为自己指定的FFmpeg安装路径需要替换成实际路径``` ./configure --prefix=${路径}/ffmpeg --enable-shared make -j make install```ffmpeg 编译完成请设置环境变量,${路径}需替换成实际的安装路径```export LD_LIBRARY_PATH=${路径}/ffmpeg/lib:$LD_LIBRARY_PATH```## 2 编译opencv### 2.1 安装gtk可视化需要 [参考链接](https://stackoverflow.com/questions/58370077/how-can-i-enable-gtk-for-opencv-in-cmake)```sudo apt-get install libgtk2.0-dev libgtk-3-dev```### 2.1 准备脚本**步骤1** 将脚本放到和opencv源码包同级的路径下eg:!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202107/23/143644tdfnwymqykqxhthi.png)**步骤2** 修改opencv编译脚本中的路径需要将脚本中的${路径}替换为实际的FFmpeg安装路径```PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${路径}/ffmpeg/lib/pkgconfig \```**步骤3** 运行脚本 bash opencv_build.sh将在opencv_build.sh同级的目录中生成一个tmp路径!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202107/23/143707zifbuqvm52sxamp7.png)**步骤4** 进入tmp -> opencv -> lib 执行 ldd -r libopencv_world.so.4.3.0 | grep av 查看是否和FFmpeg的库链接成功!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202107/23/143720cp6ljw60jhy23l51.png)## 3 替换SDK中的opencv链接库1 进入${SDK安装路径}/opensource/lib,将其中libopencv_world.so.4.3.0移入其他路径备份2 将编译opencv的路径下tmp/opencv/lib 路径下的libopencv_world.so.4.3.0复制到当前路径,配置好软链接。3 测试是否成功**注意** 编译的opencv库和SDK是否兼容。比如SDK是aarch64但是编译的opencv是x86的。### 4 验证指导后面有两个样例,一个是图像显示imshow,另一个是视频显示videosample。1 调整CMakeLists.txt 配置的路径include_directories和link_directories需要配置为自己的SDK安装路径。```include_directories(${SDK安装路径}/opensource/include/opencv4)link_directories(${SDK安装路径}/opensource/lib)```2 编译运行新建目录build -> 进入build目录 -> 执行编译指令 操作如下```mkdir buildcd buildcmake ..make -j```运行可执行文件DisplayImage### 5 对可视化的推理结果进行弹窗之前有很多样例是将结果可视化写入结果图片,可以在其基础上对可视化结果进行弹窗展示。比如修改前:直接将结果写入result.jpg。!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202107/30/111303bsc42a6r9lch2ylc.png)修改为:```// 把Mat类型的图像矩阵保存为图像到指定位置。 cv::imwrite("./result.jpg", imgBgr); cv::Mat result_image; result_image = cv::imread("result.jpg"); if ( !result_image.data ) { printf("No image data \n"); return -1; } namedWindow("Display Image", cv::WINDOW_AUTOSIZE ); imshow("Display Image", result_image); cv::waitKey(0); return APP_ERR_OK;```修改后效果,弹框出现如下图:!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202107/30/111317aop3jtr3o0dc4ie7.png)## 常见问题执行图形化界面显示的时候可能会遇到报错!(https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202107/23/143744opmaxi7ekwnxqdap.png) 解决:1.先确认服务器端配置文件/etc/ssh/sshd_config中包含ForwardX11 yes2.修改环境变量 DISPLAYexport DISPLAY=本机IP:0.0## opencv_build.sh 脚本其中fileName为opencv源码包文件夹名,编译生成的文件会生成在和opencv源码包同级的tmp路径下。PKG_CONFIG_PATH需要配置为自己编译的FFmpeg路径下的pkgconfig。```#!/bin/bash# Build # fileName is opencv source code pathfileName="opencv-4.3.0"cd "$fileName" || { warn "cd to ./${fileName} failed" exit 254} # in opencv-4.3.0if [[ -d "_build" ]];then rm -r _buildfimkdir _buildcd _build || { warn "Opencv needs a separate directory for building" exit 253} # in opencv-4.3.0/_buildif [[ $(uname -m) == aarch64 ]]; then opencv_aarch64_cmake_arg="-DCMAKE_CXX_FLAGS="'"'"-march=armv8-a"'"'fiexport LDFLAGS="-Wl,-z,relro,-z,now -s -pie" && \PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${路径}/ffmpeg/lib/pkgconfig \cmake \ $opencv_aarch64_cmake_arg \ -DCMAKE_BULLD_TYPE=RELEASE \ -Dgoogle=mindxsdk_private \ -DCMAKE_INSTALL_PREFIX="$(pwd)/../../tmp/opencv" \ -DCMAKE_SKIP_RPATH=TRUE \ -DCMAKE_CXX_FLAGS_RELEASE="-O2 -DNDEBUG -std=c++11 -fPIE -fstack-protector-all -fPIC -Wall -D_GLIBCXX_USE_CXX11_ABI=0" \ -DCMAKE_C_FLAGS_RELEASE="-O2 -DNDEBUG1 -fPIE -fstack-protector-all -fPIC -Wall" \ -DBUILD_opencv_world=ON \ -DBUILD_PERE_TESTS=OFF \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_TESTS=OFF \ -DWITH_ADE=OFF \ -DWITH_GSTREAMER=ON \ -DWITH_GTK=ON \ -DWITH_FFMPEG=ON \ -DWITH_IPP=OFF \ -DWITH_LAPACK=OFF \ -DWITH_WEBP=OFF \ -DENABLE_NEON=OFF \ -DCPU_NEON_SUPPORTED=OFF \ -DCPU_BASELINE_REQUIRE=";" \ -G "Unix Makefiles" -j .. || { warn "Building OpenCV failed during cmake" exit 254 } make -j12 || { warn "Building OpenCV failed during cmake" exit 254 } make install -j || { warn "Building OpenCV failed during cmake install" exit 254 } cd ../.. info "Building OpenCV done."```## 测试样例### imshow**main.cpp**```#include <stdio.h>#include <opencv2/opencv.hpp>using namespace cv;int main(int argc, char** argv){ if ( argc != 2 ) { printf("usage: DisplayImage.out <Image_path>\n"); return -1; } Mat image; image = imread( argv[1], 1 ); if ( !image.data ) { printf("No image data \n"); return -1; } namedWindow("Display Image", WINDOW_AUTOSIZE ); imshow("Display Image", image); waitKey(0); return 0;}```**CMakeLists.txt**```cmake_minimum_required(VERSION 2.8)project( DisplayImage )add_compile_options(-std=c++11 -fPIC -fstack-protector-all -g -Wl,-z,relro,-z,now,-z -pie -Wall)add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0 -Dgoogle=mindxsdk_private)include_directories(/home/MindX_SDK/mxVision/opensource/include/opencv4)link_directories(/home/MindX_SDK/mxVision/opensource/lib)add_executable(DisplayImage main.cpp)target_link_libraries(DisplayImage opencv_world)```### video_sample**main.cpp**```#include <stdio.h>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <iostream>using namespace cv;using std::string;int main(int argc, char** argv){ string filename = "test.mp4"; VideoCapture capture(filename); Mat frame; if ( !capture.isOpened() ) throw "Error when reading steam_avi"; namedwindow( "w", 1); for( ; ; ) { capture >> frame; if(frame.empty()) break; waitKey(20); // waits to display frame std::cout << "hello" << std::endl; } waitKey(0); // key press to close window // releases and window destroy are automatic in C++ interfece}```**CMakeLists.txt** 和imshow的CMakeLists.txt 相同
  • [技术干货] SDK-py多路视频,多芯片,多线程,多进程使用
    附件有后处理代码跟pipline.
  • [问题求助] 【OBS】【JAVASDK】javaSDK如何一次性删除不为空(里面有很多对象)的路径
    请问各位大佬:javaSDK如何一次性删除不为空(里面有很多对象)的路径。使用deleteObject一直不成功,返回状态码是204    感谢
  • [技术干货] 昇腾CANN训练营第二期[实操视频记录]-应用营第三周-基于MindX SDK开发目标检测应用以及图像分类应用
    https://www.bilibili.com/video/BV1q64y1X7Jp/请大家多多指点,顺便求个赞
  • [技术干货] 昇腾CANN训练营第二期[实操视频记录]-应用营第二周-MindX SDK安装及yolov3模型转换
    https://www.bilibili.com/video/BV1oy4y1K7DC/请大家多多指点
  • [问题求助] 安装MindStudio运行./MindStudio.sh后在Python SDK那一步报错
    【功能模块】在ubuntu18.04版本的系统中安装MindStudio时出现错误,之前的配置全部按照https://support.huaweicloud.com/environment-deployment-Atlas200DK202/atlased_04_0024.html这个链接进行。【操作步骤&问题现象】1、2、【截图信息】无论是root用户下还是普通用户下都是提示这个错误,请大佬帮忙解决一下,谢谢【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 【D2120-00-I-P产品】【SDK Linux二次开发功能】IVS_PU_ManualSnapshot接口调用错误
    【功能模块】D2120-00-I-P产品,SDK Linux(SDC 8.1.0  SDK,Linux x64)二次开发【操作步骤&问题现象】1、   //Init SDK    unsigned long ulErrorCode = 0;    char *szErrorMsg = NULL;    unsigned long ulLocalPort = 5060; //SDK local port, in (0,65535)    unsigned long ulResult = IVS_PU_Init(1, NULL, ulLocalPort);    if (PU_FALSE == ulResult)    {        ulErrorCode = IVS_PU_GetLastError();        printf("IVS_PU_Init Fail:%d,%s\n", ulErrorCode, IVS_PU_GetErrorMsg(ulErrorCode));        // Doing exception handing, like printf…        return -1;    }     printf("IVS_PU_Init OK!\n");    //Login IPC    //e.g. IPC's IP address is 192.168.0.120    unsigned long ulLoginID = IVS_PU_Login("192.168.18.101", 6060, "admin", "a1234567");    if (PU_FALSE == ulLoginID) // login fail    {        ulErrorCode = IVS_PU_GetLastError();        printf("IVS_PU_Login Fail:%d,%s\n", ulErrorCode, IVS_PU_GetErrorMsg(ulErrorCode));        // Doing exception handing, like printf…        IVS_PU_Cleanup();        return -1;    }    printf("IVS_PU_Login OK!\n");2、调用IVS_PU_ManualSnapshot接口错误,Errcode:11,Receiving the message timed out.    PU_SNAPSHOT_PARA_S stSnapShotPara = {0};    stSnapShotPara.ulChannelID = 101;    stSnapShotPara.enPictureFormat = PU_SNAPSHOT_FORMAT_JPEG;    strcpy(stSnapShotPara.szPicPath, "./test.jpg");    bool bSnapShot = IVS_PU_ManualSnapshot(ulLoginID, &stSnapShotPara);    if (PU_FALSE == bSnapShot) // Realplay fail    {        unsigned long ulErrCode = IVS_PU_GetLastError();        // Doing exception handing, like printf…        printf("IVS_PU_ManualSnapshot Fail:%d,%s\n", ulErrCode, IVS_PU_GetErrorMsg(ulErrCode));        return -1;    }【截图信息】无【日志信息】(可选,上传日志内容或者附件)无
  • [MindX SDK] 【MindX SDK】【mxVision】找不到_StreamManagerApi.so
    【功能模块】按步骤运行图处分类作业。https://gitee.com/kongchibin/ascend_camp/tree/master/%E4%BD%9C%E4%B8%9A/week3【操作步骤&问题现象】1、python3.7 main.py【截图信息】【日志信息】/home/HwHiAiUser/Ascend/mindx_sdk/mxVision_20.2.0/linux-aarch64/mxVision/python/_StreamManagerApi.so: cannot open shared object file: No such file or directory【补充】已经确认路径下有so文件,动态库依赖路径也是配置了的。 echo $LD_LIBRARY_PATH/home/HwHiAiUser/Ascend/mindx_sdk/mxVision_20.2.0/linux-aarch64/mxVision/lib:/home/HwHiAiUser/Ascend/mindx_sdk/mxVision_20.2.0/linux-aarch64/mxVision/opensource/lib:/home/HwHiAiUser/Ascend/mindx_sdk/mxVision_20.2.0/linux-aarch64/mxVision/opensource/lib64:/usr/local/Ascend/ascend-toolkit/latest/acllib/lib64:/usr/local/Ascend/driver/lib64/echo $PYTHONPATH/home/HwHiAiUser/Ascend/mindx_sdk/mxVision_20.2.0/linux-aarch64/mxVision/python
  • [MindX SDK] 【MindX SDK产品】【插件推理功能】C++对应的接口改成Python接口
    【功能模块】MindX SDK的推理【截图信息】需要将文件中上图main中的C++接口改成对应的python接口,只找到这个样例 https://support.huaweicloud.com/ug-vis-mindxsdk201/atlasmx_02_0468.html ,无奈上图中有些api以及数据类型实在找不到对应python的接口,还请,大佬指导或者直接改写。【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] MindX-SDK_mxvision_python_yolov5s 实时rtsp 侦测
    MINDX_SDK_rtsp视频流推理一、准备工作简介本实例提供MINDX-SDK运行yolov5s需要的模型文件跟配置文件基本流程 从摄像头拉取stsp视频流--SDK解码并完成推理--后处理叠框到原图--把叠好框的图片推流到流媒体服务器--拉流实时显示侦测画面需要预先在atlas设备上安装好 driver、fireware、toolkit包 或者 nnrt包、opencv、ffmpeg。需要编译安装ffmpeg需要搭建流媒体服务器从昇腾社区获取mxvision安装包和用户手册https://www.hiascend.com/software/mindx-sdk/mxvision安装mxvision-SDKchmod +x Ascend-mindxsdk-mxvision_{version}_linux-{arch}.run./Ascend-mindxsdk-mxvision_{version}_linux-{arch}.run --check./Ascend-mindxsdk-mxvision_{version}_linux-{arch}.run --install运行SDK需要依赖ACL库,刷新 toolkit或者nnrt 安装路径下的环境变量文件source /usr/local/Ascend/ascend-toolkit/set_env.sh编译安装ffmpeg1.下载ffmpeg源码下载地址:http://www.ffmpeg.org/download.html 或 https://github.com/FFmpeg/FFmpeg2.解压使用modaxterm将下载的文件上传至linux服务器,解压:unzip ffmpeg-master.zip3.配置编译并安装 apt-get install yasmcd ffmpeg/# 进行配置:./configure --enable-shared --prefix=/usr/local/ffmpegmakemake install 默认安装在 /usr/local/ffmpeg 路径下 #配置环境变量vi /etc/profile# 按i插入# 在文件末尾加上两句话export FFMPEG_HOME=/usr/local/ffmpegexport PATH=$FFMPEG_HOME/bin:$PATH 修改/usr/local/ffmpeg/lib目录下的文件权限为777:cd /usr/local/ffmpeg/lib/chmod 777 * 参考 http://3ms.huawei.com/hi/group/3300887/wiki_5620584.html 安装流媒体服务器(安装在电脑上)从附件中解压EasyDarwin软件进入解压后的文件夹 双击运行 ServiceInstall-EasyDarwin.exe推流地址为该电脑IP二、实现实时端到端侦测修改pipline文件deviceID 设置运行该stream要用到的芯片ID, 原件属性处修改模型文件跟配置文件。视频流处理需要在pipline rtspUrl中修改rtsp流地址 修改代码参数修改ffmpeg参数 修改ffmpeg路径、推流类型(默认rtsp) 修改推流地址 推流地址(运行EasyDarwin的IP) 示例IP为11.56.30.218,IP后面的“test0”可以自己定义。附件代码拷贝到mxvision安装目录mkdir /xxx/xxxx/mxVision/samples/mxVision/python/rtspcp -r xmind/* /xxx/xxx/mxVision/samples/mxVision/python/rtsp执行脚本运行SDK环境变量并开始实时侦测./run.sh推理结果    打开vlc播放软件 -> 媒体  ->  打开网络串流  ->  输入上面定义的推流IP         rtsp://11.56.30.218/test         
  • [问题求助] 【IVS1800】【eSDK_IVS_API】IVS_SDK_Login失败
    【功能模块】*Linux下,使用eSDK_IVS_API_1.1.RC1.SPC39_SUSE11(64bit)连接IVS1800平台,验证了以下情况:=》telnet连接IVS1800平台9900,9100端口OK=》iClient连接平台OK(连接后虽然有“登录,获取ticket失败(109100063)”提示,但是确定后可以成功连接并操作)=》eSDK IVS_SDK_Login NG【操作步骤&问题现象】0、软件版本:操作系统Ubuntu 18.04,eSDK_IVS_API_1.1.RC1.SPC39_SUSE11(64bit)1、IVS_SDK_Init成功2、IVS_SDK_Login失败2.1  连接9900端口时,程序crash,见截图2.2  连接9910端口时,API返回errcode=[109100019]请大神们帮忙看看是什么问题?【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [开发资源] 【X6721-Z37】【开发对接】需要开发对接SDK以及API接口文档
    需要开发对接以下产品:【X6721-Z37】【开发对接】需要开发对接SDK以及API接口文档
  • [MindX SDK] linux-mindstudio+a500运行sdk样例
    前言本文记录通过linux服务器安装安装mindstudio作为sdk开发环境,并在a500运行。环境linux-arm,a500约束根据文档,window的mindstudio不支持远程sdk开发。部署1、linux服务器上安装mindstudio,安装依赖,安装mindstudio。(由于我是通过root安装,所以没有进行安装前准备,用户需根据自身情况进行操作。比如将非root用户abc加入HwHiAiUser组中)。2、在mindstudio中安装mindx sdk软件包。参考此链接。至此,在mindstudio中可以看到开发包的列表以及sdk的列表5、3、参考此链接,在a500安装mindx sdk软件包。(两侧的cann与sdk版本需要一致,这里都需要2.0.1版本的sdk)4、在mindstudio中创建sdk工程,参考mindstudio文档。target architecture选择aarch64,因为a500是arm。编译过程如下,设置环境变量,并编译。这里解释了为什么mindstudio侧也要安装sdk包。5、选择setting->Tools->SSH configure,配置a500的服务器。可以通过test connection测试是否连接成功。6、点击运行,mindstudio自动将工程打包发送至a500侧。执行推理程序。如果a500侧没有安装sdk并正确设置环境变量LD_LIBRARY_PATH,那么可执行文件将显示找不到***.so文件。注意1、由于本文是在开发与运行服务器都是arm架构,因此不涉及交叉编译。如果用户开发侧是x86,参考文档配置交叉编译环境。具体如下安装apt-get install -y g++-aarch64-linux-gnu开发侧为x86,需要安装x86与aarch的sdk包。在这个地方选择编译器为aarch64-linux-gnu2、如果是用自定义用户如abc,需要将abc加入HwHIAiUser组中。总结mindstudio+A500作为运行开发环境使用起来也比较方便。对于购买了500小站的用户,可以通过这种方式进行开发验证。需要特别注意环境变量的问题,当遇到找不到so文件时,尽量确认环境变量是否出问题。另外,mindstudio支持容器中部署,用户也可以尝试在A500容器中安装mindstudio,并让A500自身作为运行环境。
总条数:463 到第
上滑加载中