Los tableros de ajedrez aparecen con frecuencia en la teoría y la práctica de la visión por computadora debido a que su geometría altamente estructurada resulta idónea para la detección y el procesamiento algorítmicos. La presencia de tableros de ajedrez en la visión por computadora se puede dividir en tres áreas principales: calibración de la cámara , extracción de características y reconocimiento del estado del tablero en el mundo real (manejo de oclusiones). Este artículo ofrece un análisis unificado del papel que desempeñan los tableros de ajedrez en los métodos canónicos de estas áreas, incluyendo referencias a la literatura fundamental, ejemplos y enlaces a implementaciones de software.
Calibración de la cámara del tablero de ajedrez
Un problema clásico en visión por computadora es la reconstrucción tridimensional (3D) , donde se busca inferir la estructura 3D de una escena a partir de imágenes bidimensionales (2D) de la misma. [ 1 ] Las cámaras prácticas son dispositivos complejos, y se necesita fotogrametría para modelar la relación entre las mediciones del sensor de imagen y el mundo 3D. En el modelo estándar de cámara estenopeica , se modela la relación entre las coordenadas del mundoy coordenadas de imagen (píxeles)mediante la transformación de perspectiva
dóndees el espacio proyectivo de dimensión.
En este contexto, la calibración de la cámara es el proceso de estimar los parámetros de lamatrizdel modelo de perspectiva. La calibración de la cámara es un paso importante en el proceso de visión artificial porque muchos algoritmos posteriores requieren el conocimiento de los parámetros de la cámara como entrada. [ 2 ] Los tableros de ajedrez se utilizan a menudo durante la calibración de la cámara porque son fáciles de construir y su estructura de cuadrícula plana define muchos puntos de interés naturales en una imagen. Los dos métodos siguientes son técnicas de calibración clásicas que suelen emplear tableros de ajedrez.
Transformación lineal directa
La calibración mediante transformación lineal directa (DLT) utiliza correspondencias entre puntos del mundo y puntos de la imagen de la cámara para estimar los parámetros de la cámara. En particular, la calibración DLT aprovecha el hecho de que el modelo de cámara estenopeica de perspectiva define un conjunto de relaciones de similitud que se pueden resolver mediante el algoritmo de transformación lineal directa . [ 3 ] Para emplear este enfoque, se requieren coordenadas precisas de un conjunto no degenerado de puntos en el espacio 3D. Una forma común de lograr esto es construir un banco de calibración de cámara (ejemplo a continuación) construido a partir de tres tableros de ajedrez mutuamente perpendiculares. Dado que las esquinas de cada cuadrado son equidistantes, es sencillo calcular las coordenadas 3D de cada esquina a partir del ancho de cada cuadrado. La ventaja de la calibración DLT es su simplicidad; se pueden calibrar cámaras arbitrarias resolviendo un único sistema lineal homogéneo . Sin embargo, el uso práctico de la calibración DLT está limitado por la necesidad de un banco de calibración 3D y el hecho de que se requieren coordenadas 3D extremadamente precisas para evitar la inestabilidad numérica . [ 1 ]
Calibración multiplano
La calibración multiplano es una variante de la autocalibración de cámaras que permite calcular los parámetros de una cámara a partir de dos o más vistas de una superficie plana. El trabajo pionero en calibración multiplano se debe a Zhang. [ 4 ] El método de Zhang calibra las cámaras resolviendo un sistema lineal homogéneo particular que captura las relaciones homográficas entre múltiples vistas en perspectiva del mismo plano. Este enfoque multivista es popular porque, en la práctica, es más natural capturar múltiples vistas de una sola superficie plana, como un tablero de ajedrez, que construir un sistema de calibración 3D preciso, como requiere la calibración DLT. Las siguientes figuras demuestran una aplicación práctica de la calibración multiplano de cámaras a partir de múltiples vistas de un tablero de ajedrez. [ 5 ]
Extracción de características del tablero de ajedrez
El segundo contexto en el que aparecen los tableros de ajedrez en la visión por computadora es para demostrar varios algoritmos canónicos de extracción de características . En la extracción de características , se busca identificar puntos de interés en la imagen , que resumen el contenido semántico de una imagen y, por lo tanto, ofrecen una representación de dimensionalidad reducida de los datos. [ 2 ] Los tableros de ajedrez, en particular, se utilizan a menudo para demostrar algoritmos de extracción de características porque su geometría regular exhibe de forma natural características locales de la imagen, como bordes, líneas y esquinas. Las siguientes secciones demuestran la aplicación de algoritmos comunes de extracción de características a una imagen de tablero de ajedrez .
Esquinas
Las esquinas son una característica natural de la imagen que se aprovecha en muchos sistemas de visión artificial. En términos generales, una esquina se puede definir como la intersección de dos bordes. Existen diversos algoritmos de detección de esquinas que formalizan esta noción en algoritmos concretos. Las esquinas son una característica útil de la imagen porque son necesariamente distintas de sus píxeles vecinos. El detector de esquinas de Harris es un algoritmo estándar para la detección de esquinas en visión artificial. [ 6 ] El algoritmo funciona analizando los valores propios de la matriz tensorial de estructura discreta 2D en cada píxel de la imagen y marcando un píxel como una esquina cuando los valores propios de su tensor de estructura son suficientemente grandes. Intuitivamente, los valores propios de la matriz tensorial de estructura asociada a un píxel dado describen la intensidad del gradiente en un vecindario de ese píxel. Por lo tanto, una matriz tensorial de estructura con valores propios grandes corresponde a un vecindario de la imagen con grandes gradientes en direcciones ortogonales, es decir, una esquina.
Un tablero de ajedrez contiene esquinas naturales en los límites entre las casillas, por lo que cabría esperar que los algoritmos de detección de esquinas las detectaran correctamente en la práctica. De hecho, la siguiente figura muestra la detección de esquinas de Harris aplicada a una imagen de un tablero de ajedrez con transformación de perspectiva . Claramente, el detector de Harris es capaz de detectar con precisión las esquinas del tablero.
Pauta
Las líneas son otra característica natural de las imágenes que se aprovecha en muchos sistemas de visión artificial. Geométricamente, el conjunto de todas las líneas en una imagen 2D se puede parametrizar mediante coordenadas polares.describiendo la distancia y el ángulo, respectivamente, de sus vectores normales con respecto al origen. La transformada discreta de Hough explota esta idea transformando una imagen espacial en una matriz en-espacio cuyoLa entrada -th cuenta el número de puntos de borde de la imagen que se encuentran en la línea parametrizada por. [ 7 ] [ 8 ] [ 9 ] De este modo, se pueden detectar líneas en una imagen simplemente buscando los máximos locales de su transformada discreta de Hough.
La estructura cuadriculada de un tablero de ajedrez define naturalmente dos conjuntos de líneas paralelas en su imagen. Por lo tanto, se espera que los algoritmos de detección de líneas las detecten con éxito en la práctica. De hecho, la siguiente figura muestra la detección de líneas basada en la transformada de Hough aplicada a una imagen de un tablero de ajedrez con transformación de perspectiva . Claramente, la transformada de Hough es capaz de detectar con precisión las líneas generadas por las casillas del tablero.
El siguiente código MATLAB genera las imágenes anteriores utilizando la Caja de herramientas de procesamiento de imágenes :
% Cargar imagen I = imread ( 'Perspective_chessboard.png' );% Calcular imagen de borde BW = borde ( I , 'canny' );% Calcular la transformada de Hough [ H theta rho ] = hough ( BW );% Encuentra los máximos locales de la transformada de Hough numpeaks = 19 ; thresh = ceil ( 0.1 * max ( H (:))); P = houghpeaks ( H , numpeaks , 'threshold' , thresh );% Extraer líneas de la imagen lines = houghlines ( BW , theta , rho , P , 'FillGap' , 50 , 'MinLength' , 60 );% -------------------------------------------------------------------------- % Mostrar resultados % -------------------------------------------------------------------------- % Figura de la imagen original ; imshow ( I );% Figura de imagen de borde ; imshow ( BW );% Figura de la transformada de Hough ; imagen ( theta , rho , imadjust ( mat2gray ( H )), 'CDataMapping' , 'scaled' ); hold on ; colormap ( gray ( 256 )); plot ( theta ( P (:, 2 )), rho ( P (:, 1 )), 'o' , 'color' , 'r' );% Figura de líneas detectadas ; imshow ( I ); hold on ; n = size ( I , 2 ); for k = 1 : length ( lines ) % Superponer la k-ésima línea x = [ lines ( k ) .point1 ( 1 ) lines ( k ) .point2 ( 1 )]; y = [ lines ( k ) .point1 ( 2 ) lines ( k ) .point2 ( 2 )]; line = @( z ) (( y ( 2 ) - y ( 1 )) / ( x ( 2 ) - x ( 1 ))) * ( z - x ( 1 )) + y ( 1 ) ; plot ([ 1n ], line ([ 1n ] ), 'Color' , 'r' ); endDetección de tablero de ajedrez ocluido
Si bien los tableros de ajedrez vacíos y sin obstrucciones son óptimos para la calibración de la cámara y la extracción de características, la detección de tableros ocupados por piezas de ajedrez físicas plantea importantes desafíos para la visión artificial. En escenarios del mundo real, como la digitalización de partidas de ajedrez en curso, las piezas obstruyen las intersecciones de la cuadrícula, proyectan sombras irregulares y rompen las líneas rectas de la misma. En estas condiciones, los algoritmos geométricos estándar, como el detector de esquinas de Harris o la transformada de Hough, suelen fallar porque no pueden resolver geometrías ocultas tras las piezas. [ 10 ]
Enfoques iterativos modulares Debido a que los detectores clásicos de un solo paso fallan bajo ángulos de perspectiva extremos y oclusión de piezas, los investigadores han desarrollado algoritmos que infieren la geometría completa del tablero a partir de datos visibles parciales. Una metodología ampliamente utilizada, propuesta por Czyzewski et al. en 2017, se basa en la generación iterativa de mapas de calor y recorte de perspectiva. [ 11 ] En lugar de intentar la localización subpíxel en la imagen original, el algoritmo filtra la imagen utilizando la fusión heurística de líneas para deducir las líneas de la cuadrícula ocultas detrás de las piezas, y utiliza redes neuronales para identificar intersecciones de la red ocluidas.

