¿Es este un método correcto para la corrección de ruido de patrón fijo?


12

Actualmente estoy involucrado en un proyecto que involucra la programación de un sensor de imágenes. Nuestro sensor nos está dando ruido, por lo que queremos corregirlo. A otra persona en el proyecto se le ocurrió la idea de tomar una imagen "negra", es decir, ponerse la tapa del objetivo y tomar una imagen que debería ser completamente negra. (Obviamente, no se debe al ruido). En este momento, en las capturas posteriores, toma los valores de píxeles de la imagen negra y los resta de la imagen capturada regularmente.

La imagen se ve mejor y se elimina la mayor parte del ruido, sin embargo, no estoy convencido de que este sea el mejor enfoque para eliminar el ruido debido a lo siguiente:

El rango de la imagen fija es [-172 194] (366 valores), en comparación con el rango estándar de [0 255]. Cuando se vuelve a dibujar, vuelve a ser de [0 255], y se ve mejor, sin embargo, creo que esto es incorrecto.

Debo mencionar que la nueva imagen se toma con poca luz.

¿Es este método correcto para eliminar el ruido? ¿Por qué o por qué no?


Este método en particular (imagen "negra") es una forma de calibración del sensor, que no es DSP puro (también está relacionado con la física, por ejemplo, debe modelar defectos físicos). Por ejemplo, este enfoque particular intenta compensar los defectos de píxeles calientes.
MSalters

de acuerdo con @PaulR
Simon Bergot

puede verificar la solución en este enlace: ardueye.com/pmwiki.php?n=Main.StonymanLens
selma

Si tratamos con imágenes satelitales, ¿los métodos de cálculo serán los mismos? Me refiero a cómo calcular la imagen en blanco y negro para obtener los valores puros de compensación y ganancia. ¿Hay alguna descripción de código de cálculo FPN en Matlab? Gracias por cualquier consejo!

Respuestas:


12

La imagen negra es la suma de un patrón fijo y ruido oscuro (que probablemente sigue una distribución normal, ya que generalmente surge de las fluctuaciones actuales). Desea restar el patrón fijo, pero no el ruido oscuro: restar ruido aleatorio de una señal simplemente aumenta el ruido general y, por lo tanto, disminuye la calidad de la señal.

Para obtener una buena estimación del patrón fijo, debe capturar una cantidad considerable de cuadros (digamos 25, aunque 100 por supuesto le dejará solo la mitad del ruido) y promediarlos. Dado que el ruido oscuro (no debería estar) correlacionado en el tiempo, se promedia, de modo que te queda un patrón fijo de bajo ruido que puedes restar de tus imágenes futuras, y eso no aumentará el ruido en tu imagen.

Tenga en cuenta que el patrón fijo generalmente depende del tiempo de exposición (una cámara CCD, por ejemplo, puede acumular electrones durante las operaciones de cambio), por lo que deberá realizar una calibración para cada tiempo de exposición. Si varía los tiempos de exposición con frecuencia, y si es factible, puede configurar su experimento para capturar una serie de cuadros oscuros después de cada experimento, lo que significa que obtiene una calibración para cada experimento.

Si resta un marco oscuro de bajo ruido (es decir, promediado), obtendrá algunos valores negativos (porque el ruido oscuro que ocurre durante la adquisición de la imagen puede tener valores negativos), pero el rango de su imagen no debería aumentar significativamente. Si lo hace, es una señal de que no ha promediado suficientes cuadros oscuros o que el patrón fijo ha cambiado desde que usa un tiempo de exposición diferente.


1
Totalmente segundo @Jonas. Si ahora desea reducir el ruido oscuro además de eliminar el patrón constante, la única solución es enfriar el sensor.
Jean-Yves

1
Esto supone que el ruido de patrón fijo es solo "compensaciones". Muchos sensores con FPN también tienen variaciones de ganancia en cada píxel, por lo que cuando se exponen a una escena de "blanco puro", seguirá habiendo FPN incluso después de eliminar los desplazamientos medidos en la oscuridad ...
Martin Thompson

@MartinThompson: Es un buen punto, aunque en la práctica puede ser muy difícil garantizar una escena de "blanco puro". Es por eso que nunca uso ninguna ganancia si puedo evitarlo :).
Jonas

@ Martin Martin Thompson, ¿cuál es la mejor práctica para corregir los parámetros de ganancia? No puedo pensar en una manera fácil de hacer que todo esté blanco con una duración de exposición dada.
Ktuncer

1
@Ktuncer: No creo que tenga que hacerlo blanco puro; sin embargo, cuanto más brillante pueda hacerlo, mejor podrá corregirlo. Siempre y cuando sea un brillo uniforme en toda la escena, puede usar el valor de píxel promedio como el "objetivo" para corregirlo
Martin Thompson

7

Este enfoque es válido y, de hecho, se utiliza en algunas cámaras de alta gama: el sensor primero toma una foto con el obturador cerrado y la resta a la foto "verdadera". Esto tiene dos ventajas:

  • corrige el ruido del patrón fijo
  • hace que la imagen sea lineal

Este método puede dar diferentes resultados para diferentes tiempos de exposición.

El ruido fotónico se deja intacto.


4

Creo que esto depende del sensor que estés usando.

Puede tomar una serie de (por ejemplo, 10000) imágenes con la tapa del objetivo puesta y comparar la media / desviación estándar para cada píxel. Si es posible, podría hacer lo mismo para una imagen uniforme "brillante" (sin sobreexposición, solo brillo uniforme).

Si hay diferencias significativas entre las "medias oscuras", es una buena idea restar la media oscura para cada píxel. Si hay diferencias significativas entre (media brillante - media oscura) para cada píxel, la división entre esa "imagen blanca media" también podría ser una mejora.

Pero realmente tienes que hacer estas estadísticas para descubrir qué tiene sentido.


3

Por lo general, los valores negativos deben truncarse a cero cuando resta el marco oscuro.

Me sorprende que la resta de marco oscuro te dé valores de -172. Esto significa que:

  • Su nivel de ruido es alto, al menos 172 en alguna parte
  • Su ruido varía mucho de cuadro a cuadro. En este caso, la resta de marco oscuro no es muy efectiva.

¿Puedes publicar imágenes de un marco normal, un marco oscuro y luego la versión restada?


La cámara puede intentar corregir las condiciones de poca luz aumentando el tiempo de captura. Como resultado, los píxeles calientes acumularán más ruido. Además, la lectura del sensor puede ser no lineal, en cuyo caso no puede restarlos en absoluto.
MSalters

negative values should be truncated to zero when you subtract the dark frame. No debe hacer eso, ya que le impedirá hacer un buen trabajo para eliminar el ruido de las áreas oscuras de su imagen. Es mejor mantener el ruido "natural" antes de intentar realmente eliminarlo.
Simon Bergot

Este fue mi problema con el método, si no trunca los valores a cero, entonces queda un rango más grande de lo que debería producir una imagen, por lo que cuando cambia la escala, aparentemente pasa por alto los datos, en comparación con los valores truncados que también parecen que impide obtener una corrección adecuada
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.