{
  "id": 29767,
  "title": "0.51 public LB approach",
  "url": "/competitions/dstl-satellite-imagery-feature-detection/writeups/evgeny-nekrasov-0-51-public-lb-approach",
  "author_name": "",
  "post_date": "2017-03-08T14:30:22.667793200Z",
  "votes": 28,
  "comment_count": 4,
  "views": 0,
  "content": "<p><strong>Preprocessing</strong></p>\n\n<p>All images were rescaled to RGB image size and concatenated into 20 channel images.</p>\n\n<p><strong>ANNs</strong></p>\n\n<p>I used two UNET-like ANNs with 160x160 input and binary cross-entropy objective. The first one (7c) learned to predict simultaneously: Buildings, Misc Manmade structures, Road, Track, Trees, Crops, Waterway + Standing water as one class. The second ANN (2c) learned to predict simultaneously: Vehicle Large, Vehicle Small.</p>\n\n<p><strong>Training</strong></p>\n\n<p>For ANN 7c I made corresponding autoencoder and trained it on random patches from all images. Then I transferred encoder part weights to ANN 7c, fixed the weights, and trained the net on random rotational patches. Then I unfixed the weights and trained the net for some additional time  on random rotational patches. I started train ANN 2c on random rotational patches that contain vehicle with probability ~0.5. Then I trained  ANN 2c on random rotational patches for additional time.</p>\n\n<p><strong>Predicting</strong></p>\n\n<p>To construct prediction on entire image I used only the central part of ANN predictions. The coverage was 4x (varied offsets, rotations). To predict Waterway and Standing water I used ANN predictions and CCCI index from awesome kernel by Vladimir Osin. To separate Waterway from Standing water I used not just area, but a bit more complex score which includes shape properties (Waterway more likely elongated).</p>",
  "messages": [
    {
      "id": "166122",
      "postDate": "03/08/2017 14:30:22",
      "content": "<p><strong>Preprocessing</strong></p>\n\n<p>All images were rescaled to RGB image size and concatenated into 20 channel images.</p>\n\n<p><strong>ANNs</strong></p>\n\n<p>I used two UNET-like ANNs with 160x160 input and binary cross-entropy objective. The first one (7c) learned to predict simultaneously: Buildings, Misc Manmade structures, Road, Track, Trees, Crops, Waterway + Standing water as one class. The second ANN (2c) learned to predict simultaneously: Vehicle Large, Vehicle Small.</p>\n\n<p><strong>Training</strong></p>\n\n<p>For ANN 7c I made corresponding autoencoder and trained it on random patches from all images. Then I transferred encoder part weights to ANN 7c, fixed the weights, and trained the net on random rotational patches. Then I unfixed the weights and trained the net for some additional time  on random rotational patches. I started train ANN 2c on random rotational patches that contain vehicle with probability ~0.5. Then I trained  ANN 2c on random rotational patches for additional time.</p>\n\n<p><strong>Predicting</strong></p>\n\n<p>To construct prediction on entire image I used only the central part of ANN predictions. The coverage was 4x (varied offsets, rotations). To predict Waterway and Standing water I used ANN predictions and CCCI index from awesome kernel by Vladimir Osin. To separate Waterway from Standing water I used not just area, but a bit more complex score which includes shape properties (Waterway more likely elongated).</p>",
      "rawMarkdown": "**Preprocessing**\n\nAll images were rescaled to RGB image size and concatenated into 20 channel images.\n\n**ANNs**\n\nI used two UNET-like ANNs with 160x160 input and binary cross-entropy objective. The first one (7c) learned to predict simultaneously: Buildings, Misc Manmade structures, Road, Track, Trees, Crops, Waterway + Standing water as one class. The second ANN (2c) learned to predict simultaneously: Vehicle Large, Vehicle Small.\n\n**Training**\n\nFor ANN 7c I made corresponding autoencoder and trained it on random patches from all images. Then I transferred encoder part weights to ANN 7c, fixed the weights, and trained the net on random rotational patches. Then I unfixed the weights and trained the net for some additional time  on random rotational patches. I started train ANN 2c on random rotational patches that contain vehicle with probability ~0.5. Then I trained  ANN 2c on random rotational patches for additional time.\n\n**Predicting**\n\nTo construct prediction on entire image I used only the central part of ANN predictions. The coverage was 4x (varied offsets, rotations). To predict Waterway and Standing water I used ANN predictions and CCCI index from awesome kernel by Vladimir Osin. To separate Waterway from Standing water I used not just area, but a bit more complex score which includes shape properties (Waterway more likely elongated).",
      "votes": null
    },
    {
      "id": "166341",
      "postDate": "03/09/2017 08:45:18",
      "content": "<p>Pls share the code for learning. Thank you very much.</p>",
      "rawMarkdown": "Pls share the code for learning. Thank you very much.",
      "votes": null
    },
    {
      "id": "166352",
      "postDate": "03/09/2017 09:16:22",
      "content": "<p>can you give example of what layers a UNet-like ANN has?</p>",
      "rawMarkdown": "can you give example of what layers a UNet-like ANN has?",
      "votes": null
    },
    {
      "id": "732111",
      "postDate": "01/29/2020 13:59:09",
      "content": "<p>Can you please explain more clearly how you trained your model.</p>",
      "rawMarkdown": "Can you please explain more clearly how you trained your model.",
      "votes": null
    },
    {
      "id": "2146872",
      "postDate": "02/16/2023 08:15:47",
      "content": "<p>From which Satellaite you are collecting data, if I need the images of a particular area for a custom task how can I access them?</p>",
      "rawMarkdown": "From which Satellaite you are collecting data, if I need the images of a particular area for a custom task how can I access them?",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 2146872,
      "author_name": "adityasharma2406",
      "author_url": "",
      "post_date": "02/16/2023 08:15:47",
      "content": "<p>From which Satellaite you are collecting data, if I need the images of a particular area for a custom task how can I access them?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 166341,
      "author_name": "samihaq",
      "author_url": "",
      "post_date": "03/09/2017 08:45:18",
      "content": "<p>Pls share the code for learning. Thank you very much.</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 166352,
      "author_name": "cubbus",
      "author_url": "",
      "post_date": "03/09/2017 09:16:22",
      "content": "<p>can you give example of what layers a UNet-like ANN has?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 732111,
      "author_name": "shristiagrawal",
      "author_url": "",
      "post_date": "01/29/2020 13:59:09",
      "content": "<p>Can you please explain more clearly how you trained your model.</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "166122": "**Preprocessing**\n\nAll images were rescaled to RGB image size and concatenated into 20 channel images.\n\n**ANNs**\n\nI used two UNET-like ANNs with 160x160 input and binary cross-entropy objective. The first one (7c) learned to predict simultaneously: Buildings, Misc Manmade structures, Road, Track, Trees, Crops, Waterway + Standing water as one class. The second ANN (2c) learned to predict simultaneously: Vehicle Large, Vehicle Small.\n\n**Training**\n\nFor ANN 7c I made corresponding autoencoder and trained it on random patches from all images. Then I transferred encoder part weights to ANN 7c, fixed the weights, and trained the net on random rotational patches. Then I unfixed the weights and trained the net for some additional time  on random rotational patches. I started train ANN 2c on random rotational patches that contain vehicle with probability ~0.5. Then I trained  ANN 2c on random rotational patches for additional time.\n\n**Predicting**\n\nTo construct prediction on entire image I used only the central part of ANN predictions. The coverage was 4x (varied offsets, rotations). To predict Waterway and Standing water I used ANN predictions and CCCI index from awesome kernel by Vladimir Osin. To separate Waterway from Standing water I used not just area, but a bit more complex score which includes shape properties (Waterway more likely elongated).",
    "166341": "Pls share the code for learning. Thank you very much.",
    "166352": "can you give example of what layers a UNet-like ANN has?",
    "732111": "Can you please explain more clearly how you trained your model.",
    "2146872": "From which Satellaite you are collecting data, if I need the images of a particular area for a custom task how can I access them?"
  },
  "source": "meta"
}