Casa > Blog > Noticias del sector > Un sistema de detección de anomalías de PCB basado en visión artificial

Un sistema de detección de anomalías de PCB basado en visión artificial

Nov 04
Fuente:

Autores: Yang Yuxue, Lin Weiyang, Wang Bo, Li Huiming

Abstracto

Para abordar los desafíos del alto costo computacional y la baja adaptabilidad en entornos complejos al detectar defectos en placas de circuito impreso (PCB) en dispositivos de borde, se propone un sistema ligero de detección automática diseñado para su implementación en el borde. El sistema se basa en la arquitectura YOLOv8n, integrando aprendizaje por transferencia, poda de modelos y técnicas de destilación de conocimiento para reducir significativamente la complejidad del modelo y mejorar la adaptabilidad a entornos con muestras pequeñas y recursos limitados. Para soportar condiciones extremas en la adquisición de video en el borde, como iluminación variable, vibración de la cinta transportadora, bajo contraste y oclusión de la lente, el sistema mantiene el rendimiento y la estabilidad en tiempo real, demostrando una gran robustez. Experimentos con un conjunto de datos público de defectos de PCB muestran que el sistema propuesto supera a los modelos convencionales existentes en precisión de detección y velocidad de inferencia, mostrando una robustez superior y un valor práctico en escenarios de detección de bordes en tiempo real. Además, una interfaz gráfica de usuario (GUI) desarrollada con PySide6 verifica aún más la capacidad de implementación y la practicidad del sistema en entornos industriales, proporcionando una solución eficaz para lograr una detección de visión de borde eficiente, estable y de bajo consumo con prometedoras perspectivas de aplicación.

Palabras clave: Internet de las cosas (IoT); detección de defectos en PCB; visión artificial; YOLOv8; dispositivo de borde; PySide6


0. Introducción

Como componente fundamental indispensable de los productos electrónicos, la calidad de fabricación de las placas de circuito impreso (PCB) afecta directamente el rendimiento y la fiabilidad operativa de todo el sistema. La detección de defectos en PCB tiene como objetivo identificar posibles defectos durante el proceso de fabricación con rapidez y precisión, lo que constituye un paso clave del control de calidad en la producción electrónica. Sin embargo, en entornos industriales prácticos, los defectos en PCB presentan características complejas, como la diversidad de tipos, las pequeñas escalas y las distribuciones espaciales inciertas. Los métodos de detección tradicionales, basados ​​en la inspección manual o la lógica basada en reglas, son subjetivos y tienen una capacidad limitada, lo que les impide satisfacer los requisitos industriales modernos de alta precisión, eficiencia y automatización.

Con el rápido avance de la visión artificial y las tecnologías de aprendizaje profundo, las redes neuronales convolucionales (CNN) diseñadas para el reconocimiento de imágenes han alcanzado un éxito notable en la detección de objetos, impulsando la transformación de la detección de defectos en PCB de la extracción manual de características al aprendizaje inteligente de características. Sin embargo, los modelos convencionales de aprendizaje profundo aún enfrentan dos desafíos importantes en su implementación industrial: (1) Para lograr una mayor precisión, los modelos tienden a volverse cada vez más complejos, lo que genera altos costos computacionales y velocidades de inferencia lentas, lo que dificulta la detección en tiempo real en dispositivos periféricos con recursos limitados; (2) Debido a la escasez de muestras de entrenamiento específicas para defectos en PCB, los modelos entrenados con conjuntos de datos pequeños son propensos al sobreajuste, lo que reduce el rendimiento de generalización. Además, a diferencia de las tareas generales de detección de objetos, la detección de defectos en PCB se caracteriza por objetivos de grano fino, claves semánticas débiles y una fuerte interferencia de ruido de fondo, lo que impone requisitos más estrictos en la robustez y la adaptabilidad de la implementación del modelo.

