在计算机视觉领域中,不同的场景不同的应用程序需要不同的解决方案。在本文中,我们将快速回顾可用于在单板计算机(指所有的逻辑线路、定时线路、内部存储器和外部界面都包含在一块单独的印制板上的一种微算机)上提供嵌入式视觉的各种选项。

近年来,随着计算机视觉领域的巨大进步和廉价计算的可用性,计算机视觉正处于一个转折点,我们的设备开始从我们的汽车开始引起人们的注意。越来越多的计算机视觉算法正被部署到诸如无人机、安全摄像头、移动应用程序、零售分析等边缘应用案例中。

有许多流行的设备通常被早期采用者用于运行计算机视觉算法。然而,当涉及到工业应用时,长期生存能力成为一个非常重要的因素。本文分析了一些最适合计算机视觉的设备,并评估了如何为工业计算机视觉应用程序选择设备。

1 简介

1.1 深度学习与传统计算机视觉

通常,基于深度学习的算法鲁棒性强且功能强大,并且可以针对大多数用例使用现实环境中的噪声和变化。然而,他们需要大量的计算能力,通常由一个良好的Nvidia GPU连接到一个良好的CPU提供。这不仅昂贵,而且在很多情况下,不可能将GPU连接到嵌入式系统。但是,随着Nvidia发布Jetsons进行边缘计算,这种情况正在迅速改变。此外,一些研究人员和初创公司正在寻求在CPU上进行深度学习。

1.2 性能考量

根据您的用例,设备的性能可能至关重要,也可能并不重要。性能要求可能相差很大。请考虑以下两种情况:(a)在繁忙的机场限制区域内分析安全摄像机的镜头,(b)对零售商店中的访客进行人口统计分析。在方案(b)中,您可以仅以每秒5帧(FPS)的速度运行算法,但是在方案(a)中,较高的FPS至关重要。方案(a)也对准确性提出了更高的要求。了解这些性能要求是针对您的用例使用合适的设备的关键。

1.3 社区支持

在过去的几年中,计算机视觉取得了巨大的进步,并且发展非常迅速。仍在编写新的框架,发布新的网络和数据集,并以前所未有的速度设计新的芯片。
如下图所示,这个生态系统每年都在改写自己,而您不想被失败者困住。

社区和大型组织的支持通常会决定赢家。从这个角度来看,Raspberry Pi,Jetson Tk1和Tx1等设备具有巨大的优势。社区支持/大型组织的吸引力将成为决定获胜者的关键因素。从这个角度来看,Raspberry Pi,Jetson Tk1和Tx1等设备具有巨大的优势。下面将介绍用于计算机视觉用例的一些设备的列表:

  1. Nvidia Jetson TX1
    Nvidia Jetson TX1装有64位四核ARM Cortex-A57 CPU和256核Maxwell GPU,是嵌入式计算机视觉市场上功能最强大的设备之一。更令人印象深刻的是,它仅消耗10W的功率即可提供1 Teraflop 16FP性能。它的价格为495美元,有点贵,但是随着Nvidia的鼎力相助,您将拥有一个不断发展的生态系统,使其成为高端计算机视觉应用的正确选择。

  2. Nvidia Jetson TK1
    Nvidia Jetson TK1是Jetson TX1的前身,价格为192美元。如果您认为定价很奇怪,请再考虑一下。配备192核Kepler GK20a GPU,每个CUDA内核的定价为1美元,并且具有300 GigaFlops的性能。Tk1没有板载WiFi或蓝牙。但是,这些可以通过USB或mini-PCIe端口添加。

  3. Raspberry Pi 4
    树莓派是传统计算机视觉(通常使用OpenCV)的首选设备。其第四代Raspberry Pi 4可以输出全高清1080p的视频。Google不仅将赌注押在树莓派,还为其提供了Tensorflow 支持。Google活跃且不断发展的社区以及最近的兴趣使它成为计算机视觉的真正可行选择。

  4. Beagleboard: BeagleBone Black
    BeagleBone Black在物联网应用中很受欢迎。与具有单个26针接头连接器(可用作8个GPIO引脚或串行总线)的Raspberry Pi相比,Beaglebone Black具有两个48插槽接头连接器,可用于几乎无限的I / O硬件。它还包括许多模拟I / O引脚,使其可以连接到各种现成的Raspberry Pi不能使用的传感器硬件。BeagleBone Black价格翻倍且性能不佳,不是计算机视觉的理想选择,因为视频解码,3D渲染和常规GUI性能在Raspberry Pi 3上要好得多。

  5. Orange Pi
    在价格上,Orange Pi的硬件​​比Raspberry Pi更好。它也具有Raspberry Pi缺少的一些功能,例如SATA,千兆以太网,IR和麦克风。但是,由于缺乏生态系统和无法获得支持,这件本来不错的硬件却远离了计算机视觉社区。

  6. ODROID-C2
    由Hardkernel以39美元的价格出售,这是与Raspberry Pi的有力竞争者。它的内存是Raspi3的两倍,处理器也比Raspi3快得多。千兆位以太网和4K视频支持等功能使其优于Raspi3。软件的支持和社区的力量远不及Raspi。但是,此卡拥有一个虽小却热忱的社区,这始终是一个好兆头。ODROID-C2的另一个优点是它的易用性比Raspberry Pi更高。

  7. Banana Pi
    Banana Pi与Raspberry Pi价格差不多。但是,Raspberry Pi周围的生态系统使得不值得尝试在Banana Pi上进行计算机视觉。

注意:还有更多类似Intel Edison的设备更适合于IoT用例,因此在本文中被忽略。Arduino开发板是另一种非常流行的设备,许多业余爱好者和学生在其上运行一些计算机视觉算法。但是,我们认为Arduino由于其较低的技术规格(特别是非常低的RAM可用性)而更适合物联网,而不适合于计算机视觉。此外,还没有包括Movidius这样的解决方案提供商。

2 结论

总而言之,Raspberry Pi,Jetson TK1和Jetson TX1明显领先于当今,拥有庞大的社区和公司。ODROID-C2是一匹黑马,可以替代Raspberry Pi。尽管如此,这个市场还处于新生阶段,有太多的大公司仍在努力在这个市场上有所作为。

实际上就个人经历而言,以深度学习为代表的人工智能技术最近遇到大挫折,深度学习存在许多瓶颈问题,计算机视觉技术也没有大的进展。现在工业应用上以caffe框架居多,实际也是云端/PC端/android端较多,嵌入式开发看看华为海思,英伟达的设备。树莓派搞搞研究挺好的,工业应用成本过高,其他的设备不建议使用。

3 参考

https://www.learnopencv.com/embedded-computer-vision-which-device-should-you-choose/

[OpenCV实战]41 嵌入式计算机视觉设备选择的更多相关文章

  1. OpenCV实战:人脸关键点检测(FaceMark)

    Summary:利用OpenCV中的LBF算法进行人脸关键点检测(Facial Landmark Detection) Author:    Amusi Date:       2018-03-20 ...

  2. 嵌入式Linux设备驱动程序:用户空间中的设备驱动程序

    嵌入式Linux设备驱动程序:用户空间中的设备驱动程序 Embedded Linux device drivers: Device drivers in user space Interfacing ...

  3. 嵌入式Linux设备驱动程序:发现硬件配置

    嵌入式Linux设备驱动程序:发现硬件配置 Embedded Linux device drivers: Discovering the hardware configuration Interfac ...

  4. 嵌入式Linux设备驱动程序:编写内核设备驱动程序

    嵌入式Linux设备驱动程序:编写内核设备驱动程序 Embedded Linux device drivers: Writing a kernel device driver 编写内核设备驱动程序 最 ...

  5. [OpenCV实战]49 对极几何与立体视觉初探

    本文主要介绍对极几何(Epipolar Geometry)与立体视觉(Stereo Vision)的相关知识.对极几何简单点来说,其目的就是描述是两幅视图之间的内部对应关系,用来对立体视觉进行建模,实 ...

  6. 取消开机window 设备选择

    问题:开机,出现window 设备选择,在win7 页面上会停留几秒.解决方案:win+R 输入 -msconfig 进入引导 把延迟改为3

  7. Jetty实战之 嵌入式Jetty运行Servlet

    http://blog.csdn.net/kongxx/article/details/7230080 Jetty实战之 嵌入式Jetty运行Servlet 分类:JettyJava (19530)  ...

  8. javacpp-opencv图像处理3:使用opencv原生方法遍历摄像头设备及调用(增加实时帧率计算方法)

    javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置.大小.粗度.翻转.平滑等操作 javaCV图像处理之2:实时视频添加图片水 ...

  9. Jetty实战之 嵌入式Jetty运行web app

    Jetty实战之 嵌入式Jetty运行web app 博客分类: 应用服务器 jettywar  转载地址:http://blog.csdn.net/kongxx/article/details/72 ...

随机推荐

  1. JSP脚本知识

    JSP脚本元素 1.在jsp中嵌入的服务端运行的小程序称为脚本.实质是java程序. 2.脚本元素可以分为三类:表达式.Scriptlet.声明. 表达式 计算java表达式的值,得到的结果转化为字符 ...

  2. 齐博x1小程序集群必须带上固定的标志

    小程序集群的也类似登录接口一样,需要带上特殊的标志.建议是在所有请求的头部header 加上 wxappid 如下图所示,跟登录标志 token 并列在一起. 如果不方便修改头部header 请求的时 ...

  3. 不妨试试更快更小更灵活Java开发框架Solon

    @ 目录 概述 定义 性能 架构 实战 Solon Web示例 Solon Mybatis-Plus示例 Solon WebSocket示例 Solon Remoting RPC示例 Solon Cl ...

  4. wpf 手指触摸图片放大缩小 设置放大缩小值

    xaml代码: <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/w ...

  5. 蓝桥杯赛前复习C++

    C标准库常用函数 memset函数:暴力清空 void *memset(void *str, int c, size_t n) str -- 指向要填充的内存块. c -- 要被设置的值.该值以 in ...

  6. MAUI新生-XAML语法基础:语法入门Element&Property&Event&Command

    一.XAML(MAUI的XAML)和HTML 两者相似,都是标签语言(也叫标记)组成的树形文档.每个标签元素,可视为一个对象,通过"键=值"形式的标签属性(Attribute),为 ...

  7. zk,kafka,redis哨兵,mysql容器化

    1. zookeeper,kafka容器化 1.1 zookeeper+kafka单机docker模式 docker pull bitnami/zookeeper:3.6.3-debian-11-r4 ...

  8. Selenium4+Python3系列(七) - Iframe、Select控件、交互式弹出框、执行JS、Cookie操作

    前言 突然,想把所有之前未更新的常用Api操作.演示写出来,算是对API的一种完结吧. 下面按照Api模块来做逐一介绍. 一.iframe操作 iframe识别: 语法: driver.switch_ ...

  9. 基于python的数学建模---灰色与模糊问题

    instance: 我们先对此数据集进行轮廓系数的计算 from sklearn import metrics import matplotlib.pyplot as plt from sklearn ...

  10. 你认识的C# foreach语法糖,真的是全部吗?

    本文的知识点其实由golang知名的for循环陷阱发散而来, 对应到我的主力语言C#, 其实牵涉到闭包.foreach.为了便于理解,我重新组织了语言,以倒叙结构行文. 先给大家提炼出一个C#题:观察 ...