什么样的活跃立异可以帮助您规划出这样一个体系——它可以提示用户有儿童在游水池中溺水,或是有入侵者企图闯入住所或许工作场所?这种技能还可以提示驾驭员路途上行将产生的风险,乃至可以阻止他们并线、加快及其它或许会给本身或别人带来风险的操作。它可以给军用无人机或其他机器人配上电子“眼”,使这些设备部分完结乃至彻底完结主动化操作。它可以帮忙内科医生确诊患者的病况。它可以精确地进行面部辨认,随后发动一系列操作(例如主动登录用户账号,或许获取相关新闻及其它信息),解读姿势, 乃至察觉人的心情状况。与GPS、指南针、加快计、陀螺仪和其他功用合作,它还可以供给数据强化(data augmented) 的场景再现。
上面谈到的运用实例都选用了一项一起的技能,即嵌入式视觉。该技能正准备书写新一代电子体系的成功华章。嵌入式视觉开始运用于拼装生产线检测、光学字符辨认、机器人、监督和军用体系等传统的计算机视觉运用。不过近年来,跟着要害技能构建块本钱的不断下降以及功用的不断丰厚,嵌入式视觉技能不断向首要的大批量商场加快浸透。
例如,在日益丰厚和不断提高的运用需求的推进下,图画传感器的分辨率、低亮度功用、帧速率、尺度、功耗和本钱等要害特性都有着显着的改善。相同,嵌入式视觉运用也要求处理器具有高功用、低本钱、低功耗以及灵敏的可编程功用。这些抱负的特性在不可胜数的产品规划中正日渐变为实际。最新一代光学体系、照明模块、易失性和非易失性存储器以及I/O 规范也正在完结相似的特性优化。因而,算法到了迎接挑战的关口,需求充分利用这些硬件功用的改善来供给更稳健牢靠的剖析成果。
嵌入式视觉指的是可以经过视觉办法了解其所在环境的机器。“嵌入式”的意思指内置图画传感器的非通用型计算机体系。比方,嵌入式可所以手机、平板电脑、监督体系、地上或许具有飞翔才能的机器人、装置有一套 360°摄像头的车辆或许是医疗确诊设备。它也可所以有线或许无线用户界面外设。这方面微软针对 Xbo x360 游戏机供给的 Kinect 或许是最好的比方,上市头 2 个月就销售出 800万件。
FPGA 的商机:事例研讨
可供选用的稳健牢靠的嵌入式视觉处理产品丰厚多样,如微处理器与嵌入式操控器、专用 SoC、DSP、图形处理器、ASIC 和 FPGA。FPGA 是一款用于完结嵌入式视觉技能的极富吸引力的芯片渠道,由于它将 ASIC的高功用和低功耗硬件以及可运转在CPU、GPU 或 DSP 上的软件算法的灵敏性和快速上市优势集于一身。在嵌入式视觉商场处于襁褓时期的当时阶段,灵敏性具有特别重要的含义。由于为了支撑多样化的算法挑选,敏捷完结缺点修正和特性集改善是一种常态,而非偶尔。FPGA 的硬件可装备才能也便于让规划经简略直观修正就能适用于支撑各种串行和并行(以及模仿和数字)接口的图画传感器。
嵌入式视觉联盟是由世界各地的开发商和供给商组成的一致的全球性联盟,其主旨是以丰厚、敏捷和高效的办法将嵌入式视觉的潜力变为实际(见侧边栏)。该联盟的两个开创成员 (BD) 伯克利规划技能公司和赛灵思已联合开宣布一个参阅规划,用于证明嵌入式视觉技能不可估量的商场远景以及 FPGA 在完结该远景中或许发挥的效果。这个项意图意图是探究体系规划人员在开发高度杂乱的智能视觉渠道时可进行的典型架构决议方案,该渠道所包括的元件需求高强度硬件处理和杂乱的软件及算法操控。
BD 和赛灵思对规划进行了分区,其间 FPGA 架构担任处理数字信号处理密集型运算,而 CPU 则担任处理杂乱的操控和猜测算法。在这个探究性完结方案中,CPU 电路板经过以太网接口连接到 FPGA 开发板。FPGA 履行高带宽处理,仅有元数据经过网络 (network tether) 进行交流。该项目还探究了软硬件同步开发,故要求在终究的 FPGA 硬件完结之前运用精准的仿真模型。
第一阶段:路途标志检测
项意图第一阶段和第二阶段均选用了两个依据 PC 的专门功用:正在开发中的赛灵思视频 IP 模块的仿真模型和一个由 BD 开发的处理运用(见图 1)。输入数据为 720p 高清分辨率、60 fps 的 YUV 编码视频流,代表车辆正前方摄像头或许收集到的图画。其意图是辨认(尽管没有选用光学字符职别技能“读取”,但这项功用可以天然延伸出来)视频帧中的四种类型的目标,以辅佐驾驭员驾驭:
? 绿色方向标志
? 黄色和桔赤色风险标志
? 蓝色信息标志
? 桔赤色安全锥
赛灵思供给的 IP 模块仿真模型担任输出用于辨认每帧中各色彩像素组的方位和巨细的元数据,这些也是终究硬件 IP 模块生成的元数据。许多嵌入式视觉体系的精度受多种外部要素的影响,比方成像传感器的噪声、忽然的照度改变以及难以猜测的外部运动。对本项意图必要要求之一是要求FPGA 硬件在尽量节省硬件资源的状况下,凭借可以忍受很多外部搅扰且不下降检测精确度的猜测性软件,在有很多外部搅扰的条件下完结图画处理并生成元数据。
BDTI 针对这种特定运用,对这些IP 模块丰厚的装备参数集进行了优化,并且 BDTI 的后处理算法还供给了进一步的优化和猜测功用。例如,在某些状况下,该硬件只能部分辨认一帧中的目标,但运用层软件运用盯梢算法可以继续猜测目标的方位。这种办法十分有用,由于在许多状况下物理勘探无法做到继续不断,因而软件智能层对供给继续的猜测起着要害效果。
再举一个比方。高速公路绿色指路标志上的黑色或白色字符或许会打乱 IP 模块一般的图画剖析功用,会将路标过错地分解成多像素的子集合(见图 2)。依据该运用中运用的成像传感器的质量和设置,IP 模块还会混杂赤色和桔赤色,然后将其他车辆的尾灯或刹车灯误认为交通锥或交通标识。
因而,BDTI 开发的针对特定运用定制的算法可用于进一步处理赛灵思供给的元数据。例如,BDTI 的算法知道什么样的标志看上去应该是怎么样的(巨细、形状、色彩、图画、在帧中的方位等),故而可以将相关的像素集群组合成更大的群组。相似的,这些算法也能判别什么时候应该去除看似色彩附近但并非标志的像素集群,比方前面提及的车辆刹车灯。
第二阶段:行人检测与盯梢
在项意图第一阶段中,摄像头处于运动状况而待辨认的目标(即路途标志)处于中止状况。第二阶段首要针对安全运用,摄像头处于中止状况而目标(本例中为行人)则未必。对这种状况,视频剖析算法就不能依托预设的色彩、图画或其它目标特征,由于行人可以穿戴各种衣物,可以高矮胖瘦各异,可以肤色、头发色彩和发型不同(别的还或许戴着遮挡头发的帽子、墨镜等装饰物)。软件还需求处理另一个难题,不只需求辨认和盯梢行人,还需求在行人穿越一道数字“绊网”,进入视频帧的特定区域时宣布警报(见图 3)。
项目第二阶段与第一阶段选用的硬件装备彻底相同,仅仅软件有所改变。视频流馈送到视频剖析 IP 核的仿真模型中,所生成的元数据传输到二级算法器材供进一步处理。此刻面对的难题包括:
? 处理不必要的噪声和恰当的目标切割之间根本性的权衡取舍问题
? 目标不断改变的形状(外形和结构)
? 目标不断改变的运动状况,包括行人世的运动状况改变以及特定行人随时刻的运动状况改变
? 元数据消失。比方当行人中止行走,被中心的障碍物遮挡或许是与布景图画混为一体
? 有其他目标出现在场景中,包括静态和动态的
? 行人与摄像头之间的间隔不断产生改变
? 人群中单个行人与集体的运动矢量比照,主体运动矢量和反向运动矢量的比照
就“绊网”的完结,四种不同的视频流对视频剖析算法的调试和优化特别有用:
? 以相反方向行走的“近处”行人
? 以不同方向行走的“近处”行人
? 一个“远处”行人和一辆行进的货车,从某种视点看,两者巨细相仿
?“远处”的多名行人与一辆驶近的货车,货车看上去比人群大
第三阶段:硬件转化及未来开展
项意图最终阶段选用赛灵思真实的视频剖析 IP 模块(替代之前运用的仿真模块),运转在 Spartan ?-3A 3400 视频入门套件上。MicroBlaze?软核处理器嵌入在 Spartan-3A FPGA内,选用额定的专用功用模块予以强化,并完结了网络协议栈。该网络协议栈首要担任处理高数位率和以太网分组的元数据并将其传输到 BDTI 开发的第二级处理算法,一起完结路途标志检测和行人检测与盯梢功用。尽管这些算法之前在依据 X86 的 PC 上运转,BDTI 已成功地将它们移植到依据ARM? Cor tex TM-A8 的硬件渠道(BeagleBoard) 上(见图 4)。
对现已了解赛灵思产品方案的用户来说,或许当即就会想到将 FPGA 和Cortex-A8 CPU 集成在单个芯片上的ZynqTM 可扩展处理渠道。能不能在单个 Zynq 器材上运转整个视频剖析参阅规划呢? 答复显然是必定的, 由于Zynq 产品系列的各器材包括有满足的可编程逻辑资源,一起 BDTI 算法对ARM CPU 核来说负载适中。
嵌入式视觉正在为体系开发商及其半导体和软件供货商书写新一篇严重的技能成功华章。正如本文中介绍的事例研讨所示,FPGA 以及 FPGA 与 CPU组合的 SoC 可以成为完结嵌入式视觉算法极富吸引力的芯片渠道。