Para abordar estos desafíos, este estudio diseña e implementa un sistema de detección de defectos de PCB ligero y altamente robusto para entornos de computación de borde. Específicamente, el sistema se basa en el marco YOLOv8n, aprovechando su estructura compacta y su eficiente capacidad de inferencia para reducir significativamente los costos computacionales. Durante el entrenamiento del modelo, se adopta el aprendizaje por transferencia para migrar las características visuales preentrenadas en conjuntos de datos generales a gran escala a la tarea de detección de defectos de PCB, lo que reduce la dificultad del aprendizaje con muestras pequeñas. Además, se introducen la poda del modelo y la destilación de conocimiento para optimizar la arquitectura del modelo de detección, comprimir su escala de parámetros y mejorar la eficiencia y la estabilidad de la implementación en dispositivos de borde. Para abordar desafíos como la iluminación variable, el desenfoque de movimiento y la pérdida de fotogramas en la adquisición de video industrial, el sistema integra un robusto módulo de preprocesamiento de fotogramas y estabilización de predicción a nivel de fotograma, lo que mejora la confiabilidad desde una perspectiva a nivel de sistema. Finalmente, se desarrolla una interfaz gráfica de usuario (GUI) basada en PySide6 para brindar una experiencia intuitiva y fácil de usar, simplificando el flujo de trabajo operativo.

La investigación presentada en este artículo ofrece una solución práctica para la detección de defectos en PCB en dispositivos informáticos de borde con recursos limitados y brinda nuevos conocimientos sobre la reducción de peso del modelo y la optimización de la robustez en condiciones de muestras pequeñas.



2. Diseño e implementación del sistema

2.1 Abordaje de muestras pequeñas y aligeramiento del modelo

En la detección de defectos en PCB, la escasez de datos es un factor clave que limita el rendimiento del aprendizaje profundo. Debido a los altos costos de anotación y a la escasez de datos de defectos, lograr una generalización sólida con muestras pequeñas se ha convertido en un objetivo principal de investigación.

Para mitigar este problema, se emplea el aprendizaje por transferencia para migrar las características aprendidas de tareas fuente a gran escala a la tarea de detección de objetivos, acelerando la convergencia y mejorando el rendimiento con muestras pequeñas. Los modelos YOLO preentrenados en conjuntos de datos de objetos generales pueden servir como "modelos maestros" para guiar a los "modelos estudiantes", mejorando así la detección de pequeños defectos.

Figura 1. Principio del aprendizaje por transferencia

Figura 1. Principio del aprendizaje por transferencia

Adoptamos YOLOv8n, el miembro más ligero de la familia YOLOv8 [ 9 ] . Con aproximadamente 3,2 × 10⁻¹ parámetros y 8,7 × 10⁻¹ FLOP, ofrece inferencia de alta velocidad, ideal para implementación en el borde. Se logra mayor eficiencia y adaptabilidad mediante: 

(1) Poda estructural: podar capas y canales convolucionales redundantes en la red YOLOv8n para reducir parámetros y cálculos.

(2) Destilación de conocimiento: restringir el “modelo de estudiante” liviano a través de la guía de un “modelo de profesor” de alto rendimiento, mejorando la precisión de la detección.

(3) Aumento de datos: ajuste los parámetros de mejora en el espacio de color HSV para aumentar la diversidad de muestras y la solidez del modelo.

Como se muestra en la Figura 2, el proceso de entrenamiento del modelo incluye la preparación de datos, la configuración de hiperparámetros, el entrenamiento y la evaluación del modelo, y la optimización de la poda. Si las métricas de evaluación del modelo no cumplen las expectativas, los parámetros se ajustan automáticamente y el entrenamiento y la poda se repiten hasta lograr un rendimiento de detección satisfactorio.

Figura 2 Proceso de entrenamiento del modelo

Figura 2 Proceso de entrenamiento del modelo


2.2 Sistema de borde y despliegue

Para satisfacer los requisitos de facilidad de uso e implementación en entornos industriales reales, se diseñó e implementó un sistema integrado de detección de defectos en PCB utilizando el framework PySide6. El sistema admite los modos de entrada de imagen y vídeo, ofreciendo una gran interactividad y una experiencia intuitiva, ideal para su implementación en dispositivos periféricos. La interfaz del sistema ofrece las siguientes características: 