El algoritmo recorta la subárea alrededor del mapa de calor de mayor probabilidad , deforma la perspectiva para normalizar la distorsión y repite el proceso recursivamente. Una vez que la corrección de perspectiva converge y se localizan los límites exactos del tablero, este se puede dividir en 64 recortes cuadrados aislados. En esta etapa, a menudo se aplican algoritmos posteriores (como redes neuronales convolucionales estándar) a estos cuadrados para clasificar las piezas que los ocupan y transcribir el estado del tablero a la notación Forsyth-Edwards (FEN). Análisis independientes han validado la robustez de este paradigma iterativo para superar la oclusión en ángulos de cámara no planos. [ 12 ]
Aprendizaje profundo de extremo a extremo Una limitación conocida de las canalizaciones modulares es la acumulación de errores; si falla el manejo inicial de la oclusión o la deformación del tablero de ajedrez, cualquier procesamiento posterior también fallará. Enfoques más recientes intentan evitar por completo la detección geométrica explícita. En 2023, Masouris y van Gemert presentaron un marco de aprendizaje profundo de extremo a extremo junto con ChessReD , un conjunto de datos de 10.800 fotografías reales de partidas de ajedrez tomadas con teléfonos inteligentes . [ 13 ] Su modelo intenta deducir el estado y la disposición completos del tablero directamente de la imagen sin procesar. Si bien representa una mejora masiva con respecto a los intentos anteriores de extremo a extremo, su modelo reconoció completamente la configuración exacta en solo el 15,26 % de las imágenes de prueba sin restricciones, lo que destaca lo notablemente difícil que sigue siendo detectar tableros de ajedrez con mucha oclusión en la visión por computadora. [ 13 ]
Limitaciones
La principal limitación del uso de patrones de tablero de ajedrez para la calibración geométrica de la cámara radica en que, debido a su estructura altamente repetitiva, deben ser completamente visibles en la imagen. Esta condición puede no cumplirse, por ejemplo, cuando los reflejos especulares causados por una iluminación no homogénea impiden la detección del tablero en algunas esquinas. La medición de las distorsiones de la cámara cerca de las esquinas de la imagen también se ve afectada por la necesidad de un tablero de ajedrez completamente visible.
Para solucionar este problema, se pueden combinar objetivos de tablero de ajedrez con algún tipo de codificación de posición. Una forma popular es colocar marcadores ArUco [ 14 ] dentro de las casillas del tablero de ajedrez iluminado. La principal ventaja de estos objetivos ChArUco [ 15 ] es que todas las casillas del tablero de ajedrez iluminado están codificadas de forma única y son identificables. Esto también permite realizar una calibración multiplano de una sola imagen colocando varios objetivos con diferentes ArUco en una misma escena.
Una forma alternativa de agregar codificación de posición a los patrones de tablero de ajedrez es el patrón PuzzleBoard: [ 16 ] A cada borde del tablero de ajedrez se le asigna un bit de información, de modo que las partes locales del patrón muestran un patrón de bits único. En comparación con los patrones ChArUco, la codificación de posición se puede leer a resoluciones mucho más bajas.

