I have bought a Tiva C series Launchpad TM4C1294NCPDT by TI and wish to do a project on face recognition. I will soon get a DSP EVM by TI, but still confused which one to choose (MAY be the one with 32 bit arch.)

Actually, i have quite good experience using arduino boards (and programming them in C and assembly languages). but shifting from arduino to TIVA C and DSP's is really difficult, please help me, AND GUIDE ME.

Zeek clarified:

Ok, Being Specific these are my problems..

  • I am not getting the layout of the LaunchPad.
  • I want to do the face recognition, will the processor and DSP give me enough computational power?
  • I need to connect a camera (a 5MP camera to DSP) and want to control it using the MCU (TIVA-C series) how should I do it.
  • \$\begingroup\$ "I am not getting the layout of the LaunchPad." Is the problem having the female pins on the bottom instead of the top? Or the 'multi-personality' of the pins (each pin could do many jobs)? Or something else? \$\endgroup\$ – gbulmer Aug 14 '14 at 19:20

There seems to be several different dimensions to the obstacles.

Q2: You are concerned about having enough computer power. This is a 'killer' problem to have. It may be genuinely infeasible to solve it on the equipment you have identified.

Some digital cameras use processors which are comparable to the TIVA's, and they do some still-image processing okay. However, I believe they must have plenty of memory (RAM). Any form of complex image processing will become either unacceptably slow, or practically impossible without enough memory.

The TIVA-C Launchpad wikipedia page says "32 Kbyte RAM". That is approximately 0.2% of a 5Mpixel image. Unless you have a very, very clever algorithm, I would assume it is practically impossible.

The TMS320C5515 DSP Evaluation Module uses the TMS320C5515 DSP. It has 320K, 10x more RAM than the TIVA C. That is still only 2% of an image from a 5Mpixel camera.

I would expect to have at least 2x more memory than a single image requires, plus a bit more space for the program to do work. Any less would very likely be too hard.

Have you prototyped your face recognition project on a computer system with plenty of computer power, and got it to work? Or have you very strong evidence that it is feasible?

For example is the project on a multi-core Intel, AMD, or high-end ARM, running an OS that you are familiar with. Once you have a working system, you should be able to get a reasonable measure of how much computer power is required.

I suggest this because their is a lot of evidence that trying to develop an application for a computer with barely enough computer power takes almost exponentially more time and effort than starting with a computer with 'embarrassingly too much power'. Do not be tempted to over complicate your hardware approach. Stick to single chip MCU or SoC solutions.

Once you know the project is feasible, then tackle the next part. Please update your question with more information about your experience. My current view is Funkyguy was offering good advice on how to transition to a more complex system like TIVA from Arduino. Essentially the advice was: make the transition in more than one step. Move closer to the hardware. Become confident with new tools. Travel a path which has good forum support.

How would I choose between TIVA and the DSP?

Initially, I would not bother. Instead I'd try to get the project working on a system with 'embarrassingly too much power'. That could potentially teach me more about the project, and how to do it than anything else I could do.

I don't think there is a lot to choose between TIVA-C and DSP EVM. The DSP appears to be more computer power than the TIVA, and much more memory. Memory is likely "killer" and I don't think either has enough to make face recognition easy.

I might use a Raspberry-Pi (R-Pi) or BeagleBone Black (BB). Both have 0.5GB RAM. You could use 200MB in your app., and hold many images in memory while running your algorithm. I think both have camera daughterboards, though I think the R-Pi camera is better. Both have SD memory cards, so you could have GB's of storage holding images. In which case, you might not need a camera initially, and having lots of stored images would make testing easier.

  • \$\begingroup\$ @Zeek - Thank you! Future generations might learn because you made the effort to ask and improve your question, and every good question helps me too. Best of luck. PS: it is customary to either 'tick' an answer to show that you are satisfied and its done so you don't need more information to save folks effort at writing more (someone might still add answers anyway if they think there is more needed or offer a better answer), or to explain which bit of your question still needs answering. \$\endgroup\$ – gbulmer Aug 14 '14 at 20:48
  • \$\begingroup\$ thank you gbulmer. It really helped. Actually, i have done a bit face recognition in matlab (never actually got into it) and i have a smartphone running over a quad core processor and approx 1 GB RAM, and it recognizes faces while taking pictures (camera - 5 MP). How's that ? If face recognition is so difficult than how my mobile do it ? ( My reasoning may seem to be bit illogical but actually, this is, the way i Learn ) \$\endgroup\$ – ZeekHuge Aug 14 '14 at 20:55
  • \$\begingroup\$ @Zeek - As I wrote in my answers, some problems can become relatively straightforward when there is 'embarrassingly too much power'. Your mobile is an example of that. It is much more powerful, likely with much more (RAM) memory, than an R-Pi or BB. It is also likely that relatively simple algorithms do a good job most of the time. For example, one old algorithm which I was told works well in some parts of the world is to look for connected 'splodges' which are 'skin colour', then look for one or two 'marks' which might be eyes in the upper half of the 'skin coloured' splodges. \$\endgroup\$ – gbulmer Aug 14 '14 at 21:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.