×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Artificial vision system: Components and design.

Artificial vision system: Components and design.

Artificial vision system: Components and design.

(OP)
I have developed a general design for an artificial vision system, and now I want to build it. So far, it would involve a B&W CCD/CMOS camera with an output that requires real-time digital processing (nothing too strenuous) by some small, portable hardware. I have some expertise with programming, but not with hardware (especially video processing), so I have a few hardware questions. I'm assuming that the processor is basically a RISC CPU dedicated to processing video chip output. Perhaps shocking to some of you, some of my questions are very basic. So,

1. What generic name(s) is/are used to describe such a processor?
2. Can you name a few examples of such processors?
3. Can you tell me, or point me toward, information about their operation and programming languages?

More questions are likely to follow.

Thanks
Replies continue below

Recommended for you

RE: Artificial vision system: Components and design.

If you have to ask such basic questions, you have zero hope of building an artificial vision system in this lifetime.

Dan - Owner
http://www.Hi-TecDesigns.com

RE: Artificial vision system: Components and design.

Agreed.  You should get it all running thru a PC.   Once you have the algorithms all sorted out then you could distill it into some embedded design.

As for your questions:
1) Graphics or video processor. GPU

2) Depends totally on what your algorithm needs are. Small jobs: any Digital Signal Processor (DSP).  Large jobs you'd want a dedicated GPU.

T'wer me I'd head straight here and go from this point: http://www.nvidia.com/object/cuda_home_new.html

3) For DSPs:  Texas Instruments or Analog Devices.

Keith Cress
kcress - http://www.flaminsystems.com

RE: Artificial vision system: Components and design.

(OP)
IRstuff: No, not for school. This is something I designed after watching an almost completely blind person navigate quite well.

McGyverS2000: Thanks, I'm an EE long out of the profession, very good at programming, but not so good at hardware, especially modern high-tech stuff. Yes, an artificial vision system -- and also the brain-machine interface (also designed by me). Ambitious? Maybe. Over my head? I'll find out.

IRstuff: Oh yes, definitely off-the-shelf, no PCB designing for me.

itsmoked: Many thanks. #2 - I thought video cards like the Nvidia Cuda do things like turn 3D data into 2D projections onto a screen and functions like that for video games or movies? I want to perform simple math functions real-time on pixel values and then output the results to a (hopefully) simple hardware interface.

Yes, I'd be perfectly okay with programming the prototype on a PC. Would I still use a Cuda? Two boards, one for the PC and the other to program? What language? I've worked with assembly, machine and even 1s and 0s.

Thank you everyone.
 

RE: Artificial vision system: Components and design.

"I want to perform simple math functions real-time on pixel values "

What did you think rendering was?  That's what CUDAs do for a living.  But, you can certainly just program directly on the PC, it'll just be slower, but a decent PC can still crank pixels at a reasonable rate.

The other choice is a decent frame grabber board, many of which have native processors that run C and also can crank pixels.

TTFN

FAQ731-376: Eng-Tips.com Forum Policies
Chinese prisoner wins Nobel Peace Prize

RE: Artificial vision system: Components and design.

(OP)
Yes, I'm generally familiar with rendering.

I thought the hardware and software in video boards such as CUDAs would be dedicated/specific/limited in their functions (as I said about movies, games, etc). I didn't know that they could be re+programmed outside the factory.  

RE: Artificial vision system: Components and design.

Well, removing the custom hardware from the equation certainly makes things more doable, especially if you're already comfortable programming a typical OS-box (Windows, Linux, OSX, etc).  Your initial post suggested you were trying to create custom hardware, which would include GPUs, DSPs, and/or FPGAs.  Between learning that from scratch and trying to build it, too, you'd have little hope of completing it.

If you concentrate on just the programming, now you're in the realm of algorithms... and people spend a lifetime on just those.

It would help us immensely in helping you to specify the exact problem you're trying to solve.  There are millions of different algorithms, and the chosen algorithm will even have an effect on the proper hardware choice.

Dan - Owner
http://www.Hi-TecDesigns.com

RE: Artificial vision system: Components and design.

I will re-iterate itsmoked's cite: http://www.nvidia.com/object/cuda_home_new.html  Most computers that already come with Nvidia's, or others', other graphics cards essentially have GPUs.  And you can download free tools for programming them from their respective manufacturers.  While not precisely user friendly, such processors feature multiple cores, and the promise of cranking chunks of large images in parallel.
 
GPUs, in general, are designed for processing images, unlike many DSP chips, while touting incredibly large processor throughputs, are often I/O limited, and have difficulty moving large images around in the system.

Nonetheless, if all you are doing is the basic algorithm development, the main PC platform should be more than adequate, although algorithm development might be slightly easier in Matlab, simply because the environment is designed for easing the debugging of algorithms, and the basic matrix manipulation utilities already exist, and are fully integrated into the GUI.

TTFN

FAQ731-376: Eng-Tips.com Forum Policies
Chinese prisoner wins Nobel Peace Prize

RE: Artificial vision system: Components and design.

I like IR's frame grabber idea.   You can actually get frame grabbers that just plug into a pc's USB port. Then you plug any camera you have into the frame grabber.  That would allow you to grab lots of frames and then you can write your code to work against single frames.  After a while you refine your code to do single frames fast.  As fast as possible. At which point you can start running it on, say, a directory of frame grabs at realtime speeds.

As for CUDA it appears you haven't read anything about it.  It's whole point is easy C coding of any compute intensive task - not just video.

Keith Cress
kcress - http://www.flaminsystems.com

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members! Already a Member? Login



News


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close