KV260-PL端视频采集与识别
【KV260视觉入门套件试用体验】3.PL端视频采集与AI识别测试测试 大信 ALSET (QQ:8125036) 感谢安富利科技和烧友烧网给予的XilinxKria KV260视觉AI套件视觉入门套件试用机会。XilinxKriaTM KV260 开发板全称是KriaKV260 Vision AI Starter Kit。该开发套件主要应用之一是面向多媒体与视觉领域的开发。开发板硬件使用 FPGA的灵活性,提供了多种的AI开发固件,可以让开发者测试使用FPGA支持的多媒体能力,并且开发板提供了基于FPGA的开发SDK,使得在该开发平台上快速开发AI应用。 其硬件本身也提供了VPU,DPU等音视频的处理与数据处理的IP,可以让音视频的采集,视频编解码,图形图像处理直接通过这些IP进行预处理,并且在结合FPGA的开发进一步对视频进行AI识别等应用,因此它具备很强的灵活性,适用可重新部署的应用场景,在产品验证和动态开发商具备很好的支持。
一、开发测试目标介绍
KriaTM KV260的应用处理端(PS)包含了 ARM® Cortex®-A53 cores 四核处理器,以及带有硬编码的视频处理器VPU,可以从USB摄像头,文件,网络以及PL端的MIPI端获取视频的能力。并且可以通过VPU以及DSP处理器对视频图像进行处理,再输出到HDMI,DP接口上显示或者文件、网络流输出上。 本次测试的主要目标是测试该开发板PL端以及PL端视频采集以及视频识别的功能。以学习和验证该开发板的多媒体与AI工作过程。
二、连接开发板
硬件连接如下,分别连接HDMI显示器用于图像或视频在板上的显示。连接有线网络用于视频流在以太网络上的传输。连接开发板带的mipi摄像头到 J7 口上,连接microUSB 线到j4口上。 连接完成后,如下图所示:
三、系统初始化与软件安装
按第一章的方法,烧录好SD卡之后,也插上SD卡,连接键盘鼠标,上电启动Ubuntu。启动系统。然后就可以为开发板的UbuntuLTS设置一下赛灵思的开发环境,用这里的几个命令就可以了。 1.安装系统配置脚本 首先需要对系统初始化,安装系统管理所需要的xlnx-fonfigsnap,在开发板上执行命令: sudo snap install xlnx-config--classic --channel=2.x
snap和apt安装的区别 1).软件包不同:Snap主要包含高级、独立和最新版本的软件。而apt则包含更多的软件包,包括一些稳定但版本较老的软件。 2).依赖问题:Snap是通过将应用程序及其依赖项捆绑到一个独立的Snap软件包中来解决依赖问题。而apt需要处理软件之间的依赖关系,并确保它们都可用。 3).更新方法不同:Snap提供了自动更新机制,应用程序的更新会自动下载和部署,但可以选择要更新的版本。而在apt中,用户需要手动执行apt-getupdate 同步软件源信息,和apt-get upgrade 来更新软件包。 4).安全性:Snap是在沙箱中运行的,如果某个应用程序发生故障,只会影响该应用程序,不会影响其他程序或系统。而通过apt安装的软件包可能会对整个操作系统造成影响。 2.系统初始化执行 对Kria指定特定的PPA,将自动更新系统的软件包。 命令sudoxlnx-config.sysinit
安装过程会提出几次确认,一路yes过来,
大约25分钟安装并设置完成完成开发板所需要的ubuntu运行环境支持软件。 3.搜索kv260测试的固件软件包 开发板提供了kv260系列测试固件包,固件包是针对FPGA开发打包好的bit流文件,通过对FPGA处理器装载不同的固件,实现不同的硬件功能定义。通过以下指令可以搜索到现在库里提供的所有适用于KV260的固件包: 索找kv260-smartcam的驱动包,输入指令: sudo apt search xlnx-firmware-kv260
4.安装 在安装固件的二进制文件执行命令: sudo apt installxlnx-firmware-kv260-smartcam 这时需要等待一段时间,安装完成即可。
sudo snap install docker
sudo apt install docker.io
sudo apt install podman-docker
sudo chown root:docker/var/run/docker.sock
Docker 拉取 smartcam 的测试镜像包:
拉取镜像完毕
四、测试操作步骤
1.检查摄像头设备 media-ctl –p –d /dev/media0
2.禁用ubuntu 默认桌面图形系统 因为测试程序需要占用屏幕设备输出,因此需要先关闭现有的ubuntu的桌面显示,执行命令 sudo xmu tildesktop_disable
同样需要恢复默认的桌面输出时,执行 sudo xmutil desktop_enable即可。 3.切换FPGA内的固件 开发板启动时,PL端所带的是一个默认的固件,通过命令sudo xmutil listapps 可以列出系统现有的固件,在Accelerator列显示为0的即为当前所加载的固件。此时可以使用 sudoxmutil unloadapp 卸载当前固件,卸载后开发板风扇明显转速加快,噪音增大。再加载我们需要测试的固件smartcam, 执行命令sudo xmutil loadappkv260-smartcam 即可加载上。加载完使用list app指令可以查看,固件已经替换。
4.启动测试应用的Docker环境 docker run \ --env="DISPLAY"\ -h"xlnx-docker" \ --env="XDG_SESSION_TYPE"\ --net=host\ --privileged \ --volume="$HOME/.Xauthority:/root/.Xauthority:rw"\ -v /tmp:/tmp \ -v /dev:/dev \ -v /sys:/sys \ -v/etc/vart.conf:/etc/vart.conf \ -v/lib/firmware/xilinx:/lib/firmware/xilinx \ -v /run:/run \ -v/home/ubuntu/workspace:/root/workspace \ -w /root \ -it xilinx/smartcam:2022.1bash
5.在docker中启动视频采集测试应用: 执行这个命令,将采集mipi 摄像头的视频,并保存文件到 out.h265文件里 smartcam–mipi –W 1920 –H 1080 –target file
6.检查测试程序的输出 程序执行完毕,在当前目录下生成了out.h264 即采集到视频并进行压缩编码后的数据。
将采集到的out.h264 文件,使用ffmpeg 转成mp4文件
把mp4文件复制到windows系统上,使用播放器播放,就可以看到视频内容了:
7.更多的测试 smartcam--mipi -W 1920 -H 1080 --target dp
smartcam --mipi -W 1920 -H 1080 --target rtsp
测试采用mipi采集其它分辨率摄像头视频,出现提示,MIPI仅支持HD和4K视频。
五、PL端视频采集识别测试总结
本次通过连接MIPI摄像头,顺利完成测试PL侧的视频采并且使用开发板内自带的编码器测试视频编码,以及对视频进行人脸识别,测试总体顺利,能够非常快速的建立开发板上PL端的视频采集与AI人脸处理。 从测试视频编效果干,MIPI视频缺少ISA图像色差纠偏,图像色彩明显失真,MIPI视频对真人人脸识别效率大与图片中人脸识别的准确度,通过也给出一个简单的使用smartcam应用构建人脸识别与物体分类的AI识别的方法。
|