Simatest - 카메라/ISP 시뮬레이터

지침 및 참고 자료

관련 웹페이지

Simatest: 개요 – Simatest에 대한 간략한 소개입니다. 처음 시작하는 분들께 추천합니다.

Simatest 예시 – Simatest를 활용하는 방법을 보여주는 예시입니다. 시뮬레이션과 측정값을 비교합니다. 이 긴 페이지보다 훨씬 읽기 쉽습니다.

이미지 센서 노이즈 - 측정 및 모델링 - 이미지 센서 동적 범위 및 Simatest 의 RAW 파일 사용

색상/톤 인터랙티브 사용 – 색상 및 회색조 테스트 차트의 대화형 분석

색상/톤 및 eSFR ISO 노이즈 측정 – RAW 이미지에서 이미지 센서 노이즈를 측정하는 방법을 설명합니다.

동적 범위 – 이를 계산하는 Imatest 모듈 링크를 포함한 일반적인 소개

사진 이미지의 노이즈 – 기초 소개

색상 보정 행렬(CCM)은 이미지 색상(대부분 RAW 이미지에서)을 보정하기 위한 행렬(일반적으로 3×3)을 계산합니다.

이미지 정보 측정 지표 – 섀넌 정보 이론에 기반한 새로운 측정 방식으로, 머신 비전 시스템 성능을 예측하는 데 있어 탁월한 성능을 보여줍니다.

Simatest 는 Imatest 25.1의 일부이며 Imatest 파일럿 프로그램을 통해 이용할 수 있습니다.

소개

 
Simatest를 처음 사용하시는 분이라면Simatest 개요를 참조 하시기를 권장합니다.
이 페이지( 지침 및 참고 자료 )보다 더 간결하고 읽기 쉬운 자료입니다.
두 페이지가 상당한 내용을 공유하고 있음에도 불구하고.

Simatest는 Imatest에서 2025년 초에 출시한 카메라 및 ISP(이미지 신호 처리) 시뮬레이터로, 렌즈 열화, 이미지 센서 노이즈, ISP 파이프라인 등의 영향을 포함한 완벽한 카메라 시스템을 시뮬레이션하여 모든 중요한 이미지 품질 요소(KPI)를 예측할 수 있도록 합니다. 또한, 임의의 순서로 적용할 수 있는 다양한 ISP 처리 블록을 제공합니다.

 
Simatest는  카메라 시스템 및 이미지 처리 파이프라인 개발 속도를 높이기 위해 개발되었습니다.
탐색을 용이하게 하기 위해
렌즈, 이미지 센서 및 이미지 처리가 카메라 시스템 성능에 미치는 영향.

Simatest의 입력은 다음과 같습니다.

이미지 센서 노이즈 는 카메라의 물리적 특성 중 가장 중요한 요소일 것입니다. Simatest의 이미지 센서 노이즈 모델 은 Color/Tone 에서 분석한 회색조 동적 범위 차트의 원시 이미지 측정값을 기반으로 합니다. 또는 EMVA 1288 결과 에서도 확인할 수 있습니다. 이 방법은 매우 정확하며, 저조도 환경을 포함한 광범위한 ISP 설계 및 환경에서 이미지 시스템 성능을 계산할 수 있도록 해줍니다. 성능은 전자 단위로 측정된 센서 및 노이즈 신호에서 도출되므로 방사 측정(센서에 입사되는 정확한 광 에너지)은 필요 하지 않지만 , 가까운 시일 내에 옵션으로 추가할 계획입니다. 이는 Simatest의 작동을 간소화합니다.

이미지 센서 노이즈 모델은 Simatest 개요 하단의 부록 에 요약되어 있으며, 이미지 센서 노이즈 - 측정 및 모델링 에서 자세히 설명되어 있습니다.


설정 창에 있는 (많은) ISP 조정 사항과 함께 나열되는 (상대적으로 적은) 물리적 속성을 중점적으로 살펴 보겠습니다.

시메이트 블록 다이어그램

Simatest 입력 이미지에는 다음이 포함됩니다.

Simatest는 모든 그림 이미지를 처리할 수 있지만, 정량적 결과(MTF, 톤 응답, 정보 용량 등)가 필요한 경우에는 테스트 차트 이미지를 사용하는 것이 좋습니다. 권장 테스트 차트 이미지 목록은 아래와 같습니다 .

Simatest 처리에는 다음이 포함됩니다.

Simatest 결과

Simatest는 원시 이미지 측정값 또는 EMVA 1288 결과를 기반으로 하는 정확한 이미지 센서 노이즈 모델을 포함합니다. 방사 측정 계산은 필요하지 않지만, 카메라의 절대 감도를 결정하는 데 유용할 수 있습니다. 향후 방사 측정 기능이 추가될 수 있습니다.

Simatest는 확장 가능합니다. 고객 요청에 따라 필요에 따라 처리 블록이 추가될 예정입니다. 초기 블록 세트는 주로 가시적이고 측정 가능한 이미지 품질에 영향을 미치는 작업에 초점을 맞추고 있습니다.

Simatest는 이미지 배치 작업을 수행할 수 있으며 , 이미지를 자동으로 읽고 처리하고 일괄적으로 저장합니다.

Simatest 입력 파일

Simatest 입력은 Simatest 에서 읽을 수 있고 이미지 파일 형식 및 획득 장치 에 나열된 모든 이미지 파일(원본 또는 디모자이크된 파일)에서 가져올 수 있습니다. Simatest는 모든 이미지를 처리할 수 있지만, 테스트 차트 이미지를 사용하면 가장 유용한 정량적 결과를 얻을 수 있습니다. 입력 파일의 주요 출처는 세 가지입니다.

테스트 차트 프로그램 — 완벽한 카메라 시뮬레이션을 위한 이상적인 테스트 차트 이미지를 가장 편리하게 얻을 수 있는 프로그램은 Imatest 테스트 차트 프로그램입니다. 다음은 2400×1600 픽셀의 향상된 eSFR ISO 2017 차트를 생성하기 위한 설정 예시입니다.

향상된 eSFR ISO 2017 차트용 테스트 차트 창

Test Charts를 사용하면 실물 차트 인쇄 또는 차트 이미지 분석에 사용할 수 있는 SVG(확장 가능한 벡터 그래픽) 또는 비트맵(TIFF 또는 PNG) 차트 파일을 생성할 수 있습니다. 이 프로그램에는 다양한 차트 유형이 포함되어 있으며, 패턴 드롭다운 메뉴(왼쪽 상단)에서 선택할 수 있습니다. 또한 다양한 옵션도 제공됩니다. 연속적인 톤을 사용하는 차트 패턴(예: 사인파 형태의 지멘스 스타 차트)은 인쇄 또는 Simatest 분석에 적합한 크기의 비트맵 파일로 생성해야 합니다. Simatest 에 사용되는 차트는 SVG 차트 형식으로 제공되므로 비트맵 파일로 변환해야 합니다.

아래 정보는 시작하는 데 충분할 것입니다. 전체 문서는 테스트 차트 및 SVG 테스트 차트 페이지 에서 확인할 수 있습니다. 또한 Simatest 개발 및 테스트에 사용된 2400×1600 eSFR ISO PNG 이미지(색상 패치 추가됨)를 다운로드 할 수 있습니다.

보기 또는 인쇄용으로 제작된 대부분의 이미지는 감마(Gamma) 값이 2.2(디스플레이 또는 색 공간 감마)로 설정되어 있습니다. Simatest 에서 이러한 이미지를 사용할 때는 입력 감마(Input gamma) 값을 0.45로 설정하십시오. 일부 테스트 차트 설정은 드롭다운 메뉴에 숨겨져 있습니다. 설정 드롭다운 메뉴에서 eSFR LogWedge max = 4000 LW/PH를 선택하는 것이 좋습니다.

테스트 차트를 생성할 때 8/24비트 PNG 비트맵 파일을 바로 저장할 수 있습니다. 차트 미리보기 이미지(위 이미지 참조) 바로 아래에 있는 "PNG(비트맵) 파일 저장"을 선택하고 옆 상자에서 PNG 높이(픽셀)를 지정하세요.

설정이 완료되면 "테스트 차트 생성"을 누르고 파일을 편리한 위치에 저장하세요(SVG 및 PNG 파일 모두 생성됩니다).

Inkscape (훌륭한 무료 프로그램)를 사용하면 SVG 파일을 열어 원하는 크기로 인쇄하거나 8비트 또는 16비트(24비트 또는 48비트 색상) 비트맵 파일로 변환할 수 있습니다. 명암 응답 또는 동적 범위 차트를 만들려면 SVG 파일을 16비트 또는 48비트 PNG 또는 TIFF(비트맵) 파일로 변환하는 것을 강력히 권장합니다.

Inkscape 창에 내보내기 설정이 표시됩니다.

Code V 나 Zemax OpticStudio 와 같은 렌즈 설계 프로그램은 실제 렌즈 모델을 사용하여 차트 이미지를 처리하고 흐림, 색수차, 비네팅 등을 추가하여 이미지를 변형할 수 있습니다. 차트 이미지는 Imatest Target Generator를 사용하여 생성할 수 있는데, 이는 Test Charts 의 백엔드로서 SVG 차트를 비트맵 파일로 변환합니다. [ 참고: Code V 입력용 차트는 감마 값이 1(선형 감마)이어야 합니다. Simatest 에서 이러한 이미지를 사용할 때는 입력 감마 값을 1로 설정해야 합니다. ] 렌즈 설계 프로그램을 사용한 경우, 안티앨리어싱(광학 저역 통과) 필터를 시뮬레이션해야 하는 경우가 아니면 Simatest의 흐림 필터는 필요하지 않습니다.

