컬러 아티팩트 방지 및 프레임 속도 · 시스템 부하에 미치는 영향
컬러는 산업용 이미지 처리에서 정확한 불량 검출을 위한 핵심 요소입니다. 특히 인쇄 이미지 검사처럼 색상 정밀도가 중요한 어플리케이션에서는 컬러 오류를 철저히 방지해야 신뢰성 있는 검사가 가능합니다. 단, 컬러 오류를 줄이는 과정은 프레임 속도 저하나 호스트 시스템의 연산 부하 증가로 이어질 수 있어, 시스템 전체 성능을 고려한 접근이 필요합니다.

컬러 오류 방지 - 이론
컬러 이미지는 생성 위치와 방식, 그리고 카메라에서 호스트로 전달되는 포맷에 따라 컬러 오류에 큰 영향을 미칩니다.

처리 전 원본 이미지 (RAW)
산업용 카메라는 초기 설정(커미셔닝) 이후, 이미지 정보를 표준적으로 Bayer 8비트 형식으로 호스트 시스템에 전송합니다. 즉, 이미지 센서의 Bayer 매트릭스를 포함한 RAW 이미지 형태로 전달됩니다.
Basler 컬러 카메라가 작동을 시작하면, pylon Viewer는 RAW 이미지를 표시하지 않고, 호스트 시스템에서 수행된 기본적인 컬러 이미지 계산 결과(2x2 디베이어링)를 보여줍니다. 이 단순한 처리 과정은 눈에 띄는 컬러 아티팩트를 유발할 수 있으며, 이를 방지하려면 디베이어링을 카메라 내부에서 직접 수행하는 것이 좋습니다.

디베이어링 위치
Bayer 매트릭스를 사용하는 이미지 센서의 RAW 데이터로부터 컬러 이미지를 생성하는 과정을 디베이어링(Debayering)이라고 합니다. 이 처리는 데이터 전송 이전에 카메라 내에서 수행(출력 포맷: RGB8, YCbCr 계열)될 수도 있으며, 또는 데이터 전송 이후 호스트 시스템에서 수행(출력 포맷: Bayer RAW 포맷)될 수도 있습니다.
디베이어링을 호스트 시스템에서 처리하면 시스템 리소스에 상당한 부담이 생깁니다. 특히 컬러 경계에서의 오류를 줄이려면 고도화된 알고리즘이 필요하기 때문에, 디베이어링은 대부분 카메라의 FPGA에서 직접 처리하는 방식이 선호됩니다. 이는 더 빠르고 안정적인 컬러 품질 확보에 유리한 접근입니다.

디베이어링 알고리즘
디베이어링은 Bayer 센서의 RAW 데이터로부터 컬러 이미지를 생성하기 위해 보간(interpolation)을 사용하는 알고리즘입니다. 일반적인 2x2 디베이어링에서는 인접한 픽셀만을 참조하여 처리하지만, Basler의 특허 기술인 인카메라 PGI 기능에 포함된 5x5 디베이어링은 총 24개의 픽셀을 기반으로 보다 정밀한 컬러 이미지를 생성합니다.
픽셀 정보를 더 많이 활용할수록 색상 경계는 명확해지고, 아티팩트는 눈에 띄지 않게 줄어듭니다.

이미지 데이터 전송
이후 카메라는 처리된 컬러 이미지를 호스트 시스템으로 전송합니다. 사용할 수 있는 픽셀 포맷은 RGB8, YCbCr422_8, YCbCr420_8 등이 있으며, RGB8은 가장 많은 컬러 정보를 제공하지만 데이터 크기도 가장 큽니다. YCbCr422_8은 컬러 정보가 줄어들어 상대적으로 작고, YCbCr420_8은 가장 적은 컬러 정보를 포함하며 데이터 크기도 가장 작습니다.
색상 정보가 적게 전송되면 색상 아티팩트가 발생합니다.
결론: 컬러 오류를 방지하는 핵심은 적절한 디베이어링 방식 선택과 컬러 이미지 데이터를 올바르게 전송하는 데 있습니다. 카메라 내에서 5x5 디베이어링을 수행하고 이후 RGB8 픽셀 포맷으로 데이터를 전송하면 최적의 컬러 이미지를 얻을 수 있습니다.
컬러 오류, 프레임 속도, 연산 부하 간의 상호작용
컬러 이미지 품질에 대한 요구 수준에 따라, 시스템의 프레임 속도와 연산 부하는 달라집니다. 다음은 대표적인 세 가지 시나리오입니다.

