{
  "id": 115477,
  "title": "LIDAR coordinate systems (KITTI vs. NuScenes vs. Lyft)",
  "url": "/competitions/3d-object-detection-for-autonomous-vehicles/discussion/115477",
  "author_name": "",
  "post_date": "2019-11-03T03:17:20.982201400Z",
  "votes": 14,
  "comment_count": 6,
  "views": 0,
  "content": "<p>In KITTI dataset, LIDAR coordinates XYZ are oriented forward-left-up: <a href=\"http://www.cvlibs.net/datasets/kitti/setup.php\">http://www.cvlibs.net/datasets/kitti/setup.php</a>\nIn original NuScenes dataset, LIDAR XYZ coordinates are right-forward-up, so difference with KITTI is π/2:\n<a href=\"https://www.nuscenes.org/data-collection\">https://www.nuscenes.org/data-collection</a>\nIn Lyft dataset, however, LIDAR_TOP XYZ coordinates are backward-right-up, so difference with KITTI is π.</p>\n\n<p>This is the reason the assert in the original converter script was failing (noticed in <a href=\"https://github.com/lyft/nuscenes-devkit/issues/9\">https://github.com/lyft/nuscenes-devkit/issues/9</a> and other threads here). This might be a problem if you're using LIDAR+camera and converting to KITTI dataset. If you're just using LIDAR, you might be fine but visualizations might be surprising.</p>",
  "messages": [
    {
      "id": "664013",
      "postDate": "11/03/2019 03:17:20",
      "content": "<p>In KITTI dataset, LIDAR coordinates XYZ are oriented forward-left-up: <a href=\"http://www.cvlibs.net/datasets/kitti/setup.php\">http://www.cvlibs.net/datasets/kitti/setup.php</a>\nIn original NuScenes dataset, LIDAR XYZ coordinates are right-forward-up, so difference with KITTI is π/2:\n<a href=\"https://www.nuscenes.org/data-collection\">https://www.nuscenes.org/data-collection</a>\nIn Lyft dataset, however, LIDAR_TOP XYZ coordinates are backward-right-up, so difference with KITTI is π.</p>\n\n<p>This is the reason the assert in the original converter script was failing (noticed in <a href=\"https://github.com/lyft/nuscenes-devkit/issues/9\">https://github.com/lyft/nuscenes-devkit/issues/9</a> and other threads here). This might be a problem if you're using LIDAR+camera and converting to KITTI dataset. If you're just using LIDAR, you might be fine but visualizations might be surprising.</p>",
      "rawMarkdown": "In KITTI dataset, LIDAR coordinates XYZ are oriented forward-left-up: http://www.cvlibs.net/datasets/kitti/setup.php\nIn original NuScenes dataset, LIDAR XYZ coordinates are right-forward-up, so difference with KITTI is π/2:\nhttps://www.nuscenes.org/data-collection\nIn Lyft dataset, however, LIDAR_TOP XYZ coordinates are backward-right-up, so difference with KITTI is π.\n\nThis is the reason the assert in the original converter script was failing (noticed in https://github.com/lyft/nuscenes-devkit/issues/9 and other threads here). This might be a problem if you're using LIDAR+camera and converting to KITTI dataset. If you're just using LIDAR, you might be fine but visualizations might be surprising.",
      "votes": null
    },
    {
      "id": "664458",
      "postDate": "11/03/2019 17:40:57",
      "content": "<p>Thanks, Sergey for pointing this out and creating Pull Request to the <a href=\"https://github.com/lyft/nuscenes-devkit\">https://github.com/lyft/nuscenes-devkit</a></p>\n\n<p>Pull request was merged.</p>",
      "rawMarkdown": "Thanks, Sergey for pointing this out and creating Pull Request to the https://github.com/lyft/nuscenes-devkit\n\nPull request was merged.",
      "votes": null
    },
    {
      "id": "664697",
      "postDate": "11/04/2019 04:41:37",
      "content": "<p>hmmm, I'm not sure I've seen this issue crop up... is this ignoring the sensor extrinsics?  i.e. the extrinsics of Lyft and NuScenes respectively make up for these coordinate frame differences?</p>",
      "rawMarkdown": "hmmm, I'm not sure I've seen this issue crop up... is this ignoring the sensor extrinsics?  i.e. the extrinsics of Lyft and NuScenes respectively make up for these coordinate frame differences?",
      "votes": null
    },
    {
      "id": "664962",
      "postDate": "11/04/2019 13:23:38",
      "content": "<p><a href=\"/iglovikov\">@iglovikov</a> I wonder reasons why you guys did not public a detailed clarification or figure showing sensor coordinates. That thing confused me a lot and wasted a lot of my time.</p>",
      "rawMarkdown": "iglovikov I wonder reasons why you guys did not public a detailed clarification or figure showing sensor coordinates. That thing confused me a lot and wasted a lot of my time.",
      "votes": null
    },
    {
      "id": "664964",
      "postDate": "11/04/2019 13:24:12",
      "content": "<p><a href=\"/sergeyserebryakov\">@sergeyserebryakov</a> Thanks for sharing this.</p>",
      "rawMarkdown": "sergeyserebryakov Thanks for sharing this.",
      "votes": null
    },
    {
      "id": "665332",
      "postDate": "11/04/2019 22:12:04",
      "content": "<p>Agree that the sensor coord frames should be documented rather explicitly.  That said, if you use the provided code APIs that always apply the extrinsics, then the native coordinate frame of the sensor isn't super relevant unless you're doing your own calibration or fancy motion correction.  At least most datasets agree on the same coordinate frame for the ego frame :P </p>",
      "rawMarkdown": "Agree that the sensor coord frames should be documented rather explicitly.  That said, if you use the provided code APIs that always apply the extrinsics, then the native coordinate frame of the sensor isn't super relevant unless you're doing your own calibration or fancy motion correction.  At least most datasets agree on the same coordinate frame for the ego frame :P",
      "votes": null
    },
    {
      "id": "705953",
      "postDate": "12/29/2019 17:58:07",
      "content": "<p>I am working on lidar object detection. But i am unable to move forward. \ncan anybody help me out. </p>",
      "rawMarkdown": "I am working on lidar object detection. But i am unable to move forward. \ncan anybody help me out.",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 664458,
      "author_name": "iglovikov",
      "author_url": "",
      "post_date": "11/03/2019 17:40:57",
      "content": "<p>Thanks, Sergey for pointing this out and creating Pull Request to the <a href=\"https://github.com/lyft/nuscenes-devkit\">https://github.com/lyft/nuscenes-devkit</a></p>\n\n<p>Pull request was merged.</p>",
      "votes": null,
      "replies": [
        {
          "id": 664962,
          "author_name": "usherbob",
          "author_url": "",
          "post_date": "11/04/2019 13:23:38",
          "content": "<p><a href=\"/iglovikov\">@iglovikov</a> I wonder reasons why you guys did not public a detailed clarification or figure showing sensor coordinates. That thing confused me a lot and wasted a lot of my time.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 665332,
          "author_name": "oarphme",
          "author_url": "",
          "post_date": "11/04/2019 22:12:04",
          "content": "<p>Agree that the sensor coord frames should be documented rather explicitly.  That said, if you use the provided code APIs that always apply the extrinsics, then the native coordinate frame of the sensor isn't super relevant unless you're doing your own calibration or fancy motion correction.  At least most datasets agree on the same coordinate frame for the ego frame :P </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 705953,
          "author_name": "bharatsingh213",
          "author_url": "",
          "post_date": "12/29/2019 17:58:07",
          "content": "<p>I am working on lidar object detection. But i am unable to move forward. \ncan anybody help me out. </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 664697,
      "author_name": "oarphme",
      "author_url": "",
      "post_date": "11/04/2019 04:41:37",
      "content": "<p>hmmm, I'm not sure I've seen this issue crop up... is this ignoring the sensor extrinsics?  i.e. the extrinsics of Lyft and NuScenes respectively make up for these coordinate frame differences?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 664964,
      "author_name": "usherbob",
      "author_url": "",
      "post_date": "11/04/2019 13:24:12",
      "content": "<p><a href=\"/sergeyserebryakov\">@sergeyserebryakov</a> Thanks for sharing this.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "664013": "In KITTI dataset, LIDAR coordinates XYZ are oriented forward-left-up: http://www.cvlibs.net/datasets/kitti/setup.php\nIn original NuScenes dataset, LIDAR XYZ coordinates are right-forward-up, so difference with KITTI is π/2:\nhttps://www.nuscenes.org/data-collection\nIn Lyft dataset, however, LIDAR_TOP XYZ coordinates are backward-right-up, so difference with KITTI is π.\n\nThis is the reason the assert in the original converter script was failing (noticed in https://github.com/lyft/nuscenes-devkit/issues/9 and other threads here). This might be a problem if you're using LIDAR+camera and converting to KITTI dataset. If you're just using LIDAR, you might be fine but visualizations might be surprising.",
    "664458": "Thanks, Sergey for pointing this out and creating Pull Request to the https://github.com/lyft/nuscenes-devkit\n\nPull request was merged.",
    "664697": "hmmm, I'm not sure I've seen this issue crop up... is this ignoring the sensor extrinsics?  i.e. the extrinsics of Lyft and NuScenes respectively make up for these coordinate frame differences?",
    "664962": "iglovikov I wonder reasons why you guys did not public a detailed clarification or figure showing sensor coordinates. That thing confused me a lot and wasted a lot of my time.",
    "664964": "sergeyserebryakov Thanks for sharing this.",
    "665332": "Agree that the sensor coord frames should be documented rather explicitly.  That said, if you use the provided code APIs that always apply the extrinsics, then the native coordinate frame of the sensor isn't super relevant unless you're doing your own calibration or fancy motion correction.  At least most datasets agree on the same coordinate frame for the ego frame :P",
    "705953": "I am working on lidar object detection. But i am unable to move forward. \ncan anybody help me out."
  },
  "source": "meta"
}