OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

OCR 的图像处理和边界框

技术在不断发展,我们也在不断发展。 随着人工智能和机器学习的出现,重点已经转向自动化。 话虽如此,引入了各种计算机科学学科来研究和探索这些新兴趋势的应用。

这样的例子之一是 图像处理. 用简单的语言来说,它是指探索图像以绘制有意义的信息。 虽然有几种技术可以实现这一目标,但最常用的是—— 边框.

该博客深入研究了边界框的各个方面。 它包括它们是什么、它们在图像处理中的工作方式、定义它们的参数、指定它们的约定、常见用例、预防措施和最佳实践等等。

让我们潜入。

图像处理是指对图像执行某些操作以增强图像或从与其相关的特征或属性中提取一些有价值的见解。 今天,图像处理是工程和计算机技术研究的主要研究领域。

图像处理可以使用两种方法完成——模拟图像处理和数字图像处理。

模拟图像处理涉及使用打印输出和照片的硬拷贝来分析和处理图像。 图像分析师使用各种方法来解释这些图像副本并提取有意义的结果。

数字图像处理使用数字图像并使用计算机对其进行解释。 它是数字信号处理的一个子类别,使用算法来处理数字图像。 它提供了优于模拟图像处理的优势,例如防止处理中的噪声和失真的算法。

数字图像处理在医学、制造、电子商务等领域有多种应用。


图像处理中的边界框

一开始,边界框是一个虚构的矩形框,包含一个对象和一组数据点。 在数字图像处理的上下文中,边界框表示包围图像的 X 轴和 Y 轴上的边界坐标。 它们用于识别目标并作为对象检测的参考并为对象生成碰撞框。

什么是边界框?

边界框是视频注释项目的关键元素和主要图像处理工具之一。 本质上,边界框是一个虚构的矩形,它勾勒出图像中的对象,作为机器学习项目要求的一部分。 假想的矩形框将图像中的对象包围起来。

边界框指定对象的位置、它的类别和置信度,这表明对象实际存在于边界框中的概率程度。

计算机视觉提供了惊人的应用——从自动驾驶汽车到面部识别等等。 而这反过来又可以通过图像处理实现。

那么,图像处理是否像在对象周围绘制矩形或图案一样简单? 不,话虽如此,边界框有什么作用?

让我们了解一下。

边界框在图像处理中如何工作?

如前所述,边界框是一个虚构的矩形,它充当对象检测的参考点并为对象开发一个碰撞框。

那么,它如何帮助数据注释者呢? 好吧,专业人士使用边界框的想法在图像上绘制虚构的矩形。 他们在每个图像中创建相关对象的轮廓并定义其 X 和 Y 坐标。 这使得机器学习算法的工作更简单,帮助他们找到碰撞路径等,从而节省计算资源。

例如,在下图中,每辆车都是关键对象,其位置和位置对于训练机器学习模型至关重要。 数据注释器使用边界框技术在每个对象(在本例中为车辆)周围绘制矩形。

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: 键标

然后,他们使用坐标来了解每个对象的位置和位置,这对于训练机器学习模型很有用。 单个边界框不能提供良好的预测率。 为了增强目标检测,必须结合数据增强方法使用多个边界框。

边界框是高效且强大的图像注释技术,可显着降低成本。

定义边界框的参数

这些参数基于用于指定边界框的约定。 使用的关键参数包括:

  • 类:表示边界框内的对象——例如,汽车、房屋、建筑物等。
  • (X1, Y1):这是指矩形左上角的 X 和 Y 坐标。
  • (X2, Y2):这是指矩形右下角的 X 和 Y 坐标。
  • (Xc, Yc):这是指边界框中心的 X 和 Y 坐标。
  • 宽度:这表示边界框的宽度。
  • 高度:这表示边界框的高度。
  • 置信度:这表示对象在盒子中的可能性。 比如说,置信度是 0.9。 这意味着有 90% 的可能性该对象将实际出现在盒子内。

指定边界框的约定

在指定边界框时,通常需要包含两个主要约定。 这些是:

  • 矩形左上角和右下角点的 X 和 Y 坐标。
  • 边界框中心的 X 和 Y 坐标,以及它的宽度和高度。

