X86与FPGA相结合,基于PIB的AI开发——人体姿态识别

人体姿态估计是计算机视觉领域中用于理解和分析人类行为的一个关键技术。它主要涉及到检测和识别图像或视频中人体的各个关键点,并预测这些关键点之间的空间关系,从而构建出人体的骨架模型。

本文将介绍基于PIB板的人体姿态估计案例。这是一个交互式的实时人姿态识别的Openvino案例展示,它是在Intel X86 i7 CPU和 Cyclone V GT FPGA之间进行异构计算。

1. 系统组成

系统主要由一套PIB板、一套D8M + lvds TX 子卡+ LVDS线以及一台HDMI显示器组成。

PIB是一个基于Intel x86 i7 CPU和 Cyclone V GT FPGA 的智能开发平台,结合FPGA可重配置和CPU的软件可编程能力。

PIB板主要分为FPGA基板和CM模块。PIB 规格如下:

CPU

Intel 11th Core i7

HDMI x1

Ethernet x1 (I219)

USB3.0 x3, USB2.0 x1

Audio Jack x1

SATA x1, mSATAx1, M.2 for Wifi x1

RS232 x2, RS485 x1 (shared with FPGA)

20-pin GPIO Header x1 

FPGA

Serial configuration device: EPCQ256

External JTAG header

1GB DDR3 SDRAM(32-bit data bus)

Gigabit Ethernet x4

LVDS Camera x4, MIPI Camera x2

RS232 x2, RS485 x1, CAN x2

20-pin GPIO Header

9-axis sensor

FPGA_RST Button x1, KEY x2, green LED x2

Four 50MHz clock sources

FPGA基板

图片

图片

CM模块

图片

图片

D8M

D8M-GPIO 是一个 2x20 pin GPIO 接口的八百万素摄像头套件。套件内包含了 MIPI Camera Module 以及MIPI decoder。

MIPI Camera module 撷取影像后输出 MIPI 影像讯号封包,该影像讯号封包经过 MIPI decoder 转换成 10-bits parallel 的 bayer pattern,最终由 2x20 pin GPIO connector 输出。MIPI Camera Module 并内建了控制焦距的音圈马达 ( Voice Coil Motor;VCM ),开发者可透过 I2C 来控制对焦距离。

lvds TX 子卡

接口转换子卡,将GPIO槽口转lvds接口。

图片

2. OpenVINO简介

OpenVINO是Intel推出的开放可视化推理及神经网络优化工具包,运用OpenVINO 可以很轻松的将各种优化后的AI模型部署到 CPU+ FPGA上,从而降低了开发成本和开发时间,还提高了设计性能。

OpenVINO主要特点有:

  • 支持在边缘设备上进行CNN深度学习推理

  • 支持跨Intel计算机视觉加速器的异构加速执行,CPU,英特尔集成图形化,英特尔神经计算棒及FPG。

  • 使用统一的API 通过易于使用的计算机视觉函数和预先优化的内核加速上市时间。

  • 包括对OpenCV*, OpenCL™, and OpenVX*等对算机视觉标准的优化调用。

图片

OpenVINO包含深度学习部署工具包,该工具包主要分以下两个模块:

  • 模型优化器:基于Python的命令行工具从主流的深度学习框架(如caffe,TensorFlow, Apache MXNet等)导入训练过的模型。输入训练模型,优化网络拓扑,并将其转换为IR(中间表示)文件。

  • 推理引擎:推理引擎使用统一的API在您选择的平台(如CPU, GPU, VPU, FPGA)等提供优化的推理解决方案,来进行异构处理和异步执行以节省开发时间。

OpenVINO工作流程

以下是使用 OpenVINO优化并部署训练后的模型的步骤:

1. 为您的框架配置模型优化器

2. 转换训练后的模型,根据训练的网络拓扑、权重和偏置值生成模型的优化中间表示 (IR)文件

3. 通过验证应用程序或示例应用程序,在目标环境中使用推理引擎以中间表示格式测试模型

4. 在应用程序中集成推理引擎,以在目标环境中部署模型

图片

本案例也是直接用Intel openvino预训练好的模型,将人体姿态估计demo部署到PIB的过程。

3. 硬件设计

下图所示为PIB RTL设计系统框图,CPU可通过PCIE_DMA_Ctl子系统中的PCIe Gen2 x1配置Camera子系统,LVDS camera 拍摄到的图像数据会由 Camera 子系统进行处理,然后存储到 DDR3 内存中,CPU 可通过 PCIE_DMA_Ctl 子系统中的 PCIe Gen2x4 读取 DDR3 中的图像数据。

图片

4. 应用程序

如下是人体姿态识别的应用程序流程图:

图片

5. 测试步骤

1. 将D8M-GPIO子卡连接到LVDS-TX子卡上。

图片

2. 将GMSL线缆连接到LVDS-TX子卡的J2接口。

图片

3. 将GMSL线缆的另一端连接到PIB底板的LVDS0(J4)接口。

图片

4. 保持SW1处于OFF,然后将24V/5A电源适配器的插头插到PIB底板的DC_IN(J20)接口,开机PIB系统。

图片

5. PIB系统启动后,显示器上会显示输入密码的界面,输入密码(terasic)进入系统桌面。

图片

4. 视频演示

视频请参考原文:X86与FPGA相结合,基于PIB的AI开发——人体姿态识别

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2981528.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

3月黄油奶酪行业数据分析:安佳和妙可蓝多领军市场

