Answers.Body: <p>I'd suggest you better understand edge detectors such as Robert or Sobel operators first to understand better how convolution operation on images extract features by constant value kernels.  </p>
  
  <p>Would personally recommend <a href="https://www.pearson.com/us/higher-education/program/Gonzalez-Digital-Image-Processing-4th-Edition/PGM241219.html" rel="nofollow noreferrer">Gonzales and Woods</a> for this,  as it gives a pure mathematical explanation to how and why these features are extracted.</p>
  
  <p>Essentially the convolution kernels used in CNN's are ones with a learned set of values for the kernel. </p>
  
  <p>For a better understanding of learned convolution kernels and, quite frankly, any idea under deep learning would easily recommend <a href="http://www.deeplearningbook.org/" rel="nofollow noreferrer">Deep Learning by Goodfellow et al</a> </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-11-20T09:24:32.400Z
Answers.LastActivityDate: 2019-11-20T09:24:32.400Z
Answers.UserDisplayName: ashenoy
Body: <p>I'm pursuing a master's degree in Artificial Intelligence. My final work is about Convolutional Neural Networks.</p>
  <p>I was looking for information about filters (or kernels) of the convolutional layers. I have found this article: <a href="https://lodev.org/cgtutor/filtering.html" rel="nofollow noreferrer">Lode's Computer Graphics Tutorial - Image Filtering</a>, but I need more.</p>
  <p>Do you know more resources about more filters (that it is known that they work) and how to create new ones?</p>
  <p>In other words, I want to know how they work and how can I create new ones.</p>
  <p>I've thought to create a C++ program, or with Octave, to test the new kernels.</p>
  <p>By the way, my research will be focused on image segmentation to process MRIs.</p>
  
Tags: <convolutional-neural-networks><reference-request><image-processing><image-segmentation><filters>
Title: What are some references that describe known filters (or kernels) and how we can create new ones?
UserDisplayName: VansFannel
ThreadText: # What are some references that describe known filters (or kernels) and how we can create new ones?
  
  (Asked by: username_0 on 2019-11-20)
  
  I'm pursuing a master's degree in Artificial Intelligence. My final work is about Convolutional Neural Networks.
  
  I was looking for information about filters (or kernels) of the convolutional layers. I have found this article: [Lode's Computer Graphics Tutorial - Image Filtering](https://lodev.org/cgtutor/filtering.html), but I need more.
  
  Do you know more resources about more filters (that it is known that they work) and how to create new ones?
  
  In other words, I want to know how they work and how can I create new ones.
  
  I've thought to create a C++ program, or with Octave, to test the new kernels.
  
  By the way, my research will be focused on image segmentation to process MRIs.
  
  **Tags:** convolutional-neural-networks, reference-request, image-processing, image-segmentation, filters
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2019-11-20. Score: 3 | Accepted answer
  
  I'd suggest you better understand edge detectors such as Robert or Sobel operators first to understand better how convolution operation on images extract features by constant value kernels.
  
  Would personally recommend [Gonzales and Woods](https://www.pearson.com/us/higher-education/program/Gonzalez-Digital-Image-Processing-4th-Edition/PGM241219.html) for this, as it gives a pure mathematical explanation to how and why these features are extracted.
  
  Essentially the convolution kernels used in CNN's are ones with a learned set of values for the kernel.
  
  For a better understanding of learned convolution kernels and, quite frankly, any idea under deep learning would easily recommend [Deep Learning by Goodfellow et al](http://www.deeplearningbook.org/)
  
  
  ---
  
  