FPN 보정
공장에서 보정되지 않은 IDS 산업용 카메라의 온 반도체 파이선 센서를 어떻게 보정할 수 있나요? 이러한 센서들 중 일부에는 이미지에 수직선을 초래하는 고정 패턴 노이즈 (FPN)가 있습니다. 이러한 수직선이 보이면, 카메라를 보정해야 합니다.
PYTHON 센서로 uEye 카메라를 보정하는 방법
이 어플리케이션 노트는 다음의 카메라 모델에 영향을 미칩니다: UI-3130CP Rev.2, UI-3140CP Rev. 2, UI-3160CP Rev. 2, 및 UI-3180CP Rev.2.
어떤 카메라 모델들이 영향을 받나요?
표에 열거된 것보다 낮은 일련 번호를 가지는 모델들만 영향을 받는 것에 주목하세요.
모델 |
최대 일련 번호 (흑백) |
최대 일련 번호 (컬러) |
---|---|---|
UI-3130CP Rev. 2 |
4103039876 |
4103029919 |
UI-3140CP Rev. 2 |
4102866773 |
4103078619 |
UI-3160CP Rev. 2 |
4103099008 |
4103089849 |
UI-3180CP Rev. 2 |
4103079023 |
4103091599 |
스스로 카메라를 직접 보정할 수 있으면, IDS 카메라 매니저(IDS Camera Manager)에서도 확인할 수 있습니다.
1. IDS 카메라 매니저를 여세요.
2. 카메라를 선택하세요.
3. “카메라 정보”를 클릭하세요.
카메라가 “FPN 보정” 아래에 “보정되지 않음” 또는 “보정됨”을 표시하면, 보정할 수 있습니다. “FPN 보정” 아래에 “공장 보정됨”이 표시되거나 “FPN 보정” 영역이 보이지 않으면, 카메라 모델이 영향을 받지 않습니다.
왜 카메라를 보정해야 할까요?
일부 센서들은, 이미지 밝기를 증가시키면 보통 더 눈에 띄는, 고정 패턴 노이즈(FPN, fixed-pattern noise)를 가집니다. 이는 이미지에서 가시적인 수직선을 유발합니다. 이러한 수직선이 보이면, 카메라를 보정해야 합니다.
사전 설정
첫째, USB 3 uEye CP Rev. 2 모델들의 내부 이미지 메모리를 활성화해야 합니다. IDS Software Suite 4.81부터는, 내부 이미지 메모리가 기본적으로 활성화되어 있습니다. IDS 카메라 매니저의 "추가 기능들"에서 내부 이미지 메모리를 활성화하세요(https://en.ids-imaging.com/manuals-ueye-software.html의 "uEye 매뉴얼"을 참조하세요).
둘째, 조명을 설정해야 합니다.
- 카메라는 5ms의 노출 시간에서 흰색(white)에 거의 도달해야 합니다.
- 조명은 가능한 한 균일해야 합니다 (예를 들어, 일부 거리에서 일부 구조가 없는 표면에 카메라를 조준하세요. 가능하면, EMVA 1288 테스트 장비, 또는 유사한 장비도 사용될 수 있습니다).
설정 확인
1. uEye Cockpit (또는 리눅스에서 uEye Demo)에서 카메라를 여세요.
2. 카메라를 초기 값들로 리셋하세요(“uEye > 초기로 리셋”의 메뉴 항목).
3. 노출 시간을 5ms로 설정하세요(“속성 > 카메라 > 노출 시간”을 참조하세요).
4. 해당하는 슬라이더들을 맨 왼쪽 위치로 이동시켜 모든 게인들(마스터 및 RGB 게인들)을 1.0의 계수(factor)로 설정합니다(“속성 > 이미지 > 마스터 게인” 및 “속성 > 이미지 > 컬러 게인”을 참조하세요). 따라서 게인이 비활성화됩니다.
5. 감마를 비활성화하세요(“속성 > 이미지 > 감마”를 참조하세요).
6. 컬러 모델의 경우: 컬러 보정을 비활성화합니다(“속성 > 컬러 탭 > IR 컬러 필터 보정 매트릭스”를 참조하세요).
7. 히스토그램 (“보기 > 히스토그램”의 메뉴 항목)을 확인하고 “로가리듬(Logarithmic)” 옵션을 확인하여 수직 축의 로그 스케일링을 활성화합니다. 컬러 모델들의 경우, 녹색 채널만 관련됩니다.
종-모양 피크(컬러 카메라들의 경우: 녹색 채널에 해당하는 피크만)는 히스토그램의 가장 오른쪽에 있어야 하며, 완전하게 보여야 합니다(즉, 오른쪽 꼬리가 오려지거나/잘리지 않음).
피크는 카메라의 균일한 조명을 가능한 나타내는 한, 대칭적이고 좁아야 합니다.
8. 위에서 언급한 속성이 히스토그램에 설정될 때까지, 입사광의 밝기와 조명 방식을 변경하세요.
9. LUT을 로드하세요(부록 참조: FPN_lut.xml). 이미지를 확인하세요.
LUT를 활성화하면, 이미지의 물결 모양 패턴은 조명이 균일하지 않은 것을 나타낼 수 있습니다. 이상적으로, 이미지는 아무 반복되는 패턴도 표시하지 않습니다. 광원에 대한 카메라의 위치를 uEye Cockpit의 표시가
(왼쪽) 위 예시와 부합할 때까지 변화시키세요. uEye Cockpit에 여전히 물결 모양 패턴이 보이면, 카메라를 회전하여
줄무늬들이 수평으로 이어지도록 하세요. 줄무늬들의 대각선이나 세로 방향은 피하세요. 센서의 기존 고정 패턴 노이즈가 LUT-가능 이미지에서 상당히 두드러질 수 있습니다. 이 줄무늬들은 항상 위에서 아래로 이어지며 제자리에 고정됩니다. 불균일한 조명으로 인한 물결 모양 패턴과 혼동하지 마세요.
10. uEye Cockpit에서, 카메라를 닫으세요.
11. 카메라의 위치와 조명 상황을 변경하지 마세요.
보정 실행
카메라가 보정될 수 있는 지 확인하고 올바른 조명 상황을 설정하였으면, 이제 카메라를 보정할 준비가 되었습니다.
1. IDS 카메라 매니저를 여세요.
2. “카메라 정보”를 클릭하세요.
3. “보정 실행”을 클릭하세요. 하드웨어에 따라, FPN 보정에 몇 분이 걸리며 그 동안에 CPU 부하가 따라서 증가할 수 있다는 메시지가 표시됩니다.
가능한 오류들
- 조명 오류 (대화상자) --> 센서가 너무 많은/적은 빛을 얻거나 또는 조명이 너무 불균일합니다.
- 기타 오류 (대화상자) --> 이 오류가 반복적으로 발생하면, IDS 머신 비전 컨설팅으로 연락하세요.
부록: FPN_lut.xml
<?xml version="1.0" encoding="utf-8"?>
<CameraLUT>
<NumberOfEntries>64</NumberOfEntries>
<ChannelsEqual>1</ChannelsEqual>
<All>
<Value_0>0</Value_0>
<Value_1>1</Value_1>
<Value_2>1</Value_2>
<Value_3>0</Value_3>
<Value_4>0</Value_4>
<Value_5>1</Value_5>
<Value_6>1</Value_6>
<Value_7>0</Value_7>
<Value_8>0</Value_8>
<Value_9>1</Value_9>
<Value_10>1</Value_10>
<Value_11>0</Value_11>
<Value_12>0</Value_12>
<Value_13>1</Value_13>
<Value_14>1</Value_14>
<Value_15>0</Value_15>
<Value_16>0</Value_16>
<Value_17>1</Value_17>
<Value_18>1</Value_18>
<Value_19>0</Value_19>
<Value_20>0</Value_20>
<Value_21>1</Value_21>
<Value_22>1</Value_22>
<Value_23>0</Value_23>
<Value_24>0</Value_24>
<Value_25>1</Value_25>
<Value_26>1</Value_26>
<Value_27>0</Value_27>
<Value_28>0</Value_28>
<Value_29>1</Value_29>
<Value_30>1</Value_30>
<Value_31>0</Value_31>
<Value_32>0</Value_32>
<Value_33>1</Value_33>
<Value_34>1</Value_34>
<Value_35>0</Value_35>
<Value_36>0</Value_36>
<Value_37>1</Value_37>
<Value_38>1</Value_38>
<Value_39>0</Value_39>
<Value_40>0</Value_40>
<Value_41>1</Value_41>
<Value_42>1</Value_42>
<Value_43>0</Value_43>
<Value_44>0</Value_44>
<Value_45>1</Value_45>
<Value_46>1</Value_46>
<Value_47>0</Value_47>
<Value_48>0</Value_48>
<Value_49>1</Value_49>
<Value_50>1</Value_50>
<Value_51>0</Value_51>
<Value_52>0</Value_52>
<Value_53>1</Value_53>
<Value_54>1</Value_54>
<Value_55>0</Value_55>
<Value_56>0</Value_56>
<Value_57>1</Value_57>
<Value_58>1</Value_58>
<Value_59>0</Value_59>
<Value_60>0</Value_60>
<Value_61>1</Value_61>
<Value_62>1</Value_62>
<Value_63>0</Value_63>
</All>
</CameraLUT>