0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何定义网络架构或结构加速视觉系统的优化

电子设计 来源:电子技术设计 作者:Max Maxfield 2021-02-03 15:03 次阅读

当人们讨论深度神经网络(DNN)、深度学习嵌入式视觉时,通常会先讨论如何定义网络架构或结构。不久之前,我们还只能支持线性网络,在输入和输出级之间的层数非常有限。相比之下,今天的网络技术,如谷歌的TensorFlow,支持多个输入、多个输出以及每级多个层。

pIYBAGAaSbGAXQOAAAC8RPDBoW0788.png

图1:线性网络、多输入&多输出以及每级多个层

TensorFlow的强大令人难以置信,但人工定义TensorFlow架构类似于用汇编语言编写一个复杂的软件。因此Bonsai等公司开始研究提升抽象等级,帮助更多的开发人员在他们的工作中融合更加丰富的智能模型。一旦定义好网络结构,下一步就是训练这种结构,并用32位浮点系数(“加权”)产生一个新的版本。假设我们在创建某类嵌入式视觉图像处理应用,这个过程——可能会用到数十万甚至数百万幅分类照片——可以在高层进行描述,如图2所示。

o4YBAGAaSb2AY1uiAAGmDrfflHQ065.png

图2:创建嵌入式视觉图像处理应用

网络经过训练之后,下一步就是准备部署网络了,这与目标平台有关。假设这是一个性能受限的、具有功耗意识的部署平台,那么浮点网络需要被转换为定点网络,如图3所示(虽然16位定点实现很常见,但低至8位定点的实现也有大量成功的案例)。

pIYBAGAaScmAVuSNAAFdTIJ0pC8017.png

图3:浮点网络转换为定点网络

CEVA正在做一些非常有意思的研发工作,包括一种网络产生器。这种网络产生器采用基于Caffe或TenserFlow(任何形式)的网络浮点表示法,并将其转换为小型快速高能效的定点网络,目标应用是CEVA-XM4智能视觉处理器

投入实际使用之前的最后一步是将网络部署进目标系统,目标系统可以是MCUFPGA或基于SoC的系统,且可作为目标检测和识别系统的一部分。

pIYBAGAaSdOAEC1bAAHp55NELLc361.png

图4:将网络部署进目标系统

目前为止情况一切都很好,但是……

还有巨大的改进空间

与大多数事情一样,如果只是随便说说,那么上面的描述听起来也不错。然而,在一线搭建实际系统的开发人员知道,还有许多事情要考虑。

就拿第一步训练网络所用到的图像来说,用什么设备来捕获这些图像?在物理范畴,我们可能会讨论镜头、图像传感器模拟前端(AFE)等东西。在此之上,我们必须考虑图像处理管线(可以用软件函数实现,或使用硬件加速器)中采用的所有算法,比如增益控制、白平衡、噪声抑制和锐化、颜色空间转换、插值、压缩……等等。

当然,所有这一切也适合用于捕获和处理图像的任何后端摄像系统,这些图像最后馈入人工神经网络,实现检测、识别、分类和其它用途。

越来越多的公司将摄像机和智能视觉技术集成进产品中,系统的图像质量和精度是体现其价值的核心。除了镜头和传感器等物理组件,一个典型的图像处理管线可能会达到10级,每级可能有大约25个调整参数。在光学、传感器、处理器和算法组合之间优化这些系统需要付出很大的努力,而且每个产品和衍生品都要完成这一辛苦的工作,因此可能会限制待评估的替代配置的数量。

为了解决这一问题,Algolux公司以其机器学习解算器为基础设计了一种最优化的平台架构,名为CRISP-ML(运算型可重配置图像信号平台)。这种架构可以根据标准图像测试卡、加有标签的训练图像和关键性能指示器(KPI)目标调整成像和计算机视觉算法,在规定的成像条件下取得理想的图像质量、视觉精度、功耗和性能目标。这种方案可以极大地减少优化一个新视觉系统所需的时间和成本,将专家资源留给价值更高的任务。

当我第一次听到这一切时,第一反应就是Algolux的员工正在使用基因算法玩“魔术”。不过,Algolux公司首席技术官Paul Green表示,他们其实并没有使用基因算法,而是使用“有指导性的随机搜索与基于微积分的搜索的一种组合”。哇,这才真正激起了我的兴趣——“真是个坏小子!”。我期望在不远的将来能够学习到更多的内容,并写出更多的报道来。
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4538

    浏览量

    98426
  • 图像传感器
    +关注

    关注

    68

    文章

    1707

    浏览量

    128744
  • 嵌入式视觉
    +关注

    关注

    8

    文章

    114

    浏览量

    59041
  • 视觉处理器
    +关注

    关注

    0

    文章

    49

    浏览量

    17071
  • 深度学习
    +关注

    关注

    73

    文章

    5200

    浏览量

    119804
