{
  "id": 123193,
  "title": "Your best model",
  "url": "/competitions/pku-autonomous-driving/discussion/123193",
  "author_name": "",
  "post_date": "2019-12-25T14:54:30.678763800Z",
  "votes": 34,
  "comment_count": 42,
  "views": 0,
  "content": "<p>It seems that this competition lack traditional knowledge exchange, which usually helps to learn new thing from the community, save time and computation. So, let me start. My current best, and only model is an implementation of centernet paper, hourglass104 backbone with a lot of super helpful helper functions from @hocop1  kernel.  I used 1284x384 input size. Augmentation seems tricky, in my experiments only a modest amount of brightness/contrast/gamma and a little random sunflare improves result. Slightly more aggressive and mAp drops significantly. My local CV gives 0.09, public 0.048. </p>",
  "messages": [
    {
      "id": "703072",
      "postDate": "12/25/2019 14:54:30",
      "content": "<p>It seems that this competition lack traditional knowledge exchange, which usually helps to learn new thing from the community, save time and computation. So, let me start. My current best, and only model is an implementation of centernet paper, hourglass104 backbone with a lot of super helpful helper functions from @hocop1  kernel.  I used 1284x384 input size. Augmentation seems tricky, in my experiments only a modest amount of brightness/contrast/gamma and a little random sunflare improves result. Slightly more aggressive and mAp drops significantly. My local CV gives 0.09, public 0.048. </p>",
      "rawMarkdown": "It seems that this competition lack traditional knowledge exchange, which usually helps to learn new thing from the community, save time and computation. So, let me start. My current best, and only model is an implementation of centernet paper, hourglass104 backbone with a lot of super helpful helper functions from @hocop1  kernel.  I used 1284x384 input size. Augmentation seems tricky, in my experiments only a modest amount of brightness/contrast/gamma and a little random sunflare improves result. Slightly more aggressive and mAp drops significantly. My local CV gives 0.09, public 0.048.",
      "votes": null
    },
    {
      "id": "703110",
      "postDate": "12/25/2019 16:10:18",
      "content": "<p>I used the baseline model of  <a href=\"/hocop1\">@hocop1</a> with some modifications, applied efficientnet b0 as a backbone. Input size is  1536 * 512. Loss function is focal loss for mask, l1 loss for regressions. I got local 0.139, public 0.078.\nIn my case, bigger input size and focal loss worked well.</p>",
      "rawMarkdown": "I used the baseline model of  @hocop1 with some modifications, applied efficientnet b0 as a backbone. Input size is  1536 * 512. Loss function is focal loss for mask, l1 loss for regressions. I got local 0.139, public 0.078.\nIn my case, bigger input size and focal loss worked well.",
      "votes": null
    },
    {
      "id": "703158",
      "postDate": "12/25/2019 17:35:30",
      "content": "<p><a href=\"/nihei123\">@nihei123</a> Did you use any augmentation during training, or TTA?</p>",
      "rawMarkdown": "nihei123 Did you use any augmentation during training, or TTA?",
      "votes": null
    },
    {
      "id": "703183",
      "postDate": "12/25/2019 18:37:23",
      "content": "<p><a href=\"/nihei123\">@nihei123</a> \nThanks for your inputs..\n1)could u point me to focal loss for this one..\n2) did you face the issue of loss getting stagnate at around 12-14. My regr loss dsnt goes down beyond 0.6 or so and mask loss beyond 14. Any inputs would be help full . \n3) Are there any issues with labeling and scaling process of hicop model ?</p>",
      "rawMarkdown": "nihei123 \nThanks for your inputs..\n1)could u point me to focal loss for this one..\n2) did you face the issue of loss getting stagnate at around 12-14. My regr loss dsnt goes down beyond 0.6 or so and mask loss beyond 14. Any inputs would be help full . \n3) Are there any issues with labeling and scaling process of hicop model ?",
      "votes": null
    },
    {
      "id": "703191",
      "postDate": "12/25/2019 19:04:26",
      "content": "<p>You're right. There needs to be more exchange.\nYour score is a bit low for Hourglass104. Have you tried encoding input in different ways?</p>\n\n<p>My current score is with DLA34, 512x512 input.\nI tried UNet and FC-Hardnet to no avail. Also, DLA34 &gt; Resnet101, weirdly enough.</p>",
      "rawMarkdown": "You're right. There needs to be more exchange.\nYour score is a bit low for Hourglass104. Have you tried encoding input in different ways?\n\nMy current score is with DLA34, 512x512 input.\nI tried UNet and FC-Hardnet to no avail. Also, DLA34 &gt; Resnet101, weirdly enough.",
      "votes": null
    },
    {
      "id": "703195",
      "postDate": "12/25/2019 19:11:06",
      "content": "<p>Have you tried Hourglass? What exactly do you mean by encoding input in different ways? </p>",
      "rawMarkdown": "Have you tried Hourglass? What exactly do you mean by encoding input in different ways?",
      "votes": null
    },
    {
      "id": "703196",
      "postDate": "12/25/2019 19:12:31",
      "content": "<p>Are you using mixed precision? </p>",
      "rawMarkdown": "Are you using mixed precision?",
      "votes": null
    },
    {
      "id": "703224",
      "postDate": "12/25/2019 20:10:07",
      "content": "<p>I mean how much can people really share? 2 of the top 3 have already said they use centernet so all you really need to do is experiment with encoders and augmentation...</p>",
      "rawMarkdown": "I mean how much can people really share? 2 of the top 3 have already said they use centernet so all you really need to do is experiment with encoders and augmentation...",
      "votes": null
    },
    {
      "id": "703226",
      "postDate": "12/25/2019 20:24:35",
      "content": "<p>I mostly mean sharing some thoughts and minor details, which help everyone to learn more, save some time. I believe that's unalienable feature of Kaggle community </p>",
      "rawMarkdown": "I mostly mean sharing some thoughts and minor details, which help everyone to learn more, save some time. I believe that's unalienable feature of Kaggle community",
      "votes": null
    },
    {
      "id": "703334",
      "postDate": "12/26/2019 02:46:41",
      "content": "<p>Yes i do use mixed fp </p>",
      "rawMarkdown": "Yes i do use mixed fp",
      "votes": null
    },
    {
      "id": "703351",
      "postDate": "12/26/2019 03:21:33",
      "content": "<p>Thank you for sharing Can you give some introductuon to the implementation of focal loss ? I find some source code, but seems very different to our situation(baseline model). Thanks again</p>",
      "rawMarkdown": "Thank you for sharing Can you give some introductuon to the implementation of focal loss ? I find some source code, but seems very different to our situation(baseline model). Thanks again",
      "votes": null
    },
    {
      "id": "703361",
      "postDate": "12/26/2019 03:32:38",
      "content": "<p><a href=\"/cateek\">@cateek</a> \nI used horizontal flip, random brightness, gaussian noise and contrast in training. they slightly improved my score. I haven't tried TTA yet. I tried mixed precision but it didn't work.  so I gave up using it.</p>\n\n<p><a href=\"/jaideepvalani\">@jaideepvalani</a> \n1) For focal loss, applying same calculation described in <a href=\"https://arxiv.org/abs/1904.07850\">the centernet paper</a> may help.\n3) I think pre/post process of <a href=\"/hocop1\">@hocop1</a> kernel without any big change can give good result though there are rooms for experiments.</p>",
      "rawMarkdown": "cateek \nI used horizontal flip, random brightness, gaussian noise and contrast in training. they slightly improved my score. I haven't tried TTA yet. I tried mixed precision but it didn't work.  so I gave up using it.\n\n@jaideepvalani \n1) For focal loss, applying same calculation described in [the centernet paper](https://arxiv.org/abs/1904.07850) may help.\n3) I think pre/post process of @hocop1 kernel without any big change can give good result though there are rooms for experiments.",
      "votes": null
    },
    {
      "id": "703667",
      "postDate": "12/26/2019 13:16:41",
      "content": "<p>Hi, have you tried BCE loss under the same configuration?\nI have almost same setting as yours, except I used bce loss which gave me 0.06 lb, switching to focal loss increases CV to .14+, but decreased lb to 0.04+\nThanks for sharing.</p>",
      "rawMarkdown": "Hi, have you tried BCE loss under the same configuration?\nI have almost same setting as yours, except I used bce loss which gave me 0.06 lb, switching to focal loss increases CV to .14+, but decreased lb to 0.04+\nThanks for sharing.",
      "votes": null
    },
    {
      "id": "703680",
      "postDate": "12/26/2019 13:41:54",
      "content": "<p>I am actually stuck in a weird problem . I am using various resnet architecture with my public Kernel and somehow the lower image size like 512x512 gives good prediction but it gives very very low public LB score like .025 . Is there something like Model_Scale or other pre-post processing step needs to be changed from@hocop1 's kernel with a changing imagesize ?  I compared the regression values from the larger and smaller image size and looks like few values like x and z are quite different like 1/4th or 1/6th as compared to large image size prediction . Larger image size is not better because it finds more features , i feel large image size are working well whoever has taken <a href=\"/hocop1\">@hocop1</a>'s adoption because there is somewhere image size dependency hidden in the pre-post process.</p>\n\n<p>Any help would be great .</p>",
      "rawMarkdown": "I am actually stuck in a weird problem . I am using various resnet architecture with my public Kernel and somehow the lower image size like 512x512 gives good prediction but it gives very very low public LB score like .025 . Is there something like Model_Scale or other pre-post processing step needs to be changed from@hocop1 's kernel with a changing imagesize ?  I compared the regression values from the larger and smaller image size and looks like few values like x and z are quite different like 1/4th or 1/6th as compared to large image size prediction . Larger image size is not better because it finds more features , i feel large image size are working well whoever has taken @hocop1's adoption because there is somewhere image size dependency hidden in the pre-post process.\n\nAny help would be great .",
      "votes": null
    },
    {
      "id": "703708",
      "postDate": "12/26/2019 14:31:05",
      "content": "<p>However, my attempts with DLA 34 and DLA 102 are both lower than resnet. </p>",
      "rawMarkdown": "However, my attempts with DLA 34 and DLA 102 are both lower than resnet.",
      "votes": null
    },
    {
      "id": "703713",
      "postDate": "12/26/2019 14:43:37",
      "content": "<p><a href=\"/niuddd\">@niuddd</a> I found that finetuning with focal loss improves result</p>",
      "rawMarkdown": "niuddd I found that finetuning with focal loss improves result",
      "votes": null
    },
    {
      "id": "703729",
      "postDate": "12/26/2019 15:19:24",
      "content": "<p>How you get CV map? <a href=\"https://www.kaggle.com/its7171/metrics-evaluation-script\">tito's kernel?</a> <a href=\"/niuddd\">@niuddd</a> </p>",
      "rawMarkdown": "How you get CV map? [tito's kernel?](https://www.kaggle.com/its7171/metrics-evaluation-script) @niuddd",
      "votes": null
    },
    {
      "id": "703864",
      "postDate": "12/26/2019 18:25:26",
      "content": "<p><a href=\"/nihei123\">@nihei123</a> to what extent have u tried mixed fp. I always used mixed fp it has worked more or less same as with fuller one.</p>",
      "rawMarkdown": "nihei123 to what extent have u tried mixed fp. I always used mixed fp it has worked more or less same as with fuller one.",
      "votes": null
    },
    {
      "id": "704055",
      "postDate": "12/27/2019 01:53:25",
      "content": "<p><a href=\"/niuddd\">@niuddd</a> \nI tried BCE and focal loss in several configurations. In most cases focal loss is better or same as BCE.\nMy concern is, because public lb calculation method is unclear and shows only 9% of whole test data, both my local cv and public lb score can be unreliable.\nIn other configuration I got local 0.32 but resulted in public 0.077.</p>",
      "rawMarkdown": "niuddd \nI tried BCE and focal loss in several configurations. In most cases focal loss is better or same as BCE.\nMy concern is, because public lb calculation method is unclear and shows only 9% of whole test data, both my local cv and public lb score can be unreliable.\nIn other configuration I got local 0.32 but resulted in public 0.077.",
      "votes": null
    },
    {
      "id": "704076",
      "postDate": "12/27/2019 02:37:39",
      "content": "<p><a href=\"/nihei123\">@nihei123</a> Did efficientnetb0 work better than other sizes of efficientnet for you?</p>",
      "rawMarkdown": "nihei123 Did efficientnetb0 work better than other sizes of efficientnet for you?",
      "votes": null
    },
    {
      "id": "704077",
      "postDate": "12/27/2019 02:39:08",
      "content": "<p><a href=\"/nihei123\">@nihei123</a> All of my attempts with efficientnet had inferior results compared to resnet and densnet. My best result from efficientnet was b4 with 0.05 public LB</p>",
      "rawMarkdown": "nihei123 All of my attempts with efficientnet had inferior results compared to resnet and densnet. My best result from efficientnet was b4 with 0.05 public LB",
      "votes": null
    },
    {
      "id": "704265",
      "postDate": "12/27/2019 08:41:31",
      "content": "<p><a href=\"/phoenix9032\">@phoenix9032</a>  try reducing the model scale from 8 to 4 also once and see</p>",
      "rawMarkdown": "phoenix9032  try reducing the model scale from 8 to 4 also once and see",
      "votes": null
    },
    {
      "id": "704288",
      "postDate": "12/27/2019 09:19:04",
      "content": "<p><a href=\"/chroteus\">@chroteus</a> \n1) did u change model scale for size 512/512\n2) Have u built 2 d x,y using euler rotations matrix taking into Y p R  or only x,y,z</p>",
      "rawMarkdown": "chroteus \n1) did u change model scale for size 512/512\n2) Have u built 2 d x,y using euler rotations matrix taking into Y p R  or only x,y,z",
      "votes": null
    },
    {
      "id": "704406",
      "postDate": "12/27/2019 12:49:04",
      "content": "<p>1) Nope.\n2) I don't understand your second question.</p>",
      "rawMarkdown": "1) Nope.\n2) I don't understand your second question.",
      "votes": null
    },
    {
      "id": "704420",
      "postDate": "12/27/2019 13:04:24",
      "content": "<p>i meant did u make use of Yaw/Pitch/Role for generating coordinates.i am still trying to figure will these be useful info for model to learn or this is useful for visualization only.</p>\n\n<p><code>\nx, y, z = float(point[4]), float(point[5]), float(point[6])\n        yaw, pitch, roll = -float(point[1]), -float(point[2]), -float(point[3])\n        # Math\n        Rt = np.eye(4)\n        t = np.array([x, y, z])\n        Rt[:3, 3] = t\n        Rt[:3, :3] = euler_to_Rot(yaw, pitch, roll).T\n        Rt = Rt[:3, :]\n        P = np.array([[x_l, -y_l, -z_l, 1],\n                      [x_l, -y_l, z_l, 1],\n                      [-x_l, -y_l, z_l, 1],\n                      [-x_l, -y_l, -z_l, 1],\n                      [0, 0, 0, 1]]).T\n        img_cor_points = np.dot(camera_matrix, np.dot(Rt, P))\n        img_cor_points = img_cor_points.T\n        img_cor_points[:, 0] /= img_cor_points[:, 2]\n        img_cor_points[:, 1] /= img_cor_points[:, 2]\n        img_cor_points = img_cor_points.astype(int)\n</code></p>",
      "rawMarkdown": "i meant did u make use of Yaw/Pitch/Role for generating coordinates.i am still trying to figure will these be useful info for model to learn or this is useful for visualization only.\n\n```\nx, y, z = float(point[4]), float(point[5]), float(point[6])\n        yaw, pitch, roll = -float(point[1]), -float(point[2]), -float(point[3])\n        # Math\n        Rt = np.eye(4)\n        t = np.array([x, y, z])\n        Rt[:3, 3] = t\n        Rt[:3, :3] = euler_to_Rot(yaw, pitch, roll).T\n        Rt = Rt[:3, :]\n        P = np.array([[x_l, -y_l, -z_l, 1],\n                      [x_l, -y_l, z_l, 1],\n                      [-x_l, -y_l, z_l, 1],\n                      [-x_l, -y_l, -z_l, 1],\n                      [0, 0, 0, 1]]).T\n        img_cor_points = np.dot(camera_matrix, np.dot(Rt, P))\n        img_cor_points = img_cor_points.T\n        img_cor_points[:, 0] /= img_cor_points[:, 2]\n        img_cor_points[:, 1] /= img_cor_points[:, 2]\n        img_cor_points = img_cor_points.astype(int)\n```",
      "votes": null
    },
    {
      "id": "704422",
      "postDate": "12/27/2019 13:06:46",
      "content": "<p><a href=\"/cateek\">@cateek</a> could u please tel which version of focal loss do you use. \nThanks in advance.</p>",
      "rawMarkdown": "cateek could u please tel which version of focal loss do you use. \nThanks in advance.",
      "votes": null
    },
    {
      "id": "704453",
      "postDate": "12/27/2019 13:58:30",
      "content": "<p>No, just for visualization.</p>",
      "rawMarkdown": "No, just for visualization.",
      "votes": null
    },
    {
      "id": "704457",
      "postDate": "12/27/2019 14:07:39",
      "content": "<p>ok.. how are you accounting for rotational errors ,i read in top 6th place position that there is rotational loss also taken into account. Which i think is not taken care well in simple regression</p>",
      "rawMarkdown": "ok.. how are you accounting for rotational errors ,i read in top 6th place position that there is rotational loss also taken into account. Which i think is not taken care well in simple regression",
      "votes": null
    },
    {
      "id": "704503",
      "postDate": "12/27/2019 14:49:46",
      "content": "<p>I am also stuck with this problem. Now trying with model scale 4</p>",
      "rawMarkdown": "I am also stuck with this problem. Now trying with model scale 4",
      "votes": null
    },
    {
      "id": "704573",
      "postDate": "12/27/2019 16:23:50",
      "content": "<p>I used neg_loss from centernet paper, with a little parameter adjustment. </p>",
      "rawMarkdown": "I used neg_loss from centernet paper, with a little parameter adjustment.",
      "votes": null
    },
    {
      "id": "706258",
      "postDate": "12/30/2019 06:34:11",
      "content": "<p>did you prepare the ground truth heatmaps as gaussians as stated in the centernet paper?\nor are just simple points enough in your case..</p>\n\n<p>just preparing the \"mask\" itself as gaussians are easy  but preparing the regression gts are quite tricky and have no clue..</p>",
      "rawMarkdown": "did you prepare the ground truth heatmaps as gaussians as stated in the centernet paper?\nor are just simple points enough in your case..\n\njust preparing the \"mask\" itself as gaussians are easy  but preparing the regression gts are quite tricky and have no clue..",
      "votes": null
    },
    {
      "id": "706486",
      "postDate": "12/30/2019 13:05:32",
      "content": "<p><a href=\"/tonychenxyz\">@tonychenxyz</a> \nI have tried only efficientnet b0 and b1 when using <a href=\"/hocop1\">@hocop1</a>'s baseline model and resulted in b0 &gt; b1.</p>\n\n<p><a href=\"/kyoshioka47\">@kyoshioka47</a> \nYes, I have used gaussian heatmap following the paper though I'm not sure my implementation is correct.</p>",
      "rawMarkdown": "tonychenxyz \nI have tried only efficientnet b0 and b1 when using @hocop1's baseline model and resulted in b0 &gt; b1.\n\n@kyoshioka47 \nYes, I have used gaussian heatmap following the paper though I'm not sure my implementation is correct.",
      "votes": null
    },
    {
      "id": "706573",
      "postDate": "12/30/2019 15:24:27",
      "content": "<p>@Nihei if we use Gausian HM.. then is there any decoding  or transformation required during inference ?</p>",
      "rawMarkdown": "Nihei if we use Gausian HM.. then is there any decoding  or transformation required during inference ?",
      "votes": null
    },
    {
      "id": "706619",
      "postDate": "12/30/2019 16:11:29",
      "content": "<p><a href=\"/nihei123\">@nihei123</a> Did you use functions from centernet repo to apply gaussian kernel? </p>",
      "rawMarkdown": "nihei123 Did you use functions from centernet repo to apply gaussian kernel?",
      "votes": null
    },
    {
      "id": "706907",
      "postDate": "12/31/2019 01:32:29",
      "content": "<p>I think in pre/post processing some small changes are needed for image height and width if someone change the image size, btw, how did you change model scale 8 to 4?</p>",
      "rawMarkdown": "I think in pre/post processing some small changes are needed for image height and width if someone change the image size, btw, how did you change model scale 8 to 4?",
      "votes": null
    },
    {
      "id": "706936",
      "postDate": "12/31/2019 03:30:52",
      "content": "<p><a href=\"/nihei123\">@nihei123</a> Hi,Have you changed the Adam optimizer?lr=0.01?  In my experiments, the optimizer has a big impact,Thanks</p>",
      "rawMarkdown": "nihei123 Hi,Have you changed the Adam optimizer?lr=0.01?  In my experiments, the optimizer has a big impact,Thanks",
      "votes": null
    },
    {
      "id": "707237",
      "postDate": "12/31/2019 13:06:24",
      "content": "<p>I'm trying to merge the original centernet model with hocop1's kernel but failed to achieve higher score. I'm now stuck in making further improvements. Don't know what is wrong.</p>",
      "rawMarkdown": "I'm trying to merge the original centernet model with hocop1's kernel but failed to achieve higher score. I'm now stuck in making further improvements. Don't know what is wrong.",
      "votes": null
    },
    {
      "id": "707529",
      "postDate": "01/01/2020 01:59:07",
      "content": "<p>I tried different lr but 0.01 seems ok.</p>",
      "rawMarkdown": "I tried different lr but 0.01 seems ok.",
      "votes": null
    },
    {
      "id": "707546",
      "postDate": "01/01/2020 03:27:15",
      "content": "<p><a href=\"/nihei123\">@nihei123</a> \n1. What is yours lr scheduler  are using any cyclic ones <br>\n2. Do you face issue of fluctuating losses  ,how can that be addressed . I m not finding issues with labeling as such </p>",
      "rawMarkdown": "nihei123 \n1. What is yours lr scheduler  are using any cyclic ones   \n2. Do you face issue of fluctuating losses  ,how can that be addressed . I m not finding issues with labeling as such",
      "votes": null
    },
    {
      "id": "708274",
      "postDate": "01/02/2020 06:27:36",
      "content": "<p>Using AdamW optimizer gave me better results than Adam</p>",
      "rawMarkdown": "Using AdamW optimizer gave me better results than Adam",
      "votes": null
    },
    {
      "id": "708685",
      "postDate": "01/02/2020 14:49:20",
      "content": "<p>I want to ask a stupid question, what is local CV,how to get this score😃 ?</p>",
      "rawMarkdown": "I want to ask a stupid question, what is local CV,how to get this score😃 ?",
      "votes": null
    },
    {
      "id": "708956",
      "postDate": "01/02/2020 21:47:17",
      "content": "<p>It means local cross-validation set that is sampled from the training set itself. If you train your model on part of the training set and then test it on the remaining (CV set), you'll get your local CV score. </p>",
      "rawMarkdown": "It means local cross-validation set that is sampled from the training set itself. If you train your model on part of the training set and then test it on the remaining (CV set), you'll get your local CV score.",
      "votes": null
    },
    {
      "id": "709051",
      "postDate": "01/03/2020 01:27:29",
      "content": "<p>thank you!\nuse this way to calculate socre?\n<a href=\"https://www.kaggle.com/c/pku-autonomous-driving/overview/evaluation\">evalution</a></p>",
      "rawMarkdown": "thank you!\nuse this way to calculate socre?\n[evalution](https://www.kaggle.com/c/pku-autonomous-driving/overview/evaluation)",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 703110,
      "author_name": "nihei123",
      "author_url": "",
      "post_date": "12/25/2019 16:10:18",
      "content": "<p>I used the baseline model of  <a href=\"/hocop1\">@hocop1</a> with some modifications, applied efficientnet b0 as a backbone. Input size is  1536 * 512. Loss function is focal loss for mask, l1 loss for regressions. I got local 0.139, public 0.078.\nIn my case, bigger input size and focal loss worked well.</p>",
      "votes": null,
      "replies": [
        {
          "id": 703158,
          "author_name": "cateek",
          "author_url": "",
          "post_date": "12/25/2019 17:35:30",
          "content": "<p><a href=\"/nihei123\">@nihei123</a> Did you use any augmentation during training, or TTA?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 703183,
          "author_name": "jaideepvalani",
          "author_url": "",
          "post_date": "12/25/2019 18:37:23",
          "content": "<p><a href=\"/nihei123\">@nihei123</a> \nThanks for your inputs..\n1)could u point me to focal loss for this one..\n2) did you face the issue of loss getting stagnate at around 12-14. My regr loss dsnt goes down beyond 0.6 or so and mask loss beyond 14. Any inputs would be help full . \n3) Are there any issues with labeling and scaling process of hicop model ?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 703196,
          "author_name": "cateek",
          "author_url": "",
          "post_date": "12/25/2019 19:12:31",
          "content": "<p>Are you using mixed precision? </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 703334,
          "author_name": "jaideepvalani",
          "author_url": "",
          "post_date": "12/26/2019 02:46:41",
          "content": "<p>Yes i do use mixed fp </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 703351,
          "author_name": "johndkl",
          "author_url": "",
          "post_date": "12/26/2019 03:21:33",
          "content": "<p>Thank you for sharing Can you give some introductuon to the implementation of focal loss ? I find some source code, but seems very different to our situation(baseline model). Thanks again</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 703361,
          "author_name": "nihei123",
          "author_url": "",
          "post_date": "12/26/2019 03:32:38",
          "content": "<p><a href=\"/cateek\">@cateek</a> \nI used horizontal flip, random brightness, gaussian noise and contrast in training. they slightly improved my score. I haven't tried TTA yet. I tried mixed precision but it didn't work.  so I gave up using it.</p>\n\n<p><a href=\"/jaideepvalani\">@jaideepvalani</a> \n1) For focal loss, applying same calculation described in <a href=\"https://arxiv.org/abs/1904.07850\">the centernet paper</a> may help.\n3) I think pre/post process of <a href=\"/hocop1\">@hocop1</a> kernel without any big change can give good result though there are rooms for experiments.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 703667,
          "author_name": "niuddd",
          "author_url": "",
          "post_date": "12/26/2019 13:16:41",
          "content": "<p>Hi, have you tried BCE loss under the same configuration?\nI have almost same setting as yours, except I used bce loss which gave me 0.06 lb, switching to focal loss increases CV to .14+, but decreased lb to 0.04+\nThanks for sharing.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 703713,
          "author_name": "cateek",
          "author_url": "",
          "post_date": "12/26/2019 14:43:37",
          "content": "<p><a href=\"/niuddd\">@niuddd</a> I found that finetuning with focal loss improves result</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 703729,
          "author_name": "cswwp347724",
          "author_url": "",
          "post_date": "12/26/2019 15:19:24",
          "content": "<p>How you get CV map? <a href=\"https://www.kaggle.com/its7171/metrics-evaluation-script\">tito's kernel?</a> <a href=\"/niuddd\">@niuddd</a> </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 703864,
          "author_name": "jaideepvalani",
          "author_url": "",
          "post_date": "12/26/2019 18:25:26",
          "content": "<p><a href=\"/nihei123\">@nihei123</a> to what extent have u tried mixed fp. I always used mixed fp it has worked more or less same as with fuller one.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 704055,
          "author_name": "nihei123",
          "author_url": "",
          "post_date": "12/27/2019 01:53:25",
          "content": "<p><a href=\"/niuddd\">@niuddd</a> \nI tried BCE and focal loss in several configurations. In most cases focal loss is better or same as BCE.\nMy concern is, because public lb calculation method is unclear and shows only 9% of whole test data, both my local cv and public lb score can be unreliable.\nIn other configuration I got local 0.32 but resulted in public 0.077.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 704076,
          "author_name": "tonychenxyz",
          "author_url": "",
          "post_date": "12/27/2019 02:37:39",
          "content": "<p><a href=\"/nihei123\">@nihei123</a> Did efficientnetb0 work better than other sizes of efficientnet for you?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 704077,
          "author_name": "tonychenxyz",
          "author_url": "",
          "post_date": "12/27/2019 02:39:08",
          "content": "<p><a href=\"/nihei123\">@nihei123</a> All of my attempts with efficientnet had inferior results compared to resnet and densnet. My best result from efficientnet was b4 with 0.05 public LB</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 704422,
          "author_name": "jaideepvalani",
          "author_url": "",
          "post_date": "12/27/2019 13:06:46",
          "content": "<p><a href=\"/cateek\">@cateek</a> could u please tel which version of focal loss do you use. \nThanks in advance.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 704573,
          "author_name": "cateek",
          "author_url": "",
          "post_date": "12/27/2019 16:23:50",
          "content": "<p>I used neg_loss from centernet paper, with a little parameter adjustment. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 706258,
          "author_name": "kyoshioka47",
          "author_url": "",
          "post_date": "12/30/2019 06:34:11",
          "content": "<p>did you prepare the ground truth heatmaps as gaussians as stated in the centernet paper?\nor are just simple points enough in your case..</p>\n\n<p>just preparing the \"mask\" itself as gaussians are easy  but preparing the regression gts are quite tricky and have no clue..</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 706486,
          "author_name": "nihei123",
          "author_url": "",
          "post_date": "12/30/2019 13:05:32",
          "content": "<p><a href=\"/tonychenxyz\">@tonychenxyz</a> \nI have tried only efficientnet b0 and b1 when using <a href=\"/hocop1\">@hocop1</a>'s baseline model and resulted in b0 &gt; b1.</p>\n\n<p><a href=\"/kyoshioka47\">@kyoshioka47</a> \nYes, I have used gaussian heatmap following the paper though I'm not sure my implementation is correct.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 706573,
          "author_name": "jaideepvalani",
          "author_url": "",
          "post_date": "12/30/2019 15:24:27",
          "content": "<p>@Nihei if we use Gausian HM.. then is there any decoding  or transformation required during inference ?</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 706619,
          "author_name": "cateek",
          "author_url": "",
          "post_date": "12/30/2019 16:11:29",
          "content": "<p><a href=\"/nihei123\">@nihei123</a> Did you use functions from centernet repo to apply gaussian kernel? </p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 703191,
      "author_name": "chroteus",
      "author_url": "",
      "post_date": "12/25/2019 19:04:26",
      "content": "<p>You're right. There needs to be more exchange.\nYour score is a bit low for Hourglass104. Have you tried encoding input in different ways?</p>\n\n<p>My current score is with DLA34, 512x512 input.\nI tried UNet and FC-Hardnet to no avail. Also, DLA34 &gt; Resnet101, weirdly enough.</p>",
      "votes": null,
      "replies": [
        {
          "id": 703195,
          "author_name": "cateek",
          "author_url": "",
          "post_date": "12/25/2019 19:11:06",
          "content": "<p>Have you tried Hourglass? What exactly do you mean by encoding input in different ways? </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 703224,
          "author_name": "greatgamedota",
          "author_url": "",
          "post_date": "12/25/2019 20:10:07",
          "content": "<p>I mean how much can people really share? 2 of the top 3 have already said they use centernet so all you really need to do is experiment with encoders and augmentation...</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 703226,
          "author_name": "cateek",
          "author_url": "",
          "post_date": "12/25/2019 20:24:35",
          "content": "<p>I mostly mean sharing some thoughts and minor details, which help everyone to learn more, save some time. I believe that's unalienable feature of Kaggle community </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 703708,
          "author_name": "tonychenxyz",
          "author_url": "",
          "post_date": "12/26/2019 14:31:05",
          "content": "<p>However, my attempts with DLA 34 and DLA 102 are both lower than resnet. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 704288,
          "author_name": "jaideepvalani",
          "author_url": "",
          "post_date": "12/27/2019 09:19:04",
          "content": "<p><a href=\"/chroteus\">@chroteus</a> \n1) did u change model scale for size 512/512\n2) Have u built 2 d x,y using euler rotations matrix taking into Y p R  or only x,y,z</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 704406,
          "author_name": "chroteus",
          "author_url": "",
          "post_date": "12/27/2019 12:49:04",
          "content": "<p>1) Nope.\n2) I don't understand your second question.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 704420,
          "author_name": "jaideepvalani",
          "author_url": "",
          "post_date": "12/27/2019 13:04:24",
          "content": "<p>i meant did u make use of Yaw/Pitch/Role for generating coordinates.i am still trying to figure will these be useful info for model to learn or this is useful for visualization only.</p>\n\n<p><code>\nx, y, z = float(point[4]), float(point[5]), float(point[6])\n        yaw, pitch, roll = -float(point[1]), -float(point[2]), -float(point[3])\n        # Math\n        Rt = np.eye(4)\n        t = np.array([x, y, z])\n        Rt[:3, 3] = t\n        Rt[:3, :3] = euler_to_Rot(yaw, pitch, roll).T\n        Rt = Rt[:3, :]\n        P = np.array([[x_l, -y_l, -z_l, 1],\n                      [x_l, -y_l, z_l, 1],\n                      [-x_l, -y_l, z_l, 1],\n                      [-x_l, -y_l, -z_l, 1],\n                      [0, 0, 0, 1]]).T\n        img_cor_points = np.dot(camera_matrix, np.dot(Rt, P))\n        img_cor_points = img_cor_points.T\n        img_cor_points[:, 0] /= img_cor_points[:, 2]\n        img_cor_points[:, 1] /= img_cor_points[:, 2]\n        img_cor_points = img_cor_points.astype(int)\n</code></p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 704453,
          "author_name": "chroteus",
          "author_url": "",
          "post_date": "12/27/2019 13:58:30",
          "content": "<p>No, just for visualization.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 704457,
          "author_name": "jaideepvalani",
          "author_url": "",
          "post_date": "12/27/2019 14:07:39",
          "content": "<p>ok.. how are you accounting for rotational errors ,i read in top 6th place position that there is rotational loss also taken into account. Which i think is not taken care well in simple regression</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 703680,
      "author_name": "phoenix9032",
      "author_url": "",
      "post_date": "12/26/2019 13:41:54",
      "content": "<p>I am actually stuck in a weird problem . I am using various resnet architecture with my public Kernel and somehow the lower image size like 512x512 gives good prediction but it gives very very low public LB score like .025 . Is there something like Model_Scale or other pre-post processing step needs to be changed from@hocop1 's kernel with a changing imagesize ?  I compared the regression values from the larger and smaller image size and looks like few values like x and z are quite different like 1/4th or 1/6th as compared to large image size prediction . Larger image size is not better because it finds more features , i feel large image size are working well whoever has taken <a href=\"/hocop1\">@hocop1</a>'s adoption because there is somewhere image size dependency hidden in the pre-post process.</p>\n\n<p>Any help would be great .</p>",
      "votes": null,
      "replies": [
        {
          "id": 704265,
          "author_name": "jaideepvalani",
          "author_url": "",
          "post_date": "12/27/2019 08:41:31",
          "content": "<p><a href=\"/phoenix9032\">@phoenix9032</a>  try reducing the model scale from 8 to 4 also once and see</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 704503,
          "author_name": "swathym",
          "author_url": "",
          "post_date": "12/27/2019 14:49:46",
          "content": "<p>I am also stuck with this problem. Now trying with model scale 4</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 706907,
          "author_name": "niuddd",
          "author_url": "",
          "post_date": "12/31/2019 01:32:29",
          "content": "<p>I think in pre/post processing some small changes are needed for image height and width if someone change the image size, btw, how did you change model scale 8 to 4?</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 706936,
      "author_name": "uestctubiao",
      "author_url": "",
      "post_date": "12/31/2019 03:30:52",
      "content": "<p><a href=\"/nihei123\">@nihei123</a> Hi,Have you changed the Adam optimizer?lr=0.01?  In my experiments, the optimizer has a big impact,Thanks</p>",
      "votes": null,
      "replies": [
        {
          "id": 707529,
          "author_name": "nihei123",
          "author_url": "",
          "post_date": "01/01/2020 01:59:07",
          "content": "<p>I tried different lr but 0.01 seems ok.</p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 707546,
          "author_name": "jaideepvalani",
          "author_url": "",
          "post_date": "01/01/2020 03:27:15",
          "content": "<p><a href=\"/nihei123\">@nihei123</a> \n1. What is yours lr scheduler  are using any cyclic ones <br>\n2. Do you face issue of fluctuating losses  ,how can that be addressed . I m not finding issues with labeling as such </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 708274,
          "author_name": "swathym",
          "author_url": "",
          "post_date": "01/02/2020 06:27:36",
          "content": "<p>Using AdamW optimizer gave me better results than Adam</p>",
          "votes": null,
          "replies": []
        }
      ]
    },
    {
      "id": 707237,
      "author_name": "mina1994",
      "author_url": "",
      "post_date": "12/31/2019 13:06:24",
      "content": "<p>I'm trying to merge the original centernet model with hocop1's kernel but failed to achieve higher score. I'm now stuck in making further improvements. Don't know what is wrong.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 708685,
      "author_name": "kiruto",
      "author_url": "",
      "post_date": "01/02/2020 14:49:20",
      "content": "<p>I want to ask a stupid question, what is local CV,how to get this score😃 ?</p>",
      "votes": null,
      "replies": [
        {
          "id": 708956,
          "author_name": "itsamk",
          "author_url": "",
          "post_date": "01/02/2020 21:47:17",
          "content": "<p>It means local cross-validation set that is sampled from the training set itself. If you train your model on part of the training set and then test it on the remaining (CV set), you'll get your local CV score. </p>",
          "votes": null,
          "replies": []
        },
        {
          "id": 709051,
          "author_name": "kiruto",
          "author_url": "",
          "post_date": "01/03/2020 01:27:29",
          "content": "<p>thank you!\nuse this way to calculate socre?\n<a href=\"https://www.kaggle.com/c/pku-autonomous-driving/overview/evaluation\">evalution</a></p>",
          "votes": null,
          "replies": []
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "703072": "It seems that this competition lack traditional knowledge exchange, which usually helps to learn new thing from the community, save time and computation. So, let me start. My current best, and only model is an implementation of centernet paper, hourglass104 backbone with a lot of super helpful helper functions from @hocop1  kernel.  I used 1284x384 input size. Augmentation seems tricky, in my experiments only a modest amount of brightness/contrast/gamma and a little random sunflare improves result. Slightly more aggressive and mAp drops significantly. My local CV gives 0.09, public 0.048.",
    "703110": "I used the baseline model of  @hocop1 with some modifications, applied efficientnet b0 as a backbone. Input size is  1536 * 512. Loss function is focal loss for mask, l1 loss for regressions. I got local 0.139, public 0.078.\nIn my case, bigger input size and focal loss worked well.",
    "703158": "nihei123 Did you use any augmentation during training, or TTA?",
    "703183": "nihei123 \nThanks for your inputs..\n1)could u point me to focal loss for this one..\n2) did you face the issue of loss getting stagnate at around 12-14. My regr loss dsnt goes down beyond 0.6 or so and mask loss beyond 14. Any inputs would be help full . \n3) Are there any issues with labeling and scaling process of hicop model ?",
    "703191": "You're right. There needs to be more exchange.\nYour score is a bit low for Hourglass104. Have you tried encoding input in different ways?\n\nMy current score is with DLA34, 512x512 input.\nI tried UNet and FC-Hardnet to no avail. Also, DLA34 &gt; Resnet101, weirdly enough.",
    "703195": "Have you tried Hourglass? What exactly do you mean by encoding input in different ways?",
    "703196": "Are you using mixed precision?",
    "703224": "I mean how much can people really share? 2 of the top 3 have already said they use centernet so all you really need to do is experiment with encoders and augmentation...",
    "703226": "I mostly mean sharing some thoughts and minor details, which help everyone to learn more, save some time. I believe that's unalienable feature of Kaggle community",
    "703334": "Yes i do use mixed fp",
    "703351": "Thank you for sharing Can you give some introductuon to the implementation of focal loss ? I find some source code, but seems very different to our situation(baseline model). Thanks again",
    "703361": "cateek \nI used horizontal flip, random brightness, gaussian noise and contrast in training. they slightly improved my score. I haven't tried TTA yet. I tried mixed precision but it didn't work.  so I gave up using it.\n\n@jaideepvalani \n1) For focal loss, applying same calculation described in [the centernet paper](https://arxiv.org/abs/1904.07850) may help.\n3) I think pre/post process of @hocop1 kernel without any big change can give good result though there are rooms for experiments.",
    "703667": "Hi, have you tried BCE loss under the same configuration?\nI have almost same setting as yours, except I used bce loss which gave me 0.06 lb, switching to focal loss increases CV to .14+, but decreased lb to 0.04+\nThanks for sharing.",
    "703680": "I am actually stuck in a weird problem . I am using various resnet architecture with my public Kernel and somehow the lower image size like 512x512 gives good prediction but it gives very very low public LB score like .025 . Is there something like Model_Scale or other pre-post processing step needs to be changed from@hocop1 's kernel with a changing imagesize ?  I compared the regression values from the larger and smaller image size and looks like few values like x and z are quite different like 1/4th or 1/6th as compared to large image size prediction . Larger image size is not better because it finds more features , i feel large image size are working well whoever has taken @hocop1's adoption because there is somewhere image size dependency hidden in the pre-post process.\n\nAny help would be great .",
    "703708": "However, my attempts with DLA 34 and DLA 102 are both lower than resnet.",
    "703713": "niuddd I found that finetuning with focal loss improves result",
    "703729": "How you get CV map? [tito's kernel?](https://www.kaggle.com/its7171/metrics-evaluation-script) @niuddd",
    "703864": "nihei123 to what extent have u tried mixed fp. I always used mixed fp it has worked more or less same as with fuller one.",
    "704055": "niuddd \nI tried BCE and focal loss in several configurations. In most cases focal loss is better or same as BCE.\nMy concern is, because public lb calculation method is unclear and shows only 9% of whole test data, both my local cv and public lb score can be unreliable.\nIn other configuration I got local 0.32 but resulted in public 0.077.",
    "704076": "nihei123 Did efficientnetb0 work better than other sizes of efficientnet for you?",
    "704077": "nihei123 All of my attempts with efficientnet had inferior results compared to resnet and densnet. My best result from efficientnet was b4 with 0.05 public LB",
    "704265": "phoenix9032  try reducing the model scale from 8 to 4 also once and see",
    "704288": "chroteus \n1) did u change model scale for size 512/512\n2) Have u built 2 d x,y using euler rotations matrix taking into Y p R  or only x,y,z",
    "704406": "1) Nope.\n2) I don't understand your second question.",
    "704420": "i meant did u make use of Yaw/Pitch/Role for generating coordinates.i am still trying to figure will these be useful info for model to learn or this is useful for visualization only.\n\n```\nx, y, z = float(point[4]), float(point[5]), float(point[6])\n        yaw, pitch, roll = -float(point[1]), -float(point[2]), -float(point[3])\n        # Math\n        Rt = np.eye(4)\n        t = np.array([x, y, z])\n        Rt[:3, 3] = t\n        Rt[:3, :3] = euler_to_Rot(yaw, pitch, roll).T\n        Rt = Rt[:3, :]\n        P = np.array([[x_l, -y_l, -z_l, 1],\n                      [x_l, -y_l, z_l, 1],\n                      [-x_l, -y_l, z_l, 1],\n                      [-x_l, -y_l, -z_l, 1],\n                      [0, 0, 0, 1]]).T\n        img_cor_points = np.dot(camera_matrix, np.dot(Rt, P))\n        img_cor_points = img_cor_points.T\n        img_cor_points[:, 0] /= img_cor_points[:, 2]\n        img_cor_points[:, 1] /= img_cor_points[:, 2]\n        img_cor_points = img_cor_points.astype(int)\n```",
    "704422": "cateek could u please tel which version of focal loss do you use. \nThanks in advance.",
    "704453": "No, just for visualization.",
    "704457": "ok.. how are you accounting for rotational errors ,i read in top 6th place position that there is rotational loss also taken into account. Which i think is not taken care well in simple regression",
    "704503": "I am also stuck with this problem. Now trying with model scale 4",
    "704573": "I used neg_loss from centernet paper, with a little parameter adjustment.",
    "706258": "did you prepare the ground truth heatmaps as gaussians as stated in the centernet paper?\nor are just simple points enough in your case..\n\njust preparing the \"mask\" itself as gaussians are easy  but preparing the regression gts are quite tricky and have no clue..",
    "706486": "tonychenxyz \nI have tried only efficientnet b0 and b1 when using @hocop1's baseline model and resulted in b0 &gt; b1.\n\n@kyoshioka47 \nYes, I have used gaussian heatmap following the paper though I'm not sure my implementation is correct.",
    "706573": "Nihei if we use Gausian HM.. then is there any decoding  or transformation required during inference ?",
    "706619": "nihei123 Did you use functions from centernet repo to apply gaussian kernel?",
    "706907": "I think in pre/post processing some small changes are needed for image height and width if someone change the image size, btw, how did you change model scale 8 to 4?",
    "706936": "nihei123 Hi,Have you changed the Adam optimizer?lr=0.01?  In my experiments, the optimizer has a big impact,Thanks",
    "707237": "I'm trying to merge the original centernet model with hocop1's kernel but failed to achieve higher score. I'm now stuck in making further improvements. Don't know what is wrong.",
    "707529": "I tried different lr but 0.01 seems ok.",
    "707546": "nihei123 \n1. What is yours lr scheduler  are using any cyclic ones   \n2. Do you face issue of fluctuating losses  ,how can that be addressed . I m not finding issues with labeling as such",
    "708274": "Using AdamW optimizer gave me better results than Adam",
    "708685": "I want to ask a stupid question, what is local CV,how to get this score😃 ?",
    "708956": "It means local cross-validation set that is sampled from the training set itself. If you train your model on part of the training set and then test it on the remaining (CV set), you'll get your local CV score.",
    "709051": "thank you!\nuse this way to calculate socre?\n[evalution](https://www.kaggle.com/c/pku-autonomous-driving/overview/evaluation)"
  },
  "source": "meta"
}