Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Neural Network on Xilinx Virtex 5

97 views
Skip to first unread message

Electronics_hobbyist

unread,
Feb 21, 2019, 12:43:02 PM2/21/19
to
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...
Message has been deleted
Message has been deleted

Electronics_hobbyist

unread,
Feb 23, 2019, 2:35:48 PM2/23/19
to
Anyone to help???

Mike Perkins

unread,
Feb 23, 2019, 2:53:49 PM2/23/19
to
I doubt anyone here can.

It's all a very tall order and far easier to determine the user's map
reading skills to determine sex.


--
Mike Perkins
Video Solutions Ltd
www.videosolutions.ltd.uk

Electronics_hobbyist

unread,
Feb 23, 2019, 3:29:34 PM2/23/19
to
Sorry, I didn't understand.
Message has been deleted
Message has been deleted

gnuarm.del...@gmail.com

unread,
Feb 24, 2019, 12:17:56 AM2/24/19
to
The task you are describing is a complicated problem. It would normally done by first selecting a potential algorithm and writing it as a program to run on a PC from previously captured images. This would provide a useful debug environment and allow the algorithm to be evaluated and modified as needed to make it work. Then once an algorithm is working it can be coded on an FPGA.

The fact that you are asking for a "VHDL core" to do this shows you are not really prepared to even start on this job yet.

I assume this is a class assignment. Have you been given any information on the sort of tools and techniques you might used to achieve your goals? I would first review that to see if there are any likely algorithms you could use.

Rick C.

Electronics_hobbyist

unread,
Feb 24, 2019, 5:43:13 AM2/24/19
to
I have the freedom to choose any solution I prefer. I am thinking of Convolution Neural Networks as I have read papers about this. But, my main concern is that on FPGAs there is a memory bottleneck. On the same FPGA I should use a core for the camera, the NN core and the serial interface core that will output me the result. Is there any source/link/book that could help me on how to start?
Message has been deleted

gnuarm.del...@gmail.com

unread,
Feb 24, 2019, 9:56:02 AM2/24/19
to
On Sunday, February 24, 2019 at 5:43:13 AM UTC-5, Electronics_hobbyist wrote:
>
> I have the freedom to choose any solution I prefer. I am thinking of Convolution Neural Networks as I have read papers about this. But, my main concern is that on FPGAs there is a memory bottleneck. On the same FPGA I should use a core for the camera, the NN core and the serial interface core that will output me the result. Is there any source/link/book that could help me on how to start?

Before you do any writing of code, you should plan how you are going to debug it, with "it" being each the algorithm and the implementation.

If you are just connecting prewritten modules there shouldn't be much need to study books other than language books. Do you know which language you will be using? What language are the modules written in?

Rick C.

Electronics_hobbyist

unread,
Feb 24, 2019, 11:59:47 AM2/24/19
to
I have built it in python. But I will program it in VHDL for obvious reasons, i.e. faster decision of the NN if the person is man or woman...

gnuarm.del...@gmail.com

unread,
Feb 24, 2019, 2:11:34 PM2/24/19
to
Have you programmed in VHDL before?

Rick C.

Electronics_hobbyist

unread,
Feb 24, 2019, 4:09:14 PM2/24/19
to
Yes, many times, from simple digital design to FSMs. But first time I will program Neural Networks.

gnuarm.del...@gmail.com

unread,
Feb 24, 2019, 6:42:03 PM2/24/19
to
Ok, so the issues you face should be similar to the issues of using Neural Networks in python.

Of course, you will need to structure the algorithm to utilize parallelism to fully exploit the speed advantages of hardware.

Rick C.

Electronics_hobbyist

unread,
Feb 25, 2019, 4:01:50 PM2/25/19
to
Is there a helpful book/source I could start with?

gnuarm.del...@gmail.com

unread,
Feb 25, 2019, 11:16:25 PM2/25/19
to
What exactly do you want help with? What sort of book are you looking for?

Rick C.

Electronics_hobbyist

unread,
Feb 26, 2019, 3:57:16 AM2/26/19
to
Sample code on VHDL, about Neural Networks, that is working. So I can start from somewhere to build something. From theory to practice there is a huge gap without help..

Thank you.

gnuarm.del...@gmail.com

unread,
Feb 26, 2019, 9:39:38 AM2/26/19
to
On Tuesday, February 26, 2019 at 2:57:16 AM UTC-6, Electronics_hobbyist wrote:
> Sample code on VHDL, about Neural Networks, that is working. So I can start from somewhere to build something. From theory to practice there is a huge gap without help..

VHDL and Neural Networks are two totally different things. There is no need to combine them into one topic for study. If you have a working algorithm in another language, you don't really need to consider the Neural Networks so much. You just need to port that algorithm to VHDL like you would any algorithm. So I don't think you need or will find a book on this exact topic.

The things you will need to pay attention to are how you will adjust the algorithm to suit the inherent parallelism available in hardware and how you will debug the implementation, both in simulation and in the hardware.

Have you given this any thought? If you have questions you can ask here.

Rick C.

Electronics_hobbyist

unread,
Feb 26, 2019, 1:33:57 PM2/26/19
to
Thanx a lot, for the help.

gnuarm.del...@gmail.com

unread,
Feb 26, 2019, 3:12:59 PM2/26/19
to
What is the basis of the neural network algorithm? How is the software organized? I guess the key issue in performance are the high order loops, things that are iterated in nested loops. Have you thought much about how they will be implemented in VHDL?

Rick C.

Electronics_hobbyist

unread,
Feb 27, 2019, 4:52:27 AM2/27/19
to
I have build the CNN in Raspberry in python but it takes 30-40 sec to decide if the photo shows a man or a woman. I want to accelarate this. How much faster can it go to the Virtex 5? Can I achieve 1-2 sec to take the decision?

gnuarm.del...@gmail.com

unread,
Feb 27, 2019, 9:09:18 AM2/27/19
to
On Wednesday, February 27, 2019 at 3:52:27 AM UTC-6, Electronics_hobbyist wrote:
>
> I have build the CNN in Raspberry in python but it takes 30-40 sec to decide if the photo shows a man or a woman. I want to accelarate this. How much faster can it go to the Virtex 5? Can I achieve 1-2 sec to take the decision?

What you are asking is a bit like "how long is a piece of string?" I know nothing of the algorithm you implemented in python. The first step to speed this up is to identify where the processor is spending it's time. Have you done that?

To implement this algorithm in VHDL you will need to understand the algorithm enough that you can figure out how to implement different parts to run in parallel without one part still being a huge bottle neck. So you need to understand the timing of the code in python. Then you can figure out how to accelerate it. Just coding it in VHDL won't automatically make it run faster.

Can you explain the neural network code?

Rick C.
0 new messages