일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 논문리뷰
- Python
- 삼쩜삼
- point grey
- LIDAR
- 3d object recognition
- AOLP
- miniRT
- pseudo LiDAR
- 머신비전
- 카메라
- 라이다
- 5월종합소득세
- superresolution
- ft_server
- FLIR
- ouster
- 동시취득
- intrinsic
- 코멘토
- extrinsic
- 코멘토 후기
- 42seoul
- spinnaker
- 의사 라이다
- 직무부트캠프
- stereo image
- 객체인식
- 42seoul #printf
- 편광카메라
- Today
- Total
문무겸비
편광카메라 이미지 분석 본문
편광카메라 이미지 분석 시작
편광 카메라를 분석하는 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 형태로 이미지를 표현할 수 있게 만들어 보았다
'개인공부' 카테고리의 다른 글
FLIR+LUCID 카메라 취득프로그램 개발기 - with Visual Studio (0) | 2023.02.24 |
---|---|
PCL (point cloud library) 뜯어보기 (0) | 2023.01.11 |
super reolution 프로젝트 따라하기, Simulation-based Lidar Super-resolution for Ground Vehicles 리뷰 (0) | 2022.05.31 |
PCD 파일 data type converter (0) | 2021.09.08 |
velodyne LiDAR puck 패킷 분석 및 viewer 프로그래밍 (2) | 2021.09.03 |