0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

KV260视觉入门套件smartcamera体验

发烧电子爱好者 来源:发烧电子爱好者 作者:发烧电子爱好者 2023-09-11 13:04 次阅读

一、基础环境

硬件:KV260视觉入门套件

KV3.png

摄像头:海康720P USB摄像头(因为部署Vitis AI之后懒得poweroff插MIPI camera了,直接USB上)

DS-E11.png

软件:Ubuntu 22.04 + Vitis AI v3.0

KV6.png
root@kria:~# uname -a
Linux kria 5.15.0-1020-xilinx-zynqmp #22-Ubuntu SMP Fri Feb 2414:14:20 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
root@kria:~#

二、初步体验

Vitis AI 3.0的用户手册如下,基本概念和指南很清晰,只需要一步一步照着做即可。

Vitis AI — Vitis™ AI 3.0 documentation (xilinx.github.io)

先拿smartcam来开刀,展示下具体流程,先apt update/upgrade全部走一遍。

(一)Docker安装&配置

Vitis AI v3.0通过Docker部署,故需要安装&配置Docker环境。
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

随后验证安装是否成功:

DK.png

因为一直root,所以可以忽略Docker用户权限。

之后添加国内Docker镜像源,否则2.4G的smartcam镜像一晚上根本下不完。

先在/etc/docker/ 目录下增加daemon.json文件,将国内镜像源加进去,文件内容如下:

{
    "registry-mirrors": [
        "https://ccr.ccs.tencentyun.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://registry.docker-cn.com"
    ]
}

之后service docker restart重启Docker服务,再docker info检查是否OK,差不多就是下面的样子:

Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 8165feabfdfe38c65b599c4993d227328c231fca
 runc version: v1.1.8-0-g82f18fe
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 5.15.0-1023-xilinx-zynqmp
 Operating System: Ubuntu 22.04.3 LTS
 OSType: linux
 Architecture: aarch64
 CPUs: 4
 Total Memory: 3.814GiB
 Name: kria
 ID: d0241500-7aff-4090-bba3-e961db7c1818
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://ccr.ccs.tencentyun.com/
  https://docker.mirrors.ustc.edu.cn/
  https://hub-mirror.c.163.com/
  https://mirror.baidubce.com/
  https://registry.docker-cn.com/
 Live Restore Enabled: false

(二)配置Vitis AI

先添加Xilinx软件包源,通过add-apt-repository ppa:xilinx-apps/ppaadd-apt-repository ppa:ubuntu-xilinx/updates两个cmd设置额外的apt repository。

APT.png

之后,apt update更新所有package。

root@kria:~/Vitis-AI# apt update
Hit:1 https://download.docker.com/linux/ubuntu jammy InRelease
Hit:2 http://ports.ubuntu.com/ubuntu-ports jammy InRelease
Hit:3 http://ports.ubuntu.com/ubuntu-ports jammy-updates InRelease
Hit:4 http://oem.archive.canonical.com/updates jammy-limerick InRelease
Hit:5 https://ppa.launchpadcontent.net/ubuntu-xilinx/sdk/ubuntu jammy InRelease
Hit:6 http://ports.ubuntu.com/ubuntu-ports jammy-backports InRelease
Hit:7 http://ports.ubuntu.com/ubuntu-ports jammy-security InRelease
Hit:8 https://ppa.launchpadcontent.net/ubuntu-xilinx/updates/ubuntu jammy InRelease
Hit:9 https://ppa.launchpadcontent.net/xilinx-apps/ppa/ubuntu jammy InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
5 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@kria:~/Vitis-AI# apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
  python2.7-minimal libjs-jquery-ui libopenexr25 libavcodec58 libavutil56
  libswscale5 libswresample3 libavformat58 python2.7 libpython2.7-minimal
  libpython2.7-stdlib
Learn more about Ubuntu Pro at https://ubuntu.com/pro
The following packages have been kept back:
  gjs libgjs0g libsmbclient libwbclient0 samba-libs
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

后续,继续apt install xlnx-firmware-kv260-smartcam下载smartcam固件。

