Depth Bleeding
El sangrado de profundidad es un artefacto de los mapas de profundidad por el que las distancias se difuminan a través de los límites de los objetos y dejan píxeles flotantes y halos en nubes de puntos y escenas de RA.
El desbordamiento de profundidad es un artefacto de los mapas de profundidad en el que los valores de profundidad se extienden a través del límite entre un objeto en primer plano y el fondo, de modo que los píxeles del borde adoptan la profundidad de la otra superficie o una mezcla de ambas. Aparece en discontinuidades de profundidad, es decir, límites de oclusión donde termina una superficie y empieza otra mucho más lejana, y afecta a todas las fuentes de profundidad: la visión estereoscópica, los sensores de tiempo de vuelo y LiDAR, y la estimación de profundidad basada en aprendizaje. La importancia de los bordes es mucho mayor de lo que su número de píxeles sugiere. Al reproyectarlos en una nube de puntos 3D, los píxeles afectados se convierten en píxeles volantes: puntos suspendidos en el espacio vacío entre un objeto y la pared que tiene detrás. En la realidad aumentada, hacen que los objetos virtuales atraviesen los bordes reales o floten delante de ellos; en la síntesis de nuevas vistas, estiran los bordes como si fueran láminas de goma; y en robótica y vehículos autónomos, hacen que los objetos parezcan más anchos de lo que son, lo que desplaza la prensión del robot y ensancha las cajas de la detección de objetos 3D.
De dónde procede el desbordamiento de profundidad#
En la correspondencia estéreo, la coincidencia de cada píxel se determina comparando una ventana de píxeles vecinos y, cerca de un borde, esa ventana abarca ambas superficies. Los píxeles del primer plano de la ventana pueden dominar el coste de correspondencia, de modo que la profundidad del primer plano se extiende a los píxeles de fondo adyacentes; la bibliografía sobre visión estéreo denomina a este efecto engrosamiento del primer plano. Los píxeles visibles desde una sola cámara no tienen una correspondencia correcta y adoptan la profundidad de un vecino.
Las redes neuronales para la estimación monocular de profundidad generan desbordamiento de dos formas. Sus codificadores reducen la resolución de la imagen para crear mapas de características de baja resolución, por lo que muchos decodificadores predicen la profundidad a una fracción de la resolución de entrada y la interpolan para ampliarla, mezclando las dos superficies en cada borde. Además, cuando un píxel de contorno podría pertenecer a cualquiera de las dos superficies, una función de pérdida de error cuadrático se minimiza al predecir la media de las dos profundidades, un valor que no pertenece a ninguna de las superficies. Los modelos de profundidad de Ultralytics YOLO26 predicen la profundidad logarítmica a un cuarto de la resolución de entrada, y el predictor amplía el mapa mediante interpolación bilineal hasta el tamaño original de la imagen; por tanto, un salto entre dos superficies en la salida se convierte en una transición gradual de unos pocos píxeles de ancho.
Los sensores presentan desbordamiento físico. Un píxel de tiempo de vuelo o un haz LiDAR cuyo campo de cobertura cruza un borde recibe luz de ambas superficies e informa de una profundidad intermedia, la causa clásica de los píxeles volantes en las nubes de puntos de las cámaras de profundidad. Las cámaras RGB-D añaden desalineación, porque la profundidad se mide desde una posición ligeramente distinta de aquella desde la que se mide el color, y los bordes se desplazan cuando se reproyecta una imagen sobre la otra.
Este ejemplo amplía un mapa de profundidad a un cuarto de resolución de una persona situada a 1,5 m delante de una pared a 4 m, como hacen muchas redes de profundidad para obtener la resolución completa, y cuenta los píxeles cuya profundidad no corresponde a ninguna de las dos superficies:
import torch
import torch.nn.functional as F
# A depth map predicted at 1/4 resolution: a person 1.5 m away in front of a wall 4 m away
low = torch.full((1, 1, 120, 160), 4.0)
low[..., 30:, 60:100] = 1.5
for mode in ["bilinear", "nearest"]:
# Upsample 4x to the 480 x 640 image
depth = F.interpolate(low, size=(480, 640), mode=mode)[0, 0]
# Bleeding pixels hold depths that belong to neither surface
bleeding = (depth > 1.6) & (depth < 3.9)
print(f"{mode}: {bleeding.sum().item()} bleeding pixels, row 300 across the edge: {depth[300, 394:404].tolist()}")La ampliación bilineal crea 3518 píxeles con desbordamiento, una transición gradual de 1,81, 2,44, 3,06 y 3,69 m a lo largo de cada borde de la silueta; en una nube de puntos, cada uno de ellos quedaría suspendido en el aire. La ampliación por vecino más cercano no crea ninguno, porque nunca inventa valores nuevos, pero en imágenes reales el borde verdadero cae dentro de un píxel de baja resolución, así que la salida por vecino más cercano sitúa los bordes hasta dos píxeles fuera de lugar y convierte los bordes diagonales en escalones.
Reducción y medición del desbordamiento de profundidad#
La ampliación con conocimiento de los bordes, una forma de superresolución guiada de profundidad, utiliza como guía la imagen en color de resolución completa. La ampliación bilateral conjunta, presentada por Johannes Kopf y sus colegas en 2007, y el filtro guiado ponderan cada vecino según la similitud de color, de modo que la profundidad se detiene en los bordes de la imagen. El fallo opuesto, la copia de texturas, se produce cuando los bordes de color sin cambios de profundidad, como los de una impresión en una caja, se trasladan al mapa de profundidad. Las redes reducen el desbordamiento con salidas de mayor resolución, funciones de pérdida que tienen en cuenta los límites y refinamiento guiado por la segmentación de imágenes; Depth Pro de Apple se diseñó y evaluó específicamente para obtener bordes nítidos. En estéreo, una comprobación de coherencia izquierda-derecha marca los píxeles cuyas correspondencias no coinciden entre ambas direcciones; para cualquier fuente, los píxeles volantes se pueden eliminar descartando los puntos cuya profundidad cambie bruscamente entre vecinos o cuya superficie sea casi paralela al rayo de visión.
Las métricas estándar apenas detectan el desbordamiento, porque los píxeles de los bordes representan una pequeña parte de la imagen y los errores medios, como el error relativo absoluto, apenas varían. El banco de pruebas iBims-1, publicado por Tobias Koch y sus colegas de la Universidad Técnica de Múnich en 2018, evalúa directamente los bordes de profundidad mediante errores de límites de profundidad: la precisión mide la distancia entre los bordes predichos y los anotados manualmente, y la exhaustividad mide cuántos bordes reales no detecta una predicción.