近些年来,随着新消费主义盛行,老少皆宜的黄油和奶酪逐渐成为都市年轻人的烘培“新宠”。 今年3月份,黄油奶酪表现的中规中矩,处在稳定发展阶段。根据鲸参谋数据显示,3月份,在线上综合电商平台(…

CSS3:border-image

<!DOCTYPE html> <html><head><meta charset"utf-8"> </head><body><p>原始图片</p><img src"./images/border1.png" alt""><p>一、</p><p>border: 27px solid transp…

VSCode通过跳板机免密连接远程服务器的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

【电路笔记】-Hartley振荡器

Hartley振荡器 文章目录 Hartley振荡器1、概述2、Hartley振荡器电路3、并联Hartley振荡器电路4、示例5、使用运算放大器的Hartley振荡器6、总结1、概述 Hartley振荡器设计使用两个电感线圈与一个并联电容器串联,形成产生正弦振荡的谐振储能电路。 与Hartley振荡器不同,我们…

MPC的横向控制与算法仿真实现

文章目录 1. 引言2. 模型预测控制&#xff08;MPC&#xff09;2.1 基础知识2.2 MPC的整体流程2.3 MPC的设计求解 3. 车辆运动学MPC设计4. 算法和仿真实现 1. 引言 随着智能交通系统和自动驾驶技术的发展&#xff0c;车辆的横向控制成为了研究的热点。横向控制指的是对车辆在行…

dial tcp 192.168.0.190:443: connect: connection refused

1、场景 用nerdctl登录镜像仓库192.168.0.190&#xff08;Harbor&#xff09;&#xff0c;报错 ERRO[0006] failed to call tryLoginWithRegHost error"failed to call rh.Client.Do: Get \"https://192.168.0.190/v2/\": dial tcp 192.168.0.190:…

[羊城杯 2020]EasySer ---不会编程的崽

稍微带点反序列化&#xff0c;稍微。 常规扫描robots.txt,给出提示star1.php。 很明显的ssrf嘛。直接读 star1.php?pathhttp://127.0.0.1/star1.php <?php error_reporting(0); if ( $_SERVER[REMOTE_ADDR] "127.0.0.1" ) {highlight_file(__FILE__); } $f…

BDC报错信息查看

1.在事务代码st22的报错信息中下载本地文件 2.打开本地文件查看报错信息 3.在事务代码se91中输入对应消息类和消息编号 4.查看报错信息&#xff0c;根据报错信息取解决问题

Unity射击游戏开发教程:(5)使用 GetComponent 在 Unity 中进行脚本通信

我认为脚本通信是刚开始使用 Unity 时较难掌握的概念之一,我将继续讨论这个概念。在本文中,我将介绍如何在游戏对象发生碰撞时使用 GetComponent 来访问另一个脚本。 在这个游戏场景中,我有两个游戏对象,它们都有自己的脚本,需要进行通信。我们有玩家脚本和敌人脚本。Enem…

手撕netty源码(一)- NioEventLoopGroup

文章目录 前言一、NIO 与 netty二、NioEventLoopGroup 对象的创建过程2.1 创建流程图 前言 本文是手撕netty源码系列的开篇文章&#xff0c;会先介绍一下netty对NIO关键代码的封装位置&#xff0c;主要介绍 NioEventLoopGroup 对象的创建过程&#xff0c;看看new一个对象可以做…

水位传感器优点有哪些

水位传感器是一种用于检测液体水位的重要设备&#xff0c;在各种工业和民用场景中起着至关重要的作用。其中&#xff0c;光学液位传感器作为一种先进的水位检测技术&#xff0c;在市场上备受青睐&#xff0c;其优点主要包括以下几个方面。 光学液位传感器内部所有元器件均经过…

基于springboot+vue的游艇停泊系统

一、系统架构 前端&#xff1a;vue2 | element-ui |html 后端&#xff1a;springboot | mybatis-plus 环境&#xff1a;jdk1.8 | mysql | maven | node 二、代码及数据库 三、功能介绍 01. web端-登录 02. web端-系统首页1 03. web端-系统首页2 04. web端-泊位 05. web…

Open-Sora:开源版的Sora

项目简介 本项目希望通过开源社区的力量复现Sora&#xff0c;由北大-兔展AIGC联合实验室共同发起&#xff0c;当前我们资源有限仅搭建了基础架构&#xff0c;无法进行完整训练&#xff0c;希望通过开源社区逐步增加模块并筹集资源进行训练&#xff0c;当前版本离目标差距巨大&…

制作github.io学术个人主页

制作如图的学术个人主页。About me - Xianwen Ling’s Blog 学术个人主页是一个学者展示个人学术成果和研究方向的重要工具。个人主页可以集中展示学者的研究论文、出版物、演讲和发布的项目等学术成果&#xff0c;这样其他人可以更方便地了解和评估学者的研究贡献。个人主页可…

国产FTP文件传输服务器需要具备哪些关键特性?

国产FTP文件传输服务器是指根据中国国内信息技术创新&#xff08;信创&#xff09;的要求和标准&#xff0c;自主研发的文件传输服务器软件。这类软件旨在替代传统的FTP服务器&#xff0c;以更好地适应国产化和信息安全的需要。国产FTP文件传输服务器通常需要具备以下要求&…

苹果收购的法国AI初创公司Datakalab是什么来头?!iOS 18将加入AI功能!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…

Spring SpringBoot(详解)

1. Spring简介 1.1 Spring 核心设计思想 1.1.1 Spring 是什么&#xff1f; Spring 是包含了众多⼯具⽅法的 IoC 容器。Spring 指的是 Spring Framework&#xff08;Spring 框架&#xff09;&#xff0c;它是⼀个开源框架&#xff0c;Spring ⽀持⼴泛的应⽤场景&#xff0c;它…

配置网络设备的密码设置以及忘记密码的恢复方式以及实现全网互通

1.实验拓扑图&#xff1a; 2.实验需求&#xff1a; 1.推荐步骤 1.1配置IP&#xff1a; 不过多说了&#xff0c;较为基础&#xff08;略&#xff09; 2.推荐步骤 2.所有网络设备配置console接口密码 首先进入全局模式&#xff0c;输入以下代码(进入接口console接口0给其配置密…

源代码图纸文档防泄密场景方案分析

场景描述&#xff1a; 近年来&#xff0c;各类数据泄露事件频发&#xff0c;且呈不断增长趋势&#xff0c;给各类组织机构造成了巨大的经济损失。调查显示&#xff0c;在互联网接入单位因内部重要机密通过网络泄密而造成重大损失的事件中&#xff0c;97%都是因内部员工有意或无…

ArgoCD集成部署到Kubernetes

1&#xff1a;环境 kubernetes1.23.3ArgoCD2.3.3 2&#xff1a;ArgoCD介绍 Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Argo CD是一个基于Kubernetes的声明式的GitOps工具。 那么&#xff0c;什么是GitOps呢&#xff1f; GitOps是以Git为基…