root@kria:~/Vitis-AI# apt install xlnx-firmware-kv260-smartcam
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  xlnx-firmware-kv260-smartcam
0 upgraded, 1 newly installed, 0 to remove and 5 not upgraded.
Need to get 2973 kB of archives.
After this operation, 7921 kB of additional disk space will be used.
Get:1 https://ppa.launchpadcontent.net/xilinx-apps/ppa/ubuntu jammy/main arm64 xlnx-firmware-kv260-smartcam arm64 0.9-0xlnx1 [2973 kB]
Fetched 2973 kB in 4s (727 kB/s)
Scanning processes...
Restarting services...ocessor microcode upgrades.
Package configuration

通过xmutil命令xmutil listapps查看:

LISTAPP.png

Active_slot为0的表示正在运行,可以xmutil unloadapp停止掉,这之前还要xmutil desktop_disable禁用桌面,奇怪的是xmutil unloadapp运行后,风扇狂转,按理来说停止服务应该资源消耗变小了,可是fan那么激动做啥?

还有个提醒memory leak的ERROR,有知道的大佬吗?

root@kria:~/Vitis-AI# xmutil unloadapp
[ 8191.766515] OF: ERROR: memory leak, expected refcount 1 instead of 2, of_node_get()/of_node_put() unbalanced - destroy cset entry: attach overlay node /axi/zyxclmm_drm
[ 8191.781699] OF: ERROR: memory leak before free overlay changeset,  /axi/isp_vcap_csi/ports/port@0/endpoint
[ 8191.793445] OF: ERROR: memory leak, expected refcount 1 instead of -1073741824, of_node_get()/of_node_put() unbalanced - destroy cset entry: attach overlay node /axi/isp_vcap_csi/ports/port@0/endpoint
[ 8191.811821] OF: ERROR: memory leak before free overlay changeset,  /axi/scaler@b0100000/ports/port@1/endpoint
[ 8191.821849] OF: ERROR: memory leak, expected refcount 1 instead of -1073741824, of_node_get()/of_node_put() unbalanced - destroy cset entry: attach overlay node /axi/scaler@b0100000/ports/port@1/endpoint
[ 8191.840101] OF: ERROR: memory leak before free overlay changeset,  /axi/scaler@b0100000/ports/port@0/endpoint
[ 8191.850111] OF: ERROR: memory leak, expected refcount 1 instead of -1073741824, of_node_get()/of_node_put() unbalanced - destroy cset entry: attach overlay node /axi/scaler@b0100000/ports/port@0/endpoint
[ 8191.868361] OF: ERROR: memory leak, expected refcount 1 instead of 2, of_node_get()/of_node_put() unbalanced - destroy cset entry: attach overlay node /axi/scaler@b0100000/ports
[ 8191.884328] OF: ERROR: memory leak before free overlay changeset,  /axi/csiss@80000000/ports/port@1/endpoint
[ 8191.894253] OF: ERROR: memory leak, expected refcount 1 instead of -1073741824, of_node_get()/of_node_put() unbalanced - destroy cset entry: attach overlay node /axi/csiss@80000000/ports/port@1/endpoint
[ 8191.912406] OF: ERROR: memory leak before free overlay changeset,  /axi/csiss@80000000/ports/port@0/endpoint
[ 8191.922328] OF: ERROR: memory leak, expected refcount 1 instead of -1073741824, of_node_get()/of_node_put() unbalanced - destroy cset entry: attach overlay node /axi/csiss@80000000/ports/port@0/endpoint
[ 8191.940542] OF: ERROR: memory leak, expected refcount 1 instead of 2, of_node_get()/of_node_put() unbalanced - destroy cset entry: attach overlay node /axi/i2c@80030000/i2c-mux@74/i2c@0/isp@3c/sensors/sensor@0
remove from slot 0 returns: 0 (Ok)

(三)启动Docker

先下载xilinx/smartcam的Docker IMG,通过docker pull xilinx/smartcam命令。

