|
|
Comments and Discussions
|
|
 |

|
How to add webcame application in draw area
|
|
|
|

|
m beginner to neural network. so i do not understand the code very well. so can i get the full documentation of the code or any place where they explain the algorithm of this code? can anyone help me please ??
|
|
|
|

|
Merhaba Murat Bey
Ben bilgisayar mühendisliğinde okuyorum.Soft computing dersiyle alakalı ANN ödevi için kodunuzu örnek aldım.Hatta ödevi göndereyim.
# Open source code of an ANN for learning & recognising patterns from images or videos
# Specify the domain: problem, objective, solution approach, results
# Document the basic concepts: neural architecture, learning algorithm, convergence
# Develop a code versions, such that the algorithm still converges:
* one version with modified neural architecture
Bu ödevde bahsedildiği gibi koddaki convergence,results,objective lerimiz neler?
ve modified neural architecture kısmını nasıl değiştirebilriz ki converge etmeye devam etsin?
Şimdiden teşekkürler.İyi günler
Onur FİDAN
bil müh 4.sınıf
|
|
|
|

|
I appear to be missing something major here.
I have taken your PATTERNS folder and replaced the contents with a 16 random images taken from a Google Image Search. I have standardised the size of each to 64x64 and tried to train with 1, 2 and 3 layers.
My aim is to make copies of those images and do some image processing (e.g. change colours, add noise, scale/rotate, etc) and use your recognition app to try to match with the original 16 images.
However, my training run never seems to finish, as the Error value never seems to change -- it stays at 120.0 for each iteration (each image has a currentError of 7.5) -- and is being compared to the default Maximum Error setting of 1.1 (if I set this setting 121.0, the training completes, but recognition returns the same image every time).
What is supposed to happen on each iteration? Should the error value decrease over time? I have left this to run for up to three hours before, performing over 200 iterations and the error value never changes.
Why?
|
|
|
|

|
I'm sorry for probably noob-like question(s) and problem(s) but>
when i tried to run the demo it crashed (the windows program encountered an error and will end now screen) so i tired to compile the source and run it in Debug mode..
The buil process showed no errors, but when i tried to run it (in Visual Studio Express 2008) in the Debug mode ..
it stops on line 311 neuralNetwork.MaximumError = Double.Parse(textBoxMaxError.Text);
saying that imput string was not in correct format
i really don't know what can be wrong, if anyone can be so kind and help i would really appreciate it.
BR
|
|
|
|
|
|
|

|
Hi there
In both WinXP 32 and 64 bits I get this error when I start to recognise anything that is different from the fist configuration to recognize numbers.
What I can do to solve this problem?
Thanks
_________________________________________________________________________
Parameter is not valid.
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ArgumentException: Parameter is not valid.
at System.Drawing.Bitmap..ctor(String filename)
at BPSimplified.NeuralDemo.ShowRecognitionResults(String MatchedHigh, String MatchedLow, Double OutputValueHight, Double OutputValueLow)
at BPSimplified.NeuralDemo.buttonRecognize_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:----------------------------------------
BPSimplified
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitdebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
|
|
|
|

|
I'm doing a exercise about classification image, can you guide for me the way to apply this project into classification image? Thank you..!
And can you explain the formula 1/(1 + e^(-x)) in this project?
|
|
|
|

|
hi..
well im studying on neural networks. so i want to know the properties of this neural network. is this feed forward back propergation neural network? if not please tel me the properties of this neural network. and if there are more details of this neural network please tel me.
thank u
|
|
|
|

|
Hi Murat Firat,
Thanks for your great source about back propagation algorithm.
I have one question: I use your algorithm with 2 layers and there are 33 images in my training set => 33 inputs => 33 outputs.
Layers: 2
Inputs: 33
Ouputs: 33
----------------
I set maximum error = 5.
I started to train this training set and it takes so long time... It has been more than half an hour and still not finished yet. So I stopped it. I know that if I increase maximum error => faster speed for training but very bad recognition.
Is there any solution to make this faster training with acceptable recognition performance?
Thanks in advance.
|
|
|
|

|
Hi,
I'm somewhat of a newbie.. I trying to tinker with the code
and upon compiling I'm getting a "System.NullReferenceException"
When I click on browse and try to access a file to recognize.
Why is this?
Tks,
ER
|
|
|
|

|
can this approach be used in object classification where you train the system to classify an object(ie image) as a human or vehicle
|
|
|
|

|
Hi,
In the theory, I see that for calculating the error of the output in the forwardbackpropagation, it is just:
OutputLayer[i].Error = (OutputLayer[i].Target - OutputLayer[i].output);
but in your code it is:
OutputLayer[i].Error = (OutputLayer[i].Target - OutputLayer[i].output) * (OutputLayer[i].output) * (1 - OutputLayer[i].output);
And one more question about the learningRate = 0.2? What if we increase and decrease this variable?
Could you please explain?
Thanks in advance,
modified on Wednesday, October 8, 2008 6:52 AM
|
|
|
|

|
This is a great article. However, I am java programmer. I have tried to find a compatible article like this on google but I could not. Do you have this version in java?
Thanks in advance.
|
|
|
|

|
Hi,
I tried to use your code to find similar images. I have a database containing a lot of images and I have to decide whether another image is part of the database or not. My intention is to create an application which is able to decide whether an image has been stolen (i.e. copyright infringement) or not. I have a huge database of images (>10,000 images) in different sizes (10x10px - 5,000x5,000px). It is very difficult to remember every image in the database, so I tried to use an ANN. Your code resizes the images to an average size and uses this number to calculate the number of input and hidden nodes. Assuming you have 1,000 images with an average size of 1,000x1,000px, you have about (1,000*1,000 + 1,000) * 0.5 input nodes + (1,000*1,000 + 1,000) * .3 output nodes. Every input node has a double array with connection weights to the hidden nodes. I.e. there are (1,000*1,000 + 1,000) * 0.5 input nodes, each with a double array of (1,000*1,000 + 1,000) * .3 elements. One double has 8 bytes. We need 500500 double arrays with 300300 elements. But the maximum size of a double array is 65536 (in C#)... We would need about 500500*300300*8 bytes (= 1.093 terabytes) of space for this artificial neural network... I think this can't be done...
I tried to set a "maximum average size" of 128*128px but the accuracy of the network died with its waste of space... Do you know a method do increase accuracy and decrease the usage of space?
visus
|
|
|
|

|
Hi All,
Couple of questions:
1. when calclulating the error value for the output layer, why use:
OutputLayer[i].Target = OutputLayer[i].Value.CompareTo(output) == 0 ? 1.0 : 0.0;
and then use (target-output) instead of just (key-output)
2. how can you decide the number of neurons in the input and hidden layers?
Thanks,
|
|
|
|

|
This is enlightenment!!!
Thanks for the wonderful article
Regarding fingerprint matching, is it enough that we just have the, say, 100 fingerprint image from our neighborhood, and do just what your program does? pattern matching, without extracting the properties of finger print itself?
I read a little about properties of fingerprint, do we have to extract those attribute, and train the network using those features?
I am sorry if my understanding is still vague, please guide us.
Thanks you in advance,
Eko SW
Indonesia
http://swdevsoftwareconsulting.blogspot.com
|
|
|
|

|
First, it is a great aplication
Well, now I have a question:
is possible to get generalization (recognize similar patterns)?, I try with BP simple layer, but I can't get good results.
or
Is possible with the others (2 layers or 3 layers)?
thanks
|
|
|
|

|
Dear
I am trying to download the source of your project but its not working can you please send it to me on shery_sa@hotmail.com
i will be thankfull to you for your this favour
Sheraz Ahmed
shery_sa@hotmail.com
|
|
|
|
|

|
Hi Murat,
Great article, helped introduce me to the field of image recognition.
I need to develop application for detecting the lines on an image of the hand.
Can the BackPropagation technique/technology handle this?
I am interested in contracting your help further.
Please email me to discuss further:
Email: ygubbay@nusolutions.com.au
Regards,
Yehuda
Development Manager,
Nu Solutions
|
|
|
|

|
we are extremely thankful for this damn awesome project.it wll bw very kind of you if u could please asist me to know
"OutputLayer[k++].Value = p.Key;"
1)what is the initial value of output layer???
2}what is the meaning of "p.key" and "p.value"..plese elaborate.
|
|
|
|

|
whats the archeticture of neural network author used here? how many inputs, output( final) how many layers etc? Y is this network implemented as template?
(Jameel)
|
|
|
|