(1) Soporte para múltiples fuentes de entrada, incluidas imágenes individuales, carpetas de imágenes por lotes y transmisiones de video; 

(2) Parámetros de detección personalizables (umbral de confianza, umbral de IoU) y opciones de visualización (mostrar etiquetas de clase, niveles de confianza, etc.); 

(3) Visualización en tiempo real y almacenamiento en base de datos de los resultados de la detección; 

(4) Funciones ampliadas como recuperación de registros de detección y exploración de información del cuadro delimitador. 

El proceso de detección del sistema incluye la interacción con la interfaz de usuario, el análisis de la fuente de entrada, la gestión del hilo de detección de imágenes/vídeos y la actualización de los resultados. Como se muestra en la Figura 3, una vez que el usuario selecciona el tipo de entrada y configura los parámetros, el sistema inicia automáticamente el hilo de procesamiento de imágenes o vídeos correspondiente para realizar la detección fotograma a fotograma y mostrar los resultados. 

Los eventos clave del sistema incluyen eventos de comando de detección, eventos de actualización de objetivo, eventos de selección de lista de detección y eventos de administración de subprocesos en segundo plano, como se describe en la Tabla 1.


3. Resultados experimentales y análisis

3.1 Conjunto de datos y preprocesamiento

Los experimentos utilizan el conjunto de datos PKU-Market-PCB publicado por la Universidad de Pekín [ 10 ] . Este conjunto de datos se genera sintéticamente con 1386 imágenes de alta resolución y seis tipos de defectos: agujero faltante, mordedura de ratón, circuito abierto, cortocircuito, espolón y cobre espurio. Los defectos típicos del conjunto de datos se muestran en la Figura 4.

Figura 3 Tiempo de detección del sistema

Figura 3 Tiempo de detección del sistema

Tabla 1. Eventos principales del sistema

EventoTipoDescripción
DetecciónHacer clicInicie el hilo de procesamiento de imágenes o el hilo de procesamiento de medios según el tipo de detección.
Hilo de procesamiento de medios—Leer imágenes secuencialmente, realizar detecciones y actualizar el resultado y la lista de cuadros delimitadores.
Hilo de procesamiento de imágenes—Leer secuencialmente imágenes de la lista de imágenes, realizar la detección, actualizar y mostrar los resultados y la lista de cuadros delimitadores, y eliminar las imágenes procesadas de la lista.
Objeto objetivoCambiarMuestra el resultado de la detección del cuadro delimitador seleccionado.
ListaHacer clicMuestra el resultado de detección del cuadro delimitador seleccionado y muestra la imagen de detección correspondiente.

Figura 4 Defectos típicos en la superficie de la PCB

Figura 4 Defectos típicos en la superficie de la PCB

Para garantizar la validez científica y la robustez del entrenamiento del modelo, el conjunto de datos se dividió en conjuntos de entrenamiento, validación y prueba en una proporción de 8:1:1. En el conjunto de entrenamiento, los defectos son relativamente pequeños y están distribuidos de forma dispersa, lo que dificulta la percepción y localización de objetos pequeños e impone mayores requisitos al sistema de detección.

Figura 5. Información de anotación de datos del conjunto de entrenamiento

Figura 5. Información de anotación de datos del conjunto de entrenamiento


3.2 Métricas

Para evaluar integralmente el desempeño del modelo de detección de defectos, se utilizan las siguientes métricas de evaluación: 

(1) Precisión: mide la proporción de verdaderos positivos entre todos los positivos previstos, lo que refleja la resistencia del modelo a las detecciones falsas. 

(2) Recordatorio: mide la capacidad del modelo para identificar todas las muestras positivas verdaderas, lo que refleja la resistencia a las detecciones no detectadas. 

(3) Puntuación F1: La media armónica de precisión y recuperación, que refleja la capacidad de detección general del modelo. 

(4) mAP (precisión promedio media): la media de la precisión promedio en todas las clases, utilizada para evaluar el rendimiento general de clasificación y localización del modelo. 

Las fórmulas para calcular la precisión, la recuperación, la puntuación F1 y el mAP son las siguientes: 

Fórmula de cálculo

TP representa el número de muestras positivas clasificadas correctamente; FP representa el número de muestras negativas clasificadas erróneamente como positivas; FN representa el número de muestras positivas clasificadas erróneamente como negativas; c es el número total de categorías de imágenes; i es el número de detecciones; y AP es la precisión promedio de una sola categoría.


3.3 Implementación del sistema y resultados en múltiples escenarios

El sistema de detección se ejecuta en una plataforma Ubuntu 23.04 equipada con un procesador Intel Core i5-11400F (12 subprocesos), 16 GB de memoria y una GPU NVIDIA GeForce RTX 3060 (12 GB de VRAM). La plataforma de implementación de inferencia utiliza Windows 10 con un procesador Intel i7-6600U y 8 GB de memoria, mientras que la implementación en el borde se implementa en la placa de desarrollo de computación de borde NLE-AI800, fabricada por Beijing Newland Era Technology Co., Ltd. Como se muestra en la Figura 6, la interfaz del sistema de detección admite entradas de imagen y vídeo, lo que proporciona diversos parámetros de detección configurables y visualización de resultados en tiempo real. 

Figura 6 Interfaz del sistema de detección de defectos

Figura 6 Interfaz del sistema de detección de defectos

(1) Batch Image Detection Batch detection was conducted on a folder named "img2video" containing defect images. The detection results are shown in Figure 7. The folder includes 66 defect images, and by iterating through them one by one, a total of 269 defects were detected. Users can view each defect by clicking the corresponding item in the results list, which instantly highlights the defect in the image display window. Figure 8 demonstrates how clicking on the 235th detected defect (a missing hole) allows the system to quickly locate and display the corresponding image region. 

Figura 7. Resultados de la detección de carpetas por lotes

Figure 7. Batch Folder Detection Results

(2) Video Stream Detection The system supports frame-by-frame video detection mode. As shown in Figure 9, a video composed of 50 defect images was analyzed, and 282 defects were identified. The system also supports defect localization and frame backtracking, making it suitable for quality inspection scenarios in production line camera systems. 

Figura 8. Información detallada sobre los resultados de detección de defectos de imagen

Figure 8. Detailed information on image defect detection results

Figura 9. Resultados de detección de vídeo

Figure 9. Video detection results

(3) Extreme Condition Detection To evaluate the system's robustness under extreme conditions, tests were conducted on images affected by "blurring," "occlusion," and "offset." As shown in Figure 10, the system successfully identified most defects even under these challenging conditions, indicating strong environmental adaptability. 

(4) Edge Device Detection As shown in Figure 11, detection results from edge device deployment in real industrial settings demonstrate the system’s ability to identify typical defects such as short circuits, open circuits, and missing holes. The device achieves real-time performance while maintaining high accuracy, verifying the deployability of the proposed model in low-power scenarios.


3.4 Performance Evaluation

3.4.1 Evaluation of the Detection System's Model Training Results

The image size was set to 1,280×720 pixels, the batch size to 8, the number of training epochs to 300, and the initial learning rate to 0.01. As shown in Table 2, training concluded at the 206th epoch, and the optimal result was achieved at the 106th epoch. The inference time was 11.5 ms. The model achieved an average Precision of 0.98, an average Recall of 0.961, and an average mAP of 0.982 across all defect classes. Performance on Spurious_copper was slightly weaker, while Missing_hole and Short were predicted more accurately.

Figura 10. Resultados de detección en condiciones extremas

Figure 10. Detection results under extreme conditions

Figura 11. Resultados de detección de bordes

Figure 11. Edge detection results

3.4.2 Evaluation of the Detection System’s Model Prediction Results

