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

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

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

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. [Android开发学iOS系列] iOS写UI的几种方式

    [Android开发学iOS系列] iOS写UI的几种方式 作为一个现代化的平台, iOS的发展也经历了好几个时代. 本文讲讲iOS写UI的几种主要方式和各自的特点. iOS写UI的方式 在iOS中写 ...

  2. 基于AIE的贵州省FVC提取

    植被覆盖度获取 植被覆盖度(Fractional Vegetation Cover,FVC),是指植被(包括叶.茎.枝)在地面的垂直投影面积占统计区总面积的百分比,范围在 [0,1] 之间.FVC 是 ...

  3. Hive之权限控制

    Hive之权限 一.库级的权限 -- 授予所有权限给某个用户 grant all on msta to user {userName}; -- 授权admin privilege权限 grant AD ...

  4. Rdt2.1 和 Rdt2.2的详细解释

    Rdt2.1 和 Rdt2.2的详细解释 目录 Rdt2.1 和 Rdt2.2的详细解释 这俩为啥会出现? 解决之道 Rdt 2.1 Rdt2.2 可靠数据传递中Rdt1.0, Rdt2.0, Rdt ...

  5. 集训队互测2016Unknown(UOJ191)

    题目链接 前面部分和lzz的题解是一样的. 首先将输入点(x,y)变为(-y,x)然后,只需找一个向量与(-y,x)的点积最大,即找一个向量在(-y,x)上的投影最长.此时所有的点都是在x轴上方的,容 ...

  6. Linux系统安装宝塔面板教程

    # Linux系统宝塔安装教程 注意:安装宝塔面板的前提条件 首先要有一台服务器或者使用linux系统的虚拟机. 安装前请确保是[全新的机器].必须是没装过其它环境的新系统,如Apache/Nginx ...

  7. js 获取开始时间和结束时间相隔小时及分钟(时间戳操作)

    js 获取开始时间和结束时间相隔小时及分钟(时间戳操作) 场景描述:获取开始时间和结束时间相隔小时及分钟 实例: TimeOnConfirm(curDate) { if(this.pickernum ...

  8. 题解 UVA10285 最长的滑雪路径 Longest Run on a Snowboard

    Solution 双倍经验 就是记搜嘛. 搞一个二维数组记录一下当前的最长滑雪路径,其他和普通 dfs 没什么两样. 向 \(4\) 个方向搜索,如果高度符合就 \(+1\) . 多测要注意数组初始化 ...

  9. 状态机的技术选型,yyds!

    前言 今天跟大家分享一个关于"状态机"的话题.状态属性在我们的现实生活中无处不在.比如电商场景会有一系列的订单状态(待支付.待发货.已发货.超时.关闭):员工提交请假申请会有申请状 ...

  10. Go语言核心36讲46

    我们今天要讲的是os代码包中的API.这个代码包可以让我们拥有操控计算机操作系统的能力. 前导内容:os包中的API 这个代码包提供的都是平台不相关的API.那么说,什么叫平台不相关的API呢? 它的 ...