FPGA芯片同时识别22张人脸,总共需要几步?

原创 歪睿老哥 2021-11-27 17:30

1:FPGA与生产力


FPGA被称为万能芯片,通过逻辑编程,可以实现基本上所有功能,其具体原理可见《大话FPGA-“万能的芯片?”》。


那么问题来了,所以如果用FPGA加速人工智能,实现深度学习算法,难度大不大?


难度很大!


如果从AI算法开始,然后从verilog开始编写,调试,优化,再下载到FPGA中运行,中间需要众多的人力,物力,没有个一年半载,很难有收获。


但是


如果有一个FPGA的APP库,里面有各种人工智能APP,可以下载相应的程序到FPGA中,例如下图所示:



有人脸识别的智能相机,缺陷检测,ReID(行人检测/行人跟踪技术),语音识别,多目标人脸识别,智能驾驶辅助等等。


这些应用直接编译下载相应应用到FPGA中,用基于现成的应用进行开发,相对流程就简化很多,达到“即下即用”的效果。


可以很快形成的生产力。


即使有定制的需求,也可以迅速评估路线的可行性,在此基础上二次开发。


这个就比直接从verilog编码开始要更快一些,也效率更高。


那这个怎么操作?


2:怎么做


用FPGA搭建了一个人脸识别系统需要几步?


如果用搭载zynq ultrascale+  FPGA的  KV260。总共用了三步:



第一步:组装配件:

    

KV260是一个基于zynq ultrascale+的FPGA系统,内部包括CPU,FPGA,GPU等等资源。


红色的散热片下面就是Zynq UltraScale+的芯片。上面有一个四核A53处理器,还有256K LC的逻辑资源的FPGA,属于“双剑合璧”的架构。


配件包括,

1:电源: 系统供电。

2:SD卡:烧写操作系统。

3:摄像头:视频输入。

4:USB转串口线:系统串口输出。

5:网线:用于连接互联网,下载智能应用。

6:HDMI线:用于视频输出。




然后将这些部件组装起来。




第二步:下载应用

 

1:下载linux系统下载到TF卡里,插入TF卡,上电后linux启动。


2:连接网线,检查链接性,可以直接ping一下网关,看看是不是连接成功


3:可以上网后,直接选择安装相应的应用,就是智能摄像头,可以人脸识别。


下图是下载安装应用,点击下载命令后 ,注意,一定要在root模式下下载,sudo dnf install packagegroup-kv260-smartcam

安装时间有点长,装上后,让子弹飞一会。





第三步:启动测试


启动应用开始测试,在linux系统中挂载应用,然后启动启动人工智能的应用。


sudo smartcam -mipi -W 1920 -H 1080 -r 30 --target dp




这个和大象关在冰箱里分为几步有异曲同工之妙!


然后,效果怎么样。



3:效果怎么样?


这玩意是这个样子的。




我利用这个FPGA系统装在了一个直播杆,然后配上了一个显示器,看起了有点像一个基于工业用相机的直播室。


有了这个“直播室”,看了一下,没有美颜效果。


直播就算了。


看看这玩意AI效果如何?



于是给KV260看了一个欧洲杯足球比赛颁奖视频。


为什是欧洲杯颁奖,主要是这个视频里同时出现的人多,并且画面一直在动,主要想测试一下,这个系统的处理能力,


1:人脸识别的数量。


2:处理时延。


那种两三个人的视频,测试不出这个人工智能芯片的能力。


并且画面一直不动,对于时延也没有太高的要求。像是小区门禁的那个人脸识别就会感觉明显延迟。


那可以看看KV260能不能识别视频中多少人脸?



这个比赛是欧洲杯颁奖的比赛,可以看到,kv260立即就识别到了所有夺冠队员的面部。


这个效率很高,


我数了一下,最多时,有22张人脸可以可以同时被识别捕捉到。主力和替补全部都捕捉到了。



能够同时捕捉到22张人脸,这个也体现了这个芯片的人脸的识别能力。


