机器视觉----易灵思FPGA

news2024/11/6 3:06:57

一、机器视觉概述

机器视觉无处不在,产品上如果有了机器视觉,那么这个产品在很大的意义上已经赋予了机器智能。例如机器人、无人机、工业检测,这些都需要机器视觉,但是他们的传感器和算法都不同。我们今天重点讨论工业相机行业的应用。

  • 系统的硬件和软件

机器视觉系统也有硬件和软件,硬件部分通常是说工业相机,软件部分包含嵌入式控制以及一部分图像增强优化。还有部分视觉软件是依托于相机提供的图像进行运算,最后可检测产品缺陷、监控生产线、引导装配机器人以及追踪、分拣和识别元件。另外还有一部分,是智能机器人上面的视觉传感器的避障和深度检测,我们今天的话题主要集中在机器视觉的嵌入式部分。

  • 关于摄像机

摄像头大体可以分为三个类别:AI Camera、Industry Camera和Other Cameras。第一个AI Camera智能相机,体积小,相机和处理图片的部分都在一个设备里,在物流行业非常普遍。第二个Industry Camera工业相机,是应用最广的一类。最后一个Other Cameras,是一些特殊领域的相机,例如热成像,还有3D立体测量。

  • 系统提出的要求

现在的智能制造的企业提高生产量、优化质量消除误差,并减少代价高昂的返工,这一切都依赖机器视觉来进行降本增效,在质量体系中,确保整个供应链上的可追溯性。这是工业相机的市场推动力,保持这个市场,每年有10%的复合增长,热成像市场的增长更是以超过20%以上的速度保持强劲势头。而门锁、测温仪、摄像头这三种设备就是典型的热成像市场,这些产品都有一个显著的要求——低功耗、小体积。而低功耗有两个方面的诉求,一个是因为在密闭的空间,确保不要发热,因为这会影响热成像传感器的精度。另外一个诉求是对于手持式的产品,需要更长的待机时间。

从历史上看,机器视觉依靠照相机将图像发送到计算机,这仍然是当今使用最广泛的方法。但是,许多计算机都基于为串行计算而编写的软件,从而限制了智能系统。这导致线性数据流过CPU。自2012年以来,大多数计算机使用多核处理器来提供并行计算,但是除非专门为并行性编写,否则软件将继续是串行的。计算机依靠其多核处理器来处理来自存储软件代码的同一内存块中的数据。 CPU和此内存块之间的总线将性能限制在所谓的冯·诺依曼瓶颈和内存墙。这是指内存和CPU之间的带宽限制。虽然可以增加时钟频率以每次处理更多的指令,但是这将导致功耗急剧增加。

如今,大多数机器视觉系统都依赖于摄像机通过电缆将其图像发送到计算机,这些电缆是从不断增加的分辨率和引入的帧速率传感器中移出大量数据的瓶颈。当前已经开发出新的视频协议来帮助增加带宽:USB3,NBASE-T,Camera Link HS,CoaXPress和光纤接口。除USB3和GigE接口外,所有接口都需要接口卡才能将图像数据移至内存。

二、机器视觉的基本架构

让我们来看一个机器视觉的典型应用设计框图,因为每种相机有不同的应用场景,因此面临着品种繁多,需求差异大的问题。这是FPGA大显身手的好时机,作为FPGA要完成什么样的功能呢?我们一起剖析一下。

  • 架构剖析

首先,FPGA能够与流行的Sensor进行接口,确保图像接收以及发送。

其次,FPGA逻辑容量要有一定的处理能力。例如,可以支持35K到120K的逻辑来进行不同应用的ISP功能,也就是图像处理功能。ISP(Image Signal Processor),它在相机系统中占有核心主导的地位,FPGA最适合以流水的方式处理这类矩阵型信号。算法的多少决定了逻辑资源的不同,当前市场的主流相机需要大致从35到120K Luts,同时也需要非常多的嵌入式存储器(BRAM)作为图像的高速缓存。

