简化计算机视觉
从系列:基于MATLAB的计算机视觉
学习MATLAB如何使计算机视觉容易开始。
计算机视觉使用图像和视频来检测、分类和跟踪物体或事件,以理解真实世界的场景。在这个介绍性的网络研讨会上,您将学习如何使用MATLAB开发计算机视觉算法来解决现实世界的成像问题。
我们将通过真实的例子演示MATLAB如何使其容易:
- 在杂乱的场景中检测物体
- 测量图像中物体的真实大小
本次网络研讨会假设您有一定的MATLAB经验,但没有计算机视觉经验。我们将关注计算机视觉工具箱。
有关MATLAB计算机视觉的更多细节,请参考以下链接:
- 了解更多原因MATLAB用于图像处理和计算机视觉
- 下载免费试用许可证《计算机视觉工具箱》!
- 了解有关产品功能的更多信息帮助文档
- 报名参加培训课程用MATLAB学习计算机视觉
- 了解更多关于利用MATLAB进行深度学习
记录:2020年11月18日
欢迎参加计算机视觉简易网络研讨会。我叫桑迪普,在MathWorks的产品营销团队工作。计算机视觉被我们的客户广泛用于解决不同应用领域的各种各样的视觉问题。例如,在自动驾驶中设计车道偏离预警系统。在机器人方面,帮助计划火星漫游者。
这是一个基于计算机视觉的交通监控系统的简单例子,就像你开车经过红绿灯时可能注意到的那样。在这里,一个基于摄像头的监控系统在任何给定的时间点跟踪场景中的汽车数量。在该系统中,主要使用计算机视觉来检测和计数每帧来自相机的光视频中的汽车。在视频中检测像汽车这样的物体是一项常见的计算机视觉任务,但类似的物体还有很多。
那么这些常见的任务或问题是什么呢?如果你是计算机视觉的新手,你可能会对我如何检测场景中的物体感兴趣。或者如何测量物体,或者图像中的区域。或者我如何用深度学习来检测物体,或者对事件进行分类。所以在这个视频中,我们的目标是帮助你开始解决这些常见的计算机视觉任务或问题。你会通过一些真实的例子用MATLAB来做到这一点。
这些是我们接下来30分钟左右会讲到的例子。我们从第一个例子开始。在这个例子中,我在左边有一张杂乱的扑克牌图片。右边是一张特定纸牌的图像。我的目标是在一堆纸牌的图像中检测或定位特定的纸牌。这似乎是一项简单的任务。然而,要解决这个问题还面临许多挑战。感兴趣的对象可能看起来比模板图像更小,也可能比模板图像更大。可以旋转,也可以倾斜。或者它们可能部分隐藏在其他物体后面。 These are some common challenges that you will notice in most object detection problems.
在这里,您不能使用像模板匹配这样的标准图像处理算法来查找该对象。您需要稍微复杂一些的健壮方法。为了解决这个问题,我选择了一个非常基本的计算机视觉工作流程,叫做特征检测提取和匹配。所以在我们开始理解这个工作流之前,让我们先来理解什么是特性。简单地说,特征是图像中的一个独特区域,它与另一个图像的唯一匹配。而且在许多图像中都是可重复的。图像特征的一些很好的例子是角,边,斑点,或者一个对象的模板,或者场景本身的区域。
那么这个工作流是什么样子的呢?基于特征的对象检测工作流程主要包括三个步骤。首先,检测对象模板图像中的有趣特征。这是用绿色标记表示的。对另一张图片也做同样的处理。其次,在检测到的特征周围取一个区域,并将有关该区域的一些信息编码到所谓的特征描述符中。这被称为特征提取,它由标记周围的绿色圆圈表示。对两个图像都这样做。
第三步,在提取的两幅图像的特征之间寻找对应的匹配。然后去掉所有的异常值。一旦你有了一组匹配的特征,你就可以估计物体在场景中的位置。现在,让我们用MATLAB,看看如何解决这个问题。
这是我的MATLAB环境。现在,我要做的第一件事是阅读我们正在处理的两张图像。一是我们要找的红心k牌的参考图像。第二个是包含这张卡片的杂乱的卡片图像。我将使用I am read从图像定价工具箱中读取这两张图像。然后使用我确定对显示他们的旁边彼此。
这是我的图片。正如您所看到的,红心k卡和图像卡的方向和比例与参考图像并不完全相同。也可能不在同一个参考平面上。因此,像模板匹配这样的简单的图像定价技术在这种情况下是行不通的。我们需要一种更稳健的方法,即在这些图像中寻找特征,并将它们进行比较以找到匹配。所以在下一节中,我将使用一种叫做surf的算法来检测这些图像中的特征。
surf专门处理2D灰度图像。所以我必须使用RGB来创建初始化,将彩色图像转换为灰度。然后,我使用了检测冲浪功能从计算机视觉工具箱,和参考图像。这应该输出图像的检测特征点。接下来,我想为这个图像可视化检测到的特征点。所以在这里,我选择只绘制最强的50个点。
这里是参考图像,以及整个图像中最强的50个特征点它们的位置用叉表示。这些位置点周围的圆圈表示特征的规模,它们一起应该是特征描述符的重要组成部分。这些特征描述符代表了描述和区分图像中其他特征的独特的、有趣的信息。
现在,surf算法通过检测图像中的斑点来定义这些特征。Blobs就是高对比度像素图像中连接的区域。在我们的例子中,blob就是牌中的红桃套。或者国王的眼睛是字符K区域的几个小眼睛。现在,像冲浪一样,通过计算机视觉工具箱有许多其他的检测算法可用。例如,我们有fast,它非常擅长检测图像中的角落。因此,参考帮助文档来了解更多关于所有这些不同的特征检测算法的信息。
现在,让我们回到我们的脚本,看看接下来会发生什么。接下来,我要检测卡片图像上的冲浪特征。确保对两张图像使用相同的检测算法,这样我们就可以进行苹果和苹果的比较,并匹配这些特征。让我们运行这部分。看这一次,图像上有300个最强的点。这里,你可以看到我们在红心k牌区域有特征点,但在图像中其他牌也有。
现在,一旦我们检测到图像的特征点,接下来,我们将提取特征描述符,也就是这些点周围的区域映射。为此,我使用了计算机视觉工具箱中的提取特征功能。我通过灰度图像和之前检测到的点。这将给我们特征向量,以及每个图像的对应位置。现在,这里使用的提取方法,取决于所用的检测算法,在我们的例子中是surf。我现在有两个图像的特征描述符。
接下来,我需要比较它们以找到匹配。为了做到这一点,我将使用计算机视觉工具箱上的匹配特征,它返回两个输入特征集中匹配特征的索引。然后,我可以获得两个图像对应的匹配特征点,并使用show match features查看匹配点。让我们运行这部分,并查看两个图像之间的匹配点。
正如你在这里看到的,匹配特征在这两张图片中找到了大量的匹配。这些匹配都在红心k的区域内除了黑桃j牌上的这两点。现在,注意到一些特征是如何匹配的比如在卡片字符区域键中,与卡片图像中的字符相匹配。还有反向的K。原因是surf算法是旋转不变的,这意味着它将检测匹配和特征,而不考虑它们的方向。而且,不管它们的规模。这就是为什么基于特征的检测器比简单的模板匹配技术健壮得多。
既然我们已经找到了两张卡之间的匹配,我们还没有完成检测问题。我需要通过消除异常值来改进匹配,包括重复的匹配,如字符K的反向匹配,这样我就可以在纸牌图像中找到红心K牌所在的确切区域。为此,我将使用计算机视觉工具箱中的估计几何变换函数来计算变换矩阵,它将决定参考图像必须如何进行几何和空间变换,以便它最适合卡牌图像中的红心k牌的边界区域。
这个函数还返回两个图像的内点,这些内点是通过消除所有的异常值获得的,就像我们在黑桃j牌中看到的那样,使用一个称为RANSAC的算法。随机样本一致性(RANSAC)是一种数学模型,它通过随机抽样观察点,寻找最佳拟合结果,使用迭代方法估计内liers。在我们的例子中,这是一个几何变换,将有助于将参考卡片图像贴合到杂乱卡片的图像。你可以通过参考几何变换函数估计的帮助信息来了解更多关于这个算法的信息。
现在,让我们继续,再次运行该部分查看匹配的特性。但这一次,有了异常值的遥控。那就这样吧。那些异常值和黑桃j都被移除了。同时,注意我们之前看到的其他一些模糊匹配也被消除了。最后,使用我们之前得到的变换矩阵,我们可以继续,变换参考卡片图像的矩形尺寸,并称之为新的盒子多边形。
然后,使用它来输入卡片的图像,以指示在杂乱的卡片图像中检测到的卡片的确切位置。这是最终结果。到目前为止,我们所看到的是如何使用参考图像在图像中检测卡片。现在,如果我们想检测类型,或者识别这张牌呢?也就是说,这是一张红心k牌。现在,我们可以再次使用特征匹配的方法来做到这一点。但让我们看看更复杂的方法我们将使用训练过的检测算法来执行检测。
使用训练有素的检测器,而不是使用模板来寻找和匹配特征,我们将使用类似冲浪的技术从大量的图像中收集特征集,比如字符k,然后,使用机器学习模型,如支持向量机,我们将设计一个检测器,可以检测其他图像中的字符。由于训练有素的检测器已经通过数百到数千个模板图像的特征进行了训练,所以它是一种更健壮的方法,就像在不同的光照条件下检测物体,或试图通过物体的类别找到物体一样。这就是说,就像在图像中检测一辆汽车,不管它的型号或制造商。
所以在我们的例子中,让我们继续使用火车检测器来通过被检测卡片中的字体来检测卡片字符。比如说,红心K牌中的字母K。就像你们知道的,我将用光学字符识别,或OCR算法来做这个。让我们继续,看看如何在MATLAB中使用这个算法。首先,我们将使用fitgeotrans转换卡片的图像以匹配参考图像。这样一来,图像就可以在空间上进行调整以匹配参考图像的尺寸。通过这样做,我们可以很容易地从卡片中提取字符和套件信息,因为我们知道在任何卡片的左上角区域都总是可用的。
让我们继续,使用imwarp函数去扭曲卡片图像,并查看输出。这是红心k牌区域,这张牌的图像已经被变换了。接下来,我需要在包含字符和花色的卡片中提取区域,并使用提取的区域分别检测它们。为了提取这些区域,我有一个帮助函数getCardROIs,它为我执行提取,并返回包含字符和花色的区域。我使用蒙太奇命令来显示两个提取的区域。让我们运行这部分,并查看输出。
下面是提取的区域作为两个独立的子图像。接下来,我需要识别第一个子图像中的字符。为此,我可以使用光学字符识别,或OCR算法。OCR是一种用于检测和识别图像中的文本的技术。这可以是打印的,也可以是手写的。在MATLAB中,我们有一个预训练的OCR函数,在计算机视觉工具箱中可用。默认情况下,它可以检测多种字体,但也可以训练它检测自定义字体。所以在我的脚本中,我使用OCR函数来检测子图像中的字符。
这里是OCR返回的输出。正如你所看到的,它已经成功地检测到卡片字符为k。接下来,我需要在第二个子图像中找到花色类型。为此,我采用了一种更简单的模板匹配方法。我只是将这个子图像与我拥有的四种不同花色的一组模板图像进行比较。我在使用幻象。TemplateMatcher系统对象从计算机视觉工具箱执行模板匹配。如果您希望了解更多关于系统对象的信息,请访问并查找vision。在帮助文档中的TemplateMatcher。
我在for循环中对所有模板图像进行匹配。这里,在for循环中,我每次读取一个模板图像,调整子图像的大小以匹配模板图像,然后执行模板匹配。在本例中,system对象返回一个匹配度量值,其中最大的度量值对应于最佳匹配。让我们运行这一段,看看子图像的结果是怎样的。如您所见,我们已经成功地检测到与这些心形匹配的模板的输出。
这里需要注意的一点是,模板匹配是一种非常基本的检测技术,在这种特殊情况下非常有效。但如果西装没有对齐,比例不相等,或对比度不一致,这将会惨败。因此,对于更复杂的检测问题,可以考虑使用更健壮的方法,比如我们前面看到的基于特征的检测。最后,我们可以用检测到的卡片字符来注释卡片图像,和花色名字,那就是红心k。
像OCR一样,在MATLAB中通过计算机视觉工具箱有许多其他的对象检测器,可以用来检测一些常见的对象,如条形码、人、脸、视频中的前景对象和博客。其中一些探测器还可以用您自己的数据进行训练,以检测其他感兴趣的对象。例如,在道路场景中检测行人。
MATLAB,通过计算机视觉工具箱,也为您提供了一套随时可以使用的基于几个流行的深度学习网络的物体检测器。在MATLAB中还可以输入,并使用预训练的深度学习网络来解决目标检测问题。例如,在这个视频中,我们展示的是一个预先训练过的网络,叫做AlexNet,它被训练来检测大约1000个不同的对象类。MATLAB允许您用一行代码导入这个常用的网络,并在您的计算机视觉应用程序中使用它。
有许多深度学习模型,如AlexNet,在研究和商业领域中广泛使用,您可以快速导入到MATLAB中,并开始在您的解决方案中使用它们。现在,请注意,您可以在MATLAB中使用新数据重新训练这些网络,以检测其他感兴趣的对象。下面是一些常用的深度学习检测器。同时,注意这些在MATLAB中都是现成的函数。我想强调的另一件事是,MATLAB,除了使深度学习更容易应用到计算机视觉问题中使用预先训练的网络,它还提供了交互式的应用程序,如标签应用程序,和深度网络设计程序,使整个免费训练的工作流程这些网络从无到有设计新网络是一个非常方便的,具有开发性的过程。
现在,让我们来看第二个例子,它是测量图像中物体的大小。在这个例子中,我有一个混合了不同种类的图像和一些其他对象。我想做的是将图像中的种类分离出来,然后确定所有种类的总价值。例如,如果我有两个25美分的硬币和一个5美分的硬币,总价值是0.55美元。有一种方法,就是根据图片的大小来确定不同的种类。然后,如果我知道每种硬币的真实直径,比如说,1 / 4是24.26毫米,我就可以利用这两个信息,找出每种硬币在图像中有多少种。
之后,计算图像中硬币的总价值是一个简单的数学。现在,为了比较图像中基于像素的尺寸和物体的实际尺寸或尺寸,我们需要用真实世界的单位计算像素的大小。这个因子将帮助我们找到图像中任何物体或区域的真实大小。现在,在真实世界的单位中精确测量像素大小有一些挑战。一个主要的挑战是由于相机特性造成的失真可能会影响有效的测量。
为了解决这种畸变相关的挑战,我将使用相机校准工作流。标定使我们能够估计镜头和相机的性能参数。那么这些相机属性是什么呢?有一些固有的特性,比如焦距,光学中心,镜头畸变,系数。还有一些外部参数,比如相机相对于物体的位置和方向。使用估计的参数,我们可以纠正从该镜头拍摄的图像可能存在的任何扭曲。
摄像机标定是一种非常常用的技术,在计算机视觉中有许多应用。例如,作为纠正图像以消除镜头失真问题的预处理步骤,或试图通过将同一镜头拍摄的多个图像拼接在一起来构建全景视图时。或者,当从镜头估计一个物体的深度或接近度时,特别是当使用工作室基于视觉的相机时。在我们的例子中,我们将主要关注使用校准来消除图像中的失真,以帮助准确测量像素大小和真实世界的单位。
现在,让我们用MATLAB,看看如何解决这个问题。这是我们要处理的图像。如你所见,这个图像实际上有一些种类,在图像的底部有一些其他的对象。在图像的顶部,我们有一个棋盘图案。所以棋盘格模式对两件事非常重要。第一,要能够进行摄像机标定。第二,是变换图像的方向,以及图像中可能存在的其他扭曲和倾斜。
让我们开始第一步,摄像机标定。为了进行相机校准,我将使用相机校准应用程序它可以通过计算机视觉工具箱获得。要得到它,我要到Apps选项卡。在这里,在图像处理和计算机视觉部分,我可以访问相机校准器应用程序。让我们打开它。
相机校准器app中的第一步,是带来我们将用于校准步骤本身的图像。为此,我点击添加图像。在这里,我可以选择用于校准步骤的图像。在本例中,我使用了7张图像。但通常情况下,在钻井情况下,建议使用10到20张图像。同时在这里,它会要求你在校准过程中使用的方格棋盘的大小。我知道棋盘图案中的每个方格大约是20毫米。
提供这个,然后应用程序继续运行,开始查看图像,然后开始检测支票簿。然后给出了检测结果。这里,你可以看到它在六张和七张图片中都检测到了棋盘格。它说它会拒绝其中一个图像。我们点击OK。现在,它已经向我展示了六张它将用于校准过程的图像。
这是结果。您可以看到,它已经在每一张图像的棋盘模式中检测到了点。现在,我想做的下一件事是能够看一些在相机校准器应用中可用的选项。这里的第一件事,是相机模型。我可以选择标准镜头,或者鱼眼镜头,或者广角镜头。我用的是标准镜头。我将保持这个为默认选择。
此外,我还有一些选项可以帮助我改进参数估计。为此,我可以选择径向畸变系数。径向畸变通常是你看到的沿透镜的边缘,也就是沿光学中心。你会想要纠正这些畸变特别是广角镜头。如果您愿意,还可以计算、倾斜和切向扭曲。现在,我将保持这些选项为默认值。接下来,我要按下校准键。现在可以开始了,开始校准过程,并给我一些结果。
首先我要讲的是投影误差。如你所见,复制误差通常是校准误差。我们要确保误差值保持在低水平。这样做的方法是去除所有的异常值。在这种情况下,棋盘图的第二张图像显然略高于总体平均误差。我要删除这个,然后用剩下的五张图像重新校准。现在,你可以看到我已经删除了那张图片,我有了一个更好的整体平均误差,大约是0.57像素。之前,它大约是0.63像素。这并没有太大的不同,但这是试图改善校准结果的过程。
在这之后,我可以继续,并导出相机标定参数到MATLAB工作空间。我要保存这个的变量叫做camera parameters。现在,就像你知道的,如果你手动做这个相机校准过程,它会变得非常复杂和丑陋。相机校准器应用程序真的有助于使这整个工作流程非常方便,容易成为校准过程中的专家。它可以让你自动检测棋盘格点,它可以让你使用不同的相机型号,标准镜头,或直角镜头。它还会自动为你校准图像,然后让这些结果在MATLAB环境中可用,用于进一步的分析。
好的。现在我们已经完成了相机的校准过程,我已经将相机参数保存为一个mat文件,我们可以继续,看看如何使用相机参数来恢复硬币的图像失真。然后,用这个未失真的图像来测量硬币的大小。我的最终目标是根据硬币的大小来识别它们,并找出图像中所有硬币的总价值。现在,让我们看看这幅图。
这是图像。如您所见,它包含硬币,以及图像下半部分的其他一些物体。还有上半部分的棋盘图案。棋盘格模式在解决这个问题时非常重要。我们稍后会详细讲。这个图像需要校正,或使用我们从相机校准过程中获得的相机参数不失真。这样,在进一步处理之前,图像是自由的任何扭曲。为此,我将首先加载相机对图像,然后使用计算机视觉工具箱中的undistortion image函数来校正图像。因此,让我们运行该部分,并查看输出。
在我们的例子中,未失真的图像看起来并没有太大的不同。但如果我们有一张用广角镜头拍摄的照片,那么你会注意到未经扭曲后的显著差异。接下来,在我开始检测硬币并测量它们之前,我必须确保图像中的所有像素与现实世界的单位因子具有相同的像素,这是在整个图像中进行精确测量的重要一步。为此,我们必须使用参考棋盘格模式转换原始图像,因为我们知道它是真实世界的尺寸。这种转换将确保像素到真实世界的测量在整个图像中是一致的。
现在,让我们看看这个变换是如何进行的。我将首先使用计算机视觉工具箱中可用的检测棋盘格点功能来确定棋盘格模式点。让我们在图像中显示这些点。接下来,使用我所知道的关于棋盘图案的信息,比如沿着行和沿着列有多少个正方形,我可以确定检测棋盘区域的角点。然后,我们将在一个新平面上找到角的近似位置,这将删除任何可能存在的透视投影,因为相机的角度包含棋盘格图案和硬币。
这些新类型的点在一个名为basePts的变量中可用。让我们运行这一段,看看基点相对于角点的变化。现在,用基点作为参考,我们将找到变换矩阵我们需要把图像投射到由基点表示的平面上。我们使用图像压缩工具箱中的fitgeotrans函数来做这个。这将返回一个变换矩阵,我可以使用imwarp函数来对图像进行解曲。让我们运行该部分,并查看输出。
这是一个变换后的图像。这张图像现在可以进行精确测量了。现在我有了一个包含硬币的转换图像,接下来我需要做的是检测图像中的硬币,它们只是圆形物体。在这一部分,我首先用imbinalize函数将转换后的图像转换成二值。这里有一个滑块来调整阈值。通过这种方式,我可以从二进制输出中得到想要的结果。然后,我使用imfindcircles来查找来自图像处理工具箱的圆圈,以查找图像中的硬币。
如您所见,这里有一些参数。我在这里又有一个滑块来调整灵敏度参数,以便它只选取图像中代表硬币的最强的圆。通过参考imfindcircles函数的帮助信息,您可以了解更多关于imfindcircles函数的其他参数的信息。一旦我检测了圆,并且知道了圆心的像素坐标和半径,我将使用viscircles在硬币图像上显示这些圆形区域。让我们运行这一部分,看看结果。
如你所见,硬币被检测为圆形。它错过了一枚硬币。我可以回到寻找圆,通过调整这里的滑块来增加灵敏度以确保我检测到了所有的硬币。这里需要注意的一点是,对于这种检测问题,imfindcircles并不是一个非常健壮的技术。我们在这里假设硬币是图像中唯一的圆形物体。此外,在等待光线条件下,圆的探测可能并不总是很好。在这种情况下,我们将不得不使用更健壮的方法,如使用火车检测器,就像我们在卡片检测示例中讨论的那样,来检测图像中的硬币。
现在我们已经检测出了图像中的硬币区域,我知道了硬币的大小,以及像素值,接下来,我将用现实世界中的单位计算硬币的大小。为了做到这一点,我首先需要知道像素与现实世界的单位因子是多少,然后我可以用它来计算现实世界的大小,单位是毫米,也就是硬币的半径。为了做到这一点,我将再次使用,棋盘格模式作为参考。我将像以前一样检测棋盘上的点,然后计算图案中正方形的大小(以像素为单位)。我知道棋盘图案的正方形的大小是20毫米。用这个,我可以计算出这个图像的像素到毫米的因子。因此,让我们运行该部分,并查看输出。
这是用棋盘画的像素到毫米的系数。现在用这个像素到毫米的系数来计算硬币的大小和像素,我可以用毫米来计算硬币的大小。就像已知棋盘正方形的大小一样,我们也知道图像中硬币类型的真实半径。在我们的例子中,这些是分,五分和25美分。
所以在下一个部分,我找到了三种硬币的像素大小使用真实的大小值,以及我们之前计算的像素到毫米的系数。有了这个作为参考,我就可以把它们和我们之前从图像中得到的圆的像素值进行比较。然后我可以把每个圆弯曲成一分,五分或两角五分。
这里,我首先对圆的半径进行排序。然后利用MATLAB函数直方图,以硬币像素大小为参考,对圆进行弯曲。让我们运行这一节,看看这些圆作为这三种硬币类型的分布。从图中你可以看到,我们有两个圆被归类为分,三个被归类为五分,四个被归类为25分。我再次使用这个直方图函数来获得这次的计数,并显示计数。一旦我有了图像中每种硬币类型的计数,我就可以很容易地计算出图像中硬币的总价值。这是1.17美元这是图像中硬币的实际价值。通过这种方式,我们已经验证了我们的硬币测量,和装箱在这张照片上工作得很好。
最后,我们可以在硬币的图像上显示我们的最终结果。注意,我在这里再次使用了viscircle,用彩色圆圈来表示图像中不同的硬币类型。现在,如果我们必须测量一个物体的大小,比如叶子,它没有一个非常明确的形状,并且没有简单的方法来自动检测图像中的这样的物体呢?在本例中,一旦我们知道了包含叶的图像的像素到MM因子,我们就可以使用imdistline,它允许您交互式地测量叶区域中两个像素之间的距离。然后,你可以用它来计算真实世界的距离用像素到MM的系数。
所以在这里,我把像素等级替换成计算机距离,单位是毫米。所以在某种意义上,我们已经看到,如果我们在任何图像中有一个像棋盘格图案的参考,我们可以计算像素与现实世界的单位因子,并用它来测量图像中任何物体或区域的真实大小。我们在MATLAB中看到的,是相机校准器应用程序,它支持标准和广角镜头。计算机视觉工具箱提供了一个单独的串行相机校准器应用程序,以帮助校准从工作室相机对拍摄的图像,通常在任务如深度估计有用。
这就引出了最后一张总结幻灯片。我们已经看到如何开始使用MATLAB可以使计算机视觉新手容易。我们已经通过一些例子看到了——MATLAB使其特别容易,使用现成的功能和基于深度学习的检测器来检测对象,甚至用您自己的数据定制它们,使用交互式校准应用程序和对象分析工作流来进行真实世界的测量和图像。在预先训练的网络和文档中的详细示例的帮助下,快速提升深度学习。
综上所述,如果你想从这里开始,下面是一些下一步的步骤。转到计算机视觉工具箱产品页面,了解更多关于计算机视觉、其应用程序和工具箱附带的其他特性和功能的信息。如果您想获得更深入的经验,学习如何使用计算机视觉工具箱,请报名参加讲师领导的培训课程。这也是一门在线课程。正如前面提到的,还有一个关于深度学习的。如果您已经准备好探索该产品,并开始解决您的问题,那么今天就获得该产品的试用许可证。
正如我们所看到的,在计算机视觉工具箱中有一些基于深度学习的物体检测器。但你也可以用深度学习做更多的事情。转到深度学习工具箱页面,了解有关该产品及其广泛功能的更多信息。你们中的一些人可能还对在硬件平台上运行计算机视觉算法感兴趣,比如基于arm的树莓派,或者基于gpu的NVIDIA Jetson板。转到嵌入式视觉与MATLAB解决方案页面,了解更多关于这一点的信息,以及MATLAB中的其他硬件实现相关功能。非常感谢大家的关注。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。