Answers.Body: <p>You're right about the basic arrangement of the inputs, but there are a number of differences:</p>
  
  <ol>
  <li><p><a href="http://en.wikipedia.org/wiki/Artificial_neural_network" rel="nofollow noreferrer">Artificial neural networks</a> typically use exemplar data as inputs for the purpose of training, or adjusting the weights of its internal connections, to accurately classify them within a certain error range. The network is then applied to unknown data to classify them. <a href="https://en.wikipedia.org/wiki/Edge_detection" rel="nofollow noreferrer">Edge detection</a> filters are just blind operators that transform input data regardless of how it can be classified. There is no training, so any intelligence exists only in the mind of the filter developer.</p></li>
  <li><p>A CNN could be trained to be an effective Sobel (edge detection) filter, as described <a href="http://www.worldacademicunion.com/journal/1746-7659JIC/jicvol5no1paper01.pdf" rel="nofollow noreferrer">in this paper</a>, but a Sobel filter couldn't be an effective learning algorithm.</p></li>
  <li><p>Training neural networks is more non-deterministic, with outputs depending on what data they are trained with and potentially even the operational computations that are used for classification. Applying filters is typically deterministic, i.e. they will transform the same data exactly the same way if applied twice.</p></li>
  </ol>
  
  <p>One succinct way of expressing the biggest difference is: a cellular neural network is looking for a function, while a Sobel filter <em>is</em> a function.</p>
  
  <p>Note that there are types of neural networks called Convolutional Neural Networks, which can use Sobel and other filters in their input layers, as described <a href="https://en.wikipedia.org/wiki/Convolutional_neural_network" rel="nofollow noreferrer">here</a>. Though, these are neither of the things you are asking about. :)</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-11-21T21:57:00.670Z
Answers.LastActivityDate: 2016-11-23T14:35:20.330Z
Answers.LastEditDate: 2016-11-23T14:35:20.330Z
Answers.UserDisplayName: dynrepsys
Body: <p>I have implemented a Sobel filter for edge detection in Matlab without using its toolbox. I am a bit confused: </p>
  
  <p>Is a Sobel filter a type of Cellular Neural Network?</p>
  
  <p>Both Sobel and Cellular Neural Network calculate output via its neighborhood cells.</p>
  
Tags: <neural-networks><comparison><edge-detection><cellular-neural-networks>
Title: Is a Sobel filter for edge detection a type of Cellular Neural Network?
UserDisplayName: netizen
ThreadText: # Is a Sobel filter for edge detection a type of Cellular Neural Network?
  
  (Asked by: username_0 on 2016-11-21)
  
  I have implemented a Sobel filter for edge detection in Matlab without using its toolbox. I am a bit confused:
  
  Is a Sobel filter a type of Cellular Neural Network?
  
  Both Sobel and Cellular Neural Network calculate output via its neighborhood cells.
  
  **Tags:** neural-networks, comparison, edge-detection, cellular-neural-networks
  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_1 on 2016-11-21. Score: 4 | Accepted answer
  
  You're right about the basic arrangement of the inputs, but there are a number of differences:
  
  1. [Artificial neural networks](http://en.wikipedia.org/wiki/Artificial_neural_network) typically use exemplar data as inputs for the purpose of training, or adjusting the weights of its internal connections, to accurately classify them within a certain error range. The network is then applied to unknown data to classify them. [Edge detection](https://en.wikipedia.org/wiki/Edge_detection) filters are just blind operators that transform input data regardless of how it can be classified. There is no training, so any intelligence exists only in the mind of the filter developer.
  2. A CNN could be trained to be an effective Sobel (edge detection) filter, as described [in this paper](http://www.worldacademicunion.com/journal/1746-7659JIC/jicvol5no1paper01.pdf), but a Sobel filter couldn't be an effective learning algorithm.
  3. Training neural networks is more non-deterministic, with outputs depending on what data they are trained with and potentially even the operational computations that are used for classification. Applying filters is typically deterministic, i.e. they will transform the same data exactly the same way if applied twice.
  
  One succinct way of expressing the biggest difference is: a cellular neural network is looking for a function, while a Sobel filter *is* a function.
  
  Note that there are types of neural networks called Convolutional Neural Networks, which can use Sobel and other filters in their input layers, as described [here](https://en.wikipedia.org/wiki/Convolutional_neural_network). Though, these are neither of the things you are asking about. :)
  
  
  ---
  
  