智能硬件论坛
直播中

ALSET

3年用户 269经验值
擅长:可编程逻辑,电源/新能源,嵌入式技术,处理器/DSP
私信 关注
[经验]

【KV260视觉入门套件试用体验】3.PL端视频采集与AI识别测试测试

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工作过程。
1.png

二、连接开发板
      硬件连接如下,分别连接HDMI显示器用于图像或视频在板上的显示。连接有线网络用于视频流在以太网络上的传输。连接开发板带的mipi摄像头到 J7 口上,连接microUSB 线到j4口上。
连接完成后,如下图所示:
2.png
3.png

三、系统初始化与软件安装
        按第一章的方法,烧录好SD卡之后,也插上SD卡,连接键盘鼠标,上电启动Ubuntu。启动系统。然后就可以为开发板的UbuntuLTS设置一下赛灵思的开发环境,用这里的几个命令就可以了。
1.安装系统配置脚本
首先需要对系统初始化,安装系统管理所需要的xlnx-fonfigsnap,在开发板上执行命令:
sudo snap install xlnx-config--classic --channel=2.x
4.png
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
5.png
6.png
安装过程会提出几次确认,一路yes过来,
7.png
大约25分钟安装并设置完成完成开发板所需要的ubuntu运行环境支持软件。
3.搜索kv260测试的固件软件包
开发板提供了kv260系列测试固件包,固件包是针对FPGA开发打包好的bit流文件,通过对FPGA处理器装载不同的固件,实现不同的硬件功能定义。通过以下指令可以搜索到现在库里提供的所有适用于KV260的固件包:
索找kv260-smartcam的驱动包,输入指令:
sudo apt search xlnx-firmware-kv260
8.png
4.安装
在安装固件的二进制文件执行命令:
sudo apt installxlnx-firmware-kv260-smartcam
这时需要等待一段时间,安装完成即可。
9.png
10.png
11.png
sudo snap install docker
12.png
sudo apt install docker.io
13.png
14.png
sudo apt install podman-docker
15.png
16.png
sudo chown root:docker/var/run/docker.sock
17.png
Docker 拉取 smartcam 的测试镜像包:
18.png
19.png
拉取镜像完毕
20.png

四、测试操作步骤
1.检查摄像头设备
media-ctl –p –d /dev/media0
21.png
2.禁用ubuntu 默认桌面图形系统
因为测试程序需要占用屏幕设备输出,因此需要先关闭现有的ubuntu的桌面显示,执行命令 sudo xmutildesktop_disable
22.png
同样需要恢复默认的桌面输出时,执行 sudo xmutil desktop_enable即可。
3.切换FPGA内的固件
开发板启动时,PL端所带的是一个默认的固件,通过命令sudo xmutil listapps 可以列出系统现有的固件,在Accelerator列显示为0的即为当前所加载的固件。此时可以使用 sudoxmutil unloadapp 卸载当前固件,卸载后开发板风扇明显转速加快,噪音增大。再加载我们需要测试的固件smartcam, 执行命令sudo xmutil loadappkv260-smartcam 即可加载上。加载完使用list app指令可以查看,固件已经替换。
23.png
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
24.png
5.在docker中启动视频采集测试应用:
执行这个命令,将采集mipi 摄像头的视频,并保存文件到 out.h265文件里
smartcam–mipi –W 1920 –H 1080 –target file
25.png
6.检查测试程序的输出
程序执行完毕,在当前目录下生成了out.h264 即采集到视频并进行压缩编码后的数据。
26.png
将采集到的out.h264 文件,使用ffmpeg 转成mp4文件
27.png
把mp4文件复制到windows系统上,使用播放器播放,就可以看到视频内容了:
28.png
7.更多的测试
       smartcam--mipi -W 1920 -H 1080 --target dp
29.png
smartcam --mipi -W 1920 -H 1080 --target rtsp
30.png
31.png
测试采用mipi采集其它分辨率摄像头视频,出现提示,MIPI仅支持HD和4K视频。
32.png

五、PL端视频采集识别测试总结
     本次通过连接MIPI摄像头,顺利完成测试PL侧的视频采并且使用开发板内自带的编码器测试视频编码,以及对视频进行人脸识别,测试总体顺利,能够非常快速的建立开发板上PL端的视频采集与AI人脸处理。
从测试视频编效果干,MIPI视频缺少ISA图像色差纠偏,图像色彩明显失真,MIPI视频对真人人脸识别效率大与图片中人脸识别的准确度,通过也给出一个简单的使用smartcam应用构建人脸识别与物体分类的AI识别的方法。


更多回帖

发帖
×
20
完善资料,
赚取积分