我正在尝试检测给定图像中的视觉注意区域并将图像裁剪到该区域。例如,给定一个任意大小的图像和一个长方形维度作为输入,我想将图像裁剪到最重要的视觉注意区域。
最先进的方法是什么?
(顺便说一句,你知道有什么工具可以实现吗?任何一段代码或算法都会有帮助。)
顺便说一句,在“单个”对象中,我想引起注意。所以物体检测可能不是最好的事情。我正在寻找任何方法,只要它是 SOTA,但深度学习可能是更好的选择。
我正在尝试检测给定图像中的视觉注意区域并将图像裁剪到该区域。例如,给定一个任意大小的图像和一个长方形维度作为输入,我想将图像裁剪到最重要的视觉注意区域。
最先进的方法是什么?
(顺便说一句,你知道有什么工具可以实现吗?任何一段代码或算法都会有帮助。)
顺便说一句,在“单个”对象中,我想引起注意。所以物体检测可能不是最好的事情。我正在寻找任何方法,只要它是 SOTA,但深度学习可能是更好的选择。
您可以搜索以下论文标题:
您可以使用 Pytorch 框架在 python 中编码。
神经网络(视觉)中的“注意”是图像中网络可以找到最多数量的特征以高置信度对其进行分类的区域。根据您的描述,您正在谈论“软注意”。
我们有任何工具或 SDK 来实现它吗?我认为没有现成的 SDK 可用。用注意力在数据集上训练模型要好得多。准备好基础模型后,很容易为其添加注意力机制。我建议您查看https://arxiv.org/pdf/1502.03044.pdf。
为了让计算机检测并提供图像中视觉注意力区域周围的边界框或圆圈,必须确定注意力的基础。然后可以选择让计算机系统在此基础上进行选择的方法。第一件事。
是要成为感兴趣对象的面部、身体还是游戏角色?就运动而言,它会是画面中最具活力的物体吗?如果是一个人,总是同一个人吗?无论哪种情况,他们的脸都会暴露在相机的角度吗?是否只有静止镜头,或者图像将是电影中的帧?
一旦您知道如何将需要注意的对象与其他对象和背景区分开来,您就可以开始了解计算机如何模拟这种识别。在训练涉及卷积核(称为 CNN 或卷积神经网络)和可能的长期短期记忆单元 (LSTM) 的深度网络时,识别有几个阶段。
通常首先检测事物的边缘。在电影中,边缘的移动被跟踪为图像的特征。图像中识别对象是什么类型的元素是第二个。例如,可以通过塑料反射光的方式以及玩具常见的颜色类型和形状来检测玩具。可能首先通过识别眼睛、鼻子、嘴巴、下巴和耳朵来识别人脸。
识别出部分后,可以通过另一阶段的特征提取来识别整个对象。视觉系统遵循我们人类视觉系统使用的相同基本识别原则。
有许多框架和库可以帮助完成这些任务,但要使用它们,重要的是要大致了解该过程并阐明是什么将重要的对象与其他可能相似或相似的对象区分开来完全不同,因此可以按照您想要的方式集中注意力。
一旦你有,你的裁剪操作的两个角的坐标,这将是你的网络训练的目标,那么任何图像处理库都可以处理裁剪。
这就是最先进的技术。没有高级 SDK 可以让您命令计算机在框架中找到最重要的项目,而无需澄清其含义,并训练操作以教软件找到您决定重要的内容一些标准。反正还没有。