KR101991763B1 - 조밀 탐색 방법 및 화상 처리 장치 - Google Patents

조밀 탐색 방법 및 화상 처리 장치 Download PDF

Info

Publication number
KR101991763B1
KR101991763B1 KR1020187001511A KR20187001511A KR101991763B1 KR 101991763 B1 KR101991763 B1 KR 101991763B1 KR 1020187001511 A KR1020187001511 A KR 1020187001511A KR 20187001511 A KR20187001511 A KR 20187001511A KR 101991763 B1 KR101991763 B1 KR 101991763B1
Authority
KR
South Korea
Prior art keywords
image
data
search
pixels
template
Prior art date
Application number
KR1020187001511A
Other languages
English (en)
Other versions
KR20180018785A (ko
Inventor
요시노리 고니시
Original Assignee
오므론 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오므론 가부시키가이샤 filed Critical 오므론 가부시키가이샤
Publication of KR20180018785A publication Critical patent/KR20180018785A/ko
Application granted granted Critical
Publication of KR101991763B1 publication Critical patent/KR101991763B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • G06V10/7515Shifting the patterns to accommodate for positional errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/248Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
    • G06V30/2504Coarse or fine approaches, e.g. resolution of ambiguities or multiscale approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Advance Control (AREA)
  • Image Processing (AREA)

Abstract

템플릿 매칭에 의해 제1 화상 중에서 대상물을 검출하는 제1 탐색 단계와, 제1 화상에 비해 가로 n배, 세로 m배의 해상도를 갖는 제2 화상 중에서, 제1 탐색 단계에서의 검출 위치에 대응하는 n픽셀×m픽셀의 영역을 탐색 범위로 하고, 템플릿 매칭에 의해 제2 화상 중에서 대상물을 검출하는 제2 탐색 단계를 포함하는 조밀 탐색 방법으로서, 제2 탐색 단계에 앞서서, 템플릿의 동일한 요소와 대조 연산될 수 있는 n×m개의 픽셀의 데이터가 연속된 메모리 어드레스에 저장되도록, 제2 화상의 데이터를 작업 메모리 상에 재배치하고, 제2 탐색 단계에서는, n×m개의 픽셀에 대한 n×m개의 대조 연산이 SIMD 명령에 의한 n×m보다 적은 횟수의 연산 처리로 실행되는, 조밀 탐색 방법.

Description

조밀 탐색 방법 및 화상 처리 장치
본 발명은, 템플릿 매칭에 의해 화상으로부터 대상물을 검출하는 기술에 관한 것이다.
화상으로부터 대상물을 검출하는 방법 중 하나로 템플릿 매칭이라 불리는 수법이 있다. 템플릿 매칭의 기본 처리는, 검출 대상이 되는 물체의 모델(템플릿)을 미리 준비해 두고, 입력 화상과 템플릿 사이의 화상 특징의 일치도를 평가함으로써 화상 중의 물체의 위치나 자세를 검출한다는 것이다. 템플릿 매칭에 의한 물체 검출은, 예를 들어 FA(Factory Automation)에서의 검사나 피킹, 로봇 비전, 감시 카메라 등 다양한 분야에서 실용되고 있다. 최근에는 화상의 고해상도화나 검출 대상 종류의 증가, 동화상에 대한 실시간 처리의 요청 등으로부터 템플릿 매칭의 추가적인 고속화가 요구되고 있다.
템플릿 매칭에 의한 탐색 처리를 고속화하는 기술로서 조밀(粗密) 탐색이라 불리는 알고리즘이 알려져 있다. 조밀 탐색이란, 해상도를 단계적으로 다르게 한 화상군(화상 피라미드라고 불림)을 준비하고, 저해상도의 화상에서의 탐색 결과를 기초로 탐색 범위를 좁히고, 이러한 탐색 범위에 대해 고해상도의 화상에서 추가적인 탐색을 행한다는 처리를 반복하여 최종적으로 원래 해상도의 화상에서의 물체의 위치를 특정하는 방법이다. 탐색 범위를 단계적으로 좁혀 감으로써 대조 연산의 횟수를 삭감할 수 있기 때문에, 전체적인 처리 시간의 단축을 도모할 수 있다.
또한, 컴퓨터에 의한 연산 처리를 고속화하는 기술로서 SIMD(single instruction multiple data)가 있다. SIMD란, 하나의 명령으로 복수의 데이터의 연산을 실행하는 병렬 처리의 일종이다. 예를 들어 128비트폭의 SIMD 레지스터를 갖는 프로세서의 경우, 16비트의 8개의 데이터에 대한 연산이나 8비트의 16개의 데이터에 대한 연산을 1클록의 명령으로 병렬로 처리할 수 있다. 특허문헌 1에는, 공간 필터 연산의 고속화를 위해 SIMD를 적용한 예가 개시되어 있다. 또한, 비특허문헌 1에는, 리스폰스 맵의 계산에 SIMD를 적용하기 위해 T픽셀 걸러 나열된 복수의 특징량을 메모리 상에 연속적으로 나란히 저장하는 것이 개시되어 있다(비특허문헌 1 중에서는 SIMD 대신에 SSE(Streaming Simd EXtensions)라는 용어로 기재되어 있다).
SIMD에 의한 병렬 처리는 처리의 고속화에 유효하다. 그러나, 특허문헌 1이나 비특허문헌 1의 방법은 각각의 문헌에 개시된 처리에 특화된 방법으로, 전술한 조밀 탐색에는 적용할 수 없다.
특허문헌 1: 일본공개특허 2010-134612호 공보
비특허문헌 1: S. Hinterstoisser, et al., "Gradient Response Maps for Real-Time Detection of Textureless Objects", IEEE Transaction on Pattern Analysis and Machine Intelligence, vol.34(5) 2012.
본 발명은 상기 실정을 감안하여 이루어진 것으로, 조밀 탐색에 의한 템플릿 매칭을 보다 고속화하기 위한 기술을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위해 본 발명에서는, 템플릿 매칭에 의해 제1 화상 중에서 대상물을 검출하는 제1 탐색 단계와, 상기 제1 화상에 비해 가로 n배, 세로 m배(n, m은 2 이상의 정수)의 해상도를 갖는 제2 화상 중에서, 상기 제1 탐색 단계에서 대상물이 검출된 위치에 대응하는 n픽셀×m픽셀의 영역을 탐색 범위로 하고, 템플릿 매칭에 의해 상기 제2 화상 중에서 상기 대상물을 검출하는 제2 탐색 단계를 포함하는 조밀 탐색 방법에 있어서, 상기 제2 탐색 단계에 앞서서, 상기 제2 탐색 단계에서 템플릿의 동일한 요소와 대조 연산될 수 있는 n×m개의 픽셀의 데이터가 연속된 메모리 어드레스에 저장되도록, 상기 제2 화상의 데이터를 작업 메모리 상에 재배치하는 재배치 단계를 더 포함하고, 상기 제2 탐색 단계에서는, 상기 작업 메모리 상에서 연속된 메모리 어드레스에 저장되어 있는 n×m개의 픽셀에 대한 n×m개의 대조 연산이 SIMD 명령에 의한 n×m보다 적은 횟수의 연산 처리로 실행되는 것을 특징으로 하는 조밀 탐색 방법을 제공한다.
이 구성에 의하면, 제2 탐색 단계에 앞서서 제2 화상의 데이터의 재배치를 행하기 때문에, 작업 메모리로부터 SIMD 레지스터에의 데이터 전송을 1클록으로 행할 수 있고, SIMD 연산에 의한 병렬 처리의 효율을 향상시킬 수 있다. 따라서, 조밀 탐색에 의한 템플릿 매칭을 보다 고속화하는 것이 가능해진다.
상기 재배치 단계에서는, 상기 제2 화상에서 가로 방향으로 인접하는 2개의 픽셀의 데이터 사이에, 상기 2개의 픽셀 중 한쪽의 픽셀로부터 세로 방향으로 이어지는 (m-1)개의 픽셀의 데이터의 복사를 삽입하는 것이 바람직하다. 이러한 규칙으로 데이터의 재배치를 행함으로써, 데이터 중복(리던던시)이 최소가 되고 작업 메모리의 절약이 가능하기 때문이다.
상기 재배치 단계에서는, 상기 제2 탐색 단계에서 이용하는 템플릿의 각 요소의 데이터가 n×m개씩 연속된 메모리 어드레스에 저장되도록, 상기 템플릿의 데이터를 작업 메모리 상에 재배치하는 것이 바람직하다. 이에 의해, 템플릿의 데이터에 대해서도 작업 메모리로부터 SIMD 레지스터에의 데이터 전송을 1클록으로 행할 수 있고, SIMD 연산에 의한 병렬 처리의 효율을 향상시킬 수 있다.
또한, 본 발명의 다른 측면은, 템플릿 매칭에 의해 화상 중에서 대상물을 검출하는 탐색 처리를 실행하는 템플릿 매칭부와, 상기 탐색 처리에 이용되는 데이터를 저장하는 작업 메모리와, 상기 작업 메모리에 저장할 데이터의 재배치를 행하는 데이터 재배치부와, 상기 템플릿 매칭부의 처리 결과를 출력하는 결과 출력부를 갖는 화상 처리 장치로서, 상기 템플릿 매칭부는, 템플릿 매칭에 의해 제1 화상 중에서 대상물을 검출하는 제1 탐색 처리를 실행한 후, 상기 제1 화상에 비해 가로 n배, 세로 m배(n, m은 2 이상의 정수)의 해상도를 갖는 제2 화상 중에서, 상기 제1 탐색 처리에서 대상물이 검출된 위치에 대응하는 n픽셀×m픽셀의 영역을 탐색 범위로 하고, 템플릿 매칭에 의해 상기 제2 화상 중에서 상기 대상물을 검출하는 제2 탐색 처리를 실행하는 것이며, 상기 데이터 재배치부는, 상기 제2 탐색 처리에 앞서서, 상기 제2 탐색 처리에서 템플릿의 동일한 요소와 대조 연산될 수 있는 n×m개의 픽셀의 데이터가 연속된 메모리 어드레스에 저장되도록, 상기 제2 화상의 데이터를 상기 작업 메모리 상에 재배치하고, 상기 제2 탐색 처리에서는, 상기 작업 메모리 상에서 연속된 메모리 어드레스에 저장되어 있는 n×m개의 픽셀에 대한 n×m개의 대조 연산이 SIMD 명령에 의한 n×m보다 적은 횟수의 연산 처리로 실행되는 것을 특징으로 하는 화상 처리 장치를 제공한다.
이 구성에 의하면, 제2 탐색 처리에 앞서서 제2 화상의 데이터의 재배치를 행하기 때문에, 작업 메모리로부터 SIMD 레지스터에의 데이터 전송을 1클록으로 행할 수 있고, SIMD 연산에 의한 병렬 처리의 효율을 향상시킬 수 있다. 따라서, 조밀 탐색에 의한 템플릿 매칭을 보다 고속화하는 것이 가능해진다.
또, 본 발명은 상기 처리의 적어도 일부를 갖는 조밀 탐색 방법, 또는 그 조밀 탐색 방법을 이용하는 물체 검출 방법 혹은 물체 인식 방법, 또는 이러한 방법을 컴퓨터에 실행시키기 위한 프로그램이나 그 프로그램을 비일시적으로 기억한 컴퓨터 판독 가능한 기록매체로서 파악할 수도 있다. 또한, 본 발명은 상기 조밀 탐색 방법을 이용하여 물체를 검출 내지 인식하는 화상 처리 장치 또는 물체 인식 장치로서 파악할 수도 있다. 상기 구성 및 처리 각각은 기술적인 모순이 생기지 않는 한 서로 조합하여 본 발명을 구성할 수 있다.
본 발명에 의하면, 조밀 탐색에 의한 템플릿 매칭을 보다 고속화할 수 있다.
도 1은 물체 인식 장치의 전체 구성을 나타내는 도면.
도 2는 물체 인식 장치의 하드웨어 구성을 나타내는 도면.
도 3은 물체 인식 장치의 기능 구성을 나타내는 도면.
도 4는 카메라로부터 도입되는 화상의 일례를 나타내는 도면.
도 5는 템플릿의 데이터 구조의 일례를 나타내는 도면.
도 6은 템플릿의 저해상도화 처리의 일례를 나타내는 도면.
도 7은 조밀 탐색 알고리즘을 개념적으로 나타내는 도면.
도 8은 데이터의 정렬(재배치)과 SIMD에 의한 고속화의 원리를 모식적으로 나타내는 도면.
도 9a 내지 도 9d는 대조 연산을 위해 작업 메모리로부터 SIMD 레지스터에 읽어들여지는 데이터열을 나타내는 도면.
도 10a 내지 도 10d는 데이터 재배치의 다른 예를 나타내는 도면.
도 11은 데이터 재배치의 다른 예를 나타내는 도면.
도 12는 물체 인식 처리의 흐름을 나타내는 흐름도.
본 발명은, 템플릿 매칭의 조밀 탐색에 의해 화상으로부터 대상물을 검출하는 기술에 관한 것으로, 보다 자세하게는 SIMD에 의한 병렬화 처리에 의해 조밀 탐색의 고속화를 도모하는 기술에 관한 것이다. 이 기술은 FA용 화상 센서, 컴퓨터 비전, 머신 비전 등에서의 물체 인식 등에 응용할 수 있다. 이하에 서술하는 실시형태에서는, 본 발명의 바람직한 응용예의 하나로서, 벨트 컨베이어로 반송되는 물체의 위치 및 자세를 판별하는 FA용 화상 센서에 본 발명을 적용한 예를 설명한다.
(물체 인식 장치의 전체 구성)
도 1을 참조하여 본 발명의 실시형태에 관한 물체 인식 장치의 전체 구성 및 적용 장면에 대해 설명한다.
물체 인식 장치(1)는, 생산 라인 등에 설치되고, 카메라(11)로부터 도입된 화상을 이용하여 컨베이어(3) 상의 물체(2)의 인식을 행하는 시스템이다. 컨베이어(3) 상에는 복수의 물체(2)가 임의의 자세로 흐르고 있다. 물체 인식 장치(1)는 카메라(11)로부터 소정의 시간 간격으로 화상을 도입하고, 화상 처리 장치(10)에 의해 화상에 포함되는 각 물체(2)의 종류·위치·자세를 인식하는 처리를 실행하고 그 결과를 출력한다. 물체 인식 장치(1)의 출력(인식 결과)은, 예를 들어 피킹 로봇의 제어, 가공 장치나 인자(印字) 장치의 제어, 물체(2)의 검사·계측 등에 이용된다.
(하드웨어 구성)
도 2를 참조하여 물체 인식 장치(1)의 하드웨어 구성을 설명한다. 물체 인식 장치(1)는, 대략적으로 나누어 카메라(11)와 화상 처리 장치(10)로 구성된다.
카메라(11)는, 물체(2)의 디지털 화상을 화상 처리 장치(10)에 도입하기 위한 촬상 디바이스로서, 예를 들어 CMOS(Complementary Metal-Oxide-Semiconductor) 카메라나 CCD(Charge-Coupled Device) 카메라를 적합하게 이용할 수 있다. 입력 화상의 형식(해상도, 컬러/모노크롬, 정지화상/동영상, 계조, 데이터 형식 등)은 임의이며, 물체(2)의 종류나 센싱의 목적에 맞추어 적절히 선택하면 된다. 가시광 화상 이외의 특수한 화상(X선 화상, 서모 화상 등)을 물체 인식이나 검사에 이용하는 경우에는, 그 화상에 맞춘 카메라를 이용해도 된다.
화상 처리 장치(10)는, CPU(중앙 연산 처리 장치)(110)와, 작업 메모리로서 이용되는 메인 메모리(112)와, 고정 기억부인 하드 디스크(114)와, 카메라 인터페이스(116)와, 입력 인터페이스(118)와, 표시 컨트롤러(120)와, PLC 인터페이스(122)와, 통신 인터페이스(124)와, 데이터 리더/라이터(126)를 포함한다. 이들 각 부는 버스(128)를 통해 서로 데이터 통신 가능하게 접속된다.
카메라 인터페이스(116)는, CPU(110)와 카메라(11) 사이의 데이터 전송을 중개하는 부분으로, 카메라(11)로부터의 화상 데이터를 일시적으로 축적하기 위한 화상 버퍼(116a)를 가지고 있다. 입력 인터페이스(118)는, CPU(110)와 입력부(마우스(13), 키보드, 터치 패널, 조그 컨트롤러 등) 사이의 데이터 전송을 중개한다. 표시 컨트롤러(120)는, 액정 모니터 등의 디스플레이(12)에 접속되어 상기 디스플레이(12)에서의 표시를 제어한다. PLC 인터페이스(122)는, CPU(110)와 PLC(4) 사이의 데이터 전송을 중개한다. 통신 인터페이스(124)는, CPU(110)와 콘솔(혹은, 퍼스널 컴퓨터나 서버 장치) 등 사이의 데이터 전송을 중개한다. 데이터 리더/라이터(126)는, CPU(110)와 기억 매체인 메모리 카드(14) 사이의 데이터 전송을 중개한다.
화상 처리 장치(10)는 범용적인 아키텍처를 갖는 컴퓨터로 구성 가능하고, CPU(프로세서)(110)가 하드 디스크(114) 또는 메모리 카드(14)에 저장된 프로그램을 읽어들여 실행함으로써 각종 기능을 제공한다. 이러한 프로그램은, 메모리 카드(14)나 광디스크 등의 컴퓨터 판독 가능한 기록 매체에 저장된 상태로 유통하거나 인터넷 등을 통해 제공(다운로드)된다. 또, 본 실시형태에 관한 프로그램은 단체(單體)의 애플리케이션 프로그램으로서 제공되어도 되고, 다른 프로그램의 일부에 조립되는 모듈로서 제공되어도 된다. 또한, 그 기능의 일부 또는 전부가 ASIC 등의 전용 회로로 대체되어도 된다.
(기능 구성)
도 3에 물체 인식 장치(1)의 기능 구성을 나타낸다. 도 3에 도시된 기능은, 화상 처리 장치(10)가 프로그램을 실행함으로써 실현되는 것이다. 물체 인식 장치(1)는, 대략적으로 나누어 템플릿 작성 장치(20)로서의 기능부와, 물체 인식 처리 장치(30)로서의 기능부를 구비한다. 템플릿 작성 장치(20)는, 물체 인식 처리에서 이용하는 템플릿을 작성하는 기능부이다. 템플릿 작성 장치(20)에 의해 작성된 템플릿은, 물체 인식 처리 장치(30)의 템플릿 DB(데이터베이스)(31)에 등록된다. 물체 인식 처리 장치(30)는, 카메라(11)로부터 도입된 화상에 대해 템플릿 매칭에 의한 조밀 탐색을 실행함으로써 화상 중의 물체를 인식하는 기능부이다. 물체 인식 처리 장치(30)는 템플릿 DB(31), 화상 취득부(32), 화상 피라미드 생성부(33), 특징 추출부(34), 데이터 재배치부(35), 템플릿 매칭부(36), 인식 결과 출력부(37)를 가지고 있다. 이들 기능의 상세에 대해서는 후술한다.
도 4에 카메라(11)로부터 도입되는 화상의 일례를 나타낸다. 도 4에 도시된 바와 같이, 화상 중에는 복수의 물체(2)가 포함되어 있고, 각 물체(2)의 위치(XYZ 좌표) 및 자세(XYZ의 3축 둘레 각도)는 임의적이다. 완전한 구체인 경우를 제외하고 카메라(11)에 대한 물체의 자세(방향)가 다르면, 화상에 비치는 물체의 형태(형상, 색 등)도 다른 것이 된다. 따라서, 2D 화상을 이용한 일반적인 템플릿 매칭에 있어서 임의 자세의 3D 물체를 인식하기 위해서는, 물체의 자세마다 개별적인 템플릿을 마련하고 이들 템플릿 모두에 의한 매칭을 행한다.
(템플릿)
템플릿은, 검출 대상이 되는 물체의 화상 특징을 나타내는 데이터이다. 템플릿의 형식은 어떠한 것으로도 되지만, 본 실시형태에서는 도 5에 도시된 바와 같이 화상 중의 복수의 특징점의 특징량을 기술한 배열 형식의 데이터를 이용한다. 도 5 우측의 템플릿의 각 행이 하나의 특징점 정보를 나타내고 있고, 특징점 정보는 특징점의 좌표(x, y)와 특징량의 값(Val)을 포함하고 있다.
특징량으로서는, 예를 들어 픽셀값(휘도), 휘도 기울기 방향, 양자화 기울기 방향, HoG(Histogram of Oriented Gradients), HAAR-like, SIFT(Scale-Invariant Feature Transform) 등을 이용할 수 있다. 휘도 기울기 방향이란 특징점을 중심으로 하는 국소 영역에서의 휘도 기울기 방향(각도)을 연속값으로 나타내는 것이고, 양자화 기울기 방향이란 특징점을 중심으로 하는 국소 영역에서의 휘도 기울기 방향을 이산값으로 나타내는(예를 들어, 8방향을 0~7의 1바이트 정보로 보유함) 것이다. 도 5의 특징량(val)은, 양자화 기울기 방향을 2진수로 표기한 예를 나타내고 있다. 각 비트가 0도, 45도, 90도, 135도, 180도, 225도, 270도, 315도의 방향을 나타내고 있다.
템플릿은, 물체의 화상을 이용하여 특징점 검출 및 특징량 추출 처리를 행함으로써 작성할 수 있다. 특징점 검출 및 특징량 추출에 대해서는 공지의 수법을 이용할 수 있기 때문에, 여기서는 자세한 설명을 할애한다. 템플릿의 기초가 되는 화상은, 실제 물체를 촬영함으로써 얻을 수 있다. 혹은 물체의 3차원 CAD 데이터를 입수 가능한 경우에는, 3차원 컴퓨터 그래픽스를 이용하여 렌더링 처리함으로써 원하는 자세(시점, 회전각) 및 광원 하에서의 화상을 얻을 수 있다.
자세한 것은 후술하지만, 본 실시형태에서는 해상도가 단계적으로 다른 복수의 화상(화상 피라미드)을 이용한 조밀 탐색을 행하기 위해, 각각의 해상도에 따른 템플릿을 마련할 필요가 있다. 해상도가 다른 복수의 템플릿을 작성하는 방법으로서는, 해상도가 다른 복수의 물체 화상으로부터 각각 템플릿을 작성하는 방법과, 가장 높은 해상도의 물체 화상으로부터 작성한 템플릿에 대해 저해상도화 처리를 실시함으로써 필요한 해상도의 템플릿을 작성하는 방법이 있다. 저해상도화 처리란, 각 특징점의 위치 관계를 기초로 근방에 있는 복수의 특징점을 통합함으로써 템플릿의 해상도를 내리는 처리이다. 도 6에 템플릿의 해상도를 1/2로 하는 예를 나타낸다. 해상도를 1/2로 하는 경우, 2×2 범위 내의 근방 특징점이 하나의 특징점에 통합된다. 도 6의 예에서는, 4개의 특징점(1, 1), (1, 2), (2, 1), (2, 2)의 특징량의 값을 통합한 결과가 저해상도 템플릿의 특징점(1, 1)의 특징량의 값이 된다. 또한, 3개의 특징점(1, 3), (1, 4), (2, 4)의 특징량의 값을 통합한 결과가 저해상도 템플릿의 특징점(1, 2)의 특징량의 값이 된다. 또, 이는 저해상도화 처리의 일례이다. 템플릿은 특징량의 값을 픽셀값으로 갖는 화상 데이터로 간주할 수 있으므로, 공지의 화상 해상도 변환 처리를 이용할 수 있다.
(조밀 탐색)
다음에, 조밀 탐색법에 대해 설명한다. 조밀 탐색이란 템플릿 매칭에 의한 탐색 처리를 고속화하는 알고리즘으로, 조정(粗精) 탐색, 피라미드 탐색, 피라미드 서치, Coarse to Fine Search라고도 불린다.
도 7에 조밀 탐색 알고리즘을 개념적으로 나타낸다. 조밀 탐색에서는, 해상도를 단계적으로 다르게 한 제1층부터 제k층(k는 2 이상의 정수)의 k장의 화상군(화상 피라미드)을 이용한다. 제1층 화상이 가장 해상도가 낮고, 제2층, …, 제k층의 순으로 해상도가 높아진다. 제i층 화상(i=1, 2, …, k-1)에 비해 제(i+1)층 화상은 가로 n배, 세로 m배(n, m은 2 이상의 정수)의 해상도를 가진다. 세로와 가로의 배율은 달라도 된다(즉, n≠m으로도 된다).
도 7은 k=3, n=2, m=2의 예이다. 제3층 화상이 원화상에 대응하고, 제2층 화상, 제1층 화상으로 감에 따라 해상도가 1/2씩 낮아진다. 예를 들어, 제3층 화상(원화상)이 640픽셀×480픽셀의 VGA 크기의 화상인 경우, 제2층 화상은 320픽셀×240픽셀, 제1층 화상은 160픽셀×120픽셀의 해상도가 된다.
조밀 탐색에서는, 처음에 가장 저해상도의 제1층 화상에 대해 템플릿 매칭에 의한 탐색 처리가 이루어지고, 제1층 화상 중에서의 물체의 존재 위치(후보)가 검출된다. 도 7의 제1층 화상에서 흑색 사각형으로 나타낸 픽셀이 검출 위치를 나타내고 있다. 다음에, 제2층 화상에 대한 탐색 처리에서는, 제1층 화상에서의 검출 위치에 대응하는 제2층 화상 내의 영역이 탐색 범위로 설정된다. 도 7의 예에서는 제2층 화상은 제1층 화상에 비해 가로 2배, 세로 2배의 해상도이기 때문에, 탐색 범위는 2픽셀×2픽셀의 영역이 된다. 그리고, 제2층 화상에 대해서는 이 탐색 범위에 대해서만 탐색 처리가 이루어진다. 마찬가지로 제2층 화상에서의 검출 결과에 기초하여 제3층 화상에서의 탐색 범위가 설정되고, 그 탐색 범위에 대한 탐색 처리가 이루어지며, 최종적으로 제3층 화상(원화상) 내에서의 물체 위치가 특정된다.
예를 들어 제3층용 템플릿의 요소수를 t로 하면, 통상적인 템플릿 매칭에 의해 제3층 화상 내를 망라적으로 탐색한 경우, 필요한 대조 연산의 횟수는 640×480×t=307200×t가 된다. 이에 반해, 조밀 탐색의 경우는 제1층 화상만 망라적으로 탐색하기 때문에, 제1층 화상의 탐색 처리에 필요한 대조 연산의 횟수는 160×120×(t/4)이 되지만, 이후는 탐색 범위가 한정되기 때문에, 제2층 화상의 탐색 처리에서는 2×2×(t/2), 제3층 화상의 탐색 처리에서는 2×2×t로 되고, 합계 4806×t회의 대조 연산으로 된다. 즉, 도 7의 예에서는, 대조 연산의 횟수를 약 1/64로 삭감할 수 있고 대폭적인 처리 속도의 향상을 도모할 수 있다.
(SIMD에 의한 고속화)
다음에, SIMD 명령에 의한 병렬 처리를 이용함으로써 조밀 탐색을 더욱 고속화하는 알고리즘을 설명한다.
템플릿 매칭에서는, 템플릿의 각 요소의 데이터와 화상의 각 픽셀의 데이터의 사이에서 대조 연산이 이루어진다. 픽셀의 데이터가 나타내는 특징량에 의해 사칙연산이나 논리연산 등 다양한 연산이 대조 연산으로서 이용된다. 예를 들어, 특징량이 휘도인 경우는 감산이나 감산의 절대값 등의 대조 연산이 이용된다. 또한, 특징량이 양자화 기울기 방향인 경우는 배타적 논리합 등의 대조 연산이 이용된다. 대조 연산을 행할 때, SIMD 명령을 이용하여 복수의 대조 연산을 1회의 연산 처리로 실행하면 탐색 처리의 고속화를 도모할 수 있다. 단, SIMD 명령에 의한 병렬 처리가 유효한 것은, 1회의 SIMD 명령으로 동시에 연산되는 복수의 데이터(즉, SIMD 레지스터에 저장되는 복수의 데이터)가 작업 메모리 상에서 연속된 메모리 어드레스에 나열되어 있는 경우로 한정된다. 연속된 메모리 어드레스에 저장되어 있는 데이터이면 1클록의 명령으로 작업 메모리로부터 SIMD 레지스터에 전송할 수 있지만, 각 데이터가 작업 메모리 상의 떨어진 어드레스에 존재하는 경우는, 작업 메모리로부터 SIMD 레지스터에의 데이터 전송에 수클록 필요하고(즉, 작업 메모리로부터 SIMD 레지스터에의 데이터 전송이 병목 현상(bottleneck)이 되고), 병렬 처리의 효과가 감쇄되기 때문이다. 그래서, 본 실시형태에서는, SIMD 명령에 의한 병렬 처리의 효율을 최대한 높이기 위해 탐색 처리에 앞서서 화상 데이터의 재배치(정렬)를 행한다. 이 때, 조밀 탐색에서 참조될 수 있는 데이터 범위(탐색 범위)의 규칙성에 착안함으로써, 조밀 탐색에 최적인 데이터의 정렬을 행하는 점에 본 알고리즘의 특징이 있다.
도 8에 데이터의 정렬(재배치)과 SIMD에 의한 고속화의 원리를 모식적으로 나타낸다. 도 8에서는, 설명의 간단을 위해 제1층 화상의 크기를 4픽셀×3픽셀, 제2층 화상의 크기를 8픽셀×6픽셀로 한다(즉, n=m=2). 또한, 제1층용 템플릿의 크기를 1×1, 제2층용 템플릿의 크기를 2×2로 한다. 도 8에서, A0~A11은 제1층 화상의 각 픽셀의 인덱스를 나타내고, B0~B47은 제2층 화상의 각 픽셀의 인덱스를 나타낸다. 또한, P0은 제1층용 템플릿의 요소의 인덱스, Q0~Q3은 제2층용 템플릿의 각 요소의 인덱스를 나타낸다. 또, 제1층 화상 및 제2층 화상의 각 픽셀에는 템플릿의 각 요소와 동일하게 특징량의 데이터가 세팅되어 있다.
제1층의 탐색 처리에서는, 제1층용 템플릿을 이용하여 제1층 화상 전체가 탐색된다. 구체적으로는, 제1층용 템플릿을 제1층 화상의 좌상 픽셀(A0)부터 차례대로 적용시켜 P0과 A0, P0과 A1, …, P0과 A11의 합계 12회의 대조 연산을 행한다. 그리고, 특징량의 유사도가 소정의 문턱값을 초과하는 픽셀이 검출되면, 그 픽셀을 물체의 존재 위치의 후보로 한다. 도 8은, 픽셀(A5)이 존재 위치의 후보로서 검출된 예이다.
제2층 화상에서 제1층 화상의 픽셀(A5)에 대응하는 영역은, (B18, B19, B26, B27)의 2픽셀×2픽셀의 영역이다. 이 영역이 제2층의 탐색 처리에서의 탐색 범위로 설정된다. 제2층의 탐색 처리에서는, (1) 제2층용 템플릿의 요소(Q0)를 제2층 화상의 픽셀(B18)의 위치에 적용시킨 경우, (2) 요소(Q0)를 픽셀(B19)의 위치에 적용시킨 경우, (3) 요소(Q0)를 픽셀(B26)의 위치에 적용시킨 경우, (4) 요소(Q0)를 픽셀(B27)의 위치에 적용시킨 경우의 4개의 위치에 대해 탐색을 행하기 때문에, 필요한 대조 연산의 조합은 이하의 16개이다.
(1) Q0과 B18, Q1과 B19, Q2와 B26, Q3과 B27
(2) Q0과 B19, Q1과 B20, Q2와 B27, Q3과 B28
(3) Q0과 B26, Q1과 B27, Q2와 B34, Q3과 B35
(4) Q0과 B27, Q1과 B28, Q2와 B35, Q3과 B36
여기서, 템플릿의 동일한 요소와 대조 연산되는 픽셀에 주목하면, 요소(Q0)와 대조 연산되는 4개의 픽셀(B18, B19, B26, B27), 요소(Q1)와 대조 연산되는 4개의 픽셀(B19, B20, B27, B28), 요소(Q2)와 대조 연산되는 4개의 픽셀(B26, B27, B34, B35), 요소(Q3)와 대조 연산되는 4개의 픽셀(B27, B28, B35, B36)은 모두 제2층 화상에서 2×2의 블록과 같이 나열되어 있다. 그래서, 제2층 화상에서 2×2의 블록과 같이 나열된 임의의 4개의 픽셀이 작업 메모리 상에서 연속된 어드레스에 나열되도록 제2층 화상의 데이터를 재배치한다. 도 8에서는, 제2층 화상의 오리지널 픽셀(흰색으로 도시한 픽셀)의 다음 어드레스에 상기 픽셀의 열 방향(세로 방향)으로 인접하는 픽셀의 복사(망점으로 도시한 픽셀)를 삽입한다는 규칙으로 데이터의 재배치를 행한다. 또, 마지막 행에서는 열 방향으로 인접하는 픽셀이 존재하지 않기 때문에, 더미의 데이터를 삽입하면 된다.
한편, 제2층용 템플릿에 대해서도 데이터의 재배치를 행한다. 구체적으로는, 도 8에 도시된 바와 같이 템플릿 각각의 요소(Q0~Q3)가 4개씩 연속되는 데이터 열을 작성한다.
전처리(사전 준비)로서 상기와 같은 데이터의 재배치를 해 두면, 예를 들어 요소(Q0)와 4개의 픽셀(B18, B19, B26, B27) 사이의 4개의 대조 연산이,
(1) 데이터 열(B18, B19, B26, B27)을 작업 메모리로부터 SIMD 레지스터(#1)에 전송,
(2) 데이터 열(Q0, Q0, Q0, Q0)을 작업 메모리로부터 SIMD 레지스터(#2)에 전송,
(3) SIMD 명령에 의한 일괄 연산,
의 3클록으로 실행 가능하다.
도 9의 (A)~도 9의 (D)에 도시된 바와 같이, 요소(Q0)의 대조 연산뿐만 아니라 요소(Q1)와 픽셀(B19, B20, B27, B28) 사이의 대조 연산, 요소(Q2)와 픽셀(B26, B27, B34, B35) 사이의 대조 연산, 요소(Q3)와 픽셀(B27, B28, B35, B36) 사이의 대조 연산에 대해서도 SIMD에 의한 효율적인 병렬 처리가 가능하다.
데이터의 재배치 방법(정렬 방법)은 도 8의 예에 한정되지 않는다. 예를 들어 도 10의 (A)~도 10의 (D)에 도시된 바와 같이, 템플릿의 동일한 요소와 대조 연산될 수 있는 4개의 픽셀의 모든 조합의 데이터 열을 준비해도 된다. 이 정렬 방법은 도 8의 정렬 방법에 비해 필요한 메모리 크기가 늘어나지만, 도 8의 정렬 방법과 마찬가지로 SIMD에 의한 효율적인 병렬 처리가 가능하다.
이상의 설명에 있어서, 제2층의 탐색 처리의 탐색 범위가 2픽셀×2픽셀의 영역이 되고, 템플릿의 동일한 요소와 대조 연산될 수 있는 픽셀의 수가 4개가 되는 것은, 제1층 화상과 제2층 화상의 해상도의 비가 가로 2배, 세로 2배(n=m=2)이기 때문이다. 해상도의 비가 2배가 아닌 경우도 물론 동일한 처리가 가능하다. 또한, 제1층 화상과 제2층 화상의 사이뿐만 아니라 제2층 화상과 제3층 화상의 사이, …, 제i층 화상과 제(i+1)층 화상의 사이, …, 제(k-1)층 화상과 제k층 화상의 사이에서도 동일한 처리가 가능하다.
일반화하면, 제1 화상에 비해 가로 n배, 세로 m배(n, m은 2 이상의 정수)의 해상도를 갖는 제2 화상을 생각하였을 때, 제1 화상에 대한 탐색 처리에서 검출된 위치에 대응하는 제2 화상에서의 탐색 범위는 n픽셀×m픽셀의 영역이 된다. 따라서, 제2 화상에 대한 탐색 처리에서 템플릿의 동일한 요소와 대조 연산될 수 있는 픽셀의 수는 n×m개이다. 그래서, 이 n×m개의 픽셀의 데이터가 연속된 메모리 어드레스에 저장되도록, 제2 화상의 데이터를 작업 메모리 상에 재배치한다. 그렇다면, n×m개의 픽셀의 데이터 열이 1클록으로 SIMD 레지스터에 전송할 수 있고, n×m개의 대조 연산이 SIMD 명령에 의한 1회의 연산 처리로 실행 가능해진다. 데이터의 재배치 방법으로서는, 제2 화상에서 행 방향(가로 방향)으로 인접하는 2개의 픽셀의 데이터 사이에, 상기 2개의 픽셀 중 한쪽의 픽셀로부터 열 방향(세로 방향)으로 이어지는 (m-1)개의 픽셀의 데이터의 복사를 삽입하는 것이 좋다. 이러한 규칙으로 재배치를 행하면, 데이터의 중복(리던던시)이 최소가 되고 작업 메모리의 절약이 가능하기 때문이다. 도 11에 n=2, m=3의 예를 나타낸다.
(물체 인식 처리)
다음에, 도 12의 흐름에 따라 물체 인식 처리 장치(30)에 의해 실행되는 물체 인식 처리의 흐름을 설명한다.
우선, 화상 취득부(32)가 카메라(11)로부터 화상을 도입한다(단계 S10). 다음에, 화상 피라미드 생성부(33)가 단계 S10에서 도입된 원화상으로부터 저해상도 화상을 생성하고 화상 피라미드를 생성한다(단계 S11). 본 실시형태에서는, 도 7에 도시된 바와 같이 제1층 화상(160픽셀×120픽셀), 제2층 화상(320픽셀×240픽셀), 제3층 화상(640픽셀×480픽셀)의 3장의 화상으로 구성되는 화상 피라미드를 이용한다.
다음에, 특징 추출부(34)가 화상 피라미드의 각 층 화상에 대해 특징 추출 처리를 실시한다(단계 S12). 여기서 추출되는 특징량은 템플릿의 것과 동종의 특징량으로, 본 실시형태에서는 양자화 기울기 방향을 이용하는 것으로 한다. 제1층 화상에 대한 특징 추출 처리의 결과로서, 제1층 화상과 동일한 해상도를 가지며, 제1층 화상의 각 픽셀 위치에서 추출된 특징량의 데이터(특징값)를 픽셀값으로서 갖는 화상(이후, 제1층 특징 화상이라고 부름)을 얻을 수 있다. 마찬가지로 제2층 화상에 대한 특징 추출 처리의 결과로서 제2층 특징 화상을, 제3층 화상에 대한 특징 추출 처리의 결과로서 제3층 특징 화상을 얻을 수 있다. 제1층 특징 화상~제3층 특징 화상도 화상 피라미드를 구성한다.
다음에, 데이터 재배치부(35)가 제2층 특징 화상과 제3층 특징 화상 각각의 데이터를 작업 메모리 상에서 재배치한다(단계 S13). 이 재배치 처리는, 후단의 조밀 탐색에 의한 템플릿 매칭의 대조 처리를 고속화하기 위한 전처리이다. 데이터 재배치의 구체적인 방법은 전술한 바와 같다.
다음에, 템플릿 매칭부(36)가 제1층 특징 화상과 제1층용 템플릿을 이용하여 제1 탐색 처리를 실행한다(단계 S14). 또, 복수 종류의 물체가 검출 대상인 경우나 물체의 자세마다 템플릿이 있는 경우에는, 템플릿마다 단계 S14의 처리를 반복한다.
이어서, 템플릿 매칭부(36)는 제1 탐색 처리의 검출 결과에 기초하여 제2층 특징 화상의 탐색 범위를 설정하고, 제2층 특징 화상과 제2층용 템플릿을 이용하여 제2 탐색 처리를 실행한다(단계 S15). 제2 탐색 처리에서는, 전술한 바와 같이 작업 메모리 상에서 연속된 메모리 어드레스에 저장되어 있는 2×2개의 픽셀에 대한 4개의 대조 연산이 SIMD 명령에 의한 1회의 연산 처리로 실행된다. 복수 종류의 물체가 검출 대상인 경우나 물체의 자세마다 템플릿이 있는 경우에는, 템플릿마다 단계 S15의 처리를 반복한다. 또한, 제1 탐색 처리에서 물체의 존재 위치 후보가 복수 검출된 경우에는, 검출된 후보마다 단계 S15의 처리를 반복한다.
이어서, 템플릿 매칭부(36)는 제2 탐색 처리의 검출 결과에 기초하여 제3층 특징 화상의 탐색 범위를 설정하고, 제3층 특징 화상과 제3층용 템플릿을 이용하여 제3 탐색 처리를 실행한다(단계 S16). 제3 탐색 처리에서도, 전술한 바와 같이 작업 메모리 상에서 연속된 메모리 어드레스에 저장되어 있는 2×2개의 픽셀에 대한 4개의 대조 연산이 SIMD 명령에 의한 1회의 연산 처리로 실행된다. 복수 종류의 물체가 검출 대상인 경우나 물체의 자세마다 템플릿이 있는 경우에는, 템플릿마다 단계 S16의 처리를 반복한다. 또한, 제2 탐색 처리에서 물체의 존재 위치 후보가 복수 검출된 경우에는, 검출된 후보마다 단계 S16의 처리를 반복한다.
이상의 처리 결과, 원화상과 동일한 해상도를 갖는 제3층 특징 화상에서의 물체의 존재 위치를 특정할 수 있다. 또한, 복수의 템플릿을 이용한 경우에는, 어느 템플릿과 가장 매치하였는지로 물체의 종류나 자세를 인식할 수도 있다. 이러한 인식 결과는, 인식 결과 출력부(37)에 의해 외부 장치나 디스플레이에 출력된다(단계 S17). 인식 결과의 정보는, 예를 들어 피킹 로봇의 제어, 가공 장치나 인자 장치의 제어, 물체(2)의 검사·계측 등에 이용된다.
(본 실시형태의 이점)
이상 서술한 구성에 의하면, 탐색 처리에 앞서서 작업 메모리 상의 데이터 재배치를 행함으로써, 작업 메모리로부터 SIMD 레지스터에의 데이터 전송을 1클록으로 행할 수 있고, SIMD 연산에 의한 병렬 처리의 효율을 향상시킬 수 있다. 따라서, 조밀 탐색에 의한 템플릿 매칭을 보다 고속화하는 것이 가능해진다.
(변형예)
상술한 실시형태의 구성은 본 발명의 일 구체예를 나타낸 것에 불과하며, 본 발명의 범위를 한정하는 취지의 것은 아니다. 본 발명은 그 기술 사상을 벗어나지 않는 범위에서 여러 가지의 구체적 구성을 채용할 수 있는 것이다.
예를 들어, 상기 실시형태에서는 조밀 탐색을 실행하기 전에 화상 전체의 데이터를 재배치하도록 하였지만, 제1 탐색 처리의 검출 결과에 기초하여 화상 내의 필요한 영역의 데이터만을 재배치하도록 해도 된다. 이에 의해, 데이터의 재배치에 필요로 하는 시간 및 메모리의 삭감을 기대할 수 있다. 또한, 상기 실시형태에서는 n×m개의 대조 연산을 1회의 SIMD 연산으로 실행하였지만, n×m개의 대조 연산에서 이용하는 데이터가 SIMD 레지스터의 데이터 폭보다 큰 경우 등 1회의 SIMD 연산으로 실행할 수 없는 경우에는, n×m개의 대조 연산을 복수회(단, n×m보다 적은 횟수)의 SIMD 연산으로 실행해도 된다. 즉, n×m개의 대조 연산을 n×m보다 적은 횟수의 SIMD 연산으로 치환할 수 있으면, 탐색 처리의 고속화를 도모할 수 있다.
1: 물체 인식 장치, 2: 물체, 3: 컨베이어, 10: 화상 처리 장치, 11: 카메라, 20: 템플릿 작성 장치, 30: 물체 인식 처리 장치, 31: 템플릿 DB, 32: 화상 취득부, 33: 화상 피라미드 생성부, 34: 특징 추출부, 35: 데이터 재배치부, 36: 템플릿 매칭부, 37: 인식 결과 출력부

Claims (5)

  1. 템플릿 매칭에 의해 제1 화상 중에서 대상물을 검출하는 제1 탐색 단계와,
    상기 제1 화상에 비해 가로 n배, 세로 m배(n, m은 2 이상의 정수)의 해상도를 갖는 제2 화상 중에서, 상기 제1 탐색 단계에서 대상물이 검출된 위치에 대응하는 n픽셀×m픽셀의 영역을 탐색 범위로 하고, 템플릿 매칭에 의해 상기 제2 화상 중에서 상기 대상물을 검출하는 제2 탐색 단계를 포함하는 조밀(粗密) 탐색 방법으로서,
    상기 제2 탐색 단계에 앞서서, 상기 제2 탐색 단계에서 템플릿의 동일한 요소와 대조 연산될 수 있는 n×m개의 픽셀의 데이터가 연속된 메모리 어드레스에 저장되도록, 상기 제2 화상의 데이터를 작업 메모리 상에 재배치하는 재배치 단계를 더 포함하고,
    상기 제2 탐색 단계에서는, 상기 작업 메모리 상에서 연속된 메모리 어드레스에 저장되어 있는 n×m개의 픽셀에 대한 n×m개의 대조 연산이 SIMD 명령에 의한 n×m보다 적은 횟수의 연산 처리로 실행되는 것을 특징으로 하는 조밀 탐색 방법.
  2. 청구항 1에 있어서,
    상기 재배치 단계에서는, 상기 제2 화상에서 가로 방향으로 인접하는 2개의 픽셀의 데이터 사이에, 상기 2개의 픽셀 중 한쪽의 픽셀로부터 세로 방향으로 이어지는 (m-1)개의 픽셀의 데이터의 복사를 삽입하는 것을 특징으로 하는 조밀 탐색 방법.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 재배치 단계에서는, 상기 제2 탐색 단계에서 이용하는 템플릿의 각 요소의 데이터가 n×m개씩 연속된 메모리 어드레스에 저장되도록, 상기 템플릿의 데이터를 작업 메모리 상에 재배치하는 것을 특징으로 하는 조밀 탐색 방법.
  4. 청구항 1 또는 청구항 2의 조밀 탐색 방법의 각 단계를 컴퓨터에 실행시키는 것을 특징으로 하는 프로그램을 저장한 컴퓨터 판독가능 저장매체.
  5. 템플릿 매칭에 의해 화상 중에서 대상물을 검출하는 탐색 처리를 실행하는 템플릿 매칭부와,
    상기 탐색 처리에 이용되는 데이터를 저장하는 작업 메모리와,
    상기 작업 메모리에 저장할 데이터의 재배치를 행하는 데이터 재배치부와,
    상기 템플릿 매칭부의 처리 결과를 출력하는 결과 출력부를 갖는 화상 처리 장치로서,
    상기 템플릿 매칭부는, 템플릿 매칭에 의해 제1 화상 중에서 대상물을 검출하는 제1 탐색 처리를 실행한 후, 상기 제1 화상에 비해 가로 n배, 세로 m배(n, m은 2 이상의 정수)의 해상도를 갖는 제2 화상 중에서, 상기 제1 탐색 처리에서 대상물이 검출된 위치에 대응하는 n픽셀×m픽셀의 영역을 탐색 범위로 하고, 템플릿 매칭에 의해 상기 제2 화상 중에서 상기 대상물을 검출하는 제2 탐색 처리를 실행하며,
    상기 데이터 재배치부는, 상기 제2 탐색 처리에 앞서서, 상기 제2 탐색 처리에서 템플릿의 동일한 요소와 대조 연산될 수 있는 n×m개의 픽셀의 데이터가 연속된 메모리 어드레스에 저장되도록, 상기 제2 화상의 데이터를 상기 작업 메모리 상에 재배치하고,
    상기 제2 탐색 처리에서는, 상기 작업 메모리 상에서 연속된 메모리 어드레스에 저장되어 있는 n×m개의 픽셀에 대한 n×m개의 대조 연산이 SIMD 명령에 의한 n×m보다 적은 횟수의 연산 처리로 실행되는 것을 특징으로 하는 화상 처리 장치.
KR1020187001511A 2015-11-06 2016-10-27 조밀 탐색 방법 및 화상 처리 장치 KR101991763B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2015-218761 2015-11-06
JP2015218761A JP6493163B2 (ja) 2015-11-06 2015-11-06 粗密探索方法および画像処理装置
PCT/JP2016/081870 WO2017077938A1 (ja) 2015-11-06 2016-10-27 粗密探索方法および画像処理装置

Publications (2)

Publication Number Publication Date
KR20180018785A KR20180018785A (ko) 2018-02-21
KR101991763B1 true KR101991763B1 (ko) 2019-06-21

Family

ID=58662024

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187001511A KR101991763B1 (ko) 2015-11-06 2016-10-27 조밀 탐색 방법 및 화상 처리 장치

Country Status (6)

Country Link
US (1) US10366307B2 (ko)
EP (1) EP3373242B1 (ko)
JP (1) JP6493163B2 (ko)
KR (1) KR101991763B1 (ko)
CN (1) CN107851327B (ko)
WO (1) WO2017077938A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6554900B2 (ja) * 2015-04-28 2019-08-07 オムロン株式会社 テンプレート作成装置及びテンプレート作成方法
JP6648925B2 (ja) * 2015-12-17 2020-02-14 キヤノン株式会社 画像処理方法、画像処理装置、画像処理システム、生産装置、プログラム及び記録媒体
EP3200122B1 (de) * 2016-01-26 2022-06-22 Sick Ag Optoelektronischer sensor und verfahren zur sicheren erkennung von objekten einer mindestgrösse
JP7073785B2 (ja) * 2018-03-05 2022-05-24 オムロン株式会社 画像検査装置、画像検査方法及び画像検査プログラム
EP3572971B1 (de) * 2018-05-22 2021-02-24 Sick Ag Absichern eines überwachungsbereichs mit mindestens einer maschine
US10825199B2 (en) 2018-09-12 2020-11-03 Cognex Corporation Methods and apparatus for processing image data for machine vision
JP7182528B2 (ja) * 2018-09-12 2022-12-02 コグネックス・コーポレイション マシンビジョン用の画像データを処理するための方法及び装置
US10878299B2 (en) 2018-09-12 2020-12-29 Cognex Corporation Methods and apparatus for testing multiple fields for machine vision
JP7212247B2 (ja) * 2018-11-02 2023-01-25 富士通株式会社 目標検出プログラム、目標検出装置、及び目標検出方法
JPWO2020129384A1 (ja) * 2018-12-21 2021-10-07 株式会社島津製作所 放射線画像処理装置、放射線画像処理方法及び放射線画像処理プログラム
CN110603535B (zh) * 2019-07-29 2023-02-28 香港应用科技研究院有限公司 支持大模板匹配的迭代多方向图像搜索
CN110910312A (zh) * 2019-11-21 2020-03-24 北京百度网讯科技有限公司 图像处理方法和装置、自动驾驶车辆、电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011077753A (ja) 2009-09-30 2011-04-14 Fujifilm Corp カメラの顔検出方法及び装置
US20120275642A1 (en) 2011-04-26 2012-11-01 Aller Johsua V Salient Point-Based Arrangements

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000069478A (ja) * 1998-08-18 2000-03-03 Canon Inc 画像処理装置及び方法並びに記憶媒体
US7715591B2 (en) * 2002-04-24 2010-05-11 Hrl Laboratories, Llc High-performance sensor fusion architecture
US7020201B2 (en) * 2002-11-20 2006-03-28 National Chiao Tung University Method and apparatus for motion estimation with all binary representation
JP2008226190A (ja) * 2007-03-15 2008-09-25 Canon Electronics Inc 画像処理装置およびその方法
JP2010134612A (ja) 2008-12-03 2010-06-17 Nikon Corp 画像処理方法およびプログラム
US8290298B2 (en) * 2009-01-20 2012-10-16 Mitsubishi Electric Research Laboratories, Inc. Method for temporally editing videos
US9495611B2 (en) * 2012-01-17 2016-11-15 Konica Minolta, Inc. Image processing apparatus, image processing method, and image processing program
US8774510B2 (en) * 2012-09-11 2014-07-08 Sharp Laboratories Of America, Inc. Template matching with histogram of gradient orientations
JP6056354B2 (ja) * 2012-10-10 2017-01-11 コニカミノルタ株式会社 画像処理装置、画像処理方法および画像処理プログラム
US10283162B2 (en) * 2014-02-05 2019-05-07 Avatar Merger Sub II, LLC Method for triggering events in a video
CN104050481B (zh) * 2014-06-17 2017-05-03 西安电子科技大学 多模板轮廓特征和灰度相结合的红外图像实时行人检测
CN104318570B (zh) * 2014-10-29 2017-06-30 沈阳建筑大学 一种基于背景的自适应迷彩伪装设计方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011077753A (ja) 2009-09-30 2011-04-14 Fujifilm Corp カメラの顔検出方法及び装置
US20120275642A1 (en) 2011-04-26 2012-11-01 Aller Johsua V Salient Point-Based Arrangements

Also Published As

Publication number Publication date
EP3373242A1 (en) 2018-09-12
KR20180018785A (ko) 2018-02-21
US10366307B2 (en) 2019-07-30
CN107851327A (zh) 2018-03-27
CN107851327B (zh) 2021-06-11
EP3373242B1 (en) 2022-08-10
WO2017077938A1 (ja) 2017-05-11
US20180204090A1 (en) 2018-07-19
EP3373242A4 (en) 2019-08-21
JP2017091103A (ja) 2017-05-25
JP6493163B2 (ja) 2019-04-03

Similar Documents

Publication Publication Date Title
KR101991763B1 (ko) 조밀 탐색 방법 및 화상 처리 장치
CN108573273B (zh) 图像处理装置、图像处理方法、模板作成装置、物体识别处理装置以及记录介质
CN107430776B (zh) 模板制作装置和模板制作方法
US11328169B2 (en) Switchable propagation neural network
US10762425B2 (en) Learning affinity via a spatial propagation neural network
EP3204888A1 (en) Spatial pyramid pooling networks for image processing
CN108573471B (zh) 图像处理装置、图像处理方法以及记录介质
JP6889865B2 (ja) テンプレート作成装置、物体認識処理装置、テンプレート作成方法及びプログラム
JP2012511756A (ja) 検出窓走査により画像内の物体を認識および位置特定するためのデータストリームパイプラインアーキテクチャを有する装置
Poostchi et al. Efficient GPU implementation of the integral histogram
Geng et al. SANet: A novel segmented attention mechanism and multi-level information fusion network for 6D object pose estimation
Mentzer et al. Online stereo camera calibration for automotive vision based on HW-accelerated A-KAZE-feature extraction
US20180365516A1 (en) Template creation apparatus, object recognition processing apparatus, template creation method, and program
Tomioka et al. FPGA implementation of exclusive block matching for robust moving object extraction and tracking
CN110895679A (zh) 机器视觉图像数据处理方法和装置
JP6586852B2 (ja) 画像処理装置
JP2019125128A (ja) 情報処理装置、制御方法、及びプログラム
Scott et al. A multilevel parallel and scalable single-host GPU cluster framework for large-scale geospatial data processing
Sari et al. An Approach For Stitching Satellite Images In A Bigdata Mapreduce Framework
Herout et al. Variants of the Hough transform for straight line detection
JP2018013462A (ja) 視差情報生成装置、視差情報生成方法、およびプログラム
Wang et al. Pedestrian Detection Over 100 fps with C4 Algorithm
CN116012891A (zh) 基于图像增强的多尺度行人检测方法、装置、设备及介质
CN115690051A (zh) Pcb缺陷检测方法、装置、计算机设备及存储介质
Nirmal et al. Implementation and optimization of connected component labeling in Raspberry Pi

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant