{"id":756,"date":"2019-03-28T20:21:01","date_gmt":"2019-03-28T20:21:01","guid":{"rendered":"https:\/\/tutorials.retopall.com\/?p=756"},"modified":"2019-03-28T21:06:29","modified_gmt":"2019-03-28T21:06:29","slug":"image-processing-and-classification","status":"publish","type":"post","link":"https:\/\/tutorials.retopall.com\/index.php\/2019\/03\/28\/image-processing-and-classification\/","title":{"rendered":"Image Processing and Classification"},"content":{"rendered":"\n<p>Nowadays, analyzing images has become a very important task for Artificial Artificial problems such as the Autonomous Driving, object detection, intelligent cameras and also facial detection.<\/p>\n\n\n\n<p>Therefore, this is done with complex algorithms that are based on the <a href=\"https:\/\/tutorials.retopall.com\/index.php\/2019\/02\/24\/convolutional-neural-networks\/#convolution-operation\"><strong>convolutional operation<\/strong><\/a>. This operation consists on editing a feature image with some <strong>filters <\/strong>(kernels) that will be applied to get a transformed image.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/ConvNet-2-1024x715.png\" alt=\"\" class=\"wp-image-758\" width=\"533\" height=\"371\" srcset=\"https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/ConvNet-2-1024x715.png 1024w, https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/ConvNet-2-300x209.png 300w, https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/ConvNet-2-768x536.png 768w, https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/ConvNet-2-100x70.png 100w, https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/ConvNet-2.png 1262w\" sizes=\"auto, (max-width: 533px) 100vw, 533px\" \/><\/figure><\/div>\n\n\n\n<p>The input image will be an <strong>RGB image<\/strong> but it can also have one channel (black and white image). This will vary the depth of the RGB image and also the channel. Also RGB images can be resized with a depth of 1 depending on their amount of colour.<\/p>\n\n\n\n<p>Each filter will be a three dimensional array  (width, height, depth)  with some values.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/parts-1.png\" alt=\"\" class=\"wp-image-759\" width=\"286\" height=\"313\" srcset=\"https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/parts-1.png 584w, https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/parts-1-274x300.png 274w\" sizes=\"auto, (max-width: 286px) 100vw, 286px\" \/><\/figure><\/div>\n\n\n\n<p>These values will vary depending on the purpose. These values can be asigned in two different ways depending on their used<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Predifined Filters<\/strong><\/li><li><strong>Learning filters<\/strong> for Machine Learning (Convolutional Neural Networks)<\/li><\/ul>\n\n\n\n<p>Now we will analyze each of them<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Predifined Filters for Image Proccessing<\/h3>\n\n\n\n<p>This type of filters have been used for a long time with respect to the modern Convolutional Neural Networks in machine learning. They are very useful to reconstruct and proccess and image with different patterns.<\/p>\n\n\n\n<p>Here I will saw some examples of filters for differents finalities:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Edge Detection<\/h4>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/EDGE.png\" alt=\"\" class=\"wp-image-760\" width=\"360\" height=\"467\" srcset=\"https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/EDGE.png 609w, https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/EDGE-231x300.png 231w\" sizes=\"auto, (max-width: 360px) 100vw, 360px\" \/><\/figure><\/div>\n\n\n\n<p>With this filter we can apply the convolution operation to get the most important pixels that represent the edges of the image.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Blur <\/h4>\n\n\n\n<p>This is a popular effect that create cool effects in images. It is usually  combined with Artificial Intelligence algorithms to blur the background and not the front object or person. Also commonly known as Portrait Mode<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/00100lportrait-00100-burst20181010153008928-cover.jpg\" alt=\"\" class=\"wp-image-762\" width=\"655\" height=\"368\" srcset=\"https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/00100lportrait-00100-burst20181010153008928-cover.jpg 936w, https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/00100lportrait-00100-burst20181010153008928-cover-300x169.jpg 300w, https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/00100lportrait-00100-burst20181010153008928-cover-768x432.jpg 768w\" sizes=\"auto, (max-width: 655px) 100vw, 655px\" \/><\/figure><\/div>\n\n\n\n<p>The blur effects also have a predifined filter:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/BLUR.png\" alt=\"\" class=\"wp-image-763\" width=\"286\" height=\"488\" srcset=\"https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/BLUR.png 464w, https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/BLUR-176x300.png 176w\" sizes=\"auto, (max-width: 286px) 100vw, 286px\" \/><\/figure><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Sharpeness<\/h4>\n\n\n\n<p>Finally we have the sharpenss effect that is the opposite to the blur:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/SHARPEN.png\" alt=\"\" class=\"wp-image-761\" width=\"253\" height=\"411\" srcset=\"https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/SHARPEN.png 464w, https:\/\/tutorials.retopall.com\/wp-content\/uploads\/2019\/03\/SHARPEN-185x300.png 185w\" sizes=\"auto, (max-width: 253px) 100vw, 253px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mce_32\">Convolutional Neural Network Filters for Image Processing<\/h3>\n\n\n\n<p><a href=\"https:\/\/tutorials.retopall.com\/index.php\/2019\/02\/24\/convolutional-neural-networks\/\">Convolutional Neural Networks<\/a> are widely used for complex problems of image classificiation and detection. With some layers we can get output values that will be the prediction of the network. This network contain also convolutional layers. This layer have also filters that will have been initialized randomly. However with the backpropagation training method  we will update these filters to obtain better filters that simplify the images and remark the most important parts of them.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nowadays, analyzing images has become a very important task for Artificial Artificial problems such as the Autonomous Driving, object detection, intelligent cameras and also facial [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":764,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,5,46],"tags":[57,118,49,47,117,48,125,124,121,122,123,119],"class_list":["post-756","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-artificial-intelligence","category-explanation","category-neural-networks","tag-back-propagation","tag-blur","tag-convolution-operation","tag-convolutional-neural-network","tag-edge-detection","tag-filter","tag-image-classification","tag-image-processing","tag-learning-filters","tag-predifined-filters","tag-rgb-image","tag-sharpeness"],"_links":{"self":[{"href":"https:\/\/tutorials.retopall.com\/index.php\/wp-json\/wp\/v2\/posts\/756","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tutorials.retopall.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tutorials.retopall.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tutorials.retopall.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tutorials.retopall.com\/index.php\/wp-json\/wp\/v2\/comments?post=756"}],"version-history":[{"count":1,"href":"https:\/\/tutorials.retopall.com\/index.php\/wp-json\/wp\/v2\/posts\/756\/revisions"}],"predecessor-version":[{"id":765,"href":"https:\/\/tutorials.retopall.com\/index.php\/wp-json\/wp\/v2\/posts\/756\/revisions\/765"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tutorials.retopall.com\/index.php\/wp-json\/wp\/v2\/media\/764"}],"wp:attachment":[{"href":"https:\/\/tutorials.retopall.com\/index.php\/wp-json\/wp\/v2\/media?parent=756"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tutorials.retopall.com\/index.php\/wp-json\/wp\/v2\/categories?post=756"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tutorials.retopall.com\/index.php\/wp-json\/wp\/v2\/tags?post=756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}