1.标注工具的选择
在img.net和瑞芯微的双重加持下,现在的计算机视觉识别已经在各行业快速推进。进行自行标注时,首先遇到的问题就是标注工具的选择问题,标注工具不需要自己手工完成——也没有必要。类似这样的通用需求,交给专业的开发人员即可。刚刚试用了几种标注工具,部署异常困难。
国产的某几个标注工具,加QQ群,软件庞大的体积,遂放弃。在yolo的官方网站上,它们推荐的标注工具有三个,其中排名第一的是label-studio,csdn有位同志介绍到它,并且提供了docker:
label-studio docker镜像-CSDN博客
它是开源的工具。如果你已经有python环境,最简单的安装方法只有一行:
pip install label-studio
安装过程会自行解决依赖项,注意,国内使用时尽量把标注源头移向国内镜像。
1.1 label-studio的运行和必要的依赖项
运行label-studio也只需要一行:
label-studio
它会以web服务器的方式工作:
标注可以识别到谁上传了资源,然后谁进行了标注。标注过程非常简便。
1.2 不依赖外网使用时,资源需要安装在redis上
windows环境下能部署整套标注环境,所需的redis:win32 or win64
注意,用redis这类内存数据库继续训练加速,始终会达到更快的速度。
然后在进行训练前,也尽量把训练的资源和结果放在固态盘,尽量加快训练的时间。
1.3 一个工程的极简配置
两处:
1.3.1 Label的配置
1.3.2 存储位置
2 yolo视频图片标记的几点注意事项
-
注意要对画面中出现到的所有同类物体进行标准。遗漏标记可能会造成不可预知的后果。
-
原始图片推荐使用OBB(Oriented Bounding Box)标记,就是倾斜的边界框,有些算法可以直接对此类标记对象进行处理。即使使用传统的矩形水平框,可以使用python对OBB标记进行转换。使用AABB(Axis-Aligned Bounding Box) 对OBB标记文件进行批量自动转换。
-
推荐在Label的选择时,选择为对视频本身进行标注。
稍稍用Python对导出的标注信息进行处理,就能够生成Yolo标准的静态图片格式。 -
然后注意原始图片不需要裁剪规整。不同分辨率的图片,更有助于Yolo的训练。虽然最终的识别仍然是按照特定分辨率进行的。
-
视频中截取标注资源时,尽量选择一些画面发生明显变化的关键帧。
-
不同角度,如果物体本身有多个种类,或者各个视角呈现明显差异,建议分割为不同的识别对象。
-
label-studio目前不支持h265视频,可以使用ffmpeg转换:
-
label-studio进行视频标注时有一个非常棒的功能是提供了两个关键标注帧之间,同一个物体位置的平滑处理。