【问题标题】:How can I detect whether the object is 3D?如何检测对象是否为 3D?
【发布时间】:2017-05-12 08:40:12
【问题描述】:

我正在尝试构建一个解决方案,可以区分高度约为 200 微米的 3D 纹理表面和常规文本打印。

下图是带纹理的表面。这里的黑色是基面。

常规文本打印将是相同 3D 纹理表面的 2D 打印。

[编辑]

解决这个问题的初步想法,可能是这样的:

这里的一般想法是,以 3D 对象的不同角度拍摄的图像彼此之间的相关性要低于在类似条件下为 2D 对象拍摄的图像。

一种可能的验证方法是: 1. 拍摄 2 张​​图像,周围有足够的光线(相机闪光灯)。这些图像应尽可能以远离物平面的角度拍摄。比方说,一张在相机上拍摄,在左侧成 45 度角,另一张在右侧以相同的角度拍摄。

提取 ROI,透视校正它们。 找到这 2 个图像的合成的 GLCM。如果 GLCM 的对比度低,那么它将是 3D 图像,否则是 2D。 请原谅语言,打开编辑建议。

【问题讨论】:

  • 你能影响照明条件吗?例如你能用一个锐角的点吗?结构是从表面出来还是进入表面内部?
  • 能否展示一张“常规文本打印”的图片进行比较?
  • 恕我直言,这行不通。与手机摄像头相差 0.2 毫米,没有调整环境或很好的假设,但我可能错了。祝你好运。
  • 经过一些考虑,我可以制作多张照片,并且可以从不同的角度拍摄,如果这样可以解决问题。
  • 我试过用我的 3D 眼镜查看你的 Q。在我看来它仍然是 2D 的。不过,说真的,我不清楚你在问什么。你能发布我们可以直观比较的图像吗?例如这个“纹理”图像和它的“打印”版本,这样我们就能明白你的意思了?我猜它们将无法区分,因为如果您没有告诉我,我无法知道该图像是 纹理。基本经验法则:如果你不能用英语解释,你就没有办法用计算机代码说出来。

标签: opencv image-processing 3d


【解决方案1】:

这是一个相当复杂的问题,没有即插即用的解决方案。无论您拍摄多少“照片”,使用光(结构化或激光)或阴影来检测 0.2 毫米的高度几乎肯定不会以可接受的置信度工作。 (这只是我个人的直觉,在计算机视觉中,我们通过实际测试来验证某些东西是否有效)。

GLCM 是一个很好的描述纹理的功能,但据我所知,它用于验证纹理中是否存在图案,因此,我相信如果存在,它会为 2D 打印文本输出正值是某种重复模式。

我会让计算机学习什么是文本,什么是纹理。只需提取大量的 3D 和 2D 数据,并使用机器学习引擎来学习哪个是什么。如果特征空间足够丰富,它或许能够找到一种区分彼此的方法,这是我们人类大脑无法做到的。特征空间应该由边缘和颜色特征组成。

如果系统环境稳定且可控,这种方法会特别有效,因为训练数据与测试数据非常相似。

对于这个问题,我首先计算颜色和边缘特征(不同边缘和颜色通道上的局部图像像素总和),然后尝试使用增强分类器。就机器学习而言,增强分类器并不是最先进的,但它们擅长不过度拟合(这意味着您可以插入任意数量的数据),并且很可能在稳定的环境中工作。

希望对你有帮助,

祝你好运。

【讨论】:

  • 感谢您的回答。我怀疑您是否没有考虑到 2D 打印只不过是 3D 图像的打印照片。你有吗?
  • 所以,您将拥有一台相机,可以查看实际的纹理表面或相同纹理表面的打印图像,您需要告诉他们 appart 吗?是这样吗?
  • 佩德罗,是的,没错。
  • 您可以通过向相机显示人脸的打印照片来欺骗基于边缘的人脸识别系统。尽管如此,确定这项任务是否可以实现的最佳方法是尝试机器学习。如果有可以区分它们的功能,机器学习引擎会找到它们。
  • 我正在考虑以不同角度单击不止一张图像的线条。 3D 图像的多张图片在轮廓边缘彼此之间会有很大差异,而 2D 图像的图片将相似(在执行透视校正之后)。 GLCM 将增加一些额外的重量。 WDYT?
【解决方案2】:

如果你能得到另一张图片 不同的角度或 更锐利的角度或 不同的光照条件 你可能会得到结果。但是,使用校准相机的两个不同角度的图像可以获得立体视觉图像,从而轻松解决您的问题。

【讨论】:

    【解决方案3】:

    这里的一般想法是,以 3D 对象的不同角度拍摄的图像彼此之间的相关性要低于在类似条件下为 2D 对象拍摄的图像。

    一种可能的验证方式是: 1. 拍摄 2 张​​图像,周围光线充足(相机闪光灯)。这些图像应尽可能以远离物平面的角度拍摄。比方说,一张在相机上拍摄,在左侧成 45 度角,另一张在右侧以相同的角度拍摄。

    1. 提取 ROI,进行透视校正。

    2. 找到这 2 个图像合成的 GLCM。如果 GLCM 的对比度低,那么它将是 3D 图像,否则是 2D。

    请原谅语言,打开编辑建议。

    【讨论】:

    • 这不是您问题的答案。如果您有更多信息来澄清您的问题,请编辑并改进您的问题。不要把它放在答案中。
    猜你喜欢
    • 2021-03-20
    • 2020-10-31
    • 1970-01-01
    • 2019-12-05
    • 1970-01-01
    • 2021-10-29
    • 2010-09-27
    • 1970-01-01
    • 2013-10-11
    相关资源
    最近更新 更多