收藏 人收藏

    评论

    相关推荐

    机器视觉系统中前光源与背光源的应用实例

    在机器视觉系统中光源是关键组成部分之一,在机器视觉系统中具有十分重要的作用。
    的头像 发表于 11-14 11:10 368次阅读
    机器<b class='flag-5'>视觉系统</b>中前光源与背光源的应用实例

    立体视觉系统的设计方案

    电子发烧友网站提供《立体视觉系统的设计方案.pdf》资料免费下载
    发表于 11-06 10:17 0次下载
    立体<b class='flag-5'>视觉系统</b>的设计方案

    工业机器视觉系统中光源设计应用

    机器视觉系统主要由三部分组成:图像的获取、图像的处理和分析、输出或显示。而图像的获取是机器视觉的核心,图像的获取系统则是由光源、镜头、相机三部分组成。
    发表于 11-03 12:34 266次阅读
    工业机器<b class='flag-5'>视觉系统</b>中光源设计应用

    机器视觉系统五大模块,选择机器视觉的重要因素

    一个典型的机器视觉系统主要包括五大模块,分别是照明、镜头、相机、图像采集和视觉处理器。下面,我们就来认识一下这五个结构的用途、特点与工作情况。光源光源是影响机器视觉系统输入的重要因素,
    的头像 发表于 10-13 08:07 576次阅读
    机器<b class='flag-5'>视觉系统</b>五大模块,选择机器<b class='flag-5'>视觉</b>的重要因素

    基于Linux的嵌入式视觉系统设计原理

    电子发烧友网站提供《基于Linux的嵌入式视觉系统设计原理.pdf》资料免费下载
    发表于 10-11 11:26 0次下载
    基于Linux的嵌入式<b class='flag-5'>视觉系统</b>设计原理

    机器视觉系统基本原理及应用分类

    机器视觉(machine vision)是由计算机或图像处理器以及相关设备来模拟人的视觉行为,完成得到人的视觉系统所得到的信息。 简单说来,机器视觉就是用机器代替人眼来做测量和判断。
    发表于 10-08 10:40 343次阅读
    机器<b class='flag-5'>视觉系统</b>基本原理及应用分类

    如何快速设计和部署智能机器视觉系统

    和子系统,包括高性能硬件和先进的人工智能/机器学习(AI/ML) 软件。机器视觉优化视频采集技术和视觉 I/O以满足应用需求开始,并延伸到多个图像处理管道以实现高效连接。机器
    的头像 发表于 10-03 14:31 389次阅读
    如何快速设计和部署智能机器<b class='flag-5'>视觉系统</b>

    《 AI加速架构设计与实现》+学习和一些思考

    ,如有错误还望大佬们指出,我马上改正。 目录和进度 目前阅读到第一章,先更新到第一章的内容吧 卷积神经网络 运算子系统的设计 储存子系统的设计 架构
    发表于 09-16 11:11

    视觉系统的构成 机器视觉中常用的接口有哪些

    从机器视觉定义可以推测出,一个摄像机和一个处理器结合在一起形成一个视觉系统。然而,这只是部分完整的描述。确实,视觉系统需要摄像机和处理器,但还有更多的组成部分。
    发表于 09-05 10:02 462次阅读
    <b class='flag-5'>视觉系统</b>的构成 机器<b class='flag-5'>视觉</b>中常用的接口有哪些

    一套简单的机器视觉系统包括哪些部分?

    一套最简单的机器视觉系统包括:视觉成像部分、图像处理部分、运动控制部分。
    发表于 08-20 09:39 393次阅读

    机器视觉系统包括哪些

    机器视觉系统包括哪些 机器视觉系统就是利用机器代替人眼来作各种测量和判断。它是计算机学科的一个重要分支,它综合了光学、机械、电子、计算机软硬件等方面的技术,涉及到计算机、图像处理、模式识别、人工智能
    发表于 06-29 11:33 531次阅读

    一套完整的机器视觉系统的工作流程有哪些?

    机器视觉系统的工作流程
    的头像 发表于 06-06 15:17 1374次阅读
    一套完整的机器<b class='flag-5'>视觉系统</b>的工作流程有哪些?

    光学设计是机器视觉系统的关键

    机器视觉系统具有极大的吸引力,因为它能避免重复的测量,同时又能提高产量,增加响应时间。
    发表于 05-23 09:40 206次阅读
    光学设计是机器<b class='flag-5'>视觉系统</b>的关键

    浅谈机器视觉系统集成时所涉及的各种技术

    准确地描述机器视觉系统需要完成的功能和工作环境,对于整个机器视觉系统的成功集成是至关重要的。对于需求的描述,实际定义视觉系统工作的场景,而围绕这个场景设计1个
    发表于 05-09 09:57 208次阅读
    浅谈机器<b class='flag-5'>视觉系统</b>集成时所涉及的各种技术

    机器视觉系统集成的关键要点有哪些?

    准确地描述机器视觉系统需要完成的功能和工作环境,对于整个机器视觉系统的成功集成是至关重要的。
    发表于 04-19 15:04 248次阅读