Véase también
Lecturas adicionales
- M. Rufli, D. Scaramuzza y R. Siegwart. "Detección automática de tableros de ajedrez en imágenes borrosas y distorsionadas". Conferencia Internacional IEEE/RSJ sobre Robots y Sistemas Inteligentes. (2008).
- Z. Weixing, et al. "Un algoritmo rápido y preciso para la detección de esquinas en tableros de ajedrez". 2º Congreso Internacional sobre Procesamiento de Imágenes y Señales. (2009).
- A. De la Escalera y J. Armingol. "Detección automática de tablero de ajedrez para la calibración de parámetros intrínsecos y extrínsecos de la cámara." Sensors. vol. 10(3), pp. 2027–2044 (2010).
- S. Bennett y J. Lasenby . "ChESS: detección rápida y robusta de características de tableros de ajedrez". Computer Vision and Image Understanding. vol. 118, pp. 197–210 (2014).
- J. Ha. "Detección automática de tablero de ajedrez y sus aplicaciones." Opt. Eng. vol. 48(6) (2009).
- F. Zhao, et al. "Un algoritmo automatizado de detección de esquinas x (axda)". Journal of Software. vol. 6(5), pp. 791–797 (2011).
- S. Arca, E. Casiraghi y G. Lombardi. "Localización de esquinas en tableros de ajedrez para calibración de cámaras". IADAT. (2005).
- X. Hu, P. Du y Y. Zhou. «Detección automática de esquinas en un tablero de ajedrez para la calibración de cámaras de endoscopia médica». Actas de la 10.ª Conferencia Internacional sobre Realidad Virtual Continua y sus Aplicaciones en la Industria. ACM. (2011).
- S. Malek, et al. "Seguimiento de las esquinas del tablero de ajedrez mediante transformación proyectiva para realidad aumentada. Conferencia Internacional sobre Comunicaciones, Computación y Aplicaciones de Control. (2011).
Referencias
- 1 2 D. Forsyth y J. Ponce. Visión por computadora: un enfoque moderno . Prentice Hall. (2002). ISBN 978-0262061582.
- 1 2 R. Szeliski. Visión por computadora: algoritmos y aplicaciones . Springer Science and Business Media. (2010). ISBN 978-1848829350.
- ↑ O. Faugeras. Visión por computadora tridimensional . MIT Press. (1993). ISBN 978-0262061582.
- ↑ Z. Zhang. "Una nueva técnica flexible para la calibración de cámaras." IEEE Transactions on Pattern Analysis and Machine Intelligence. vol. 22(11), pp. 1330-1334 (2000).
- ↑ J. Bouguet, "Caja de herramientas de calibración de cámara para MATLAB". http://www.vision.caltech.edu/bouguetj/calib_doc/ . (2013).
- ↑ C. Harris y M. Stephens. "Un detector combinado de esquinas y bordes". Actas de la 4.ª Conferencia Alvey Vision. págs. 147-151 (1988).
- ↑ L. Shapiro y G. Stockman. Visión por computadora . Prentice-Hall, Inc. (2001). ISBN 978-0130307965
- ↑ R. Duda y P. Hart. "Uso de la transformación de Hough para detectar líneas y curvas en imágenes", Comm. ACM, vol. 15, pp. 11-15 (1972).
- ↑ P. Hough. "Análisis automático de imágenes de cámaras de burbujas." Actas de la Conferencia Internacional sobre Aceleradores e Instrumentación de Alta Energía. (1959).
- ↑ Bennett, S.; Lasenby, J. (2014). "ChESS: detección rápida y robusta de características de tableros de ajedrez". Computer Vision and Image Understanding . 118 : 197–210 . doi : 10.1016/j.cviu.2013.10.002 .
- ↑ Czyzewski, Maciej A.; Laskowski, Artur; Wasik, Szymon (2017). "Reconocimiento de tablero y piezas de ajedrez con el apoyo de redes neuronales". arXiv : 1708.03898 [ cs.CV ].Repositorio de código .
- ↑ Mallasén Quintana, David; del Barrio García, Alberto Antonio; Prieto Matías, Manuel (2020). "LiveChess2FEN: un marco para clasificar piezas de ajedrez basado en CNN". arXiv : 2012.06858 [ cs.CV ].
- ^ Masouris , A.; van Gemert, JC (2023). "Reconocimiento de ajedrez de un extremo a otro". arXiv : 2310.04086 [ cs.CV ].
- ↑ S. Garrido-Jurado et al. "Generación y detección automática de marcadores fiduciales altamente fiables bajo oclusión." Pattern Recognition, vol. 47(6), pp. 2280-2292. https://dl.acm.org/doi/abs/10.1016/J.PATCOG.2014.01.005 . (2014).
- ↑ OpenCV. https://docs.opencv.org/3.4/df/d4a/tutorial_charuco_detection.html .
- ↑ P. Stelldinger, et al. "PuzzleBoard: Un nuevo patrón de calibración de cámara con codificación de posición." Conferencia Alemana sobre Reconocimiento de Patrones. (2024). https://users.informatik.haw-hamburg.de/~stelldinger/pub/PuzzleBoard/ . (2024).
Enlaces externos
Los siguientes enlaces son referencias a implementaciones populares de algoritmos de visión artificial relacionados con el ajedrez.
- Caja de herramientas de calibración de cámaras para MATLAB : caja de herramientas de MATLAB que implementa muchos métodos comunes de calibración de cámaras.
- Calibración de cámara y reconstrucción 3D : implementación en OpenCV de muchos métodos comunes de calibración de cámara.
- Calibración de cámara multiplano a partir de múltiples vistas de tablero de ajedrez : ejemplo en MATLAB de aplicación de la autocalibración multivista a una serie de imágenes de tablero de ajedrez.
- Detección de tableros de ajedrez en MATLAB : función de MATLAB del Computer Vision System Toolbox para detectar tableros de ajedrez en imágenes.
- Detección de tableros de ajedrez con OpenCV : función de OpenCV para detectar tableros de ajedrez en imágenes.
- Detección de esquinas de Harris en MATLAB : función de MATLAB para realizar la detección de esquinas de Harris.
- Detección de esquinas de Harris en OpenCV : función de OpenCV para realizar la detección de esquinas de Harris.
- Transformada de Hough en MATLAB : función de MATLAB para calcular la transformada de Hough.
- Transformada de Hough de OpenCV : función de OpenCV para calcular la transformada de Hough.
- mrgingham - herramienta para la detección de tableros de ajedrez
- Detección de características (visión por computadora)