COCO数据集Keypoint标注格式梳理和使用COCO |
您所在的位置:网站首页 › coco的 › COCO数据集Keypoint标注格式梳理和使用COCO |
这里写自定义目录标题
COCO数据集Keypoint标注格式COCO数据集官网Keypoint Detection关键点检测统一数据格式Keypoint标注
使用COCO-Annotator标注自有数据集在Ubuntu 18.04上安装COCO-Annotator安装Docker和Docker-Compose安装COCO Annotator启动COCO Annotator使用COCO Annotator在自有数据集上进行Keypoint标注创建数据集标注关键点标注设置关键点可见性查看保存的keypoint标注
COCO数据集Keypoint标注格式
COCO数据集官网
COCO全程是Common Object in COntext,是CV里很常用的一个数据集。 COCO官网:https://cocodataset.org/#home Keypoint Detection关键点检测COCO官方关于数据格式的说明:https://cocodataset.org/#format-data 统一数据格式
其中,『info』中存储的是关于整个数据集的信息。如果是构建自己的数据集,可以按照自己的需求填写。『licenses』是图像证书,如果是要共享数据集或者售卖数据集,则要确保证书和版权均填写正确。『images』是数据集中所有图片的信息列表。所以,不同列别的标注,区别仅在『annotations』部分。 Keypoint标注我们来看Keypoint这一种标注的『annotations』。目前,COCO数据中仅对『人』这一类别标注了Keypoints。 摘出一个categories的实例: { "supercategory": "person", "id": 1, "name": "person", "keypoints": ["nose","left_eye","right_eye","left_ear","right_ear","left_shoulder","right_shoulder","left_elbow","right_elbow","left_wrist","right_wrist","left_hip","right_hip","left_knee","right_knee","left_ankle","right_ankle"], "skeleton": [[16,14],[14,12],[17,15],[15,13],[12,13],[6,12],[7,13],[6,7],[6,8],[7,9],[8,10],[9,11],[2,3],[1,2],[1,3],[2,4],[3,5],[4,6],[5,7]] } 使用COCO-Annotator标注自有数据集 在Ubuntu 18.04上安装COCO-Annotator 安装Docker和Docker-ComposeCOCO-Annotator安装之前需要先安装Docker。参考了CSDN文章:地址 sudo apt update #更新apt包索引 # 通过HTTPS使用仓库(repository)安装 sudo apt install apt-transport-https ca-certificates curl software-properties-common这里需要编辑一下/etc/apt/sources.list.d/docker.list文件 sudo vim /etc/apt/sources.list.d/docker.list在docker.list文件中添加 deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stablead添加Docker官方的GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -安装 sudo apt update #需要再更新一次apt包索引,否则会提示不存在docker-ce sudo apt install docker-ce查看docker服务是否启动: systemctl status docker
测试一下docker能否正常启动 docker run hello-world如果遇到如下报错 docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied. See 'docker run --help'.在上面的指令前加上sudo: sudo docker run hello-world看到一下信息则说明Docker安装成功: 接着需要安装docker-compose: sudo apt install docker-compose 安装COCO Annotator git clone https://github.com/jsbroks/coco-annotator cd coco-annotator在coco-annotator中运行 docker-compose up这时候会遇到报错: ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?按照下面方式跑一遍: sudo groupadd docker sudo gpasswd -a ${USER} docker sudo service docker restart newgrp - docker确保进入到coco-annotator文件夹,再次执行 docker-compose up会开始下载非常多东西,此时就等着下载完成就行。 启动COCO Annotator如果是在COCO Annotator是安装在本地,只需要在浏览器打开localhost:5000。 如果跟我一样是ssh远程,那还需要现在本地的terminal运行一下以下代码: ssh -L username@remot_address 127.0.0.1:5000:127.0.0.1:5000然后再在本地的浏览器打开localhost:5000。 使用COCO Annotator在自有数据集上进行Keypoint标注关于COCO Annotator的标注Keypoint的使用说明,网上能找到的资料太少了,只能靠自己摸索。 创建数据集在主页面点击"Create"即可创建数据集。 点击一张图片进入标注页面。页面左侧为工具面板,右侧为标注面板。在当前情况中,可以看到左侧的工具按钮都是灰色非激活的状态。要开始标注,要选择待标注的对象的类别,在这一示例中,我们点击右侧标注面板“person”右侧的加号代表即将进行“person”类别的标注。 为了对应COCO数据集中的keypoint点的标注,我们需要先对person这个大类别做一些设置。点击右侧标注面板“person”右侧的齿轮图片,将出现以下设置页面。 OKS = ∑ i exp ( − d i 2 / 2 S 2 k i 2 ) δ ( v i > 0 ) ∑ i δ ( v i > 0 ) \textrm{OKS} =\frac{ \sum_i \exp{(-d_i^2/2S^2 k_i^2)\delta(v_i>0)}}{ \sum_i \delta(v_i>0)} OKS=∑iδ(vi>0)∑iexp(−di2/2S2ki2)δ(vi>0) 其中 S S S表示这个人所占的面积大小平方根,根据annotation中的Bounding Box计算所得。 S = ( x 2 − x 1 ) ( y 2 − y 1 ) S = \sqrt{(x_2-x_1)(y_2-y_1)} S=(x2−x1)(y2−y1) 也就是说我们的标注除了keypoints,还必须通过bounding box把object框出来。 COCO-Annotator中很神奇的是,先对一个object把需要标的关键点标注之后,就无法添加bbox;反之则可。 在这个页面中,我们可以设置各个Keypoint的名字。每个Keypoint右侧的“Add connected label”可以先不管,点击"Update"确认。此时,点击右侧标注面板“person”右侧的加号,就可以看到刚刚添加的各个关键点的名字了。添加完所有关键点后,我突然悟了“Add connected label”对应的就是COCO标注中的skeleton,根据需要填进去就好啦。我们现在点击“nose”并进行keypoint标注。 可见性可以在以下位置设置 仅以上图,标注了人bbox和所有关键点为列子。 完整Json文件内容 {"images":[{"id":4,"dataset_id":2,"path":"/datasets/test/man.jpg","width":4000,"height":6000,"file_name":"man.jpg"}],"categories":[{"id":1,"name":"person","supercategory":"person","color":"#a74ced","metadata":{},"keypoint_colors":["#bf5c4d","#9c73bf","#ff1a38","#bf3300","#736322","#bf5c4d","#d99100","#4d8068","#0d2b80","#9c73bf","#ff1a38","#bf3300","#736322","#33fff1","#3369ff","#9d13bf","#733941"],"keypoints":["nose","left_eye","right_eye","left_ear","right_ear","left_shoulder","right_shoulder","left_elbow","right_elbow","left_wrist","right_wrist","left_hip","right_hip","left_knee","right_knee","left_ankle","right_ankle"],"skeleton":[[1,2],[1,3],[2,4],[2,3],[3,5],[4,6],[5,7],[6,7],[6,8],[6,12],[7,9],[7,13],[8,10],[9,11],[12,14],[12,13],[13,15],[14,16],[15,17]]}],"annotations":[{"id":216,"image_id":4,"category_id":1,"segmentation":[[2520.9,1587.4,2520.9,4975.7,1411.2,4975.7,1411.2,1587.4]],"area":3761790,"bbox":[1411,1587,1110,3389],"iscrowd":false,"isbbox":true,"color":"#455dd2","keypoints":[2040,1977,2,2111,1923,2,1986,1919,2,2185,1973,2,1904,1970,2,2353,2352,2,1654,2297,2,2392,2855,2,1549,2820,2,2438,3296,2,1619,3253,2,2150,3298,2,1817,3307,2,2164,3846,2,1817,3897,2,2077,4549,2,1807,4536,2],"metadata":{},"num_keypoints":17}]}可以在JSON在线解析中打开查看一下。跟COCO的格式是能够对上的。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |