'denoising'에 해당되는 글 1건

  1. 2013.07.05 Image stacking과 cortex cam
IT2013. 7. 5. 07:15

Image stacking은 영상의 잡음을 가장 효과적으로 제거할 수 있는 기술입니다.

여러 장의 영상을 합치면 (예를 들어, 100여장) 영상의 잡음은 완벽하게 제거됩니다.

(영상의 잡음은 거의 대부분 temporal noise이기 때문에)

 

1. Image Stacking과 denoising (noise reduction) 원리

아래에 그 원리와 이슈가 잘 설명돼 있습니다.

http://www.cambridgeincolour.com/tutorials/image-averaging-noise.htm

Original Averaging:
4 Images
Neat Image Neat Image
+ Averaging

image stacking이 4장을 합친 결과밖에 없지만, image structure를 보존하는 데는 neat image 같은 noise reduction software를 사용하는 것보다 더 뛰어난 걸 알수 있습니다.

여기서, image stacking은 temporal denoising, neat image는 spatial(공간적) denoising을 각각 수행하는데,

그 둘을 합치면(neat image + averaging) 결과는 극대화되는 걸 알수 있습니다.

 

2. Image Stacking의 이슈

하지만, 어디까지나 화면의 움직임이 없다는 가정하에서 가능한 일입니다.

화면에 움직이는 물체가 있다면 그 물체는 흐려질것이고, 만약 카메라 자체가 흔들린다면 화면이 전부 흐려질것입니다.

카메라 노출을 길게 하면 나타나는 현상과 동일합니다.

이를 해결하기 위해서 짧게 찍은 영상 간에 발생하는 움직임을 보상(compensation)하는 방법이 있습니다.

물론, 모든 움직임을 완벽하게 보상할 수는 없습니다.

Occlusion(물체 가림) 현상 등에 의하여 복구 불가능한 영상정보 손실이 발생하기 때문입니다.

 

또 한가지 이슈는, image stacking은 어디까지나 denoising 효과밖에 없다는 것입니다.

짧게 노출된 영상은 잡음 뿐만 아니라 색상, dynamic range 등 화질 특성에 많은 한계를 가지고 있는데,

제한된 색상, dynamic range를 풀어나가기 위해서는 또 다른 처리가 필요합니다.

결국, 아무리 Mobile 카메라에서 image stacking을 통해 수백장의 영상을 합친다 하더라도 DSLR 수준의 화질을 원하는 건 안된다는 것입니다.

 

3. Cortex Cam

제가 항상 애용하는 cortex cam이라는 앱이 있습니다.

위와 같이 image stacking 방법을 그대로 이용한 것으로 보입니다.

실내에서 사용하기 적당한 어플입니다.

실제 사진을 여러 장 찍는 것은 아니고, video모드에서 image sequence를 읽어들여 image stacking하는 것입니다.

video 모드에서 촬영하기 때문에 FOV(화각)가 좁아지는 단점이 있습니다.

 아까 말씀드린 것 처럼 움직이는 물체를 찍으면 흐려보이는 효과가 발생합니다.

그리고 촬영시에도 핸드폰을 움직이면 안됩니다.

다음은 핸드폰을 최대한 고정하고 찍은 사진입니다.

 비교적 정상적으로 사진이 나오는데 반해,

아래는 사진을 조금 흔들면서 찍은 사진입니다.

이렇게 화면 전체가 흐려지는 효과가 발생합니다.

(위 사진의 radial blur가 맘에 드는 분도 계실듯 합니다만...)

 

기회가 되면 앞으로 움직임 보상 방안에 대해 살펴보기로 하겠습니다.

 

 

Posted by JLog