{
  "id": 53845,
  "title": "How to read the data correctly? Are labels wrong? (edit: no)",
  "url": "/competitions/cvpr-2018-autonomous-driving/discussion/53845",
  "author_name": "",
  "post_date": "2018-04-05T21:07:11.248010400Z",
  "votes": 9,
  "comment_count": 6,
  "views": 0,
  "content": "<p>The labels look like 16-bit png to me, which means that max value is 65535. This means that max class value after dividing by 1000 is 65, so most classes can't be represented.</p>\n\n<p>Is anyone able to read the data correctly, or could it be in the wrong format?</p>",
  "messages": [
    {
      "id": "309715",
      "postDate": "04/05/2018 21:07:11",
      "content": "<p>The labels look like 16-bit png to me, which means that max value is 65535. This means that max class value after dividing by 1000 is 65, so most classes can't be represented.</p>\n\n<p>Is anyone able to read the data correctly, or could it be in the wrong format?</p>",
      "rawMarkdown": "The labels look like 16-bit png to me, which means that max value is 65535. This means that max class value after dividing by 1000 is 65, so most classes can't be represented.\n\nIs anyone able to read the data correctly, or could it be in the wrong format?",
      "votes": null
    },
    {
      "id": "309742",
      "postDate": "04/05/2018 22:20:41",
      "content": "<p>I found the same thing but didn't know why. In <a href=\"https://www.kaggle.com/jpmiller/cvpr-eda\">this kernel</a>, toward the end, I looked at 2500 random image masks and found nothing above 65.</p>",
      "rawMarkdown": "I found the same thing but didn't know why. In [this kernel](https://www.kaggle.com/jpmiller/cvpr-eda), toward the end, I looked at 2500 random image masks and found nothing above 65.",
      "votes": null
    },
    {
      "id": "310755",
      "postDate": "04/08/2018 13:56:01",
      "content": "<p>In this competition, we evaluate seven different instance-level annotations, which are car, motorcycle, bicycle, pedestrian, truck, bus, and tricycle. The corresponding groups, such as car group and bicycle group, are annotated when boundaries cannot be distinguished by labelers. These groups are not evaluated currently.</p>\n\n<p>Therefore, the class IDs for evaluation are 33, 34, 35, 36, 38, 39, and 40.</p>",
      "rawMarkdown": "In this competition, we evaluate seven different instance-level annotations, which are car, motorcycle, bicycle, pedestrian, truck, bus, and tricycle. The corresponding groups, such as car group and bicycle group, are annotated when boundaries cannot be distinguished by labelers. These groups are not evaluated currently.\n\nTherefore, the class IDs for evaluation are 33, 34, 35, 36, 38, 39, and 40.",
      "votes": null
    },
    {
      "id": "310770",
      "postDate": "04/08/2018 14:59:01",
      "content": "<p>Thanks for the explanation, this makes it clear</p>",
      "rawMarkdown": "Thanks for the explanation, this makes it clear",
      "votes": null
    },
    {
      "id": "310830",
      "postDate": "04/08/2018 18:47:40",
      "content": "<p>@huangxinyu01 there is one thing that is not clear: a lot of image labels have value of 65535 present in them (for example 170908_072807743_Camera_5_instanceIds.png, 170908_082201402_Camera_6_instanceIds.png), I think such value is not allowed by the specification, since we don't have class 65 and also 65000 is not present, what does this value mean?</p>\n\n<p>Code I used to check:</p>\n\n<pre><code>from skimage.io import imread\nnp.unique(imread('data/train_label/170908_082407058_Camera_5_instanceIds.png'))\n-&gt; array([  255, 33000, 33001, 33002, 33003, 38000, 39000, 40000, 65535],\n         dtype=uint16)\n</code></pre>",
      "rawMarkdown": "huangxinyu01 there is one thing that is not clear: a lot of image labels have value of 65535 present in them (for example 170908_072807743_Camera_5_instanceIds.png, 170908_082201402_Camera_6_instanceIds.png), I think such value is not allowed by the specification, since we don't have class 65 and also 65000 is not present, what does this value mean?\n\nCode I used to check:\n\n    from skimage.io import imread\n    np.unique(imread('data/train_label/170908_082407058_Camera_5_instanceIds.png'))\n    -&gt; array([  255, 33000, 33001, 33002, 33003, 38000, 39000, 40000, 65535],\n             dtype=uint16)",
      "votes": null
    },
    {
      "id": "310959",
      "postDate": "04/09/2018 05:13:11",
      "content": "<p>65535 represents the ignoring label that includes all classes not in the evaluation. *_group classes also belong to the ignoring label. In case you want to recover *_group classes, you may use the .json files directly. </p>",
      "rawMarkdown": "65535 represents the ignoring label that includes all classes not in the evaluation. *_group classes also belong to the ignoring label. In case you want to recover *_group classes, you may use the .json files directly.",
      "votes": null
    },
    {
      "id": "323430",
      "postDate": "05/05/2018 06:03:19",
      "content": "<p>So the first step in this competition would be to simply replace any pixel value not in the 7 classes of interest, to 255?</p>",
      "rawMarkdown": "So the first step in this competition would be to simply replace any pixel value not in the 7 classes of interest, to 255?",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 309742,
      "author_name": "jpmiller",
      "author_url": "",
      "post_date": "04/05/2018 22:20:41",
      "content": "<p>I found the same thing but didn't know why. In <a href=\"https://www.kaggle.com/jpmiller/cvpr-eda\">this kernel</a>, toward the end, I looked at 2500 random image masks and found nothing above 65.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 310755,
      "author_name": "huangxinyu01",
      "author_url": "",
      "post_date": "04/08/2018 13:56:01",
      "content": "<p>In this competition, we evaluate seven different instance-level annotations, which are car, motorcycle, bicycle, pedestrian, truck, bus, and tricycle. The corresponding groups, such as car group and bicycle group, are annotated when boundaries cannot be distinguished by labelers. These groups are not evaluated currently.</p>\n\n<p>Therefore, the class IDs for evaluation are 33, 34, 35, 36, 38, 39, and 40.</p>",
      "votes": null,
      "replies": [
        {
          "id": 310770,
          "author_name": "lopuhin",
          "author_url": "",
          "post_date": "04/08/2018 14:59:01",
          "content": "<p>Thanks for the explanation, this makes it clear</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 310830,
          "author_name": "lopuhin",
          "author_url": "",
          "post_date": "04/08/2018 18:47:40",
          "content": "<p>@huangxinyu01 there is one thing that is not clear: a lot of image labels have value of 65535 present in them (for example 170908_072807743_Camera_5_instanceIds.png, 170908_082201402_Camera_6_instanceIds.png), I think such value is not allowed by the specification, since we don't have class 65 and also 65000 is not present, what does this value mean?</p>\n\n<p>Code I used to check:</p>\n\n<pre><code>from skimage.io import imread\nnp.unique(imread('data/train_label/170908_082407058_Camera_5_instanceIds.png'))\n-&gt; array([  255, 33000, 33001, 33002, 33003, 38000, 39000, 40000, 65535],\n         dtype=uint16)\n</code></pre>",
          "votes": null,
          "replies": []
        },
        {
          "id": 310959,
          "author_name": "huangxinyu01",
          "author_url": "",
          "post_date": "04/09/2018 05:13:11",
          "content": "<p>65535 represents the ignoring label that includes all classes not in the evaluation. *_group classes also belong to the ignoring label. In case you want to recover *_group classes, you may use the .json files directly. </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 323430,
      "author_name": "mattobrien415",
      "author_url": "",
      "post_date": "05/05/2018 06:03:19",
      "content": "<p>So the first step in this competition would be to simply replace any pixel value not in the 7 classes of interest, to 255?</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "309715": "The labels look like 16-bit png to me, which means that max value is 65535. This means that max class value after dividing by 1000 is 65, so most classes can't be represented.\n\nIs anyone able to read the data correctly, or could it be in the wrong format?",
    "309742": "I found the same thing but didn't know why. In [this kernel](https://www.kaggle.com/jpmiller/cvpr-eda), toward the end, I looked at 2500 random image masks and found nothing above 65.",
    "310755": "In this competition, we evaluate seven different instance-level annotations, which are car, motorcycle, bicycle, pedestrian, truck, bus, and tricycle. The corresponding groups, such as car group and bicycle group, are annotated when boundaries cannot be distinguished by labelers. These groups are not evaluated currently.\n\nTherefore, the class IDs for evaluation are 33, 34, 35, 36, 38, 39, and 40.",
    "310770": "Thanks for the explanation, this makes it clear",
    "310830": "huangxinyu01 there is one thing that is not clear: a lot of image labels have value of 65535 present in them (for example 170908_072807743_Camera_5_instanceIds.png, 170908_082201402_Camera_6_instanceIds.png), I think such value is not allowed by the specification, since we don't have class 65 and also 65000 is not present, what does this value mean?\n\nCode I used to check:\n\n    from skimage.io import imread\n    np.unique(imread('data/train_label/170908_082407058_Camera_5_instanceIds.png'))\n    -&gt; array([  255, 33000, 33001, 33002, 33003, 38000, 39000, 40000, 65535],\n             dtype=uint16)",
    "310959": "65535 represents the ignoring label that includes all classes not in the evaluation. *_group classes also belong to the ignoring label. In case you want to recover *_group classes, you may use the .json files directly.",
    "323430": "So the first step in this competition would be to simply replace any pixel value not in the 7 classes of interest, to 255?"
  },
  "source": "meta"
}