|
Great job buddy i need a bit help, how can i decide the architecture of a nueral network? means for how many inputs, outputs etc for a particular problem? can u suggest me architecture for face detection in an image plzz? or any other resource u can suggest which can ans my question?
Thanx in advance
(Jameel)
|
|
|
|

|
Hi,
We have reviewed your image recognition work. We want to discuss with you regarding development of this per our needs with some advanced features. Please advise in case you are interested in providing commerical services for this technology.
Regards,
Ankit Jain
ankitj@competentsoftware.com
Competent Software Pvt. Ltd.
New Delhi
India
|
|
|
|

|
This example is brilliant! Thank you for sharing it with us.
I am trying to build an equivalent in Java and have one question at the moment...
what does F(total) do?
Thanks again for sharing it with us.
|
|
|
|

|
This is by far the best resource I've been able to find online. It's a really exciting area with many possibilities. I'm really interested in combining neural nets with genetic algorithms. It feels like an area of computer science that is "on the brink" - very close to becoming something amazing.
Anyway, well done for being selfless and making this available for people! Good Karma to you!
Jade
|
|
|
|

|
hi! i need to develop an application for detecting tumors on a thermographic image. what would be the best approach for this using neural networks. thanks in advance
|
|
|
|

|
i'm sorry if my question seems so stupid but i totally new in this.i just started to learn a few weeks ago.but i still don't understand if we want to recognize any pattern or picture we should use any tools or completely coding.What is the tool if i have to use tool and what is the language that i should use to do it.Can java make it?
|
|
|
|

|
The key feature of neural network is its threshold value
but I wonder why your network didn't have this ....?
|
|
|
|

|
As I know, in your program the number of input units of network is determined by the number of pixels of pattern. But I found that the patterns in your file do not have the same size. There are 23x33, 29x33, 19x33... I would like to know when I train the network, how many input units are there indeed? It is impossible to train the same network if the patterns have different dimension.
Thank you for your response.
|
|
|
|

|
Hi everybody!
My name is Khiem , I'm from Vietnam.
I downloaded the demo project including the source code 5 days ago for research but I got a problem installing the software in my PC. I do not install the C# program for my PC yet , do I need to install it?
The fact that I used my colleges computer to download it , and this computer doesn't have C# yet , ironically , it works .
So please tell me what steps I should do to make it work . Thanks so much for your help .
Khiem
|
|
|
|

|
:-DI really think you work is really great.
I have some questions about the settings.
1. Is "Number of Layers" means that in addition to input, there are "Number of Layers" layers in the network? For example, if it is 1, the network consists one input and 1 output layer.
2.Number of Input Unit: why is it only for two or three layer net?
3.Number of Input Unit: Should it be the number of pixels of pattern? Why is its default value 295. It should be 27x33 that many.
4. What is the activation function f in this program?
Thank you very much. I appreciate your response. Thank you.
randy
|
|
|
|

|
Greetings,
First of all i would to thank you, for doing such a good work and giving to public....
When i was going through your work, i was stuck at one point, you have used
InputLayerNode = (networkInput + NumOfPatterns) * .33
HiddenLayerNode = (networkInput + NumOfPatterns) * .11
Is there any specific reason behind using this formula for input and hidden node..
Do we have any generic formula for Input and hidden Node..
I am new buddy in this field. so plz guide me...
Waiting for ur reply...
Thanking you....
Vimal
|
|
|
|

|
Hi
u have provided a very good neural network system.
But i did not understand the logic of how did u decide the number of input units, hidden units and output units. and how does the output units determine which image it is liek suppose u gave 34 output units then how do those 34 units wil decide whch image of training set it is
pls reply as soon as possible
|
|
|
|

|
Hi,
The context:
I have a device which returns me a vector of data when a rfid tag passes nearby. The vector looks like the following:
[30, 45, 60, 50, 31, 0, 264, 641, 999, 1310, 32, 40, 55, 51, 33, 725, 200, 600, 900, 1200]
I would like to train the network with many tags, which means many similar vectors with little variance. When the training is over, I want to pass a test tag in front of the device, obtain a vector of data, and get from the network if the data somehow "fits" to the trained data.
For a better understanding, the data in the vector changes if the tag goes left-right or up-down. I would train using the same "direction" and test with a tag in the other direction, leading to a "rejection" of the item.
My question is :
Does it make sense to use a neural network (even yours) for such a case?
My training data might be composed of 5000 vectors. The way I see how I could use your application library is to define each of these vectors as "pattern", and then look at the probabilities if the test vector reaches for example >60% similarities with one of the vectors.
Could you help me with this?
Thanks a lot,
JF
Jean-Francois Dufour
|
|
|
|

