[카메라·영상]

defect pixel correction(DPC) 란 무엇인가

Neo Park 2019. 8. 18. 12:05

출처 : https://chanhyeok.tistory.com/26

DPC란?

Defective Pixel Correction의 줄임말.
Defective Pixel == 불량화소

Defect Pixel 발생 원인

  • 공정 검사에서 발견하지 못하였을 경우
  • 충격, 온도등 외부 요인에 의해 이미지 센서가 손상되었을 경우

Defect Pixel의 종류

  • Hot Pixel
    • 계속 켜져있는 픽셀

      hot_pixel_img

  • Dead Pixel
    • 계속 꺼져있는 픽셀

      dead_pixel_img

  • Stuck Pixel
    • 하나 이상의 하부 픽셀이 망가진 픽셀

      hot_pixel_img

이미지 출처
https://www.premiumbeat.com/blog/what-is-a-hot-pixel-and-how-can-you-remove-one/

DPC

다음과 같은 순서로 진행된다.

  1. Defect Pixel 검출
    • Threshold로 판별
    • 인접 값과 비교
  1. Defect Pixel 처리
    • Average Filtering
    • Median Filtering

Defect Pixel 검출

다음과 같은 BGGR 패턴의 픽셀을 가정하여 보자.



이러한 픽셀들이 모여 다음과 같은 구조를 이룰 것이다. 




이 때, Defect Pixel 종류에 따라 상황을 분류하면 다음과 같다.

  • Hot Pixel

    한 픽셀의 값이 계속해서 최대일 경우를 검출한다.

  • Dead Pixel

     

    한 픽셀의 R, G1, G2, B값이 모두 0일 경우를 검출한다.

  • Stuck Pixel

한 픽셀의 R, G1, G2, B값 중 하나 이상의 픽셀이 계속해서 0일 경우를 검출한다.

사실 해당 픽셀이 Defect Pixel인지 여부는 이전과 이후 프레임을 비교해야 확실해 질테지만, 자연적인 영상에서 어떤 하부 픽셀의 전체값이 0이거나 255인 경우는 찾아보기 힘들다.
따라서 검출 시에 해당 프레임에서만 보고 실시간으로 판별해도 큰 차이는 없을 것 같다. 하지만 정확한 결과를 얻는 것은 아니므로, 정확성이 중요하다면 인접 픽셀과 비교하여 판별하는 방법도 있겠다.
예를 들어,



한 픽셀의 B 화소가 정상인지 판별하기 위해 인접한 나머지 8 픽셀의 B 화소 값을 참조할 수 있겠다.
Min Max Filtering으로 사잇값인지 ,혹은 평균값을 구하여 ± Threshold 사잇값인지를 계산하고 Defect하다고 판별하는 방법을 쓸 수 있을 것같다.

Defect Pixel 처리

검출한 Defect Pixel을 처리를 통해 복구하는 것이 목적이다. Average Filter를 사용하여 인근 색상 화소들의 평균값을 넣어주거나, 혹은 Medain Filter로 중간값을 넣어주는 것을 생각할 수 있겠다.