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

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

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

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. DDD-领域驱动(二)-贫血模型与充血模型

    贫血模型 一般来说 贫血模型:**一个类中只有属性或者成员变量,没有方法 **!例如 DbFirst 从数据库同步实体过来, -- 对于一个系统刚开始的时候会觉得这时候是最舒服的,但是如果后期系统需要 ...

  2. 通过QQ抓IP查询地址

    使用工具: Wireshark 可以直接搜索官网获取,个人用的免费的,也可以直接在kali中也是可以直接用的.这里就不介绍怎么安装了,网上很多. 步入正题: 通过wireshark进行抓包查地址,需要 ...

  3. String内建函数

    int length():返回字符串的长度: return value.lengthchar charAt(int index): 返回某索引处的字符return value[index]boolea ...

  4. Vue学习之--------插槽【默认插槽、具名插槽、作用域插槽】(2022/8/30)

    插槽Vue.js官网介绍:https://vuejs.org/guide/components/slots.html 会牵涉到template的用法.占位.实际不渲染到页面中 1.默认插槽: 1.1 ...

  5. MinGW配置C语言编译器gcc和g++

    首先,在 https://sourceforge.net/projects/mingw/files/latest/download 下载安装MinGW,如下图所示: 点Installation-> ...

  6. c语言KMP匹配算法与字符串替换算法

    一.字符串匹配算法 (1)传统匹配算法BF int Index_BF(char* S, char* T){ int i=1,j=1; while(i<=strlen(S) && ...

  7. 三十四、kubernetes证书介绍

    Kubernetes 证书介绍 一.证书机制说明 Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务.API Server 是集群内部各个组件通信的中介,也是外部控 ...

  8. MySQL的下载、安装、配置

    下载 官方下载地址:下载地址: 找到免费社区版本 进入到下面页面的时候,下载对应的MySQL,我这里选择Windows. 点击Download ,如下图: 后面他会提示你登录注册啥的,我们选择不需要, ...

  9. 利用递归的方式在JSON 数据中找到某个节点的多有父节点

    在项目中遇到的问题-- 一个级联题,知道答案id  后将每一级的选项展示出来 例如 级联题的 json 数据是 [ { name: '北京', id: 1, children:[ { name: '朝 ...

  10. threejs三维地图大屏项目分享

    这是最近公司的一个项目.客户的需求是基于总公司和子公司的数据,开发一个数据展示大屏. 大屏两边都是一些图表展示数据,中间部分是一个三维中国地图,点击中国地图的某个省份,可以下钻到省份地图的展示. 地图 ...