DN-DETR(CVPR 2022)

DN-DETR(CVPR 2022)

Acelere la capacitación DETR presentando Query DeNoising

La inestabilidad en el emparejamiento húngaro conduce a objetivos de optimización inconsistentes en la fase inicial de entrenamiento

Para la misma imagen, la consulta coincidirá con diferentes objetos en diferentes momentos.

DN-DETR agrega ruido en GT real: xywh, etiqueta

La tecnología de eliminación de ruido se utiliza para acelerar el entrenamiento de la red, y el entrenamiento de detr se considera dos procesos:

  1. aprendiendo buenas anclas
  2. aprender compensaciones relativas

Modelo

DN: eliminación de ruido

La eliminación de ruido es solo un método de entrenamiento, no cambiará la estructura del modelo , solo realizará algunos cambios durante la entrada.

La incrustación del decodificador se representa como una etiqueta con ruido agregado y el ancla se representa como un bbox con ruido agregado.

Para la parte coincidente original de DETR, podemos agregar una etiqueta [Desconocido] para distinguirla, y la parte ancla sigue siendo la misma que DETR.

imagen

El indicador identifica si la incrustación está en el 300quey original o si se agregó un GT ruidoso.

Anclajes que se pueden aprender: para 300query normal, el parámetro de incrustación se pasa aquí. Si elimina el ruido de GT, es el valor de GT con ruido.
o = ( D ) ( q , F ∣ A ) ( cruz − atención − DAB − DETR ) o=(\mathbf{D})(\mathbf{q}, F \mid A)(atención cruzada-DAB-DETR )oh=( D ) ( q ,FA ) cruzatención _ _ _ _ _ _ _D A BD ETR
o: salida del decodificador, D: decodificador, q: consulta, F: codificador 输出, A: máscara de atención

La consulta del decodificador tiene dos partes. Una es la parte correspondiente. La entrada a esta parte son anclajes que se pueden aprender, que se procesan de la misma manera que DETR. Es decir, la parte coincidente adopta una coincidencia de gráficos bipartito y aprende a aproximar pares de caja-etiqueta GT con salidas de decodificador coincidentes. La otra parte es la parte de eliminación de ruido. La entrada a esta parte son pares de etiquetas y cajas GT con ruido, denominados objetos GT en el resto del artículo. La salida de la parte de eliminación de ruido tiene como objetivo reconstruir el objeto GT
o = D ( q , Q , F ∣ A ) \mathbf{o}=D(\mathbf{q}, \mathbf{Q}, F \mid A)oh=re ( q ,P ,FA )
o: salida de decodificador, D: decodificador, q: GT con ruido, Q: 300query, F: salida de codificador, A: máscara de atención

Eliminación de ruido

Observe que la eliminación de ruido solo se considera en el entrenamiento ; durante la inferencia, la parte que elimina el ruido se elimina, dejando solo la parte coincidente.

Tipo de ruido:

  1. ¿Como unirse?

  2. ¿Cuándo cuenta?

  3. Para cada imagen, recopilamos todos los objetos GT y agregamos ruidos aleatorios tanto a sus cuadros delimitadores como a sus etiquetas de clase.

  4. **ruido de caja:** desplazamiento de coordenadas centrales (que no excede el rango del GT original), escalado de coordenadas de alto y ancho (puede que no se escale sincrónicamente)

    Pérdida: pérdida L1, pérdida GIOU (el marco de eliminación de ruido agregado y las 300 consultas no necesitan coincidencia húngara para calcular la pérdida. Se conoce el GT correspondiente al yacimiento de eliminación de ruido (?))

  5. **ruido de etiqueta:** cambios aleatorios en las etiquetas,

    Pérdida: pérdida focal

Máscara de atención

