Buena placa de desarrollo de FPGA/microcontrolador para procesamiento de imágenes en tiempo real [cerrado]

He estado trabajando con OpenCV en el entorno de escritorio durante el último año y ahora quiero cambiar a un hardware dedicado para mis aplicaciones de procesamiento de imágenes en tiempo real. Tengo las siguientes preguntas:

  1. ¿Qué placas de desarrollo (FPGA/Microcontrolador) son buenas para implementar algoritmos de procesamiento de imágenes? El dispositivo de captura de imágenes será una cámara web.
  2. ¿Podré codificar en C/C++ y convertir el código a nivel de ensamblaje y volcarlo en esa placa de desarrollo?
  3. ¿Podré usar bibliotecas como OpenCV en esos algoritmos de procesamiento de imágenes?

Dado que se utilizarán cámaras web, la interfaz/resolución de la imagen es:

  1. Interfaz USB 2.0
  2. Resolución máxima 640 x 480
  3. Velocidad de cuadro 25 - 30 fps
  4. Profundidad 8 x 3 para imagen en color 8 x 1 para gris
  5. Aplicación: umbralización, reconocimiento de gestos, detección de objetos, seguimiento, flujo óptico
Muy, muy vago.
La primera persona del singular en inglés es "I" mayúscula. Si su tecla shift no funciona: Alt-0-7-3.
@stevenh ¿pensaste que 'i = sqroot(-1)' es imaginario? jajaja... no importa... lo edité...
@stevenvh: Alt-0-7-3 no funciona para mí. ¿Qué estoy haciendo mal?
Los códigos Alt de @Vlad Lazarenko dependen de la configuración regional, por lo que esa puede ser una razón. También asegúrese de usar el teclado numérico para los números.
Esto es por lo menos 3 preguntas. Dividir 2 y 3.
@Brain responde a cualquiera que quieras...
@AndrejaKo: No tengo teclado numérico. Es el teclado inalámbrico de Apple :)
@Vlad Lazarenko Esa es la razón número uno por la que no uso productos Apple. :)
@AndrejaKo: eso y la aversión casi religiosa de Jobs a la tecla "Eliminar".

Respuestas (3)

  1. En términos de FPGA, lo que más le preocupa es el DSP de alto rendimiento en el chip, para eso recomendaría un FPGA Xilinx Spartan-6 o un Altera comparable. Digilent fabrica algunas placas de desarrollo de bajo precio que tienen USB y VGA que podrían cumplir con los requisitos.

  2. Deberá programar el FPGA con Verilog o VHDL. Al programar FPGA, está describiendo hardware real, por lo que es completamente diferente de la codificación en C/C++.

  3. A menos que alguien haya portado OpenCV a VHDL o Verilog, lo dudo.

Esta es una pregunta muy amplia, y sin saber a qué tipo de aplicaciones se dirige, la resolución y la velocidad de fotogramas de sus imágenes, etc., es muy difícil de responder.

La programación de FPGA para video en tiempo real es un animal muy diferente de la programación de software que usa bibliotecas como OpenCV. Parece que un buen primer paso para usted sería cambiar a una computadora de placa única que ofrezca muchas de las funciones del entorno de escritorio al que está acostumbrado. Hay muchas placas económicas basadas en ARM por ahí; quizás una de las más conocidas ahora mismo es la Raspberry Pi .

@Dave... creo que mencioné que el dispositivo de captura de imágenes son cámaras web... por lo que la interfaz será USB y la velocidad de fotogramas será de 25-30 fps, que es una velocidad de fotogramas general de la cámara web... la resolución es 320 X 240 y 640 X 480 ...y la profundidad de la imagen es de 8 X 3... para la imagen en color, 8 X 1 para la imagen gris, por lo que el rendimiento máximo de datos es de 640 x 480 x 8 x 3 x 30 bits/segundo... las aplicaciones son como un umbral. .reconocimiento de gestos..seguimiento..cálculo de flujo óptico
@Dave..gracias por la información de raspberry pi...
Tendría más suerte usando un CCD "desnudo" en lugar de una cámara web. USB host y FPGA no son una buena combinación.
@AndrewKohlsmith: ¿De dónde salió eso? ¡Nunca sugerí que lo fueran!
@DaveTweed Estaba comentando sobre el comentario de rotary_image. perdón por la confusion.

Creo que puede tener éxito con Avnet ZedBoard con el nuevo Xilinx Zynq XC7Z7020. Ejecuta Linux incorporado, tiene las interfaces que necesita y, dado que el sistema de procesamiento dual ARM Cortex-A9 está estrechamente integrado con la estructura FPGA, admite la integración de alto ancho de banda de software y aceleradores de hardware mapeados en memoria.

Debería ser sencillo construir y ejecutar OpenCV en esta placa. Sin embargo, es una curva de aprendizaje mucho más pronunciada dominar el entorno de construcción, construir sus aceleradores para que hablen la interfaz de bus AXI4, etc.

A $ 300- $ 400 es ~ 10 veces más caro que RaspPi pero incluye el FPGA.

http://zedboard.org

¡Feliz piratería!