第三,为了能更好处理图像甚至可以处理多幅图像,也需要有外部的DDR,保持高效的带宽。

第四:如果有一定的特别的处理功能和加速运算,也需要FPGA中有一个智能的单元,内嵌处理器。现在最流行的RISC-V是个不错的选择,32bit的RISC-V处理相机的控制流是绝佳选择,再配上FreeRTOS的实时操作系统,如虎添翼。

  • 架构举例

让我们从一个最简单的图像接口例子来看:

这可以抽象为LVDS、MIPI、MIPI和LVDS的转换。因为sensor的接口可以是LVDS,也可以是MIPI。现在的sensor使用MIPI接口已经是非常明显的趋势,为了顺应这一潮流,很多SoC也提供了MIPI的输入和输出。在这个应用里,例如HDMI显微镜,我们的FPGA可以很容易处理各种sensor到SoC的接口,以及一个或者多个sensor。

前两个案例是在工业领域应用居多的机器视觉。在实际应用中,各种产品都需要FPGA具有纤小的体积。特别是在医疗和一些测试仪表行业,对体积和系统的集成度提出了更高的要求,例如胶囊机器人以及医疗内窥硬镜都需要有小体积的强制要求。

易灵思的第二代产品Ti60的器件,其中内置了HyperRAM,体积非常小,HyperRAM不仅兼顾存储容量,同时每片HyperRAM功耗也只有50-75mW。

三、易灵思FPGa

模仿地球上最聪明的生物——人类,他所有的知觉包括眼睛都与大脑紧密相连,我们的大脑既包含记忆又包含处理能力,能够快速处理信息,直接进行反应。我们必须尝试采用类似的体系结构,快速处理快速反应。因此,对于真正的智能相机,要实现传感器与内存处理之间的这种紧密耦合,智能相机的传感器应与处理器紧密相连。所以SiP是我们的一个很好革新。如刚才的这些框图,可以帮助我们了解机器视觉的需要,那如果我们能够提供一个集成的开发框架,是不是更好呢?

  • 可提供的资源

在易灵思的框架中,提供了系统互联,高效的DMA数据引擎,在模块间的AXI-4标准的互联总线,嵌入了RISCV的软核IP。应用框架可以在Trion系列的T120BGA324板上直接部署开发,具有MIPI的摄像头输入和HDMI的显示接口,而且也有Ethernet的网络接口。 易灵思采用摄像头直接读取显示器上的内容,实时处理图像的处理结果,并用RISC-V来进行图像处理功能的选择,能够做到彩色–灰度–边沿–增加型处理。如果你拥有了Edge Vision SoC加速框架,你可以轻松的专注于自己的图像处理。

  • 四个维度来衡量工业相机的应用

我从四个维度来衡量工业相机的应用现状。

首先,在接口上,现在的设计复杂度高,需要开发人员对MIPI的图像接口用LVDS进行协议模拟。当换了一种sensor的时候,若MIPI的对数发生改变,势必要重新开发,同时也很难实现在线重配置,花费更长的时间在接口开发上。

第二个维度,如果需要多次读取,高带宽和低延迟是必须具备的特性,如果采用软核设计,不仅费时费力,开发效率低下,甚至需要耗费4-5K逻辑资源,并且还有潜在的时序收敛问题。

第三个维度,在现在的相机设计中,不可避免的和现在主流的SoC进行接口设计。而这些接口主要以MIPI作为标准,像Xilinx、Altera、Lattice等主流FPGA设计公司在28nm的产品上也没有这样的硬核。

第四个维度,就是低功耗的设计。

我们之前分析了当前的设计现状,针对这些问题,易灵思的产品与这四个维度以及工业相机的应用非常切合。所以我们再次强调,在机器视觉设计中,依据这4个特别优势,易灵思能够加速您的创新。并且易灵思的产品路标有40nm和16nm两种组合,满足绝大多数机器视觉的应用需求。

  • 易灵思各产品的特点

易灵思是一家国产化中高端FPGA公司,在众多FPGA厂商中,我们是如何进行产品的整个定位的呢? 接下来我们逐一分析这些优点来定位我们的产品。

  • 资源和性能对比

易灵思在40nm的拥有低功耗40-120KLE逻辑单元、MIPI CSI@1.5G PHY+MAC硬核以及DDR3 PHY+MAC硬核。而在16nm上,易灵思可以实现超低功耗,35-1000KLEs逻辑单元、MIPI CSI@2.5G PHY+MAC硬核、Serdes:16/25.8 Gbps、1.5G HSIO、DDR4 HMC。

左侧是性能的轴线,Trion系列的性能和spartan性能不相伯仲,易灵思直接略过了28nm,在工艺上保持领先,采用先进工艺节点设计FPGA产品是提高性能的主要手段,但是先进工艺每一代之间有3倍以上的开发成本。

  • 功耗对比

钛金系列,钛是一种重量轻强度高的金属,寓意我们的产品性能极高、功耗极低、体积极小。我们用一些Opencore的benchmark进行测试,他拥有和Ultrascale plus相似的性能。目前,易灵思是国产公司中第一家推出16nm的公司。

我们看一下FPGA功耗对比,下面的轴线是代表功耗,越往右功耗越大。功耗设计在工业相机和热成像相机的设计中,是首要的考虑因素。在通信产品中,高于300KLE的设计,功耗也是非常头痛的问题,更不用说1KKLE的FPGA。Trion系列40nm的产品,比起很多28nm的产品,功耗仍然具有优势,比其他40nm的产品,功耗只有1/3。在16nm的产品,易灵思起步时候已经领先对手一个身位,功耗是同类产品的1/2, 对于设计资源高达150KLE以上的时候,我们具有极强的竞争能力。

  • 在机视觉上的应用

聚焦机器视觉的市场应用,易灵思是第一家集成MIPI CSI硬核的FPGA公司,硬核资源丰富,无需编程、敏捷开发,开发时间仅数小时。符合视频应用,解决了包括机器视觉在存储器带宽的痛点问题。易灵思是第一个在40nm工艺节点唯一支持1066M DDR3的FPGA,也是中国第一家商用支持MIPI CSI的厂商。

为了让FPGA成为一个智能设计的平台,从而降低开发难度,迎合当前设计需求,不仅可以满足机器视觉,对视频应用加速提供开发平台,工程师将重点放在绿色的区域,实现自己专业的创新和一些设计框架的内容,从而提供给设计者一个经过验证的平台。我们在这里对这个框架的每一部分采用不同的颜色进行标注,左侧的橙色是我们的RISCV,黄色部分是模块间的总线互联,AXI4对于APB3,主要数据总线的带宽给与不同的支持。

易灵思已经将数据面和控制面的接口采用ST以及MM来代表,您可能也注意到右上角浅蓝色的DDR memory有两个位宽不同的接口:128bit和256bit。上一页已经提到易灵思的DDR3有内建的仲裁器。要想实现这样的创新,易灵思对硬核的器件采用了不同于其他厂家的做法,全流程编译:代码输入、逻辑综合、布局布线、下载编程。专注系统集成的内核与外设分离的设计,简单配置,就可以将Hardcore快速集成到您的设计中,所有的开发工具均为自主研发。在国产第一个发布的16nm FPGA产品中,我刚才已经提到它的功耗优势,下图是采用量化的方式来对我们已经推出的产品以110KLE作为对比,采用其他厂商的功耗评估,以及一些开发板的实际测试,在60KLE、100M工作状态下,我们的功耗大致是150mW。这是采用Quartum创新架构的结果,在每个工艺节点都可以获得功耗减半的优势。

PPA(performance,Power,Area)可以兼顾依赖于易灵思的创新,最后来揭示与众不同的结构设计,我们之所以说易灵思是机器视觉的设计最佳方案,是得益于它的优点:

 小封装、小尺寸

 低功耗

 内嵌MIPI硬核

 Memory:DDR3支持1066Mbps、AXI-4 2Ports

 RISC-V内核

 Efinity全自主设计工具

很多FPGA以及硬件工程人员,可能在过去经常将注意力停留在HDL的设计,片内Debugger是否支持的方面,往往忽略了系统架构的有效性和开发周期。我们引用IT行业时常提到的,我们并不需要重复造轮子,我们这些已经将常用部件实现了硬化的方式,就是今天FPGA业内的一种革新。过去的经验固然重要,但是一味模仿,而忽略今天的应用需求,刻舟求剑的故事发生在今天也并不稀奇。易灵思对市场经过大量的分析、抽象、软硬件的协调,这些都是您快速革新的有力推手。

在半导体市场拓展新的市场,实际上都是九死一生。以Intel为例,过去我算是短暂服务过的公司,在移动领域的拓展中,也是一败涂地。作为后来者你的质量管控不具优势,而你的竞争对手也没有躺着那里让你追赶,所以,如果不去潜心研究一些技术,没有特色,没有创新,成功处于偶然,失败一定是必然的。

选择有时候比努力重要,在机器视觉方面,我们已经预先研究布局,为避免遇到错误而付出了更多的努力。因此,易灵思超低功耗FPGA是您的最佳选择。

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

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

相关文章

大模型相关技术综述

中文大模型、多模态大模型&大模型训练语料持续迭代大模型演进历史预训练模型word2vecword2vec属于NLP领域无监督学习和比较学习的先祖。精髓在于可以用不带标签的文本语料输入神经网络模型,就可以学习到每个词的带语的词向量表示。它背后原理其实就是人类讲出来…

真实3D地形生成器【免费在线】

Terrain3D是一个免费的在线3D地形生成器,只需指定地球上的坐标,就可以自动生成附近区域的3D地形同时叠加卫星影像,并且可以导出GLTF格式的3D地形模型。 推荐:使用 NSDT场景设计器 快速搭建 3D场景。 使用Terrain3D生成真实世界的3…

字节青训营——秒杀系统设计学习笔记(三)

限流算法 限流顾名思义,就是对请求或并发数进行限制;通过对一个时间窗口内的请求量进行限制来保障系统的正常运行。如果我们的服务资源有限、处理能力有限,就需要对调用我们服务的上游请求进行限制,以防止自身服务由于资源耗尽而…

JavaSE学习day7_02 封装和构造方法

4. 封装 面向对象的三大特征: 封装、继承、多态 封装:对象代表什么,就得封装对应的数据,并提供数据对应的行为。 比如人画圆:”画“这个行为应该封装在圆这个类,为什么?因为”画“圆要知道圆…

Pandas基础与实例——人工智能基础

本文目录一、 Series1. 将列表强转为Series2. 将字典强转为Series3. 访问Series中的数据3.1 第一套检索方法3.2 第二套检索方法4. Series常用属性二、Pandas日期类型数据处理1. 将字符串转为datetime类型2. 与1等价的方式3. 单独取出年月日4. 日期运算5. 生成一组日期6. 生成工…

AJAX笔记(二)Fetch和axios

