labelme对同一类型的多个目标的识别问题

本文探讨了使用labelme进行图像标注时遇到的问题,即当图像中存在多个同一类型的目标时,它们可能会被错误地视为单个对象。通过分析label.png和_viz.png文件,揭示了labelme的机制缺陷,导致多个对象被合并到一个边界框中。作者分享了一个实例,展示手动标记的三个鼠标被误识别为一个对象,并建议在需要处理多个同一类型对象时,使用COCO格式的转换方法以避免此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用labelme标记完图像后,我们可以使用labelme自带的一套转换工具:labelme_json_to_dataset.exe 将每个图片对应的json文件转化为一个后缀为_json的文件夹。 文件夹内容如下:

其中最重要的是名为label.png的16位图片,包含了具体哪一个像素作为mask的重要信息,在实际应用中,我们还需要通过一套C++脚本将16位图转成8位,否则模型无法读取。

另一个要提到的重要问题是名为_viz.png的图片,点开如下

可以看到我们要学习的对象已经用不同的颜色区分开了,可以看到灰色代表0号class:背景,我们希望系统是别的对象bottle是1号class,用红色标记。加入后边的酒杯作为另一个对象被标记,则有可能被自动显示为蓝色或绿色,作为2号class:cup。

这种机制的缺陷在于,每张图片上同种类型的对象只能有一个,否则即使在标记时被标记为多个,作为mask显示时仍会被认为属于同一个对象(被一个boundingbox框住)。以下图为例:

我在手动标记时标记了3个鼠标,然而因为他们属于同一class,导致这3个鼠标最终被判定为一个对象。之前我在cup数据集中使用了大量含有多个cup的图片,使得模型反复将两个甚至三个茶杯当做一个整体来识别。效

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值