﻿<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://developers.de/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>Developer docs by Indraneel Pole : IoT</title><link />http://developers.de/blogs/indraneel/archive/tags/IoT/default.aspx<description>Tags: IoT</description><dc:language>en</dc:language><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>Industry 4.0 in Practice–Data Visualization meetup summary</title><link />http://developers.de/blogs/indraneel/archive/2016/09/26/industry-4-0-in-practice-data-visualization-meetup-summary.aspx<pubdate>Mon, 26 Sep 2016 20:12:00 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1799301</guid><dc:creator>Indraneel Pole</dc:creator><slash:comments>0</slash:comments><wfw:commentrss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/indraneel/rsscomments.aspx?PostID=1799301</wfw:commentrss><comments>http://developers.de/blogs/indraneel/archive/2016/09/26/industry-4-0-in-practice-data-visualization-meetup-summary.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;So last week, I got an opportunity to talk about Industry 4.0 and the role of data analytics in it at Data visualization Rhein Main meetup. (Very cool meetup, people living around Frankfurt &amp;ndash; go visit if you are into data). And I thought I should update the summary of my talk here.&lt;/p&gt;
&lt;p&gt;The talk started with what industry 4.0 is, and why data scientists should pay attention to it. A lot has been talked about the connecting and sensors side of Industry 4.0 but the data part of it is still to an large extent ignored. And this is what should be probed more. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/Industry40Talk_5F00_5B4A9A41.png"&gt;&lt;img height="270" width="364" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/Industry40Talk_5F00_thumb_5F00_35E0A6D3.png" alt="Industry40Talk" border="0" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;border-left:0px;display:block;padding-right:0px;margin-right:auto;" title="Industry40Talk" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Heavy industries for a long time have been cut away from the cutting edge data analytics tools and Industry 4.0 is their chance to make use of data analytics and data visualization for increasing efficiency as well as making sure they stay ahead on the industrial revolution.&lt;/p&gt;
&lt;p&gt;I talked about how Microsoft Azure is playing a vital role in achieving this step. Services like Microsoft Service Bus, Event Hubs, IoT Hub, and Azure stream analytics can streamline large chunk of data in appropriate data channels, and tools like Power BI can be used to achieve the Data visualization with great efficiency and ease.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/Cs0QRAFXYAAGrNK_5F00_5118FFD4.jpg"&gt;&lt;img height="336" width="253" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/Cs0QRAFXYAAGrNK_5F00_thumb_5F00_20F1B511.jpg" alt="Cs0QRAFXYAAGrNK" border="0" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;border-left:0px;display:block;padding-right:0px;margin-right:auto;" title="Cs0QRAFXYAAGrNK" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I told a story of fictitious person Max Mustermann who owns an SME that deals with Inventory management and Logistics. Further I showed the live presentation of how by using a simple Raspberry Pi, his machines can be connected to cloud and the data from those machines can be used for data analytics to achieve complex decisions like Predictive Analysis and Predictive Mentainance.&lt;/p&gt;
&lt;p&gt;The second part of talk was focused on Data Visualization with Augmented and Virtual Reality. I presented a sample of Data visualization in graph and charts format with HoloLens. Devices like HoloLens can achieve greater interaction with data as well as better understanding of visualized data.&lt;/p&gt;
&lt;p&gt;You can find the presentation of my talk &lt;a href="http://www.slideshare.net/poleindraneel/industy-40-in-practice"&gt;here&lt;/a&gt;. &lt;span style="text-decoration:line-through;"&gt;The video will also be up soon&lt;/span&gt;. The video is uploaded now on YouTube by TEDx Rhein Main team. Huge thanks to them. You can see the video of the talk &lt;a target="_blank" href="https://www.youtube.com/watch?v=RzCUk_TRfT4"&gt;here&lt;/a&gt;.&amp;nbsp;&amp;nbsp;&lt;img src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/wlEmoticon_2D00_smile_5F00_5CB14DC4.png" alt="Smile" style="border-top-style:none;border-left-style:none;border-bottom-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1799301" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/indraneel/archive/tags/IoT/default.aspx">IoT</category><category domain="http://developers.de/blogs/indraneel/archive/tags/Data+Visualization/default.aspx">Data Visualization</category><category domain="http://developers.de/blogs/indraneel/archive/tags/Data+Analytics/default.aspx">Data Analytics</category><category domain="http://developers.de/blogs/indraneel/archive/tags/Industry4.0/default.aspx">Industry4.0</category></item><item><title>Creating custom blob filter using AForge .NET in UWP Application</title><link />http://developers.de/blogs/indraneel/archive/2016/05/24/creating-custom-blob-filter-using-aforge-net-in-uwp-application.aspx<pubdate>Tue, 24 May 2016 13:08:30 GMT</pubdate><guid ispermalink="false">7e491611-45ad-4dae-a68f-c4cb64439510:1789975</guid><dc:creator>Indraneel Pole</dc:creator><slash:comments>0</slash:comments><wfw:commentrss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://developers.de/blogs/indraneel/rsscomments.aspx?PostID=1789975</wfw:commentrss><comments>http://developers.de/blogs/indraneel/archive/2016/05/24/creating-custom-blob-filter-using-aforge-net-in-uwp-application.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As you might already know, AForge is a .NET library for Image Processing. A lot of people prefer using .NET wrapper for OpenCV known as EmguCV, and no doubt it has stronger image processing capabilities. However, being a wrapper, it has its own limitations and sometimes AForge proves to be a better choice than EmguCV, for example while trying to process an image in Universal Windows Application. I am not going to discuss the comparison between AForge and EmguCV, I am just going to talk about how to use AForge with custom filters for object detection.&lt;/p&gt;  &lt;p&gt;AForge comes with a lot of &lt;em&gt;out of the box&lt;/em&gt; shape detection methods such as whether the blob is circle, triangle and so on. On the other hand it also has BlobsFiltering method that can detect object based on minimum width, minimum height, maximum width, and maximum height. But what if you have to detect a shape based on custom features. Such as ratio of height to width, or specific color, or anything else. In such case, custom filters come handy.&lt;/p&gt;  &lt;p&gt;AForge provides Filtering class called &lt;a href="http://www.aforgenet.com/framework/docs/html/4a83d944-d776-ba2c-9847-3254fe3dbfdd.htm"&gt;BlobsFiltering&lt;/a&gt;. While one can use this class directly to filter blobs using width and height of blob. However, you can pass a custom filter that inherits from &lt;a href="http://www.aforgenet.com/framework/docs/html/4caa69aa-6c67-b2b7-cb4d-ab0beff3f6bc.htm"&gt;IBlobsFilter&lt;/a&gt; interface. &lt;/p&gt;  &lt;p&gt;Before diving into the code, some background – I have used AForge not in usual .NET environment but the new .NET Core environment which is the environment for UWP applications. The library for .NET Core is available on &lt;a href="https://github.com/cureos/aforge"&gt;GitHub&lt;/a&gt;. Why is this important? Because it gives us the infinite opportunity to use AForge with not only usual Forms or backend applications, but also with Phones, IoT devices such as Raspberry Pi, and even HoloLens to not only detect and identify objects, but to use machine learning algorithms such as supervised perceptron learning to make these vast variety of devices “Intelligent”.&lt;/p&gt;  &lt;p&gt;Now, I have created a sample filter called BlobFilter that inherits from IBlobsFilter interface. Here is how it looks - &lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/image_5F00_6A4F5ED7.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;border-left:0px;display:block;padding-right:0px;margin-right:auto;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/image_5F00_thumb_5F00_4A34521A.png" width="244" height="103" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I am checking if the blob that is detected is triangle, circle, quadrilateral or convex polygon, and if it is, then I remove these from the image. If the check method returns true, it means the object should be removed from the image.&lt;/p&gt;  &lt;p&gt;Then I create a BlobsFiltering object with this filter. And then, I just apply the filter on the image. It gives me the image without the shapes that I mentioned. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/image_5F00_3F0AC7D0.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;border-left:0px;display:block;padding-right:0px;margin-right:auto;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/image_5F00_thumb_5F00_7102685A.png" width="244" height="57" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;To show the example, here I uploaded the sample image from AForge website in my application - &lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/image_5F00_09FE38A0.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;border-left:0px;display:block;padding-right:0px;margin-right:auto;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/image_5F00_thumb_5F00_50E75B9D.png" width="244" height="193" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And when I click on Remove shapes button, I get the output - &lt;/p&gt;  &lt;p&gt;&lt;a href="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/image_5F00_17D07E9B.png"&gt;&lt;img title="image" style="border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;border-left:0px;display:block;padding-right:0px;margin-right:auto;" border="0" alt="image" src="http://developers.de/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/indraneel/image_5F00_thumb_5F00_5EB9A198.png" width="244" height="155" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The two circle like objects are actually elliptical and thus are not removed from the image. &lt;/p&gt;  &lt;p&gt;Using machine learning functions, this custom filter can be made really advanced where it can remove more complex figures such as numbers, characters, or even real world objects like cars, chairs, etc.&lt;/p&gt;  &lt;p&gt;Next time I will talk about how we can use supervised learning algorithm in AForge to create the custom filters that can remove more complex shapes.&lt;/p&gt;  &lt;p&gt;Tip – If you are new to Image processing and confused about what does it mean by blob, well, a blob is any object that is detected by the algorithm inside the image.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developers.de/aggbug.aspx?PostID=1789975" width="1" height="1"&gt;</description><category domain="http://developers.de/blogs/indraneel/archive/tags/IoT/default.aspx">IoT</category><category domain="http://developers.de/blogs/indraneel/archive/tags/UWP/default.aspx">UWP</category><category domain="http://developers.de/blogs/indraneel/archive/tags/Core.NET/default.aspx">Core.NET</category><category domain="http://developers.de/blogs/indraneel/archive/tags/MachineLearning/default.aspx">MachineLearning</category></item></channel></rss>