并且画面一直在动态切换,具体时延控制不错,只不过就没有办法定量来分析一下。


4:系统及原理


看完FPGA实现这个系统的效果了,下面我们来点干货。


人工智能芯片系统,需要有哪些部分组成?


CPU系统:负责OS运行,系统初始化,数据流控制,信号传输,外设管理等等。


DPU系统:(Deep Learning Processor Unit,深度学习处理器)负责深度学习算法的加速,是一个智能加速引擎引擎。


简单来说:两个部分,控制和计算。


这个就是经典的CPU+FPGA的方案,很多嵌入式工业领域都用此方案,一般是ARM+FPGA;


ARM负责控制管理,各种外设的管理,FPGA负责AI加速


而Zynq UltraScale+就是把这两个做到了一个芯片上,下图就是这个芯片的架构。




其主要资源包括:四核CPU A53,一个Mali GPU,还有支持实时CPU,双核R5F。


DPU这个词,让人联想到xilinx收购深鉴科技,这场收购当时在业界引起了很大影响力。


当时深鉴科技的核心技术,就是基于FPGA的DPU(Deep Learning Processing Unit)技术,当时,深鉴科技号称神经网络压缩编译技术,它不仅可以将神经网络压缩数十倍而不影响准确度,还可以使用“片上存储”来存储深度学习算法模型,减少内存读取,大幅度减少功耗。


现在来看,不知道在Zynq UltraScale+这款芯片上,是不是一脉相承的技术实现,从性能上还是很强的。


其主要的工作流程和性能指标如下图所示:


支持11路mipi的摄像头,11个摄像头,应该足够一个车需要用到的摄像头。


反正能够支持到这么多摄像头的芯片,我印象中还是最多的。


除此之外,最重要的是,这颗芯片FPGA可编程资源非常丰富:256K logic Cell; (logic cell 内部就是LUT和REG )。  其在333Mhz  其配置在可编程逻辑的 深度学习处理器DPU能力达到1.3Tops。




除了智摄像头,还有一些其他的应用可以供不同应用选择


例如智能驾驶,语音识别,安防检测等等。


这里重点提一下ADAS(高级驾驶辅助系统)利用安装于车上的各式各样的传感器, 在第一时间收集车内外的环境数据, 进行静、动态物体的辨识、侦测与追踪等技术上的处理, 从而能够让驾驶者在最快的时间察觉可能发生的危险, 以引起注意和提高安全性的主动安全技术。包括驾驶员疲劳预警和身份识别,人脸识别在乘用车的个性化驾驶舱,以及未来的商业模式都是非常必要的。也有一些原型在做。


总结一下:


1:处理能力:KV260用了zynq ultrascale+  mpsoc 这颗芯片,内部有四核应用处理器,GPU,实时处理器,以及256K LC的FPGA,硬件资源足够来处理人工智能方面的应用。


2:外设接口:KV260支持11路摄像头,能够支持类似汽车辅助设备ADAS ,先进驾驶辅助系统这类应用。


3:软件配套:除了硬件之外,还有很多的软件套件,例如人脸识别,入侵检测,自动驾驶等等一些应用,方便二次开发。


FPGA通过深度学习可以达到毫秒级别的应用,吞吐量大,时延低,这个可能一个优势。


前面的人脸测试中,同时识别22张人脸,也侧面说明了人脸识别的数量很多,延时较低。


为什么是22张,是因为找的视频中也就是22张人脸。


当然,这个测试只是提供一个肉眼可以感受的角度。实际的应用可以根据需求进行测试,从测试结果进行评估,从而加速design in的过程。




点击“阅读原文”可以看到完整视频。


欢迎关注:歪睿老哥,如果你觉得本文还不错,欢迎点赞,在看,分享。



往期阅读:

掌握“核心技术”,也只是获得游戏的入场券

芯片工艺的5nm和7nm是怎么来的?

从人训练AI,到AI训练AI,路还有多远?

