Hello, I am trying to build a Neural Network on Xilinx Virtex 5, that I will feed it with images from this camera: OV7670 and train it in order to determine if the person in the camera is man or woman. Is there any VHDL core capable of implementing this processing? Ideally I would try to achieve real-time (delay = 1-2 sec) to decide if the picture shows man or woman. The camera I have bought is the OV7670, which takes 640x480 pictures. Can it work or I need a megapixel camera? I have, also, found a High Definition 14 MegaPixel USB camera from ebay, and I want to interface it with Virtex 5. Is something feasible? Where to start from? In the same FPGA I have to put, also, the core of the neural network and the core of the serial interface, which will output man or woman. I am thinking of CNN. Thank you...
: Edited by User
Someone to help/give an opinion?
This is way too vague. What kind of research have you done on that topic on your own? Have you worked with neural networks before? Do the persons cover the whole frame? Will you classify based on full height, upper body, just face? It is certainly possible, but you can't rely on the forum implementing every step.
I know the theory behind Neural Networks. Worked in python, not in VHDL. Imagine only a face in front of a camera (no has, eyeglasses) good lighting, no men dressed like woman, no woman dressed like man. Can you help? I have read papers about implementing CNN on VHDL, but what happens with the RAM? I see problems there...
do you have a running neural network code on your PC? If not I suggest you start there because it needs to be trained and the training itself ist most likely not going to happen on your xilinx.
What do you mean by saying: "the training itself ist most likely not going to happen on your xilinx"? Does the Virtex 5 support so complicated circuit design or not?
A. S. is right. Training a Neural Network is the hard part that takes a lot of computational power. Once you have the trained network (that is a set of weights for the non-linear nodes), the actual implementation is relatively light-weight.
So for the training should I use something more than FPGA? External Hard Disk for example? More memory? What?
Reeading your questions I suggest you start small and start reading about neural networks and train some yourself on your computer. After you've covered the basics, you may be able to form a clearer mental picture of what you need to do to implement neural networks on an FPGA. For starters, read the chapter about neural networks in Bishop's "Machine learning and pattern recognition" (you may be able to find the pdf online) and do Google's Machine Learning Crash Course.
Thank you, I start reading the book you said. But is there any sample code on NN on VHDL that is working, in order to start experimenting with the FPGA? Thank you...