让我们以汽车为例来说明这一点。

一个。 关于第一个约定,边界框是根据左上角和右下角点的坐标指定的。

Sumber: 分析维迪亚

湾。 关于第二个约定,边界框是根据中心坐标、宽度和高度来描述的。

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: 分析维迪亚

根据用例,可以在不同的约定类型之间进行转换。

  • Xc = (X1 + X2)/2
  • Yc = (Y1 + Y2)/2
  • 宽度 = (X2 – X1)
  • 高度 = (Y2 – Y1)

用编程代码解释的边界框

让我们用代码片段看另一个关于对象的位置或位置的示例。

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: d2i

我们加载要用于此插图的图像。 图片左边是狗,右边是猫。 图像中有两个物体——一只狗和一只猫。

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: d2i

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: d2i

让我们将 x 和 y 作为边界框左上角和右下角的坐标。 比如说,(x1,y1) 和 (x2,y2)。 同样,让我们​​考虑边界框中心的 (x,y) 轴坐标,以及它的宽度和高度。

接下来,我们定义了两个函数来转换这些形式:box_corner_to_center 将两个角的表示转换为中心高宽表示,box_center_to_corner 反之亦然。

输入参数框需要是形状为 (n,4) 的二维张量,其中 n 是边界框的数量。

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: d2i

接下来,让我们根据坐标数据在图像上定义狗和猫的边界框。

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: d2i

为了验证两个边界框转换函数的正确性,我们可以转换两次。

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: d2i

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: d2i

接下来,我们可以在图像上绘制对象的边界框以检查它们是否准确。 在此之前,我们定义了一个函数 bbox_t_rect,它表示 matplotlib 包相关格式的边界框。

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: d2i

现在,将狗和猫对象的边界框添加到图像后,我们看到这些对象的主要轮廓在两个框内。

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: d2i

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: d2i


想要自动化重复的手动任务? 查看我们基于 Nanonets 工作流程的文档处理软件。 从发票、身份证或自动驾驶仪上的任何文件中提取数据!


边界框的常见用例

自动驾驶汽车的目标定位

边界框在训练自动驾驶或自动驾驶车辆以识别道路上的物体​​(如建筑物、交通信号灯、任何障碍物等)中不可或缺。 它们有助于注释任何障碍物,并使机器人能够安全驾驶车辆并防止事故,即使在拥堵的情况下也是如此。

机器人图像

边界框等图像注释技术被广泛用于标记机器人和无人机的视点。 这些自动驾驶汽车使用从这种注释方法获得的照片帮助对地球上的物体进行分类。

电子商务和零售的图像标记

边界框注释有助于改善产品可视化,这是电子商务和零售业的一大优势。 在类似物品上训练的模型可以在正确标记时更准确地注释时尚服装、配饰、家具、化妆品等对象。 以下是零售中边界框注释解决的一些挑战:

  • 搜索结果不正确

如果搜索是客户偶然发现电子商务网站的唯一方式,那么不正确的目录数据可能会导致搜索结果不准确,从而无法推动客户访问该网站。

  • 无组织的供应链

对于那些希望扩大零售业务以便每年运送数百万件产品的人来说,同步线下和线上数据变得势在必行。

  • 持续数字化

对所有产品进行系统和及时的数字化和标记至关重要,以确保客户不会错过任何新机会。 此外,标签必须与上下文相关,随着零售业务的扩展和更多产品的添加,标签变得越来越困难。

检测汽车损失以进行保险索赔

边界框技术有助于跟踪在事故中损坏的汽车、自行车或其他车辆。 机器学习模型使用这些来自边界框的图像来了解损失的位置和强度。 这有助于预测损失的成本,客户可以根据这些成本在提起诉讼之前提出他们的估计。

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: 超注释

检测室内物品

边界框可帮助计算机检测床、沙发、桌子、橱柜或电器等室内物品。 这让计算机可以了解空间和存在的物体类型,以及它们的尺寸和位置。 这反过来又有助于机器学习模型在现实生活中识别这些项目。

边界框被广泛用于照片中,作为一种深度学习工具来理解和解释各种对象。

农业中的疾病和植物生长鉴定