카메라에서 촬영한 이미지 , 즉 RAW 또는 최소한의 처리만 거친 이미지를 LibRaw 또는 ReadRaw를 사용하여 RGB로 변환한 이미지가 적합합니다. 여기에는 튜닝이 필요한 현상 시스템의 실제 이미지도 포함됩니다. 이러한 이미지에는 이미 흐림과 노이즈가 포함되어 있으므로 (흐림) 필터 및 노이즈 블록은 필요하지 않습니다.

권장 테스트 차트

시뮬레이션 이미지용 — 오른쪽에 표시된 차트는 Imatest의 36패치 동적 범위 테스트 차트의 특수 버전으로, 익숙한 24패치 컬러체커 와 유사한 색상이 추가되었습니다. 이 차트는 실제 측정이 아닌 Simatest 시뮬레이션에 사용하기 위한 것이며, 실제 측정에는 Imatest 스토어 에서 구입할 수 있는 투과형 36패치 동적 범위 테스트 차트를 사용해야 합니다.

36패치 차트는 이미지 센서 노이즈(광자 전달 곡선)를 측정하는 데 특히 유용합니다. 이 차트는 Simatest 개요 , Simatest 예제 및 이미지 센서 노이즈 - 측정 및 모델링 의 시뮬레이션에 사용되었습니다.

시뮬레이션 결과는 광자 전달 곡선, MTF 및 색상 측정이 영역 크기에 비교적 둔감하기 때문에 실제 측정값과 높은 상관관계를 보입니다. 시뮬레이션 이미지와 측정 이미지의 전체 크기는 다를 수 있으며, 특히 배럴 왜곡(어안 렌즈로 인한)이나 광량 감소(비네팅)가 문제가 될 수 있는 고해상도 이미지의 경우 프레임을 완전히 채울 필요는 없습니다.

여기에서 48비트 컬러 1901×1600 버전의 이미지를 다운로드 할 수 있습니다.

렌즈 설계 프로그램으로 인해 이미지 품질이 저하된 경우 , 프레임을 가득 채우도록 설계되어 이미지 센서와 동일한 크기(픽셀 단위)를 갖는 eSFR ISO 차트 (향상된 버전(3:2) 또는 확장 버전(16:9))를 사용하는 것이 좋습니다. 대부분의 용도에 적합한 두 가지 eSFR ISO 차트의 SVG 파일을 제공합니다. 이 파일은 Inkscape 에서 비트맵 파일로 변환할 수 있으며, 필요에 따라 자르거나 여백을 추가할 수 있습니다. 감마 값이 1로 설정되어 있어 어둡게 보일 수 있습니다.

Simatest SVG 및 PNG 테스트 차트 이미지 전체가 포함된 압축 파일 | 향상된 eSFR ISO PNG | 확장된 eSFR ISO PNG

일반 소비자용 카메라에서 촬영한 JPEG 이미지는 대부분 과도한 처리 과정을 거치기 때문에 사용을 피하는 것이 좋습니다. 이러한 처리 과정에는 복잡한 톤 응답 곡선(‘어깨’ 부분 포함)과 비선형 및 비균일 양방향 필터링이 포함되어 있어 유용한 결과를 얻기 어렵습니다.

파일 일괄 처리 여러 파일을 선택하면 저장된 설정에 따라 모든 파일을 읽고 처리하여 자동으로 일괄 저장합니다. (대부분의 출력 결과는 표시되지 않지만, 저장된 파일을 열어 내용을 확인할 수 있습니다.) 파일을 선택하면 오른쪽에 표시된 대화 상자가 열립니다. 예를 들어, `root_file_name.ext` 형식의 파일은 `root_file_name – ext -simatest.png`로 저장됩니다.

여러 이미지를 일괄 처리하기 전에 먼저 단일 이미지를 처리하여 설정이 올바른지 확인하십시오. 일괄 처리 계산은 속도에 최적화되어 있지 않으므로 이미지당 일반적으로 몇 초가 소요되는 일괄 처리는 대량의 이미지 처리에 적합하지 않습니다.

Simatest 오픈 윈도우

Simatest 실행 중

오른쪽에 표시된 Imatest 메인 창의 유틸리티 드롭다운 메뉴 또는 유틸리티 탭에서 Simatest를 누르십시오. 분석을 수행하려면

'이미지 파일 읽기 '와 'Simatest 설정' 버튼을 누르는 순서는 중요하지 않습니다.

다음은 업데이트된 Simatest 창입니다. 이 경우 확대하지 않은 상태로 본 처리된 이미지는 입력 이미지와 매우 유사합니다. 하지만 아래 그림과 같이 확대하여 나란히 보면 두 이미지가 매우 다르게 보일 수 있습니다.

Simatest 창에서 처리된 이미지를 보여줍니다. (입력 이미지에 대한 보기 입력)

설정

Simatest 설정 창에서는 분석 설정을 할 수 있습니다. 처리 블록을 선택하고 매개변수 및 작업 순서를 조정할 수 있습니다. 설정 창을 열려면 Simatest 창 왼쪽 상단에 있는 Simatest 설정 버튼을 누르십시오. 설정은 이전 실행에서 저장되므로 설정을 열지 않아도 될 수 있습니다. 설정은 이미지를 읽기 전이나 후에 할 수 있습니다(단, 여러 이미지를 일괄 처리하는 경우에는 항상 이미지 읽기 전에 설정해야 합니다).

설정 창에는 수많은 처리 블록이 있습니다. 선명도 , 톤 매핑 , 양방향 필터 와 같은 일부 블록은 여러 가지 방법(알고리즘)과 관련 매개변수를 가지고 있으며 사각형 프레임 안에 표시됩니다. 노출 이나 게인 처럼 관련 매개변수가 최대 하나뿐인 블록은 프레임 안에 표시되지 않습니다. 설정 창에서 이러한 블록의 순서는 선택할 작업 순서와는 관련이 없습니다.

Simatest 설정은 5개의 영역으로 나뉩니다. 1. 입력 처리 및 화질 저하 , 2. 화질 저하(노이즈, 흐림) , 3. 색상 및 톤 조정 , 4. 선명도/노이즈 감소 , 5. 이미지 파일 저장 설정입니다 . 일부 범주는 중복됩니다. 예를 들어, 코사인 4 렌즈 셰이딩은 비네팅을 추가하거나 보정하는 기능을 모두 제공하므로 화질 저하가 아닌 조정 범주에 포함했습니다.

Simatest 설정 창

오른쪽 상단의 이미지 신호 처리(ISP) 블록 상자에는 일련의 작업이 표시됩니다. 빈 줄은 항목을 쉽게 삽입, 정렬 및 삭제할 수 있도록 마련된 것이며, 설정이 메인 창으로 전송되거나 처리될 때는 무시됩니다(표시되지 않습니다).

이미지 처리 블록 선택 및 순서 지정
  1. 이미지 처리 파이프라인에 포함할 블록을 선택하세요 .
  2. 필요에 따라 슬라이더, 팝업 메뉴 또는 편집 상자를 사용하여 매개변수를 조정하십시오 . 해당 설정 창은 빨간색 배경에 흰색으로 바뀌고, 설정이 ISP 차단 상자로 복사되거나 다시 설정을 클릭하여 취소될 때까지 이 상태를 유지합니다.
  3. 각 블록 옆에 있는 줄 번호 목록(1-25)이 표시된 설정 팝업 메뉴 버튼을 사용하여 오른쪽의 이미지 처리(ISP) 블록 목록 상자에 설정을 입력하십시오.
  4. 설정값은 변경 후 다른 줄에 입력하면 재사용할 수 있습니다.
  5. 세트 박스의 색조는 블록의 상태를 나타냅니다.
    녹색 배경에 흰색 글씨는 해당 블록이 이미지 처리 블록 목록 상자에 있음을 나타냅니다.
    빨간색 배경에 흰색 글씨는 해당 블록이 조정되었지만 (아직) 선택되지 않았음을 나타냅니다.
    줄 번호 대신 [ 설정 ]을 누른 다음 [ 설정 ]을 눌러 선택하지 않고도 상자를 흑백 으로 재설정할 수 있습니다.
  6. 이미지 처리(ISP) 블록 목록 상자에는 많은 빈 줄이 있습니다. 이는 처리 블록을 쉽게 추가하고 편집할 수 있도록 하기 위한 것이며, 실제 계산 시에는 무시됩니다. 처리 블록의 순서는 상자 아래에 있는 삽입, 삭제 , 위로 이동 , 아래로 이동 , 지우기, 모두 지우기 , 활성화 , 비활성화 (주석 처리) 버튼을 사용하여 편리하게 편집할 수 있습니다.
    현재 줄 앞에 빈 줄을 삽입 하고 나머지 줄은 모두 아래로 한 줄씩 이동합니다.
    현재 줄을 삭제 하고 다음 줄들을 한 칸 위로 이동합니다.
    위로 이동 현재 줄을 위로 이동시켜 이전 줄과 위치를 바꿉니다.
    아래로 이동합니다. 현재 줄을 아래로 이동하고 다음 줄과 위치를 바꿉니다.
    현재 줄을 비웁니다 . 줄을 이동하지 마십시오.
    모두 지우기 모든 줄을 지우고 (비우고), 즉 초기화합니다. 실수로 이 버튼을 누른 경우 취소 버튼을 누르십시오.
    현재 줄에 있는 "%" 주석 표시를 제거하여 해당 줄을 활성화 하십시오 .
    현재 줄을 "%"로 시작하는 주석으로 만들어 비활성화(주석 처리) 합니다.
  7. 확인 버튼을 누르면 설정이 저장되고 설정 창이 닫히며 Simatest 메인 화면으로 돌아갑니다. 선택된 이미지 처리 블록(빈 줄과 비활성화된 줄은 제거됨)이 Simatest 창에 나타납니다. 설정 창 오른쪽 하단의 ' 자동 업데이트 '가 선택된 경우, 계산이 자동으로 업데이트되어 단계를 하나 줄일 수 있습니다(버튼을 하나 덜 누르게 됨). 설정을 변경했지만 저장하지 않은 경우 경고 메시지가 표시됩니다.

