计算机视觉

计算机视觉是什么?

3你需要知道的事情

计算机视觉是一组技术从图像中提取信息,视频,或者点云。计算机视觉包括图像识别、目标检测、活动识别、三维姿势估计,视频跟踪,和运动估计。现实世界的应用包括面部识别登录到智能手机,避免行人和车辆在无人驾驶车辆肿瘤检测在医学核磁共振成像。软件工具等MATLAB®金宝app®使用计算机视觉技术发展。

它是如何工作的

大多数计算机视觉技术是使用一组广泛的实际开发数据和工作流的数据探索,模型训练和算法开发。计算机视觉工程师经常修改现有的技术来满足特定感兴趣的问题。方法在计算机视觉系统中使用的主要类型如下所述。

基于深度学习技术

深度学习计算机视觉方法是有用的对象检测、物体识别、图像去模糊和场景分割。深度学习方法涉及培训复杂的神经网络直接从数据(cnn),学习使用模式在不同的尺度上。CNN训练需要大量的标签训练图像或点云。转移学习使用pretrained网络加速这个过程和更少的训练数据。

使用计算机视觉语义分割的街道在MATLAB工具箱。

使用计算机视觉语义分割的街道在MATLAB工具箱。

基于功能的技术

特征检测和提取技术计算机视觉算法识别模式或结构图像和点云图像对齐,视频稳定,对象检测等等。在图像、有用的功能类型包括边缘,角落,或均匀密度的地区,您可以识别这些特性探测器如轻快,冲浪,或者ORB。在点云,您可以使用eigenvalue-based特征提取器或快速点特征直方图(FPFH)抽取器。

使用特征匹配图像从一个移动飞船比作一个参考图像。

使用特征匹配比较一个图像从一个移动的飞船(右图)参考图像(左图)。(图片由美国宇航局)

图像处理

图像处理技术往往是作为一个应用预处理计算机视觉的工作流。预处理的类型取决于任务。相关图像处理技术包括:

红锥检测在MATLAB中使用rgb2hsv颜色转换。

红锥检测使用rgb2hsv颜色转换在MATLAB。

点云处理

点云是一组数据点在3 d空间代表一个3 d形状或对象。点云处理通常是预处理中的数据准备计算机视觉算法,对它们进行分析。点云处理一般包括:

三维点云注册和缝合在MATLAB中使用迭代最近点(ICP)。

三维点云注册和缝合在MATLAB中使用迭代最近点(ICP)。

3 d视觉处理

3 d视觉处理技术估计一个场景的三维结构使用多个校准相机拍摄的图像。这些图像通常来自一双单眼相机或立体相机。3 d视觉处理技术包括:

物体三维重建在MATLAB中使用结构与运动(SfM)。

物体三维重建在MATLAB中使用结构与运动(SfM)。

为什么它很重要

计算机视觉是至关重要的在一个广泛的实际应用。一些最常见的这些都是下面讨论。

自治系统

空中或地面自治系统使用各种传感器,收集视觉和点云数据从他们的环境。这些数据与计算机视觉系统使用功能,如同步定位和映射(大满贯)和跟踪,地图环境。自治系统可以使用这些映射到段道路,人行道,或建筑和人类和车辆检测和跟踪。例如,宝马使用计算机视觉功能的辅助驾驶视图(副词)描述周围的车辆和识别其类型。

宝马的辅助驾驶金宝app的MATLAB支持端到端测试使用真实的数据视图。

宝马的辅助驾驶金宝app的MATLAB支持端到端测试使用真实的数据视图。

工业应用

计算机视觉是质量监控等在生产应用程序中使用部分和基础设施维护。例如,壳牌使用训练区域卷积神经网络(R-CNNs)来识别标签机械。TimkenSteel也使用相同的质量控制的功能,识别劣质或有缺陷的零件生产过程。

标签识别MATLAB OCR和深度学习。

标签识别MATLAB OCR和深度学习。

建设和农业

计算机视觉是用于建筑和农业从基础设施在空中捕捉或地形数据中提取信息。计算机视觉功能等光谱特征映射,对象检测和分割应用于分析图像,点云,或从航空高光谱数据平台。Yachiyo工程在日本使用这些功能来检测损伤与语义分割水坝和桥梁。农民还分析作物健康使用无人机获取高光谱图像的农场。

使用在MATLAB SegNet检测大坝表面损伤。

使用在MATLAB SegNet检测大坝表面损伤。

摄影

利用计算机视觉相机和智能手机已经在过去的十年里。这些设备使用人脸检测和跟踪专注于脸和拼接算法创建全景照片。这些设备还集成了光学字符识别(OCR)条形码或二维码扫描仪访问存储的信息。

创建一个全景图像和基于功能的图像配准技术在MATLAB。

创建一个全景图像和基于功能的图像配准技术在MATLAB。

计算机视觉与MATLAB

图像处理工具箱™,计算机视觉工具箱™,激光雷达在MATLAB工具箱™提供应用程序,算法和训练网络,您可以使用它们来构建您的计算机视觉功能。你可以导入图像或点云数据,预处理,使用内置的算法和深度学习网络分析数据。工具箱提供例子开始。

使用MATLAB缺陷检测

您可以使用计算机视觉的工具箱发现异常和缺陷等对象的机器零件,电子电路,或其他人。你可以增加检测正确的特性的机会从图像预处理算法的图像处理工具箱,使用功能等校正对齐,分段的颜色,调整图像的强度

缺陷检测步骤通常是通过使用深度学习。提供深度学习的训练数据,您可以使用MATLAB图像、视频或激光雷达贴标签机应用帮助你标签数据通过创建语义分割或实例分割面具。然后您可以深入学习网络训练,从头开始或通过使用转移学习。然后,您可以使用经过训练的网络或几个之一pretrained网络基于异常或缺陷分类的对象。

好与坏螺母检测在MATLAB中使用深度学习网络训练。

好与坏螺母检测在MATLAB中使用深度学习网络训练。

使用MATLAB对象检测和跟踪

目标检测和跟踪是一个著名的计算机视觉检测等应用程序的使用车辆,阅读条形码,检测场景中的对象。您可以使用深层网络设计师在MATLAB建立深度学习网络等应用程序检测汽车使用YOLO v3意思。你标记的训练数据加载,预处理的数据,定义和火车YOLO v3意思网络,并评估其精度错过率对地面实况数据。然后,您可以使用网络来检测汽车和显示边框周围。

检测汽车使用YOLO v3意思生成使用MATLAB中的深层网络设计师。

检测汽车使用YOLO v3意思生成使用MATLAB中的深层网络设计师。

使用计算机视觉,在自治系统仿真模型金宝app

您可以使用对象检测和跟踪的结果从计算机视觉、机器人或自治系统做出决策。的自动紧急制动(AEB)与传感器融合示例演示了易于构建仿真软件模型,集成计算机视觉功能。金宝app模型使用两部分:计算机视觉和传感器融合模型检测障碍物的车,和一个向前碰撞警告(结合)系统警告司机并自动制动。这显示了如何使用金宝app将计算机视觉算法集成到一个更广泛的系统仿真。

使用仿真软件检测对象前面的车辆。金宝app

使用仿真软件检测对象前面的车辆。金宝app

本地化与计算机视觉映射工具

您可以使用计算机视觉在MATLAB来估计相机位置和地图环境使用视觉同步定位和映射(vSLAM)创建三维模型的对象使用结构与运动(SfM),并估计深度

你可以估计的位置立体相机对虽然映射MATLAB等环境中使用内置功能imageDatastorebagOfFeatures。你初始化地图识别匹配特性之间的一对图像,然后估计摄像机的位置地图上的位置和功能,使用束调整完善相机的位置和姿态在整个场景。

匹配特性之间的一对立体相机在计算机视觉中使用ORB-SLAM2工具箱。

匹配特性之间的一对立体相机在计算机视觉中使用ORB-SLAM2工具箱。

对象计数

您还可以使用计算机视觉计算对象在一个图像或视频。在细胞计数的例子,你申请形态学运算符部分细胞,发现细胞中心使用blob分析,计算中心发现的数量。然后重复这个过程中的每一帧视频。

细胞计数在MATLAB使用形态学操作符和blob分析。

细胞计数在MATLAB使用形态学操作符和blob分析。

应用MATLAB,如图像裂殖体颜色阈值的应用,提供一个交互式用户界面部分对象在一个图像。图像分析仪的应用帮助在图像物体计数和计算它们的属性,如面积、质心,和其他人。