1、Fetch 1.1、XMLHttpRequest的缺陷 1.2、fetch的get写法 1.3、fetch的post写法 1.4、fetch的put写法 1.5、fetch的patch写法 1.6、fetch的delete写法 2、axios 2.1、axios的介绍 2.2、axios的get写法 2.3、axios的post写法(图一json写法和图二三form写法&#x…

Django项目部署-uWSGI

Django项目部署-uWSGIDjango运维部署框架整体部署架构web服务器与web应用服务器的区别部署环境准备安装python3安装mariadb安装Django和相关模块Django托管服务器uWSGI使用uWSGI配置使用Django运维部署框架 整体部署架构 操作系统: Linux 。优势:生态系统丰富&…

NC113 验证IP地址

验证IP地址_牛客题霸_牛客网 描述 编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址 IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(".")分割。比如,172.16.254.1&#…

苹果手机怎么下载手机铃声?图文教程,快速学会

很多小伙伴喜欢使用苹果手机,可是苹果手机里的铃声自己并不是很喜欢听,想要下载一些好听的歌曲更换自己的手机铃声。苹果手机怎么下载手机铃声?别着急,今天小编以图文的方式,教教大家如何使用苹果手机下载手机铃声。 苹…

验证码绕过与识别

目录 验证码绕过 前言 删除cookie绕过 未销毁复用验证码 验证码识别 工具 使用流程 验证码绕过 前言 之前pikachu靶场有两道验证码绕过的题目,分别是(on client 前端验证验证码)和(on server 未销毁复用验证码),具体见下面的文章 Pikachu靶场…

IDEA热部署JRebel 插件

JRebel 是什么? 在我们的日常开发工作中,一般是都是 IDEA + Tomcat 部署运行 web 项目。项目运行之后,如果你修改了 Java 代码,想要生效就必须得重启 Tomcat 服务器才行。改一次代码就要重启一次,真的是太麻烦了,这会严重影响我们的开发效率。 那么有没有什么办法让我们不…

c语言入门-4-常量

c-常量正文字面常量1、字面常量2、const修饰的常变量3、#define 定义的标识符常量4、 枚举常量深度解析1 什么是常量2 常变量为什么不能定义数组的长度3 枚举的作用是什么4、C语言为何需要枚举?下一篇正文 变得量叫变量,不变的量叫常量 字面常量 1、字…

1. QSaveFile和QFile的简单使用

1. 说明 QSaveFile和QFile两个类都是用来操作文件的,区别在于QSaveFile在对文件进行写入时有一种保护机制,再写入出错时,不会对源文件中的内容进行操作。该类在执行写操作时,会先将内容写入到一个临时文件中,如果没有…

Flink Checkpoint 中的Aligned Checkpoint 和 Unaligned Checkpoint

文章目录知识点反压CheckpointBarrierAligned CheckpointUnaligned Checkpoint核心思想实现原理UC同步阶段UC异步阶段知识点 反压 反压是流式系统中关于处理能力的动态反馈机制,并且是从下游到上游的反馈,一般是在实时数据处理的过程中,上游…

Java POI导出之数据验证

Java POI导出之数据验证 maven 依赖 这里用的是apache.poi, 没有使用EasyExcel <!-- poi依赖--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.0.1</version></dependency&…

如何运维多集群数据库?58 同城 NebulaGraph Database 运维实践

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SktQW2qn-1676450580889)(https://www-cdn.nebula-graph.com.cn/nebula-website-5.0/images/blogs/58.%20Com%20Inc/58%E5%90%8C%E5%9F%8E_%E7%94%BB%E6%9D%BF%201.jpg)] 图计算业务背景介绍 我们为什…

jsp游戏门户网站系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 游戏门户网站系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql&#xff0c;使…

简单易用的图片缩略图处理库

哈喽&#xff0c;大家好&#xff0c;我是源小北。 最近在工作中&#xff0c;刚好有遇到对图片进行缩放处理的功能。于是&#xff0c;便拿起很久以前使用过的Java原生工具类处理图片&#xff0c;不过在开发过程中也发现了一些问题。 在Java中&#xff0c;原生的处理图片缩略图…

浅聊一下,可中断锁(ReentrantLock)

前言 今天早上上厕所&#xff0c;上的我痔疮犯了&#xff0c;屁股一坐下去就感觉一根针在刺我&#xff0c;得的是外痔&#xff0c;之前还坚持用痔疮膏来着&#xff0c;但是感觉涂药的那个姿势以及位置我实在无法忍受&#xff0c;就把它给断了&#xff0c;到头来还是屁股糟了罪&…

工程监测多通道振弦模拟信号采集仪VTN参数修改

工程监测多通道振弦模拟信号采集仪VTN参数修改 1 使用按键修改参数 使用按键修改某个参数的方法如下&#xff1a; &#xff08;1&#xff09;在系统参数查看页面&#xff08;PXX 页面&#xff09;&#xff0c;按【SWITCH】或【SETTING】按键切换到要修改的参数项。 &#xff08…