root@kria:~/Vitis-AI# docker pull xilinx/smartcam
Using default tag: latest
latest: Pulling from xilinx/smartcam
00f50047d606: Pull complete
d7951c234d55: Pull complete
05265a2d1f35: Pull complete
90b46a25b424: Pull complete
80e164c37cc5: Pull complete
3d8f42a1f194: Pull complete
b98fe3f03a5b: Pull complete
59a6d05de11d: Pull complete
c3201d2e9455: Pull complete
5a86aa1eda97: Pull complete
1c16e9132328: Pull complete
d5655ba163b7: Pull complete
3044adb41328: Pull complete
f5dc15e1f4ef: Pull complete
Digest: sha256:da2e52629011aeec332152a0f468d3ff156917dba9b596cf6d0de958d5dc29d7
Status: Downloaded newer image for xilinx/smartcam:latest
docker.io/xilinx/smartcam:latest

用了国内的源,速度就是快,很快就下载完成。再看看imgs:

root@kria:~/Vitis-AI# docker images
REPOSITORY        TAG       IMAGE ID       CREATED         SIZE
hello-world       latest    b038788ddb22   4 months ago    9.14kB
xilinx/smartcam   latest    aa0270aef908   11 months ago   1.41GB

通过命令启动xilinx/smartcam镜像,

DR.png

此时root@xlnx-docker:/# 提示进入Docker环境。

三、运行

如文章之初所说,因为部署Vitis AI之后懒得poweroff插MIPI camera了(直接带电插MIPI camera又感觉有风险),那就直接USB camera上吧。

先确定USB camera的名字,通过拔插USB摄像头确定是/dev/media1,为什么不是/dev/video*?一个问号。

root@xlnx-docker:/# ls /dev/media*
/dev/media0  /dev/media1

本来想smartcam --usb=1 -W 640 -H 480 --target=dp,接上HDMI显示器后不能显示,貌似显示器不支持这个分辨率,为什么是640X480这个奇葩的分辨率,是因为海康USB摄像头为720P,所以选了个摄像头支持的分辨率。

root@xlnx-docker:/# smartcam --usb=1 -W 640 -H 480 --target=dp
Resize: mean_r=128.000000
Resize: mean_g=128.000000
Resize: mean_b=128.000000
Resize: scale_r=1.000000
Resize: scale_g=1.000000
Resize: scale_b=1.000000
[ 9484.157137] zynqmp-display fd4a0000.display: Layer width:height must be 640:480
[ 9484.187386] zynqmp-display fd4a0000.display: Layer width:height must be 640:480
[ 9484.202081] zynqmp-display fd4a0000.display: Layer width:height must be 640:480
[ 9484.224098] zynqmp-display fd4a0000.display: Layer width:height must be 640:480
[ 9484.264872] zynqmp-display fd4a0000.display: Layer width:height must be 640:480

那就RTSP吧,smartcam --usb=1 -W 640 -H 480 --target=rtsp伺候:

root@xlnx-docker:/# smartcam --usb=1 -W 640 -H 480 --target=rtsp
stream ready at:
 rtsp://172.17.0.1:554/test
rtsp://192.168.99.238:554/test

用支持RTSP的播放器再同一网段内连接,本人头像就不照了,刚好在刷抖音,刷个人脸来看看。

CAM.png

效果不错,最后,来一张合影,基本上各种线缆都接上了。

ALL.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • usb
    usb
    +关注

    关注

    59

    文章

    7438

    浏览量

    258264
  • 摄像头
    +关注

    关注

    59

    文章

    4612

    浏览量

    92911
  • AI
    AI
    +关注

    关注

    87

    文章

    26472

    浏览量

    264101
  • 视觉
    +关注

    关注

    1

    文章

    140

    浏览量

    23681
  • Vitis
    +关注

    关注

    0

    文章

    144

    浏览量

    7161
