Inspección visual industrial en tiempo real con FPGA: de las cámaras GigE a la calibración de defectos
A lo largo de una línea de inspección de defectos en producción, desde los píxeles de la cámara hasta la señal de rechazo, ¿dónde es irremplazable el FPGA? Este artículo calcula primero el presupuesto de ancho de banda de todo el flujo de datos, después desglosa los cuatro roles que desempeña el FPGA en la cadena visual, compara los límites en tiempo real de los algoritmos tradicionales frente al deep learning y, finalmente, ofrece una selección de hardware desplegable a través de un caso real de estación AOI para juntas de soldadura en PCB.
1. Primero, la factura del ancho de banda: flujo de datos en una línea 1080p60
El primer obstáculo en visión industrial no son los algoritmos, es el ancho de banda. Empecemos por el recorrido más habitual: una única cámara GigE Vision 1080p, 60 fps, y calculemos su velocidad de datos:
| Formato de salida | Cálculo | Resultado | ¿Puede circular por un enlace gigabit? |
|---|---|---|---|
| Bayer de 8 bits (el más común) | 1920 × 1080 × 8 bit × 60 | ≈ 995 Mb/s ≈ 124 MB/s | Satura el 99,5 % de 1 Gbps, apenas |
| Bayer de 12 bits (HDR / poca luz) | 1920 × 1080 × 12 bit × 60 | ≈ 1,49 Gb/s ≈ 187 MB/s | Supera el gigabit; necesita 2,5G/10G o CoaXPress |
| 4 cámaras de 8 bits | 995 Mb/s × 4 | ≈ 4 Gb/s ≈ 500 MB/s | Necesita agregación 4× gigabit o enlace ascendente 10G |
Si transmite estos fotogramas en bruto completos a una CPU o GPU, cada canal empuja entre 124 y 187 MB por segundo; cuatro canales suponen 500 MB/s. Del lado de la CPU sigue siendo necesario procesar un fotograma completo, quemando ancho de banda y cómputo en ambos extremos. Lo que realmente necesita la detección de defectos es solo «dónde está la anomalía, de qué tipo, qué coordenadas»: a menudo solo unos pocos cientos de bytes.
La clave: dónde se procesan los píxeles decide el coste de toda la cadena
Desplazar los fotogramas en bruto a otro sitio para procesarlos es la mentalidad de «transportar»; procesar los píxeles in situ a medida que fluyen es la mentalidad de «tubería». La primera añade un canal completo de ancho de banda y cómputo por cada cámara adicional; la segunda solo añade lógica de procesamiento.
2. Los cuatro roles del FPGA en la cadena visual
Rol 1: puesta en marcha de interfaces y sincronización multicámara
El análisis de los protocolos GigE Vision / CoaXPress, la configuración de parámetros de la cámara y la gestión de disparos los manejan directamente la capa MAC del FPGA y la lógica de trigger. Varias cámaras se bloquean sobre el mismo reloj de disparo por hardware, garantizando que los fotogramas desde distintos puntos de vista se exponen en el mismo instante, algo que el software difícilmente iguala de forma determinista.
Rol 2: preprocesado de imagen (reducción de ruido, ganancia, interpolación Bayer)
Reducción de ruido, balance de blancos, ganancia, interpolación Bayer, extracción de ROI: todo son operaciones por píxel. La tubería del FPGA avanza de forma natural un píxel por ciclo de reloj; el reloj de píxel del 1080p60 ronda los 148,5 MHz, muy por dentro del margen de temporización de dispositivos como el JFM7K410T. Ese mismo trabajo por píxel en la CPU es un bucle de varios a decenas de milisegundos por fotograma; en el FPGA es una latencia fija de unas pocas decenas de ciclos de reloj.
Rol 3: detección de defectos (plantilla, diferencia, componentes conexas)
Coincidencia de plantillas, diferencia entre fotogramas, umbralización, análisis de componentes conexas, procesamiento morfológico: todo en paralelo, todo canalizable. La coincidencia de plantillas sobre una imagen 1080p en el FPGA se ejecuta en menos de 1 ms por fotograma, con una latencia independiente de la velocidad de cuadro y totalmente determinista, un requisito duro para el tiempo de ciclo de línea.
Rol 4: salida de resultados y coordinación de E/S
El veredicto acciona directamente el actuador de rechazo, la lámpara de alarma y los contadores estadísticos. La latencia de salida GPIO del FPGA es de escala nanosegundo, sin rodeos por el sistema operativo, el driver o la capa de aplicación. En el instante en que aparece un defecto, la señal de rechazo ya ha llegado al actuador.
3. Dos caminos algorítmicos: visión tradicional frente a deep learning
«Basta con añadir deep learning» se ha convertido en un mantra en los proyectos de visión de los últimos años, pero la frontera en tiempo real entre ambos caminos debe trazarse con claridad:
| Dimensión | Visión tradicional (plantilla/diferencia/morfología) | Deep learning (tipo CNN/YOLO) |
|---|---|---|
| Latencia de un fotograma 1080p | <1 ms (tubería FPGA) | 2–10 ms (GPU) o más (NPU general) |
| Huella de recursos | Pequeño número de LUT/DSP | DSP pesado + ancho de banda de memoria externa |
| Interpretabilidad | Umbrales ajustables, defectos trazables | Caja negra, difícil localizar los falsos positivos |
| Ajuste óptimo | Patrones de defecto fijos, líneas de ciclo rápido | Defectos complejos, reinspección fuera de línea de muestras variadas |
| Implementado en FPGA | Maduro, muy depurado | Necesita cuantización/poda; normalmente en CPU/GPU |
La arquitectura de línea dominante en 2026 es preprocesado en FPGA + veredicto tradicional en tiempo real + rechequeo con deep learning fuera de línea: el FPGA garantiza el veredicto y el rechazo dentro del tiempo de ciclo, mientras el deep learning realiza una confirmación secundaria sobre las zonas sospechosas, cada cual haciendo lo que mejor sabe.
4. Un caso real: estación AOI para juntas de soldadura en PCB
Caso de ingeniería · 01: inspección de juntas de soldadura en línea SMT — 60 fps continuos, tasa de falsos positivos < 0,5 %
Una estación AOI en línea SMT debe detectar juntas frías, puentes de soldadura y componentes faltantes, funcionar de forma continua a 60 fps, con un objetivo de falsos positivos por debajo del 0,5 % y una tasa de joints fríos no detectados por debajo del 1 %.
- Cámaras: 2 cámaras industriales GigE de 20 MP, recortadas en la práctica a ROI 1080p, salida Bayer de 8 bits
- Placa: DUK7410T (Fudan Micro JFM7K410T, 406K celdas lógicas, FMC HPC, 4 GB DDR3)
- Flujo de datos: 2 × 995 Mb/s ≈ 2,5 Gb/s hacia el FPGA → buffer de fotogramas DDR → diferencia de plantilla + análisis de componentes conexas → salida de veredicto
Resultados medidos: procesado de un fotograma < 0,8 ms; latencia de extremo a extremo desde el disparo de cámara hasta la salida de rechazo < 1,5 ms; tasa de falsos positivos < 0,5 %; tasa de detección de juntas frías > 99 %.
Frente a la línea base con CPU: la latencia extremo a extremo bajó de ~15 ms a < 1,5 ms, la carga de la CPU del host del 85 % al 5 %; la tubería de software original solo alcanzaba 30 fps, y el cambio al FPGA duplicó el rendimiento.
La clave de esta estación no es un algoritmo sofisticado, sino que la acción de inspección sigue el tiempo de ciclo de la línea. En el momento en que llega un fotograma con defecto, el veredicto y el rechazo deben completarse antes del siguiente fotograma.
5. Cómo elegir el hardware: tres placas, tres estrategias
La selección sigue tres preguntas: ¿cuántas cámaras? ¿qué de exigente es la latencia? ¿cuál es el presupuesto total de la máquina? He aquí las tres plataformas habituales de Duyuan:
DUK7410T (9 999 ¥): la bestia de carga media, opción estándar para AOI de 1/2 cámaras
Fudan Micro JFM7K410T, 406K celdas lógicas, 1 540 DSP, FMC HPC, entrada HDMI 4K, 2× SFP+. El FMC HPC se conecta directamente a mezzaninas de cámara de alta velocidad o de ADC; la entrada HDMI 4K puede emplearse a modo de bucle de visualización. Posicionamiento visual, detección de defectos, prototipos de composición multicanal: la mayoría de los proyectos empiezan aquí.
PBC7K325G (1 999 ¥): integración de máquina embebida sensible al coste
SoM de arquitectura Kintex-7 china, 326K celdas lógicas, 16 transceptores GTX, 2 GB DDR3, grado industrial −40 a 85 °C. Inspección embebida de patrón fijo con una cámara, o controladores de visión combinada con control de movimiento. Los productos sensibles al coste se embarcan desde aquí.
DUF7690T (24 999 ¥): arrays multicámara y sistemas compuestos de alto rendimiento
Fudan Micro JFM7VX690T, 693K celdas lógicas, 3 600 DSP, 36 pares GTH, QSFP 40G. Arrays de 8+ cámaras, composición 8K, o sistemas compuestos visión + comunicación por fibra; cuando se necesita mucha lógica y mucho ancho de banda, se da el salto a esta placa.
El primer principio de la visión industrial es «no hacer circular fotogramas enteros»: procese los píxeles donde fluyen, y los problemas de latencia, ancho de banda y potencia desaparecen de inmediato.
>
— Equipo de I+D de Duyuan