人类高质量芯片工程师的那些“黑话”

芯片工程师为什么变的这么贵?

大话FPGA-“万能的芯片?”

大话DPU—从网络到数据

揭开芯片工艺和摩尔定律背后的“秘密”

歪睿老哥 芯片设计行业老兵,聚焦芯片行业的那些事,唯武侠与芯片不可辜负。
评论
  •         在有电流流过的导线周围会感生出磁场,再用霍尔器件检测由电流感生的磁场,即可测出产生这个磁场的电流的量值。由此就可以构成霍尔电流、电压传感器。因为霍尔器件的输出电压与加在它上面的磁感应强度以及流过其中的工作电流的乘积成比例,是一个具有乘法器功能的器件,并且可与各种逻辑电路直接接口,还可以直接驱动各种性质的负载。因为霍尔器件的应用原理简单,信号处理方便,器件本身又具有一系列的du特优点,所以在变频器中也发挥了非常重要的作用。  &nb
    锦正茂科技 2024-12-10 12:57 76浏览
  • 天问Block和Mixly是两个不同的编程工具,分别在单片机开发和教育编程领域有各自的应用。以下是对它们的详细比较: 基本定义 天问Block:天问Block是一个基于区块链技术的数字身份验证和数据交换平台。它的目标是为用户提供一个安全、去中心化、可信任的数字身份验证和数据交换解决方案。 Mixly:Mixly是一款由北京师范大学教育学部创客教育实验室开发的图形化编程软件,旨在为初学者提供一个易于学习和使用的Arduino编程环境。 主要功能 天问Block:支持STC全系列8位单片机,32位
    丙丁先生 2024-12-11 13:15 45浏览
  • 一、SAE J1939协议概述SAE J1939协议是由美国汽车工程师协会(SAE,Society of Automotive Engineers)定义的一种用于重型车辆和工业设备中的通信协议,主要应用于车辆和设备之间的实时数据交换。J1939基于CAN(Controller Area Network)总线技术,使用29bit的扩展标识符和扩展数据帧,CAN通信速率为250Kbps,用于车载电子控制单元(ECU)之间的通信和控制。小北同学在之前也对J1939协议做过扫盲科普【科普系列】SAE J
    北汇信息 2024-12-11 15:45 64浏览
  • 我的一台很多年前人家不要了的九十年代SONY台式组合音响,接手时只有CD功能不行了,因为不需要,也就没修,只使用收音机、磁带机和外接信号功能就够了。最近五年在外地,就断电闲置,没使用了。今年9月回到家里,就一个劲儿地忙着收拾家当,忙了一个多月,太多事啦!修了电气,清理了闲置不用了的电器和电子,就是一个劲儿地扔扔扔!几十年的“工匠式”收留收藏,只能断舍离,拆解不过来的了。一天,忽然感觉室内有股臭味,用鼻子的嗅觉功能朝着臭味重的方向寻找,觉得应该就是这台组合音响?怎么会呢?这无机物的东西不会腐臭吧?
    自做自受 2024-12-10 16:34 136浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-10 16:13 105浏览
  • 近日,搭载紫光展锐W517芯片平台的INMO GO2由影目科技正式推出。作为全球首款专为商务场景设计的智能翻译眼镜,INMO GO2 以“快、准、稳”三大核心优势,突破传统翻译产品局限,为全球商务人士带来高效、自然、稳定的跨语言交流体验。 INMO GO2内置的W517芯片,是紫光展锐4G旗舰级智能穿戴平台,采用四核处理器,具有高性能、低功耗的优势,内置超微高集成技术,采用先进工艺,计算能力相比同档位竞品提升4倍,强大的性能提供更加多样化的应用场景。【视频见P盘链接】 依托“
    紫光展锐 2024-12-11 11:50 44浏览
  • 【萤火工场CEM5826-M11测评】OLED显示雷达数据本文结合之前关于串口打印雷达监测数据的研究,进一步扩展至 OLED 屏幕显示。该项目整体分为两部分: 一、框架显示; 二、数据采集与填充显示。为了减小 MCU 负担,采用 局部刷新 的方案。1. 显示框架所需库函数 Wire.h 、Adafruit_GFX.h 、Adafruit_SSD1306.h . 代码#include #include #include #include "logo_128x64.h"#include "logo_
    无垠的广袤 2024-12-10 14:03 69浏览
  • 全球知名半导体制造商ROHM Co., Ltd.(以下简称“罗姆”)宣布与Taiwan Semiconductor Manufacturing Company Limited(以下简称“台积公司”)就车载氮化镓功率器件的开发和量产事宜建立战略合作伙伴关系。通过该合作关系,双方将致力于将罗姆的氮化镓器件开发技术与台积公司业界先进的GaN-on-Silicon工艺技术优势结合起来,满足市场对高耐压和高频特性优异的功率元器件日益增长的需求。氮化镓功率器件目前主要被用于AC适配器和服务器电源等消费电子和
    电子资讯报 2024-12-10 17:09 84浏览
  • 智能汽车可替换LED前照灯控制运行的原理涉及多个方面,包括自适应前照灯系统(AFS)的工作原理、传感器的应用、步进电机的控制以及模糊控制策略等。当下时代的智能汽车灯光控制系统通过车载网关控制单元集中控制,表现特殊点的有特斯拉,仅通过前车身控制器,整个系统就包括了灯光旋转开关、车灯变光开关、左LED前照灯总成、右LED前照灯总成、转向柱电子控制单元、CAN数据总线接口、组合仪表控制单元、车载网关控制单元等器件。变光开关、转向开关和辅助操作系统一般连为一体,开关之间通过内部线束和转向柱装置连接为多,
    lauguo2013 2024-12-10 15:53 78浏览
  • 时源芯微——RE超标整机定位与解决详细流程一、 初步测量与问题确认使用专业的电磁辐射测量设备,对整机的辐射发射进行精确测量。确认是否存在RE超标问题,并记录超标频段和幅度。二、电缆检查与处理若存在信号电缆:步骤一:拔掉所有信号电缆,仅保留电源线,再次测量整机的辐射发射。若测量合格:判定问题出在信号电缆上,可能是电缆的共模电流导致。逐一连接信号电缆,每次连接后测量,定位具体哪根电缆或接口导致超标。对问题电缆进行处理,如加共模扼流圈、滤波器,或优化电缆布局和屏蔽。重新连接所有电缆,再次测量
    时源芯微 2024-12-11 17:11 62浏览
  • RK3506 是瑞芯微推出的MPU产品,芯片制程为22nm,定位于轻量级、低成本解决方案。该MPU具有低功耗、外设接口丰富、实时性高的特点,适合用多种工商业场景。本文将基于RK3506的设计特点,为大家分析其应用场景。RK3506核心板主要分为三个型号,各型号间的区别如下图:​图 1  RK3506核心板处理器型号场景1:显示HMIRK3506核心板显示接口支持RGB、MIPI、QSPI输出,且支持2D图形加速,轻松运行QT、LVGL等GUI,最快3S内开
    万象奥科 2024-12-11 15:42 65浏览
  • 概述 通过前面的研究学习,已经可以在CycloneVGX器件中成功实现完整的TDC(或者说完整的TDL,即延时线),测试结果也比较满足,解决了超大BIN尺寸以及大量0尺寸BIN的问题,但是还是存在一些之前系列器件还未遇到的问题,这些问题将在本文中进行详细描述介绍。 在五代Cyclone器件内部系统时钟受限的情况下,意味着大量逻辑资源将被浪费在于实现较大长度的TDL上面。是否可以找到方法可以对此前TDL的长度进行优化呢?本文还将探讨这个问题。TDC前段BIN颗粒堵塞问题分析 将延时链在逻辑中实现后
    coyoo 2024-12-10 13:28 101浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