计算机视觉工具在过去几年中取得了巨大的增长。由于计算机视觉在物联网、制造、医疗服务、安全等领域的应用,计算机视觉的采用在过去十年中一直在加速。应用程序,最近各种计算机视觉工具的使用激增。
计算机视觉已经发展到一定程度,并广泛应用于生产和生活中。此外,GPU 等硬件以及机器学习设备和结构的进步使计算机视觉在当今时代变得更加有趣。一些重要的云服务提供商,例如谷歌、微软和AWS,已经加入了开发者的行列。不过,该选择哪个工具呢,小编今天就列出了一些供大家参考!
开放式计算机视觉
OpenCV是一个在BSD许可(开源)下发布的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1]它轻量且高效。它由一系列C函数和少量C++类组成。它还提供Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉领域的许多通用算法。
OpenCV是用C++语言编写的。它具有C++、Python、Java 和MATLAB 接口,支持Windows、Linux、Android 和Mac OS。 OpenCV 主要倾向于实时视觉应用,并在可用时利用MMX 和SSE 指令。如今还提供对C#、Ch、Ruby、GO 的支持
TensorFlow
TensorFlow 是一个基于数据流编程的符号数学系统。它广泛应用于各种机器学习算法的编程实现。它的前身是Google的神经网络算法库DistBelief[1]。 Tensorflow具有多级结构,可以部署在各种服务器、PC终端和网页上,支持GPU和TPU上的高性能数值计算。广泛应用于Google内部各个领域的产品开发和科学研究。
TensorFlow 2.0 鼓励执行针对图像和语音识别、对象检测、推荐、强化学习等进行调整的预先准备的模型。此类参考模型使您能够利用独特的最佳实践并从一开始就构建自己的精英解决方案。
MATLAB
MATLAB是美国MathWorks公司出品的商业数学软件。它应用于数据分析、无线通信、深度学习、图像处理和计算机视觉、信号处理、定量金融和风险管理、机器人、控制系统等领域。
MATLAB是matrixlaboratory两个词的组合,意思是矩阵工厂(矩阵实验室)。该软件主要面向科学计算、可视化和交互式编程的高科技计算环境。它在一个易于使用的窗口环境中集成了数值分析、矩阵计算、科学数据可视化、非线性动态系统建模与仿真等众多强大功能,为科学研究、工程设计以及许多必须开展的科学领域提供了基础。有效的数值计算。该领域提供了全面的解决方案,很大程度上脱离了传统非交互式编程语言(如C、Fortran)的编辑模式。
MATLAB与Mathematica、Maple并称为三大数学软件。它在数值计算方面在数学技术应用软件中首屈一指。 MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,其指令表达式与常用的形式非常相似。数学和工程学。因此,使用MATLAB解决问题比使用C、FORTRAN等语言完成同样的事情要简单得多,而且MATLAB还吸收了Maple等软件的优点,使MATLAB成为一个功能强大的数学软件。新版本还增加了对C、FORTRAN、C++ 和JAVA 的支持。
CUDA
CUDA(Compute Unified Device Architecture)是显卡厂商NVIDIA推出的计算平台。 CUDA是NVIDIA推出的通用并行计算架构,使GPU能够解决复杂的计算问题。它包括CUDA指令集架构(ISA)和GPU内部的并行计算引擎。开发人员可以使用C语言为CUDA架构编写程序,C语言是使用最广泛的高级编程语言。编写的程序可以在支持CUDA 的处理器上以超高性能运行。 CUDA3.0已经开始支持C++和FORTRAN。
西阿诺
Theano 是一个快速的Python 数值库,可以在CPU 或GPU 上运行。它是由加拿大蒙特利尔大学的LISA 小组(现在的MILA)创建的。 Theano 是一个增强的编译器,用于控制和评估数学表达式,尤其是矩阵值表达式。
简单CV
SimpleCV 是一个用于构建计算机视觉应用程序的系统。它允许您使用各种计算机视觉工具,例如OpenCV、pygame 等。如果您不想深入研究图像处理而只想完成工作,则可以使用此工具。如果您需要快速制作原型,SimpleCV 将最适合您。
喀拉斯
Keras 是一个用于深度学习的Python 库,它结合了Tensorflow、Theano 和CNTK 等不同库的元素。 Keras 运行在Tensorflow 之上,在Scikit-learn 和PyTorch 等竞争对手中处于有利地位。
Keras 可以在TensorFlow、Microsoft Cognitive Toolkit、Theano 或PlaidML 上运行。它专为深度神经网络的快速实验而设计,围绕便利性、可衡量的质量和可扩展性而构建。 Keras 遵循减少认知负载的最佳实践:它提供稳定且基本的API,并限制常见用例所需的用户操作数量。
GPU图像
它基于OpenGL ES 2.0 框架,允许将GPU 加速的效果和通道应用于实时运动视频、图片和电影。在GPU 上运行自定义通道需要大量代码来设置和维护。
优洛
YOLO是专门为实时处理而设计的目标检测系统。 YOLO 是一种先进的实时目标检测系统,由华盛顿大学的Joseph Redmon 和Alifarhadi 创建。他们的算法将神经网络应用于整个图像,将图像分割成网格并标记检测到的项目的区域。
布夫简历
BoofCv 是一个用于实时机器人和计算机视觉应用程序的开源Java 库,根据Apache 2.0 许可证获得学术和商业用途的许可。
涵盖低级图像处理,包括低级图像识别和图像处理。
审稿人:李茜