요약: 설정은 두 단계로 진행됩니다.
(1) 매개변수를 조정하고
(2) 설정 드롭다운을 사용하여 해당 줄로 이동합니다.
이미지 처리 블록 상자는 필요에 따라 편집할 수 있습니다.

2단계를 잊어버리기 쉽기 때문에 해당 매개변수가 조정되었지만 아직 이동되지 않은 경우 설정 드롭다운은 빨간색 배경의 흰색 으로 변경됩니다.

이미지 처리 블록

앞서 언급했듯이, 계산 업데이트는 선택된 순서의 이미지 처리 블록을 적용합니다. 입력 이미지 소스에 따라 일부 열화 또는 향상 단계는 Simatest 에 이미지를 입력하기 전에 이미 수행되었을 수 있습니다. 예를 들어, 일반 소비자용 카메라의 JPEG 이미지에는 일반적으로 비선형, 비균일 양방향 필터가 적용됩니다( Simatest 에는 이러한 이미지를 권장하지 않습니다). 노이즈와 필터링(흐림)은 카메라에서 촬영한 이미지에 이미 암묵적으로 적용되어 있습니다(즉, 노이즈와 흐림은 이미지에 이미 존재하므로 추가로 적용할 필요가 없습니다).

다음은 사용 가능한 처리 함수 목록입니다(2025년 1월 기준). 대부분은 MATLAB File Exchange에서 제공되는 표준 MATLAB 함수이거나 사용자 정의 Imatest 코드입니다. 참고: (L)은 선형 이미지에만 권장됩니다.

처리 블록 목차
입력 감마 입력 이미지 감마를 입력하세요
노출, 이득 노출 및 게인 배율을 설정합니다. 노출 지수(ISO 감도)를 시뮬레이션합니다.
모자이크/데모자이크 (재)모자이크(RGB → 시뮬레이션된 Bayer raw) 또는 디모자이크를 사용하여 이미지를 처리합니다.
RGB 밸런스 개별 RGB 채널의 게인을 설정합니다.
안개/섬광/가림 현상 또한 블랙 레벨 오프셋 제거에도 적용됩니다.
단색화 RGB 이미지를 흑백 이미지로 변환하세요.
AWB 자동 화이트 밸런스
선형화 이미지를 선형화합니다
감마 감마(승수 또는 목표값)를 변경하세요.
코스 4 렌즈 셰이딩 코스 4 렌즈 음영("비네팅")을 적용하거나 수정하세요.
거꾸로 하다 이미지를 반전시키세요 (양상 ↔ 음상)
소음 가우시안 노이즈 - 단순 노이즈 또는 센서 노이즈(암잡음 + 광자 산탄 노이즈)
필터 이미지에 필터를 적용합니다(가우시안, 모션 블러, 초점 흐림, 에어리 디스크).
방사형 기하학 왜곡 또는 측면 색수차를 추가하거나 수정합니다.
CCM 색상 보정 행렬(이전에 계산됨)
톤 매핑 제한된 DR 디스플레이에 맞춰 HDR 톤을 조정합니다. 3가지 유형을 사용할 수 있습니다.
갈다 이미지를 선명하게 하세요. USM 또는 표준
양측 필터 에지 보존 노이즈 감소. 2가지 유형.
비국소적 수단 필터 또 다른 에지 보존 노이즈 제거 필터 SLOW
파일 정밀도를 저장하세요 8비트, 16비트 등의 정밀도로 파일을 저장하세요.
파일 오프셋 저장 파일 오프셋(DN)을 저장합니다. 카메라 파일의 속성을 복제하는 데 사용됩니다.
파일 저장 포화 파일 저장 포화도(DN; 최대값)


참고: 아래 오른쪽 열의 (L)은 선형 감마(1)를 권장함을 나타냅니다.

처리 블록 설명 기능:
링크에 설명되어 있습니다
입력 감마 처리 블록이 아닙니다 . 입력 감마는 처리의 각 상태에서 이미지 감마를 추적하는 데 필요합니다. 일부 작업에서는 이미지가 선형(감마 = 1, (L) 로 표시됨)이어야 하므로 중요합니다. 입력 감마 값을 잘못 입력하면 거의 확실히 오류가 발생합니다. 입력 감마는 일반적으로 (선형) RAW 이미지의 경우 1이고, 교환 가능한 색 공간 이미지(sRGB, Adobe RGB 등)의 경우 0.45~0.5 정도입니다. "블랙박스" 이미지의 경우 감마는 색상/톤 기능을 사용하여 측정할 수 있습니다. 감마, 음색 응답 곡선 및 관련 개념
초기 처리 및 조정

노출

이득 = 1/노출

게인(슬라이더로 설정)

노출/이득 배율 (좋은 결과를 얻으려면 감마 = 1(선형)이 필요합니다)

노출 (슬라이더로 설정하는 배율, 일반적으로 1 미만)은 일반적으로 노이즈를 추가하기 전에 시뮬레이션 이미지에 적용됩니다. 이는 실제 노출 변화를 나타냅니다.

게인 = 1/노출은 일반적으로 노이즈가 추가된 후에 적용됩니다.

유효 노출 지수(일명 "ISO 속도")는 이미지 진폭에 노출 (일반적으로 <1)을 곱한 다음 이미지 센서 노이즈를 적용하고 마지막으로 게인( Gain = 1/노출)을 곱하여 조정할 수 있습니다 . 이는 EI에 1/노출(또는 게인)을 곱하는 것과 동일하며, 신호 대 잡음비(SNR)를 저하시킵니다.

예를 들어, 기본 EI가 100인 경우, 노이즈 전에 Exposure = 0.125를 적용하고 노이즈 후에 1/Exposure = 8을 적용하는 것은 EI를 8배 증가시켜 800으로 만드는 것과 같습니다. 광자 샷 노이즈는 신호의 제곱근에 비례하여 증가하므로 매우 어두운 영역을 제외하고는 지배적인 노이즈가 되기 때문에 SNR은 1/8(0.125) 미만으로 저하됩니다.

(엘)

바이엘 모자이크

데모자이크

데모자이킹은 MATLAB의 데모자이 킹 함수를 사용하여 이미지 센서(흑백 형식)에서 얻은 CFA(컬러 필터 어레이) 모자이크 처리된 베이어 RAW 이미지를 3색 RGB 파일로 변환합니다. 이 함수는 널리 알려진 Malvar-He-Cutler 알고리즘( 스탠포드 버전과 약간 다름 )을 사용합니다. 데모자이킹은 아티팩트를 생성하고 노이즈 파워 스펙트럼에 영향을 줄 수 있는 복잡한 과정입니다. RAW 카메라 파일은 Simatest를 실행하기 전에 Imatest의 LibRaw 및 ReadRaw 모듈을 사용 하여 데모자이킹할 수도 있습니다 .

MATLAB의 디모자이킹 함수에서 몇 가지 문제점을 발견했습니다. 색상이 다른 영역 사이의 경계가 뚜렷할 때 "지퍼처럼 겹치는" 현상이 발생합니다. 아직 이 문제를 해결할 적절한 대체 함수를 찾지 못했습니다(2025년 4월 기준).

Bayer mosaic (Demosaic의 역변환)는 3색 RGB 이미지를 흑백 모자이크 처리된 유사 원본 이미지로 변환합니다. 이는 이미지에 노이즈를 추가하거나 Simatest 입력이 시뮬레이션된(RGB) 이미지일 때 디모자이킹 효과를 연구하는 데 유용합니다. Bayer mosaic은 간단하고 직관적인 알고리즘(아티팩트 없음)을 사용하여 RGB 이미지를 네 가지 Bayer 정렬 방식(RGGB, GRBG, GBRG 또는 BGGR) 중 하나로 변환합니다.

데모자이크

Imatest 원처리

IPOL 참조

스탠포드 참고자료

RGB 밸런스
( 카메라의 물리적 속성 )

RAW 이미지에서 흔히 발생하는 RGB 불균형(일반적으로 녹색 채널이 빨간색 또는 파란색 채널보다 큰 경우)을 추가하거나 수정합니다. R, G, B 값은 각각 별도의 입력란에 입력할 수 있습니다. 값은 색상/톤 메뉴에서 확인할 수 있습니다. 불균형을 추가하려면 곱셈을 사용하며, 이는 노이즈를 추가하기 전에 적용하기에 적합합니다. 불균형을 수정하려면 나눗셈을 사용하며, 이는 파이프라인 후반부에 적용하기에 적합합니다.