及早发现植物病害有助于农民防止严重损失。 随着智能农业的出现,挑战在于训练数据来教授机器学习模型来检测植物病害。 边界框是为机器提供必要视觉的主要驱动力。

制造业

工业中的物体检测和识别物品是制造业的一个重要方面。 借助支持人工智能的机器人和计算机,人工干预的作用减少了。 也就是说,边界框通过帮助训练机器学习模型来定位和检测工业组件发挥着至关重要的作用。 此外,作为质量管理一部分的质量控制、分拣和流水线操作等过程都需要对象检测。

医学影像

边界框还可以在医疗保健行业中找到应用,例如医学成像。 医学成像技术涉及检测心脏等解剖对象,需要快速准确的分析。 边界框可用于训练机器学习模型,从而能够快速准确地检测心脏或其他器官。

自动闭路电视

自动化闭路电视是大多数住宅、商业和其他场所的强制要求。 通常,需要高内存存储才能长时间保存捕获的闭路电视画面。 使用边界框等对象检测技术,可以确保仅在识别出某些对象时才记录镜头。 边界框可以训练机器学习模型,该模型将仅检测那些对象,并且在那一刻,可以捕获镜头。 这也将有助于最大限度地减少闭路电视所需的存储范围并降低成本。

面部识别与检测

面部识别提供多种应用,例如用于生物识别监控。 此外,银行、机场、零售商店、体育场馆和其他机构等各种机构都使用人脸识别来预防犯罪和暴力。 也就是说,面部检测是涉及图像处理的计算机视觉的一个重要元素。 在这里,边界框可以用作字符识别的有效工具。


想使用机器人过程自动化? 查看基于 Nanonets 工作流的文档处理软件。 没有代码。 没有麻烦的平台。


字符识别的边界框

目标检测包括——图像分类和目标定位。 这意味着计算机要检测物体,它需要知道有问题的物体是什么以及它的位置。 图像分类为图像分配类别标签。 对象定位与在图像中围绕相关对象绘制边界框有关。

该过程涉及注释器在对象周围绘制边界框并标记它们。 这有助于训练算法并使其了解对象的外观。 作为目标检测的第一步,图像数据集必须有标签。

要标记图像,请按照以下步骤操作:

  • 选择要训练和测试的数据集。 为它制作一个文件夹。
  • 我们以人脸检测项目为例,例如:BTS、Avenger 等。
  • 制作文件夹名称数据。
  • 在 Google Drive 中,创建一个名为 FaceDetection 的文件夹。
  • 在 FaceDetection 文件夹中,创建一个图像文件夹。
  • 在图像文件夹中,创建测试图像、测试 XML、训练图像和训练 XML 的文件夹。
OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber:工业的

现在,在 train image 文件夹中,下载并上传 10-15 张 JPEG 格式的 BTS 和 Avengers 图像。 同样,在测试图像文件夹中,对 5-6 张图像执行相同操作。 建议在数据集中包含更多图像以获得准确的结果。

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: 工业的

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: 工业的

接下来,为测试图像和训练图像文件夹中的每个图像生成一个 XML 文件

下载并单击 windows v_1.8.0。 单击 GitHub 中的 .exe 文件,然后按运行。

接下来,点击打开的目录,选择图片所在的文件夹。 您将看到必须标记的图像。 要标记,请按键盘上的 W 并右键单击并拖动光标以在对象周围绘制框。 给它一个名字,然后单击确定。

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: 工业的

接下来保存图片,在image文件夹中生成图片的xml文件,如下图。

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: 工业的

打开 XML 文件以查看坐标。

OCR PlatoBlockchain 数据智能的图像处理和边界框。 垂直搜索。 哎。

Sumber: 工业的

对所有图像重复该过程以生成 XML 文件并查找坐标。


如果您使用发票和收据或担心身份验证,请查看 Nanonets 在线 OCR or PDF文本提取器 从 PDF 文档中提取文本 免费。 点击下面了解更多信息 Nanonets 企业自动化解决方案.


边界框中使用的各种注释格式

本质上,边界框在 (x,y) 轴上有 4 个点,代表角:

左上角:(x_min,y_min)

右上角:(x_max, y_min)

左下角:(x_min, y_max)

右下角:(x_max, y_max)

边界框的坐标是相对于图像的左上角计算的。

有几种边界框注释格式,每种都使用自己的边界框坐标表示。

一个。 相册

他们使用四个值来表示边界框 - [x_min, y_min, x_max, y_max] - 通过将 x 轴的像素坐标除以宽度和 y 轴除以图像的高度来进行归一化。

说边界框的坐标是:x1 = 678, y1 = 24; x2 = 543,y2= 213。

让宽度 = 870,高度 = 789

那么,[678/870, 24/789, 543/870, 213/789] = [ 0.779310, 0.030418 ,0.624137, 0.269961]

Albumentations 通过边界框在内部使用和解释这些值并增强它们。

湾。 可可

这是上下文 COCO 数据集中的通用对象使用的格式。 在 COCO 格式中,边界框由四个值表示:(x_min, y_min, width, height)。 本质上,它们指的是左上角以及边界框的宽度和高度。

C。 优洛

在这种格式中,边界框显示了四个值:(x_center, y_center, width, height)。 这里,x_center 和 y_center 表示边界框中心的归一化 x 和 y 坐标。 归一化,中心的 x 坐标由图像的宽度和中心的 y 坐标由图像的高度。 宽度和高度的值也被标准化。

d。 帕斯卡

在 Pascal 格式中,边界框由左上角和右下角坐标表示。 因此,以像素编码的值是:[x_min, y_min, x_max, y_max]。 这里,[x_min, y_min] 是左上角的,而 [x_max, y_max] 表示边界框的右下角。


想要自动化重复的手动任务? 在提高效率的同时节省时间、精力和金钱!


使用边界框的注意事项和最佳实践

建议采取一些预防措施和最佳实践,以在图像处理中优化使用边界框。 他们包括:

盒子尺寸变化

使用相同大小的所有边界框不会呈现准确的结果。 在相同大小的边界框上训练模型会使模型表现更差。 例如,如果同一个对象的尺寸看起来更小,模型可能无法检测到它。 在对象看起来比预期大的情况下,它可能会占用更多的像素,并且无法提供对象的精确位置和位置。 关键是要记住物体的大小和体积的变化,以达到预期的效果。

像素完美的紧密度

紧密度是一个关键因素。 这意味着边界框的边缘必须尽可能靠近所讨论的对象以获得准确的结果。 一致的差距可能会影响确定模型预测与真实对象之间重叠区域的准确性,从而产生问题。

放置在边界框中的对角线项目

对角放置在边界框内的项目所面临的问题是,与背景相比,它们在框内占用的空间要少得多。 但是,如果曝光时间更长,模型可能会假定目标是背景,因为这会占用更多空间。 因此,作为最佳实践,建议对对角线对象使用多边形和实例分割。 然而,可以使用具有大量训练数据的边界框来教授模型。

减少框重叠

在所有情况下避免注释重叠总是安全的。 有时,这可能会导致非常混乱,以至于最终可能只看到一些重叠的框。 与其他实体有标签重叠的对象会产生相对较差的结果。 由于过度重叠,模型将无法区分目标对象和其他项目。 在这种情况下,多边形可用于更高的精度。

结论

图像处理是一个提供广泛范围的新兴技术领域。 也就是说,边界框是最常用的图像处理技术。

综上所述,边界框是一种训练基于人工智能的机器学习模型的图像标注方法。 它用于广泛应用中的对象检测和目标识别,包括机器人、无人机、自动驾驶汽车、监控摄像头和其他机器视觉设备。

推荐资源:

https://www.kdnuggets.com/2022/07/bounding-box-deep-learning-future-video-annotation.html#:~:text=A%20bounding%20box%20is%20a,location%2C%20size%2C%20and%20orientation.

https://www.v7labs.com/blog/bounding-box-annotation

https://towardsdatascience.com/image-data-labelling-and-annotation-everything-you-need-to-know-86ede6c684b1


纳米网 在线OCR和OCR API 有很多有趣的 用例 t帽子可以优化您的业务绩效,节省成本并促进增长。 找出 Nanonets的用例如何适用于您的产品。


时间戳记:

更多来自 人工智能与机器学习