Después de agregar Denoising, la entrada del modelo queda como se muestra a continuación. A la parte coincidente del DETR original le asignamos el nombre de Parte coincidente y a la parte de eliminación de ruido recién agregada la parte de eliminación de ruido. Cabe señalar que la parte de eliminación de ruido solo necesita agregarse durante el entrenamiento. La parte de eliminación de ruido se eliminará directamente durante la inferencia, al igual que el modelo original. Por lo tanto, la cantidad de cálculo no aumentará durante la inferencia, y solo una pequeña cantidad Es necesario agregar una gran cantidad de datos durante el entrenamiento.

imagen

Por lo tanto, cada consulta en la parte de eliminación de ruido se puede representar como qk = δ ( tm ) qk = δ(t_m)q k=re ( tm) donde tm esm − th m-ésimometrot h GT objeto
q = { g 0 , g 1 , . . . . , g P − 1 } donde gp es el p-ésimo grupo de eliminación de ruido gp = { q 0 p , q 1 p , . . . . , q M − 1 p } M = suma de GT en bs\begin{aligned}\mathbf{q}&=\{\mathbf{g_0},\mathbf{g_1},....,\mathbf{g_{P-1} }\ } donde g_p es el p-ésimo grupo de eliminación de ruido \\\mathbf{g_p}&=\begin{Bmatrix}q_0^p,q_1^p,....,q_{M-1}^p\end{ Bmatrix}M =Suma de GT en bs\end{aligned}qgramop={ gramo0,gramo1,.... ,gramopag - 1} donde g _ _pes el grupo p d e n o i s en gg ro u p={ q0p,q1p,.... ,qMETRO - 1p}METRO=La suma de GT en b s

aij = { 1 , si j < P × M y ⌊ i M ⌋ ≠ ⌊ j M ⌋ ; 1, si j < P × M y i ≥ P × M; 0, en caso contrario. \left.a_{ij}=\left\{\begin{array}{ll}1,&\text{if }j<P\times M\text{ y }\lfloor\frac{i}{M}\ rfloor\neq\lfloor\frac{j}{M}\rfloor;\\1,&\text{if }j<P\times M\text{ y }i\ge P\times M;\\0,& \text{de lo contrario.}\end{array}\right.\right.ayo= 1 ,1 ,0 ,si  j<PAG×M  y METROyo=METROj;si  j<PAG×m  y  yoPAG×M ;de lo contrario .

Además de agregar ruido, debemos agregar una máscara de atención adicional a la atención propia del decodificador para evitar la fuga de información. Debido a que la parte que elimina el ruido contiene información sobre la caja real y la etiqueta real, dejar que la parte correspondiente vea directamente la parte que elimina el ruido provocará una fuga de información. Por lo tanto, la parte coincidente no puede ver la parte que elimina el ruido durante el entrenamiento y se entrena como el modelo original. El hecho de que vea la parte adicional de eliminación de ruido o no vea la parte coincidente tiene poco impacto en los resultados, porque la parte de eliminación de ruido contiene las cajas y etiquetas más reales.

El lado izquierdo se utiliza para la reconstrucción y las 300 consultas del lado derecho se utilizan para la comparación húngara.

Fuga de información:

1.parte coincidente para ver el grupo

2.Entre grupos

¿Por qué la máscara de atención no impide el grupo y el emparejamiento?

Incrustación de etiquetas (incrustación de decodificador)

Poco tiene que ver con la etiqueta, la diferencia está en el nombre.

La incrustación del decodificador se especifica como incrustación de etiquetas en el modelo para admitir la eliminación de ruido de cajas y etiquetas.
También se agrega un indicador a la incrustación de etiquetas (la última dimensión del tensor más la identidad). Este indicador es 1 si una consulta pertenece a la parte de eliminación de ruido, 0 en caso contrario.

experimento de ablación

Sin máscara de atención, el resultado es muy bajo.imagen

imagen

Supongo que te gusta

Origin blog.csdn.net/qq_52038588/article/details/133223507
Recomendado
Clasificación