【KV260视觉入门套件试用体验】+01.开箱及petalinux系统测试(zmj)
感谢安富利官方和电子发烧友网提供的此次试用机会,可以体验【KV260视觉入门套件】的魅力。
(本节测试的是petalinux流程生成的系统镜像,并不是Ubuntu镜像)
参考链接及详细教程如下所示,其中教程为petalinux系统镜像的教程,共计四个(智能相机Smart_Camera、行人重识别AI-BOX_with_ReID、缺陷检测Defect_Detect和NLP_SmartVision)。
//------a.Kit_Product_Page
www.xilinx.com/kv260
//------b.KV260-Start
www.xilinx.com/KV260-Start
https://www.xilinx.com/products/som/kria/kv260-vision-starter-kit/kv260-gettingstarted/getting-started.html
//------c.详细教程_总
https://xilinx.github.io/kria-apps-docs/main/build/html/index.html
|---Getting_Started_with_Kria_KV260_Vision_AI_Starter_Kit(Smart_Camera)
|---Smart_Camera:Face_Detection + Network & Display
|---AI-Box_with_ReID:Multi-Stream_Face & Pedestrian_Detection
|---Defect_Detection:Machine_Vision_for_Identifying_Defects
|---NLP_SmartVision:Keyword_Based_Switching_Between_Vision_Tasks
//------c-1.Smart_Camera
https://xilinx.github.io/kria-appsdocs/main/build/html/docs/smartcamera/smartcamera_landing.html
|---Overview
| |---Introduction
| |---Features
|---Quick_Start
| |---Setting up the Board and Application deployment Tutorials
|---Tutorials
| |---Customizing AI Models used in the Application
| |---Building the Design components
| |---Building the Hardware design using Vivado
| |---Creating a Vitis Platform
| |---Integrating an overlay into the platform
| |---Building a Petalinux Image
|---Architecture
| |---Software Architecture - Platform
| |---Software Architecture - Accelerator
| |---Hardware Architecture - Platform
| |---Hardware Architecture - Accelerator
|---Other
| |---Debugging
| |---Known_Issues
| |---Limitations
//------c-2.AI-BOX_with_ReID
行人重识别(Person re-identification)也称行人再识别,是利用计算机视觉技术判断图像或者视频序
列中是否存在特定行人的技术。
https://xilinx.github.io/kria-apps-docs/main/build/html/docs/aiboxreid/aibox_landing.html
|---Overview
|---Quick_Start
|---Tutorials
|---Architecture
|---Other
//------c-3.Defect_Detect(缺陷检测)
https://xilinx.github.io/kria-apps-docs/main/build/html/docs/defectdetect/defectdetect_landing.html2. KV260_Starter_Kit
//------KV260 Starter Kit
//------Hardware_of_KV260-Starter-Kit
|---Overview
|---Quick_Start
|---Tutorials
|---Architecture
|---Other
//------c-4.NLP_SmartVision
https://xilinx.github.io/kria-apps-docs/main/build/html/docs/nlpsmartvision/nlp_smartvision_landing.html
|---Overview
|---Quick_Start
|---Tutorials
|---Architecture
|---Other
Kria KV260 视觉 AI 入门套件包括开发板和配件包。
//------开发板
//------配件包
此处主要测试KV260的petalinux系统镜像。
上板前连接好硬件各个接口,其中默认摄像头默认接在IAS-0(还有一个IAS-1,空着)。
//------Iterms_to_Provide
|---Barrel Jack Power supply (12V, 3A)
|---MicroSD card [16GB UHS-1]
|---Micro-USB to USB-A cable
|---AR1335 IAS camera module
|---Ethernet cable
|---HDMI cable to connect to a monitor
//------SD_Card_Image
|---Balena_Etcher / Win32DiskImager
|---petalinux-sdimage-2021.1-update1.wic.xz
| |---petalinux-sdimage-2021.1-update1.wic
//------Hardware_Setup:
A -> B -> C -> D -> E -> F
|---microSD:Insert the SD card into slot at J11.
|---Monitor:Before booting, connect a 1080P/4K monitor to the board via either DP or HDMI port.
| 4K monitor is preferred to demonstrate at the maximum supported resolution.
|---IAS sensor:Before power on, install an AR1335 sensor module in J7.
|---UART/JTAG interface:For interacting and seeing boot-time information, connect a USB debugger to the J4.
|---USB webcam(as an input device):
|---webcam:The webcam is optional video input device supported in the application.
| Recommended webcam is the Logitech BRIO.
|---network connection:Connect the Ethernet cable to your local network with DHCP enabled \\
| to install packages and run Jupyter Notebooks
|---Audio Pmod setup as RTSP audio input:Audio Pmod is optional audio input and output device.
//------a.PC与KV260处于同一网段。
Make sure that the PC and the KV260 Vision AI Starter Kit are on the same subnet mask.
//------b.RTSP:推荐使用FFplay,也可以使用VLC。
On the client machine, to receive and play the RTSP stream, we recommend to install FFplay which is part of FFmpeg package.
For Linux, you can install FFmpeg with the package manager of your distribution.
For Windows, you can find install instructions on
https://ffmpeg.org/download.html
Other than FFplay, VLC can also be used to play RTSP stream, but sometimes it doesn’t work on some client machines, while the FFplay works well.
Xilinx教程使用软件“balena_Etcher”,可以直接烧录petalinux-sdimage-2021.1-update1.wic。也可以使用Win32DiskImager进行烧录,烧录测试OK。
开发套件配备了16GB的TF卡,对于开发者来讲,将以使用32GB/64GB的TF卡。
设置密码,切换root,测试网络。
//------基础设置和网络测试(DHCP@192.168.6.51_petalinux:petalinux)
|---a.输入密码: petalinux : petalinux
|---b.切换root用户(需要输入petalinux的密码): sudo su -l root
|---c.网络测试(8.8.8.8是公共网关): ping 8.8.8.8
|---
|---192.168.6.51
//------a.输入密码
petalinux : petalinux
//------b.切换root用户(需要输入petalinux的密码)
sudo su -l root
//------c.网络测试(8.8.8.8是公共网关)
ping 8.8.8.8
使用root账户进行智能相机的人脸检测DEMO,可以看到CPU占用率并不高,推测一部分加速环节是在PL端完成的。
注意需要切换root用户进行。
//------功能测试(Smart_Camera人脸检测)
|---a.检查可用软件包application_package: sudo xmutil getpkgs
|---b.安装Smart_Camera加速App-Group:“y”&& 251-packages
| sudo dnf install packagegroup-kv260-smartcam.noarch
|---c.查看已加载的app(好像是固件firmware): sudo xmutil listapps
|---d.卸载默认的"kv260-dp"固件,安装“kv260-smartcam”固件:
| sudo xmutil unloadapp
| sudo xmutil loadapp kv260-smartcam
|---e.默认的MIPI摄像头,输出显示至DP接口
| sudo smartcam --mipi -W 1920 -H 1080 -r 30 --target dp
|---f.使用USB摄像头,输出显示至DP接口
| sudo smartcam --usb 0 -W 1920 -H 1080 -r 30 --target dp
//------a.检查可用软件包application_package
sudo xmutil getpkgs
//------b.安装Smart_Camera_accelerated_application_package_group
sudo dnf install packagegroup-kv260-smartcam.noarch
|---confirm with “y”, and 204 packages
//------c.查看已加载的app(好像是固件firmware)
sudo xmutil listapps
//------d.unload_default_"kv260-dp"_application_firmware
卸载默认的KV260-DP应用固件(默认启动后出现login命令行),以便后面用于显示。
sudo xmutil unloadapp
(执行完成之后,DP接口无输出,显示器会提示检测不到DP接口信号)
//------e.load Smart Camera accelerated application firmware.
加载Smart_Camera_accelerated_application固件
sudo xmutil loadapp kv260-smartcam
//------f.默认的MIPI摄像头,输出显示至DP接口
sudo smartcam --mipi -W 1920 -H 1080 -r 30 --target dp
(此时DP接口输出camera画面,如果出现人脸则画蓝框)
(经尝试,打开“健康宝”对准摄像头可以进行人脸检测)
(经常是,在淘宝/京东搜索服装,找到模特,也可以进行人脸检测)
//------g.使用USB摄像头,输出显示至DP接口
sudo smartcam --usb 0 -W 1920 -H 1080 -r 30 --target dp
//------测试结果截图
该功能通常只用于petalinux的系统镜像。
使用QoS相关脚本,注释掉DPU优化指令,执行扩容操作OK。
//------app切换
系统默认上电时加载的kv260-dp。
firmware的切换需要使用xmutil指令,相关指令如下:
//------xmutil指令
//------xmutil指令
//---a.查看帮助
sudo xmutil -h
//---b.获取app(获取未安装的app)
sudo xmutil getpkgs
//---c.查看app已安装列表
sudo xmutil listapps
//---d.卸载app
sudo xmutil unloadapp
//---e.安装app
sudo xmutil loadapp <-name->
例如:
sudo xmutil loadapp kv260-dp
sudo xmutil loadapp kv260-aibox-reid
sudo xmutil loadapp kv260-defect-detect
sudo xmutil loadapp kv260-nlp-smartvision
//---其他指令
sudo xmutil boardid
sudo xmutil bootfw_status
sudo xmutil platformstats
//------xmutil指令示例
KV260的petalinux系统镜像使用dnf指令进行软件搜索及安装,对标Ubuntu的apt-get和CentOS的yum。
同时,dnf指令还可以用于xclbin的切换,即安装相应的加速应用固件。
//------dnf
|---a.升级dnf(CPU 25%, 244 Items.)注:必须sudo或者root。
| sudo dnf update
| sudo dnf upgrade
|---b.(可选)安装最新dnf,Confirm with “Y”。安装前有时需要清除dnf的本地缓存,清除指令:
| sudo dnf clean all
|---c.查看可选/可安装的lib/rpm列表(很长的列表)
| dnf list
|---d.软件搜索
| sudo dnf search <-name->
| 例如搜索
| x11 : sudo dnf search x11
| wget : sudo dnf search wget
|---e.软件安装
| sudo dnf install <-name->
| 例如安装
| vim,Confirm with “Y” : sudo dnf install vim
| wget,Confirm with “Y” :sudo dnf install wget
|---f.安装Smart_Camera加速App-Group:“y”&& 251-packages
| sudo dnf install packagegroup-kv260-smartcam.noarch
dnf list //很多软件信息
dnf updateinfo
sudo dnf upgrade
sudo dnf updateinfo
完成上述流程”上板测试KV260-Start“之后可以进行Jupyter测试。
Jupyter-Notebook,网上有各种notebook的教程。
还有地方提到,notebook特别适合opencv的学习或者说特别适合opencv的处理。
//------c-1.Smart_Camera
https://xilinx.github.io/kria-appsdocs/main/build/html/docs/smartcamera/smartcamera_landing.html
|---Overview
| |---Introduction
| |---Features
|---Quick_Start
| |---Setting up the Board and Application deployment Tutorials
|---Tutorials
| |---Customizing AI Models used in the Application
| |---Building the Design components
| |---Building the Hardware design using Vivado
| |---Creating a Vitis Platform
| |---Integrating an overlay into the platform
| |---Building a Petalinux Image
|---Architecture
| |---Software Architecture - Platform
| |---Software Architecture - Accelerator
| |---Hardware Architecture - Platform
| |---Hardware Architecture - Accelerator
|---Other
| |---Debugging
| |---Known_Issues
| |---Limitations
完成上述流程之后可以进行Jupyter测试。
//------查看IP地址(DHCP@192.168.6.51_petalinux:petalinux)
ip a
ip addr show
ifconfig -a
//------DHCP
192.168.6.51
//------功能测试(Smart_Camera人脸检测)
|---a.切换root用户(需要输入petalinux的密码)
| sudo su -l root
|---b.升级dnf(CPU 25%, 244 Items.)
| sudo dnf update
|---c.(可选)安装最新dnf,Confirm with “Y”。安装前有时需要清除dnf的本地缓存,清除指令:
| sudo dnf clean all
|---d.检查可用软件包application_package
| sudo xmutil getpkgs
|---e.安装Smart_Camera加速App-Group:“y”&& 251-packages
| sudo dnf install packagegroup-kv260-smartcam.noarch
|---f.查看已加载的app(好像是固件firmware):
| sudo xmutil listapps
|---g.卸载默认的"kv260-dp"固件,安装“kv260-smartcam”固件:
| sudo xmutil unloadapp
| sudo xmutil loadapp kv260-smartcam
|---h.默认的MIPI摄像头,输出显示至DP接口
| sudo smartcam --mipi -W 1920 -H 1080 -r 30 --target dp
|---i.使用USB摄像头,输出显示至DP接口
| sudo smartcam --usb 0 -W 1920 -H 1080 -r 30 --target dp
Jupyter-notebook在petalinux用户执行。
reference
//------dnf
|---a.升级dnf(CPU 25%, 244 Items.)
| sudo dnf update
|---b.(可选)安装最新dnf,Confirm with “Y”。安装前有时需要清除dnf的本地缓存,清除指令:
| sudo dnf clean all
|---c.软件搜索
| sudo dnf search <-name->
| 例如搜索
| x11 : sudo dnf search x11
| wget : sudo dnf search wget
|---d.软件安装
| sudo dnf install <-name->
| 例如安装
| vim,Confirm with “Y” : sudo dnf install vim
| wget,Confirm with “Y” :sudo dnf install wget
|---e.安装Smart_Camera加速App-Group:“y”&& 251-packages
| sudo dnf install packagegroup-kv260-smartcam.noarch
执行完“a.启动Jupyter服务”,已经将Jupyter添加到系统启动项,后续板卡上电自动启动该服务。
//------a.启动Jupyter服务(拷贝文件+启动服务+添加系统自动启动)
cd /opt/xilinx/share/notebooks/smartcam
smartcam-install.py
Info: Notebook files under /opt/xilinx/share/notebooks/smartcam are copied to
/home/petalinux/notebooks/smartcam.
//------b.查看Jupyter服务(已经启动)
cd ~/notebooks/smartcam
|---LICENSE
|---images
|---smartcam.ipynb
jupyter-server list
//---info
Currently running servers:
http://192.168.6.51:8888/?token=abab9188022166a1557415b2ac5357c1ef2648b2d847c760:: /home/petalinux/notebooks
(Juypter-server启动后不会自动退出,有编辑需要的话的打开新的SSH窗口)
//------c.在网页端打开Jupyter服务(进入时需要填写token内容)
192.168.6.51:8888
abab9188022166a1557415b2ac5357c1ef2648b2d847c760
(等待进入Jupyter服务,网址变成http://192.168.6.51:8888/lab
//------d.修改播放模式:DP@True->RTSP@False
//---源文件
/smartcam/smartcam.ipynb
//---修改视频播放形式为RTSP
DP_output=False # True to choose DP output, False to choose RTSP output
//------e.按步执行,最后可以得到RTSP地址
rtsp://192.168.6.51:5000/test
//------RTSP播放器
EasyPlayer-RTSP-v3.0
//------关闭Jupyter服务
jupyter-server stop 8888
//------直接查看Jupyter服务即可(自动启动)
cd ~/notebooks/smartcam
|---LICENSE
|---images
|---smartcam.ipynb
jupyter-server list
//------关闭Jupyter服务(通常不用关闭)
jupyter-server stop 8888
//------end
更多回帖