최대 이미지 품질
5x5 디베이어링은 카메라의 FPGA에서 수행되며, 이를 통해 완전하게 처리된 고품질의 컬러 이미지가 RGB8 포맷으로 호스트 시스템에 전송됩니다. 이 포맷은 최상의 컬러 품질을 제공하지만, 데이터 용량이 크기 때문에 프레임 속도는 최대 속도의 약 33% 수준으로 감소합니다. 그러나 이미지 처리가 카메라 내에서 완료되므로, 호스트 시스템의 연산 자원은 다른 처리나 분석 작업에 온전히 활용할 수 있습니다.

이미지 품질과 프레임 속도의 균형
5x5 디베이어링을 카메라의 FPGA에서 수행하고, 이미지를 YCbCr422_8 또는 YCbCr420_8과 같은 더 압축된 포맷으로 전송하면, 호스트 시스템으로 전달되는 데이터 양이 줄어듭니다. 이로 인해 프레임 속도는 증가하며, YCbCr422_8의 경우 최대 속도의 약 50%, YCbCr420_8은 최대 약 67%까지 도달할 수 있습니다. 다만 컬러 정보가 줄어들기 때문에 컬러 아티팩트가 발생할 수 있습니다. 하지만 이미지 처리는 카메라에서 이뤄지므로, 호스트 시스템의 연산 자원은 추가적인 이미지 분석 등 다른 작업에 자유롭게 활용할 수 있습니다.

최대 프레임 속도
컬러 정확도보다 프레임 속도가 더 중요한 어플리케이션인가요? 카메라의 최대 프레임 속도를 달성하려면, 디베이어링은 호스트 시스템에서 수행되며, 카메라는 표준 Bayer 8비트 데이터를 전송합니다. 선택한 디베이어링 방식에 따라 컬러 아티팩트를 얼마나 효과적으로 줄일 수 있는지, 그리고 호스트 시스템의 연산 자원이 얼마나 소모되는지가 달라집니다. 이 둘은 반비례 관계에 있으며, 컬러 오류를 줄이려면 더 많은 연산 부하가 필요하고, 연산 부하를 줄이면 컬러 오류가 증가할 수 있습니다. 어떤 경우든, 시나리오 1번과 2번에 비해 호스트 시스템의 연산 부하는 더 커지므로, 다른 이미지 처리나 분석 작업에 사용할 수 있는 자원이 줄어들게 됩니다.
올바른 선택을 위한 도구: 컬러 오류 및 프레임 속도 시뮬레이션
어플리케이션에 어떤 시나리오가 적합한지, 그리고 약간의 컬러 정확도 손실을 감수할 만큼 높은 프레임 속도가 가치 있는 선택인지 확신이 서지 않으시나요? 당사는 보다 정확한 판단을 지원할 수 있는 두 가지 도구를 제공합니다.

컬러 아티팩트 시각화 도구
컬러 아티팩트 시각화 도구에 어플리케이션 이미지를 불러오면, 포맷과 디베이어링 설정이 컬러 정확도(ΔE)에 미치는 영향을 시각적으로 비교할 수 있습니다.
RGB 이미지 는 컬러 오류가 없는 기준 이미지로 사용됩니다. 카메라에서 5x5 디베이어링을 통해 계산된 이미지는 RGB 포맷으로 호스트 시스템에 전송됩니다.
YCbCr422_8 및 YCbCr420_8 포맷은 비교적 작은 컬러 오류를 보입니다. 이는 카메라에서 5x5 디베이어링으로 계산된 컬러 이미지가 더 압축된 포맷으로 호스트 시스템에 전송되기 때문입니다.
Bayer8 포맷을 사용할 경우, 특히 색상 경계에서 컬러 오류가 눈에 띄게 발생할 수 있습니다. 디베이어링은 전송된 Bayer 8비트 데이터를 기반으로 호스트 시스템에서 처리되며, 각 포맷은 서로 다른 디베이어링 알고리즘의 특성을 반영합니다.

프레임 속도 계산기
프레임 속도 계산기는 카메라와 픽셀 포맷 조합에 따라 달성 가능한 프레임 속도를 확인할 수 있도록 도와줍니다.
카메라 모델과 최소 픽셀 포맷을 선택하세요. "계산" 를 클릭하면 최대 프레임 속도를 확인할 수 있습니다.
PGI 기능 세트에 포함된 5x5 디베이어링을 지원하는 Basler 카메라 라인업
5x5 디베이어링은 특허 받은 인카메라 PGI 기능 세트에 포함되어 있으며, 이 알고리즘은 탁월한 컬러 이미지를 제공합니다.