|
This is by far the easiest Neural Network article to understand. Thank you for the crystal clear code.
|
|
|
|

|
In NeuralDemo.cs should HiddenNum be:
} else if (comboBoxLayers.SelectedIndex == 2) {
int InputNum = Int16.Parse(textBoxInputUnit.Text);
// int HiddenNum = Int16.Parse(textBoxOutputUnit.Text);
int HiddenNum = Int16.Parse(textBoxHiddenUnit.Text);
if (TrainingSet != null) {
Charles
|
|
|
|

|
Hi, your source code is easy to understand and compile. Thanks.
However I think there is an error in the Backpropagation function.
It is missing a factor of "Output*(1-Output) for all hidden layers.
The link below gives a very good explanation of the math and easy to follow.
http://www.speech.sri.com/people/anand/771/html/node37.html
I am trying to use the structure of your code to do some real work and can't afford to have any error in the algorithm.
It would be great if you could clarify if I am wrong.
Thanks.
Lee
|
|
|
|

|
Hello ,
I am a student studying in Computer Science
Your product is so wonderful , impressing me the most
In fact , while self-studying the neural network ...
I find it somewhat difficult to understand both the number of hidden layers and the number of hidden layers ' node used in neural network
If more hidden layers , will it be better in result ?
For instance , the input is 48 X 48 pixel images
How many input layer nodes , hidden layer nodes ,ouput layer nodes it should be ?
In your application , is it only restricted to 0/1 in value of input or output ? can I use this to identify something colorful ?
If not I remember wrong , some application may have threshold value , implying that it seems to turn out 0/1
result . If I want to apply this on continious values ,
do I need to implement the threshould ?
By the way , Is there any simple neural network tutorial
website recommended , I want to learn more .... >_<"
Thanks You Very Much
Your Product is worthy of full mark ( 100 )
|
|
|
|

|
Dear Mr. Murat
I want to ask you about your aplication "C# Implementation of BackPropagation Neural Network For Pattern Recognition".
can you explain me more details about the tab settings.I don't understand what for is "Number of layers", "Maximum Error", "Number of Input Unit", "Number of Hidden Unit", why default value for "Number of Input Unit" is 250, and why default value for "Number of Hidden Unit" is 100.
Thank you very much for your attention.
|
|
|
|

|
Hello,
I am a student from Croatia who studies Computer science. I have to write cca. 20 pages about: Use of neural networks for pattern recognition.
describe: -types of networks which are used in this purpose
-commercial tools
-achieved results
I found your work on http://www.codeproject.com/ so I thought that you could help me beacuse you are probably good in this field.
Any help will be useful... Links, pdfs, texts ... about my task.
Can You contact me on shecccATgmail.com ?
Thank You very much!
|
|
|
|

|
If I have an image with a string of characters like ABC123, will this work on that image also? Do I need to normalize and wash out the image to make the letters appear black and white before this will work??
|
|
|
|

|
I am not one to comment normally, but good job, I have been timidly browsing the net for something like this a couple of days now, exactly what I was looking for. Could use a couple more comments =], I am just sitting around here looking at your code, and I was wondering, what do I need to change to have the program check just say the border of an image? Again, Great Work, thanks!
-Jeff
|
|
|
|

|
Great work.
Only problem with the source code is that you are trying to update the UI from a secondary thread which causes an error but I fixed this using invoke on textBoxState with no problems.
|
|
|
|
 |
|
|
General News Suggestion Question Bug Answer Joke Rant Admin
|
This article contains a brief description of BackPropagation Artificial Neural Network and its implementation for Image Recognition
| Type | Article |
| Licence | CPOL |
| First Posted | 24 Jun 2007 |
| Views | 340,710 |
| Downloads | 21,132 |
| Bookmarked | 248 times |
|
|