ARKit——图像相似但颜色不同的图像识别

ARKit – Image recognition with similar images but different colors

我有一个 2D 标记,其配色方案为红色。我使用 ARKit 的 ARReferenceImage 通过后置摄像头检测图像。 我对标记有问题,因为它检测到相似的图像但采用不同的配色方案,我认为 ARKit 只识别图案而忽略颜色。

我已经从here

实现了图像识别的基本代码

我的目标是避免在不同的配色方案中检测到相似的标记,我尝试四处搜索但没有成功。提前致谢。

在 ARKit 或 RealityKit 中识别具有不同配色方案的相似图像从一开始就是个坏主意。

  • 首先请注意ARReferenceImage是一个集合。 Swift 的集合是 UNIQUE 值的无序集合。如果 Apple 工程师想将 ARReferenceImage 创建为数组,他们会这样做。但它在这个词的任何意义上都是 SET——在图像名称和视觉上。

     func referenceImages(inGroupNamed name: String, 
                                     bundle: Bundle?) -> Set<ARReferenceImage>?
    


  • 其次,在实现 ARTrackable 协议时(请记住,ARImageAnchor 符合 ARTrackable),您不应像 Apple 建议的那样跟踪相似的图像或重复的结构。

     @available(iOS 11.3, *)
     open class ARImageAnchor : ARAnchor, ARTrackable {
    
         open var referenceImage: ARReferenceImage { get }
    
         @available(iOS 13.0, *)
         open var estimatedScaleFactor: CGFloat { get }
     }
    

    观看 ARKit WWDC 2018 video(时间 37:40)了解详情。


  • 第三,iPhone 的神经引擎在黑白光谱中感知 ARKit 和 RealityKit 的参考图像。我认为这样做主要有两个原因:一是亮度对比度比色度对比度更重要,二是图像识别不依赖于环境光的颜色——无论是偏黄还是偏蓝——识别的结果应该是不变的。

    你猜猜 ARKit 看到了什么,看着三张具有不同配色方案的相似图像?

绿色和青色图像之间的差异很细微。