Los resultados de la predicción del modelo se muestran en la Tabla 3 y son, en general, consistentes con los resultados de la etapa de entrenamiento. La Figura 12 compara las imágenes de defectos correctamente etiquetadas (filas 1 y 2) con las imágenes de defectos predichas (filas 3 y 4). Las visualizaciones indican un rendimiento general excelente, aunque se observan algunas detecciones omitidas (p. ej., fila 3, imagen 2) y falsas detecciones (p. ej., fila 4, imagen 3).

3.4.3 Evaluación del desempeño del sistema de detección

La precisión y la recuperación son dos métricas clave para el rendimiento de la clasificación. La precisión mide la proporción de verdaderos positivos entre los positivos predichos, mientras que la recuperación mide la proporción de verdaderos positivos identificados correctamente. La Figura 13 muestra cómo la precisión, la recuperación y la puntuación F1 varían con el umbral de confianza. Como se ve en la Figura 13(a), la precisión aumenta con el umbral y alcanza 1,0 en todas las clases en un umbral de 0,73; sin embargo, más allá de este punto, la recuperación cae bruscamente. Con base en la puntuación F1, un umbral de confianza de 0,73 produce el mejor rendimiento general. La matriz de confusión en la Figura 14 visualiza las predicciones, mostrando un sólido rendimiento general pero una detección relativamente más débil para las clases con diferencias sutiles entre clases (por ejemplo, Spurious_copper y Spur).

Tabla 2 Resultados del entrenamiento del modelo

Tipo de defectoTotal de imágenes/udsCategoría Anotación CantidadPrecisiónRecordarmapa a 50mapa a 50:95
todo662800.9800.9610.9820.563
Agujero faltante66450.9911.0000.9950.658
Corto66450.9991.0000.9950.562
Mordedura de ratón66491.0000.9380.9920.593
Cobre espurio66430.9400.9530.9850.477
Circuito abierto66490.9700.9590.9680.589
Estimular66490.9780.9130.9570.497

Tabla 3 Resultados de la predicción del modelo

TipoTotal de imágenes/udsCategoría Anotación CantidadPrecisiónRecordarmapa a 50mapa a 50:95
todo662800.9670.9680.9820.565
Agujero faltante66450.9881.0000.9950.667
Corto66450.9931.0000.9950.563
Mordedura de ratón66490.9790.9390.9920.586
Cobre espurio66430.9170.9530.9860.479
Circuito abierto66490.9650.9590.9680.596
Estimular66490.9590.9570.9560.500


3.4.4 Evaluación experimental comparativa del sistema de detección

Para validar aún más el rendimiento, el modelo propuesto se comparó con los detectores convencionales en el conjunto de datos de defectos de PCB de la Universidad de Pekín pública, con datos comparativos extraídos de [ 11 ] . Como se muestra en la Tabla 4, el modelo propuesto logra una precisión de predicción superior y una precisión promedio media (mAP) en comparación con las líneas de base.

Figura 12. Comparación entre imágenes de defectos correctamente etiquetadas e imágenes de defectos predichas

Figura 12. Comparación entre imágenes de defectos correctamente etiquetadas e imágenes de defectos predichas

Figura 13 Resultados de la evaluación del rendimiento del sistema

Figura 13 Resultados de la evaluación del rendimiento del sistema

Figura 14. Visualización de los resultados de la evaluación mediante el método de la matriz de confusión.

Figura 14. Visualización de los resultados de la evaluación mediante el método de la matriz de confusión.

Tabla 4 Resultados experimentales comparativos (%)

ModeloAgujero faltanteMordedura de ratónCircuito abiertoCortoEstimularCobre espuriomapa
R-CNN más rápido91.778.280.684.874.885.182.5
YOLOx99.591.292.590.186.394.492.3
PCB-YOLO99.590.799.598.590.996.795.9
FCM-YOLO99.598.198.997.897.498.598.3
Modelo propuesto98.897.996.599.395.991.796.2


4. Conclusión

