{
  "id": 20024,
  "title": "OpenCV face detection: External data?",
  "url": "/competitions/state-farm-distracted-driver-detection/discussion/20024",
  "author_name": "",
  "post_date": "2016-04-09T03:51:19.697Z",
  "votes": 4,
  "comment_count": 4,
  "views": 1427,
  "content": "<p>OpenCV features some simple and relatively effective tools for face detection. </p>\n\n<p>Those use cascading tests, and are somehow &quot;trained&quot; beforehand, so is this also considered external data? </p>",
  "messages": [
    {
      "id": "114301",
      "postDate": "04/09/2016 03:51:19",
      "content": "<p>OpenCV features some simple and relatively effective tools for face detection. </p>\n\n<p>Those use cascading tests, and are somehow &quot;trained&quot; beforehand, so is this also considered external data? </p>",
      "rawMarkdown": "OpenCV features some simple and relatively effective tools for face detection. \r\n\r\nThose use cascading tests, and are somehow \"trained\" beforehand, so is this also considered external data?",
      "votes": null
    },
    {
      "id": "114312",
      "postDate": "04/09/2016 07:27:37",
      "content": "<p>Personally, I don't think those standard approaches are inappropriate for Kaggle competitions. Anyway, the administrators could clarify this point.</p>\n\n<p>For the facial landmarks, you might be interested in this novel method (<a href=\"http://blog.dlib.net/2014/08/real-time-face-pose-estimation.html\">http://blog.dlib.net/2014/08/real-time-face-pose-estimation.html</a>).</p>",
      "rawMarkdown": "Personally, I don't think those standard approaches are inappropriate for Kaggle competitions. Anyway, the administrators could clarify this point.\r\n\r\nFor the facial landmarks, you might be interested in this novel method (http://blog.dlib.net/2014/08/real-time-face-pose-estimation.html).",
      "votes": null
    },
    {
      "id": "114317",
      "postDate": "04/09/2016 09:00:10",
      "content": "<p>While waiting for a clarification, a follow-up question: were we to train our own cascade classifier, would we be allowed to use any images we have as negative samples, or are we still restricted to only this competition's data?</p>",
      "rawMarkdown": "While waiting for a clarification, a follow-up question: were we to train our own cascade classifier, would we be allowed to use any images we have as negative samples, or are we still restricted to only this competition's data?",
      "votes": null
    },
    {
      "id": "114351",
      "postDate": "04/09/2016 17:12:59",
      "content": "<p>[quote=Gerome Pistre;114301]</p>\n\n<p>OpenCV features some simple and relatively effective tools for face detection. </p>\n\n<p>Those use cascading tests, and are somehow &quot;trained&quot; beforehand, so is this also considered external data? </p>\n\n<p>[/quote]</p>\n\n<p>I think this is external data. No different from using pre-trained nets, which has been clarified as disallowed in <a href=\"https://www.kaggle.com/c/state-farm-distracted-driver-detection/forums/t/19950/external-data\">the forum thread &quot;external data?&quot;</a>.</p>\n\n<p>However the following <em>would</em> be allowed IMO:</p>\n\n<ul>\n<li><p>Use opencv to extract all driver faces in training set (but not the test set).</p></li>\n<li><p>Train your own face recogniser from those extracted faces.</p></li>\n<li><p>Use your new face recogniser to identify face position in the test images as part of a ML pipeline.</p></li>\n</ul>\n\n<p>To be clear I think this would be allowed since manual cropping of faces from the training set has been clarified as allowed, and all you are doing is automating that process (if only for your own sanity of not needing to annotate 22000 images).</p>",
      "rawMarkdown": "[quote=Gerome Pistre;114301]\r\n\r\nOpenCV features some simple and relatively effective tools for face detection. \r\n\r\nThose use cascading tests, and are somehow \"trained\" beforehand, so is this also considered external data? \r\n\r\n[/quote]\r\n\r\nI think this is external data. No different from using pre-trained nets, which has been clarified as disallowed in [the forum thread \"external data?\"][1].\r\n\r\nHowever the following *would* be allowed IMO:\r\n\r\n * Use opencv to extract all driver faces in training set (but not the test set).\r\n \r\n * Train your own face recogniser from those extracted faces.\r\n\r\n * Use your new face recogniser to identify face position in the test images as part of a ML pipeline.\r\n\r\nTo be clear I think this would be allowed since manual cropping of faces from the training set has been clarified as allowed, and all you are doing is automating that process (if only for your own sanity of not needing to annotate 22000 images).\r\n\r\n\r\n  [1]: https://www.kaggle.com/c/state-farm-distracted-driver-detection/forums/t/19950/external-data",
      "votes": null
    },
    {
      "id": "114375",
      "postDate": "04/10/2016 00:25:12",
      "content": "<p>I agree, and this is what I was planning on doing. But in that case, there is a script that is clearly violating the rules by using the openCV built-in tools. \n(Although based on the apparent results they get, I should probably find another technique...)</p>",
      "rawMarkdown": "I agree, and this is what I was planning on doing. But in that case, there is a script that is clearly violating the rules by using the openCV built-in tools. \r\n(Although based on the apparent results they get, I should probably find another technique...)",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 114312,
      "author_name": "xingyang",
      "author_url": "",
      "post_date": "04/09/2016 07:27:37",
      "content": "<p>Personally, I don't think those standard approaches are inappropriate for Kaggle competitions. Anyway, the administrators could clarify this point.</p>\n\n<p>For the facial landmarks, you might be interested in this novel method (<a href=\"http://blog.dlib.net/2014/08/real-time-face-pose-estimation.html\">http://blog.dlib.net/2014/08/real-time-face-pose-estimation.html</a>).</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 114317,
      "author_name": "gpistre",
      "author_url": "",
      "post_date": "04/09/2016 09:00:10",
      "content": "<p>While waiting for a clarification, a follow-up question: were we to train our own cascade classifier, would we be allowed to use any images we have as negative samples, or are we still restricted to only this competition's data?</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 114351,
      "author_name": "slobo777",
      "author_url": "",
      "post_date": "04/09/2016 17:12:59",
      "content": "<p>[quote=Gerome Pistre;114301]</p>\n\n<p>OpenCV features some simple and relatively effective tools for face detection. </p>\n\n<p>Those use cascading tests, and are somehow &quot;trained&quot; beforehand, so is this also considered external data? </p>\n\n<p>[/quote]</p>\n\n<p>I think this is external data. No different from using pre-trained nets, which has been clarified as disallowed in <a href=\"https://www.kaggle.com/c/state-farm-distracted-driver-detection/forums/t/19950/external-data\">the forum thread &quot;external data?&quot;</a>.</p>\n\n<p>However the following <em>would</em> be allowed IMO:</p>\n\n<ul>\n<li><p>Use opencv to extract all driver faces in training set (but not the test set).</p></li>\n<li><p>Train your own face recogniser from those extracted faces.</p></li>\n<li><p>Use your new face recogniser to identify face position in the test images as part of a ML pipeline.</p></li>\n</ul>\n\n<p>To be clear I think this would be allowed since manual cropping of faces from the training set has been clarified as allowed, and all you are doing is automating that process (if only for your own sanity of not needing to annotate 22000 images).</p>",
      "votes": null,
      "replies": []
    },
    {
      "id": 114375,
      "author_name": "gpistre",
      "author_url": "",
      "post_date": "04/10/2016 00:25:12",
      "content": "<p>I agree, and this is what I was planning on doing. But in that case, there is a script that is clearly violating the rules by using the openCV built-in tools. \n(Although based on the apparent results they get, I should probably find another technique...)</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "114301": "OpenCV features some simple and relatively effective tools for face detection. \r\n\r\nThose use cascading tests, and are somehow \"trained\" beforehand, so is this also considered external data?",
    "114312": "Personally, I don't think those standard approaches are inappropriate for Kaggle competitions. Anyway, the administrators could clarify this point.\r\n\r\nFor the facial landmarks, you might be interested in this novel method (http://blog.dlib.net/2014/08/real-time-face-pose-estimation.html).",
    "114317": "While waiting for a clarification, a follow-up question: were we to train our own cascade classifier, would we be allowed to use any images we have as negative samples, or are we still restricted to only this competition's data?",
    "114351": "[quote=Gerome Pistre;114301]\r\n\r\nOpenCV features some simple and relatively effective tools for face detection. \r\n\r\nThose use cascading tests, and are somehow \"trained\" beforehand, so is this also considered external data? \r\n\r\n[/quote]\r\n\r\nI think this is external data. No different from using pre-trained nets, which has been clarified as disallowed in [the forum thread \"external data?\"][1].\r\n\r\nHowever the following *would* be allowed IMO:\r\n\r\n * Use opencv to extract all driver faces in training set (but not the test set).\r\n \r\n * Train your own face recogniser from those extracted faces.\r\n\r\n * Use your new face recogniser to identify face position in the test images as part of a ML pipeline.\r\n\r\nTo be clear I think this would be allowed since manual cropping of faces from the training set has been clarified as allowed, and all you are doing is automating that process (if only for your own sanity of not needing to annotate 22000 images).\r\n\r\n\r\n  [1]: https://www.kaggle.com/c/state-farm-distracted-driver-detection/forums/t/19950/external-data",
    "114375": "I agree, and this is what I was planning on doing. But in that case, there is a script that is clearly violating the rules by using the openCV built-in tools. \r\n(Although based on the apparent results they get, I should probably find another technique...)"
  },
  "source": "meta"
}