这几周在做一个数据标注,标注的数据是几段视频,需要用yolov3做一个目标检测任务。这里的数据标注需要自己来完成,过程中有两个提高效率的小技巧,在这里记录下来。
- 数据的整合:
标注的时候,因为图片是视频分出来的,有几个文件夹,标注工具我采纳朋友推荐的标注精灵,免费使用,功能强大,相比labelme等工具来说有个分项目的功能,这个可以保存中间状态,最后再一次性导出,缺点是没有自动保存,每标注完成一张图片需要按ctrl+s来保存下,这点感觉对图片多的时候很不方便,这点在下面的另外一个技巧来解决。
标注出来以后是分成一个一个文件夹保存的,图片的文件名都是连续的数字,这并不好处理,而且有的图片在标注的时候是没有需要检测的物体的,所以写个小脚本,功能是提取出有目标的xml(我导出的时候选的是xml,json可能处理起来更方便-_-)和图片,然后在每个文件名修改成文件夹名+'_'+图片名。脚本地址上传到了github。
blight19/yolov3-datagithub.com- 标注效率提升:
第二个技巧。。。我在标注一段时间以后,感觉手和胳膊简直累得不行,每次标注完成后左手要ctrl+s保存,然后右手点右箭头下一张,然后右手再回到鼠标,左手点r新建一个目标标注框,感觉操作过于频繁,右手要不断在鼠标和键盘中来回换,如果右手不用回到键盘会省下很多劳动力。
于是换了个带侧键的鼠标,在问了当时买鼠标的卖家后,回复没有linux下的驱动,于是自己从网上搜解决办法,功夫不负有心人,找到了改建方法,方法简略记录如下(我用的ubuntu):
首先安装:sudo apt install xbindkeys xautomation
生成按键映射文件:xbindkeys --defaults > /home/user-name/.xbindkeysrc
其中user-name
是你的用户名
然后运行命令xev,查找侧键。我这里显示是8和9。
然后修改xbindkeysrc这个文件(就是上面生成的文件),在下面添加这段
"xdotool key ctrl+s"
b:8
"xdotool key Right"
b:9
killall xbindkeys来终止进程,再xbindkeys启动。
这时修键就完成了,左手放在键盘按R就可以了,右手框目标,所有目标框完之后,两个侧键大拇指按下,就保存+下一张了,实在是很方便啊。