• 您正在使用网站试用版。

基于实例的像素级标注介绍

2018-12-11

对于机器视觉的项目,有多种标注方法可供选择。比如你可以把图片划分为不同的类别,为图片中物体画严格相切的2D框,在重要实体的角落里画点或者把给点图片中的每个单独的像素都标注出来。不同的标注方式来源于不同的项目需求但是这几年来对像素级别的语义分割的数据需求不断增加。

如今的一般情况是在像素级别上,分别标注不同的类别,比如在自动驾驶项目重,一个类别可能指的是行人,车辆或者广告牌或者是其他的你的算法模型需要识别的类别。当你给你的算法模型输入了足够多的行人,车辆和广告牌的数据后,你的模型就会开始理解每个类别的特点。它通过“学习”关于行人的一些丰满的例子,来形成自己的理解,即是什么使人成了了人,最终它会形成自己关于行人,车辆和广告牌的类别划分标准。

但是根据你的应用案例的不同,有时候也会有一些问题。对于一辆车而言,这个广告牌和那个广告牌没有区别,自动驾驶的汽车真正需要知道的是广告牌是一个静止的物体,它可以忽略广告牌(不同于路标,自动驾驶汽车需要理解路标的含义),如果广告牌之间互相重叠,也没有任何影响即对汽车如何行驶造不成影响,毕竟广告牌只是广告而已。

但是汽车和行人却是不同的概念,它们会移动,而且有时候移动没有规律可循。在很多语义分割算法重,车和车或者人和人都属于车和人的类别。但是根据你创建模型的不同,可能会出现问题,比如一个推着婴儿车的母亲和一个慢跑的人的行为可能截然不同。还有,有时候同类物体互相重叠遮挡,如果简单的把他们标注在一起并且定为一个类别可能会让机器视觉的分类器产生疑惑,比如下图的例子

PLSS_Car_Caterpillar-1024x919.png


这是一张标注的很精确的语义分割图片。类与类之间边缘清晰并且分类准确。但是图片中所有的车都被标注成“车”这个类别。因为车之间相互重叠,有些算法在理解这个信息时就有有困惑。毕竟这不是一个街区长度的履带式车辆。而是一系列单独的,停着的车辆

我们有很多客户找到我们并且向我们寻求解决方法。不同于履带式车辆的标注方法,我们的工具可以实现基于实例的语义分割(instance-based sematic segmentation)。输入结果如下图

PLSS_Car_Caterpillar-1024x919.jpg

简单的说,每个车单独标注可以减少模型的理解难度。这样标注时自动驾驶车辆模型更容易取得满意的结果,在其他的领域比如显微镜图像标注时,把分裂中的细胞标注为离散的实体时,标注效果更好。基于实例的标注的确会花费多一些的时间,但是对企业级的标注项目而言,这个细微的变化可以得到较大的精确度提升,更利用得到更成功的算法