计算机视觉|谷歌算法大牛分享:计算机视觉模型训练导论(好用工具分享)( 二 )


现在 , 我们已经了解了如何将衣服分类 , 例如鞋子或运动衫 , 并且可以在图像中检测到人 , 但是我们仍然需要能够让用户试穿衣服 。 这需要能够将属于检测到的对象的像素与图像其余部分的像素区分开 , 在这种情况下 , 我们将要使用分割 , 接下来将进行介绍 。
图像分割如上所述 , 在某些任务中 , 了解对象的确切形状非常重要 。 这需要为每个对象生成一个像素级边界 , 这是通过图像分割实现的 。 用于图像分割的DNN在语义分割的情况下通过对象类型对图像中的每个像素进行分类 , 在实例分割的情况下通过单个对象对图像中的每个像素进行分类 。
注意:当前 , alwaysAI平台支持语义分段 。 我们一直在寻求发展平台并添加新模型 , 包括执行实例细分的模型 。
对于我们的虚拟衣柜应用程序 , 我们可以使用语义分割来区分属于人 , 毛衣或鞋子的像素 。 然后 , 我们可以用另一个对象中的像素替换一个对象中的像素 , 例如用用户想要试穿的新毛衣中的像素替换原始图像中的人所穿着的毛衣 。
注意:语义分割的一种流行用例是用于会议电话软件(例如Zoom或Microsoft Teams )的虚拟背景:属于人的像素与图像的其余部分区分开 , 并从背景中分割出来 。
在我们用于人的图像分割应用程序的示例中 , 我们看到图像分割使我们能够区分哪些像素属于图像中的每个对象 。 但是 , 图像分割无法使我们推断出图像中对象的相对位置 , 例如人的手在哪里或汽车上的尾灯和保险杠在哪里 。 为此 , 我们将需要有关人的特定区域的信息 , 例如将人的手与人的头部进行比较的信息 。 这需要跟踪对象地标 , 这是我们将在此处介绍的最后一个模型类型 。
对象地标检测对象界标检测是图像中某些“关键点”的标记 , 这些“关键点”捕获了对象中的重要特征 。 对于我们的虚拟衣橱 , 我们可以使用姿势估计模型(例如“ alwaysai / human-pose ”)来识别人体关键点(例如 , 臀部 , 肩膀和肘部) , 类似于下图所示 , 以帮助用户装饰 。 我们可以使用眼睛关键点将眼镜或帽子戴在虚拟衣橱中的人身上 , 或者使用“脖子”关键点让他们试戴围巾 。
注意:使用关键点的另一个有用的应用程序将是在运动和体育锻炼期间检查形式是否正确的应用程序 。

通用模型应用计算机视觉模型可以应用于各种应用程序的整个主机 。 您可以建立分类模型以对狗展中的狗类型进行分类 , 也可以建立检测模型以在活检玻片中找到癌细胞 。 保护生物学家可以使用一种模型来检测特定家族或属的存在 , 然后将该输出提供给分类模型以确定物种 , 然后汇总这些数据以跟踪保护工作 。 语义分割用于自动驾驶汽车技术 。 对象检测模型可用于对物品进行计数并在杂货店中生成库存 。 计算机视觉应用的可能性非常广泛!

数据集生成计算机视觉模型训练始于组装质量数据集 。 俗话说“垃圾进 , 垃圾出” 。 但是 , 什么构成计算机视觉数据集的“垃圾”呢?在计算机视觉中 , “推理”是我们用于将训练有素的模型应用于输入以推断结果的术语 。 我们喜欢说“训练如您所愿” 。 因此 , 高质量计算机视觉数据集的一个很好的经验法则是 , 它类似于将输入到训练模型中的真实世界数据 。 为了确保这一点 , 请考虑图像的角度 , 照明和天气 , 是否遮挡了所需的物体 , 所需的目标距离多远 , 图像的分辨率和比例以及背景和前景 。
数据集生成的类型生成数据集的方式有几种 , 具体取决于您的时间表和所需的用例 。 如果您希望常规检测模型立即适合原型应用程序 , 则可能需要尝试查找带有注释的现有数据集 。 相反 , 如果您想要一个能够很好地完成一项特定任务的模型 , 则可能需要收集与该模型所使用的环境更相似的自己的图像 。 例如 , 如果您只想要一个可以检测鸟类的模型通常 , 您可能会使用包含不同环境中鸟类的图像的现有数据集;但是 , 如果您是我们之前介绍过的那位保护生物学家 , 并且想要一个模型来持续检测您设置的特定摄像机在饲料上出现的鸟类 , 您应该从该相机的角度收集图像以训练模型 。 我们将在下面介绍这两个选项以及其他两个选项 。 我们还将介绍数据扩充 , 您可以使用它来增加任何数据集的大小 。