(엘)

안개(섬광 또는 가려진 눈부심)
( 카메라의 물리적 속성 )

이미지에 안개 효과를 적용합니다. 이는 플레어 광이나 베일 글레어를 추가하는 것과 같습니다. 이미지에 상수 값( 안개 효과 )을 더하거나 뺍니다.
이미지 출력 = 안개 + ( 1-안개 )* 이미지 입력 안개 는 일반적으로 작은 비율(<0.3)입니다.

안개의 음수 값은 블랙 레벨 오프셋이 있는 경우 이를 제거하는 데 사용할 수 있습니다.
단색화 컬러 이미지( m × n × 3)를 흑백 이미지( m × n )로 변환하려면 휘도 채널 방정식(일반적으로 0.2125×R + 0.7154×G + 0.0721×B)을 사용하거나 세 채널의 평균값을 사용합니다.
AWB(자동 화이트 밸런스) 자동 화이트 밸런스는 대부분의 테스트 차트 이미지에는 적합하지만, 특히 특정 색상이 지배적인 실제 이미지에는 적합하지 않은 간단한 "회색 세상" 알고리즘을 사용하여 수행합니다.
선형화(설정) (권장되는 감마 타겟 1과 동일) 이미지를 선형화합니다(감마 인코딩 제거). 이미지를 선형화하고 연산을 적용한 다음, ISP 파이프라인의 끝부분에서 최종 인코딩 감마를 다시 적용할 수 있습니다. 감마 = 1은 표준 샤프닝( 샤프닝 페이지에 설명된 1D 샤프닝의 2D 버전)과 같은 대부분의 처리 블록에 권장됩니다. USM 샤프닝에는 권장되지 않습니다. 
감마 이미지에 감마 인코딩을 적용합니다. 감마는 슬라이더(위 그림 참조)와 대상(Target ) 및 곱( Mult) 이 포함된 팝업 메뉴를 통해 선택할 수 있습니다. 입력과 출력이 감마 인코딩될 수 있지만(일반적으로 감마 ≅ 0.5), 많은 연산은 감마 = 1로 수행해야 할 수 있으므로 이 설정이 중요합니다. 곱(Mult )의 경우,
이미지 출력 = 이미지 입력 γ . 대상 의 경우, 현재 감마 값은 γ_current 입니다.
이미지 출력 = 이미지 입력 (γ/γ_current) .
감마, 음색 응답 곡선 및 관련 개념

추가, 수정된 cos 4 렌즈 음영

렌즈 "비네팅"이라고도 합니다 (감마 = 1(선형) 권장).

표준 cos 4 각도 방정식을 사용하여 비네팅(광량 감소)을 추가하거나 수정합니다. 슬라이더를 사용하여 렌즈 초점 거리/센서 대각선 거리를 입력해야 합니다. 노이즈가 추가되기 전, ISP 파이프라인 초기 단계의 시뮬레이션 이미지에 적합합니다. 실제 카메라 이미지에는 이미 비네팅이 존재합니다.

렌즈 음영은 감마 값이 1인 상태에서 파이프라인 후반 단계에서 수정할 수 있습니다.

(엘)
반전(설정) 이미지를 반전, 즉 네거티브 이미지로 만듭니다. 자주 사용되지는 않습니다. 선형 이미지(감마 = 1(선형) 권장)에서 가장 잘 작동합니다.
크기 조정 크기에 배율을 곱하여 이미지 크기를 조정합니다. 최근접 이웃, 이중선형 또는 이중삼차 방법을 사용할 수 있습니다.
이미지 품질 저하: 흐림, 노이즈, 기하학적 왜곡
일반적으로 처리 전 카메라에서 촬영한 이미지에서 발견됩니다. 작업은 대개 선형적으로 진행됩니다.

노이즈(가우시안)

( 이미지 센서 노이즈는 카메라의 물리적 특성 입니다 .)

이미지에 노이즈를 추가합니다.

주요 선택 사항은 다음과 같습니다.

노이즈(가우시안) - 단순 : 신호에 의존하지 않습니다. 샷 노이즈 및 고정 패턴 노이즈는 비활성화되어 있습니다.

노이즈(가우시안) - 신호에 따라 달라지는 이미지 센서 노이즈가 적용됩니다. 모든 설정이 활성화되어 있습니다. 아래 그림과 같이 색상/톤 설정에서 해당 설정을 사용하십시오.

루마 분율 이 0일 경우 RGB 채널의 노이즈는 서로 상관관계가 없습니다. 루마 분율 이 1일 경우 노이즈는 서로 상관관계가 있습니다. (세부 사항은 아직 검토 중입니다.)

노이즈를 베이어 모자이크 처리가 적용된 원본 이미지에 적용하는 경우, 원본 이미지가 흑백 이미지이므로 설정은 중요하지 않습니다. 결과적으로 디모자이킹된 이미지에서 휘도 및 색도 노이즈를 가장 잘 추정할 수 있습니다.

이미지 센서 노이즈는 시뮬레이션 이미지에 있어 매우 중요한 요소입니다.

아래 설명된 대로 계산해야 하며, Simatest 예제 (가장 좋은 자료)와 색상/톤 및 eSFR ISO 노이즈 측정 에서 더 자세히 설명되어 있습니다. 센서 노이즈 모델 사용을 선택하고 두 가지 노이즈 매개변수(포톤 샷 노이즈 및 암잡음)를 각각 시그마(분수) 와 시그마(암잡음) 에 입력해야 합니다.

imnoise : HSV V 채널에 노이즈를 추가합니다. 파라미터는 sigma [] 및 Luma noise []입니다.
필터 이미지에 필터를 적용하여 흐리게 만듭니다. 일반적으로 노이즈를 적용하기 전에 사용되지만, 노이즈를 추가한 후에도 적용할 수 있습니다 (노이즈 스펙트럼에 영향을 줍니다). 렌즈 흐림, 모션 블러, 초점 불량 또는 회절을 시뮬레이션하는 네 가지 유형의 노이즈가 있습니다.
가우시안 (imgaussfilt - 일반적인 흐림 효과). 시그마(표준 편차) 값을 픽셀 단위로 입력하십시오.
모션 블러 (수평), 픽셀 단위로 길이를 입력하세요.
디스크 (초점 불일치). 반경을 픽셀 단위로 입력하십시오.

에어리 디스크 (회절). 슬라이더에 픽셀 단위로 첫 번째 null 값 을 입력하십시오.

파장 λ (녹색의 경우 약 0.530μm) 와 픽셀 피치 p에 대해 a = 1.22 λ F# / p 입니다 . λ 와 p는 일반적으로 마이크론(μm)과 같은 일관된 단위를 가져야 합니다. 예를 들어, f/2.4에서 픽셀 피치가 2μm인 카메라의 경우 녹색 채널(0.530μm)에서 a = 0.776픽셀입니다.

이 필터가 적용될 때 2D Airy 커널(a가 첫 번째 null인 경우 (2*besselj(1,x/a)./(x/a)).^2에서 파생됨)이 클립보드에 복사됩니다.

imgaussfilt : 매개변수 sigma를 사용한 2차원 가우시안 필터링, fspecial : 2차원 커널 생성, filter2 , imfilter

위키피디아 에어리 디스크 | 간단한 에어리 패턴

방사형 기하학 광학적 왜곡 (여러 모델 중 하나를 사용하여) 및/또는 측면 색수차를 추가하거나 수정합니다.

[ 참고: 현재 이 기능은 설정 창의 블록이 아니라 Simatest 메인 창에 별도의 Imatest 모듈로 제공됩니다. 이 모듈을 열면 처리된 이미지가 표시되며, 왜곡되거나 왜곡되지 않은 이미지를 볼 수 있습니다. 이는 방사형 기하학 모듈을 약간만 수정하여 사용할 수 있도록 하기 위한 임시방편입니다.] 향후 이 기능의 일부(특히 측면 색수차)를 Simatest 에 통합할 계획입니다.

방사형 기하학
색조 개선: 색상을 보정하거나 세 가지 색조 매핑 알고리즘 중 하나를 적용합니다.
HDR(고해상도 이미지)을 표시하면 톤 응답이 비선형적이고 불균일해질 수 있습니다.

색상 보정 매트릭스(CCM)

2025년 1월 현재 Simatest에 제대로 통합되지 않았습니다. Simatest를 실행하기 전에 CCM을 계산해야 합니다.

색상 보정 행렬(CCM)을 적용합니다. 이 행렬은 색상/톤 섹션에서 계산 및 저장할 수 있습니다. CCM을 적용할 단계(일반적으로 ISP 파이프라인의 끝 부분)에서 Simatest 에서 처리된 이미지를 사용합니다. CCM 체크박스 오른쪽에 있는 "CCM 설정" 버튼을 클릭하면 행렬을 설정할 수 있는 창이 열립니다(오른쪽 그림 참조, 썸네일을 클릭하면 전체 크기로 볼 수 있음). (파일에서 읽어오거나 클립보드에서 붙여넣고 옵션(선형화 등)을 선택할 수 있습니다.)

색상 보정 행렬은 색상/톤 으로 계산되는 CCM을 설명합니다.

2025년 1월 현재, Simatest 에 제대로 통합되지 않았습니다. 색상/톤 기능을 색상표의 영역 선택과 함께 실행해야 하므로 완벽한 통합은 어려울 것으로 예상됩니다.

