KR101328725B1 - 블롭 감지 장치 및 그 방법 - Google Patents

블롭 감지 장치 및 그 방법 Download PDF

Info

Publication number
KR101328725B1
KR101328725B1 KR1020110145457A KR20110145457A KR101328725B1 KR 101328725 B1 KR101328725 B1 KR 101328725B1 KR 1020110145457 A KR1020110145457 A KR 1020110145457A KR 20110145457 A KR20110145457 A KR 20110145457A KR 101328725 B1 KR101328725 B1 KR 101328725B1
Authority
KR
South Korea
Prior art keywords
blob
register
indexed
information
weight
Prior art date
Application number
KR1020110145457A
Other languages
English (en)
Other versions
KR20130076993A (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 전자부품연구원
Priority to KR1020110145457A priority Critical patent/KR101328725B1/ko
Publication of KR20130076993A publication Critical patent/KR20130076993A/ko
Application granted granted Critical
Publication of KR101328725B1 publication Critical patent/KR101328725B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 실시예에 따른 블롭 감지 장치는 입력받은 영상의 라인에 블롭의 존재 여부를 나타내는 정보 필드, 다른 블롭과의 링크 정보를 나타내는 필드, 블롭의 가중치 정보를 나타내는 필드, 최대 가중치 필드, 최대 좌표 필드, 시작점 좌표 필드 및 종료 좌표 필드를 포함하는 인덱스 레지스터 구조를 포함하고, 상기 입력받은 영상에서 블롭을 감지하여 상기 인덱스 레지스터 구조로 저장하며, 상기 블롭의 가중치가 큰 순으로 기 설정된 개수 만큼의 블롭 레지스터만을 저장하는 인덱스 레지스터; 및 상기 인덱스 레지스터에 수록된 최대 가중치가 높은 순서대로 미리 설정된 개수만큼의 블롭 정보를 추출하여 출력하는 최대 가중치 계산부를 포함한다.

Description

블롭 감지 장치 및 그 방법{APPARATUS AND METHOD FOR DETECTING BLOB}
본 발명은 블롭 감지 장치 및 그 방법에 관한 것으로서, 구체적으로 영상에서 블롭(blob)을 감지(detection)하고 감지된 블롭(blob) 중에서 크기가 가장 크거나 가중치(weight)가 큰 순으로 정렬하는 기술에 관한 것이다.
영상 기반의 추적 기술로 물체 추적, 인간 추적, 손 추적 등의 다양한 기술들이 제안되고 있다. 이들 중 화면상에 나타나는 3차원 곡면을 가진 물체의 위치를 기준으로 이동 경로를 예측하는 기술이 제안되고 있다.
이와 같은 3차원 곡면을 가진 배경과 제스처를 실행하는 지시자가 혼합되어 있는 하나의 화면에서 블롭(blob)을 탐지하기 위해서는, 전체 화면을 하나의 임계값으로 임계값 보다 큰지 혹은 작은지에 따라 흑백(Black&White, 이하, 'BW') 영상을 생성하여 이용한다.
도 1은 종래의 블롭 검출 예를 나타내고, 도 2는 종래의 마스킹 과정을 나타낸다.
코넥트 컴포넌트 라벨링(Connected component labeling)은 도 1과 같이 마스크를 이미지 즉 0 과 1로 구성된 binary(흑백) 이미지에 대입해서 인접한 1의 값을 갖는 픽셀들을 동일한 라벨로 묶는 방법이다. 여기서, 가운데 굵게(Bold) 표시된 박스 주변의 4개의 검정점의 위치는 주변 픽셀이고, 굵게(Bold) 표시된 박스 아래 픽셀은 주변 픽셀에 해당하지 않는다.
종래의 코넥트 컴포넌트 라벨링 알고리즘에서 사용하는 마스크 패턴은 자신과 주변 4개의 픽셀(도 1의 굵게 표시된 박스 주변의 4개의 검정점)을 사용하여 동작한다. 즉 도 1의 굵게(Bold) 표시된 박스의 검정점을 비롯하여 주변의 4개의 검정점으로 구성된 마스크 패턴을 이미지에 대입하여 도 2와 같이 마스킹 과정이 수행된다. 이런 경우, 마스킹하는데 필요한 총 시간(Tmask)은 다음과 같이 요구된다.
Figure 112011104789410-pat00001
따라서, 본 발명이 이루고자 하는 기술적 과제는 영상에서 블롭을 감지하고 감지 결과를 인덱스된 레지스터 구조로 저장하는 블롭 감지 장치 및 그 방법을 제공하는 것이다.
본 발명의 한 특징에 따르면 블롭 감지 장치가 제공된다. 이 장치는, 입력받은 영상의 라인에 블롭의 존재 여부를 나타내는 정보 필드, 다른 블롭과의 링크 정보를 나타내는 필드, 블롭의 가중치 정보를 나타내는 필드, 최대 가중치 필드, 최대 좌표 필드, 시작점 좌표 필드 및 종료 좌표 필드를 포함하는 인덱스 레지스터 구조를 포함하고, 상기 입력받은 영상에서 블롭을 감지하여 상기 인덱스 레지스터 구조로 저장하며, 상기 블롭의 가중치가 큰 순으로 기 설정된 개수 만큼의 블롭 레지스터만을 저장하는 인덱스 레지스터; 및 상기 인덱스 레지스터에 수록된 최대 가중치가 높은 순서대로 미리 설정된 개수만큼의 블롭 정보를 추출하여 출력하는 최대 가중치 계산부를 포함한다.
이때, 블롭 감지 장치는, 입력받은 시차 맵으로부터 현재 픽셀 및 상기 현재 픽셀을 기준으로 주변의 4개의 픽셀을 포함하는 마스크 패턴을 생성하여 상기 인덱스 레지스터로 출력하는 마스크 패턴 생성부를 더 포함할 수 있다.
또한, 블롭 감지 장치는, 상기 블롭을 식별하기 위한 블롭 ID를 발급하는 블롭 ID 관리부를 더 포함하고,
상기 인덱스 레지스터는, 상기 블롭 ID를 나타내는 필드를 더 포함하며, 이전에 발급된 블롭 ID가 존재하면 상기 이전에 발급된 블롭 ID를 승계하여 사용하고, 상기 이전에 발급된 블롭 ID가 존재하지 않으면 상기 블롭 ID 발급부로부터 신규 블롭 ID를 발급받으며, 상기 블롭 ID가 두개 이상 존재하면, 두개 이상 존재하는 블롭 ID를 상호 비교하여 상대적으로 작은 블롭 ID를 가진 인덱스 레지스터로 업데이트 하고, 상대적으로 큰 블롭 ID를 가진 레지스터는 링크 정보 필드만을 업데이트할 수 있다.
본 발명의 다른 특징에 따르면 블롭 감지 방법이 제공된다. 이 방법은, 라인 별로 시차 맵을 입력받는 단계; 상기 시차 맵의 입력 구간이 블롭 감지 구간인지 또는 정리 구간인지를 판단하는 단계; 상기 블롭 감지 구간으로 판단되면, 상기 시차 맵으로부터 블롭을 감지하여 시작 포지션, 종료 포지션, 최대 포지션 및 가중치를 획득하여 인덱스된 레지스터를 생성 및 업데이트하는 단계; 상기 정리 구간으로 판단되면, 현재 저장되어 있는 블롭 별 상기 인덱스된 레지스터의 개수가 기 정의된 개수를 초과하면, 가중치가 상대적으로 가장 낮은 블롭의 인덱스된 레지스터를 폐기하는 단계를 포함한다.
이때, 상기 생성 및 업데이트하는 단계는,
블롭 ID 발급 여부를 확인하는 단계; 이전 발급된 블롭 ID가 존재하는지 판단하는 단계; 이전 발급된 블롭 ID가 존재하면, 이전 발급된 블롭 ID를 승계하여 상기 이전 발급 블롭 ID에 대한 인덱스된 레지스터를 업데이트하는 단계; 및 이전 발급된 블롭 ID가 존재하지 않으면, 신규 블롭 ID를 발급받아 신규 블롭 ID에 대한 인덱스된 레지스터를 생성하는 단계를 포함할 수 있다.
또한, 상기 인덱스된 레지스터를 업데이트하는 단계는,
이전 발급된 블롭 ID가 두 개 이상 존재하는지 판단하는 단계; 두 개 이상 존재하는 경우, 블롭 ID 들간의 상호 비교를 통해 상대적으로 작은 블롭 ID를 가진 인덱스된 레지스터로 업데이트하고, 상대적으로 큰 블롭 ID를 가진 인덱스된 레지스터는 상기 인덱스된 레지스터의 필드 중에서 기 정의된 필드만을 업데이트하는 단계; 및 두 개 미만인 경우, 상기 이전 발급된 블롭 ID에 대한 인덱스된 레지스터를 업데이트 하는 단계를 포함할 수 있다.
또한, 블롭 감지 단계는, 입력받은 시차 맵이 무의미한 값인지를 판단하는 단계; 및 상기 무의미한 값인 경우, 이전 값을 보존하는 단계를 더 포함할 수 있다.
또한, 상기 인덱스된 레지스터를 폐기하는 단계는,
상기 인덱스된 레지스터의 링크 정보를 확인하는 단계; 상기 링크 정보가 링크되지 않음을 나타내는 경우, 현재 입력받은 시차 맵의 인덱스된 레지스터를 저장된 다른 인덱스된 레지스터와 비교하여 더 작은 가중치를 가지면 폐기하고, 그렇지 않으면 업데이트하는 단계; 및 상기 링크 정보가 링크됨을 나타내는 경우, 현재 입력받은 시차 맵의 인덱스된 레지스터와 링크된 블롭 ID 별 하나 이상의 인덱스된 레지스터와 비교하여 기 정의된 정보는 링크된 인덱스된 레지스터에 업데이트하고 현재 레지스터값은 삭제하는 단계를 포함할 수 있다.
본 발명의 실시예에 따르면, 양안 카메라에서 들어오는 영상에서 시차 맵(Disparity MAP)을 생성하고, 유의미한 부분을 임계치(threshold)를 통하여 마스크(MASK)를 실행한 후 블롭을 감지함으로써, 카메라에 가까운 블롭에 대한 정보를 얻을 수 있다.
즉 카메라에 가까운 곳에 위치한 블롭이 중요한 블롭으로 간주된다.
도 1은 종래의 블롭 검출 예를 나타낸다.
도 2는 종래의 마스킹 과정을 나타낸다.
도 3은 본 발명의 실시예에 적용되는 마스크 패턴을 나타낸다.
도 4는 본 발명의 실시예에 따른 블롭 정보를 나타낸다.
도 5는 본 발명의 실시예에 따른 영상 입력을 나타낸 그래프이다.
도 6은 본 발명의 실시예가 적용되는 마스킹 장치의 구성을 나타낸 블록도이다.
도 7은 본 발명의 실시예에 따른 블롭 감지부의 구성을 나타낸 블록도이다.
도 8 및 도 9는 도 7의 인덱스 레지스터(Register Indexed Structure)의 동작을 나타낸 순서도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부"의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 도면을 참조로 하여 본 발명의 실시예에 따른 블롭 감지 장치 및 그 방법에 대하여 상세히 설명한다.
도 3은 본 발명의 실시예에 적용되는 마스크 패턴을 나타낸다.
도 3을 참조하면, 마스크 패턴은 자신 즉 현재 픽셀(c)과 현지 픽셀(c)의 주변 5개의 픽셀(W, U, E, P, N)을 포함한다. 여기서, 마스크 패턴의 주변 픽셀(W, U, E)는 어퍼 라인(upper line) 영상의 픽셀이 아니라 이미 결정된 확정된 라벨(CONFIRMED LABEL)을 입력받는다. 즉 라인 방향으로 픽셀을 검출하는데, 이전 라인에 해당되는 픽셀의 값이 아니라 이미 프로세싱하여 결정된 라벨을 받아서 작업한다. 픽셀의 값은 현재 픽셀(C)의 값을 결정할때만 고려되며 현재 픽셀의 라벨이 결정되면 폐기된다.
이때, 현재 픽셀(C: Current Pixel)의 주변 픽셀은 5개로서, W(CONFIRMED LABEL, West), U(CONFIRMED LABEL, Upper), E(CONFIRMED LABEL, East), P(Previous Pixel) 및 N(Next Pixel)을 포함한다.
도 4는 본 발명의 실시예에 따른 블롭 정보를 나타내고, 도 5는 본 발명의 실시예에 따른 영상 입력을 나타낸 그래프이다.
본 발명의 실시예는 영상에서 블롭(blob)을 감지하고 그 결과에서 가중치(weight)가 큰 순으로 설정된 개수에 대한 정보를 저장한다. 이때, 저장하는 해당 블롭(blob)에 대한 정보(Number of Blob, BLOB_NUM_PIXEL)는 도 4와 같이 Start position, End position, Maximum Point로 구성된다.
여기서, 일반적으로 카메라에 가깝고 면적이 넓은 블롭(blob)이 가장 유의미한 블롭(blob)이 된다.
블롭(blob)의 감지(detection)가 진행되면서 현재 저장되어 있는 블롭(blob) 정보와 비교한 후에 설정된 개수의 블롭(blob) 크기에 들어가지 못하는 블롭(blob)은 폐기된다.
이때, 영상 입력은 도 5와 같이, 일반적인 카메라의 입력처럼 들어온다고 가정한다.
도 5를 참조하면, 영상 데이터가 입력되는 구간에서는 블롭(blob)을 감지(detection)하고 해당 블롭(blob)의 정보를 갱신한다. 반면, 영상 데이터가 끊기는 HSYNC가 '0'인 구간이 시작되면 갱신된 블롭(blob) 정보를 토대로 정리하는 구간이다. 즉 현재 저장되어 있는 블롭(blob) 정보와 비교한 후에 설정된 개수의 블롭(blob) 크기에 들어가지 못하는 블롭(blob)은 폐기되는 과정이 수행된다.
도 6은 본 발명의 실시예가 적용되는 마스킹 장치의 구성을 나타낸 블록도이다.
도 6을 참조하면, 마스킹 장치(100)는 시차 맵 수신부(110), 임계 값 비교부(120) 및 블롭 감지부(130)를 포함한다.
시차 맵 수신부(110)는 영상 정보로부터 생성된 하나 이상의 시차 맵을 수신한다. 하나의 시차 맵에는 복수의 픽셀 값들이 포함되어 있으며, 각각의 픽셀 값에는 카메라와 물체 사이의 거리인 거리 정보가 포함되어 있다. 이러한 시차맵은 하나의 영상을 의미하며, 하나의 라인의 데이터가 아니라 한 영상에 포함된 데이터를 뜻하며, 640×480인 경우 307,200개의 픽셀 모두를 뜻한다. 이때, 영상을 구성하는 픽셀의 값을 전부 입력으로 받고, 픽셀의 값을 가중치로 계산한다. 예를 들어, '1'인 영상을 0×34, 0×58등으로 기존의 픽셀값을 가중치로 두어서 계산하며, 참고로, '0'인 영상의 픽셀값은 0×0이다.
임계 값 비교부(120)는 시차 맵 수신부(110)가 수신한 복수의 시차 맵 중 입력 순서대로 하나의 시차 맵을 확인하고, 하나의 시차 맵에 존재하는 복수의 픽셀 값과 미리 설정한 임계 값을 비교한다. 만약, 픽셀 값이 미리 설정한 임계 값 보다 크면 픽셀 값을 그대로 출력한다. 그러나 픽셀 값이 임계 값 보다 작으면 해당 픽셀 값은 삭제한다.
블롭 감지부(130)는 하나의 시차 맵에 대한 픽셀 값의 검토가 완료되면, 임계 값 비교부(120)에서 출력되는 픽셀 값들을 모아 블롭으로 탐지하여 출력한다. 이때 블롭은 카메라와 물체 사이의 거리 정보에 의해 가중치 정보(Weight)를 포함하게 되는데, 카메라와 물체 사이의 거리가 가까우면 가까울수록 큰 가중치 정보를 포함한다.
이러한 블롭 감지부(130)는 시차 맵 수신부(110) 및 임계 값 비교부(120)를 통해 양안 카메라에서 입력되는 영상의 시차 맵에서 유의미한 부분을 임계치를 통하여 마스크(MASK)를 실행한 후, 영상에서 블롭(blob)을 감지한다. 그리고 감지 결과에서 가중치(weight)가 큰 순서대로 설정된 개수 정보를 저장한다.
블롭 감지부(130)는 각 블롭의 정보를 수집할 때 픽셀의 값을 모두 더해서 각 블롭이 가진 픽셀의 개수와 픽셀의 값을 모두 더한 값을 가지고 기 저장된 정보와 비교한다. 최대값을 가진 블롭을 8개까지 저장하고 있다. 그리고 카메라에 가장 가까운 8개의 블롭에 대한 정보만을 저장하고 다른 블롭에 대한 정보를 모두 폐기한다. BW 영상을 입력받는 경우에는 픽셀의 개수만이 이 작업을 진행하는 중요한 파라미터가 되겠지만, 픽셀의 값이 모두 넘어오는 경우에는 가중치를 두어 계산이 가능하다.
이러한, 마스킹 장치(100)는 TV와 같은 가전제품에 제스쳐 인지를 통한 리모콘을 대신할 포인팅 디바이스를 구현할 경우에 적용될 수 있다.
도 7은 본 발명의 실시예에 따른 블롭 감지부의 구성을 나타낸 블록도이고, 도 8 및 도 9는 도 7의 인덱스 레지스터(Register Indexed Structure)의 동작을 나타낸 순서도이다.
도 7을 참조하면, 블롭 감지부(150)는 쉬프트 레지스터(shift registers)(151), 마스크 패턴(MASK Pattern) 생성부(153), 인덱스 레지스터(Register Indexed Structure)(155), 블롭 ID 관리부(Blob ID Manager)(157) 및 최대 가중치 계산부(Maximum Weight Calculator)(159)를 포함한다.
여기서, 쉬프트 레지스터(shift registers)(151)는 블롭을 검지하기 위한 마스크 패턴을 구성하기 위한 쉬트프 레지스터이다. 마스크 패턴에 이전 라인에서 결정된 라벨값을 채우기 위해서는 한 라인 분의 라벨을 저장하는 장치가 필요하다. 또한, 현재 픽셀에서 결정된 라벨 값을 쉬트프 레지스터에 넣어서 사용하도록 되어 있다.
마스크 패턴(MASK Pattern) 생성부(153)는 도 3과 같은 마스크 패턴 즉 자신 즉 현재 픽셀(c)과 현지 픽셀(c)의 주변 5개의 픽셀(W, U, E, P, N)을 포함하는 마스크 패턴을 생성한다. 이렇게 하여 현재 픽셀을 포함하고 있는 블롭에 대한 정보가 후술할 인덱스 레지스터에 저장된다.
인덱스 레지스터(Register Indexed Structure)(155)는 다음 표 1과 같이 복수의 필드로 구성된 인덱스 레지스터와 이러한 인덱스 레지스터에 대한 제어 동작을 수행하는 프로세서(미도시)를 포함한다. 이하에서는 표 1의 인덱스 레지스터와, 이러한 인덱스 레지스터를 제어하는 프로세서(미도시)를 모두 포함하여 인덱스 레지스터(155)로 통칭하여 기술한다.
Figure 112011104789410-pat00002
표 1에서 Update(U)는 현재 라인(line)에서 해당 블롭(blob)이 나타났을 때 '1'이 된다. 만약'0'이라면 현재 라인(line)에서 해당 블롭(blob)이 나타나지 않은 것을 나타낸다. 이는 해당 블롭(blob)은 더 이상 영상에서 나타나지 않는 것으로 판단하여, 설정된 개수의 블롭(blob)과 비교를 통하여 버려지거나 갱신된다.
표 1에서 Busy(B)는 현재 사용되고 있는 블롭 ID(blob ID)임을 나타낸다. '1'인 경우, 현재 라인에서 해당 블롭(blob)이 존재함을 나타낸다.
표 1에서 Link(L)는 해당되는 블롭(blob)이 다른 블롭(blob)과 링크를 형성하는 경우를 나타내며,'1'인 경우, 해당 블롭 ID(blob ID)보다 작은 블롭 ID(blob ID)와 링크를 형성했다는 것을 나타낸다. 만약, Update(U)가'0'인 경우, 해당 블롭(blob)이 더 이상 블롭 ID(blob ID)를 사용하지 않는다는 것을 나타내며, 표 5의 정리 구간(Information Summary)에서 사라지게 된다.
표 1에서 Link ID(LID)는 해당 블롭 ID(blob ID)보다 작은 블롭 ID(blob ID)와 링크를 형성할 경우에 작은 블롭 ID(blob ID)가 적히게 된다.
표 1에서 Weight(W)는 해당 블롭 (blob)의 가중치(weight)를 누적 합산한 값을 가지게 된다. 링크되어 있는 경우에는 블롭 ID(blob ID)를 비교하여 작은 블롭 ID(blob ID)를 가진 레지스터 인덱스 구조(Register indexed structure)에 합산된다.
즉 블롭이 차지하는 픽셀의 개수와 픽셀의 값을 모두 더하여 생성하는 값이다. 이것은 기저장된 정보와 비교하는 중요한 파라메터가 된다.
표 1에서 최대 가중치(Maximum Weight, MAX)는 최대 가중치(Maximum weight)를 가진 포인트 또는 픽셀의 가중치(weight) 값을 나타낸다. 이는 각 블롭(blob)의 최대값을 포인트를 나타내므로 꼭지점을 알 수 있도록 한다.
즉 최대 가중치는 픽셀의 값 중에 가장 큰 값을 가진 픽셀의 위치와 값을 저장한 것이다. 현재 검지한 블롭의 최대값을 어디인지 즉 카메라에 가장 가까운 한 점의 값과 좌표를 획득하기 위하여 삽입된다.
표 1에서 최대 X 좌표(Maximum X coordination, MAX X)는 최대 가중치(Maximum weight)를 가진 포인트 또는 픽셀의 X 좌표를 나타낸다.
표 1에서 최대 Y 좌표(Maximum Y coordination, MAX Y)는 최대 가중치(Maximum weight)를 가진 포인트 또는 픽셀의 Y 좌표를 나타낸다.
표 1에서 Start X coordination(STAT X)은 해당 블롭(blob)이 시작하는 위치의 X 좌표를 나타낸다.
표 1에서 Start Y coordination(STAT Y)은 해당 블롭(blob)이 시작하는 위치의 Y 좌표를 나타낸다.
표 1에서 End X coordination(END X)은 해당 블롭(blob)이 끝나는 위치의 X 좌표를 나타낸다.
표 1에서 End Y coordination(END Y)은 해당 블롭(blob)이 끝나는 위치의 Y 좌표를 나타낸다.
여기서, Start 포인트의 좌표 즉 Start X coordination(STAT X), Start Y coordination(STAT Y)와, End 포인트의 좌표 즉 End X coordination(END X), End Y coordination(END Y)는 블롭(blob)의 위치와 대략적인 크기를 알 수 있게 한다.
이때, 레지스터 인덱스 구조(Register indexed structure)의 개수 즉 한 영상에서 존재하는 블롭의 개수는 레지스터 인덱스 구조(Register indexed structure)로 구현하지 못할 정도로 많다. 하지만, 동시에 감지되는 블롭의 수는 소수이므로, 레지스터 인덱스 구조(Register indexed structure)에서 사용되는 개수는 약 64개 내외일 수 있다. 이를 통해 도 4와 같이, 640x480 영상을 지원할 수 있게 된다.
또한, 표 1에 나타난 정보들은 해당 블롭에 대한 정보를 저장하는 레지스터 뱅크의 구조로서, 해당 블롭이 더 이상 존재하지 않을 경우, 기 저장되어 있는 정보와 비교하여 값이 크면 업데이트되고 작으면 삭제된다.
표 1의 인덱스된 레지스터는 블롭에서 결정된 정보를 최대한 저장하기 위한 구조로 되어 있다. 영상 안에 존재하는 블롭의 개수는 현재 구현된 64개보다 많을 수 있다. 인덱스된 레지스터는 하나의 블롭이 모두 감지되면 즉 더 이상 같은 블롭을 구성하는 픽셀이 존재하지 않으면 기저장된 정보와 비교하여 저장되거나 삭제된다. 이때까지 해당 블롭의 정보를 저장하기 위하여 사용되었던 레지스터 뱅크는 한 라인에 64개 이상의 블럽이 존재하는 경우를 제외하고 비교에 의하여 저장되든 삭제되든 상관없이 재사용이 가능하다. 이정도로 블롭이 다수 존재하는 경우, 중요한 블롭이 아닐 가능성이 많고, 재사용되는 레시지터가 존재하면 다음 라인에서부터는 정확하게 동작이 가능하다.
표 1에서 현재 픽셀과 연속되는 픽셀은 같은 블롭 ID를 가지게 된다. 현재 픽셀과 현재 감지되는 픽셀 사이에 하나라도 '0'의 값을 가진 픽셀이 존재한다면 다른 블롭이라고 판단하고 다른 블롭 ID가 발급되며, 다른 인덱스 레지스터에 된다.
인덱스 레지스터(Register Indexed Structure)(155)는 시차 맵(또는 픽셀 값)이 입력(S101)되면, 도 5의 블롭 감지 구간인지 또는 정리 구간인지를 판단(S103)하여 판단 결과에 따른 동작을 수행한다.
이때, 블롭 감지 구간으로 판단되면, 인덱스 레지스터(Register Indexed Structure)(155)는 블롭 ID 발급 여부를 확인(S105)하여 이전 블롭 ID 발급이 존재하는지 판단한다(S107).
이전 블롭 ID 발급이 없으면, 블롭 ID 관리부(Blob ID Manager)(157)로부터 새로운 블롭 ID를 발급받는다(S109). 즉 새로운 블롭(blob)의 시작을 감지하였을 경우, 블롭 ID 관리부(Blob ID Manager)(157)로부터 새로운 블롭(blob) ID를 발급받아 사용하며, 표 1의 Busy(B)를'1'로 셋팅한다(S111).
이때, 해당 마스크 패턴은 다음 표 2와 같다.
Figure 112011104789410-pat00003
그리고, 표 1의 해당 값 들 즉 Update = 1로 세팅되고, Busy =1로 세팅되며, Link = 0으로 세팅되고, Linked ID = xx로 세팅되며, Number = pixel value weight로 세팅된다(S111).
여기서, 만약, 검색 마스크 안에서 이전에 발급받은 블롭 ID(Blob) ID가 있는 경우, 검색 마스크 안에서 이전에 부여한 블롭 ID(Blob ID)가 두개 이상 있는 경우인지를 판단한다(S113).
이때, 두개 이상이 아닌 경우, 이전 블롭 ID를 승계(S115)하며, 이때의 마스크 패턴들은 표 3과 같다.
Figure 112011104789410-pat00004
그리고 이때의 표 1의 블롭 레지스터를 업데이트하는데, 즉Update = 1로 세팅하고, Busy =1로 세팅하며, Link = 0으로 세팅하고, Linked ID = xx로 세팅하며, Number = Number + pixel value weight로 세팅한다(S117).
또한, 검색 마스크 안에서 이전에 부여한 블롭 ID(Blob ID)가 두개 이상 있는 경우. 이때의 마스크 패턴들은 표 4와 같다.
Figure 112011104789410-pat00005
이때, 인덱스 레지스터(Register Indexed Structure)(155)는 블롭ID(blob ID)를 비교(S119)하여 상대적으로 작은 블롭 ID(blob ID)를 가진 레지스터(register)로 업데이트(update) 된다(S121). 그리고 상대적으로 큰 블롭 ID(blob ID)를 가진 레지스터(register)는 링크(Link)와 링크된 ID(Linked ID)만을 업데이트(update)한다(S121).
여기서, 작은 블롭 ID(blob ID)를 가진 레지스터 업데이트(register update)에 따르면, 표 1의 Update = 1로 세팅되고, Busy =1로 세팅되며, Link = 0으로 세팅되고, Linked ID = xx로 세팅되며, Number = Number + pixel value weight로 세팅된다(S121).
또한, 큰 블롭 ID(blob ID)를 가진 레지스터 업데이트(register update)에 따르면, 표 1의 Update = 0으로 세팅되고, Busy =1로 세팅되며, Link = 1로 세팅되고, Linked ID = 작은 Blob ID로 세팅된다(S121).
또한, 해당 픽셀 즉 현재 픽셀(C)이 무의미한 경우인지를 판단(S123)하여 즉 검색 마스크 안에서 마스크의 중심 픽셀이 무의미한 경우에는 블롭 레지스터 동작을 패스(Blob register pass)하여 표 5와 같이 이전 값을 보존한다(S125).
여기서, 간단하게 BW 영상인 경우에 '0'이면 무의미, '1'이면 유의미로 규정한다. 가중치가 적용된 영상의 경우에는 '0'이 아닌 값을 가진 영상을 유의미로 판단하고, 아무런 동작을 하지 않는다. 즉 앞서 기술한 표 1의 인덱스된 레지스터에 대한 업데이트도 삭제도 일어나지 않는다.
Figure 112011104789410-pat00006
지금까지는 블롭 감지 구간(in Blob Detect 구간)에서의 인덱스 레지스터(Register Indexed Structure)(155)의 동작을 설명하였다. 다음, 인덱스 레지스터(Register Indexed Structure)(155)의 도 5의 정리 구간(in Information Summary 구간)에서의 동작을 도 9를 참조하여 설명하면, 다음과 같다.
즉 표 1의 현재 레지스터의 Link=0인지 또는 Link=1인지를 판단한다(S201).
이때, Link=0으로 판단되면, Busy=1, Update=0 인 경우로서, 현재 line에서 진행이 중지된 경우이며, link 되지 않은 경우로 해당 블롭이 더 이상 존재하지 않는 경우에 해당된다.
이때, 해당 레지스터(register)의 정보를 저장된 레지스터의 정보와 비교(S203)하여 크기 또는 가중치(weight)가 해당 레지스터(register)가 저장된 저장된 레지스터보다 작은지 판단(S205)한다. 이때, 작으면 정보는 폐기하고(S207), 크면 정보를 업데이트(update)한다(S209).
또한, 표 1의 Link=1인 경우로 판단되면, 현재 블롭 ID(blob ID)보다 작은 블롭 ID(blob ID)로 링크(link) 된 경우이며, 해당 블롭(blob)은 계속 진행중인 경우를 의미한다.
이때, 현재 레지스터(register)와 링크(link)된 블롭 ID(Blob ID)의 레지스터(register)의 정보를 비교(S211)하여 기 정의된 정보는 링크(link)된 블롭 ID(Blob ID)에 업데이트(update)하고 현재 레지스터(register) 값은 삭제된다(S213).
하나의 블롭을 감지해보면 두 개 이상의 블롭 ID를 가지고 해당되는 숫자만큼의 인덱스 레지스터(155)에 저장된다. 결국, 하나의 마스크 패턴에서 두개 이상의 블롭 ID를 가진 형태로 만나게 되는데, 이때 두개의 블롭 ID중에 작은 것을 선택하여 현재 픽셀의 블롭 ID로 사용하는 것이다. 그럼 이후부터는 선택된 작은 블롭 ID만을 사용하게 되는데, 선택되지 않은 큰 블롭ID에 해당되는 정보는 작은 블롭 ID에 추가되어 업데이트되어야 한다. 현재 데이터가 입력되고 있는(도 5참조) 구간에서는 이러한 작업을 실행할 수 없어서 어떤 블롭 ID와 링크(link) 되었다는 플래그(flag)만 선택하고 지나가고, 도 5에 나타난 데이터가 입력되지 않는 구간에서 큰 블롭ID의 정보를 작은 블롭 ID의 정보에 추가하여 업데이트하고, 큰 블록 ID의 데이터는 삭제하고 재사용된다.
지금까지 기술한 동작을 통해 인덱스 레지스터(Register Indexed Structure)(155)는 모든 감지한 블롭에 대해 각각 표 1과 같은 레지스터들을 생성한다. 그리고 생성된 레지스터의 값들을 세팅한다.
최대 가중치 계산부(Maximum Weight Calculator)(159)는 인덱스 레지스터(Register Indexed Structure)(155)가 생성한 블롭 개수 만큼의 표 1의 레지스터들의 각각의 가중치(weight) 필드를 확인한다. 그리고 가중치가 높은 순서대로 미리 설정된 개수만큼 즉 앞서 기재한 바에 따르면 약 640개 내외의 블롭(blob)의 정보(크기, 위치, 범위 등등)을 추출하여 출력한다.
여기서, 영상의 라인(line) 별로 블롭 감지를 수행하면 진행중인 블롭의 수는 별로 많지 않다는 것에 착안하여 전체 영상에 포함된 블롭보다 적은 수의 표 1과 같은 인덱스 레지스터(Register Indexed Structure)를 사용하여 블롭 감지를 수행한다.
이처럼, 가중치가 비교의 대상이 되며, 가중치가 가장 큰 순서로 8개의 블롭에 대한 정보만 추출하는데, 결과적으로 카메라에 가장 가까운 8개의 블롭에 대한 정보만 추출할 수 있게 된다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (8)

  1. 입력받은 영상의 라인에 블롭의 존재 여부를 나타내는 정보 필드, 다른 블롭과의 링크 정보를 나타내는 필드, 블롭의 가중치 정보를 나타내는 필드, 최대 가중치 필드, 최대 좌표 필드, 시작점 좌표 필드 및 종료 좌표 필드를 포함하는 인덱스 레지스터 구조를 포함하고, 상기 입력받은 영상에서 블롭을 감지하여 상기 인덱스 레지스터 구조로 저장하며, 상기 블롭의 가중치가 큰 순으로 기 설정된 개수 만큼의 블롭 레지스터만을 저장하는 인덱스 레지스터; 및
    상기 인덱스 레지스터에 수록된 최대 가중치가 높은 순서대로 미리 설정된 개수만큼의 블롭 정보를 추출하여 출력하는 최대 가중치 계산부
    를 포함하는 블롭 감지 장치.
  2. 제1항에 있어서,
    입력받은 시차 맵으로부터 현재 픽셀 및 상기 현재 픽셀을 기준으로 주변의 4개의 픽셀을 포함하는 마스크 패턴을 생성하여 상기 인덱스 레지스터로 출력하는 마스크 패턴 생성부
    를 더 포함하는 블롭 감지 장치.
  3. 제1항에 있어서,
    상기 블롭을 식별하기 위한 블롭 ID를 발급하는 블롭 ID 관리부를 더 포함하고,
    상기 인덱스 레지스터는,
    상기 블롭 ID를 나타내는 필드를 더 포함하며, 이전에 발급된 블롭 ID가 존재하면 상기 이전에 발급된 블롭 ID를 승계하여 사용하고, 상기 이전에 발급된 블롭 ID가 존재하지 않으면 상기 블롭 ID 관리부로부터 신규 블롭 ID를 발급받으며, 상기 블롭 ID가 두개 이상 존재하면, 두개 이상 존재하는 블롭 ID를 상호 비교하여 상대적으로 작은 블롭 ID를 가진 인덱스 레지스터로 업데이트 하고, 상대적으로 큰 블롭 ID를 가진 레지스터는 링크 정보 필드만을 업데이트 하는 블롭 감지 장치.
  4. 라인 별로 시차 맵을 입력받는 단계;
    상기 시차 맵의 입력 구간이 블롭 감지 구간인지 또는 정리 구간인지를 판단하는 단계;
    상기 블롭 감지 구간으로 판단되면, 상기 시차 맵으로부터 블롭을 감지하여 시작 포지션, 종료 포지션, 최대 포지션 및 가중치를 획득하여 인덱스된 레지스터를 생성 및 업데이트하는 단계; 및
    상기 정리 구간으로 판단되면, 현재 저장되어 있는 블롭 별 상기 인덱스된 레지스터의 개수가 기 정의된 개수를 초과하면, 가중치가 상대적으로 가장 낮은 블롭의 인덱스된 레지스터를 폐기하는 단계
    를 포함하는 블롭 감지 방법.
  5. 제4항에 있어서,
    상기 생성 및 업데이트하는 단계는,
    블롭 ID 발급 여부를 확인하는 단계;
    이전 발급된 블롭 ID가 존재하는지 판단하는 단계;
    이전 발급된 블롭 ID가 존재하면, 이전 발급된 블롭 ID를 승계하여 상기 이전 발급 블롭 ID에 대한 인덱스된 레지스터를 업데이트하는 단계; 및
    이전 발급된 블롭 ID가 존재하지 않으면, 신규 블롭 ID를 발급받아 신규 블롭 ID에 대한 인덱스된 레지스터를 생성하는 단계
    를 포함하는 블롭 감지 방법.
  6. 제5항에 있어서,
    상기 인덱스된 레지스터를 업데이트하는 단계는,
    이전 발급된 블롭 ID가 두 개 이상 존재하는지 판단하는 단계;
    두 개 이상 존재하는 경우, 블롭 ID 들간의 상호 비교를 통해 상대적으로 작은 블롭 ID를 가진 인덱스된 레지스터로 업데이트하고, 상대적으로 큰 블롭 ID를 가진 인덱스된 레지스터는 상기 인덱스된 레지스터의 필드 중에서 기 정의된 필드만을 업데이트하는 단계; 및
    두 개 미만인 경우, 상기 이전 발급된 블롭 ID에 대한 인덱스된 레지스터를 업데이트 하는 단계
    를 포함하는 블롭 감지 방법.
  7. 제6항에 있어서,
    입력받은 시차 맵이 무의미한 값인지를 판단하는 단계; 및
    상기 무의미한 값인 경우, 이전 값을 보존하는 단계
    를 더 포함하는 블롭 감지 방법.
  8. 제4항에 있어서,
    상기 인덱스된 레지스터를 폐기하는 단계는,
    상기 인덱스된 레지스터의 링크 정보를 확인하는 단계;
    상기 링크 정보가 링크되지 않음을 나타내는 경우, 현재 입력받은 시차 맵의 인덱스된 레지스터를 저장된 다른 인덱스된 레지스터와 비교하여 더 작은 가중치를 가지면 폐기하고, 그렇지 않으면 업데이트하는 단계; 및
    상기 링크 정보가 링크됨을 나타내는 경우, 현재 입력받은 시차 맵의 인덱스된 레지스터와 링크된 블롭 ID 별 하나 이상의 인덱스된 레지스터와 비교하여 기 정의된 정보는 링크된 인덱스된 레지스터에 업데이트하고 현재 레지스터값은 삭제하는 단계
    를 포함하는 블롭 감지 방법.
KR1020110145457A 2011-12-29 2011-12-29 블롭 감지 장치 및 그 방법 KR101328725B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110145457A KR101328725B1 (ko) 2011-12-29 2011-12-29 블롭 감지 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110145457A KR101328725B1 (ko) 2011-12-29 2011-12-29 블롭 감지 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20130076993A KR20130076993A (ko) 2013-07-09
KR101328725B1 true KR101328725B1 (ko) 2013-11-11

Family

ID=48990323

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110145457A KR101328725B1 (ko) 2011-12-29 2011-12-29 블롭 감지 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR101328725B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102574029B1 (ko) 2023-04-07 2023-09-05 주식회사 아이브 인공 지능 학습 모델을 통해 이중타각을 검출하는 장치 및 이를 이용한 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9600442B2 (en) * 2014-07-18 2017-03-21 Intel Corporation No-locality hint vector memory access processors, methods, systems, and instructions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022943A (ja) 1999-07-08 2001-01-26 Sony Corp 画像処理装置および方法、並びに記録媒体
JP2004029434A (ja) 2002-06-26 2004-01-29 Nec Mitsubishi Denki Visual Systems Kk 映像表示装置
WO2007052420A1 (ja) 2005-11-01 2007-05-10 Ssd Company Limited 画像生成装置
JP2011053816A (ja) 2009-08-31 2011-03-17 Nippon Hoso Kyokai <Nhk> 画像処理装置及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022943A (ja) 1999-07-08 2001-01-26 Sony Corp 画像処理装置および方法、並びに記録媒体
JP2004029434A (ja) 2002-06-26 2004-01-29 Nec Mitsubishi Denki Visual Systems Kk 映像表示装置
WO2007052420A1 (ja) 2005-11-01 2007-05-10 Ssd Company Limited 画像生成装置
JP2011053816A (ja) 2009-08-31 2011-03-17 Nippon Hoso Kyokai <Nhk> 画像処理装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102574029B1 (ko) 2023-04-07 2023-09-05 주식회사 아이브 인공 지능 학습 모델을 통해 이중타각을 검출하는 장치 및 이를 이용한 방법

Also Published As

Publication number Publication date
KR20130076993A (ko) 2013-07-09

Similar Documents

Publication Publication Date Title
KR101575016B1 (ko) 현실 세계에서 표면들의 정보의 투영을 위한 동적 선택
RU2711029C2 (ru) Классификация касаний
CN105493154B (zh) 用于确定增强现实环境中的平面的范围的系统和方法
KR101514169B1 (ko) 정보 처리 장치, 정보 처리 방법 및 기록 매체
JP5381569B2 (ja) ジェスチャ認識装置、ジェスチャ認識方法、およびジェスチャ認識プログラム
US9772683B2 (en) Information processing apparatus to process observable virtual objects
CN109446364A (zh) 抓拍检索方法、图像处理方法、装置、设备及存储介质
JP2019036167A (ja) 画像処理装置、画像処理方法
CN109086729B (zh) 通信行为检测方法、装置、设备及存储介质
US9324008B2 (en) Classifier update device, information processing device, and classifier update method
CN110865753B (zh) 应用消息的通知方法及装置
EP2639743A2 (en) Image processing device, image processing program, and image processing method
JP2017117341A (ja) 物体検出方法、装置、及びプログラム
JP2015011641A (ja) 画像処理フィルタの作成装置及びその方法
CN110619672B (zh) 图形边缘线选取方法、机器可读存储介质及数据处理设备
CN108596079A (zh) 手势识别方法、装置及电子设备
WO2008004624A1 (fr) Dispositif, procédé et programme de traitement d&#39;entrées manuscrites
KR101328725B1 (ko) 블롭 감지 장치 및 그 방법
AU2013383628A1 (en) Image processing apparatus, program, computer readable medium and image processing method
KR101736939B1 (ko) 이미지에서, 개인의 적어도 하나의 지문을 표시할 가능성이 있는 적어도 하나의 구역을 결정하는 방법
EP3291179B1 (en) Image processing device, image processing method, and image processing program
JP6229554B2 (ja) 検出装置および検出方法
JP6651214B2 (ja) 画像処理装置、画像処理方法、プログラム及び記録媒体
JP2015045919A (ja) 画像認識方法及びロボット
KR102211159B1 (ko) 사용자 영상의 신체 부위를 검출하는 장치 및 방법

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
FPAY Annual fee payment

Payment date: 20170626

Year of fee payment: 4

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20180207

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190218

Year of fee payment: 6