하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술 되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 실시 예는 다수의 감시 카메라들이 서로 다른 조명 환경에서 촬영된 영상으로부터 동일 객체를 자동으로 검출하기 위한 색 보정 방법을 제공한다.
구체적으로, 본 발명은 서로 다른 조명 색의 색상 값을 분석하기 위해 색상 패턴 보드를 이용하여 조명 색상 벡터들을 산출하고, 상기 조명 색상 벡터들의 차이를 통하여 기준 조명 영상(또는 목표 조명 영상)으로의 변환 벡터들을 결정한다. 이후, 상기 변환 벡터들을 이용하여 서로 다른 조명 영상들에 대한 색상 보정을 수행한다.
본 발명의 실시 예에 따른 색 보정 방법은 크게 서로 다른 조명 색상 벡터를 계산하여 변환 벡터를 생성하는 과정과 상기 변환 벡터를 이용하여 입력 영상의 색상을 보정하는 과정으로 이루어진다.
이하에서는, 본 발명의 바람직한 실시 예에 대해 도면을 참조하여 상세히 설명하도록 한다.
도 1은 본 발명의 바람직한 실시 예에 따른 감시 카메라 시스템을 도시하고 있다. 도 1을 참조하면, 상기 시스템(100)은 다수의 감시 카메라들(102_1~102_n), 영상 처리부(104) 및 영상 표시부(110)를 포함한다. 이하, 본 발명의 내용과 관련 없는 상기 시스템(100)의 다른 구성 요소들에 대해서는 생략하도록 한다.
다수의 감시 카메라들(102_1~102_n)은 서로 다른 장소에 설치되어 보행자와 사물 등을 촬영한다. 상기 감시 카메라들이 설치된 장소들은 서로 다른 조명 환경을 가짐을 가정한다. 상기 감시 카메라는 렌즈를 통해 입력된 영상 신호를 데이터 패킷 형태로 변환한 후 상기 영상 처리부(104)로 제공한다.
상기 영상 처리부(104)는 변환 벡터 생성부(106)와 색상 보정부(108)를 포함한다. 상기 변환 벡터 생성부(106)는 서로 다른 조명 환경 하에서 색상 패턴 보드 를 이용하여 서로 다른 조명 색상 벡터들을 계산하고, 상기 서로 다른 조명 색상 벡터들을 이용하여 변환 벡터들을 생성하는 기능을 수행한다.
상기 변환 벡터들을 생성하는 과정은 서로 다른 조명 조건의 카메라들을 통해 보행자 및 사물 등을 촬영하기 전에 미리 계산되어 설정된다. 즉, 서로 다른 조명 조건의 카메라들이 색상 패턴 보드를 촬영하여 서로 다른 조명 색상 정보를 분석하고, 각 조명 간 RGB 색상 요소 별 차이인 변환 벡터들을 미리 계산하여 설정한다.
한편, 상기 색상 보정부(108)는 상기 변환 벡터 생성부(106)로부터 제공된 변환 벡터들을 이용하여 서로 다른 조명 환경에서 촬영된 영상에 대해 색상 보정 기능을 수행한다.
먼저, 상기 변환 벡터 생성부(106)가 색상 패턴 보드를 이용하여 서로 다른 조명 환경 하에서의 조명 색상 벡터를 산출하는 방법에 대해 설명하도록 한다.
카메라 프로파일을 제작하기 위해 가장 많이 사용하는 색상 패턴 보드는 그래탁 멕베스의 컬러 체커(Gretag Macbeth Color Checker) 시리즈이다. 이 시리즈에는 인간의 시각적 감각에 기본을 두고 제작된 24개의 패치로 구성된 컬러 체커(Macbeth Color Checker), 140개의 반 광택 패치로 구성된 컬러 체커 SG 타깃 및 디지털 카메라를 위해 237 패치로 제작된 컬러 체커 DC 타깃이 있다.
이하, 본 발명의 바람직한 실시 예에서는 상기 24개의 패치로 구성된 컬러 체커(또는 24색 멕베스 색상 패턴 보드)를 사용하여 조명 색상 벡터를 산출하는 것에 대해 설명하도록 한다. 상기 색상 패턴 보드로 상기 24색 멕베스 색상 패턴 보 드가 아닌 다른 색상 보드가 사용될 수 있음은 당업자에게 자명하다.
우선, 서로 다른 조명 조건에 존재하는 감시 카메라들이 상기 색상 패턴 보드를 촬영한다. 도 2는 서로 다른 두 조명 환경에서 촬영된 영상들을 도시하고 있다. 상기 도 2를 참조하면, 서로 다른 두 조명 환경에서 촬영된 색상 패턴 보드의 색상 및 사물의 색상이 다르게 나타남을 확인할 수 있다.
설명의 편의상, 도 2 및 이하의 설명에서는 두 개의 서로 다른 조명 환경(조명 A, 조명 B)에서 촬영된 영상들을 예시하고 있으나 이보다 더 많은 다수의 조명 환경에서 촬영된 영상들을 기초로 조명 색상 벡터들을 산출할 수 있음은 당업자에게 자명하다.
상기 감시 카메라들로부터 촬영된 각각의 영상은 상기 변환 벡터 생성부(106)로 제공된다. 상기 변환 벡터 생성부(106)는 조명 A에서 촬영된 영상으로부터, 24색 각각에 해당하는 색상 패치 영역 i에 대하여 평균 RGB 값(Ri, Gi, Bi)을 계산한다. 또한, 상기 변환 벡터 생성부(106)는 조명 B에서 촬영된 영상에 대해서도 24색 각각에 해당하는 색상 패치 영역 i에 대하여 평균 RGB 값(R'i, G'i, B'i)을 계산한다.
조명 A를 위한 조명 색상 벡터(Vec_A)와 조명 B를 위한 조명 색상 벡터(Vec_B)는 상기 변환 벡터 생성부에 의해 계산된 24 개의 색상 패치 영역들 각각에 대한 평균 RGB 값들로 이루어진 벡터이다.
즉, 상기 조명 색상 벡터 Vec_A와 조명 색상 벡터 Vec_B는 다음과 같이 정의 된다.
Vec_A : (R1, G1, B1, R2, G2, B2, ....., R24, G24, B24)
Vec_B : (R'1, G'1, B'1, R'2, G'2, B'2, ....., R'24, G'24, B'24)
이처럼, 상기 변환 벡터 생성부(106)는 서로 다른 조명 환경 하에서 상기 색상 패턴 보드를 이용하여 조명 색상 벡터들을 계산한다. 이후, 상기 변환 벡터 생성부(106)는 서로 다른 조명 영상들 중 기준이 되는 조명 영상을 선택한 후 상기 기준 조명 영상으로의 변환 벡터를 결정한다.
예를 들어, 조명 A의 영상을 기준 조명으로 하는 경우, 상기 기준 조명 영상을 기초로 서로 다른 조명 환경에서의 영상들에 색상 보정을 수행한다. 서로 다른 조명 환경에서의 영상들에 색상 보정을 수행하기 위해서는, 서로 다른 조명 환경에서의 미리 설정된 변환 벡터들이 요구된다.
조명 B의 영상을 기준 조명 영상으로의 색상 보정하기 위한 변환 벡터는 상기 24개의 색상 패턴 보드 상의 패치들 각각에 대해 계산된다. 구체적으로, 상기 변환 벡터는 각각의 색상 패치 별로 기준 조명 영상(조명 A)의 평균 RGB 값에서 대조 영상(조명 B)의 평균 RGB 값을 감산하여 계산된다.
상기 조명 B의 색상 패치 i의 변환 벡터 Ci는 다음과 같이 정의된다.
Ci : (Ri-R'i, Gi-G'i, Bi-B'i)
그리고, 조명 B 영상에서 기준 조명 영상으로의 변환 벡터 CA-B는 각 색상 패 치들의 변환 벡터에 의하여 하기와 같이 24개의 변환 벡터들로 정의된다.
CA-B : (C1, C2, C3, C4, ...., C24)
도 3은 본 발명의 실시 예에 따라 각 색상 패치 별 변환 벡터를 시뮬레이션한 결과를 도시하고 있다. 도 3을 참조하면, 짙은 파란색의 셀은 조명 B에서 기준 조명(조명 A)으로 변환하기 위하여 계산한 각 색상 패치 별 RGB 평균값의 차를 계산한 변환 벡터 Ci를 나타낸다.
이처럼, 상기 변환 벡터 생성부(106)는 서로 다른 조명 영상들 중에서 기준 조명 영상을 선택하고, 상기 기준 조명 영상을 제외한 다른 조명 영상들 각각에 대한 변환 벡터들(Ci)을 생성한 후 저장한다.
한편, 상기 색상 보정부(108)는 상기 변환 벡터 생성부(106)로부터 제공된 변환 벡터들을 서로 다른 조명 환경에서 촬영된 입력 영상들에 반영하여 색상 보정 영상들을 출력한다. 즉, 전술한 조명 B를 위한 각각의 색상 패치 별 변환 벡터 Ci를 조명 B 환경에서 촬영된 입력 영상의 화소값에 반영하여 보정 영상을 획득한다.
이를 위해, 상기 색상 보정부(108)는 상기 조명 B 환경에서 촬영된 영상 각각의 화소값에 반영할 변환 벡터 Ci에 대응되는 상기 조명 B의 색상 패치 영역을 결정하여야 한다.
예를 들어, 상기 조명 B 환경에서 촬영된 영상 각각의 화소값을 (Rxy, Gxy, Bxy)라 한다면, 상기 각각의 화소값에 적용할 변환 벡터에 대응하는 색상 패치 인덱 스는 하기 <수학식1>과 같이 계산된다.
즉, 상기 색상 패치 인덱스(i)는 상기 화소값(Rxy, Gxy, Bxy)과 조명 B의 색상 패치들 각각의 평균값과의 거리가 최소가 되는 상기 조명 B의 색상 패치 영역이다. 상기 색상 패치 인덱스(i)는 조명 B 환경에서 촬영된 영상의 화소값과 가장 유사한 색상을 가지는 24개의 색상 패치들 중 하나를 의미한다.
상기 색상 패치 인덱스(i)가 결정되면, 상기 색상 보정부(108)는 상기 입력 화소값(Rxy, Gxy, Bxy)에 상기 색상 패치 i를 위한 변환 벡터 Ci를 가산하여 보정 색상(R'xy, G'xy, B'xy)을 출력한다. 즉, 상기 보정 색상 (R'xy, G'xy, B'xy)은 하기 <수학식 2>와 같이 계산된다.
(R'xy, G'xy, B'xy) = (Rxy, Gxy, Bxy) + (Ri-R'i, Gi-G'i, Bi-B'i)
상기 색상 보정부(108)는 서로 다른 조명 환경에서 입력되는 영상들에 대해 상기 색상 보정을 수행한 후 영상 표시부(110)로 출력한다. 사용자는 상기 영상 표시부(110)를 통해 서로 다른 조명 환경에서 촬영된 영상으로부터 동일 객체를 용이하게 검출할 수 있다.
도 4는 서로 다른 두 조명 환경에서 색상 보정 전/후의 변화를 도시한 도면 이다. 도 4를 참조하면, 색상 비교 대상 객체인 개구리 인형과 노란색 클립 통, 붉은 색 하트 볼 영역의 보정 전후의 색상을 보이고 있다.
보정 전 조명 A 영상의 객체와 조명 B 영상의 객체 간에 큰 색상 차이를 보임을 확인할 수 있다. 그러나, 상기 조명 B 영상에 색상 보정을 수행한 결과, 상기 조명 A의 색상과 흡사하게 조정됨을 확인할 수 있다.
이상, 본 발명은 서로 다른 조명 환경에서 촬영된 객체 간 색상 비교를 위하여 변환 벡터를 생성하는 전처리 절차와 상기 전처리의 결과 획득된 변환 벡터를 이용하여 보정 영상을 획득하는 효율적인 색 보정 방법을 제공한다.
도 5는 본 발명의 바람직한 실시 예에 따라 서로 다른 조명 영상 간에 색상 보정을 수행하는 과정을 도시하고 있다.
도 5를 참조하면, 502 단계에서 상기 변환 벡터 생성부는 서로 다른 조명 환경에서 색상 패턴 보드를 촬영한 다수의 감시 카메라들로부터 서로 다른 조명 영상들을 수신한다.
504 단계에서, 상기 변환 벡터 생성부는 서로 다른 조명 영상들 각각에 대해 색상 패치 영역 별로 평균 RGB 값을 계산하여 조명 색상 벡터들을 검출한다.
506 단계에서, 상기 변환 벡터 생성부는 서로 다른 조명 영상들 중 색상 보정을 수행하기 위한 기준 조명 영상을 선택한다. 상기 기준 조명 영상을 제외한 나머지 조명 영상들은 편의상 대조 조명 영상 또는 비교 조명 영상이라 지칭한다.
508 단계에서, 상기 변환 벡터 생성부는 상기 기준 조명 영상에 대응하는 조명 색상 벡터와 상기 대조 조명 영상들 각각에 대응하는 조명 색상 벡터들을 이용 하여 변환 벡터를 생성한다. 즉, 상기 변환 벡터 생성부는 색상 패치 별로 기준 조명 영상의 평균 RGB 값에서 대조 조명 영상의 평균 RGB 값을 감산하여 변환 벡터를 산출한다. 상기 변환 벡터 생성부는 서로 다른 조명 조건에 따라 미리 설정된 색상 패치 별 변환 벡터들을 저장한 후 상기 색상 보정부로 제공한다.
510 단계에서, 상기 색상 보정부는 서로 다른 조명 조건의 감시 카메라들로부터 입력되는 영상에 상기 변환 벡터 생성부로부터 제공된 변환 벡터들을 반영하여 색상 보정을 수행한다. 즉, 상기 색상 보정부는 상기 감시 카메라로부터 입력되는 영상 각각의 화소값에 반영할 변환 벡터에 대응하는 색상 패치 영역을 계산한다. 상기 색상 보정부는 상기 화소값에 상기 계산된 색상 패치 영역에 해당하는 변환 벡터를 가산하여 보정 영상을 획득한다.
전술한 과정을 통해, 본 발명은 서로 다른 조명 환경에서 촬영된 객체 간 색상 비교를 위하여 변환 벡터를 생성하는 전처리 절차와 상기 전처리의 결과 획득된 변환 벡터를 이용하여 보정 영상을 획득하는 방법을 제공한다.
한편 이상에서는 본 발명의 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되지 않으며, 후술 되는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.