KR20060100376A - 물체 윤곽 이미지를 분석하기 위한 방법 및 이미지 처리장치, 물체를 검출하기 위한 방법 및 이미지 처리 장치,산업용 비전 장치, 스마트 카메라, 이미지 디스플레이,보안 시스템, 및 컴퓨터 프로그램 제품 - Google Patents
물체 윤곽 이미지를 분석하기 위한 방법 및 이미지 처리장치, 물체를 검출하기 위한 방법 및 이미지 처리 장치,산업용 비전 장치, 스마트 카메라, 이미지 디스플레이,보안 시스템, 및 컴퓨터 프로그램 제품 Download PDFInfo
- Publication number
- KR20060100376A KR20060100376A KR1020067007404A KR20067007404A KR20060100376A KR 20060100376 A KR20060100376 A KR 20060100376A KR 1020067007404 A KR1020067007404 A KR 1020067007404A KR 20067007404 A KR20067007404 A KR 20067007404A KR 20060100376 A KR20060100376 A KR 20060100376A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- contour
- interest
- region
- pixels
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
- G06V10/421—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation by analysing segments intersecting the pattern
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
윤곽 매칭을 기초로 빠른 물체 검출에 유용한 물체 윤곽 이미지(100) 분석 방법은: 윤곽 이미지(100)의 모든 화소들을 실질적으로 처리하기 위하여, 관심 영역(303)의 윤곽 이미지(100)에 위치들(xR, yR)의 스캔 경로(306)를 특정하는 단계; 논-제로 값의 윤곽 이미지(100)의 각 화소에 대하여 적어도 하나의 위치 좌표(x)를 포함하는 제 1 테이블(111)을 구성하는 단계; 관심 영역(303)의 위치에 대응하고, 관심 영역(303)을 횡단하는 화소들의 각각의 평행한 라인에 대하여 적어도, 주어진 스캔 방향으로 각각의 평행한 라인 상에 놓이고 관심 영역(303) 내에 있는 윤곽 이미지(100)의 첫번째 논-제로 화소의 제 1 테이블(111) 내 엔트리(121)의 인덱스(312)를 포함하는 제 4 테이블(311)을 구성하는 단계; 및 관심 영역(303) 위치에 대응하고, 관심 영역(303)을 횡단하는 화소들의 각각의 평행한 라인에 대하여 적어도, 주어진 스캔 방향으로 각각의 평행한 라인 상에 놓이고 관심 영역(303) 내에 있는 윤곽 이미지(100)의 최종 논-제로 화소의 제 1 테이블(111) 내 엔트리(121)의 인덱스(314)를 포함하는 제 5 테이블(313)을 구성하는 단계를 포함한다.
윤곽 매칭, 화소, 관심 영역, 평행한 라인, 스캔 경로
Description
본 발명은 윤곽 이미지를 분석하기 위한 방법에 관한 것이다.
본 발명은 또한, 이미지로 물체를 검출하기 위한 방법에 관한 것이다.
본 발명은 또한, 물체 윤곽 이미지를 분석하기 위한 이미지 처리 장치에 관한 것이다.
본 발명은 또한, 이미지로 물체를 검출하기 위한 이미지 처리 장치에 관한 것이다.
본 발명은 또한, 하나 이상의 상기 이미지 처리 장치들을 포함하는 산업용 비전 장치에 관한 것이다.
본 발명은 또한, 하나 이상의 상기 이미지 처리 장치들을 포함하는 스마트 카메라에 관한 것이다.
본 발명은 또한, 하나 이상의 상기 이미지 처리 장치들을 포함하는 이미지 디스플레이에 관한 것이다.
본 발명은 또한, 상기 산업용 비전 장치를 포함하는 보안 시스템에 관한 것이다.
본 발명은 또한, 적어도 하나의 상기 방법들을 실행하기 위하여 처리기를 인에이블하는 코드를 포함하는 컴퓨터 프로그램 제품에 관한 것이다.
종래 기술에서, 이미지들을 분석하기 위한 방법, 특히 이들 이미지들로 물체들을 검출하는 방법이 존재한다. 예를 들어, 생산 라인에서 잘못 제조된 제품들은 메인 라인을 따라 계속 진행되는 대신 수동 유닛으로 재루틴될 수 있고, 이것은 카메라 캡쳐링된 이미지들을 분석함으로써 자동으로 행해질 수 있다. 물체들은 그레이 값 화소 템플릿과 캡쳐링된 이미지를 상관시킴으로써 검출될 수 있다. 이들 그레이 값 상관 방법들의 단점은 상기 방법들이 종종 하이라이팅 효과들, 특히 하이라이트들에 의해 잘못된 검출 결과들을 형성한다는 것이다. 이들 문제들을 극복하기 위하여 설계된 다른 물체 검출 방법들은 물체 윤곽들을 기초로 물체들을 검출한다. 윤곽이 모양에서 형태상 충분한 특성을 가지면, 충분히 큰 부품은 폐색되지 않고, 이러한 방법들이 잘 작동한다. 통상적으로 캡쳐링된 이미지는 에지 검출과 같은 상기 동작들을 적용함으로써 윤곽 이미지로 전환된다. 이후, 윤곽은 표현(예를 들어, 다중스케일 윤곽 곡률 표현)으로 주조되고 분석될 수 있다. 윤곽을 검출하기 위한 간단한 방법은 매치 기능을 사용함으로써, 템플릿 윤곽 윈도우의 화소들과 검색된 물체의 윤곽 상에 가정적으로 놓인 윤곽 이미지의 화소들을 매칭하는 것이 다. 다수의 윤곽 이미지 화소들이 템플릿 윤곽 위치에 놓이면, 매칭 함수는 템플릿 윤곽이 발견된 것을 가리키는 높은 값을 제공한다. 미리 결정된 허용되는 임계값 이하의 모든 값들은 검사되는 윤곽 이미지의 현재 위치에서 목표된 형태의 물체가 없다는 것을 가리킨다.
물체 윤곽들을 매칭하는 것을 기초로 하는 이러한 종래 기술 물체 검출 방법들은 실질적으로 윤곽 이미지의 각각의 화소에 대하여 각각의 템플릿들의 존재가 매칭에 의해 검증되어야 하는 단점이 있다. 단지 하나의 물체가 검색되더라도, 물체가 예를 들어 10개의 다른 방향들 및 다른 스케일들에서 발생하지만, 이것은 윤곽 이미지(산업용 비전 애플리케이션에서 예를 들어 4000x3000 화소들을 포함함)의 각각의 화소에 대하여, 수백의 템플릿들이 매칭되어야 하는 것을 의미한다. 매칭 함수가 템플릿 및 윤곽 이미지의 화소 차의 절대 값들을 부가하고, 템플릿 윤곽 윈도우가 예를 들어 5000개의 관련 화소들(윤곽 이미지의 가장 큰 부분을 차지하는 잘 이미지화된 물체 윤곽들에 대하여 벗어나지 않음)을 포함하면, 이들 수백의 템플릿 매칭 각각은 5000개의 감산 동작들을 요구한다. 이것은 보다 느린 방법과 매칭하는 윤곽을 기초로 물체를 검출하고, 따라서 복수의 실시간 애플리케이션들은 달성되지 못한다. 미래에 산업용 비전 시스템들이 보다 다기능해질 때, 예를 들어 일반적인 가정의 많은 물체들 중에서 이런 방식을 발견하여야 하는 로보트 장치에 사용될 때, 상기 시스템들은 동시에 여러 물체들을 검사할 수 있어야 한다.
본 발명의 목적은 비교적 빠른 물체 검출을 위한 윤곽 이미지를 분석하는 방법을 제공하는 것이다.
이 목적은 윤곽 이미지를 분석하는 방법이:
윤곽 이미지에서 위치들의 스캔 경로를 특정하는 단계로서, 각각의 위치는 관심 영역에 대응하는, 상기 특정 단계;
논-제로(non-zero) 값의 윤곽 이미지의 각각의 화소에 대하여 적어도 하나의 위치 좌표를 포함하는 제 1 테이블을 구성하는 단계;
미리 결정된 방향을 가지며 관심 영역을 횡단하는 화소들의 각각의 평행한 라인에 대하여 적어도, 주어진 스캔 방향으로 평행한 라인 상에 놓이고 관심 영역 내에 있는 윤곽 이미지의 첫번째 논-제로 화소의, 제 1 테이블 내 엔트리의 인덱스를 포함하는, 관심 영역의 위치에 대응하는, 엔트리들을 갖는 제 4 테이블을 구성하는 단계; 및
미리 결정된 방향을 가지며 관심 영역을 횡단하는 화소들의 각각의 평행한 라인에 대하여 적어도, 주어진 스캔 방향으로 평행한 라인 상에 놓이고 관심 영역 내에 있는 윤곽 이미지의 최종 논-제로 화소의, 제 1 테이블 내 엔트리의 인덱스를 포함하는, 관심 영역의 위치에 대응하는, 엔트리들을 갖는 제 5 테이블을 구성하는 단계를 포함함으로써 실현된다.
물체 검출에 사용된 방법은 목표된 물체 존재에 대해 전체 윤곽 이미지를 검사하는 것을 피할 수 없다. 심지어 작은 부분의 윤곽 이미지라도 검사되지 않으면, 목표된 물체가 이 부분에서 정밀하게 배치되지 못하고 따라서 모든 수행된 동작들이 헛되게 수행되는 상황이 발생할 수 있다. 하지만, 상기 방법은 가능한 부적절한 작업이 거의 수행되지 않도록 최적화될 수 있다. 본 발명은 하나의 영역이 템플릿 윤곽상 화소들의 수에 관련하여 충분한 화소들을 포함하지 못하면, 추가로 비용이 많이 드는 매칭 검사가 방지될 수 있다는 것을 기초로 한다. 게다가, 연속적인 이미지들의 특성으로 인해, 복수의 매칭 위치들은 스킵될 수 있는데, 그 이유는 요구된 양의 화소들에 도달하기 위하여 복수의 로우(row)들(또는 컬럼(cloumn)들)을 얻을 수 있기 때문이다. 그러나, 정밀한 구조의 윤곽 이미지의 영역들 및 다량의 윤곽 화소들을 분석하는 것은 추가로 비용이 많이 드는 동작을 도입하고, 이런 다수의 동작들은 본 발명에 따른 방법에서 낮게 유지되는 것이 바람직하다. 물체 검출 방법에 사용되기 위하여 설계된 본 발명에 따른 물체 윤곽 이미지 분석 방법은 단순한 테이블들의 데이터 구조를 구성하고, 이런 단순한 구성은 윤곽 화소들, 또는 일반적으로 관심있는 화소들의 빠른 카운트(예를 들어, 윤곽 이미지 추가 화소들상 거리 변환에 의해 생성될 수 있음)를 허용한다.
그러므로, 스캔 경로는 예를 들어 지그재그 대각선 스캔으로, 또는 힐버트 도형으로, 또는 상부에서 하부로 그리고 좌측에서 우측으로 윈도우에 도입된다. 스캔 경로는 실질적으로 윤곽 이미지의 모든 화소들이 관심있는 대응하는 영역들에서 분석되도록 한다. 카메라에 의해 캡쳐링된 이미지 부분만이 목표된 물체들을 포함하는 경우, 이 부분은 윤곽 이미지라 불릴 수 있다. 제 1 테이블에서 모든 논-제로(윤곽 화소들 또는 일반적으로 관심있는 화소들) 화소들은 포함되고 적어도 하나의 좌표가 주어진다. 특정 중요도가 용어 "논-제로(non-zero)"에 기여되지 않는다는 것이 주의되고, 그 이유는 이것이 본 발명에 따른 방법의 가장 올바른 실현만을 반영하고, 본 발명을 보다 쉽게 설명하기 때문이다. 일반적으로, 논-제로는 윤곽 이미지의 모든 값들에 상수값(예를 들어 3)이 부가되는 사소한 변형을 커버하기 위하여 미리 결정된 제 1 값과 동일한 것으로서 판독되어서는 않된다.
예를 들어, 이미지가 텔레비전 시스템에서처럼 로우 방향으로 스캔되면, 모든 화소들의 일차원의 자연적인 순서가 존재하고, 따라서 예를 들어 x 좌표가 모든 로우들이 고려되면(상기 방법의 일실시예는 로우상에 논-제로 화소들이 없다면 "숫자가 아닌(NaN:Not a number)" 코드를 삽입함으로써 수행됨), 충분하다(물론 y 좌표는 똑같이 사용될 수 있고, 이것은 윤곽 이미지의 이전 90도 회전에 대응한다).
관심 영역(매칭을 위한 템플릿 윤곽 윈도우의 크기에 대응함)을 횡단하는 적어도 모든 평행한 라인들 상 첫번째 및 최종 논-제로 화소들의 인덱스들의 테이블들을 형성하는 것은 화소들을 카운팅하는 것을 용이하게 만든다. 관심 영역은 45도 아래쪽 기울기 방향을 가진 라인들로부터 구성될 수 있다. 예를 들어, 제 1 라인은 단지 1개의 화소상 관심 영역을 횡단하고, 제 2 라인은 2개의 화소들 상의 관심 영역을 횡단한다. 스캔 방향은 예를 들어 좌상측에서 우하측일 수 있다. 마주치는 첫번째 논-제로 화소는 예를 들어 제 5 라인 상의 두번째 논-제로 화소이고, 최종 논-제로 화소는 다섯번째 논-제로 화소일 수 있다. 화소 좌표들보다 오히려 제 1 테이블의 인덱스들을 사용함으로써, 카운팅은 빠르게 행해질 수 있다. 이것은 만약 관심 영역이 수평 로우들로 분할되면 더욱 쉽게 이해될 수 있다. 첫번째 화소는 로우의 화소(3) 상에 있고, 최종 화소는 화소(10) 상에 있을 수 있다. 단순히 10에서 3을 감산하는 것은 그 사이에 0들이 있을 수 있기 때문에 이 로우상에 8개의 논-제로 화소들이 있다는 신뢰적인 표시를 제공하지 않는다. 제 1 테이블(단지 모든 논-제로 화소들 포함)의 엔트리들의 화소들을 감산하는 것은 로우상 화소들의 양을 제공한다. 모든 로우 카운트들을 합산함으로써 관심 영역 내의 화소들의 총량이 얻어진다. 제 4 및 제 5 테이블들은 모든 횡단하는 라인들상에서 카수 쿠오(casu quo) 로우들을 부분 카운트들을 얻기 위하여 첫번째 및 최종 화소들을 제공한다. 관심 영역의 위치는 예를 들어 중앙 화소 좌표들을 정의할 수 있지만 이 텍스트의 나머지에서 좌상 화소의 (x,y) 좌표들로서 해석된다.
윤곽 이미지를 분석하는 방법의 실시예는:
컬럼을 따라 아래로 연장하고 이어서 다음 컬럼쪽으로 점핑하는 연속적인 위치들로서 스캔 경로를 특정하는 단계;
논-제로 값의 윤곽 이미지의 각각의 화소에 대하여, 적어도 하나의 위치 좌표를 포함하는 제 1 테이블을 구성하는 단계;
관심 영역을 횡단하는 화소들의 각각의 수평 라인에 대하여 적어도, 각각의 수평 라인 상에 놓이고 관심 영역 내에 있는 윤곽 이미지의 최좌측 논-제로 화소의, 제 1 테이블 내 엔트리의 인덱스를 포함하는 제 4 테이블을 구성하는 단계; 및
관심 영역을 횡단하는 화소들의 각각의 수평 라인에 대하여 적어도, 각각의 수평 라인 상에 놓이고 관심 영역 내에 있는 윤곽 이미지의 최우측 논-제로 화소의, 제 1 테이블 내 엔트리의 인덱스를 포함하는 제 5 테이블을 구성하는 단계를 포함한다.
상기된 바와 같이, 텔레비전과 같은 방식, 예를 들어 연속적인 컬럼들 상에서 아래쪽으로 윤곽 이미지를 스캔하는 것은 전체 윤곽 이미지가 처리되는 것을 보장하기 위한 개념적으로 간단한 방식이다. 게다가, 테이블 처리는 간단하다. 몇몇 애플리케이션에서 다른 스캔 경로들은 바람직하고, 예를 들어 로우 마다 우측으로 이미지를 스캔하고 그 다음 로우로 점핑하는 것은 현재 텔레비전 스캔 표준들과 호환할 수 있고, 그래서 상기 인입 텔레비전 신호들의 실시간 처리에 바람직할 수 있다.
윤곽 이미지를 분석하는 방법의 다른 실시예는:
윤곽 이미지의 각각의 실질적으로 수평 라인에 대하여, 윤곽 이미지의 각각의 수평 라인 상 최좌측 논-제로 화소의 제 1 테이블 내 엔트리의 인덱스를 포함하는 제 2 테이블을 구성하는 단계;
윤곽 이미지의 각각의 실질적으로 수평 라인에 대하여, 윤곽 이미지의 각각의 수평 라인 상 최우측 논-제로 화소의, 제 1 테이블 내 엔트리의 인덱스를 포함하는 제 3 테이블을 구성하는 단계; 및
제 1 테이블, 제 2 테이블 및 제 3 테이블을 기초로 제 4 테이블 및 제 5 테이블을 구성하는 단계를 포함한다.
만약 스캔이 상기된 바와 같이 연속적인 컬럼들을 따라 수행되면, 추가 속도 최적화는 달성될 수 있다. 관심 영역(이들 경우에서 컬럼들은 단지 현재 관심 영역들 내의 최좌측 및 최우측 포인트들만을 포함함)의 각각(수직) 위치에 대한 새로운 제 4 및 제 5 테이블을 계산하는 대신, 제 4 및 제 5 테이블들은 현재 컬럼 위치의 모든 로우들에 대하여 각각의 연속적인 컬럼 스캔에 대하여 한번 계산된다. 게다가, 상기 테이블들은 전체 윤곽 이미지의 각각의 로우에 대하여 최좌측 및 최우측 화소들을 포함하는 제 2 및 제 3 테이블로부터 쉽게 얻어질 수 있다.
윤곽 이미지 물체를 검출하는 방법은, 만약,
제 4 테이블 및 제 5 테이블을 기초로, 스캔 경로를 따라 연속적인 위치들에 대하여 관심 영역 내의 복수의 논-제로 화소들의 카운트를 계산하는 단계;
카운트가 미리 결정된 화소 양과 같거나 크다면 관심 영역의 개략 화소들(arguments pixels) 및 템플릿 윤곽 윈도우의 화소들로서 얻은, 템플릿 윤곽 및 관심 영역에 제공된 윤곽 이미지의 화소들 사이의 매칭 표시를 얻기 위한 매칭 함수를 평가하는 단계; 및
카운트가 미리 결정된 화소 양보다 작으면 스캔 경로를 따라 추가 위치로 점핑을 수행하는 단계를 더 포함하면, 분석 방법들을 잘 사용할 수 있다.
상기된 바와 같이, 너무 작은 윤곽 포인트들을 가진 영역들은 고려될 필요가 없다. 즉 값비싼 매칭은 연속적인 위치쪽으로 점핑함으로써 방지될 수 있다. 연속적인 위치들은 스캔 경로를 따른 좌표가 필수적으로 하나만큼 추가 위치들을 의미하지 않는다. 그것들은 스캔 라인을 따른 추가 위치들이고, 3개의 추가 좌표들의 점핑을 설정할 수 있다.
다른 이미지 처리 속도 증가는 검증될 상기 템플릿 윤곽은 상기 템플릿 윤곽 윈도우(200) 내 템플릿 윤곽의 지리적 변환인 윤곽 이미지의 물체를 검출하는 방법의 실시예로 달성될 수 있고,
템플릿 윤곽 윈도우의 화소의 위치 및 지리적 변환에 의해 결정된 위치에서, 윤곽 이미지의 대응 화소를 템플릿 윤곽 윈도우의 화소에 대해 인출하는 단계; 및
템플릿 윤곽 윈도우의 화소 및 대응 화소 사이의 유사성을 기초로 매칭 함수를 평가하는 단계를 포함한다.
윤곽들의 서브세트만이 검증될 필요가 있고, 다른 정밀 매칭(예를 들어 물체의 정확한 방향각을 얻기 위함)은 만약 애플리케이션에서 요구되면 행해질 수 있다.
물체를 검출하는 방법은 예를 들어 윤곽 이미지를 얻기 위하여 이미지에 윤곽 검출을 적용하는 윤곽 이미지 분석전에 카메라로부터 직접적으로 얻어진 이미지상에 적용될 수 있다.
본 발명의 제 2 목적은 비교적 빠른 물체 검출을 위하여 물체 윤곽 이미지를 분석하기 위한 이미지 처리 장치를 제공하는 것이다.
이미지 처리 장치는:
관심 영역의 윤곽 이미지에서 스캔 경로상 위치를 특정하기 위하여 배열된 제 1 유닛; 및
메모리를 구성하고 저장하기 위하여 배열된 제 2 유닛으로서,
a) 논-제로 값의 윤곽 이미지의 각각의 화소에 대하여 적어도 하나의 위치 좌표를 포함하는 제 1 테이블;
b) 관심 영역을 횡단하는 화소들의 각각의 평행한 라인에 대하여 적어도, 주어진 스캔 방향으로 각각의 평행한 라인 상에 놓이고 관심 영역 내에 있는 윤곽 이미지의 첫번째 논-제로 화소의, 제 1 테이블 내 엔트리의 인덱스를 포함하는 제 4 테이블; 및
c) 관심 영역을 횡단하는 화소들의 각각의 평행한 라인에 대하여 적어도, 주어진 스캔 방향으로 각각의 평행한 라인 상에 놓이고 관심 영역 내에 있는 윤곽 이미지의 최종 논-제로 화소의, 제 1 테이블 내 엔트리 인덱스를 포함하는 제 5 테이블을 포함하는, 상기 제 2 유닛을 포함한다.
이 이미지 처리 장치는 윤곽 이미지로 물체를 검출하기 위한 이미지 처리 장치로 구성되고 :
관심 영역의 개략 화소들 및 템플릿 윤곽 윈도우 내 화소들로서 얻어진 매칭 함수를 평가하기 위하여 배열된 매칭 유닛; 및
관심 영역 내의 복수의 논-제로 화소들의 카운트를 계산하기 위하여 배열되고, 제 4 테이블 및 제 5 테이블을 기초로, 카운트가 미리 결정된 화소 양보다 작으면 스캔 경로를 따라 추가 위치로 점핑하도록 제 1 유닛에 명령하고, 카운트가 미리 결정된 화소 양과 같거나 크다면 현재 관심 영역에 대한 매칭 함수를 평가하는 것을 매칭 유닛에 명령하도록 배열된 결정 유닛을 더 포함한다.
어느 하나의 이미지 처리 장치는 산업용 비전 장치로 구성되고:
카메라로부터 수신할 수 있는 이미지로부터 윤곽 이미지를 생성하기 위하여 배열된 윤곽 생성 유닛; 및
매칭 함수의 결과에 따라 신호를 출력하기 위하여 배열된 제어 유닛을 더 포함한다.
어느 하나의 이미지 처리 장치는 스마트 카메라로 구성되고:
카메라에 의해 캡쳐링된 이미지로부터 윤곽 이미지를 생성하기 위하여 배열된 윤곽 생성 유닛; 및
카메라에 의해 캡쳐링된 이미지 영역에 이미지 변환을 제공하기 위하여 배열되고, 이미지 처리 장치에 의해 검출된 물체를 기초로 결정된 이미지 처리 유닛을 더 포함한다.
어느 하나의 이미지 처리 장치는 이미지 디스플레이로 구성되고:
이미지 디스플레이에 의해 수신된 이미지로부터 윤곽 이미지를 생성하기 위하여 배열된 윤곽 생성 유닛; 및
수신된 이미지의 영역에 이미지 변환을 제공하기 위하여 배열되고, 이미지 처리 장치에 의해 검출된 물체를 기초로 결정된 이미지 처리 유닛을 더 포함한다.
본 발명에 따른 방법들 및 이미지 처리 장치들의 이들 및 다른 측면들은 이후 기술된 실시예들 및 실행예들을 참조하고, 첨부 도면들을 참조하여 명백하게 열거되고, 이것은 비제한적 도시를 위한 것이다.
도 1a는 단순화된 윤곽 이미지를 개략적으로 도시한 도면.
도 1b는 본 발명에 따른 관심 화소들의 테이블들을 개략적으로 도시한 도면.
도 2는 템플릿 윤곽 윈도우를 개략적으로 도시한 도면.
도 3a는 윤곽 이미지를 따라 관심 영역의 스캐닝을 개략적으로 도시한 도면.
도 3b는 본 발명에 따른 다른 테이블들을 개략적으로 도시한 도면.
도 3c는 도 3a에 도시된 관심 영역 위치에 대한 화소 윤곽을 개략적으로 도 시한 도면.
도 4는 0 또는 1과 다른 값들을 가진 윤곽 이미지를 개략적으로 도시한 도면.
도 5는 회전을 통하여 기준 템플릿과 연관된 템플릿과 매칭할때 윤곽 이미지의 대응 화소들을 인출하기 위한 오프셋들을 개략적으로 도시한 도면.
도 6은 템플릿 윤곽을 개략적으로 도시한 도면.
도 7은 예시적인 애플리케이션에서 이미지 처리 장치를 개략적으로 도시한 도면.
도 1은 물체 윤곽(101)의 물체 윤곽 화소들이 예시적으로 1의 값을 갖고(검정색 사각형들로서 도시됨), 비윤곽 화소들이 영의 값을 가진(하양색 사각형으로서 도시됨) 도시를 위한 단순화된 윤곽 이미지(100)를 도시한다.
그레이 값 이미지(예를 들어, 카메라로부터 얻어짐)로 윤곽 화소들을 얻기 위하여, 통상적으로 그레이 값 이미지상에 제공된 제 1 동작은 에지 검출이다. 종래 기술에서 공지된 통상적인 에지 검출기는 캔디 에지 검출기이고, 이것은 다음 에지 검출기 커널 K(x)의 이산 매트릭스 버젼으로 그레이 값 이미지를 컨벌루트한다 :
x는 수평 방향에서 상대적 화소 좌표이고, G는 가우스 평탄화 함수이다. 다른 통상적인 에지 검출 필터들은 Prewitt, Derche, Kirsch, Marr 등 처럼 제공될 수 있다. 수학식 1의 커널은 수평 방향에서만 에지들을 검출하지만, 종래 기술에서 다수의 기술들은 수직 방향 또한 검출한다(예를 들어 수평 및 수직 에지 검출의 결과들을 결합함, 또는 양쪽 방향들에 민감한 커널 또는 커널들의 세트를 사용함).
에지 검출 커널로 그레이 값의 컨벌루션한 결과는 제 2 그레이 값 이미지이고, 여기서 에지들은 큰 화소 그레이 값들(예를 들어, 255)을 가지며 비에지들(예를 들어, 물체들 내부의 부드러움)은 작은 화소 그레이 값들(예를 들어, 0)을 가진다. 에지 검출의 통상적인 제 2 단계는 클립핑(clipping) 또는 최대치 발견이다. 미리 결정된 값(예를 들어, 128) 이상의 모든 화소 값들을 설정하는 클립핑은 1과 같고 모든 다른 값들은 0이다. 단일 화소 폭 윤곽들이 목표되기 때문에, 바람직한 제 2 단계는 제 2 그레이 값 이미지의 에지 리지들의 최대치들을 1로 설정하고 그외 모든 화소들을 0으로 설정하는 최대치 발견이다.
분석을 위한 윤곽을 얻는 다른 단계들은 에지 링킹, 의사 에지 푸루닝(pruing) 및 갭 폐쇄일 수 있다. 최종적으로 에지는 특정 모델로 표현된다. 예를 들어 직선들의 다각형은 적당하거나, 윤곽은 윤곽을 따르는 아크 위치에 때해 탄젠트 각도의 함수로서 표현된다. 그 다음 윤곽들은 트레이닝 스테이지로부터 얻어진 바와 같이 검출될 물체에 대한 통상적인 모양에 대응하는 모델 시그네이쳐로 이미지 물체 윤곽의 곡률 시그네이쳐를 비교함으로써 매칭될 수 있다.
물체 윤곽들은 "M. Mertens, H. Sahli 및 J. cornelis에 의한 "A robust nonlinera segment-edge finder. Proc.of the 1997 IEEE Workshop on Nonlinear Signal and Image Processing"에 기술된 에지 검출기에 의해 컬러 정보, 텍스츄어 정보 등을 기초로 얻어질 수 있다. 비록 본 발명에 따른 방법이 2D의 예시적인 이미지로 기술되지만, 상기 방법은 일차원, 삼차원, 또는 그 이상의 차원(>3)에 적용될 수 있다.
윤곽 이미지(100)를 제공하여, 통상적인 종래 기술 윤곽 매칭 방법은 윤곽 이미지(100)의 물체 윤곽 화소들이 윤곽 이미지(100)에서 발견될 모양을 가진 템플릿 윤곽의 화소들의 화소들과 매칭하는지를 검사한다. 템플릿 윤곽은 예를 들어 윤곽 이미지(100)의 물체 윤곽(100)에 대한 통상적으로 목표된 윤곽의 이미지를 작게 컷아웃하고, 템플릿 윤곽은 도시된 "인버트된 U(inverted U)" 모양을 포함하는 4x4 윈도우일 수 있다.
이런 4x4 윈도우는 매 가능한 화소 위치(예를 들어 윤곽 이미지 100의 화소(x,y)와 오버랩핑하는 템플릿 윤곽 윈도우의 최좌측 화소)의 윤곽 이미지(100)상으로 시프트되고, 매칭 함수는 하기와 같이 계산된다:
여기서 i 및 j는 각각 0 내지 I 범위의 윤곽 템플릿 윈도우의 연속적인 좌표들이다. 0 내지 J(I 및 J는 4인 도 1의 실시예이다)에서, x 및 y는 매칭이 발생하는 윤곽 이미지(100) 표시의 좌표들이고, t는 위치(i,j)에서 윤곽 템플릿 윈도우의 화소값이고, p는 윤곽 이미지(100)의 화소 값이고, N은 표준 상수이다. 다른 매칭 함수들, 예를 들어 절대 차를 평균화하는 것은 사용되거나, 부울 매칭 함수는 하기와 같다:
여기서 곱셈은 만약 양쪽 템플릿 및 이미지가 특정 위치에서 값 1을 가진 화소를 구비하면 부가적인 카운트를 유발한다.
매칭 값(M)은 만약 모든 화소들이 매칭하면 높은 값(만약 적당하게 표준화되면 1과 같음)인 최대치이고, 만약 화소들이 매칭하지 않는 0이고, 만약 몇몇 화소들이 매칭하면 중간 값이다. 추후 조건은 만약 템플릿 패턴이 이미지 윤곽 근처에 배열되지만 적당히 배열되지 않으면 발생하거나, 만약 다른 모양과의 매칭이 시도되면 발생한다. 실제 컴퓨터 비전 애플리케이션에서, 윤곽 이미지(100)는 이미지 인공물, 즉 노이즈 등으로 인해 올바른 위치들에서 모든 화소들을 포함하지 않고, 오히려 통상적인 발생 문제들은 하기와 같이 발생한다:
1) 몇몇 윤곽 화소들이 빠진다
2) 특히 소위 사소한 윤곽 포인트들이 있다
3) 윤곽 포인트들이 예를 들어 사용된 에지 검출기로 인해 이론적 위치에서 약간 오프셋한다.
그러므로 매칭 방법을 개선하기 위하여, 통상적으로 부드러운 템플릿 윤곽 윈도우(200)는 도 2에 도시된 바와 같이 사용된다. 상기 윈도우는 통상적으로 정확한 이론적 템플릿 윤곽 위치들에서의 최대값(예를 들어 1)으로부터 영의 바깥쪽으로 반복적으로 감소하는 템플릿 윤곽 주변 프로파일상에서, 중간 값들(0 및 1 사이, 또는 만약 모든 것이 0 및 255 사이의 8 비트 표현으로 재축적되면)을 가진다.
상기 부드러운 템플릿 윤곽 윈도우(200)는 이론적 이진 템플릿을 포함하는 템플릿 윤곽 윈도우에 거리 변환을 제공함으로써 얻어질 수 있다. 예를 들어 도 2에서, 화소들은 만약 맨하탄 거리 |(i-a)|+|(j-b)|(여기서 a 및 b는 가장 가까운 이진 템플릿 화소의 좌표들임)이 1이면 최대값의 50%로 주어지고, 만약 이진 템플릿 화소로부터의 거리가 2이면 20%의 값으로 주어진다. 사용하기에 우수한 프로파일은 가우스 프로파일이다. 상기 부드러운 템플릿 윤곽 윈도우(200)를 사용하는 것은 특히 포인트 -3항에서 상기된 바와 같이 약간 오정렬된 윤곽 화소들에 특히 바람직하다. 매칭 함수는 수학식 2이거나, 인수로서 실수 또는 정수들을 취하는 다른 매칭 함수일 수 있다. 0 또는 1과 다른 값들을 가진 템플릿 윤곽 윈도우를 사용하는데 다른 이유들이 있다. 만약 템플릿이 로우(및 어느 한쪽에서 0들)에서 3개(그레이 값 =1)의 라인 세그먼트를 모델링하면, 매칭 기준 수학식 3은 상기 구조의 존재를 검사한다. 만약 윤곽 이미지(100)에서 10 화소들의 수평 라인이 있다면, 3개의 화소 세그먼트는 10-2 연속 위치들에서 이미지 라인을 따라 어느 곳에나 발견될 것이다. 그러나 이것은 아마도 정확하게 3개의 화소들 길이의 라인들만이 발견되는 애플리케이션에서 요구될 수 있고, 이것은 템플릿 윤곽 윈도우(200)에서 3개의 세그먼트들 중 상기 세그먼트의 어느 한측면상에 0들 대신 -1 값들을 넣음으로써 실현될 수 있고, 매칭 함수는 만약 템플릿의 -1 값들이 0들 대신 이미지의 1의 값들과 매칭되면 하부 값을 형성한다.
윤곽 매칭을 기초로 하는 상기 종래 기술 물체 검출 방법들은 그 애플리케이션에서 잘 작동하지만, 상기 방법들은 윤곽 이미지(100)의 모든 화소 위치들이 특정 윤곽(또는 만약 몇몇 물체들 또는 물체의 회전된 버젼들이 동시에 검사되면 많이 가능한 윤곽들)의 존재에 대해서 검사되어야 하고, 상당양의 템플릿 윤곽 윈도우(200) 화소들을 통하여 복잡한 매칭 함수를 가진다는 사실로 인해 계산적으로 매우 비싸다. 오늘날의 보다 빠른 계산기들 또는 강력한 IC들에서 조차, 다수의 애플리케이션들은 특히 만약 그들이 실시간으로 행해지고(예를 들어 우편 분배 센터에서 우편 요금 스탬프들의 자동 검출이 상업적으로 실행 가능하게 초당 몇 문자들의 처리를 처리함) 큰 산업용 이미지들(통상적으로 720x576의 텔레비전 이미지보다 큰, 예를 들어 10000x8000)에서 여전히 실행할 수 없다.
본 발명에 따른 물체 검출 방법 기초로 인해, 가능한한 작은 동작들이 수행 되기 때문에 - 전체적인 검출 능력을 보유하면서 -, 물체 검출은 알고리듬 복잡성을 다시 증가시키는 너무 많은 부가적인 이미지 분석 동작들을 초래하지 않고 달성되어야 한다.
물체 검출 방법의 바람직한 실시예에서, 제 1 동작으로, 전체 윤곽 이미지(100)에 대해, 화소 위치 구조(110)(도 1b)는 윤곽 이미지(100)(상기 실시예에서 윤곽 검출로부터 얻어진 값 1을 가진 화소들)의 관심 화소들상에 정보를 제공하는 3개의 테이블을 포함하게 구성된다 :
논-제로 화소들의 x 좌표들을 포함하는 제 1 테이블(111);
윤곽 이미지(100)의 각각의 로우에서 최좌측 화소의 제 1 테이블 자리의 인덱스들을 포함하는 제 2 테이블(113); 및
윤곽 이미지(100)의 각각의 로우에서 최우측 화소의 제 1 테이블 자리의 인덱스들을 포함하는 제 3 테이블(113).
그래서, 제 1 테이블을 얻기 위하여, 윤곽 이미지(100)는 통상적으로 제 1 화소가 조우될때까지 좌측에서 우측으로 상부에서 하부로 스캔된다. 도 1의 실시예에서, 이것은 위치(10, 11)의 화소이다. 그 x 좌표(10)는 제 1 테이블(111)의 제 1 자리(예시적인 인덱스 0)에 기입된다. 다음 조우된 화소는 제 1 테이블(111)의 인덱스(1)에서 숫자(11)를 기입하는 것에 앞서서 위치(11,11)에 있고, 기타 등등이 있다.
순차적으로 또는 병렬로, 이미지의 모든 로우들은 최좌측 및 최우측 화소들을 얻기 위하여 분석된다. 윤곽 이미지(100)의 제 1 로우는 논-제로 화소들이 없 고, 따라서 제 2 테이블(113) 및 제 3 테이블(115)에서, 무효 화소 인덱스가 기입되고, 따라서 미리 결정된 값이, 예를 들어 "NaN"으로 기입된다. 최종적으로 로우(11)에 도달하여, 물체 윤곽(100)의 최좌측 화소는 위치(10,11)에 있고 물체 윤곽(101)의 최우측 화소는 위치(13,11)에 있다. 제 2 및 제 3 테이블의 x 좌표들을 기입하기 보다, 대응하는 화소들의 인다이스들이 기입된다. 포인트(10, 11)는 우선 제 1 테이블(11)의 제 1 포인트이고, 따라서 인덱스(0)는 제 2 테이블(113)의 장소(123)에 기입된다. 최우측 포인트는 제 4 포인트이고, 따라서 인덱스(3)는 제 3 테이블(115)의 장소(125)에 기입된다. 좌표들보다 인덱스들로 작업하는 것은 특정 로우의 화소들의 수가 최우측 인덱스로부터 최좌측 인덱스의 단일 감산에 의해서 얻어질 수 있는 장점을 발생시킨다. 만약 x 좌표들이 감산되면, 이것은 사이에 0들을 고려하지 않는다.
추후에 윤곽 이미지(100)는 템플릿 윤곽 윈도우(200)로 스캔되지만, 본 발명에 따른 방법에서 윤곽 이미지(100)의 모든 화소 위치들(x,y)은 매칭 함수를 평가함으로써 목표된 물체 윤곽의 존재를 검사하지 않고, 오히려 관련 후보 영역들만이(매칭을 포함할 수 없는 바와 같이 배척되지 않은 사전 처리에 의한 영역들인 매칭을 형성할 수 있는 영역) 매칭 함수로 검증된다. 스캔은 상부에서 하부로 좌측에서 우측으로 이루어진다. 따라서 템플릿 윤곽 윈도우(200)는 템플릿 윤곽 윈도우(200)의 최좌측 화소가 윤곽 윈도우(100)(실제로 스캔이 윤곽 윈도우 100 외측에서 부분적으로 시작할 수 있음)와 오버랩하도록 우선 배치되고, 도 2의 실시예에 따라 8개 컬럼들(윤곽 이미지 100의 전체 높이를 따라)의 윤곽 윈도우(100)의 수직 섹터 (301)는 윤곽 이미지(100) 내의 템플릿 윤곽 윈도우(200)의 최좌측 모서리의 위치에 대응하는 위치에 목표된 윤곽이 존재하는지를 검사하기 위하여 매칭될 것이다.
매칭을 가속하기 위하여, 본 발명에 따른 방법은 화소 위치 구조(100)의 두개의 추가 테이블들인 제 4 테이블(311)(도 3b 참조), 및 제 5 테이블(313)을 계산한다. 제 4 테이블(311)은 전체 윤곽 이미지(100) 라인이 아닌, 수직 섹터(301) 내의 최좌측 화소의 제 1 테이블(111)의 장소의 인덱스들을 포함한다. 유사하게, 제 5 테이블(313)은 수직 섹터(301) 내의 최우측 화소 제 1 테이블(11)의 장소의 인덱스들을 포함한다. 도 3a의 실시예에서, 단일 윤곽만이 있고, 그것이 예시적인 수직 섹터(301) 내에 전체적으로 속하기 때문에, 윤곽 윈도우(100)상 수평한 스캐닝 위치에 대하여 제 3 테이블들은 제 4 및 제 5 테이블들과 동일한 값들을 포함한다. 만약 스캐닝 동안 수직 섹터(301)의 우측 가장자리(305)가 물체 윤곽(즉, 우측에서 5 윤곽 화소들을 가지며 좌측에서 5 윤곽 화소들을 가짐) 반쪽에 배치되면, 이런 수직 섹터(301)에 대한 제 4 테이블(311)은 도 3b에 도시된 것과 동일하지만, 제 5 테이블은 {NaN, ..., NaN, 1, 4, 6, 8, NaN, NaN, NaN}인데, 그 이유는 로우(11)상에서 최우측 화소가 조우된 제 2 화소이기 때문이고, 다음 로우들에서 최우측 화소들의 인덱스들이 최좌측 화소들의 화소들인데, 그 이유는 수직 섹터(301)이 그 화소들상에 단지 하나의 윤곽 화소들을 포함하기 때문이다.
제 4 테이블(311) 및 제 5 테이블(313)은 전체 이미지, 예를 들어 제 1 테이블(111)의 중요 화소들상에 정보를 제공하는 테이블로부터 쉽게 구성될 수 있다. 수직 섹터(301)의 특정 로우상 최좌측 화소는 발견되고 XL보다 큰 최하 x 값을 가 진 제 1 테이블의 화소의 인덱스로서 수직 섹터(301)의 좌측 가장자리(307)의 x 좌표(XL)가 제공된다. 유사하게 최우측 화소는 수직 섹터(301)의 우측 가장자리(305)의 x 좌표(XR) 보다 작은 가장 큰 x 값을 가진 화소의 인덱스이다.
그러나, 제 4 및 제 5 테이블에 대한 적당한 인덱스들은 제 2 및 제 3 테이블을 사용함으로서 보다 빨리 발견될 수 있다. 즉, 예를 들어 로우(12)에 대하여 제 2 테이블(113)의 최좌측 화소 인덱스(전체 윤곽 이미지 100에 대해)는 인덱스 4이다. 따라서 수직 섹터(301) 내의 최좌측 화소는 4 또는 그 이상의 인덱스만을 가지며, 유사하게 제 3 테이블(115)에서 로우(12) 인덱스를 찾음으로써, 5와 동일한 전체 윤곽 이미지(100)의 로우(12)의 최우측 화소보다 큰 인덱스를 가질 수 없다. 따라서 제 1 테이블의 전체 엔트리들은 검사되는 것이 아니라, 오히려 가능한한 많이 로우(12), 또는 관심있는 다른 로우상 윤곽 화소들이 있다. 윤곽 이미지의 컬럼들을 따라 아래쪽으로 진행하는 스캔 경로(306)를 사용하는 것의 다른 장점은 제 4 및 제 5 테이블들이 관심 영역(303)의 각각의 위치보다 각각의 다운로드 스캔을 위하여 한번 계산될 수 있는 것이다.
본 발명에 따른 물체 검출 방법의 속도 증가 부분은 화소 위치 구조(111)의 테이블들 콘텐트를 분석함으로써 결정된 윤곽 이미지(100) 영역에서의 매칭을 스킵하는 가능성으로부터 나온다. 제 4 테이블(311) 및 제 5 테이블(313)의 인덱스들에 의해, 각각의 로우에 대한 화소들의 수는 두개의 인덱스들, 예를 들어 로우(11)에 대하여 간단한 감산에 의해 계산되고 제 5 테이블(313)은 3의 최우측 화소 인덱스를 제공하고, 제 4 테이블(311)은 0의 최우측 화소 인덱스를 제공하고, 4와 같은 로우(11)상 수직 섹터(301) 내에 모든 수의 화소들을 형성한다. 따라서 관심 영역(303) 내에 제공된 화소들의 총 수는(매칭 함수가 평가된 윤곽 이미지 101의 템플릿 윤곽 윈도우 200의 현재 위치임)는 관심 영역(303) 내의 각각에 대하여 수직 섹터(301) 내의 화소들의 수를 합산함으로써 얻어질 수 있다. 만약 관심 영역(303)에 대응하는 윤곽 이미지(100) 부분에 제공된 템플릿 윤곽과 매칭하는 물체 윤곽이 있다면, 관심 영역(303)에 제공된 윤곽 템플릿 화소의 총 요구된 양의 퍼센트가 높아야 한다. 예를 들어, 도 6의 템플릿에 대하여, 만약 20%의 검출되지 않은 윤곽 포인트들이 허용되면, 관심 영역(303)에 제공된 26 화소들과 동일한 적어도 80%의 32가 있어야 한다. 미리 결정된 화소양으로서 표현된 퍼센티지는 윤곽 매칭을 가리키는 최소 매칭 함수 값을 기초로 결정될 수 있고, 이런 최소 매칭 함수 값은 인식되어야 하는 템플릿 윤곽들의 이미지 노이즈 양, 숫자 및 모양같은 상기 조건들에 다시 따르고, 폐쇄 퍼센티지의 최대치가 허용되고, 기타 등등이 있다. 이미지 처리시 통상적인 다른 이론적 분석은 미리 결정된 화소양을 얻기 위하여 사용될 수 있다. 요구된 퍼센티지를 가정함으로써 알고리듬의 확장을 간략화하는 것은 100%와 동일하고, 본 발명에 따른 물체 검출 방법의 속도 증가는 도 6의 사인 물체 윤곽 모양(600)에 의해 설명된다. 윤곽 이미지(100)에서 이런 윤곽 및 템플릿의 주 부분(이진 테플릿에서 모든 화소들은 1이고, 부드러운 변환된 템플릿에서 가장 높은 그레이 값을 가진 화소들)은 4x8로 구성된다. 관심 영역(303)의 특정 수직 위치(yR)에 대하여, 관심 영역(303) 내에 8 화소들만이 있다는 것을 가정한다. 이것은 3x8 화소들의 부족이 있다는 것을 의미한다. 수직 섹터(301)를 수직으로 통한 스캐닝을 가속하는 제 1 룰은 수직 섹터(301) 내의 각각의 다음 로우상에 기껏 8개의 부가적인 화소들이 있을 수 있기 때문에, 관심 영역(303)이 적어도 3개의 로우들 아래쪽(가장 좋은 경우)으로 이동되어야 하는 것을 말한다. 물론 템플릿 윤곽(600)의 모양을 찾아서, 이들 여분(24) 화소들은 특정 라인들상에 놓여야 한다. 윤곽 이미지(100)에서 8개 화소들의 간단히 3개의 로우들은 도 6의 윤곽(600)과 매칭하지 않을 것이다. 따라서 매칭 함수를 평가하는 것이 스킵될 수 있는 로우의 수는 보다 지능적으로 계산될 수 있다. 최선하여, 윤곽(600)의 제 1 로우(601)의 8개의 화소들은 모두 위치(yR)에 배치된 관심 영역(303)의 하부 로우에 제공되고, 관심 영역(303)의 아래에는 윤곽(600)의 나머지가 있다(만약 포인트들이 배치되면, 매칭 함수 평가는 윤곽 이미지 100의 물체 윤곽이 목표된 템플릿 윤곽 600가 아님). 패턴이 제 1 로우(601) 아래 6 로우들에 대해 연속적이기 때문에, 관심 영역(303)은 패턴과 완전히 오버랩하도록 6 로우들을 점핑하여야 하고, 관심 영역(303)의 제 1 로우와 제 1 로우(601)를 정렬한다.
일반적인 측면들에서, 두개의 전략들이 있다:
관심 영역(303)의 화소들의 총수의 카운트(320)는 관심 영역(303)의 각각의 수직 위치(yR)에 대해 수행되고, 그후 매칭 함수는 만약 카운트가 매칭될 템플릿(들)에 대해 미리 결정된 화소 양과 크거나 같으면 평가되고;
또는 다수의 로우들이 관심 영역(303)의 현재 수직 위치(yR)에 대한 현재 카운트 및 미리 결정된 화소 양(수직 섹터 301의 폭 및/또는 템플릿 윤곽 모양을 고려) 사이의 차이에 따라 동시에 스킵된다.
제 1 전략에 대해, 수직 위치(yR)에 대한 관심 영역(303)의 화소들의 총수의 카운트는 새로운 로우 카운트를 부가하고, 관심 영역(303)의 이전 위치에서 가장 높은 로우의 카운트를 감산함으로서, 상기 수직 위치(yR-1) 우측에 대한 카운트로부터 빠르게 얻어질 수 있다:
여기에서 C는 좌상부 화소(예를 들어 yR)의 특정 위치에 대한 전체 관심 영역(303)의 총 카운트를 가리키고, CL은 하나의 로우에 대한 카운트들을 가리키고, H는 관심 영역(303), 즉 템플릿 윤곽 윈도우(200(600))의 높이이다.
물론, 만약 많은 사소한 윤곽 화소들이 있다면, 카운트는 비록 관심 영역(303) 내의 윤곽 이미지(100) 부분 화소들이 템플릿 윤곽 위치들상에 있지 않더라도 미리 결정된 화소 양 이상일 수 있다. 그러나 템플릿 윤곽으로 검출될 것과 다른 물체들에 분명히 속해있는 작은 사소한 윤곽들을 포함하는 모든 영역들, 및 윤곽 이미지(100)의 방대한 비어있는 영역들은 평가되는 값비싼 매칭 함수 대신 스킵된다.
유사한 응답은 다수의 컬럼들의 스킵을 유발한다. 예를 들어, 만약 도 3a에서 처럼, 첫번째 8개의 컬럼들이 화소들을 전혀 포함하지 않으면, 제 1 수직 섹션(301)을 종료한후, 관심 영역(303)은 8개의 화소들을 추가로 스캐닝하기 시작한다. 일반적으로 점핑하기 위한 제안된 수의 컬럼들은 현재 수직 섹션의 각각의 로우의 화소들 양에 따른다. 예를 들어, 관심 영역(303)의 특정 위치에 대한 총 카운트가 4이도록, 상부 로우들은 화소들을 포함하지 않고, 하부 로우들은 화소들을 포함한다. 이들 화소들은 윤곽(600) 윈도우의 제 1 컬럼(603)에 대응하는 올바른 패턴에 배치될 수 있고, 8보다 7의 점핑을 제안한다. 점핑된 컬럼들의 실제 수는 관심 영역(303)의 각각의 수직 위치(yR)(가장 나쁜 경우; 명백히 비매칭 위치들이 스캔 나머지 동안 검증되지 않아야 함)를 위하여 점핑하기 위해 최소 제안된 수이다. 그러나 물론 작은 수평 컬럼 점핑으로 인해 재처리되어야 하는 윤곽 이미지(100)의 상부에서 비어있는 영역들은 수직 스킵핑으로 인해 빠르게 횡단될 것이다.
비록 5 테이블들을 가진 변수가 특히 빠를지라도, 동일한 화소 위치 구조들(110)은 구성될 수 있다. 3개의 제 1 테이블들 대신, 관심 화소들의 (x,y) 터플들(tuple)을 포함하는 단일(제 6) 테이블은 구성될 수 있고, 여기서 (x,y)터플들은 연속적인 윤곽 이미지(100) 로우들, 즉 연속적인 y 값들에 대응하는 연속적인 그룹들에 채워진다. 상기된 바와 같이 제 4 및 제 5 테이블을 얻기 위하여, 이진 검색 기준은 제 6 테이블의 터플이 목표된 로우 값(y)에서 발견될 때까지 사용될 수 있다. 수직 섹터(301)에서 최좌측 및 최우측 화소에 대한 올바른 인덱스들은 예를 들어 XL보다 큰 가장 작은 x 값을 가진 터플이 조우될 때까지, 제 6 테이블의 인덱스를 증감시키는 방향으로 이동함으로써 발견될 수 있다.
상기된 바와 같이 이진수 대신, 카운트 이미지(100)는 도 4에 도시된 바와 같이 0 또는 1과 같지 않은, 예를 들어 0.5의 값들을 포함할 수 있다. 상기 윤곽 이미지들을 사용하는데 몇가지 이유가 있을 수 있다, 예를 들어:
윤곽 이미지는 두개의 다른 에지 검출 동작, 특정 화소 위치에서 윤곽 존재시 두개의 에지 검출기들 사이의 부합을 나타내는 값, 및 두개의 에지 검출들중 하나만이 에지 존재를 검출하는 것을 가리키는 0.5의 결과로서 얻어질 수 있거나; 또는
이미지는 상기된 바와 같이 얻어진 이진 윤곽 이미지(100)에 거리 변환을 적용함으로써 얻어질 수 있다.
나중 예는 몇몇 애플리케이션들에 사용된다. 매칭 함수는 특정 임계값, 예를 들어 0.2 또는 0 이상의 윤곽 이미지(100)의 모든 화소 값들을 위하여 평가된다. 임계치는 화소가 관심있는지를 결정한다. 템플릿은 이진수이거나 몇몇 값들을 가진다. 이진 템플릿은 만약 많은 다른 템플릿들이 저장되고 검사되어야 하고(예를 들어, 단일 물체 모양의 회전 및 스케일 버젼들), 템플릿 윤곽 윈도우(100)의 화소 값들이 이진수이기 보다 정수 또는 실수이면, 작은 메모리가 저장을 위한 불충분할 수 있기 때문에 저자 측면에서 바람직하다. 게다가, 바람직하게 사용될 수 있는 동작들의 수의 분산에 차이가 있다. 예를 들어, 만약 매칭될 템플릿이 두개의 화소 라인 세그먼트이면, 단지 두개의 화소 비교들은 이진 템플릿(비록 윤곽 이미지 100상 거리 변환으로 인해, 통상적으로 보다 많은 위치들이 검증될지라도 0의 경우 각각의 평가 위치를 위해 수행되어야 하고, 반면 몇몇 보다 많은 비교들은 거리 변환 템플릿을 위해 수행되어야 한다. 두개의 옵션들중에서 - 템플릿상 거리 변환 또는 윤곽 이미지 - 보다 경제적인 것은 템플릿의 모양 및 윤곽 이미지(100) 의 물체 콘텐트에 따른다. 즉 관심 영역(303)의 예상된 점핑들에 따른다. 가속은 동적으로 결정하는 알고리듬의 경우 실현될 수 있다.
증가된 처리 속도는 처리기 아키텍쳐(MMX의 단일 명령 다중 데이타 같은) 특성들을 이용함으로써 얻어질 수 있다. 템플릿 윤곽 윈도우(200) 처럼 넓은 관심 영역(303)을 사용하는 대신, 관심 영역(303)은 8 화소 넓이이다. 8개의 컬럼들은 병렬로 매칭 템플릿을 위하여 검사될 수 있다. 최소 수평 점핑은 이 경우 8개의 컬럼들이다.
매칭될 다른 크기들, 회전들, 또는 시야 투시 변화들의 윤곽들의 경우, 윤곽 템플릿 매칭 전략은 통상적으로 특정 크기, 방향 등의 다른 결합들 각각에 대해 템플릿들을 포함하는 다수의 템플릿 윤곽 윈도우(200)와 매칭한다. 이것은 다수의 템플릿들이 저장되고, 큰 메모리를 필요로 하고, 각각의 템플릿들이 매칭되어야 하는 것을 의미한다. 본 발명의 이 실시예에 따라, 지리적 변환(예를 들어, 회전)에 의해 관련된 효율적 매칭 윤곽들을 위하여, 모든 이들 템플릿들의 서브세트만이 저장된다. 도 5는 회전에 대해 이 원리의 예를 도시한다. 만약 방향 변화의 각도에 대하여 템플릿을 저장하면, 대부분의 템플릿은 어쨋든 다른, 단부에서, 템플릿 윤곽 윈도우(200) 값이 상당히 변화할 수 있지 않다. 따라서, 예를 들어 기준 방향에 대응하는 다중 10도에 의해 각각의 회전에 대한 템플릿 윤곽 윈도우(200)만이 있다. 중간 방향(503) - 예를 들어 9도의 템플릿은 이웃하는 템플릿 윤곽(501)의 화소 값들과 동일한 위치가 아닌, 변환으로부터 계산될 수 있는 오프셋들(dx,dy)과, 이웃하는 템플릿 윤곽(501)(예를 들어 도 5의 0도인 중간 방향 보다 작은 가장 높은 방향 각도로 저장됨)의 화소 값들을 비교함으로서 매칭될 수 있다. 유사한 결과는 윤곽 이미지(100) 대신 템플릿 윤곽 윈도우(200)의 오프셋 위치들을 찾음으로써 달성되지만, 이 경우 템플릿 윤곽 윈도우(200)는 통상적으로 커지고, 가능하게 보다 큰 거리들에 대해 논-제로 화소값들을 도입하는 거리 변환으로 생성된다. 예를 들어, 도 5의 실시예에서 매칭하기 위한 윤곽 이미지(100)의 화소들을 가리키는 오프셋들(dx,dy)은 하기와 같다:
dy=r[sin(α+β)-sin(α)]
여기에서 r은 회전 원점에 대한 거리이고, α는 템플릿 윤곽 윈도우(200) 화소의 수직부에 대해 비교되는 각도이고, β는 중간 방향과 이웃하는 템플릿 윤곽(501)의 방향 사이의 방향 차이이다. 다른 템플릿들에 대한 오프셋들은 미리 계산되고 룩업 테이블들에 저장된다. 오버랩 에러들은 거리 변환에 의해 보상되고, 즉 매칭하기 위하여 모양들의 유사성과 트레이드 오프된다. 보다 정밀한 방향, 크기 등이 어떤 것인지를 서브샘플된 방향들(모든 질적 변형들의 서브샘플 세트)에 대한 매칭들이 거시적으로 가리키기 때문에, 방향이 존재한다. 상기 방식에서 빠른 검색 기술들은 사용될 수 있다.
다른 실시예들에서 매칭은 가우스 필터에 의한 제 1 평탄화후 통상적으로 서 브샘플된 윤곽 이미지(100)상에 있을 수 있다. 또는 스케일 공간에서 계층적 매칭은 작은 후크 도는 노치의 존재와 다를 수 있다. 제 1 단계에서 물체는 배치되고, 제 2 단계에서 후크의 존재는 예상된 위치에서 검증된다.
도 7은 물체 윤곽 이미지(100)를 분석하기 위한 이미지 처리 장치(731)를 도시한다. 제 1 유닛(721)은 관심 영역(303)의 윤곽 이미지(100)에서 스캔 경로(306)상 위치(xR,yR)를 특정하기 위하여 배열된다. 예를 들어 상기된 바와 같이 제 1 유닛은 윤곽 이미지(100)의 컬럼을 따라 연속적인 위치들을 생성할 수 있다. 이런 위치 정보(또는 스캔될 현재 컬럼의 적어도 y 좌표)를 제 2 유닛(723)에 보내기 위하여 배열된다. 제 2 유닛은 제 1 테이블(111), 제 4 테이블(311), 제 5 테이블(313), 및 만약 요구되면 상기된 바와 같이 대응하는 방법에 대응하는 특정 실현예에서, 제 2 테이블(113) 및 제 3 테이블(115)을 구성하기 위하여 배열된다. 제 2 유닛(723)은 메모리(715)에 접속되고 이 메모리(715)에 테이블들을 저장하기 위하여 배열된다. 메모리는 통상적으로 메모리 칩이지만, 생성된 테이블들이 추가 처리를 위하여 독립된 이미지 처리 장치에 의해 사용될 수 있도록, 네트워크를 통하여 접속된 원격 장치의 메모리 또는 디스켓 같은 탈착 가능한 메모리일 수 있다.
물체 검출을 위한 이미지 처리 장치(732)는 관심 영역(303)의 개략 화소들 및 템플릿 윤곽 윈도우(200) 내의 화소들로서 상기된 바와 같이 얻은 매칭 함수를 평가하기 위하여 배열되고, 매칭 결과들을 저장하기 위한 메모리에 액세스할 수 있는 매칭 유닛(727)을 더 포함할 수 있다. 결정 유닛(725)은 스캔 경로(306)를 따라 현재 위치에 액세스하거나 현재 관심 영역(303)에 액세스하도록 배열되고, 메모 리(725)의 테이블들에 액세스를 가진다. 결정 유닛(725)은 상기된 바와 같이 하나 이상의 방법들에 의해, 관심 영역(303) 내 다수의 논-제로 화소들의 카운트(320)를 계산하기 위하여 배열된다. 카운트 값에 따라, 예를 들어 보다 낮은 1 이상의 화소들을 스캔 경로(306)상 다음 위치로 점핑하게 제 1 유닛(721)에게 명령하거나, 관심 영역(303)의 현재 위치에 대한 매칭 함수를 평가하게 매칭 유닛(727)에 명령하도록 배열된다.
윤곽 생성 유닛(711)은 그레이 값 화소들, 컬러 화소들의 이미지, 또는 수학적으로 또는 생성된 이미지로부터 윤곽 이미지(100)를 생성하도록 배열된다. 통상적인 애플리케이션에서, 이미지는 카메라(701)로부터 수신된다.
제어 유닛은 이미지 처리 장치(732)에 의해 얻어진 물체 윤곽 매칭 결과들을 기초로 추가 함수들을 평가하고, 적어도 하나의 신호(S)를 유도하기 위하여 배열된다. 이 신호(S)는 검출된 물체를 픽업하기 위하여 명령받은 로보트에 출력될 수 있다. 보안 시스템에서, 전용 물체는 차량 번호판일 수 있고, 신호는 배리어 또는 알람에 출력될 수 있다.
모든 처리 구성요소들, 예를 들어 이미지 처리 장치(731)는 하드웨어, 예를 들어 ASIC, FPGA, 또는 전용 회로 보드, 또는 전용 또는 범용 처리기, 예를 들어 개인 컴퓨터상에서 운영하는 소프트웨어로서 실현될 수 있다. 도시된 유닛들은 다중 또는 단일 물리적 장치에서 실현될 수 있다.
도 7에 도시된 예시적인 애플리케이션은 라인 모니터링을 형성한다. 물체들(703,704)은 컨베이어 벨트(705)를 따라 이동한다. 이미지 처리 장치(732)는 구성 요소가 회로 보드상에 깨끗이 납땜되는지를 검사할 수 있다. 또는, 물체들은 패키징으로부터 식별될 수 있다.
이미지 처리 장치(732)는 검출된 물체들을 기초로 컬러 수정 또는 렌즈 변형 수정, 예를 들어 물체에 대한 수정 같은 변환들을 적용하기 위하여 배열된 스마트 카메라에 통합될 수 있다. 다른 애플리케이션은 EP 애플리케이션 번호 02079816.1에 개시된 바와 같이 상기 스마트 카메라를 포함하는 원격 제어부이다.
많은 소비자 관련 장치는 수신된 이미지들을 처리할 수 있는 디스플레이를 가진 텔레비전 또는 컴퓨터이다. 예를 들어, 로고스 또는 서브타이틀들은 텔레비전 신호로 변환될 수 있다.
컴퓨터 프로그램 제품하에서, 처리기 - 범용 또는 특수용 -가 일련의 로딩 단계들후 처리기에 명령들을 갖게하거나, 본 발명의 임의의 특징 기능들을 실행하게 하는 명령들 수집물의 임의의 물리적 실현이 이해되어야 한다. 특히 컴퓨터 프로그램 제품은 디스크 또는 테이프, 메모리에 제공된 데이타 같은 캐리상 데이타로서 실현되고, 상기 데이타는 네트워크 접속을 통해 - 유선 또는 무선 -, 또는 종이상 프로그램 코드로 이동한다. 프로그램 코드와 별개로, 프로그램에 요구된 특성 데이타는 컴퓨터 프로그램 제품으로서 실현될 수 있다.
상기된 실시예들이 본 발명을 제한하기 보다 도시하는 것이 주의된다. 청구항들에 결합된 본 발명의 엘리먼트들의 결합외에, 엘리먼트들의 다른 결합들은 가능하다. 엘리먼트들의 임의의 결합은 단일 전용 엘리먼트로 실현될 수 있다.
청구항에서 괄호들 사이의 임의의 참조 부호는 청구항을 제한하기 위하여 의 도되지 않는다. 단어 "포함하는"은 청구항에 리스트되지 않은 엘리먼트들 또는 측면들의 존재를 배제하지 않는다. 엘리먼트의 단수 표현은 복수의 엘리먼트들의 존재를 배제하지 않는다.
본 발명은 하드웨어 또는 처리기상에서 운영하는 소프트웨어에 의해 실행될 수 있다.
Claims (13)
- 윤곽 이미지(100)를 분석하는 방법에 있어서,상기 윤곽 이미지(100)에서 위치들(xR, yR)의 스캔 경로(306)를 특정하는 단계로서, 각각의 위치는 관심 영역(303)에 대응하는, 상기 특정 단계;논-제로(non-zero) 값의 상기 윤곽 이미지(100)의 각각의 화소에 대하여 적어도 하나의 위치 좌표(x)를 포함하는 제 1 테이블(111)을 구성하는 단계;미리 결정된 방향을 가지며 상기 관심 영역(303)을 횡단하는 화소들의 각각의 평행한 라인에 대하여 적어도, 주어진 스캔 방향으로 상기 평행한 라인 상에 놓이고 상기 관심 영역(303) 내에 있는 상기 윤곽 이미지(100)의 첫번째 논-제로 화소의, 상기 제 1 테이블(111) 내 엔트리(121)의 인덱스(312)를 포함하는, 상기 관심 영역(303)의 위치에 대응하는 엔트리들을 갖는 제 4 테이블(311)을 구성하는 단계; 및미리 결정된 방향을 가지며 상기 관심 영역(303)을 횡단하는 화소들의 각각의 평행한 라인에 대하여 적어도, 주어진 스캔 방향으로 상기 평행한 라인 상에 놓이고 상기 관심 영역(303) 내에 있는 상기 윤곽 이미지(100)의 최종 논-제로 화소의, 상기 제 1 테이블(111) 내 엔트리(121)의 인덱스(314)를 포함하는, 상기 관심 영역(303)의 위치에 대응하는 엔트리들을 갖는 제 5 테이블(313)을 구성하는 단계를 포함하는, 윤곽 이미지 분석 방법.
- 제 1 항에 있어서,컬럼(cloumn)을 따라 아래로 연장하고 이어서 다음 컬럼쪽으로 점핑하는 연속적인 위치들(xR, yR)로서 상기 스캔 경로(306)를 특정하는 단계;상기 논-제로 값의 윤곽 이미지(100)의 각각의 화소에 대하여, 적어도 하나의 위치 좌표(x)를 포함하는 상기 제 1 테이블(111)을 구성하는 단계;상기 관심 영역(303)을 횡단하는 화소들의 각각의 수평 라인에 대하여 적어도, 상기 각각의 수평 라인 상에 놓이고 상기 관심 영역(303) 내에 있는 상기 윤곽 이미지(100)의 최좌측 논-제로 화소의, 상기 제 1 테이블(111) 내 엔트리(121)의 인덱스(312)를 포함하는 상기 제 4 테이블(311)을 구성하는 단계; 및상기 관심 영역(303)을 횡단하는 화소들의 각각의 수평 라인에 대하여 적어도, 상기 각각의 수평 라인 상에 놓이고 상기 관심 영역(303) 내에 있는 상기 윤곽 이미지(100)의 최우측 논-제로 화소의, 상기 제 1 테이블(111) 내 엔트리(121)의 인덱스(314)를 포함하는 상기 제 5 테이블(313)을 구성하는 단계를 포함하는, 윤곽 이미지 분석 방법.
- 제 2 항에 있어서,상기 윤곽 이미지(100)의 각각의 실질적으로 수평 라인에 대하여, 상기 윤곽 이미지(100)의 각각의 수평 라인 상 최좌측 논-제로 화소의, 상기 제 1 테이블(111)내 엔트리(121)의 인덱스(123)를 포함하는 제 2 테이블(113)을 구성하는 단계;상기 윤곽 이미지(100)의 각각의 실질적으로 수평 라인에 대하여, 상기 윤곽 이미지(100)의 각각의 수평 라인 상 최우측 논-제로 화소의, 상기 제 1 테이블(111) 내 엔트리(121)의 인덱스(125)를 포함하는 제 3 테이블(115)을 구성하는 단계; 및상기 제 1 테이블(111), 상기 제 2 테이블(113) 및 상기 제 3 테이블(115)을 기초로 상기 제 4 테이블(311) 및 상기 제 5 테이블(313)을 구성하는 단계를 포함하는, 윤곽 이미지 분석 방법.
- 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,상기 제 4 테이블(311) 및 상기 제 5 테이블(313)을 기초로, 상기 스캔 경로(306)를 따라 연속적인 위치들에 대하여 상기 관심 영역(303) 내의 복수의 논-제로 화소들의 카운트(320)를 계산하는 단계;상기 카운트(320)가 미리 결정된 화소 양과 같거나 크다면 상기 관심 영역(303)의 개략 화소들(arguments pixels) 및 템플릿 윤곽 윈도우(200)의 화소들로서 얻은, 템플릿 윤곽 및 상기 관심 영역(303)에 제공된 상기 윤곽 이미지(100)의 화소들 사이의 매칭 표시를 얻기 위한 매칭 함수를 평가하는 단계; 및상기 카운트(320)가 미리 결정된 화소 양보다 작으면 상기 스캔 경로(306)를 따라 추가 위치로 점핑을 수행하는 단계를 더 포함하는, 윤곽 이미지 분석 방법.
- 제 4 항에 있어서,검증될 상기 템플릿 윤곽은 상기 템플릿 윤곽 윈도우(200) 내 템플릿 윤곽의 지리적 변환이고,상기 템플릿 윤곽 윈도우(200)의 화소의 위치(x,y) 및 상기 지리적 변환에 의해 결정된 위치(x',y')에서, 상기 윤곽 이미지의 대응 화소를 상기 템플릿 윤곽 윈도우(200)의 화소에 대해 인출하는(fetching) 단계; 및상기 템플릿 윤곽 윈도우(200)의 화소 및 상기 대응 화소 사이의 유사성을 기초로 상기 매칭 함수를 평가하는 단계를 포함하는, 윤곽 이미지 분석 방법.
- 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,상기 윤곽 이미지(100)를 얻기 위하여 상기 이미지에 윤곽 검출을 제공하는 단계를 더 포함하는, 윤곽 이미지 분석 방법.
- 윤곽 이미지(100)를 분석하기 위한 이미지 처리 장치(731)에 있어서,관심 영역(303)의 상기 윤곽 이미지(100)에서 스캔 경로(306)상 위치(xR, yR)를 특정하기 위하여 배열된 제 1 유닛(721); 및메모리(715)를 구성하고 저장하기 위하여 배열된 제 2 유닛(723)으로서,a) 논-제로 값의 상기 윤곽 이미지(100)의 각각의 화소에 대하여 적어도 하나의 위치 좌표(x)를 포함하는 제 1 테이블(111);b) 상기 관심 영역(303)을 횡단하는 화소들의 각각의 평행한 라인에 대하여 적어도, 주어진 스캔 방향으로 상기 각각의 평행한 라인 상에 놓이고 상기 관심 영 역(303) 내에 있는 상기 윤곽 이미지(100)의 첫번째 논-제로 화소의, 상기 제 1 테이블(111) 내 엔트리(121)의 인덱스(312)를 포함하는 제 4 테이블(311); 및c) 상기 관심 영역(303)을 횡단하는 화소들의 상기 각각의 평행한 라인에 대하여 적어도, 주어진 스캔 방향으로 상기 각각의 평행한 라인 상에 놓이고 상기 관심 영역(303) 내에 있는 상기 윤곽 이미지(100)의 최종 논-제로 화소의, 상기 제 1 테이블(111) 내 엔트리(121)의 인덱스(314)를 포함하는 제 5 테이블(313)을 포함하는, 상기 제 2 유닛을 포함하는, 이미지 처리 장치.
- 제 7 항에서 청구된 이미지 처리 장치(731)를 포함하는 윤곽 이미지(100)로 물체를 검출하기 위한 이미지 처리 장치(732)에 있어서,관심 영역(303)의 개략 화소들 및 템플릿 윤곽 윈도우(200) 내 화소들로서 얻어진 매칭 함수를 평가하기 위하여 배열된 매칭 유닛(727); 및상기 관심 영역(303) 내의 복수의 논-제로 화소들의 카운트(320)를 계산하기 위하여 배열되고, 상기 제 4 테이블(311) 및 상기 제 5 테이블(313)을 기초로,상기 카운트(320)가 미리 결정된 화소 양보다 작으면 스캔 경로(306)를 따라 추가 위치로 점핑하도록 제 1 유닛(721)에 명령하고, 상기 카운트(320)가 미리 결정된 화소 양과 같거나 크다면 상기 현재 관심 영역(303)에 대한 매칭 함수를 평가하는 것을 상기 매칭 유닛(727)에 명령하도록 배열된 결정 유닛(725)을 더 포함하는, 이미지 처리 장치.
- 제 7 항에서 청구된 이미지 처리 장치(731) 또는 제 8 항에서 청구된 이미지 처리 장치(732)를 포함하는 산업용 비전 장치(700)에 있어서,카메라(701)로부터 수신할 수 있는 이미지로부터 윤곽 이미지(100)를 생성하기 위하여 배열된 윤곽 생성 유닛(711); 및매칭 함수의 결과에 따라 신호(S)를 출력하기 위하여 배열된 제어 유닛(150)을 더 포함하는, 산업용 비전 장치.
- 제 7 항에서 청구된 이미지 처리 장치(731) 또는 제 8 항에서 청구된 이미지 처리 장치(732)를 포함하는 스마트 카메라에 있어서,상기 카메라(701)에 의해 캡쳐링된 이미지로부터 상기 윤곽 이미지(100)를 생성하기 위하여 배열된 윤곽 생성 유닛; 및상기 카메라에 의해 캡쳐링된 이미지 영역에 이미지 변환을 제공하기 위하여 배열되고, 상기 이미지 처리 장치(731)에 의해 검출된 물체를 기초로 결정된 이미지 처리 유닛을 더 포함하는, 스마트 카메라.
- 제 7 항에서 청구된 이미지 처리 장치(731) 또는 제 8 항에서 청구된 이미지 처리 장치(732)를 포함하는 이미지 디스플레이에 있어서,상기 이미지 디스플레이에 의해 수신된 이미지로부터 윤곽 이미지(100)를 생성하기 위하여 배열된 윤곽 생성 유닛; 및상기 수신된 이미지의 영역에 이미지 변환을 제공하기 위하여 배열되고, 상 기 이미지 처리 장치(731)에 의해 검출된 물체를 기초로 결정된 이미지 처리 유닛을 더 포함하는, 이미지 디스플레이.
- 제 9 항에서 청구된 산업용 비전 장치(700)를 포함하는, 보안 시스템.
- 제 1 항 내지 제 6 항 중 어느 한 항에 따른 방법을 실행하기 위한 처리기를 인에이블하도록 하는 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03103847.4 | 2003-10-17 | ||
EP03103847A EP1524622A1 (en) | 2003-10-17 | 2003-10-17 | Method and image processing device for analyzing an object contour image, method and image processing device for detecting an object, industrial vision apparatus, smart camera, image display, security system, and computer program product |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060100376A true KR20060100376A (ko) | 2006-09-20 |
Family
ID=34354591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067007404A KR20060100376A (ko) | 2003-10-17 | 2004-10-12 | 물체 윤곽 이미지를 분석하기 위한 방법 및 이미지 처리장치, 물체를 검출하기 위한 방법 및 이미지 처리 장치,산업용 비전 장치, 스마트 카메라, 이미지 디스플레이,보안 시스템, 및 컴퓨터 프로그램 제품 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20070098264A1 (ko) |
EP (2) | EP1524622A1 (ko) |
JP (1) | JP2007508633A (ko) |
KR (1) | KR20060100376A (ko) |
CN (1) | CN1867928A (ko) |
AT (1) | ATE370461T1 (ko) |
DE (1) | DE602004008317D1 (ko) |
WO (1) | WO2005038699A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100966876B1 (ko) * | 2008-07-08 | 2010-06-29 | 삼성전자주식회사 | 물체 검출방법 및 물체 검출장치 |
KR101395234B1 (ko) * | 2009-10-07 | 2014-05-15 | 에이. 트론쓰리디 게엠베하 | 삼차원 영상 캡쳐 방법 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007004709A (ja) * | 2005-06-27 | 2007-01-11 | Toshiba Corp | 対象パターン検出方法及びその装置 |
JP2007101197A (ja) * | 2005-09-30 | 2007-04-19 | Nachi Fujikoshi Corp | 物体探索装置,物体探索装置を備えるロボットシステム及び物体探索方法 |
JP4320363B2 (ja) * | 2006-05-25 | 2009-08-26 | 豪洋 石崎 | 作業ロボット |
KR100807995B1 (ko) * | 2006-07-25 | 2008-02-28 | 전북대학교산학협력단 | 힐버트 공간 채움 곡선 생성 방법 및 이를 이용한 지도정보제공 장치와 시스템 |
US7844105B2 (en) * | 2007-04-23 | 2010-11-30 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for determining objects poses from range images |
CN101540833B (zh) * | 2009-04-13 | 2011-04-13 | 浙江大学 | 一种抗干扰的实时物体轮廓跟踪方法 |
US20110238381A1 (en) * | 2010-03-26 | 2011-09-29 | Randolph Construction Services, Inc. | Data Management System |
EP2553657A4 (en) * | 2010-04-02 | 2015-04-15 | Nokia Corp | METHODS AND APPARATUS FOR FACIAL DETECTION |
US20120050522A1 (en) * | 2010-08-24 | 2012-03-01 | Research In Motion Limited | Method of and apparatus for verifying assembly components of a mobile device |
US8427483B1 (en) | 2010-08-30 | 2013-04-23 | Disney Enterprises. Inc. | Drawing figures in computer-based drawing applications |
US8487932B1 (en) * | 2010-08-30 | 2013-07-16 | Disney Enterprises, Inc. | Drawing figures in computer-based drawing applications |
US8446505B2 (en) | 2010-10-27 | 2013-05-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Row and column jumping for pixel readout using burst switching mode |
DE102011010315A1 (de) * | 2011-02-03 | 2012-08-09 | Hönigsberg & Düvel Datentechnik GmbH | Erkennung von Objekten |
CN102222157B (zh) * | 2011-04-28 | 2013-10-30 | 华南理工大学 | 一种基于人工势场法的动态预警域生成方法 |
US8849007B2 (en) | 2011-10-19 | 2014-09-30 | Crown Equipment Corporation | Identifying, evaluating and selecting possible pallet board lines in an image scene |
CN102521840B (zh) * | 2011-11-18 | 2014-06-18 | 深圳市宝捷信科技有限公司 | 一种运动目标跟踪方法、***及终端 |
US9275467B2 (en) * | 2012-03-29 | 2016-03-01 | Analog Devices, Inc. | Incremental contour-extraction scheme for binary image segments |
KR102003383B1 (ko) * | 2013-03-14 | 2019-07-24 | 삼성전자주식회사 | 전자 장치에서 이미지를 촬영하는 위한 장치 및 방법 |
AU2015280776B2 (en) * | 2014-06-27 | 2019-08-22 | Crown Equipment Corporation | Vehicle positioning or navigation utilizing associated feature pairs |
BR102015013591A8 (pt) * | 2015-06-10 | 2023-03-07 | Valid Solucoes E Servicos De Seguranca Em Meios De Pagamento E Identificacao S A | Processo e sistema de identificação de produtos em movimentação em uma linha de produção |
US9990535B2 (en) | 2016-04-27 | 2018-06-05 | Crown Equipment Corporation | Pallet detection using units of physical length |
CN106373123B (zh) * | 2016-09-21 | 2019-01-08 | 哈尔滨工业大学 | 基于k_tSL中心聚类算法的工业元件表面缺陷检测方法 |
CN110023991B (zh) * | 2016-12-02 | 2023-04-04 | 皇家飞利浦有限公司 | 用于从对象类中识别对象的装置 |
CA3050729A1 (en) * | 2017-01-30 | 2018-08-02 | Walmart Apollo, Llc | Systems and methods for resolving issues in a distributed autonomous robot system |
GB2572931B (en) | 2017-01-30 | 2022-04-13 | Walmart Apollo Llc | Distributed autonomous robot interfacing systems and methods |
MX2019008983A (es) | 2017-01-30 | 2019-09-18 | Walmart Apollo Llc | Metodos y sistemas roboticos autonomos distribuidos. |
CA3050716A1 (en) | 2017-01-30 | 2018-08-02 | Walmart Apollo, Llc | Systems and methods for distributed autonomous robot interfacing using live image feeds |
WO2018140694A1 (en) | 2017-01-30 | 2018-08-02 | Walmart Apollo, Llc | Distributed autonomous robot systems and methods with rfid tracking |
CN108629734B (zh) * | 2017-03-23 | 2021-10-22 | 展讯通信(上海)有限公司 | 图像几何变换方法、装置及终端 |
CN107168117B (zh) * | 2017-05-25 | 2019-08-06 | 淮阴工学院 | 一种利用图像对酿酒蒸馏工艺甑料控制的方法 |
CN110276769B (zh) * | 2018-03-13 | 2023-07-11 | 上海薇龙文化传播有限公司 | 一种视频画中画架构中直播内容定位方法 |
CN108782797B (zh) * | 2018-06-15 | 2021-08-27 | 广东工业大学 | 臂式炒茶机翻炒茶叶的控制方法和臂式炒茶机 |
CN109040680A (zh) * | 2018-08-13 | 2018-12-18 | 昆山睿力得软件技术有限公司 | 一种用于产品装配的视觉引导*** |
CN110598694B (zh) * | 2019-08-14 | 2023-03-21 | 广东奥普特科技股份有限公司 | 一种快速处理感兴趣区域图像的方法 |
CN114693707B (zh) * | 2020-12-31 | 2023-09-26 | 北京小米移动软件有限公司 | 物体轮廓模板获取方法、装置、设备及存储介质 |
CN113820661B (zh) * | 2021-09-03 | 2023-07-28 | 暨南大学 | 一种基于二分及双指针条纹搜索的可见光定位方法及*** |
CN115908951B (zh) * | 2023-01-06 | 2023-05-26 | 长江勘测规划设计研究有限责任公司 | 一种机器视觉实时识别预紧螺栓状态的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4155072A (en) * | 1976-12-17 | 1979-05-15 | Ricoh Company, Ltd. | Character recognition apparatus |
US5287293A (en) * | 1990-12-31 | 1994-02-15 | Industrial Technology Research Institute | Method and apparatus for inspecting the contours of a gear |
JP2918383B2 (ja) * | 1992-02-27 | 1999-07-12 | 大日本スクリーン製造株式会社 | 画像の輪郭抽出方法および装置 |
JP2954426B2 (ja) * | 1992-06-26 | 1999-09-27 | キヤノン株式会社 | 画像処理方法及び装置 |
JPH06203157A (ja) * | 1992-10-14 | 1994-07-22 | Fujitsu Ltd | カラー画像処理方法および装置 |
KR0171151B1 (ko) * | 1995-03-20 | 1999-03-20 | 배순훈 | 곡률 계산 기법을 이용한 이미지 윤곽 근사화 장치 |
JPH10293852A (ja) * | 1997-04-21 | 1998-11-04 | Fuji Photo Film Co Ltd | 輪郭線抽出方法 |
-
2003
- 2003-10-17 EP EP03103847A patent/EP1524622A1/en not_active Withdrawn
-
2004
- 2004-10-12 KR KR1020067007404A patent/KR20060100376A/ko not_active Application Discontinuation
- 2004-10-12 AT AT04770230T patent/ATE370461T1/de not_active IP Right Cessation
- 2004-10-12 WO PCT/IB2004/052059 patent/WO2005038699A1/en active IP Right Grant
- 2004-10-12 DE DE602004008317T patent/DE602004008317D1/de active Active
- 2004-10-12 EP EP04770230A patent/EP1678659B1/en not_active Not-in-force
- 2004-10-12 US US10/575,289 patent/US20070098264A1/en not_active Abandoned
- 2004-10-12 JP JP2006534888A patent/JP2007508633A/ja not_active Withdrawn
- 2004-10-12 CN CNA2004800303206A patent/CN1867928A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100966876B1 (ko) * | 2008-07-08 | 2010-06-29 | 삼성전자주식회사 | 물체 검출방법 및 물체 검출장치 |
US8811659B2 (en) | 2008-07-08 | 2014-08-19 | Samsung Electronics Co., Ltd. | Object detection method and apparatus |
KR101395234B1 (ko) * | 2009-10-07 | 2014-05-15 | 에이. 트론쓰리디 게엠베하 | 삼차원 영상 캡쳐 방법 |
US9050158B2 (en) | 2009-10-07 | 2015-06-09 | A. Tron3D Gmbh | Method for acquiring three-dimensional images |
Also Published As
Publication number | Publication date |
---|---|
US20070098264A1 (en) | 2007-05-03 |
DE602004008317D1 (de) | 2007-09-27 |
JP2007508633A (ja) | 2007-04-05 |
EP1678659B1 (en) | 2007-08-15 |
EP1678659A1 (en) | 2006-07-12 |
WO2005038699A1 (en) | 2005-04-28 |
CN1867928A (zh) | 2006-11-22 |
ATE370461T1 (de) | 2007-09-15 |
EP1524622A1 (en) | 2005-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20060100376A (ko) | 물체 윤곽 이미지를 분석하기 위한 방법 및 이미지 처리장치, 물체를 검출하기 위한 방법 및 이미지 처리 장치,산업용 비전 장치, 스마트 카메라, 이미지 디스플레이,보안 시스템, 및 컴퓨터 프로그램 제품 | |
US10776953B2 (en) | Method for identification of candidate points as possible characteristic points of a calibration pattern within an image of the calibration pattern | |
EP0784827B1 (en) | Method and apparatus for determining the fine angular orientation of bar code symbols in two-dimensional ccd images | |
US5276315A (en) | Method and apparatus for processing low resolution images of degraded bar code symbols | |
US5081689A (en) | Apparatus and method for extracting edges and lines | |
US20130077870A1 (en) | Evaluation of edge direction information | |
JP7049983B2 (ja) | 物体認識装置および物体認識方法 | |
WO1993007580A1 (fr) | Procede pour determiner la direction dans une region locale d'un segment de profil et procede pour determiner les lignes et les angles | |
JP2000011089A (ja) | 光学式文字認識システムの2値化方法 | |
CN108256375B (zh) | 一种一维条形码扫描方法 | |
US5438636A (en) | Apparatus for simultaneously convolving multiple digital binary images using a single convolver with a binary mask to determine pixel densities | |
JP2004362053A (ja) | 二次元コード読取装置 | |
JPH09281055A (ja) | 欠け検査方法 | |
US7027637B2 (en) | Adaptive threshold determination for ball grid array component modeling | |
US7451931B2 (en) | Detecting barcodes on two-dimensional images using frequency domain data | |
JPH08210811A (ja) | 円ないし楕円の検出方法およびその装置 | |
JP3164835B2 (ja) | 人物画像認識における前処理方法および後処理方法 | |
JP2001099625A (ja) | パターン検査装置およびパターン検査方法 | |
JPH08101139A (ja) | 欠陥検査装置および方法 | |
US20020191850A1 (en) | Real time object localization and recognition from silhouette images | |
JP3655101B2 (ja) | 回転角度検出方法、装置および記録媒体 | |
CN112712551B (zh) | 一种螺丝检测方法、装置及存储介质 | |
JP3675366B2 (ja) | 画像抽出処理装置 | |
JPH07192134A (ja) | 画像処理方法 | |
Pambudi et al. | Template matching algorithm for noise detection in cargo container |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |