Reconstrucción 3D plana por piezas de una sola imagen a través de la incrustación asociativa 详解

Reducción

Motivación

Comprender cómo extraer planos de imágenes. Esta es la extracción del plano de la última imagen.

Secuencia de tesis

3)Reconstrucción 3D plana por piezas de una sola imagen a través de la incrustación asociativa

Objetivos de la tesis

inserte la descripción de la imagen aquí

¿Por qué es posible extraer el avión?

Consta de tres partes, un plano extraído semánticamente y un codificador de máscara no plana (segmentación semántica típica); un codificador de incrustación de plano; un codificador de parámetros de plano, que se mencionó anteriormente puede devolver directamente los parámetros del plano 3D, pero con el artículo Los parámetros del plano PLANNET se expresan de manera diferente y se presentarán más adelante.

contribución a la innovación

1) Este documento es un documento de 19 años, pero en comparación con la red anterior, puede extraer cualquier número de planos, similar al documento anterior PlaneRCNN: Detección y reconstrucción de planos 3D a partir de una sola imagen. Pero extrae planos de manera diferente. Debido a que el método PlaneRCNN anterior usaba una variante del método de segmentación de instancias de región de propuesta de MASK-RCNN, y este documento usa otros métodos que son métodos de segmentación de instancias sin propuestas. Utiliza el método semántico para segmentar el plano por instancias de segmentación.Para más detalles ver: Segmentación semántica de instancias con una función de pérdida discriminativa.
2) Además de los cambios anteriores, se adopta un método de modelo incrustado ¿Qué es el método de modelo incrustado? Se refiere a colocar píxeles en un espacio de alta dimensión, lo que se refiere a un espacio de incrustación, y dentro de este espacio, puede clasificar y segmentar mejor. Ver la representación en la siguiente figura.
inserte la descripción de la imagen aquí
Como se puede ver en la figura anterior, ** asigna píxeles al espacio de incrustación del plano y el entrenamiento obliga a los píxeles en el mismo plano a estar más cerca entre sí en el espacio de incrustación del plano. De esta manera, se pueden obtener mejores regiones para la segmentación. **Al mismo tiempo, en el documento se propone un algoritmo para hacer que el plano de incrustación correspondiente a los píxeles del mismo plano en el espacio de incrustación tenga valores similares.
3) Se proporciona el método de incrustación del modelo, y los píxeles del mismo plano tienen valores similares en el espacio. En el papel, estos valores se mueven al mismo tiempo. Usando la idea de agrupar, valores similares están agrupados juntos, mientras que los diferentes separan los valores tanto como sea posible. De esta forma se pueden obtener diferentes segmentaciones del plano (rompiendo el valor K de la segmentación).

arquitectura general de la red

inserte la descripción de la imagen aquí
Esta es la arquitectura de red general y la función de cada parte de la red se describirá a continuación.

Decodificador de segmentación del plan

Esta es la extracción del plano de los píxeles de la imagen, pero hay muchos píxeles no planos en la imagen, como algunos árboles u objetos cilíndricos, que causarán problemas en la extracción del plano posterior. Al mismo tiempo, existe el problema de que habrá un radián en la intersección del plano y el plano. Este radián causará algunos problemas en la segmentación del plano. No puede indicar a qué plano pertenece la intersección, por lo que una operación de máscara es necesario para eliminar el área no plana. Entonces agregó esta red de máscaras.
Las principales operaciones de la red son las siguientes:
inserte la descripción de la imagen aquí
El documento menciona la versión extendida de ResNet-101-FPN. Se trata principalmente de Enconder todo tipo de información. Se utiliza para distinguir entre segmentación de regiones planas y no planas.
Su función de pérdida es la siguiente:
LS = − ( 1 − w ) ∑ i ∈ F logpi − w ∑ i ∈ B log ( 1 − pi ) (1) L_S = -(1-w)\sum_{i \in F } logp_i - w\sum_{i \in B}log(1-p_i) \tag{1}LS=( 1w )yo Finiciar sesión _ _yowyo Blogaritmo ( 1 _ _pagyo)( 1 )
Se utiliza para sobrevivir a máscaras planas y máscaras no planas, etc. La función de pérdida específica se discutirá más adelante.

Decodificador de incrustación de avión

Este módulo de red asigna píxeles a un espacio dimensional superior. Llamado el espacio de incrustación. Debido a que puede generar un espacio plano, se llama incrustaciones planas. Su función es que en este espacio se puedan distinguir los planos y también se puedan explicar las imágenes anteriores. Al mismo tiempo , se fusiona con la salida del Plane Seg anterior. A través de una red de mierda mala, el efecto de segmentación es mejor. El método principal es operar con los datos en el espacio de incrustación del plano, de modo que los píxeles en el mismo plano tengan distancias similares en el espacio de incrustación del plano y forzarlos a ser similares. Los píxeles en diferentes planos están más separados en el espacio de incrustación del plano. Los papeles se llaman empujones. Estas dos operaciones utilizan la agrupación. Su arquitectura principal es:
inserte la descripción de la imagen aquí
la incrustación del plano generada se enmascara primero con la máscara del primer paso, se elimina la parte no plana y luego se opera la incrustación del plano con la red de desplazamiento medio anterior. Deje que los píxeles en el mismo plano se compriman tanto como sea posible en el espacio de incrustación del plano y, al mismo tiempo, desensamble los píxeles de diferentes planos en el espacio de incrustación del plano tanto como sea posible, lo que resulta en la siguiente función de pérdida.
LE = L jalar + L empujar (2) L_E = L_{jalar}+L_{empujar} \tag{2}Lmi=Ljala _ _ _+Lempujar _ _ _( 2 )
Entre ellosLE L_ELmiIndica que los mismos planos de píxeles están juntos y los píxeles de diferentes planos no están juntos en el espacio de incrustación. La función Loss específica se diseñará más adelante.

Decodificador de parámetros de plano

De hecho, este paso es para calcular las coordenadas planas de cada píxel. En mi opinión, es para calcular la normal de cada píxel. Este artículo anterior también mencionó el uso de redes neuronales para calcular la normal de cada píxel en la imagen. Luego vuelve directamente a la normalidad de cada píxel. Pero este es ligeramente diferente, devuelve la profundidad de contención. Para la representación del plano se pueden utilizar tres parámetros. Suponemos que un punto en un plano es QQQ , su normal esn 0 n^0norte0 significa el vector normal original. Mediante cálculo, la representación del plano es:n TQ = 1 n^TQ=1norteT Q=1 . La derivación de esta fórmula es la siguiente:
Calcular el punto planoQ ( x 0 , y 0 , z 0 ) Q(x_0, y_0, z_0)q ( ​​x0,y0,z0) y el vector de puntos anteriorQ ( x 0 , x 1 , x 2 ) Q(x_0, x_1, x_2)q ( ​​x0,X1,X2) (que representa la distancia desde el origen hasta el punto más cercano en el plano, perpendicular a y sobre el plano). Se encuentra en el siguiente plano:
Q ∗ ( PT − QT ) = 0 = > Q ∗ PT = Q ∗ QTQ*(P^TQ^T)=0=>Q*P^T=Q*Q^Tq( PAGTqt )=0=>qPAGT=qqT
其中Q ∗ QTQ*Q^TqqT representa la distancia del vértice al origen, expresada comod 2 d^2d2 . Entonces obtenga la siguiente fórmula:
Q ∗ PT / d 2 = 1 Q*P^T/d^2=1qPAGt /d2=1
dondeQ/d Q/dQ / d es el valor normal del plano. Si lo expresamos de nuevo, cuando se expresa como un valor normal dividido porQQLa distancia del punto Q al origen. Entonces se puede expresar como:NP = 1 N^P=1nortePAG=1 . Podemos pasarNNN representa de forma única un plano. Esta N significanormal/d normal/dn o r m a l / d , el vector normal en el plano y la distancia desde el origen hasta el vértice más cercano en el plano. NNTres parámetros de N servirán.
Los tres parámetros del plano de regresión en el papel, su función de pérdida es la diferencia de distancia, que es la distancia del plano indicado anteriormente. Como se calcula el plano de cada píxel, se obtiene la siguiente pérdida
L pp = 1 N ∑ i = 1 N ∣ ∣ ni − ni ∗ ∣ ∣ (3) L_{pp}=\frac{1}{N}\sum_ {i =1}^N||n_i-n_i^*|| \tag{3}Lp p=norte1yo = 1nortenorteyonortei( 3 )
nin_inorteyoIndica los parámetros del plano predicho, ni ∗ n_i^*norteiIndica los parámetros del plano real del i-ésimo píxel.
Se encontró un buen parámetro de plano en el documento, que puede expresar bien el plano, y esta función se puede utilizar para la extracción de planos. Para extraer un plano adecuado, es necesario unificar el plano con el plano de división anterior. Lo que propone el documento es agrupar parámetros a nivel de píxel en parámetros a nivel de plano, es decir, agrupar parámetros a nivel de plano similares. Esto es muy importante, y cada parámetro de plano a nivel de píxel se puede fusionar. La arquitectura de red específica
inserte la descripción de la imagen aquí
es la siguiente :

Diseño de la función de pérdida

(¿Por qué se puede diseñar así)?
Plane Embed Decoder es directamente una red de segmentación, que distingue directamente cuáles son planos y cuáles no.
LS = − ( 1 − w ) ∑ yo ∈ F logpi − w ∑ yo ∈ segundo log ( 1 − pi ) (1) L_S = -(1-w)\sum_{i \in F}logp_i - w\sum_{ i \in B}log(1-p_i) \tag{1}LS=( 1w )yo Finiciar sesión _ _yowyo Blogaritmo ( 1 _ _pagyo)( 1 )
Este es un problema simple de etiquetar píxeles en dos dimensiones. También es un modelo equilibrado. dondepi p_ipagyoCerebro durmiente, píxel i pertenece al problema del primer plano, donde F , BF, BF ,B significa primer plano y fondo,www representa la relación de píxeles del primer plano y el fondo, etc., puede ver el papel para obtener más detalles.

La parte de Plane embed Decoder
también es el punto de innovación del documento, puede consultar este punto de innovación. De la siguiente manera:
la función de pérdida de su diseño de red es principalmente hacer que los píxeles del mismo plano estén lo más cerca posible en el espacio de incrustación del plano. Opere de la siguiente manera.
L jalar = 1 C ∑ c = 1 C 1 norte C ∑ yo = 1 norte cmax ( ∣ ∣ μ C − xi ∣ ∣ − δ v , 0 ) (3) L_{jalar} =\frac{1}{C} \sum_{c=1}^{C}\frac{1}{N_c}\sum_{i=1}^{N_c}max(||\mu_c-x_i||-\delta_v,0) \tag{3 }Ljala _ _ _=C1c = 1cnortedo1yo = 1nortedometro un X ( μdoXyodv,0 )( 3 )

L empujar = 1 C ( C − 1 ) ∑ C UN = 1 C ∑ C segundo = 1 C max ( − ∣ ∣ μ C UN − μ C segundo ∣ ∣ + δ re , 0 ) (4) L_{empujar} = \frac{1}{C(C-1)}\sum_{c_A=1}^{C}\sum_{c_B=1}^{C}max(-||\mu_{c_A}-\mu_{c_B }||+\delta_d,0) \etiqueta{4}Lempujar _ _ _=C ( C1 )1Cun= 1cCB= 1cmetro un X ( - μCunmetroCB+dre,0 )( 4 ) c UN ! =c segundo c_A != c_BCun!=CB
donde esta fórmula se puede ver de la siguiente manera: CCC representa el número de planos de verdad,N c N_cnortedoIndica que en el conjunto de clústeres ccel número de elementos de c . μ c UN , μ c segundo \mu_{c_A},\mu_{c_B}metroCun,metroCBRepresenta cada grupo c A , c B c_A,c_BCun,CBvalor medio Al mismo tiempo δ v , δ d \delta_v,\delta_ddv,dreIndica el margen de pérdida de pull and push. Esta es la idea de clustering. Puedes ver que su representación hace que el píxel se incruste en el píxel ( xi x_iXyo), en agrupamiento, en el mismo plano (lo que indica que su diferencia es menor que δ v \delta_vdv), la pérdida no tiene ningún elemento de penalización, si es superior a este umbral, significa que no está en el mismo plano, y comenzará la penalización. De esta forma, se pueden reunir incrustaciones de píxeles similares. Al mismo tiempo, cuanto más cerca estén los dos grupos, mayor será la penalización. Al mismo tiempo cuando son mayores que δ d \delta_ddreNo hay artículo de penalización. Esta es la idea de la agrupación. Esto permitirá que aquellos que están cerca uno del otro estén juntos. Debido a que deben agruparse como planos, utilice el algoritmo de agrupación de desplazamiento medio. Necesita calcular la distancia entre cada dos incrustaciones de píxeles de píxeles. La complejidad temporal de este algoritmo es demasiado alta, por lo que se necesita la idea de ancla. Configure los anclajes uno por uno y luego asigne cada píxel al anclaje más cercano. Entre ellos, k y d representan el número de anclajes en cada dimensión y la dimensión de empotramiento. De esta forma, mientras se genere kkLos anclajes K son suficientes, su dimensión es la dimensión de incrustación y su espacio de anclaje esKKK. _ Calcule el vector de incrustaciónxi x_iXyoy ancla aj a_jajEl potencial correspondiente se puede expresar como:
pi , j = 1 2 π exp ( − mij 2 2 b 2 ) (5) p_{i,j}=\frac{1}{\sqrt{2\pi}}exp { (-\frac{m_{ij}^2}{2b^2})} \tag{5}pagyo , j=14:00 _ 1e x pags ( -2b _2metroyo j2)( 5 )
dondebbb representa el ancho de banda en el clúster. mi , j = ∣ ∣ aj − xi ∣ ∣ m_{i,j}=||a_j-x_i||metroyo , j=unjXyo significaaj a_jajsuma xi x_iXyo的距离。
ajt = 1 Z jt ∑ i = 1 N pijt ∗ xi (6) a_j^t=\frac{1}{Z_j^t}\sum_{i=1}^Np_{ij}^t*x_i \ etiqueta{6}ajt=Zjt1yo = 1nortepagyo jtXyo( 6 )
Esto es después de la t-ésima iteración.
inserte la descripción de la imagen aquí
Puedes ver el cálculo finalde C C^~C racimos Finalmente, merge es el mapa de máscara dividido por S.

Decodificador de parámetros planos
Esta es la función de pérdida diseñada para calcular el módulo de parámetros planos de cada píxel. En el documento, se debe dar la expresión del plano, y la función de pérdida se da de la siguiente manera: L pp = 1 N ∑ i
= 1 norte ∣ ∣ ni − ni ∗ ∣ ∣ (3) L_{pp}=\frac{1}{N}\sum_{i=1}^N||n_i-n_i^*|| \tag{3}Lp p=norte1yo = 1nortenorteyonortei( 3 )
Hay una operación de grupo que combina los parámetros del plano a nivel de píxel con la máscara de segmento generada previamente. La expresión es la siguiente:
nj = 1 Z j ∑ i = 1 NS ij ∗ ni n_j=\frac{1}{Z_j}\sum_{i=1}^NS_{ij}*n_inortej=Zj1yo = 1norteSyo jnorteyo
Esta es una operación de agrupación promedio global, pero hay una operación de atención, por lo que diferentes planos ( S ij S_ijSyoj ) Filtrar los parámetros del plano a nivel de píxel. Puedes ver el funcionamiento de la máscara. Porque el documento también considera la información geométrica global, lo que significa que debe ser consistente con el mapa de profundidad original. Expresado como sigue:
LIP = 1 NC ∑ j = 1 C ∑ i = 1 NS ij ∗ ∣ ∣ nj TQ i − 1 ∣ ∣ L_IP=\frac{1}{NC}\sum_{j=1}^{C} \ sum_{i=1}^NS_{ij}*||n_j^TQ_i-1||LyoPAG=NC _1j = 1cyo = 1norteSyo jnortejTqyo1
se puede ver. Se espera que el valor de profundidad generado sea consistente con el valor de profundidad original.
El diseño de estas pérdidas se debe a que se han logrado los diversos problemas encontrados y necesito imitarlos para guiar mi propio diseño de red en el futuro y así sucesivamente.

Detalles del diseño de la red (nivel de código)

Se está complementando el seguimiento, y recientemente estoy mirando el código de planercnn, ejecutando y probando el código.

pensamientos

1) La idea de este documento es diferente a la de los documentos anteriores. Los documentos anteriores primero devuelven los parámetros del plano, o calculan la normal y la profundidad de la nube de puntos, luego calculan cada plano y luego refinan la segmentación. de cada plano, lo que asegura la parte plana. Este documento devuelve directamente los parámetros del plano, omitiendo la normal y la profundidad en el plano para calcular los parámetros del plano a nivel de píxel. Proporciona una bonita expresión plana. También se mencionó en el artículo anterior, pero este artículo expresa este plano directamente.

2) Este documento también agrega un concepto muy importante, que también es un concepto de modelo de incrustación propuesto en el documento más reciente, que puede facilitar la división de bordes. Este documento utiliza este truco para dividir mejor los planos de división instanciados. He leído pocos artículos sobre redes neuronales, no sé que se pueda aplicar esta técnica, solo conozco estos datos, pero no sé cómo usarlos, o es relativamente simple. En el futuro, debe leer activamente los documentos para comprender varias tecnologías para las mejoras posteriores de la red.

3) Todavía no se ha agregado información sobre puntos de esquina en el documento, y la expresión del plano se puede expresar en coordenadas polares.

4) Al mismo tiempo, la expresión CRF puede agregar la información de la escena. Es necesario observar cómo la arquitectura de la red utiliza esta información.

Supongo que te gusta

Origin blog.csdn.net/weixin_43851636/article/details/112912244
Recomendado
Clasificación