写点什么

iOS MachineLearning 系列(8)—— 图片热区分析

作者:珲少
  • 2023-04-27
    上海
  • 本文字数:694 字

    阅读完需:约 2 分钟

对图片进行热区分析可以帮助我们图片中可能会受关注的区域,也可以获取到图片中需要被关注的事物的区域。


Vision 框架中提供了两种热区分析的方式。


  • 关注区分析

  • 对象区分析

1 - 关注区分析

关注区分析请求使用 VNGenerateAttentionBasedSaliencyImageRequest 创建,此类没有特殊需要配置的,其继承自 VNImageBasedRequest 类,因此可以直接使用 VNImageRequestHandler 句柄来进行发起。返回的分析结果为 VNSaliencyImageObservation 对象,定义如下:


open class VNGenerateAttentionBasedSaliencyImageRequest : VNImageBasedRequest {    // 关注区对象    open var results: [VNSaliencyImageObservation]? { get }}
复制代码


VNSaliencyImageObservatio 定义如下:


open class VNSaliencyImageObservation : VNPixelBufferObservation {    open var salientObjects: [VNRectangleObservation]? { get }}
复制代码


下图展示了关注区分析的效果:




可以看到,分析出的关注区基本是图片中内容最丰富的区域,也是我们在观察图片时最先关注到的。需要注意,分析出的关注区不一定会完整的包含图片中的物体。

2 - 物体区分析

物体区分析与关注区分析唯一的区别在于请求的创建,物体区分析使用 VNGenerateObjectnessBasedSaliencyImageRequest 类进行创建。下图演示了物体区分析的效果。




可以看到,针对猫狗的那张图片,关注区分析得到的结果是相对居中的位置,物体区分析得到的结果会完整的包含猫狗的边界。


在实际应用中,我们可以通过这些分析能力来对图像的部分进行视觉增强。


完整的示例代码可以在如下地址找到:


https://github.com/ZYHshao/MachineLearnDemo


备注:Vision 框架中的很多 AI 能力可能无法在模拟器上很好的进行。

发布于: 刚刚阅读数: 3
用户头像

珲少

关注

还未添加个人签名 2022-07-26 加入

还未添加个人简介

评论

发布
暂无评论
iOS MachineLearning 系列(8)—— 图片热区分析_珲少_InfoQ写作社区