Author Topic: Suitable processor for machine vision applications  (Read 3779 times)

0 Members and 1 Guest are viewing this topic.

Offline rakeshm55Topic starter

  • Regular Contributor
  • *
  • Posts: 207
Suitable processor for machine vision applications
« on: October 07, 2016, 10:48:56 am »
Hi,
I have a requirement wherein I need to
1. capture video using two camera triggered simultaneously (camera have GbE interface) @30fps 1080p
2. Carryout image processing on this frames using OpenCV libraries (Linux environment)
3. View video on a monitor / HMI to calibrate camera focus
4. HMI (Keyboard,mouse etc)

What could be the way forward?? Since GbE raspberry Pi is out of the picture.... based on expertise some suggest to use
Keystone or Xilinx Zynq.... but their cost seems to be exorbitant ......
But I am in lookout for a low cost solution....
What could be the way forward??
Any suggestions welcome
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: Suitable processor for machine vision applications
« Reply #1 on: October 07, 2016, 11:33:10 am »
Maybe NXP's latest iMX SoCs could be up for the job but it depends highly on what you want to process and what kind of compression the cameras are using. Is it an option to connect the cameras directly to a SoC or do they need to be networked? Network traffic could affect memory throughput where having the cameras connected directly to the iMX could leverage internal bus structures. Either way count on a hefty amount of work.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline bobaruni

  • Regular Contributor
  • *
  • Posts: 156
  • Country: au
Re: Suitable processor for machine vision applications
« Reply #2 on: October 07, 2016, 11:37:27 am »
Cheapest and easiest would be to use an off the shelf x86 SBC or PC?
Or are there some other requirements you have not mentioned such as low power consumption or size?
And you must have a board with 2x GbE?
You could probably use a switch to get 2x GbE as surely 30FPS at 1080p will not chew up all the bandwidth?
Maybe look at some of the VIA epia motherboards.
http://www.viatech.com/en/boards/mini-itx/

If size and power consumption are an issue, perhaps look at Nvidia Jetsons TX1, but pretty expensive.
http://www.nvidia.com/object/jetson-tx1-dev-kit.html
 

Offline rakeshm55Topic starter

  • Regular Contributor
  • *
  • Posts: 207
Re: Suitable processor for machine vision applications
« Reply #3 on: October 07, 2016, 11:51:05 am »
 The scheme already implemented in a workstation...
 The requirement is to covert into an embedded platform ...I presume the idea is to bring in volumes....
 
 It is an option either I could bring GbE to SoC or use a switch.... Both Keystone and Zynq solutions did have 2 GbEs....
Are you suggesting that I should proceed with off the shelf modules rather than laying out a Board.....
 

Offline bobaruni

  • Regular Contributor
  • *
  • Posts: 156
  • Country: au
Re: Suitable processor for machine vision applications
« Reply #4 on: October 07, 2016, 12:46:54 pm »
Are you suggesting that I should proceed with off the shelf modules rather than laying out a Board.....

Depends on your volume, in the short term and to reduce design cost and time, modules might be the way to go.
I am trying to decide what to use with a similar project myself but instead I need 2x USB 3.0 for the cameras and I don't have enough time to design a board from scratch so will probably use a Intel compute stick or similar.

If you have already done it on a workstation, you at least know roughly how much computational power is required and maybe look for a similarly or more powerful SOC that meets your requirements but this sort of thing will take a long time to design and develop an OS.
 

Offline Marco

  • Super Contributor
  • ***
  • Posts: 6721
  • Country: nl
Re: Suitable processor for machine vision applications
« Reply #5 on: October 07, 2016, 03:36:54 pm »
The Allwinner A20 has gigabit ethernet, but performance on some boards seems a bit flaky so caveat emptor.
 

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Suitable processor for machine vision applications
« Reply #6 on: October 07, 2016, 07:30:37 pm »
If size and power consumption are an issue, perhaps look at Nvidia Jetsons TX1, but pretty expensive.

I have two of those boards, I confirm they are excellent!
(used in a machine vision application, micro robotics)


edit:
ops, I had forgotten, in my case, I was in the need
of supporting a pair of Xtion pro cameras
« Last Edit: October 08, 2016, 05:58:10 am by legacy »
 

Online mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13748
  • Country: gb
    • Mike's Electric Stuff
Re: Suitable processor for machine vision applications
« Reply #7 on: October 07, 2016, 07:48:47 pm »
Hi,
I have a requirement wherein I need to
1. capture video using two camera triggered simultaneously (camera have GbE interface) @30fps 1080p
2. Carryout image processing on this frames using OpenCV libraries (Linux environment)
3. View video on a monitor / HMI to calibrate camera focus
4. HMI (Keyboard,mouse etc)

What could be the way forward?? Since GbE raspberry Pi is out of the picture.... based on expertise some suggest to use
Keystone or Xilinx Zynq.... but their cost seems to be exorbitant ......
But I am in lookout for a low cost solution....
What could be the way forward??
Any suggestions welcome
You probably also need to specify latency - you can throw cores/CPUs at the problem to achieve the framerate,  s but latency may end up quite high.
It also rather depends on what processing you want to do
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Online mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 13748
  • Country: gb
    • Mike's Electric Stuff
Re: Suitable processor for machine vision applications
« Reply #8 on: October 07, 2016, 07:51:21 pm »
You probably want to start by prototyping with a PC, to get a handle on what processing power is needed and experiment with algorithms etc.
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline Kjelt

  • Super Contributor
  • ***
  • Posts: 6460
  • Country: nl
Re: Suitable processor for machine vision applications
« Reply #9 on: October 07, 2016, 07:56:21 pm »
Low cost so how many units are we talking about?
If it is in the ten thousands or more contact broadcom, they have custom chips, custom prices.
 

Offline bitslice

  • Frequent Contributor
  • **
  • !
  • Posts: 493
  • Country: gb
Re: Suitable processor for machine vision applications
« Reply #10 on: October 07, 2016, 10:26:10 pm »
I think there are OpenCV libs for XMOS?

XMOS would easily handle a vision application
« Last Edit: October 07, 2016, 10:55:16 pm by bitslice »
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: Suitable processor for machine vision applications
« Reply #11 on: October 07, 2016, 10:41:34 pm »
can you even sync gbe cameras in any meaningful way?
openCV = high latency, usually after prototyping phase is over you reimplement your algo in low level language on platform of choice (fpga/dsp).
Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 

Offline Marco

  • Super Contributor
  • ***
  • Posts: 6721
  • Country: nl
Re: Suitable processor for machine vision applications
« Reply #12 on: October 07, 2016, 11:06:20 pm »
Why would OpenCV add latency? Unless you have 1000+ Hz fps, timing jitter even on soft realtime linux isn't going to matter much.

A given camera or driver might add extra latency, but that's on them.
 

Offline Rasz

  • Super Contributor
  • ***
  • Posts: 2616
  • Country: 00
    • My random blog.
Re: Suitable processor for machine vision applications
« Reply #13 on: October 08, 2016, 04:02:33 am »
Why would OpenCV add latency?

because its a piece of $^% middleware riddled with buffer copies on every step of the way, add popular with the kids python package on top (like scikit) and you end up with single digit frames per second :)
Its great for prototyping (like gnuradio), not for shipping products.
Who logs in to gdm? Not I, said the duck.
My fireplace is on fire, but in all the wrong places.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf