关键点检测是一种计算机视觉技术,它能够识别图像中特定对象的关键部位。例如,在网球比赛中,可以使用关键点预测来估计运动员的姿势;或者在机器人臂的测量中,可以使用关键点检测来确定其边界。很高兴地宣布,Roboflow现在支持关键点检测任务。可以使用Roboflow来定义关键点骨架,对图像上的关键点进行标注,训练关键点检测模型,并将模型部署到云端和自己的硬件上。
首先,需要在Roboflow中创建一个项目。创建一个免费的Roboflow账户,并按照应用内的设置说明进行操作。在Roboflow仪表板中,点击“创建项目”按钮。一个弹出窗口将出现,可以在其中创建一个项目:将创建一个关键点检测项目。在弹出窗口中,选择“显示更多”并选择“关键点检测”。然后,填写要求的项目名称和想要标注的对象类型。如果使用的是免费计划,将被要求指定数据集将被授权的许可证。点击“创建项目”以创建项目。
接下来,需要定义一个骨架。骨架是一个包含将要用于标注图像的所有关键点的结构。骨架定义了关键点的名称以及它们之间的连接方式。例如,一个骨架可能包含“左肘”和“左腕”类别,这两个类别是相互连接的。要创建骨架的第一个点,请单击侧边栏中的“类别”列表。添加想要识别的类别。一个网格将出现,可以在其中定义骨架。一旦单击了一个点,就可以输入以指定该点的类别名称。可以向骨架中添加任意数量的点。以后可以更改骨架。
# 定义骨架的代码示例
# 假设有一个名为'skeleton'的变量,它包含了关键点的连接信息
skeleton = {
'left_elbow': ['left_wrist'],
'left_wrist': ['left_elbow', 'left_thumb']
}
# 可以使用这个骨架来创建关键点标注
定义了骨架后,可以开始上传数据。可以通过RoboflowWeb界面或使用Roboflow API上传原始图像。要使用Web界面上传数据,请将图像拖入Roboflow Web应用程序中:图像将被处理然后上传到Roboflow平台。一旦图像被上传,就可以开始对它们进行标注,以用于训练关键点检测模型。
上传了图像后,点击侧边栏中的“标注”并选择想要标注的图像。当点击一个图像进行标注时,Roboflow标注界面将打开。在这个界面中,可以标注关键点和被遮挡的关键点。要开始标注,首先点击左侧边栏中的关键点工具。然后,点击想要在图像中添加关键点的点。当在图像上点击一个点时,将出现一个框,可以在其中选择要分配给该点的标签。
一旦标注了数据,就可以生成一个数据集。数据集是图像的一个固定版本,可以使用它来训练计算机视觉模型。要生成一个数据集,请点击侧边栏中的“生成”。在此页面上,可以选择要应用于数据的预处理和增强步骤。预处理步骤有助于在训练模型之前使数据保持一致。增强步骤可以通过根据数据集中现有的图像生成新的增强图像来帮助提高模型性能。对于第一个模型版本,建议应用默认的预处理步骤。不建议在没有增强的情况下训练模型版本之前就应用增强。不使用增强进行训练将使能够收集有关模型基线性能的数据。可以使用这些数据来评估未来不同增强的影响。
当数据集生成后,将被带到数据集版本页面。从这个页面,可以使用数据集训练一个关键点检测模型。要训练一个关键点检测模型,请在数据集页面上点击“训练模型”。按照Roboflow Web应用程序中的说明配置模型训练作业。当配置了训练作业后,作业将被分配给一台机器。这可能需要一些时间。一旦作业被分配给一台机器,将开始看到显示模型性能的图表,随着训练的进行。还将看到一个估计,显示训练模型大约需要多长时间。训练过程完成后,将收到一封电子邮件,通知模型现在可以使用。