https://cstwiki.wtb.tue.nl/index.php?title=PRE2017_3_Groep5&feed=atom&action=historyPRE2017 3 Groep5 - Revision history2024-03-28T15:59:10ZRevision history for this page on the wikiMediaWiki 1.39.5https://cstwiki.wtb.tue.nl/index.php?title=PRE2017_3_Groep5&diff=53261&oldid=prevTUe\s168788 at 19:05, 2 April 20182018-04-02T19:05:19Z<p></p>
<a href="https://cstwiki.wtb.tue.nl/index.php?title=PRE2017_3_Groep5&diff=53261&oldid=53032">Show changes</a>TUe\s168788https://cstwiki.wtb.tue.nl/index.php?title=PRE2017_3_Groep5&diff=53032&oldid=prevS152679: /* Future improvements */2018-04-02T13:55:46Z<p><span dir="auto"><span class="autocomment">Future improvements</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 14:55, 2 April 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l471">Line 471:</td>
<td colspan="2" class="diff-lineno">Line 471:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>** '''y''' - the y coordinate of the detected cow within the viewport of the camera.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>** '''y''' - the y coordinate of the detected cow within the viewport of the camera.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* '''timestamp''' - the time when the JSON object was created that is represented in the [https://en.wikipedia.org/wiki/Unix_time POSIX time format].</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* '''timestamp''' - the time when the JSON object was created that is represented in the [https://en.wikipedia.org/wiki/Unix_time POSIX time format].</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">Note, that the scheme of the JSON object described above can be extended easily to encapsulate more data for the need of the system.</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>= Coaching Questions =</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>= Coaching Questions =</div></td></tr>
</table>S152679https://cstwiki.wtb.tue.nl/index.php?title=PRE2017_3_Groep5&diff=53031&oldid=prevS152679: /* Future improvements */2018-04-02T13:54:08Z<p><span dir="auto"><span class="autocomment">Future improvements</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 14:54, 2 April 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l455">Line 455:</td>
<td colspan="2" class="diff-lineno">Line 455:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>As it was mentioned above, not only extensions to the system are possible, but it can be used for a different type of livestock. As the team learned during the farm visit, the livestock monitoring systems that use sensors cannot be applied to pigs, as they simply destroy wristlet and other devices attached to them. That is where a camera-oriented system can use its advantage of having no physical interference with the livestock it observes. Nevertheless, if this idea is going to be explored in future, one should know that it will be really hard to widespread it among farmers. This is because applying this system to this industry most probably will not affect the incomes significantly. For cattle, insemination timing plays a huge role when it comes to the income, which is can be estimated using camera system but is not relevant for pigs.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>As it was mentioned above, not only extensions to the system are possible, but it can be used for a different type of livestock. As the team learned during the farm visit, the livestock monitoring systems that use sensors cannot be applied to pigs, as they simply destroy wristlet and other devices attached to them. That is where a camera-oriented system can use its advantage of having no physical interference with the livestock it observes. Nevertheless, if this idea is going to be explored in future, one should know that it will be really hard to widespread it among farmers. This is because applying this system to this industry most probably will not affect the incomes significantly. For cattle, insemination timing plays a huge role when it comes to the income, which is can be estimated using camera system but is not relevant for pigs.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>What is more, at the current state of the system the coordinate extraction functionality is missing. However, it can be added in the future. The first option would be to implement it as an extension for OpenCV. The library has all functionality to accomplish the task, but the exact implementation is tedious in order to handle all edge cases. The other option without adding any external dependencies to the system is to modify YOLO itself, namely the [https://github.com/pjreddie/darknet/blob/master/src/image.c image.c] file to output coordinates of detected bounding boxes, say to a file. We could save the coordinates in the [https://www.json.org/ JSON] format. The format is widely used these days and JSON data can be easily transferred <del style="font-weight: bold; text-decoration: none;">through </del>the <del style="font-weight: bold; text-decoration: none;">network (to the backend)</del>. <del style="font-weight: bold; text-decoration: none;">There would </del>a <del style="font-weight: bold; text-decoration: none;">JSON entry </del>for every <del style="font-weight: bold; text-decoration: none;">detected </del>that <del style="font-weight: bold; text-decoration: none;">consists of </del>the unique identifier <del style="font-weight: bold; text-decoration: none;">of the </del>cow <del style="font-weight: bold; text-decoration: none;">that can be derived </del>by <del style="font-weight: bold; text-decoration: none;">the </del>methods <del style="font-weight: bold; text-decoration: none;">mentioned </del>in the [[#Cow identification|Cow identification]] section, <del style="font-weight: bold; text-decoration: none;">current x and y coordinates </del>and <del style="font-weight: bold; text-decoration: none;">a timestamp</del>. <del style="font-weight: bold; text-decoration: none;">Since we consider cameras mounted right under </del>the <del style="font-weight: bold; text-decoration: none;">ceiling pointing directly down, </del>the <del style="font-weight: bold; text-decoration: none;">coordinates taken from </del>the viewport of the camera <del style="font-weight: bold; text-decoration: none;">can fully represent positions </del>of <del style="font-weight: bold; text-decoration: none;">cows</del>.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>What is more, at the current state of the system the coordinate extraction functionality is missing. However, it can be added in the future. The first option would be to implement it as an extension for OpenCV. The library has all functionality to accomplish the task, but the exact implementation is tedious in order to handle all edge cases. The other option without adding any external dependencies to the system is to modify YOLO itself, namely the [https://github.com/pjreddie/darknet/blob/master/src/image.c image.c] file to output coordinates of detected bounding boxes, say to a file. We could save the coordinates in the [https://www.json.org/ JSON] format. The format is widely used these days and JSON data can be easily transferred <ins style="font-weight: bold; text-decoration: none;">between systems. We propose such format of </ins>the <ins style="font-weight: bold; text-decoration: none;">JSON payload as shown below</ins>.</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"><pre>{</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> "uuid": "550e8400-e29b-41d4-a716-446655440000",</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> "coords": {</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> "zone": "A",</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> "x": "150",</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> "y": "15"</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> },</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"> "timestamp": "1517616000"</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">}</pre></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">* '''uuid''' - is </ins>a <ins style="font-weight: bold; text-decoration: none;">unique identifier </ins>for every <ins style="font-weight: bold; text-decoration: none;">cow </ins>that <ins style="font-weight: bold; text-decoration: none;">follow </ins>the <ins style="font-weight: bold; text-decoration: none;">[https://en.wikipedia.org/wiki/Universally_unique_identifier unversal </ins>unique identifier<ins style="font-weight: bold; text-decoration: none;">] format. Each </ins>cow <ins style="font-weight: bold; text-decoration: none;">would receive such identifier </ins>by <ins style="font-weight: bold; text-decoration: none;">using </ins>methods <ins style="font-weight: bold; text-decoration: none;">described </ins>in the [[#Cow identification|Cow identification]] section<ins style="font-weight: bold; text-decoration: none;">.</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">* '''coords''' - is an object holding position of the detected cow.</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">** '''zone''' - holds an identifier for the current zone that the cow is present at. As described in the [[#Metric gathering|Metric gathering]] section, the barn should be split into zones, e.g. feeding zone</ins>, <ins style="font-weight: bold; text-decoration: none;">rest zone </ins>and <ins style="font-weight: bold; text-decoration: none;">etc</ins>.</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">** '''x''' - </ins>the <ins style="font-weight: bold; text-decoration: none;">x coordinate of </ins>the <ins style="font-weight: bold; text-decoration: none;">detected cow within </ins>the viewport of the camera<ins style="font-weight: bold; text-decoration: none;">.</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">** '''y''' - the y coordinate of the detected cow within the viewport </ins>of <ins style="font-weight: bold; text-decoration: none;">the camera.</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">* '''timestamp''' - the time when the JSON object was created that is represented in the [https://en.wikipedia.org/wiki/Unix_time POSIX time format]</ins>.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>= Coaching Questions =</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>= Coaching Questions =</div></td></tr>
</table>S152679https://cstwiki.wtb.tue.nl/index.php?title=PRE2017_3_Groep5&diff=52838&oldid=prevS152679: /* Future improvements */2018-04-01T18:30:08Z<p><span dir="auto"><span class="autocomment">Future improvements</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 19:30, 1 April 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l455">Line 455:</td>
<td colspan="2" class="diff-lineno">Line 455:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>As it was mentioned above, not only extensions to the system are possible, but it can be used for a different type of livestock. As the team learned during the farm visit, the livestock monitoring systems that use sensors cannot be applied to pigs, as they simply destroy wristlet and other devices attached to them. That is where a camera-oriented system can use its advantage of having no physical interference with the livestock it observes. Nevertheless, if this idea is going to be explored in future, one should know that it will be really hard to widespread it among farmers. This is because applying this system to this industry most probably will not affect the incomes significantly. For cattle, insemination timing plays a huge role when it comes to the income, which is can be estimated using camera system but is not relevant for pigs.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>As it was mentioned above, not only extensions to the system are possible, but it can be used for a different type of livestock. As the team learned during the farm visit, the livestock monitoring systems that use sensors cannot be applied to pigs, as they simply destroy wristlet and other devices attached to them. That is where a camera-oriented system can use its advantage of having no physical interference with the livestock it observes. Nevertheless, if this idea is going to be explored in future, one should know that it will be really hard to widespread it among farmers. This is because applying this system to this industry most probably will not affect the incomes significantly. For cattle, insemination timing plays a huge role when it comes to the income, which is can be estimated using camera system but is not relevant for pigs.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>What is more, at the current state of the system the coordinate extraction functionality is missing. However, it can be added in the future. The first option would be to implement it as an extension for OpenCV. The library has all functionality to accomplish the task, but the exact implementation is tedious in order to handle all edge cases. The other option without adding any external dependencies to the system is to modify YOLO itself, namely the [https://github.com/pjreddie/darknet/blob/master/src/image.c image.c] file to output coordinates of detected bounding boxes, say to a file. We could save the coordinates in the [https://www.json.org/ JSON] format that consists of the unique identifier of <del style="font-weight: bold; text-decoration: none;">a detected </del>cow that can be derived by the methods mentioned in the [[#Cow identification|Cow identification]] section, current x and y coordinates and a timestamp. Since we consider cameras mounted right under the ceiling pointing directly down, the coordinates taken from the viewport of the camera can fully represent positions of cows.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>What is more, at the current state of the system the coordinate extraction functionality is missing. However, it can be added in the future. The first option would be to implement it as an extension for OpenCV. The library has all functionality to accomplish the task, but the exact implementation is tedious in order to handle all edge cases. The other option without adding any external dependencies to the system is to modify YOLO itself, namely the [https://github.com/pjreddie/darknet/blob/master/src/image.c image.c] file to output coordinates of detected bounding boxes, say to a file. We could save the coordinates in the [https://www.json.org/ JSON] format<ins style="font-weight: bold; text-decoration: none;">. The format is widely used these days and JSON data can be easily transferred through the network (to the backend). There would a JSON entry for every detected </ins>that consists of the unique identifier of <ins style="font-weight: bold; text-decoration: none;">the </ins>cow that can be derived by the methods mentioned in the [[#Cow identification|Cow identification]] section, current x and y coordinates and a timestamp. Since we consider cameras mounted right under the ceiling pointing directly down, the coordinates taken from the viewport of the camera can fully represent positions of cows.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>= Coaching Questions =</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>= Coaching Questions =</div></td></tr>
</table>S152679https://cstwiki.wtb.tue.nl/index.php?title=PRE2017_3_Groep5&diff=52837&oldid=prevS152679: /* Future improvements */2018-04-01T18:27:53Z<p><span dir="auto"><span class="autocomment">Future improvements</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 19:27, 1 April 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l454">Line 454:</td>
<td colspan="2" class="diff-lineno">Line 454:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>As it was mentioned above, not only extensions to the system are possible, but it can be used for a different type of livestock. As the team learned during the farm visit, the livestock monitoring systems that use sensors cannot be applied to pigs, as they simply destroy wristlet and other devices attached to them. That is where a camera-oriented system can use its advantage of having no physical interference with the livestock it observes. Nevertheless, if this idea is going to be explored in future, one should know that it will be really hard to widespread it among farmers. This is because applying this system to this industry most probably will not affect the incomes significantly. For cattle, insemination timing plays a huge role when it comes to the income, which is can be estimated using camera system but is not relevant for pigs.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>As it was mentioned above, not only extensions to the system are possible, but it can be used for a different type of livestock. As the team learned during the farm visit, the livestock monitoring systems that use sensors cannot be applied to pigs, as they simply destroy wristlet and other devices attached to them. That is where a camera-oriented system can use its advantage of having no physical interference with the livestock it observes. Nevertheless, if this idea is going to be explored in future, one should know that it will be really hard to widespread it among farmers. This is because applying this system to this industry most probably will not affect the incomes significantly. For cattle, insemination timing plays a huge role when it comes to the income, which is can be estimated using camera system but is not relevant for pigs.</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div><del style="font-weight: bold; text-decoration: none;"> </del></div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>What is more, at the current state of the system the coordinate extraction functionality is missing. However, it can be added in the future. The first option would be to implement it as an extension for OpenCV. The library has all functionality to accomplish the task, but the exact implementation is tedious in order to handle all edge cases. The other option is to modify YOLO itself, namely the [https://github.com/pjreddie/darknet/blob/master/src/image.c image.c] file to output coordinates of detected bounding boxes, say to a file.</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>What is more, at the current state of the system the coordinate extraction functionality is missing. However, it can be added in the future. The first option would be to implement it as an extension for OpenCV. The library has all functionality to accomplish the task, but the exact implementation is tedious in order to handle all edge cases. The other option <ins style="font-weight: bold; text-decoration: none;">without adding any external dependencies to the system </ins>is to modify YOLO itself, namely the [https://github.com/pjreddie/darknet/blob/master/src/image.c image.c] file to output coordinates of detected bounding boxes, say to a file<ins style="font-weight: bold; text-decoration: none;">. We could save the coordinates in the [https://www.json.org/ JSON] format that consists of the unique identifier of a detected cow that can be derived by the methods mentioned in the [[#Cow identification|Cow identification]] section, current x and y coordinates and a timestamp. Since we consider cameras mounted right under the ceiling pointing directly down, the coordinates taken from the viewport of the camera can fully represent positions of cows</ins>.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>= Coaching Questions =</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>= Coaching Questions =</div></td></tr>
</table>S152679https://cstwiki.wtb.tue.nl/index.php?title=PRE2017_3_Groep5&diff=52836&oldid=prevS151489 at 18:23, 1 April 20182018-04-01T18:23:06Z<p></p>
<a href="https://cstwiki.wtb.tue.nl/index.php?title=PRE2017_3_Groep5&diff=52836&oldid=52835">Show changes</a>S151489https://cstwiki.wtb.tue.nl/index.php?title=PRE2017_3_Groep5&diff=52835&oldid=prevS151489 at 18:22, 1 April 20182018-04-01T18:22:11Z<p></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 19:22, 1 April 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l454">Line 454:</td>
<td colspan="2" class="diff-lineno">Line 454:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>As it was mentioned above, not only extensions to the system are possible, but it can be used for a different type of livestock. As the team learned during the farm visit, the livestock monitoring systems that uses sensors cannot be applied to pigs, as they simply destroy wristlet and other devices attached to them. That is where a camera-oriented system can use its advantage of having no physical interference with the livestock it observes. Nevertheless, if this idea is going to be explored in future, one should know that it will be really hard to widespread it among farmers. This is because applying this system to this industry most probably will not affect the incomes significantly. For cattle insemination timing plays a huge role when it comes to the income, which is can be estimated using camera system but is not relevant for pigs.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>As it was mentioned above, not only extensions to the system are possible, but it can be used for a different type of livestock. As the team learned during the farm visit, the livestock monitoring systems that uses sensors cannot be applied to pigs, as they simply destroy wristlet and other devices attached to them. That is where a camera-oriented system can use its advantage of having no physical interference with the livestock it observes. Nevertheless, if this idea is going to be explored in future, one should know that it will be really hard to widespread it among farmers. This is because applying this system to this industry most probably will not affect the incomes significantly. For cattle insemination timing plays a huge role when it comes to the income, which is can be estimated using camera system but is not relevant for pigs.</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">What is more, at the current state of the system the coordinate extraction functionality is missing. However, it can be added in the future. The first option would be to implement it as an extension for OpenCV. The library has all functionality to accomplish the task, but the exact implementation is tedious in order to handle all edge cases. The other option is to modify YOLO itself, namely the [https://github.com/pjreddie/darknet/blob/master/src/image.c image.c] file to output coordinates of detected bounding boxes, say to a file.</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>What is more, at the current state of the system the coordinate extraction functionality is missing. However, it can be added in the future. The first option would be to implement it as an extension for OpenCV. The library has all functionality to accomplish the task, but the exact implementation is tedious in order to handle all edge cases. The other option is to modify YOLO itself, namely the [https://github.com/pjreddie/darknet/blob/master/src/image.c image.c] file to output coordinates of detected bounding boxes, say to a file.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>What is more, at the current state of the system the coordinate extraction functionality is missing. However, it can be added in the future. The first option would be to implement it as an extension for OpenCV. The library has all functionality to accomplish the task, but the exact implementation is tedious in order to handle all edge cases. The other option is to modify YOLO itself, namely the [https://github.com/pjreddie/darknet/blob/master/src/image.c image.c] file to output coordinates of detected bounding boxes, say to a file.</div></td></tr>
</table>S151489https://cstwiki.wtb.tue.nl/index.php?title=PRE2017_3_Groep5&diff=52834&oldid=prevS152679: /* Future improvements */2018-04-01T18:15:40Z<p><span dir="auto"><span class="autocomment">Future improvements</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 19:15, 1 April 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l454">Line 454:</td>
<td colspan="2" class="diff-lineno">Line 454:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>As it was mentioned above, not only extensions to the system are possible, but it can be used for a different type of livestock. As the team learned during the farm visit, the livestock monitoring systems that uses sensors cannot be applied to pigs, as they simply destroy wristlet and other devices attached to them. That is where a camera-oriented system can use its advantage of having no physical interference with the livestock it observes. Nevertheless, if this idea is going to be explored in future, one should know that it will be really hard to widespread it among farmers. This is because applying this system to this industry most probably will not affect the incomes significantly. For cattle insemination timing plays a huge role when it comes to the income, which is can be estimated using camera system but is not relevant for pigs.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>As it was mentioned above, not only extensions to the system are possible, but it can be used for a different type of livestock. As the team learned during the farm visit, the livestock monitoring systems that uses sensors cannot be applied to pigs, as they simply destroy wristlet and other devices attached to them. That is where a camera-oriented system can use its advantage of having no physical interference with the livestock it observes. Nevertheless, if this idea is going to be explored in future, one should know that it will be really hard to widespread it among farmers. This is because applying this system to this industry most probably will not affect the incomes significantly. For cattle insemination timing plays a huge role when it comes to the income, which is can be estimated using camera system but is not relevant for pigs.</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">What is more, at the current state of the system the coordinate extraction functionality is missing. However, it can be added in the future. The first option would be to implement it as an extension for OpenCV. The library has all functionality to accomplish the task, but the exact implementation is tedious in order to handle all edge cases. The other option is to modify YOLO itself, namely the [https://github.com/pjreddie/darknet/blob/master/src/image.c image.c] file to output coordinates of detected bounding boxes, say to a file.</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>= Coaching Questions =</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>= Coaching Questions =</div></td></tr>
</table>S152679https://cstwiki.wtb.tue.nl/index.php?title=PRE2017_3_Groep5&diff=52778&oldid=prevS151914: /* Software */2018-04-01T11:58:46Z<p><span dir="auto"><span class="autocomment">Software</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 12:58, 1 April 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l320">Line 320:</td>
<td colspan="2" class="diff-lineno">Line 320:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Software ==</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>== Software ==</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[File:<del style="font-weight: bold; text-decoration: none;">yolo2</del>.PNG | <del style="font-weight: bold; text-decoration: none;">400px </del>| thumb | <del style="font-weight: bold; text-decoration: none;">Too low threshold</del>]]</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[File:<ins style="font-weight: bold; text-decoration: none;">yolo1</ins>.PNG | <ins style="font-weight: bold; text-decoration: none;">500px </ins>| thumb | <ins style="font-weight: bold; text-decoration: none;">Steps in detecting objects</ins>]]</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div> </div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Placing the cameras in the barns is not enough since some decision making is required. That is why a suitable software must be found/created in order to extract useful information from the recorded images. This kind of software is called machine vision. What is more, machine vision based technologies are evolving rapidly and currently, there are plenty of open source solutions that can be used as a base platform for the software part of the project. After researching we decided to focus on two of them - [https://opencv.org/ OpenCV] and [https://pjreddie.com/darknet/yolo/ YOLO]. In this section, we give an overview of both projects and describe how a particular software solution can be used to fulfill our needs in animal tracking.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Placing the cameras in the barns is not enough since some decision making is required. That is why a suitable software must be found/created in order to extract useful information from the recorded images. This kind of software is called machine vision. What is more, machine vision based technologies are evolving rapidly and currently, there are plenty of open source solutions that can be used as a base platform for the software part of the project. After researching we decided to focus on two of them - [https://opencv.org/ OpenCV] and [https://pjreddie.com/darknet/yolo/ YOLO]. In this section, we give an overview of both projects and describe how a particular software solution can be used to fulfill our needs in animal tracking.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== OpenCV ===</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== OpenCV ===</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>[[File:<del style="font-weight: bold; text-decoration: none;">yolo1</del>.PNG | <del style="font-weight: bold; text-decoration: none;">500px </del>| thumb | <del style="font-weight: bold; text-decoration: none;">Steps in detecting objects</del>]]</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>[[File:<ins style="font-weight: bold; text-decoration: none;">yolo2</ins>.PNG | <ins style="font-weight: bold; text-decoration: none;">350px </ins>| thumb | <ins style="font-weight: bold; text-decoration: none;">Too low threshold</ins>]]</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>OpenCV - is an open source, machine vision library that exposes rich functionality for an application that requires image and video processing in 2D and 3D as part of their programs. Its main focus is real-time computer vision, which is the reason why it is suitable for our needs. It is written in C++, but wrappers in other languages also exist to support the spread of the library. The platform supports hardware acceleration on CUDA-based GPU. Using OpenCV requires rather powerful GPU, which needs to be available for use. The platform runs smoothly on most operating systems as Windows, Linux, and macOS. </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>OpenCV - is an open source, machine vision library that exposes rich functionality for an application that requires image and video processing in 2D and 3D as part of their programs. Its main focus is real-time computer vision, which is the reason why it is suitable for our needs. It is written in C++, but wrappers in other languages also exist to support the spread of the library. The platform supports hardware acceleration on CUDA-based GPU. Using OpenCV requires rather powerful GPU, which needs to be available for use. The platform runs smoothly on most operating systems as Windows, Linux, and macOS. </div></td></tr>
</table>S151914https://cstwiki.wtb.tue.nl/index.php?title=PRE2017_3_Groep5&diff=52777&oldid=prevS151914: /* You Only Look Once (YOLO) */2018-04-01T11:58:09Z<p><span dir="auto"><span class="autocomment">You Only Look Once (YOLO)</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 12:58, 1 April 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l329">Line 329:</td>
<td colspan="2" class="diff-lineno">Line 329:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== You Only Look Once (YOLO) === </div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== You Only Look Once (YOLO) === </div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>YOLO - is a real-time object detection system that is free of charge and is based on an open source neural network framework [https://pjreddie.com/darknet/ Darknet]. It is written in C and CUDA and supports both CPU and GPU computation. It works by applying single neural network to the full image. Then the image is divided into subregions and the neural network weights them all and gives predicted probabilities (<del style="font-weight: bold; text-decoration: none;">Fig TBD</del>). After that, based on the preset threshold, some of the predictions are omitted, and the rest are displayed as boxes around the objects. If the threshold is too low, a lot of wrongly predicted items will be displayed and the image can overflow<del style="font-weight: bold; text-decoration: none;">, as shown in fig. TBD</del>. Another useful aspect of YOLO is that it can be used on live data, as it is in our case. </div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>YOLO - is a real-time object detection system that is free of charge and is based on an open source neural network framework [https://pjreddie.com/darknet/ Darknet]. It is written in C and CUDA and supports both CPU and GPU computation. It works by applying single neural network to the full image. Then the image is divided into subregions and the neural network weights them all and gives predicted probabilities (<ins style="font-weight: bold; text-decoration: none;">see figure</ins>). After that, based on the preset threshold, some of the predictions are omitted, and the rest are displayed as boxes around the objects. If the threshold is too low, a lot of wrongly predicted items will be displayed and the image can overflow. Another useful aspect of YOLO is that it can be used on live data, as it is in our case. </div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>It was decided to train YOLO from scratch. In order to do that, a different program is used - YOLO mark, where different pictures can be loaded and boxes can be drawn over the objects of interest. Results after qualifying the system are presented in the [[#Simulation|simulation section]].</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>It was decided to train YOLO from scratch. In order to do that, a different program is used - YOLO mark, where different pictures can be loaded and boxes can be drawn over the objects of interest. Results after qualifying the system are presented in the [[#Simulation|simulation section]].</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
</table>S151914