张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(五)OpenCV的安装
【摘要】 Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4
五、OpenCV的安装
8、使用MindStudio运行YoLoV3样例工程
我们记得上次说到OpenCV的安装比较麻烦。是因为OpenCV需要实现交叉编译,即需要在开发环境x86上编译aarch64的包,然后编译好的可执行程序需要在运行环境aarch64上运行。
另外,由于mksd制卡方式和dd镜像制卡方式有点区别。dd镜像方式中很多包昇腾团队已经给我们准备好了。所以在下列的一些(shao)操作里面,张小白会特意提到,如果是mksd制卡方式,需要做哪些操作(言下之意就是,如果是dd方式,那些在200dk ubuntu 18.04 aarch环境上的一些操作就可以省略了。
(1)打开YoLoV3样例工程
打开一个新的YoLoV3工程,可参考:https://gitee.com/ascend/samples/tree/master/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture
会提示:
此时点击OK:
在弹出的菜单中再点击OK即可打开这个YoLoV3工程。
此时,还是需要再配置一个deployment的:
add一个server:
像前面描述一样的增加 connection和mapping即可:
当然,编译YoLoV3的工程代码同样也会报找不到OpenCV的问题:
我们来看看怎么解决这个问题。
CANN训练营的龙哥 @海中之龙 是个爱学习的好童鞋。他给张小白提供了一个解决方案:
跟着好学生做应该能成功,不妨试一下吧!
(2)安装OpenCV
方式1:dd镜像制卡的运行环境
如果是dd镜像制卡的运行环境,按以下操作进行:
cd /usr/lib/aarch64-linux-gnu
sudo scp -r HwHiAiUser@192.168.1.2:/lib/aarch64-linux-gnu/* ./
sudo scp -r HwHiAiUser@192.168.1.2:/usr/lib/aarch64-linux-gnu/* ./
。。。
sudo scp -r HwHiAiUser@192.168.1.2:/usr/lib/*.so.* ./
# 拷贝opencv相关头文件。
sudo scp -r HwHiAiUser@192.168.1.2:/usr/include/opencv /usr/include/
sudo scp -r HwHiAiUser@192.168.1.2:/usr/include/opencv2 /usr/include/
。。。
方式2:mksd制卡的运行环境
这种环境下,运行环境基本上没有开发包。所以需要在200DK上安装OpenCV:
.。。
x86环境copy回对应的so:
cd /usr/lib/aarch64-linux-gnu
sudo scp -r HwHiAiUser@192.168.1.2:/lib/aarch64-linux-gnu/* ./
sudo scp -r HwHiAiUser@192.168.1.2:/usr/lib/aarch64-linux-gnu/* ./
sudo scp -r HwHiAiUser@192.168.1.2:/usr/lib/*.so.* ./
sudo scp -r HwHiAiUser@192.168.1.2:/usr/include/opencv* /usr/include
(其实仔细看看,除了需要在运行环境200DK上安装OpenCV之外,后续的拷贝动作跟mksd都是一样的。)
(3)执行编译
build:
这里比较奇怪,前面OpenCV没报错了,但是后面又去找了 runtime的目录,这个CMakeLists.txt文件确实写得有问题,至少是不适合交叉编译使用。
张小白检查了下上图中的link_librarys, 原来这个runtime目录跟实际的目录不对应:
张小白做了以下的修改:(在原来的runtime目录前增加了 一层arm64-linux目录)
再重新编译,成功了!
(4)YoLoV3的模型转换
A、下载caffe模型
需要先到200DK上执行以下命令:
cd $HOME/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/model
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/Yolov3/yolov3.caffemodel
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/Yolov3/yolov3.prototxt
wget https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/YOLOV3_coco_detection_picture/aipp_nv12.cfg
B、在运行环境(200DK)的命令行中完成模型转换:
atc --model=yolov3.prototxt --weight=yolov3.caffemodel --framework=0 --output=yolov3 --soc_version=Ascend310 --insert_op_conf=aipp_nv12.cfg
C、将转换好的离线模型拷贝到开发环境
在X86上执行:
cd ~/tag/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/model
scp HwHiAiUser@192.168.1.2:/home/HwHiAiUser/samples/cplusplus/level2_simple_inference/2_object_detection/YOLOV3_coco_detection_picture/model/yolov3.om .
D、准备待推理的图片
cd ../data
wget https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/YOLOV3_coco_detection_picture/dog1_1024_683.jpg --no-check-certificate
(4)代码运行
在MindStudio的菜单中选择Run:
等了一会儿,运行结果如下:
查看本地out/output目录下生成的结果图片:
确实 dog 99%已在结果图中标识出来了。
9、再次使用MindStudio打开venc样例工程
回过头来打开dvpp的venc的项目,这个时候应该也能编译和运行了:
这里面的细节就不细说了,跟前面处理的方式几乎一样。
(未完待续)
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
张辉2022/04/13 22:10:561楼编辑删除举报
https://bbs.huaweicloud.com/blogs/345859
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(二)分设环境之运行环境准备
https://bbs.huaweicloud.com/blogs/345861
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(三)分设环境之运行环境准备dd
https://bbs.huaweicloud.com/blogs/345862
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(四)MindStudio安装配置
https://bbs.huaweicloud.com/blogs/345869
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(五)OpenCV的安装
https://bbs.huaweicloud.com/blogs/345905
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(六)番外篇:寻找失去的网卡
https://bbs.huaweicloud.com/blogs/345906
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(七)合设环境准备(mksd)
https://bbs.huaweicloud.com/blogs/346015
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(八)完成CANN进阶班大作业1
https://bbs.huaweicloud.com/blogs/347062
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(九)ATC模型转换
https://bbs.huaweicloud.com/blogs/348182
张辉2022/04/27 22:12:362楼编辑删除举报
https://bbs.huaweicloud.com/blogs/348248
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(11)番外:TF卡扩容
https://bbs.huaweicloud.com/blogs/349546
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(12)更好的TF卡扩容方式
https://bbs.huaweicloud.com/blogs/349547
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(13)尝试昇思跑LeNet-1
https://bbs.huaweicloud.com/blogs/349620
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(14)尝试昇思跑LeNet-2
https://bbs.huaweicloud.com/blogs/349621
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(15)尝试昇思跑LeNet-3
https://bbs.huaweicloud.com/blogs/349622
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(16)尝试昇思跑LeNet-4
https://bbs.huaweicloud.com/blogs/349626
张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(17)玩转摄像头
https://bbs.huaweicloud.com/blogs/349654