참고로, 톤 매핑 블록은 총 세 개 이며, 목적은 같지만 알고리즘은 서로 다릅니다.
톤 매핑 제한된 동적 범위를 가진 디스플레이에서 볼 수 있도록 고해상도(HDR) 이미지를 렌더링합니다. 톤 매핑은 제한된 동적 범위를 가진 디스플레이에서 HDR 이미지의 모양을 근사화하는 데 사용되는 기술입니다. 비균일 및 비선형 톤맵 : 고해상도 이미지를 렌더링하여 보기 쉽게 만듭니다.
로컬 톤 매핑 라플라시안 필터링을 사용하는 HDR 이미지용 대체 톤 매핑 알고리즘입니다. 기존 알고리즘과 다른 조정 설정을 사용하며, 결과적으로 더 포화된 이미지를 생성합니다. 비균일적이고 비선형적인 방식을 사용합니다. 로컬톤맵
대비 제한 히스토그램 평활화 CLAHE는 전체 이미지가 아닌 타일 이라고 불리는 이미지의 작은 영역을 대상으로 작동합니다. 각 타일의 대비를 향상시켜 출력 영역의 히스토그램이 '분포(Distribution)' 매개변수로 지정된 히스토그램과 대략적으로 일치하도록 합니다. 그런 다음 인접한 타일을 양선형 보간법을 사용하여 결합하여 인위적으로 생성된 경계를 제거합니다. 특히 균일한 영역에서는 이미지에 존재할 수 있는 노이즈를 증폭시키지 않도록 대비를 제한할 수 있습니다. 비균일 및 비선형 adapthisteq : 대비 제한 적응형 히스토그램 평활화(CLAHE)
공간감 향상: 선명도 향상 및/또는 노이즈 감소.
양방향 필터 출력은 이미지 내용에 따라 달라지며, 매우 비선형적일 수 있습니다.
USM(언샤프 마스크)을 선명하게 만드세요 언샤프 마스킹 (USM) 기법을 사용하여 회색조 또는 RGB 입력 이미지를 선명하게 만듭니다. 특히 가장자리 부분에서 효과가 두드러집니다. USM은 원본 이미지에서 가우시안 흐림 함수를 빼는 방식으로 작동합니다. 임계값이 0보다 크면 대비가 낮은 영역이 선명해지지 않을 수 있습니다. 자세한 내용은 위키피디아를 참조하십시오.

USM은 선형적이지 않은 것으로 보이며, 감마 인코딩된 이미지에서 가장 잘 작동하는 것 같습니다. 이로 인해 이미지 정보 측정에서 일부 불일치가 발생했습니다. USM은 선형화가 필요 없는 색 공간 이미지에서 직접 작동하도록 설계되었습니다. 비선형적입니다 (놀라운 사실이며, MATLAB 문서에는 명시되어 있지 않습니다).

imsharp : 언샤프 마스킹(USM)
갈다
기준
선명도 향상 페이지에서 설명하는 1차원 선명도 향상 방법의 2차원 버전을 사용하여 회색조 또는 RGB 입력 이미지를 선명하게 만듭니다. 가장자리 부분에서 효과가 가장 두드러집니다. 이 방법은 반지름 R 인 원형 궤적 위에 배치된 원본 이미지의 진폭이 감소된 복제본을 원본 이미지에서 빼는 방식으로 작동합니다. USM보다 계산량이 적어(즉, 속도가 빨라) 상용 카메라에서 널리 사용됩니다.

선형성(감마 = 1)을 유지하는 선형 이미지에서 최적의 성능을 발휘합니다. SNRi 또는 에지 SNRi와 같은 이미지 정보 측정 지표 에 대한 선명도 향상 효과를 테스트하는 데 적합합니다.

이 작업을 수행하면 2D 샤프닝 커널이 클립보드에 복사됩니다. 표준 샤프닝은 MATLAB 함수가 아니므로 아래 상자에 자세한 설명을 포함합니다.

사용자 정의 Imatest 기능(L)

USM 또는 일반 연마 중 하나를 적용할 수 있습니다(하지만 둘 다 적용하는 것은 의미가 없습니다).

양방향 필터 1
imbilatfilt(MATLAB)
양방향 필터링은 1998년 Tomasi와 Manduchi가 에지 보존 평활화를 위한 비반복적 방법으로 제안했습니다. 일반 소비자용 카메라의 JPEG 이미지에 널리 사용됩니다.

MATLAB의 imbilatfilt 구현에 아직 익숙해지는 중입니다. Simatest 예제 에서 고품질 소형 디지털 카메라에 대해 매개변수 {0.0025, 0.7, 5}를 사용하여 보여줍니다. 매개변수:

  1. 평활도
  2. 공간 시그마
  3. 동네 규모.

imbilatfilt (MATLAB)

양측 필터 2 bfilt2(Lanman) 잘 작동하지만 속도가 느립니다 . 매개변수:
  1. 반폭 w는 가우시안 양방향 필터 윈도우의 절반 크기입니다.
  2. 시그마(범위)는 공간 영역 표준 편차입니다.
  3. 시그마(영역)는 강도 영역의 표준 편차입니다.

bfilter2 (Mathworks File Exchange에서 가져옴):

비국소적 평균 필터 또 다른 에지 보존 노이즈 제거 필터입니다. 속도가 느립니다. 아직 익숙해지는 중입니다. 매개변수:
  1. 평활화 정도 (MABLAB 기본값 = 추정된 이미지 노이즈의 표준 편차( σ ))
  2. 검색 창 크기 (MATLAB 기본값 = 21)
  3. 비교 창 크기 (MATLAB 기본값 = 5)

imnlmfilt (MATLAB)

이미지 파일 저장 설정: 이미지를 파일로 저장할 때 적용됩니다.
파일 저장 정밀도 설정
  1. 이미지 저장 - 입력 파일 정밀도
  2. 최대 8비트 심도
  3. 16비트 심도
  4. 16비트, 전체 진폭(raw 제외). RGB 파일은 컨테이너의 전체 진폭(예: 비트 심도 = 16의 경우 65535)을 가지며 오프셋이 없습니다. 권장 사항입니다 .
 
저장 파일 오프셋(DN) 저장된 파일에 추가할 블랙 레벨 오프셋 (픽셀, 디지털 값)입니다. 
파일을 저장하세요
포화도(DN)
저장된 파일의 포화 수준 (최대 픽셀 또는 DN 레벨). n 비트 컨테이너에 m 비트 데이터를 표현하는 데 사용됩니다(예: n =16비트 파일에 저장된 m =12비트 데이터의 경우 4095, 최대 DN은 65535). 

 

샤프닝(표준 방식, USM 방식 아님 ) 은 선형성을 유지하도록 설계된 Imatest 함수(MATLAB 함수 아님)입니다.

이것은 샤프닝 페이지에 설명된 1D 샤프닝 방법의 2D 버전입니다. MATLAB으로 구현된 USM을 사용해 보려고 할 때 만들어졌습니다. 필터함수는비선형입니다(실제로 그렇습니다). 또한 계산량이 더 많은 USM보다 일반적인 카메라 샤프닝에 더 가깝습니다.

선명화 반경 R 과 양 A 에 대해 k sharp = A /( A +1 )을 정의합니다. 필터 커널은 2 R +1×2 R +1 행렬 H (픽셀 단위)이며, (1) 중심에서 거리 r 만큼 떨어진 각 항목을 H( r ) = max(|Rr|,0)으로 설정하고, (2) H = H/∑H로 설정한 다음 중심 항목인 H(R+1,R+1) = 1로 설정하여 계산됩니다.

반경 = 2, 양 = 3(강하게 선명하게 함)인 필터의 경우 5×5 커널은 다음과 같습니다.

-0.0092 -0.0409 -0.0535 -0.0409 -0.0092
-0.0409 -0.0222 0 -0.0222 -0.0409
-0.0535 0 1.0000 0 -0.0535
-0.0409 -0.0222 0 -0.0222 -0.0409
-0.0092 -0.0409 -0.0535 -0.0409 -0.0092

이상적으로는 정보량 측정값을 계산할 때라도 표준 선명도 보정은 선형(감마 = 1) 이미지에 적용되어야 하지만, 시뮬레이션한 카메라 JPEG 이미지 에서도 이러한 현상이 관찰되었습니다. 표준 선명도 보정은 (과도한 선명도 보정으로 이미지가 포화되지 않는 한) 선형적인 연산입니다.

  

이미지 센서 노이즈 모델

이 섹션에서는 위에서 설명한 Simatest Noise 블록에 입력할 이미지 센서 노이즈 측정 방법을 요약합니다.

자세한 내용은 이미지 센서 노이즈 - 측정 및 모델링 에서 확인할 수 있습니다.

자세한 내용은 Simatest 예제 및 색상/톤/eSFR ISO 노이즈 에서 확인할 수 있습니다.

이미지 센서 노이즈는 원본 이미지를 사용하여 측정하거나 EMVA 1288 측정값 에서 도출할 수 있습니다.

이미지 파일의 각 픽셀은 디지털 번호( DN) 로 구성됩니다. Simatest는 정규화된 신호 진폭 A = DN / DN max 를 사용하며, 여기서 DN max 는 파일에서 지원하는 최대 디지털 번호입니다. 디모자이킹된 이미지의 경우 DN max 는 일반적으로 2 비트 심도 - 1 이지만, RAW 이미지의 경우 일반적으로 2비트 ADC 정밀도 - 1이 사용되지만 모든 경우에 적용되는 것은 아닙니다. 

원본 이미지에는 블랙 레벨 오프셋이 있을 수 있습니다. DN 오프 자세한 내용은 다음과 같습니다. 이미지 센서 노이즈 - 블랙 레벨 오프셋 . 아래 5단계를 참조하십시오 .

노이즈 모델은 다음과 같습니다.

 선형 센서용

여기서 암잡음(읽기 잡음), 광자 샷 잡음 및 광응답 불균일성(PRNU) 고정 패턴 잡음에 대한 계수 kdark , kshot 및 kPRNU 는 Simatest 이미지 센서 잡음 모델의 핵심 매개변수입니다. 이들은 James R. Janesick의 "Photon Transfer DN → λ", SPIE Press, 2007 , 5장을 기반으로 하며 이미지 센서 잡음 모델 - 방정식 에서 설명됩니다.

노이즈 계산 단계

  1. 동적 범위 측정을 위해 설계된 투과형 회색조 테스트 차트 이미지를 획득하십시오.
  2. 이미지를 모조자이크 처리되지 않은 원본 형식으로 저장하세요.
  3. 디모자이킹 없이 원본 이미지를 Color/Tone Interactive 로 불러오세요. (Color Tone Auto도 사용할 수 있지만 유연성이 떨어집니다.) 상업용 RAW 파일의 경우 Bayer RAW 16비트 선형 사전 설정이 권장됩니다. 자세한 내용은 상업용 RAW 파일 및 바이너리 RAW 파일 읽기를 참조하세요.
  4. 디모자이크되지 않은 이미지가 흑백 형식이므로 "표준 흑백 또는 Bayer RAW?" 상자가 나타납니다. 카메라에 맞는 픽셀 색상 매핑(예: R1C1(RG/GB)의 빨간색 등)을 선택하십시오. (이미지에 식별 가능한 색상이 포함되어 있으면 Rawview 에서 열어 매핑을 찾을 수 있습니다.) Bayer RAW 이미지 처리 에서 자세한 내용을 확인하십시오.
  5. 색상/톤/eSFR ISO 노이즈 에 자세히 설명된 방법을 사용하여 오프셋, DN off 및 채도 수준을 추정하고 이를 색상/톤 설정 창(오른쪽에 일부 표시됨)에 입력합니다. 블랙 레벨 오프셋 에 설명된 대로 최적화를 클릭하여 더 세밀한 값을 얻습니다.
  6. 아래 결과는 2.2μm 픽셀 크기를 가진 1000만 화소 컴팩트 디지털 카메라의 원본 파일에서 얻은 것입니다. 픽셀 레벨에 따른 노이즈와 SNR을 보여주는 색상/톤 플롯 10~12가 가장 중요합니다. (이 플롯은 원본 이미지에서만 의미가 있습니다.)

2.2μm 화소를 사용하는 콤팩트 카메라의 노이즈 대 입력 화소 레벨 그래프

Simatest 에 입력해야 할 값은 [Sark+shot+FP noise coeffs for Simatest] 로 시작하는 하단 줄에 표시되어 있습니다. 위의 노이즈 설정을 참조하여 Dark noise = 0.000395, Shot noise = 0.009938, Fixed Pattern noise = 0.006745를 입력하십시오.

암잡음과 광자 산탄 잡음을 계산하는 방법에 대한 자세한 내용은 이미지 센서 잡음 - 측정 및 모델링 에서 확인할 수 있습니다. 측정 결과와 모델링 결과 비교는 해당 항목에서 확인할 수 있습니다. Simatest 예시 .

암잡음은 실제로 OnSemi 애플리케이션 노트 AND9189/D 에 설명된 여러 신호 독립적 잡음 소스의 조합입니다. 전자(Johnson) 잡음은 (4 kT ) 1/2 에 비례합니다.

Simatest 창 왼쪽의 계산 그룹(연한 파란색 상자)에 있는 '계산 업데이트' 버튼이나 다른 버튼을 사용하여 이미지를 처리하세요 . 다음은 해당 그룹에 있는 컨트롤 목록입니다.

계산 그룹(이미지 왼쪽)의 컨트롤
업데이트 계산 입력 이미지부터 시작하여 목록 상자에 표시된 각 블록을 처리합니다. 처리가 완료되면 결과를 표시합니다. 이것이 가장 일반적인 계산입니다.
입력 입력 이미지 보기를 복원합니다.
업데이트 중 1초 동안 결과를 표시합니다(체크박스). 업데이트 계산을 실행할 때 각 블록이 완료된 후 1초 동안 결과를 표시합니다. 일반적으로 단계별 계산이 더 바람직합니다.
계산 과정을 단계별로 살펴보세요 각 블록마다 버튼을 한 번씩 눌러 계산 과정을 수동으로 진행하세요. 누적 결과가 표시됩니다.
단일 블록을 단계별로 표시 각 블록마다 버튼을 한 번씩 눌러 계산 과정을 수동으로 진행하세요. 각 블록이 끝나면 현재 블록의 결과만 표시됩니다(누적 결과는 표시되지 않습니다).

이미지 처리가 완료되면 출력 이미지와 이미지 아래에 연두색으로 표시된 분석 및 보기 영역이 나타납니다. 이미지 바로 아래(왼쪽)에 있는 '입력 이미지 보기' 또는 '처리된 이미지 보기'를 누르면 두 보기 모드를 전환할 수 있습니다. 두 보기 모드는 매우 유사하므로 차이점을 명확히 보여주기 위해 확대된 나란히 보기 모드를 제공합니다.

나란히 보기

나란히 보기 기능을 사용하면 입력 이미지와 처리된 이미지를 나란히, 즉 바로 옆에 놓고 비교할 수 있습니다. 이미지 아래 왼쪽의 ' 입력 이미지 보기' 또는 ' 처리된 이미지 보기 ' 바로 아래에 있는 '나란히 보기' 확인란을 클릭하세요. 이 확인란을 처음 선택하면 두 이미지가 전체 크기로 표시됩니다. 한 이미지를 자르면 다른 이미지도 동일하게 잘립니다. 이렇게 하면 의미 있는 비교가 가능합니다.

다음은 36패치 동적 범위 차트 이미지에 대한 Simatest 디스플레이입니다(잘라낸 이미지를 나란히 비교하여 보여주며, 왼쪽은 입력 이미지, 오른쪽은 처리된 이미지입니다). 입력 이미지는 Test Charts에서 바로 가져온 것입니다. 처리된 이미지에는 흐림, 노이즈 및 선명도 조정이 적용되었습니다.

Simatest의 입력 이미지와 처리된 이미지를 나란히 비교해 보세요. 왼쪽은 입력 이미지이고, 오른쪽은 처리된 이미지입니다. (표시를 위해 확대했습니다.)

결과

처리된 이미지로는 여러 가지 작업을 할 수 있습니다.

다양한 처리 설정을 시도해 볼 수 있습니다.

'처리된 이미지 저장' 기능을 사용하면 설정 창에서 선택한 해상도(일반적으로 16/48비트 권장)로 처리된 이미지를 파일에 저장한 다음, Imatest 모듈로 불러와 분석할 수 있습니다. 클립보드를 사용하여 복사 및 붙여넣기를 할 수 있지만, imclipboard 함수는 8비트 파일 해상도만 지원하므로 권장하지 않습니다.

색상/톤 및 Rescharts 의 주요 결과는 Simatest 예시 에서 확인할 수 있습니다.

Bayer 원본(리모자이크 처리된; 디모자이크 처리되지 않은) 이미지 파일 저장

[파일] > [의사 RAW(미모자이크) 이미지 저장] 을 클릭하면 이미지를 합성 Bayer RAW 형식 또는 다른 여러 형식으로 저장할 수 있습니다. 출력은 표준 이미지 파일 형식 또는 순수 바이너리 형식으로 가능합니다. 여러 옵션이 포함된 대화 상자가 열립니다. Bayer (Re)mosaic 및 Demosaic은 ISP 처리 블록으로 제공됩니다.

모자이크 처리 또는 채널 선택: 없음(일반 색상 파일 출력), 리모자이크(베이어 형식), RCCC(빨강-투명-투명-투명): R 밝음, RCCC(빨강-투명-투명-투명): R = C/3, 흑백(Y = 휘도), 흑백(평균: 동일 가중치), 빨강, 초록, 파랑. 리모자이크(베이어 RAW 파일 생성)를 하려면 리모자이크(베이어 형식)를 선택해야 합니다.

RmCn의 빨간색 메뉴를 사용 하면 네 가지 Bayer 구성 중 하나를 선택할 수 있습니다.

감마 조정 기능을 사용하면 출력 곡선의 감마를 조정할 수 있습니다. 변경하지 않으려면 값을 1로 유지하십시오. 일반적인 색 공간 감마에서 선형(감마 = 1)으로 변경하려면 값을 2(또는 2.2)로 설정하십시오.

저장 파일 형식을 선택하면 표준 이미지 파일 형식(PNG, JPG(90% 품질), TIF(대용량), BMP, 8비트 바이너리 또는 16비트 바이너리)을 선택할 수 있습니다. 바이너리 파일은 일반화된 읽기 RAW 로 읽을 수 있습니다.

녹색 채널 강조 기능을 사용하면 합성 RAW 이미지가 실제 RAW 이미지와 유사하게 녹색 채널을 강조할 수 있습니다. 실제 RAW 이미지는 일반적으로 녹색 영역이 가장 강렬합니다. 파란색/빨간색 레벨도 여러 단계로 조절할 수 있습니다.

[저장]을 선택하면 저장 위치와 파일 이름을 선택할 수 있는 대화 상자가 나타납니다. 기본값은 루트 파일 이름 _png(선택한 확장자 포함)입니다.

Simatest 창 하단의 컨트롤

분석 및 보기(연두색) 상자는 아래에 별도로 나열되어 있습니다. 컨트롤은 왼쪽에서 오른쪽으로 열 우선 순서로 배열되어 있습니다. 이미지/처리된 보기 및 나란히 보기 버튼은 이미 설명했습니다.

Simatest 창 하단 근처에 설정이 있습니다. 자주 사용하는 설정은 굵게 표시되어 있습니다.
처리된 이미지를 저장합니다 설정 창 오른쪽 하단의 연두색 상자에 지정된 비트 심도로 처리된 파일을 저장합니다. 자주 사용되는 기능입니다.
이미지 통계 이미지 통계 모듈에서 이미지를 열면 단면 분석, 히스토그램 분석, 푸리에 변환 분석 등을 수행할 수 있습니다.
돕다 온라인 도움말 창을 여세요.
설정 저장(체크박스) 처리된 이미지 파일과 함께 설정을 저장합니다.
이미지 파일 읽기(2) 원본 파일(im_input에 그대로 남아 있음)과 비교하기 위해 두 번째 이미지 파일(im_processed에 저장)을 읽어옵니다.
이미지 처리 > 클립보드 처리된 이미지를 클립보드에 복사합니다. 아쉽게도 비트 심도에 제한이 있습니다.
축소하기 이미지를 축소하여 전체 이미지를 표시합니다. 이는 나란히 배치된 화면에서 프레임 문제가 발생할 때 유용할 수 있습니다.
확대하여 자르기 이는 아래에 설명된 연두색 분석 및 보기 상자의 자르기 기능을 나타냅니다. 이 기능은 MTF 및 SSIM 측정에 사용됩니다. 이 버튼을 사용하면 자른 영역으로 확대할 수 있습니다. 또한 일반적인 드래그 앤 드롭 방식을 사용하여 MTF 계산에 영향을 주지 않고 보기 전용으로 이미지를 확대할 수도 있습니다.
처리됨 > 입력 분석이 새롭고 (이전에 처리된) 이미지부터 시작되도록 처리된 이미지를 입력 영역으로 이동합니다.
화면 저장 화면을 보고/저장합니다. 이미지 뷰어를 지정해야 합니다.
설정 저장 현재 설정을 표준 imatest-v2.ini 파일에 저장하십시오. 설정 창에서 설정을 파일 이름으로 저장할 수도 있습니다.
출구 안녕!

유틸리티 및 드롭다운 메뉴

ISP 시뮬레이터 창 상단의 드롭다운 메뉴에 있는 몇 가지 유틸리티는 창 내 버튼과 중복됩니다(의도적인 중복).

드롭다운 메뉴의 유틸리티
드롭다운 이름 설명
파일 화면 표시 및/또는 저장 화면을 이미지 뷰어( Irfanview 권장)에서 표시하고 필요에 따라 저장할 수 있습니다. 이 기능은 여러 대화형 모듈에 포함되어 있습니다.
이미지 저장 처리된 이미지를 저장합니다. 일반적으로 이미지는 최대 8비트(아래 참조) 옵션을 선택하지 않는 한 전체 해상도로 저장됩니다.
유사 원본/리모자이킹된 이미지 저장 이미지를 유사 RAW(리모자이킹) 또는 특수 형식으로 저장할 수 있으며, Bayer, RCCC 또는 특정 채널을 선택할 수도 있습니다. 다양한 옵션이 있습니다. 합성 RAW 이미지 항목을 참조하십시오.
이미지를 흑백으로 저장 (컬러일 수도 있는) 이미지를 흑백 이미지로 저장하세요.
이미지를 HDR 형식으로 저장 이미지를 HDR (High Dynamic Range) 형식으로 저장하세요.
엔디안 스왑(16비트, 32비트 입력) 픽셀 내 바이트 순서를 바꿉니다(바이트 순서가 잘못된 드문 경우에 유용합니다).
이미지 파일을 최대 8비트 정밀도로 저장하세요. 기본적으로 선택 해제(비활성화)되어 있습니다. 이 옵션을 선택하면 이미지가 8비트 정밀도로 저장됩니다. (일반적으로는 선택 해제하는 것이 좋습니다.)
이미지를 HDR 형식으로 저장 이미지를 HDR (High Dynamic Range) 형식으로 저장하세요.
보다 컬러바(흑백 또는 컬러) 흑백 또는 컬러: SSIM 및 PSNR 표시에서 사용됩니다. 색상 막대의 색상은 옵션 II 에서 변경할 수 있습니다.
수확고 이미지 분석 작업(MTF, SSIM 등)을 위한 자르기 영역을 선택할 수 있습니다. 분석 및 보기 영역의 자르기 버튼과 동일합니다.
MTF 로그 축 MTF 표시 방식을 선형 축과 로그 축 사이에서 전환합니다.
분석 대부분의 기능은 분석 및 보기 섹션의 버튼과 동일하지만 몇 가지 추가 기능이 있습니다.
이미지 통계 이미지 통계 모듈을 호출하여 히스토그램 및 단면 프로필과 같은 이미지 통계를 볼 수 있습니다.
방사형 기하학 처리된 이미지를 방사형 기하학 모듈로 보내면, 광학적 왜곡, 측면 색수차 및/또는 회전이 추가되거나 수정된 추가 처리된 이미지를 반환할 수 있습니다.
OCR MATLAB의 OCR 함수를 이용한 광학 문자 인식
얼굴 감지 아래에 설명된 Matlab CAMShift 루틴을 사용합니다.
사람을 감지하세요 아래에 설명된 MATLAB의 detectPeopleACF 루틴을 사용합니다. 얼굴 감지보다 효과가 떨어집니다.
돕다 다양한 ISP 시뮬레이션 블록에 대한 설명이 포함된 웹 페이지를 엽니다.

분석 및 보기 제어(Simatest 창 하단 부근의 연두색 상자)

이미지 아래에 있는 버튼이나 분석 드롭다운 메뉴를 통해 표시 방식을 제어할 수 있습니다. 입력 이미지 또는 처리된 이미지를 시각적으로 표시하거나, 입력 이미지와 처리된 이미지를 비교 분석한 결과를 표시하는 방식을 선택할 수 있습니다.

결과 표시 요약: 이미지 아래 버튼 또는 분석 드롭다운 메뉴에서 선택 가능
이미지 통계 이미지 통계 모듈에서 이미지를 열면 단면 분석, 히스토그램 분석, 푸리에 변환 분석 등을 수행할 수 있습니다.
레샤르츠 차트 유형에 따라 MTF(SFR) 및 기타 유형의 처리된 이미지 분석이 수행됩니다.
색상/톤 (상호작용) 처리된 이미지의 회색조 또는 컬러 차트에 대한 톤, 노이즈 또는 동적 범위 분석.
MTF 처리된/입력 이미지의 MTF를 공간 주파수의 함수로 표시합니다. 자르기에 민감합니다.
MTFnn 처리된 이미지/입력 이미지의 MTF70-MTF10 극좌표 그래프를 표시합니다(MTF가 저주파 값의 nn %인 공간 주파수).
MTFnnP 처리된 이미지/입력 이미지의 MTF70P-MTF10P 극좌표 그래프를 표시합니다(MTF가 피크 값의 nn %인 공간 주파수).
SSIM 처리된 이미지와 입력 이미지의 구조적 유사성 지수 (SSIM)를 표시합니다. SSIM 모듈 페이지에서 자세히 설명합니다. PSNR보다 시각적 차이(화질 저하)와 더 높은 상관관계를 보입니다.
PSNR 및 차이 최대 신호 대 잡음비와 처리된 이미지와 입력 이미지 간의 차이를 표시합니다.
OCR MATLAB의 OCR 함수를 사용하여 처리된 이미지에 대한 광학 문자 인식(OCR) 결과입니다.
수확고 계산(SSIM, PSNR, MTF) 및 표시를 위해 이미지를 자릅니다 . 표준 Imatest의 거친 자르기 및 세밀한 자르기 창을 엽니다. 이 방법은 MTF 곡선(이미지에 따라 달라짐)이나 평균 SSIM 계산과 같은 계산에 영향을 미칩니다(세부 SSIM 플롯은 영향을 받지 않음). 자르기 버튼을 누르면 자르기 버튼 아래에 확대/축소 및 자르기 버튼 이 나타납니다. 자른 부분을 제거하려면 자르기 버튼을 누르고 전체 이미지를 선택합니다.
얼굴 감지 MATLAB CAMShift 루틴을 사용한 얼굴 감지 결과입니다.
사람을 감지하세요 아래에 설명된 Matlab detectPeopleACF 루틴을 사용한 사람 감지 결과입니다. 얼굴 감지보다 효과가 떨어집니다.


Simatest 창 하단

이미지 바로 아래 왼쪽에 있는 '입력 보기' 버튼을 누르면 처리된 이미지가 선택된 경우 ' 입력 보기 ', 입력 이미지가 선택된 경우 ' 처리된 이미지 보기 '로 전환됩니다. 이를 통해 두 이미지를 빠르게 시각적으로 비교할 수 있습니다. 하지만 위 이미지처럼 두 이미지를 나란히 놓고 보는 것이 훨씬 효과적 입니다. 이미지를 전환할 때 확대/축소 배율은 유지됩니다. '이미지 통계' , '리차트' , ' 색상/톤 (대화형)' 버튼을 누르면 처리된 이미지가 해당 분석 모듈로 바로 전송됩니다(파일 저장 필요 없음). 이 영역의 다른 버튼들은 대부분 계산 결과를 표시합니다.

SSIM은 구조적 유사성 지수(Structural Similarity Index )를 표시하며, 이에 대한 자세한 내용은 SSIM 모듈 페이지에서 확인할 수 있습니다. SSIM의 주요 용도는 파일 저장(예: 다양한 품질의 JPEG 이미지) 및 데이터 전송 과정에서 발생하는 이미지 압축의 가시적인 영향(즉, 화질 저하)을 측정하는 것입니다.

MTF (변조 전달 함수, 공간 주파수 응답과 동일)는 랜덤 모듈의 계산 방식과 유사하게 2차원 푸리에 변환을 사용하여 처리된 이미지와 입력 이미지 사이의 전달 함수를 계산합니다. 단, 한 가지 주의할 점이 있습니다. 유효한 MTF 결과를 얻으려면 시뮬레이션에 노이즈를 추가해서는 안 됩니다. 2차원 MTF 계산은 노이즈에 매우 민감하기 때문입니다.

언샤프 마스킹이 적용된 가우시안 필터링 이미지의 MTF

고주파수 감쇠는 가우시안 필터 에 의해 발생합니다.

Simatest 설정에서 노이즈 와 필터(가우시안)를 제거한 다음 '계산 업데이트'를 누르면 언샤프 마스크(USM)만 적용했을 때의 MTF(평균 전달 함수)를 확인할 수 있습니다(이 경우 반경 = 1.5, 양 = 2.5). 언샤프 마스킹은 샤프닝 페이지에 설명된 표준 샤프닝과는 다른 스펙트럼 응답을 보입니다. 응답이 주기적이지 않고, 양+1에 수렴하여 높은 값을 유지합니다. Simatest를 사용하여 두 샤프닝 알고리즘을 비교할 수 있습니다. 회색 테두리가 크게 둘러싸인 동전이 쏟아진 차트 이미지는 상대적으로 노이즈가 적었습니다. 다른 이미지들은 훨씬 더 노이즈가 많았습니다.

이는 Simatest를 사용하여 처리 블록이 외관과 측정값 모두에 미치는 영향을 살펴보는 좋은 예입니다.

USM용 MTF (언샤프 마스크: 반경 = 1.5, 양 = 2.5)

광학 문자 인식(OCR)

Imatest 5.0 에는 MATLAB의 OCR 함수( Tesseract-OCR 구현체)를 사용하여 OCR 기능이 추가되었습니다. 사용 방법은 다음과 같습니다.

  • 관심 있는 텍스트가 포함된 이미지를 읽어보세요.
  • 필요한 경우 이미지를 처리합니다. 처리는 이미지 손상(흐림, 노이즈 등)을 적용하여 탐지에 미치는 영향을 확인하거나, 이미지 개선(언샤프 마스크, 양방향 필터링 등)을 통해 탐지 성능을 향상시킬 수 있는지 확인하는 것으로 구성될 수 있습니다.
  • 텍스트 영역만 남도록 이미지를 자릅니다(텍스트 외에 다른 요소가 포함된 중요한 영역이 있는 경우 강력히 권장됨).
  • OCR을 클릭하세요.

이 기능을 사용하면 OCR 창이 열리고 이미지의 특정 영역에 텍스트 인식 작업이 수행됩니다. 오른쪽 샘플 이미지(노이즈(가우시안) = 0.002, 가우시안 필터 2 = 0.7로 약간 손상된 이미지)에 대한 결과는 아래와 같습니다. 이 이미지를 다운로드하여 다양한 손상 및 개선 설정이 OCR 성능에 어떤 영향을 미치는지 직접 실험해 볼 수 있습니다.

미리 경고합니다. MATLAB의 OCR 성능은 그다지 인상적이지 않습니다 . 읽기 쉬워 보이는 텍스트조차도 제대로 인식하지 못하며, 특히 글꼴 크기가 12포인트 미만인 경우 더욱 그렇습니다. 성능은 gImageReader ( Tesseract-ocr의 GUI 프런트엔드) 및 TopOCR 과 같은 여러 무료 또는 저가형 OCR 프로그램과 비슷한 수준입니다.

샘플 이미지: 클릭하면 볼 수 있습니다.
다운로드 가능한 전체 크기 버전입니다.

왼쪽 샘플 이미지는 크기가 20포인트에서 7포인트까지 다양한 Calibri 글꼴(일반, 굵게, 네거티브 굵게)로 된 문자 세트(QWERTYUIOPASDFGHJKLZXCVBNM1234567890)로 구성됩니다. 이 문자들은 자동차 번호판에 사용되는 문자입니다. 해당 파일(여기) 은 Microsoft Word로 생성되었습니다. 이미지의 나머지 부분은 쐐기 모양 영역과 두 개의 고대비 사각형으로 이루어진 향상된 eSFR ISO 차트의 일부입니다. 이 영역을 사용하여 MTF 측정값과 OCR 성능 간의 상관관계를 분석할 수 있습니다.

OCR 창은 샘플 이미지의 약간 손상된 부분을 잘라낸 것에 대한 결과를 보여줍니다.

OCR 설정

문자 부분 집합을 입력하여 유효한 출력 문자를 제한하면 결과 정확도를 향상시킬 수 있습니다( 문자 부분집합이 비어 있으면 모든 문자가 허용됨). 그런 다음 'OCR 계산' 버튼을 누르십시오. 샘플 이미지의 경우, 부분집합은 라틴 대문자와 숫자(자동차 번호판에서 흔히 볼 수 있는 문자)로 구성됩니다. 하지만 이 방법은 정확도를 약간만 향상시킵니다.

QWERTYUIOPASDFGHJKLZXCVBNM1234567890

표준 OCR은 차량 번호판 인식에 그다지 효과적이지 않습니다. Matlab File Exchange 에는 여러 차량 번호판 인식 루틴이 있습니다. 그중 성능이 우수하고 라이선스가 허용하는 루틴이 있다면 한두 개 정도 추가할 수 있습니다.

(표시된) 텍스트 표시가 기본값입니다. 단어 신뢰도와 개별 단어를 표시하는 '단어 신뢰도 및 신뢰도'를 선택할 수도 있습니다. 다음은 표시된 내용의 일부 예시입니다.

0.8545 QWERTYUIOPASDFGHJKLZXCVBNM1234567890
0.8361 QWERTYUIOPASDFGHJKLZXCVBNM123456789O
0.9018 18
0.7842 QWERTVU|OPASDF6HJKLZX(VBNM1234567890
0.8339 16
0.7468 QWEKTYUIOPASDFGHJKLZXCVBNM1234567B90
0.8254 14
0.7252 QWERYYUIOPASDFGI-1JKLZX(\/ENM1Z34567E9(!
0.7784 12
0.5777 QWERTYUWDDASDFGHJI(LZXCVBNM113A567E9u
0.6549 11
0.6276 uwEuHu\onAsur:.r<n<.zxn'aNM:23-4ss7s9u
0.7658m

클립보드에 복사하기 현재 화면의 내용을 클립보드에 복사하여 텍스트 편집기나 다른 응용 프로그램에서 사용할 수 있습니다.

결과를 저장하면 현재 화면이 저장됩니다.

설정 드롭다운 메뉴에서 가변 폭 글꼴 또는 고정 폭 글꼴을 선택할 수 있습니다.

얼굴 및 사람 감지

얼굴 및 사람 감지 기능은 분석 드롭다운 메뉴에서 호출할 수 있습니다. 현재 두 기능 모두 MATLAB 기본 설정을 사용합니다. (향후 옵션 창을 추가할 수 있습니다.) 자세한 내용은 다음을 참조하십시오.

CAMShift 및 detectPeopleACF를 사용한 얼굴 감지 및 추적

얼굴 인식은 사람 인식보다 다소 더 잘 작동합니다. 다음은 http://epaperpress.com/portfolio/columbia.html 에서 염치없이 가져온 이미지를 사용한 예시입니다. 왼쪽이 Imatest의 젖은 저자입니다. 주석을 제거하려면(이미지를 초기화하려면) 계산 업데이트를 클릭하세요.

얼굴 인식 예시 (왼쪽은 젊고, 땀에 젖어 행복해 보이는 Imatest 작가)
얼굴 인식 기능은 대부분의 경우 꽤 잘 작동하지만, 정말... 폴과 존을 어떻게 못 알아볼 수가 있지?

리소스 — 이러한 리소스 대부분은 상당한 프로그래밍 노력을 필요로 합니다.

Ansys SPEOS 시뮬레이터는 Zemax 출력을 사용합니다.

시놉시스 임심

스탠포드 대학교의 ISET는 상당한 프로그래밍 기술을 요구하는 오픈 소스 이미지 처리 함수입니다.

Infinite ISP 문서 - 10xEngineers 제공

오픈ISP