편광카메라 이미지 분석
편광카메라 이미지 분석 시작
편광 카메라를 분석하는 stokes parameter를 이해하는것부터 시작 (아래 파일 참고)
https://en.wikipedia.org/wiki/Stokes_parameters
Stokes parameters - Wikipedia
From Wikipedia, the free encyclopedia Jump to navigation Jump to search Set of values that describe the polarization state of electromagnetic radiation The Stokes I, Q, U and V parameters The Stokes parameters are a set of values that describe the polariza
en.wikipedia.org
P_(x˚) - 각도 x로 편광된 성분
S_0 - 전체 광량
S_1,S_2 - 편광의 정도
실험실환경 내 편광카메라 촬영
실험실 환경에서, 좌측부터 흰색 아크릴, 투명 아크릴, 검은색 아크릴을 놔두고, 전방향에서 255의 밝기를 가하여 촬영한 사진.
각도별로 분해해서 비교해본 결과, 각 객체마다 반사되는 경향에 차이가 있다
image90의 경우, 90도 편광자를 통과한 이미지인데, 바닥의 무늬가 반사되어 보인다. 반면 image0의 경우 바닥의 무늬가 거의 보이지 않는다. image45, 135는 그 중간이라고 할 수 있겠다.
DOLP와 AOLP 구현
DoLP(Degree of Linear Polarization) =√(S_1^2+S_2^2 )/S_0 = 편광 성분의 크기 (선편광도)
AoLP(Angle of Linear Polarization) =〖tan^(-1)〗〖S_2/S_1 〗 = 편광된 각도(선편광각)
DoLP, AoLP는 각각 stokes parameter를 활용한 편광이미지 프로세싱 방법론이다. 이를 구하기 위해 S_0, S_1, S_2를 각각 구해준다
# S_0의 경우 보다 정확하게 구현하기 위해 모든 각도의 값을 다 더한 뒤 2로 나누어줌
Szero_img_[i, j] = (float(polar_image[i * 2, j * 2]) + float(polar_image[i * 2 + 1, j * 2 + 1]) +
float(polar_image[i * 2 + 1, j * 2]) + float(polar_image[i * 2 , j * 2 + 1]))/2
Sone_img_[i, j] = float(polar_image[i * 2 + 1, j * 2 + 1]) - float(polar_image[i * 2, j * 2])
Stwo_img_[i, j] = float(polar_image[i * 2 + 1, j * 2]) - float(polar_image[i * 2, j * 2 + 1])
이를 바탕으로, DoLP와 AoLP 이미지를 만들어준다
# Degree of linear Polarize, 편광의 정도
def DOLP(polar_image):
Szero_img_ = S_0_img(polar_image)
Sone_img_ = S_1_img(polar_image)
Stwo_img_ = S_2_img(polar_image)
DOLP_img_ = np.sqrt(Sone_img_*Sone_img_ + Stwo_img_*Stwo_img_) / Szero_img_
return DOLP_img_
# Angle of linear Polarize, 편광의 각도
def AOLP(polar_image):
Sone_img_ = S_1_img(polar_image)
Stwo_img_ = S_2_img(polar_image)
AOLP_img_ = np.arctan(Stwo_img_ / Sone_img_)
return AOLP_img_
이미지 프로세싱 아이디어
DoLP이미지는 편광의 정도, AoLP는 편광의 각도를 의미한다. 따라서 DoLP는 흑백이미지로 강도를 표현할 수 있고, AoLP의 경우 color map을 구성하여 360의 편광 방향을 반영한다.
이 두가지 이미지를 합쳐서, hue는 AOLP의 값으로, saturation은 DOLP의 값으로, brightness는 255로 고정하여 HSV 형태로 이미지를 표현할 수 있게 만들어 보았다