收藏 人收藏

    评论

    相关推荐

    【AMD KV260视觉入门开发套件试用】1、开箱&烧录镜像系统体验

    Kria KV260 视觉 AI 入门套件官方介绍主页: https://china.xilinx.com/products/som/kria
    发表于 07-15 22:00

    KV260视觉入门套件试用体验】简单开箱和Ubuntu系统上手

    感谢电子发烧友平台组织本次试用活动,感谢安富利(AVNET)给我们提供了强大的KV260视觉入门开发套件以及配件包。 一、简单开箱 快递发的是顺丰,10号中午从深圳出发,12号上午收到快递
    发表于 07-28 21:56

    [KV260视觉入门套件试用体验]+KV260 开发套件使用初体验

    入门套件旨在为客户提供一个平台,以评估他们在智能城市和机器视觉、安全摄像头、零售分析和其他工业应用中的目标应用。 据介绍,KV260 开发板建立了丰富的生态系统,在硬件和软件方面做了
    发表于 07-31 01:26

    KV260视觉入门套件试用体验】运行SmartCamera示例程序

    将会了解如何在KV260上安装最新版本Docker,以及如何在KV260上运行Xilinx官方的SmartCamera示例程序。 一、安装Docker 这里我参考的是Docker官方文档的步骤,这样
    发表于 08-20 23:38

    KV260视觉入门套件试用体验】开箱和初次开机

    感谢电子发烧友给的机会,感谢安富利提供的开发板.这次申请KV260主要是最近在做ROS2相关的工作,ROS2设计比较完善,包组织方式十分便于开发,但默认的编译和运行工具都十分卡顿,而KV260
    发表于 08-23 23:07

    KV260视觉入门套件试用体验】开箱报告+测评计划

    电子发烧友和安富利提供的这次机会。 这次测评的套件不仅包括KV260主板(官网价值$249),还包含两套官方配件:Kria KV260 电源与适配器(官网价值$25),Kria KV260
    发表于 08-26 17:51

    KV260视觉入门套件试用体验】KV260 开发套件使用体验(二、接通摄像头)

    KV260视觉入门套件试用体验】KV260 开发套件使用体验(二、接通摄像头) 1、
    发表于 09-03 11:41

    KV260视觉入门套件试用体验】KV260开发板初使用

    的硅器件、存储器、引导和安全模块。 Kria KV260 Vision AI是Xilinx公司推出的一款视觉AI入门套件,旨在为客户提供一个平台来评估他们的目标应用程序并最终设计他们
    发表于 09-18 14:56

    KV260视觉入门套件试用体验】+03.SmartCamera人脸识别示例程序(zmj)

    **【KV260视觉入门套件试用体验】+03.SmartCamera人脸识别示例程序(zmj) ** 本篇主要介绍在
    发表于 10-15 23:47

    KV260视觉入门套件试用体验】KV260开箱及镜像烧写

    是所有部件的照片 简单介绍一下kv260吧,Kria™ KV260 视觉 AI 入门套件是评估基于视觉
    发表于 10-16 03:31

    KV260视觉入门套件试用体验】四、KV260 视觉入门套件和固件更新

    KV260视觉入门套件试用体验】四、KV260 视觉入门
    发表于 10-17 08:28

    KV260视觉入门套件试用体验】三、开发板性能评估

    Wiki - Confluence (atlassian.net) Xilinx官方的快速入门指南: Kria KV260视觉 AI 入门套件
    发表于 10-17 08:39

    贸泽备货Xilinx Kria KV260视觉AI入门套件,助力快速开发视觉应用

    贸泽电子 (Mouser Electronics) 即日起备货Xilinx的Kria™ KV260视觉AI入门套件
    发表于 06-28 14:45 2303次阅读
    贸泽备货Xilinx Kria <b class='flag-5'>KV260</b><b class='flag-5'>视觉</b>AI<b class='flag-5'>入门</b><b class='flag-5'>套件</b>,助力快速开发<b class='flag-5'>视觉</b>应用

    Kria KV260 AI视觉套件入门

    电子发烧友网站提供《Kria KV260 AI视觉套件入门.zip》资料免费下载
    发表于 11-15 11:29 2次下载
    Kria <b class='flag-5'>KV260</b> AI<b class='flag-5'>视觉</b><b class='flag-5'>套件</b><b class='flag-5'>入门</b>

    Kria KV260视觉AI入门套件用户指南

    电子发烧友网站提供《Kria KV260视觉AI入门套件用户指南.pdf》资料免费下载
    发表于 09-14 14:53 2次下载
    Kria <b class='flag-5'>KV260</b><b class='flag-5'>视觉</b>AI<b class='flag-5'>入门</b><b class='flag-5'>套件</b>用户指南