Articulo de referencia

Estimación de pose 3D

Estimación de la postura en un sistema de captura de movimiento La estimación de pose 3D es un proceso que predice la transformación de un objeto a partir de una pose de referen...

Estimación de la postura en un sistema de captura de movimiento

La estimación de pose 3D es un proceso que predice la transformación de un objeto a partir de una pose de referencia definida por el usuario, a partir de una imagen o un escaneo 3D . Surge en visión artificial o robótica, donde la pose o transformación de un objeto se puede utilizar para alinear modelos de diseño asistido por computadora , identificar, agarrar o manipular el objeto.

Los datos de imagen a partir de los cuales se determina la pose de un objeto pueden ser una sola imagen, un par de imágenes estereoscópicas o una secuencia de imágenes donde, por lo general, la cámara se mueve a una velocidad conocida. Los objetos considerados pueden ser bastante generales, incluyendo un ser vivo o partes del cuerpo, como una cabeza o las manos. Sin embargo, los métodos utilizados para determinar la pose de un objeto suelen ser específicos para una clase de objetos y, por lo general, no se espera que funcionen bien para otros tipos de objetos.

Desde una cámara 2D sin calibrar

Es posible estimar la rotación y traslación 3D de un objeto 3D a partir de una sola foto 2D, si se conoce un modelo 3D aproximado del objeto y los puntos correspondientes en la imagen 2D. Una técnica común desarrollada en 1995 para resolver esto es POSIT, [ 1 ] donde la pose 3D se estima directamente a partir de los puntos del modelo 3D y los puntos de la imagen 2D, y corrige los errores iterativamente hasta encontrar una buena estimación a partir de una sola imagen. [ 2 ] La mayoría de las implementaciones de POSIT solo funcionan con puntos no coplanares (es decir, no funcionarán con objetos planos o planos). [ 3 ]

Otro enfoque consiste en registrar un modelo CAD 3D sobre la fotografía de un objeto conocido, optimizando una medida de distancia adecuada con respecto a los parámetros de pose. [ 4 ] [ 5 ] La medida de distancia se calcula entre el objeto en la fotografía y la proyección del modelo CAD 3D en una pose determinada. Es posible realizar una proyección en perspectiva o una proyección ortogonal, según la representación de pose utilizada. Este enfoque es apropiado para aplicaciones donde se dispone de un modelo CAD 3D de un objeto conocido (o categoría de objeto).

Desde una cámara 2D calibrada

Dada una imagen 2D de un objeto y la cámara calibrada con respecto a un sistema de coordenadas del mundo, también es posible encontrar la pose que da el objeto 3D en su sistema de coordenadas del objeto. [ 6 ] Esto funciona de la siguiente manera.

Extracción de 3D a partir de 2D

Partiendo de una imagen 2D, se extraen los puntos que corresponden a las esquinas de la imagen. A partir de estos puntos 2D, se reconstruyen los rayos de proyección para determinar los puntos 3D que deben incidir sobre dichos rayos.

Pseudocódigo

El algoritmo para determinar la estimación de pose se basa en el algoritmo iterativo de puntos más cercanos . La idea principal es determinar las correspondencias entre las características de la imagen 2D y los puntos de la curva del modelo 3D.

(a) Reconstruir los rayos de proyección a partir de los puntos de la imagen. b) Estimar el punto más cercano de cada rayo de proyección a un punto en el contorno 3D. (c) Estimar la pose del contorno utilizando este conjunto de correspondencias. (d) ir a (b)

El algoritmo anterior no tiene en cuenta las imágenes que contienen un objeto parcialmente ocluido. El siguiente algoritmo asume que todos los contornos están rígidamente acoplados, lo que significa que la pose de un contorno define la pose de otro.

(a) Reconstruir los rayos de proyección a partir de los puntos de la imagen. b) Para cada rayo de proyección R: (c) Para cada contorno 3D: (c1) Estime el punto P1 más cercano del rayo R a un punto en el contorno. (c2) si (n == 1) elija P1 como P real para la correspondencia punto-línea (c3) de lo contrario, compare P1 con P: Si dist(P1, R) es menor que dist(P, R) entonces elegir P1 como nuevo P (d) Utilice (P, R) como conjunto de correspondencia. (e) Estimar la pose con este conjunto de correspondencias (f) Transformar contornos, ir a (b)

Estimación de la postura mediante comparación

Existen sistemas que utilizan una base de datos de un objeto en diferentes rotaciones y traslaciones para comparar una imagen de entrada y estimar su pose. La precisión de estos sistemas se limita a las situaciones representadas en su base de datos de imágenes; sin embargo, el objetivo es reconocer una pose, no determinarla. [ 7 ]

Software

  • posest , una biblioteca C / C++ con licencia GPL para la estimación de pose de 6 grados de libertad a partir de correspondencias 3D-2D.
  • diffgeom2pose es un solucionador rápido de Matlab para la estimación de pose de 6 grados de libertad a partir de solo dos correspondencias 3D-2D de puntos con direcciones (vectores) o puntos en curvas (tangentes de puntos). Los puntos pueden tener atribuciones SIFT con direcciones de características.
  • MINUS : Paquete de C++ para la estimación de pose (relativa) de tres vistas. Incluye casos de tres puntos correspondientes con líneas en estos puntos (como en posiciones y orientaciones de características, o puntos de curva con tangentes), y también para tres puntos correspondientes y una correspondencia de línea.
  • Nvidia FoundationPose es un modelo base unificado de aprendizaje profundo para la estimación y el seguimiento de la pose de objetos en 6 grados de libertad, compatible con configuraciones basadas en modelos 3D y sin modelos 3D.

Véase también

Referencias

  1. Javier Barandiaran (28 de diciembre de 2017). "Tutorial POSITAR" . OpenCV.
  2. Daniel F. Dementhon; Larry S. Davis (1995). "Model-based object pose in 25 lines of code" . International Journal of Computer Vision . 15 ( 1– 2): 123– 141. Bibcode : 1995IJCV...15..123D . doi : 10.1007/BF01450852 . S2CID 14501637 . Consultado el 29-05-2010 . 
  3. Javier Barandiaran. "Tutorial de POSIT con OpenCV y OpenGL" . Archivado del original el 20 de junio de 2010. Consultado el 29 de mayo de 2010 .
  4. Srimal Jayawardena, Marcus Hutter y Nathan Brewer (2011). «Una nueva función de pérdida invariante a la iluminación para la estimación de la pose 3D monocular». Conferencia Internacional de 2011 sobre Computación de Imágenes Digitales: Técnicas y Aplicaciones . págs. 37–44 . CiteSeerX 10.1.1.766.3931 . doi : 10.1109/DICTA.2011.15 . ISBN   978-1-4577-2006-2. S2CID 17296505 . 
  5. Srimal Jayawardena, Di Yang y Marcus Hutter (2011). «Segmentación de imágenes asistida por modelos 3D». Conferencia Internacional de 2011 sobre Computación de Imágenes Digitales: Técnicas y Aplicaciones . págs. 51–58 . CiteSeerX 10.1.1.751.8774 . doi : 10.1109/DICTA.2011.17 . ISBN   978-1-4577-2006-2. S2CID 1665253 . 
  6. Bodo Rosenhahn. "Fundamentos sobre la estimación de pose 2D-3D" . CV Online . Consultado el 9 de junio de 2008 .
  7. Vassilis Athitsos; Stan Sclarof (1 de abril de 2003). Estimación de la pose de la mano en 3D a partir de una imagen desordenada (PDF) (Informe técnico). Departamento de Informática de la Universidad de Boston. Archivado del original (PDF) el 31 de julio de 2019.

Bibliografía

  • Rosenhahn, B. "Fundamentos sobre la estimación de pose 2D-3D."
  • Rosenhahn, B. "Estimación de la pose de contornos de forma libre 3D en geometría conforme."
  • Athitsos, V. "Estimación de la postura de la mano en 3D a partir de una imagen desordenada."