Para abordar las exigencias de rendimiento en tiempo real y las limitaciones de recursos en entornos de computación de borde, este artículo diseñó e implementó un sistema ligero de detección de defectos en PCB basado en YOLOv8n. Al integrar técnicas de aprendizaje por transferencia, poda de modelos y destilación de conocimiento, el sistema reduce significativamente la complejidad del modelo y mejora el rendimiento de la detección en entornos complejos y con muestras pequeñas. La interfaz gráfica de usuario (GUI) desarrollada con PySide6 permite la entrada e interacción multimodal tanto para imágenes como para vídeos, ofreciendo una excelente adaptabilidad de ingeniería y flexibilidad de implementación.

Experimentos realizados en un conjunto de datos públicos demuestran que el modelo propuesto supera a los métodos convencionales existentes en precisión de detección, velocidad de inferencia y robustez. Mantiene la estabilidad incluso en condiciones difíciles como oclusión, desenfoque y vibración del dispositivo. Experimentos de implementación en dispositivos de borde reales confirman aún más la viabilidad del sistema en condiciones de bajo consumo y baja latencia, lo que destaca su gran potencial para aplicaciones prácticas y futuras implementaciones.


Referencias

  1. [1] REN S., HE K., GIRSHICK R., et al. R-CNN más rápida: Hacia la detección de objetos en tiempo real con redes de propuesta de región. IEEE Transactions on Pattern Analysis and Machine Intelligence , 2017, 39(6): 1137–1149. ↩︎ Volver a: [1]
  2. [2] HU K., WANG B., SHEN Y., et al. Método de identificación de defectos en chapa de álamo basado en una red generativa antagónica de crecimiento progresivo y el modelo MASK R-CNN. BioResources , 2020, 15(2): 3041–3052. ↩︎ Volver a: [2]
  3. [3] REDMON J., DIVVALA S., GIRSHICK R., et al. Solo miras una vez: Detección unificada de objetos en tiempo real. En Actas de la Conferencia IEEE sobre Visión Artificial y Reconocimiento de Patrones , 2016: 779–788. ↩︎ Volver a: [3]
  4. [4] LIU W., ANGUELOV D., ERHAN D., et al. SSD: Detector multicaja de disparo único. En la Conferencia Europea de Visión Artificial . Springer, 2016: 21–37. ↩︎ Volver a: [4]
  5. [5] Hu Xin, Hu Shuai, Ma Lijun, et al. Método de detección de defectos en PCB basado en la fusión de MBAM y YOLOv5. Journal of Graphics , 2024, 45(1): 47–55. ↩︎ Volver a: [5]
  6. [6] He Guozhong, Liang Yu. Detección de defectos en PCB basada en redes neuronales convolucionales. Journal of Graphics , 2022, 43(1): 21–27. ↩︎ Volver a: [6]
  7. [7] Wu Jigang, Cheng Yuan, Shao Jun, et al. Detección de defectos en PCB basada en el algoritmo YOLOv4 mejorado. Journal of Instrument and Instrumentation , 2021(10): 171–178. ↩︎ Volver a: [7]
  8. [8] Su Jia, Jia Xinyu, Hou Weimin. Algoritmo de detección de defectos en PCB basado en YOLO-J. Computer Integrated Manufacturing Systems , 2024, 33(11): 3984–3998. ↩︎ Volver a: [8]
  9. [9] GLENN J. YOLOv8 [En línea]. Consultado el 16/04/2025. GitHub: ultralytics/ultralytics. ↩︎ Volver a: [9]
  10. [10] Laboratorio de Robótica Inteligente de la Universidad de Pekín. Conjunto de datos PKU-Market-PCB [En línea]. Consultado el 16 de abril de 2025. ↩︎ Volver a: [10]
  11. [11] Yan Shu, Guo Ying, Huang Jun. FCM-YOLO: Un método de detección de defectos en PCB basado en la mejora de características y la fusión multiescala. Control and Decision , 2024, 39(10): 3181–3189. ↩︎ Volver a: [11]


Derechos de autor libres

Etiqueta :
Devolver

DESCUBRE MÁS