비디오 라이브러리의 화상과 같은 어플리케이션에서는 비디오 화상 혹은 정지 화상 중에 나타나는 오브젝트의 윤곽이나 형상 또는 오브젝트의 일부의 효율적인 표시 및 보존을 행하는 것이 바람직하다. 형상 베이스의 인덱싱과 검색을 행하기 위한 공지의 수법에서는 곡률 스케일 공간(CSS) 표시가 이용된다. CSS의 상세에 대해서는 논문 「Robust and Efficient Shape Indexing through Curvature Scale Space」(영국 머신·비전 회보 pp.53∼62, 에딘버러, 영국, 1996년) 및 「Indexing an Image Database by Shape Content using Curvature Scale Space」(지능 데이터 베이스에 관한 IEE전문가 회의 회보, 런던, 1996년)의 중에서 입수할 수가 있다. 양 논문 모두 Mokhtahan, S.Abbasi 및 J.Kittler에 의한 것으로 그 내용은 본 명세서 중에 참고 문헌으로서 도입되어 있다.
CSS 표시에서는 오브젝트의 윤곽을 구하기 위해 곡률 함수가 사용되며, 윤곽 상의 임의의 점에서 표시가 개시된다. 형상을 평활화하는 일련의 변형을 행함으로써 윤곽의 형상을 전개하면서 곡률 함수가 검토된다. 더 구체적으로는, 가우스 필터의 군으로 컨벌루션 처리된 곡률 함수의 도함수의 제로 크로스가 계산된다. 곡률 스케일 공간으로서 주지하는 바와 같이, 제로 크로스는 그래프 상에 플롯된다. 단, x축은 곡선의 정규화된 호 길이이며, y축은 전개 파라미터, 특히, 적용 필터의 파라미터이다. 그래프 상의 플롯은 윤곽의 특징을 나타내는 루프를 형성한다. 오브젝트의 윤곽의 각 볼록형 또는 오목형을 이루는 부분은 CSS 화상에 있어서의 루프에 대응된다. CSS 화상에 있어서 가장 돌기된 루프의 피크의 세로 좌표는 윤곽의 표시로서 이용된다.
입력 오브젝트의 형상에 일치하는, 데이터 베이스 중의 보존 화상의 오브젝트를 검색하기 위해 입력 형상의 CSS 표시가 계산된다. 매칭 알고리즘을 이용하여 각각의 CSS 화상의 피크의 위치 및 높이를 비교함으로써 입력 형상과 보존 형상 사이의 유사도가 판정된다.
스케일의 변화, 회전, 어떠한 윤곽의 변형 및 사영 변환과 같은 작상 상태의 변화 하에서도 변하지 않는 오브젝트의 윤곽 표시가 얻어지는 것이 바람직하다. 또한, 더 넓은 클래스의 범위에서, 형상의 변동에 대하여 둔감한 방법으로 형상을 나타내는 것이 바람직하다. 예를 들면, 오브젝트 '차(車)'의 표시를 그 차의 모델과 메이커에 대하여 불변으로 하여 추출된 특징 표시를 이용하여 모든 것을 차답게표시하는 형상을 용이하게 검색할 수 있도록 하는 쪽이 좋다.
따라서 본 발명은 화상에 대응하는 신호를 처리함으로써 정지 화상 또는 비디오 화상 중에 나타내는 오브젝트를 표시하는 방법을 제공하는 것으로, 상기 방법은 오브젝트의 윤곽 상에 나타나는 특징을 표시하는 복수의 수치를 도출하는 단계와, 상기 수치에 대하여 스칼라 또는 비선형 변환을 적용하여 윤곽의 표시를 얻는 단계를 갖는다. 바람직하게는, 이 변환은 비선형 변환인 것이 바람직하다. 바람직하게는, CSS 표시를 이용하는 것이 바람직하며, 더 바람직하게는, 전개 파라미터에 대응하는 피크의 높이를 나타내는 수치를 변환하는 것이 바람직하다.
본 발명의 경우와 같이, 특히 CSS치에 대하여 변환을 적용함으로써 오브젝트 검색의 퍼포먼스가 개선하는 것이 판명되었다.
〈발명의 개시〉
본 발명에 따른 청구항 1에 기재된 화상 중의 오브젝트를 표시하는 방법은, 정지 화상 또는 비디오 화상에 대응하는 신호를 처리함으로써 화상 중에 나타나는 오브젝트를 표시하는 방법에 있어서, 오브젝트의 윤곽 상에 나타나는 특징을 표시하는 복수의 수치를 도출하는 단계와, 스케일링 변환 또는 비선형 변환을 수치에 대하여 적용시켜 윤곽의 표시를 얻는 단계를 갖는다.
본 발명에 따른 청구항 2에 기재된 화상 중의 오브젝트를 표시하는 방법은, 수치가 윤곽상의 굴곡점을 반영한다.
본 발명에 따른 청구항 3에 기재된 화상 중의 오브젝트를 표시하는 방법은, 평활화 파라미터를 이용하여 복수의 단계에서 윤곽을 평활화함으로써 윤곽의 곡률스케일 공간 표시를 도출하고 그 결과 복수의 윤곽 곡선을 얻는 단계와, 각 윤곽 곡선 상의 특징점을 나타내는 수치를 이용하여 원래의 윤곽의 특징을 나타내는 곡선을 도출하는 단계와, 특징을 나타내는 곡선의 피크의 세로 좌표를 선택하는 단계를 지니고, 변환이 피크의 세로 좌표치에 대하여 적용된다.
본 발명에 따른 청구항 4에 기재된 화상 중의 오브젝트를 표시하는 방법은, 특징점이 각 윤곽 곡선의 곡률에 관한 것이다.
본 발명에 따른 청구항 5에 기재된 화상 중의 오브젝트를 표시하는 방법은, 특징점이 윤곽 곡선의 곡률의 최대치와 최소치에 관한 것이다.
본 발명에 따른 청구항 6에 기재된 화상 중의 오브젝트를 표시하는 방법은, 정지 화상 또는 비디오 화상에 대응하는 신호를 처리함으로써, 화상 중에 나타나는 오브젝트를 표시하는 방법에 있어서, 오브젝트의 윤곽의 곡률 스케일 공간 표시를 도출하는 단계와, 곡률 스케일 공간에서 피크의 세로 좌표를 선택하는 단계와, 피크의 세로 좌표치에 대하여 지명하지 않은 변환을 적용하여 오브젝트의 윤곽의 표시를 얻는 단계를 갖는다.
본 발명에 따른 청구항 7에 기재된 화상 중의 오브젝트를 표시하는 방법은 변환이, CSS 표시 중의 평활화 파라미터에 대응하는 세로 좌표치에 대하여 적용되는 본 발명에 따른 청구항 8에 기재된 화상 중의 오브젝트를 표시하는 방법은 변환이 윤곽에 따른 호 길이 파라미터에 대응하는 세로 좌표치에 적용된다.
본 발명에 따른 청구항 9에 기재된 화상 중의 오브젝트를 표시하는 방법은, 변환이 스케일링 변환이다.
본 발명에 따른 청구항 10에 기재된 화상 중의 오브젝트를 표시하는 방법은 변환이 비선형 변환이다.
본 발명에 따른 청구항 11에 기재된 화상 중의 오브젝트를 표시하는 방법은 변환이 z'= a*pow(z, b)+ c의 형태에 있어서, a, b, c가 상수이며, pow(z, b)가 Zb를 나타낸다.
본 발명에 따른 청구항 12에 기재된 화상 중의 오브젝트를 표시하는 방법은 b가 0보다 크고 1 미만이다.
본 발명에 따른 청구항 13에 기재된 화상 중의 오브젝트를 표시하는 방법은 b가 0.25<b≤0.75의 범위에 있다.
본 발명에 따른 청구항 14에 기재된 화상 중의 오브젝트를 표시하는 방법은 b=0.5이다.
본 발명에 따른 청구항 15에 기재된 화상 중의 오브젝트를 검색하는 방법은 정지 화상 또는 비디오 화상에 대응하는 신호를 처리함으로써 화상 중의 오브젝트를 검색하는 방법에 있어서, 2차원의 윤곽의 형태로 쿼리를 입력하는 단계와, 청구항 1 내지 10 중 어느 한 항에 기재된 방법을 이용하여 윤곽의 기술자를 도출하는 단계와, 청구항 1 내지 10 중 어느 한 항에 기재된 방법을 이용하여 도출된 보존 화상 중의 오브젝트의 기술자를 얻는 단계와, 보존된 오브젝트의 각 기술자와 쿼리기술자를 비교하여 비교에 의해 쿼리와 오브젝트 사이의 유사도의 정도가 표시되는 대상 오브젝트를 포함하는 화상에 대응하는 적어도 1개의 결과를 선택하여 표시하는 단계를 갖는다.
본 발명에 따른 청구항 16에 기재된 화상 중의 오브젝트를 표시 또는 검색하는 장치는 청구항 1 내지 15 중 어느 한 항에 기재된 방법을 실행하기 위해 적합하다.
본 발명에 따른 청구항 17에 기재된 화상 중의 오브젝트를 표시 또는 검색하는 컴퓨터 프로그램은 청구항 1 내지 15 중 어느 한 항 기재의 방법을 실행한다.
본 발명에 따른 청구항 18에 기재된 화상 중의 오브젝트를 표시 또는 검색하는 컴퓨터 시스템은 청구항 1 내지 15 중 어느 한 항에 기재된 방법에 따라 작동하도록 프로그램되어 있다.
본 발명에 따른 청구항 19에 기재된 컴퓨터 판독 가능 기억 매체는, 청구항 1 내지 15 중 어느 한 항에 기재된 방법을 실현하기 위한 컴퓨터로 실행 가능한 처리를 보존한다.
본 발명에 따른 청구항 20에 기재된 화상 중의 오브젝트를 표시하는 방법은 첨부 도면을 참조하여 본 명세서에서 설명한 것과 실질적으로 동일하게, 정지 화상 또는 비디오 화상 중의 오브젝트를 나타낸다.
본 발명에 따른 청구항 21에 기재된 화상 중의 오브젝트를 검색하는 방법은 첨부 도면을 참조하여 본 명세서에서 설명한 것과 실질적으로 동일하게, 정지 화상 또는 비디오 화상 중의 오브젝트를 검색한다.
본 발명에 따른 청구항 22에 기재된 화상 중의 오브젝트를 표시 또는 검색하는 컴퓨터 시스템은 첨부 도면을 참조하여 본 명세서에서 설명한 것과 실질적으로동일하다.
도 1은 비디오 데이터 베이스 시스템의 블록도.
도 2는 오브젝트의 윤곽의 도면.
도 3은 도 2의 윤곽을 나타내는 CSS 표시의 도면.
도 4는 임의의 형상의 표시를 예시하는 도면.
도 5는 임의의 오브젝트의 형상을 나타내는 도면.
도 6은 도 5의 형상의 CSS 표시의 도면.
도 7은 도 5의 형상이 변환된 표시의 도면.
도 8은 검색 방법을 예시하는 블록도.
〈발명을 실시하기 위한 최량의 형태〉
첨부 도면을 참조하여 본 발명의 실시예에 대하여 설명한다.
(실시예 1)
도 1은 본 발명의 실시예에 따른 컴퓨터 처리를 행하는 비디오 데이터 베이스 시스템을 나타낸다. 이 시스템에는 컴퓨터 형태의 제어 장치(2), 모니터 형태의 표시 장치(4), 마우스 형태의 포인팅 디바이스(6), 보존된 정지 화상과 비디오 화상을 포함하는 화상 데이터 베이스(8) 및 화상 데이터 베이스(8)에 보존된 화상 중에 나타나는 오브젝트 또는 오브젝트 중 몇 개 부분의 기술자(記述子)를 보존하는 기술자 데이터 베이스(10)가 포함된다.
화상 데이터 베이스의 화상 중에 나타나는 흥미가 있는 각 오브젝트의 형상을 나타내는 기술자는 제어 장치(2)에 의해 도출되고, 기술자 데이터 베이스(10)에 보존된다. 제어 장치(2)는 이하에 설명하는 바와 같은 방법을 실행하는 적절한 프로그램의 제어에 의해 동작하여 기술자를 도출한다.
첫째로, 소정의 오브젝트의 윤곽에 대하여 이 윤곽의 CSS 표시가 도출된다. 상술한 논문 중 하나에 기재되어 있는 주지의 방법을 이용하여 이 CSS 표시가 행해진다.
또한 구체적으로는, 이 윤곽은 사상 표현 Ψ={(x(u), y(u), u∈[0, 1]}에 의해 표시된다 (단, u는 정규화된 호 길이 파라미터임).
이 윤곽은 ID 가우스 커넬 g(u, ρ)를 이용하여 컨벌루션 처리를 행함 (convolve) 으로써 평활화되고, ρ의 변화로서 전개(evolving) 곡선의 곡률 제로 크로스가 조사된다. 제로 크로스는 곡률을 나타내는 하기의 식을 이용하여 특정된다.
단,
또한,
상기에서, *는 컨벌루션 처리를 나타내며, 첨자는 도함수를 나타낸다.
곡률 제로 크로스의 수는 σ의 변화에 따라 변화되고, σ가 충분히 높을 때Ψ는 제로 크로스의 볼록형의 곡선으로 된다.
제로 크로스 포인트 (u, σ)는 CSS 화상 공간으로서 알려진 그래프 상에 플롯된다. 이 결과 복수의 특징을 나타내는 곡선이 생긴다. 이 특징을 나타내는 곡선의 피크가 특정되고, 대응하는 세로 좌표가 추출되어 보존된다. 일반적으로 상기한 결과, n개의 좌표쌍((x1, y1), (x2, y2),... (xn, yn)의 집합(단, n은 피크의 수, xi는 i번째의 피크의 호 길이의 위치, yi는 피크의 높이임)이 주어진다.
본 실시예에서는, 가우스 필터의 근사치로서 계수(1/4, 1/2, 1/4)의 2항 필터가 이용되어 계산 상의 복잡함이 약간 감소된다. 이 계산 상의 복잡함의 감소는 DSP나 범용 프로세서 상에서 효율적으로 실행할 수가 있는 편리한 필터 계수로부터 그 결과로서 생기는 것이다.
계속해서, 피크치, 즉 피크를 나타내는 y 성분치는 또한 처리된다. 구체적으로는, y치는 다음의 변환을 이용하여 변환된다.
단, pow(y, b)는 yb를 나타낸다.
이 결과, 피크치[(x1, y'1),(x22, y'2)...(xn,y'n)]로 이루어지는 새로운 집합이 생겨, 이들 수치는 윤곽을 나타내는 기술자로서 기술자 데이터 베이스에 보존된다.
특정한 예로서, 도 2에 도시한 윤곽은 도 3에 도시한 바와 같은 CSS 화상을결과로서 얻어진다. CSS 화상 중의 곡선의 피크의 세로 좌표의 상세를 이하의 표 1에 나타낸다.
피크 인덱스 |
X |
Y |
1 |
0.124 |
123 |
2 |
0.68 |
548 |
3 |
0.22 |
2120 |
4 |
0.773 |
1001 |
5 |
0.901 |
678 |
계속해서, a=6, b= 0.5, c=0을 이용하여 상기한 변환이 적용된다. 즉, 원래의 y치의 평방근을 계산하여 이것에 상수를 곱한다. 이 결과 이하의 수치가 얻어진다:
피크 인덱스 |
X |
Y |
1 |
0.124 |
67 |
2 |
0.68 |
140 |
3 |
0.22 |
276 |
4 |
0.773 |
190 |
5 |
0.901 |
156 |
여기서, 이들 수치는 가장 가까운 정수로 라운딩되지만, 다른 라운딩 방법을 이용하여도 좋다.
(실시예 2)
다른 예를 도 4에 도시한다.
도 5는 오브젝트 형상(이 경우에는 거북이를 예로 든다)에 대한 또 하나의 예를 도시하는 것이다. 도 6은 도 5의 형상의 CSS 피크를 나타낸다. 도 7은 a=6, b=0.5, c=0을 이용하여 상기 수학식 1에서 나타내는 변환을 이용한 도 6의 변환된 피크를 나타낸다.
보존된 기술자는 검색 목적으로 이용된다. 사용자는 포인팅 디바이스를 이용하여 디스플레이 상에 오브젝트의 윤곽을 그림으로써 검색을 개시한다 (단계 510). 계속해서, 제어 장치(2)가 입력 윤곽의 CSS 표시를 도출하고 (단계 520), 계속해서, 상술된 바와 같이 y치에 대한 변환이 적용된다 (단계 530). 계속해서, 이 결과 생기는 입력 윤곽의 기술자는 이하 모델 기술자로서 알려지는 기술자 데이터 베이스에 보존된 각 기술자와 공지의 매칭 순서를 이용하여 비교된다 (단계 540).
이 매칭 비교는 적절한 알고리즘을 이용하여 행해지며, 데이터 베이스에 각 기술자의 유사도 측정치가 결과로서 얻어진다. 상술의 논문에 기재되어 있는 바와 같은 공지의 매칭 알고리즘을 이용하여도 좋다. 이 매칭 수순에 대하여 이하 간단히 설명한다.
2개의 폐쇄된 윤곽의 형상, 화상 곡선 Ψi와 모델 곡선 Ψm 및 이들 곡선의 피크의 각각의 설정치 {(xi1, yi1), (xi2, yi2),.., (xin, yin)}과 {(xm1, ym1), (xm2, ym2),.., (xmn, ymn)}가 주어지면, 유사도 측정치는 계산된다. 유사도 측정치는 화상 중의 피크와 모델 중의 피크의 매칭의 총 비용으로서 정의된다. 총 비용을 최소화하는 매칭은 다이내믹 프로그래밍을 이용하여 계산된다. 알고리즘에 의해 모델로부터 얻은 피크가 화상으로부터 얻은 피크에 재귀적으로 매치되고, 이러한 매치의 각각의 비용 계산이 행해진다. 각 모델의 피크를 유일한 화상 피크와 매치시킬 수 있어, 각 화상 피크를 유일한 모델 피크와 매치시킬 수 있다. 모델 및/또는 화상 피크 내에는 매치되지 않은 상태 그대로 있는 경우도 있고, 각 매치되지 않은 피크에 대해서는 추가의 페널티 비용이 존재한다. 2개의 피크의 수평 거리가 0.2 미만인 경우, 2개의 피크를 매치할 수 있다. 매치의 비용은 2개의 매치된 피크 사이의 직선 길이이다. 매치되지 않은 피크의 비용은 그 높이이다.
더 상술하면, 알고리즘은 노드가 매치된 피크에 대응하는 트리형의 구조를 작성하고 확장함으로써 기능한다.
1. 화상(xik, yik)의 최대치와 모델(xir, yir)의 최대치로 이루어지는 개시 노드를 작성한다.
2. 화상 피크의 최대치의 80% 이내의 각 잔여 모델 피크에 대하여 추가의 개시 노드를 작성한다.
3. 1 및 2에서 작성한 각 개시 노드의 비용을 이 개시 노드와 링크된 화상 피크 및 모델 피크의 y좌표의 차의 절대치로 초기화한다.
4. 3의 각 개시 노드에 대하여, 이 개시 노드에서 매치된 모델 피크와 화상 피크의 x(수평) 좌표의 차로서 정의하는 CSS 시프트 파라미터 알파를 계산한다. 시프트 파라미터는 각 노드에 관해 다른 것이 된다.
5. 각 개시 노드에 대하여 모델 피크의 리스트 및 화상 피크의 리스트를 작성한다. 이 리스트에는 어떤 피크가 아직 매치되어 있지 않은지에 관한 정보가 포함된다. 각 개시 노드에 대하여 "매치된 것"으로서 이 노드에서 매치된 피크에 마킹하고, 다른 모든 피크에는 "매치되지 않은 것"으로서 마킹한다.
6. 포인트 8의 조건이 만족될 때까지, 최저 비용의 노드를 재귀적으로 확대한다 (단계 1 내지 단계 6에서 작성한 각 노드로부터 시작하여, 각 노드의 자(子)노드가 후에 계속된다). 노드를 확대하기 위해 이하의 수순을 이용한다.
7. 노드의 확대:
매치되지 않은 상태 그대로 되어 있는 적어도 1개의 화상과 1개의 모델 피크가 존재하는 경우,
매치되지 않은 가장 큰 스케일 화상 곡선 CSS의 최대치(xip, yip)를 선택한다. (단계 4에서 계산한) 개시 노드·시프트 파라미터를 적용하여 선택한 최대치를 모델 CSS 화상에 사상하고, 선택된 피크는 좌표(xip·alpha, yip)를 갖게 된다. 매치되지 않은 가장 가까운 모델 곡선 피크(xms, yms)를 결정한다. 2개의 피크 사이의 수평 거리가 0.2 미만(즉 |xip-alpha-xms|<0.2)인 경우, 2개의 피크를 매치시켜 2개의 피크 사이의 직선 길이로서 매치의 비용을 정의한다. 그 노드의 총 비용에 매치의 비용을 더한다. 매치된 피크에 "매치된" 것으로서 마킹함으로써 각각의 리스트로부터 매치한 피크를 제거한다. 2개의 피크 사이의 수평 거리가 0.2보다 큰 경우, 화상 피크(xip, yip)는 매치할 수 없다. 그 경우 총 비용에 화상 피크의 높이를 더하고, "매치된"것으로서 그 피크에 마킹함으로써 화상 피크 리스트로부터 피크(xip, yip)만을 제거한다.
상기 조건이 적합하지 않은 (매치되지 않은 화상 피크밖에 존재하지 않는, 또는 매치되지 않은 모델 피크밖에 존재하지 않는) 경우, 매치되지 않은 그대로의 상태로 방치한다.
매치되지 않은 화상 피크 또는 모델 피크의 가장 높은 높이로서 매치의 비용을 정의하고 리스트로부터 피크를 제거한다.
8. 7에서 노드를 확대시킨 후, 화상 리스트 및 모델 리스트의 쌍방에 매치되지 않은 피크가 존재하지 않는 경우 매칭 처리는 종료된다. 이 노드의 비용은 화상과 모델 곡선 사이의 유사도 측정치이다. 피크가 존재하는 경우에는 포인트 7로 되돌아가 최저 비용의 노드를 확대한다.
화상 곡선 피크치와 모델 곡선 피크치를 교환하여 상기 수순을 반복한다. 최종 매칭치는 이들 2개의 피크치 중 낮은 쪽의 수치이다.
또 하나의 예로서, 소트된 순서의 각 위치에 대하여 입력된 x치와 그에 대응하는 모델의 x치 사이의 거리 및 입력된 y치와 그것에 대응하는 모델의 y치 사이의 거리가 계산된다. 모든 위치에 대하여 합계 거리가 계산되고, 합계 거리가 작으면 작을수록 매치의 정도는 가까워진다. 입력 윤곽과 모델의 피크 수가 다른 경우, 합계 거리 중에 매치되지 않았던 잔여 피크의 높이가 포함된다.
상기 단계가 데이터 베이스의 각 모델에 대하여 반복된다 (단계 480).
매칭 비교의 결과 생기는 유사도치가 소트되고 (단계 490), 계속해서, 가장 가까운 매칭치(즉 본 예에서는 가장 낮은 유사도치)를 나타내는 유사도치를 갖는 기술자에 대응하는 오브젝트가 사용자에 대하여 표시 장치(4)에 표시된다 (단계 500). 표시 대상의 오브젝트 수는 사용자가 미리 설정하거나 선택할 수 있다.
(실시예 3)
다른 실시예에 대하여 설명한다. 본 실시예는, 여러가지 변환이 이용되는 것을 제외하면 전회의 실시예와 동일하다. 구체적으로는 y치는 이하의 변환을 이용하여 변환된다:
y'=a0+a1y
즉, 선형 스케일링 변환이 적용된다.
여기서, a0=41, a1=0.19이다.
변경 예에서는, a0=0, a1=0.27이다.
a0, a1의 여러가지 수치를 적절하게 사용할 수가 있다.
검색 및 매칭 순서는 전회의 실시예에서 설명한 것과 거의 마찬가지이다. 변환, 특히, 상술과 같은 스케일링 또는 비선형 변환을 포함하는 선형 변환을 적용함으로써 오브젝트 클래스의 범위에서 형상 윤곽의 변화 등에 대하여 민감하지 않은 기술자가 결과로서 얻어져, 그 결과 오브젝트의 검색의 개선이라는 결과가 얻어진다는 것이 판명되었다.
상술의 실시예에서는, 기술자 데이터 베이스(10)에 보존하기 전의 CSS치에 대하여 변환이 적용된다. 상기와는 달리 CSS치를 데이터 베이스(10)에 보존하여도좋다. 계속해서, 매칭 수순을 행하기 전에 검색 처리의 일부로서 변환을 행하여도 좋다.
이상 기재의 실시예에서는 변환은 y좌표치에 대하여 적용된다. 그러나, x 좌표치에 대하여 변환을 적용하는 것도 가능하다.