KR20150004410A - 체인 코드 상태를 이용한 형상 검출 - Google Patents

체인 코드 상태를 이용한 형상 검출 Download PDF

Info

Publication number
KR20150004410A
KR20150004410A KR1020147033341A KR20147033341A KR20150004410A KR 20150004410 A KR20150004410 A KR 20150004410A KR 1020147033341 A KR1020147033341 A KR 1020147033341A KR 20147033341 A KR20147033341 A KR 20147033341A KR 20150004410 A KR20150004410 A KR 20150004410A
Authority
KR
South Korea
Prior art keywords
chain
code
contour
digital image
state
Prior art date
Application number
KR1020147033341A
Other languages
English (en)
Other versions
KR101701585B1 (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 KR20150004410A publication Critical patent/KR20150004410A/ko
Application granted granted Critical
Publication of KR101701585B1 publication Critical patent/KR101701585B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/20Contour coding, e.g. using detection of edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • G06V10/507Summing image-intensity values; Histogram projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • G06V10/473Contour-based spatial representations, e.g. vector-coding using gradient analysis

Landscapes

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

Abstract

디지털 이미지에서 오브젝트를 식별하는 방법은, 오브젝트의 윤곽선과 관련된 체인 코드를 추적하는 단계를 포함하고; 일련의 상태가 유지되고, 윤곽선에서의 다음 체인 코드는 그들이 각각의 상태에 대해 허용된 체인 코드를 따를 때에만 수용된다. 소정의 체인 코드는 다음 상태로의 전이를 트리거한다. 허용되지 않은 체인 코드가 조우되면, 프로세스는 정지한다.

Description

체인 코드 상태를 이용한 형상 검출{SHAPE DETECTION USING CHAIN CODE STATES}
관련 출원의 상호 참조
본 출원은, 그 전체가 참조에 의해 본원에 통합된 2012년 5월 30일자로 출원된 미국 특허 출원 제 13/483,540호에 대해 우선권을 주장하며 그리고 그 이점을 주장한다.
기술분야
본 발명의 실시형태는 일반적으로 이미지 프로세싱에 관한 것으로, 특히, 이미지에서의 형상 검출에 관한 것이다.
디지털 이미지에서 둥근(즉, 원형의 및/또는 타원형의) 오브젝트의 검출은, 많은 이미지 프로세싱 어플리케이션에서 공통 작업이다. 예를 들면, 그것은 자동 검사 및 조립과 같은 산업계 어플리케이션에서 사용되는데, 그 산업계 어플리케이션에서는 많은 부품이 둥근 형상이다. 유럽, 아시아, 및 다른 나라에서의 교통 표지판은 원형 형상을 가지며, 이들 표지판의 자동 검출은 제 1의 단계로서 원/타원의 검출을 수반한다. 또한, 원 검출 기술은, 예를 들면, 생체 식별(biometric identification) 어플리케이션에서 사용되는 홍채 인식 알고리즘을 위해 사람 홍채의 내부 및 외부 경계를 국소화하는(localizing) 데 활용될 수도 있다.
이미지에서 둥근 오브젝트를 검출하는 한 방법은 체인 코드를 사용한다. 체인 코드는, 오브젝트의 윤곽선(contour)(테두리 또는 경계로도 알려짐)을 나타내는 정보만을 저장함으로써 단색 이미지(monochrome image)에서 전경(foreground) 오브젝트를 효율적으로 표현하는 이미지 압축 포맷이다. 전경 오브젝트의 윤곽선 상의 임의의 지점에 대응하는 x, y 좌표가 먼저 위치결정된다. 오브젝트의 윤곽선은 이 x, y 좌표로부터 트래버싱되며(traversed), 윤곽선에서 발견된 각각의 새로운 픽셀에 대해, 이전 픽셀로부터의 이동 방향을 나타내는 심볼이 식별된다. 예를 들면, 트래버싱되는 윤곽선에서의 마지막 픽셀이 다음 픽셀의 왼쪽에 있다면, 심볼 "E"가 저장될 수도 있고(즉, 윤곽선이 "동쪽으로" 한 픽셀만 이동됨); 마지막 픽셀이 다음 픽셀 아래에 있다면, 심볼 "N"이 저장될 수도 있다(즉, 윤곽선이 "북쪽으로" 한 픽셀만 이동됨). 이와 같이, 오브젝트는 시작점과, (종국에는) 그 시작점으로 다시 돌아오게 되는, 그 시작점에 대한 일련의 방향성 움직임에 의해 표현된다. 도 1a는 프리맨 체인 코드(Freeman chain code)로 칭해지는 8방향 체인 코드의 한 타입을 정의하는 방향 콤파스(100)를 예시하며, 도 1b는 프리맨 체인-코드 방향으로 라벨링된 원(102)을 예시한다. 따라서, 원(102)은 초기 (x, y) 지점(104)과 프리맨 코드(0, 1, 2, 3, 4, 5, 6, 7)에 의해 표현될 수도 있다. 물론, 더 복잡한 오브젝트는 더 복잡한 체인 코드를 갖는다.
일단 한 형상에 대한 체인 코드가 계산되면, 그것은 그 형상에 대한 소정의 속성(예를 들면, 그 타입)을 결정하도록 시도하기 위해 분석될 수도 있다. 예를 들면, 체인 코드의 히스토그램(즉, 체인 코드에서 나타나는 0들, 1들, 2들 등의 개수)이 분석될 수도 있다. 예를 들어, 히스토그램에서의 코드의 분포가 대략 균일하면, 그 형상은 원일 수도 있는데, 그 이유는, 정의에 의해, 원이 모든 체인 코드를 통해 전이하고(transition), 코드당 동일한 시간량 동안 그렇게 하기 때문이다. 만약 분포가 "대칭적"이라면(즉, 반대 체인-코드 쌍(0/4, 1/5, 2/6, 및 3/7)의 수가 대략 동일하면), 그 오브젝트는 원 또는 타원일 수도 있다. 히스토그램의 "애스펙트 비"(즉, 수직 에지 코드(2/6)에 대한 수평 에지 코드(0/4)의 비)는 원에 대해 1일 수도 있고, 타원에 대해 1보다 더 크지만, 최대 타원율/"타원형" 값보다 작을 수도 있다. 대안적으로, 애스펙트 비는, 이미지에서의 임의의 타원의 수평 또는 수직으로부터 멀어지는 가능한 회전을 설명하기 위해, 2/6에 대한 0/4와 3/7에 대한 1/5의 비의 평균으로서 계산될 수도 있다.
간단하지만 효율적인, 형상 식별(및 구체적으로는, 원과 타원의 식별)의 이 방법은 몇몇 단점을 갖는다. 윤곽선은 완전한 히스토그램이 계산될 수도 있도록 그 전체가 트래버스싱되어야만 하기 때문에, 둥글지 않은(non-round)(것으로서 결국에는 식별될) 오브젝트를 분석하는 것에 의해 계산 시간을 낭비하게 된다. 또한, 그 방법은, 어떤 둥글지 않은 형상(예를 들면, 정사각형 및 직사각형)이 대칭적인 체인-코드 히스토그램을 가지고 및/또는 1과 동일한 애스펙트 비를 가지기 때문에, 많은 위양성(false-positive) 결과를 나타낼 수도 있다. 도 2에 도시된 형상(200)과 같은 또 다른 형상은, 체인-코드 심볼의 균일한 히스토그램을 가질 수도 있지만(즉, 심볼(200)이 타입 "0"의 6개의 코드, 타입 "1"의 6개의 코드 등을 포함함) 여전히 비원형일 수도 있다. 마지막으로, 이 방법은 이미지에서의 폐색(occlusion) 또는 노이즈에 취약한데; 예를 들어, 관심의 대상인 오브젝트가 이미지에서의 다른 오브젝트 또는 노이즈에 의해 폐색되는 것이 그 전체 윤곽선이 추적되는 것을 방지하면, 히스토그램은 (그것이 어쨌든 계산될 수 있다면) 잘못된 데이터(misleading data)를 생성한다.
이미지에서 둥근 오브젝트를 검출하는 다른 방법은 더 정확하지만 더 많은 계산 리소스를 소비하거나, 더 많은 계산 시간을 필요로 하거나, 또는 둘 다일 수도 있다. (특히, 원형 허프 변환(Hough transform)을 사용하는) 허프 변환 기반의 접근법은, 둥근 오브젝트의 가장 가능성이 높은 중심과 반경을 결정하기 위한 3차원 누산기(accumulator) 어레이와 복잡한 "보팅(voting)" 기술, 더 많은 양의 메모리를 필요로 하는 프로세스 및 계산 성능(computational power)을 요구한다. 체인 코드를 구축하는 것에 대한 마르코프(Markov) 체인 기반의 접근법은, 적어도, 발생하는 특정 체인 코드의 확률이 이전 체인 코드에 심하게 의존하고(즉, 직사각형의 변에 많은 "0" 코드가 할당되고, 예를 들면, "3", "4", 또는 "5" 코드의 가능성이 거의 제로(0)이다), 이 의존성이 마르코프 체인의 정확성을 감소시키기 때문에, 신뢰적이지 못하다. 또 다른 방법은 각각의 체인 코드에 대해 포지션 정보(예를 들면, x, y 좌표)를 추가하지만, 이 여분의 정보는 입력 데이터의 사이즈를 크게 확대하여, 체인 코드의 주요 이점을 가치가 없게 만든다. 따라서, 이미지에서 둥근 오브젝트를 빠르고, 효율적이며, 정확하게 검출하는 방식에 대한 요구가 존재한다.
개요
일반적으로, 본원에서 설명되는 시스템 및 방법의 다양한 양태는, 디지털 이미지에서의 둥근 오브젝트를 그들의 체인 코드의 윤곽선을 추적함으로써 검출한다. 윤곽선이 추적됨에 따라, 일련의 상태가 유지되고; 소정의 다음 체인 코드만이 각각의 상태에 있도록 허용되며, 다음 체인 코드가 허용 코드 밖에 있으면, 그 오브젝트는 둥글지 않은 것으로 간주된다. 오브젝트는 자신의 히스토그램 및/또는 그래디언트를 검사함으로써 더 분석될 수도 있다. 원래의 이미지에서 오브젝트가 폐색되고 그 윤곽선이 완전하지 못하면, 그 윤곽선에서 갭을 가로지르는 다음 체인 코드가 검색될 수도 있다.
일 양태에서, 컴퓨터 메모리에 픽셀의 어레이로서 저장된 디지털 이미지에서 오브젝트를 식별하는 방법은, 디지털 이미지에서 미지의 오브젝트의 윤곽선에 대응하는 픽셀을 트래버싱하는 단계를 포함한다. 트래버스싱하는 것은, (i) 윤곽선에서의 다음 체인-코드 심볼을 컴퓨터 메모리에 로딩하는 단계, (ii) 윤곽선에서의 다음 체인-코드 심볼이 체인-코드 심볼의 제 1의 세트 내에 있으면 현재 상태를 유지하는 단계, (iii) 윤곽선에서의 다음 체인-코드 심볼이 체인-코드 심볼의 제 2의 세트 내에 있으면 다음 상태로 전이하는 단계, 및 (iv) 다음 체인-코드 심볼이 체임 코드 심볼의 제 1 또는 제 2의 세트의 어느 것 내에도 있지 않으면 그 미지의 오브젝트를 제 1의 타입의 오브젝트로 지정하는 단계를 포함한다. 미리 결정된 수의 상태가 방문되면(visited), 미지의 오브젝트는 제 2의 타입의 오브젝트로서 식별된다.
제 1의 타입의 오브젝트는 둥글지 않은 오브젝트일 수도 있고 제 2의 타입의 오브젝트는 둥근 오브젝트일 수도 있다. 디지털 이미지에서의 픽셀에 확장된 체인 코드가 할당될 수도 있고; 확장된 체인 코드는 윤곽선의 말단 픽셀(end-of-contour pixel)에 대한 코드와 다중-윤곽선 픽셀(multi-contour pixel)에 대한 코드를 포함할 수도 있다. 디지털 이미지는 윤곽선에 대해 검색될 수도 있고; 윤곽선을 검색하는 것은 디지털 이미지에서 체인 코드를 검색하는 것 또는 디지털 이미지에서 반대 체인 코드를 검색하는 것을 포함할 수도 있다. 윤곽선을 검색하는 것은, 디지털 이미지에서 시계방향 오브젝트에서의 제 1의 체인 코드를 검색하는 것 및 디지털 이미지에서 반시계방향 오브젝트에서의 제 2의 체인 코드를 검색하는 것을 포함할 수도 있다. 미지의 오브젝트는 체인-코드 히스토그램을 통해 필터링될 수도 있다.
복수의 이전의 체인-코드 심볼의 그래디언트가 계산될 수도 있고, 미지의 오브젝트는, 그 그래디언트가 제 1의 임계치보다 작거나 또는 제 2의 임계치보다 더 큰 경우 둥글지 않은 오브젝트로서 지정될 수도 있다. 그래디언트를 계산하는 것은, 이전의 체인-코드 심볼의 제 1의 세트의 제 1의 평균, 이전의 체인-코드 심볼의 제 2의 세트의 제 2의 평균을 계산하는 것, 및 제 1 및 제 2의 평균의 차이를 계산하는 것을 포함할 수도 있다. 미지의 오브젝트의 윤곽선에서 단절(break)이 검출될 수도 있고; 그 단절을 지나는 다음 체인-코드 심볼에 대해 이미지의 한 영역이 검색될 수도 있다. 검색된 영역의 사이즈는, 복수의 이전 체인 코드의 평균 방향 또는 이전 체인 코드의 수에 적어도 부분적으로 의존할 수도 있다.
다른 양태에서, 디지털 이미지에서 오브젝트를 식별하는 시스템은, 디지털 이미지에서의 미지의 오브젝트의 윤곽선에 관련된 체인-코드 심볼을 저장하는 컴퓨터 메모리를 포함한다. 프로세서는, (i) 다음 체인-코드 심볼이 체인-코드 심볼의 제 1의 세트 내에 있으면 현재 상태를 유지하고, (ii) 다음 체인-코드 심볼이 체인-코드 심볼의 제 2의 세트 내에 있으면 다음 상태로 전이하고, 그리고 (iii) 다음 체인-코드 심볼이 체인-코드 심볼의 제 1의 세트 또는 제 2의 세트의 어느 것 내에도 있지 않으면 미지의 오브젝트를 제 1의 타입의 오브젝트로 지정하기 위한 명령들을 실행하는 것에 의해 윤곽선을 트래버싱한다. 미리 결정된 수의 상태가 방문되면, 미지의 오브젝트는 제 2의 타입의 오브젝트로서 식별된다.
이미지 캡쳐 디바이스가 디지털 이미지를 캡쳐할 수도 있고, 유저 인터페이스가 프로세서에 커맨드를 내리거나, 또는 프로세서로부터 데이터를 수신할 수도 있다. 시스템은 운송수단(vehicle)에 탑재될 수도 있다. 제 2의 타입의 오브젝트는 둥근 오브젝트일 수도 있고, 그 오브젝트는 도로 표지판일 수도 있다.
본원에서 개시된 본 발명의 이점과 특징과 함께, 이들 및 다른 목적은, 하기의 상세한 설명, 첨부의 도면, 및 특허청구범위를 참조로 더 명확해질 것이다. 또한, 본원에서 설명된 다양한 실시형태의 특징은 상호 배타적이지 않으며 다양한 실시형태 및 치환예에서 존재할 수 있음이 이해되어야만 한다.
도면에서, 유사한 도면 부호는 일반적으로 상이한 도면 전체에 걸쳐 동일한 부분을 가리킨다. 하기의 설명에서, 본 발명의 다양한 실시형태는 하기의 도면을 참조로 설명되는데, 도면에서:
도 1a는 프리맨 체인 코드의 방향 콤파스의 도면이다;
도 1b는 프리맨 체인 코드로 라벨링된 원의 도면이다;
도 2는 체인 코드의 균등하게 분포된 히스토그램을 갖는 형상의 도면이다;
도 3은 본 발명의 실시형태에 따른 타원의 도면이다;
도 4는 본 발명의 실시형태에 따른 이미지에서 둥근 오브젝트를 검출하는 방법의 순서도이다;
도 5a 및 도 5b는 프리맨 체인 코드에 대해 문제가 되는 윤곽선의 도면이다;
도 6a는 본 발명의 실시형태에 따른 확장된 체인 코드의 방향 콤파스의 도면이다;
도 6b는 본 발명의 실시형태에 따른 확장된 체인 코드로 라벨링된 원의 도면이다;
도 7은 본 발명의 실시형태에 따른 상태 전이의 테이블이다;
도 8은 본 발명의 실시형태에 따른 타원과 그 상태의 도면이다;
도 9는 본 발명의 실시형태에 따른 상태 전이의 다른 테이블이다;
도 10은 본 발명의 실시형태에 따른 정사각형의 도면이다;
도 11a 및 도 11b는 본 발명의 실시형태에 따른 둥근 오브젝트형(round-object-like) 상태 전이를 갖는 형상의 도면이다;
도 12a 및 도 12b는 부분적으로 폐색된 형상의 도면이다;
도 13은 본 발명의 실시형태에 따른 폐색 검색 윈도우의 도면이다;
도 14는, 본 발명의 실시형태에 따른, 디지털 이미지에서 둥근 오브젝트를 검출하는 시스템의 블록도이다.
상세한 설명
이미지에서 둥근 오브젝트를 식별하는 방법 및 시스템의 다양한 실시형태가 본원에서 설명된다. 일 실시형태에서, 일련의 상태가 유지되는 동안 미지의 오브젝트의 윤곽선이 추적된다. 각각의 상태에서, 윤곽선에서의 다음 체인 코드가 검사되고; 코드의 서브셋만이 주어진 상태에 대해서 허용되며, 다음 코드가 허용된 코드의 한 코드가 아니면, 그 오브젝트는 둥글지 않은 오브젝트인 것으로 간주된다. 허용되지 않은 코드는, 뾰족한 코너 또는 "S" 곡선과 같이, 원 및 타원과 일치하지 않는 방향에 대응한다. 일 실시형태에서, 허용된 코드는 2개의 카테고리: 현재의 상태를 유지하는 제 1의 카테고리 및 다음 상태로의 전이를 트리거하는 제 2의 카테고리로 구별된다. 각각의 상태는 상이한 허용된 코드를 가질 수도 있고, 각각의 카테고리는 하나 이상의 타입의 코드를 가질 수도 있다.
타원(300)의 예시적인 예가 도 3에 도시된다. 타원의 윤곽선은 시계방향으로 추적되며; 지점(302)에서, 프로세스는 (예를 들면) 제 1의 상태(S0)에 있다. 다음 코드는 오른쪽 화살표(304)에 대해 1이고, 이것은 (이 예에서) 제 2의 상태(S1)로의 전이를 트리거하는 허용된 코드이다. 제 2의 상태(S1)에서, 그 상태를 유지하는 2개의 허용된 코드: 오른쪽 화살표(304)와 위쪽 화살표(306)에 대한 코드가 존재한다. 10개의 화살표의 다음 런(run)(308)은 오른쪽 화살표(304)와 위쪽 화살표(306)의 혼합을 포함한다; 런(308)에서의 대응하는 코드의 각각이 조우될 때, 프로세스는 제 2의 상태(S1)에 남아 있다. 그러나, 아래쪽 화살표(310)가 조우되면, 프로세스는 제 3의 상태(S2)로 전이하는데, 제 3의 상태는 상태-유지 코드와 상태-전이 코드의 또 다른 세트를 구비한다. 추적은 전체 윤곽선(300) 둘레에서 계속되고; 임의의 허용되지 않은 코드(예컨대 화살표(310)에 대응하는 것들)의 조우 없이 시작점에 재도달하면, 그 오브젝트는 둥근 것으로 간주된다.
본 발명의 일 실시형태의 더 일반적인 예시가 도 4의 순서도(400)에서 도시된다. 현재 상태(402)가 유지되고, 오브젝트의 윤곽선에서의 다음 코드 타입이 단계(404)에서 검사된다. 다음 코드가 유지 코드이면, 프로세스는 현재 상태(402)에 남게 된다. 그러나, 다음 코드가 전이 코드이면, 프로세스는 다음 상태(406)로 전이한다. 다음 상태(406)가 "마지막" 상태(408)이면(하기의 상세한 설명에서 설명되는 바와 같이, 미리 결정된 수의 상태가 도달되었음을 의미함), 그 오브젝트는 둥근 오브젝트인 것으로 간주되고 프로세스는 단계(410)에서 종료한다. 다음 상태(406)가 마지막 상태가 아니면, 유지 코드 및 전이 코드가 단계(412)에서 업데이트되어 마지막 상태(406)를 반영하고, 다음 상태(406)는 현재 상태(402)가 되고, 프로세스는 계속 진행한다. 그러나, 다음 코드 타입(404)이 전이 코드 또는 유지 코드 이외의 코드이면, 오브젝트는 둥글지 않은 오브젝트인 것으로 간주되고 프로세스는 단계(414)에서 종료한다.
일 실시형태에서, 단계(404)에서 검사된 코드 타입은 각각의 윤곽선이 조우될 때 즉석에서(on-the-fly) 계산된다. 다른 실시형태에서, 이미지에 걸쳐 전처리 과정(preprocessing pass)이 행해지고, 도 4의 방법(400)이 시작하기 이전에 각각의 픽셀에 코드 타입이 할당된다. 그러나, 전통적인 체인-코드 명명 방식(예컨대 프리맨 체인 코드)은 이 전처리 동작에 대해 적절하지 않을 수도 있다. 예를 들면, 도 5a에 도시된 바와 같이, 윤곽선(500)의 말단에 있는 지점(502)은, 그것이 윤곽선에서 다음 픽셀을 갖지 않기 때문에 프리맨 체인 코드에 의해 정의되지 않는다. 또한, 도 5b에서의 형상(550)을 참조하면, 지점(552)은 추적되는 윤곽선에 따라 그것이 상이한 값을 할당받기 때문에 정의되지 않을 수도 있고; 지점(552)은, 예를 들면, 윤곽선(H-A-I-J)이 추적되면 제 1의 값을 수신하고 윤곽선(H-A-B-C)이 추적되면 제 2의 값을 수신한다. 다른 형상, 예컨대 유한의 두께의 접점을 갖는 형상은, (예를 들면, 에지 검출 필터의 유한의 사이즈로 인해) 모호한 지점으로 유사하게 이끌 수도 있고; 본 발명은 모호성 생성 형상의 임의의 특정 타입에 제한되지 않는다. 본 발명의 일 실시형태에서, 말단-윤곽선 픽셀(end-contour pixels)(예컨대 픽셀(502))은 (프리맨 체인 코드에 이미 존재하는 임의의 코드와는 상이한) 제 1의 고유 코드를 할당받고 다중-윤곽선 픽셀(multi-contour pixels)(예컨대 552)은 제 2의 고유 코드를 할당받는다. "배경" 픽셀(즉, 임의의 윤곽선의 일부가 아닌 이미지에서의 픽셀)은 또 다른 고유 코드를 할당받는다.
말단-윤곽선, 다중-윤곽선, 및 배경 픽셀을 설명하도록 체인 코드를 확장시키기 위한 코딩 방식의 일 예가 도 6a에 도시된다. 방향 콤파스(600)는, (도 1a에 도시된 바와 같은) 기존 프리맨 코드가 그들이 (0 내지 7 대신) 8 내지 15의 범위에 이르도록 값이 증가되었음을 예시한다. 도 6b는 새로운 코드로 라벨링된 원(650)을 예시한다. 이 실시형태에서, 백그라운드 픽셀은 "0"으로 라벨링되고, 말단-윤곽선 픽셀은 "1"로 라벨링되고, 다중-윤곽선 픽셀은 "2"로 라벨링된다. 그러나, 본 발명은 임의의 특정 넘버링 방식에 한정되는 것이 아니며, 당업자라면, 본 발명의 취지를 벗어나지 않으면서 번호들이 변경될 수도 있다는 것을 이해할 것이다.
도 4의 순서도(400) 및 도 6a의 확장된 체인 코드(600) 둘 다를 참조하면, 다음 상태 코드의 테이블(700)이 도 7에 도시된다. 8개의 상태(702)가 정의된다: 각각의 상태는 상태-전이 코드(706)의 조우시 진입하게 되는 다음 상태(704)를 갖는다. 상태-유지 코드(708)가 조우되면, 프로세스는 원래의 상태(702)에 머무른다. 임의의 주어진 상태(702)에서, 상태-전이 코드(706) 또는 상태-유지 코드(708) 중 어느 것의 멤버도 아닌 코드가 조우되면, 오브젝트는 둥글지 않기 때문에, 프로세스는 종료한다.
다음 상태 코드의 테이블(700)의 사용은, 도 8의 타원(800)에 의해 그래픽적으로 도시된다. 8개의 상태에 대응하는 화살표의 그룹은, 상태 사이의 전이 코드인 것처럼, 그와 같이 식별된다. 예를 들면, 제 1의 상태(S0)는 타입(8 및 9)(즉, 오른쪽 및 위쪽 화살표)의 코드를 포함하고, 전이 코드(15)(즉, 아래쪽 화살표)의 발견시 제 2의 상태(S1)로 전이한다. 마찬가지로, 제 2의 상태(S1)는 타입(8 및 15)의 코드를 포함하고 전이 코드(14)의 발견시 제 3의 상태(S2)로 전이한다. "최종" 상태(즉, S7)가 발견될 때까지 및/또는 다시 원래의 상태로의 최종 전이가 검출될 때까지 프로세스는 계속 진행한다. 상태의 이 시퀀스에서 고유한 것은, (시작/끝 상태를 제외하고) 각각의 상태가 한 번만 조우된다는 추가 요건이며; 상태가 다시 조우되면, 그 오브젝트는 나선형의 어떤 종류일 수도 있고 둥근 오브젝트가 아닐 수도 있다.
상기 논의는, 이미지에서의 오브젝트에 대한 윤곽선이 윤곽선 주변에서 시계방향으로 지향되는 것을 가정한다. 당업자가 이해할 바와 같이, 전처리 단계는 반시계 방향으로 오브젝트를 추적하는 윤곽선을 생성할 수도 있다. 윤곽선이 반시계방향이면, 도 9에 도시된 바와 같은 대안적인 상태-전이 테이블(900)이 그 오브젝트와 관련된 상태를 내비게이팅하는 데 사용될 수도 있다.
위에서 설명된 방법에 따라 윤곽선의 추적을 시작하기 이전에, 제 1의 단계는 이미지에서 윤곽선을 위치결정한다. 일 실시형태에서, 이미지는 래스터 스캔 순서(즉, 한 행씩 위에서부터 아래로, 각 행에서는 픽셀 단위로 좌에서 우로)로 스캔된다. 윤곽선에 대응하는 코드가 식별되고, 그 다음 윤곽선은 도 4에 도시된 방법(400)에 따라 추적된다. 본 발명은 윤곽선을 위치결정하는 임의의 특정 스캔 순서 또는 방법에 제한되지 않는다. 그러나, 일 실시형태에서, 하나의 코드만이 검색되고; 타원 및 원이 (정의에 의한) 모든 상태와 코드를 포함하기 때문에, (하나의 상태의 대응하는 코드 중 하나 이상을 검색하는 것에 의한) 그 하나의 상태에 대한 검색은, 이미지에서의 모든 타원 및 원을 산출한다. 관련 실시형태에서, 시계방향 윤곽선에 대해 하나의 코드가 검색되고 반시계방향 윤곽선에 대해 제 2의 코드가 검색되고; 2 타입의 윤곽선은 이미지의 단일 과정에서 또는 별개의 과정에서 검색될 수도 있다. 윤곽선의 방향(즉, 시계방향 또는 반시계방향)은, 현재 코드의 위치 및/또는 이웃 코드와의 현재 코드의 관계로부터 (또는 종래기술에서 공지된 임의의 다른 방법에 의해) 결정될 수도 있다.
이미지의 스캐닝의 방향은 몇몇 코드의 검색을 다른 것들보다 더 효율적으로 만들 수도 있다. 예를 들면, 도 10에 도시된 형상(1000)이 주어지면, 코드(12)(즉, "왼쪽 화살표")의 선택은 비효율적인 좌에서 우로의 래스터 스캔 기반의 검색으로 이어질 수도 있다. 픽셀(g)이 처음 조우되기 때문에, 형상(1000)은 도 4에 도시된 방법(400)에 따라 반시계방향에서 추적되지만; 그러나, 코너(1002)가 조우되면, 그 형상(1000)은 코너(1002)에서의 부당한(즉, 너무 뾰족한) 전이로 인해 비원형인 것으로 간주된다. 그러나, 다음 픽셀(f)에서, 프로세스는 다시 코너(1002)를 추적하여 그 형상(1000)이 비원형임을 다시 결정하고, 픽셀(e, d, c, b, a)에 대해서도 계속 그렇게 하여, 낭비적으로 노력을 중복시킨다. 형상(1000)이, 예를 들면, 코너(1002)에 도달한 처음에 플래그를 설정하기에 충분히 간단할 수도 있지만, 다른 이러한 형상은 더 복잡하고, 그들을 제외하도록 플래그를 설정하는 것은 많은 위음성 결정(false-negative determinations)을 생성할 수도 있다.
따라서, 일 실시형태에서, 반대 움직임의 방향의 코드 이외의 코드가 검색을 위해 선택된다. 예를 들면, 도 10에 대해 위에서 아래로 그리고 좌에서 우로의 검색 패턴이 주어지면, 코드(8, 13, 14, 또는 15) 중 하나(즉, 우, 좌하, 하, 우하)가 선택될 수도 있다. 당업자는, 상이한 스캔 순서에 대해 유사한 코드가 선택될 수도 있다는 것을 알 것이다.
일단 윤곽선이 식별되었고, 윤곽선에 속하는 오브젝트가 둥글다는 것을, 도 4에 도시된 바와 같은 프로세스(400)가 일단 결정했다면, 프로세스(400)에 의해 둥근 것으로 잘못 식별된 임의의 둥글지 않은 오브젝트를 제거하기 위해 추가적인 분석이 사용될 수도 있다. 다른 실시형태에서, 추가 분석의 이들 단계는 프로세스(400)와 연계하여 작동될 수도 있다. 도 11a에서의 직사각형(1100)과 같은 몇몇 오브젝트는, 원/타원과 동일한 상태 전이를 제공할 수도 있고; 이 경우, 직사각형(1100)의 히스토그램이 취해져서 그 둥글지 않은 형상을 드러내도록 분석될 수도 있다. 그러나, 다른 오브젝트, 예컨대 도 11b에서의 형상(1150)은 원/타원과 동일한 상태 전이를 가질 수도 있고 원형(circle-like) 히스토그램을 가질 수도 있다. 따라서, 도 11b의 것과 같은 형상의 둥글지 않은 성질을 검출하기 위해 추가적인 분석이 사용될 수도 있다.
일 실시형태에서, 윤곽선 방향의 그래디언트가 검사되어 평가된다. 일 실시형태에서, 현재 코드 및 각각의 포인트에서의 소정 수의 이전 코드(예를 들 3개 또는 4개 이전의 코드)의 평균이 취해지고; 윤곽선 방향의 그래디언트는, 현재 포인트에 대해 계산된 평균과 이전 포인트에 대해 계산된 평균 사이의 차이를 취할 때 계산된다. 특정 지점에서 취해진 평균은 그 특정 지점에서의 윤곽선의 방향을 대략적으로 나타낸다. 원의 경우, 그래디언트는 상수의 0이 아닌 값이며, 타원의 경우, 그래디언트는 윤곽선 전체에 걸쳐 작은 양만큼 변할 수도 있다. 둥근 오브젝트가 직선을 포함하지 않기 때문에, 그 그래디언트는 절대 0이 아니며; 둥근 오브젝트가 어떤 뾰족한 코너도 포함하지 않기 때문에, 그 그래디언트는 급격하게 변하지 않으며; 둥근 오브젝트가 변곡 또는 "S"-곡선 지점을 포함하지 않기 때문에, 그 그래디언트는 항상 양이다(또는 그것이 어떻게 계산되는지에 따라, 항상 음이다). 대조적으로, 정사각형 또는 8각형은, 예를 들면, (오브젝트의 코너에서) 가끔씩의 큰 스파이크를 갖는 대부분 제로 그래디언트를 갖는다.
일 실시형태에서, 그래디언트(및/또는 평균)는 조우되는 각각의 새로운 픽셀에서 계산되고 임계치에 비교된다. 그래디언트가 (예를 들면, 제로 또는 제로에 가까운) 제 1의 임계치이거나 (예를 들면, 너무 뾰족한 코너 전이를 반영하는) 제 2의 임계치보다 더 크면, 오브젝트는 둥글지 않은 것으로 간주될 수도 있다. 마찬가지로, 그래디언트가 제로를 교차하면(즉, 제 1의 방향에서 그 다음 제 2의 방향에서 변하면), 오브젝트는 또한 둥글지 않은 것으로 간주될 수도 있다.
몇몇 경우들에서, 한 오브젝트에 대해 완전한 윤곽선이 존재하지 않을 수도 있다. 주변 노이즈, 조명 변화, 및 다른 이러한 요인은, 이미지의 윤곽선의 일부를 폐색하는 것에 의해 불명확한 체인 코드를 야기할 수도 있다. 도 12a에서의 형상(1200)은, 예를 들면, 절단된 영역(broken area; 1202)을 포함하고, 도 12b에서의 형상(1250)은 누락 부분(missing portion; 1252)을 포함한다. 일 실시형태에서, 윤곽선의 누락 부분(예컨대, 갭(1202) 중 하나의 갭 직전의 픽셀(1204))이 조우되면, 갭 이후의 윤곽선의 다음 부분에 대해 주변 영역이 검색된다. 도 13에서의 형상(1300)에 의해 도시된 바와 같이, 다음 심볼(1304)에 대해 검색 윈도우(1302)가 정의되어 그 내에서 검색될 수도 있다.
검색 윈도우(1304)의 방위 및/또는 사이즈는 마지막 몇몇(예를 들면, 4개) 체인 코드의 평균의 값에 의해 결정될 수도 있고; 이 평균은, 위에서 논의된 바와 같이, 형상(1330)의 그래디언트의 분석에 대해 이미 계산되었을 수도 있거나, 또는 그 분석에 의해 재사용될 수도 있다. 윈도우(1304)의 사이즈(즉, 그 길이 및/또는 폭)는 이전에 조우되고 추적된 체인 코드의 수에 더 의존할 수도 있다. 예를 들어, 몇몇 체인 코드만이 추적되었고 갭이 발견되면, 검색 윈도우(1304)는 작을 수도 있고; 소스 이미지는 많은 작은 부분적인 윤곽선으로 산재될 수도 있고, (예를 들면) 2개 또는 3개의 링크된 코드의 매 시퀀스에 대해 큰 검색 윈도우(1304)를 생성하는 것은 낭비적일 수도 있다. 그러나, 추적되는 체인 코드의 수가 증가하고, 갭이 발견됨에 따라, 검색 윈도우(1304)는, 현재 추적되는 윤곽선이 실제 오브젝트에 대응한다는, 그리고 더 큰 영역을 검색함에 있어서의 투자가 가치가 있다는 더 큰 확신도를 반영하도록 사이즈가 증가될 수도 있다.
일 실시형태에서, 위에서 설명된 바와 같이, 윤곽선의 말단 부분을 이루는 픽셀(예컨대 도 13에서의 픽셀(1306))에 대해 확장된 체인 코드(예를 들면, "1")가 할당된다. (도 4에 도시된 바와 같은) 방법(400)은, 이 확장된 체인 코드가 조우될 때 검색 모드에 들어갈 수도 있고; 다음 코드(1304)가 윈도우(1302)에서 발견되면, 방법(400)은 계속 진행하고, 아니며, 종료한다. 다음 코드(1304)가 발견되면, 형상(1300)의 히스토그램을 생성하고, 형상(1300)의 평균 코드를 계산하고, 및/또는 형상(1300)의 그래디언트를 계산하는 목적을 위해 "누락" 코드가 유도될 수도 있다.
위에서 설명된 바와 같이, 이미지에서의 윤곽선을 검색할 때, 둥근 오브젝트가 모든 코드를 포함하기 때문에 프로세스는 단일의 코드만을 검색할 수도 있다. 그러나, 몇몇 경우들에서, 그 코드가 윤곽선에 포함되는 것을 폐색이 방해할 수도 있다. 예를 들면, 코드(14)("아래쪽 화살표")가 검색되면, 누락부(1252)가 윤곽선(1252)으로부터의 코드 14의 모든 코드를 포함하고 있기 때문에, 도 12b의 윤곽선(1250)은 발견되지 않을 수도 있다. 일 실시형태에서, 2개의 "반대" 코드(예를 들면, "아래쪽 화살표" 코드(14) 및 "위쪽 화살표" 코드(10) 둘 다)가 검색된다. 윤곽선(1250)의 반대 측에 대한 검색은, 적어도, 2개의 폐색이 윤곽선(1250)의 2 측들을 차단하고 있을 가능성이 낮기 때문에, 폐색이 윤곽선(1250)의 검출을 방해할 가능성을 줄일 수도 있다. 관련 실시형태에서, 이미지의 짝수 라인에서 제 1의 코드만이 검색되고 이미지의 홀수 라인에서 제 2의 반대 코드가 검색되기 때문에 프로세싱 시간을 줄이게 된다.
위에서 설명된 바와 같이, 이미지의 스캐닝에서 특정 방위가 주어지면, 둥글지 않은 형상의 중복 추적을 줄이기 위해, 검색에 대해 소정 코드가 선호될 수도 있다. 예를 들면, 이미지를 래스터 스캔 순서로 스캐닝하는 경우, 코드(8, 13, 14, 또는 15)가 검색될 수도 있다. 일 실시형태에서, 시계방향으로 코딩된 형상을 식별하기 위한 이미지를 통한 제 1의 과정에서, 코드(8) 및 그것의 거의 반대 (near-opposite) 코드(14)가 검색되고, 반시계방향으로 코딩된 형상을 식별하기 위한 제 2의 과정에서, 코드(13) 및 그것의 거의 반대 코드(15)가 검색된다.
상기 설명이 이미지에서 둥근 오브젝트를 검색하는 것에 관련되었지만, 당업자라면 다른 형상에 대한 검색으로 확장될 수도 있음을 인식할 것이다. 상태 전이 테이블(700, 900)은 상이한 상태 전이 및/또는 상태-유지 코드를 갖도록 편집될 수도 있고, 상태의 수는 적절히 변경될 수도 있다. 마찬가지로, 새로운 형상 또는 형상들의 그래디언트, 평균, 및 히스토그램은, 위의 분석과 함께 사용하기 위해 계산된, 분석된 그리고 예상된 값일 수도 있다.
본 발명의 실시형태에 따라 둥근 오브젝트를 검출하기 위한 시스템(1400)이 도 14에 도시된다. 도 4를 참조로 위에서 설명된 바와 같이, 프로세서(1402)는 일련의 상태 중 하나를 유지하는 동안 미지의 오브젝트의 윤곽선을 트래버싱하기 위해 사용되며, 복수의 미리 결정된 상태의 모두가 도달되면 오브젝트가 둥글다고 간주한다. 프로세서(1402)는 임의의 컴퓨터 프로세서, 예컨대 디지털 신호 프로세서, 범용 마이크로프로세서, 주문형 집적 회로(application-specific integrated circuit), 또는 마이크로컨트롤러일 수도 있다. 이미지, 체인 코드, 전이 테이블(700, 900), 또는 임의의 다른 데이터 또는 정보를 저장하기 위해 메모리(1404)가 사용될 수도 있고; 메모리(1404)는 로컬 및/또는 시스템 메모리, 휘발성 또는 불휘발성 메모리, 또는 임의의 다른 타입의 단기간 또는 장기간 스토리지를 포함할 수도 있다. 이미지를 캡쳐하기 위해 이미지 캡쳐 디바이스(1406)가 사용될 수도 있고; 프로세서(1402)는, 예를 들면, 캡쳐된 이미지에서의 픽셀을 임계치와 비교하는 것에 의해(또는 종래기술에서 공지된 임의의 다른 방법에 의해) 캡쳐된 이미지를 단색 이미지로 변환하는 데 사용될 수도 있다. 프로세서(1402)는 또한 체인-코드 값을 이미지에서의 픽셀에 할당하는 데 사용될 수도 있다. 프로세서(1402)로 커맨드를 내리고, 프로세서(1402)로부터 데이터를 수신하기 위해 유저 인터페이스(1408)가 사용될 수도 있다. 시스템(1400)은 운송수단에 탑재되어 교통 표지판을 검출하는 데 사용될 수도 있고; 다른 실시형태에서, 시스템(1400)은 조립 라인 또는 다른 산업적 디바이스 상에 탑재되어 둥근 형상의 컴포넌트들 식별하기 위해 사용될 수도 있다.
하나 이상의 제조 물품 상에서 또는 하나 이상의 제조 물품 내에서 구현되는 하나 이상의 컴퓨터 판독가능 프로그램으로서 본 발명의 실시형태가 제공될 수도 있다는 것이 또한 주목되어야만 한다. 제조 물품은, 예를 들면, 플로피 디스크, 하드 디스크, CD ROM, CD-RW, CD-R, DVD ROM, DVD-RW, DVD-R, 플래시 메모리 카드, PROM, RAM, ROM, 또는 자기 테이프와 같은 임의의 적절한 하드웨어 장치일 수도 있다. 일반적으로, 컴퓨터 판독가능 프로그램은 임의의 프로그래밍 언어로 구현될 수도 있다. 사용될 수도 있는 언어의 몇몇 예는 C, C++, 또는 JAVA를 포함한다. 소프트웨어 프로그램은 기계어 또는 가상 머신 명령어로 또한 번역되어 그 형태로 프로그램 파일에 저장될 수도 있다. 그 다음, 프로그램 파일은 하나 이상의 제조 물품 상에 또는 하나 이상의 제조 물품 내에 저장될 수도 있다.
본 발명의 소정의 실시형태가 위에서 설명되었다. 그러나, 본 발명은 이들 실시형태로 제한되지 않으며, 대신, 그 의도는, 본원에서 명시적으로 설명되었던 것에 대한 추가예 및 수정예도 또한 본 발명의 범위 내에 포함된다는 것을 명시적으로 의미한다. 또한, 본원에서 설명된 다양한 실시형태의 특징은, 상호 배타적이지 않으며, 다양한 조합예 및 치환예가 본원에서 명확하게 이루어지지 않았지만, 본 발명의 취지와 범위를 벗어나지 않으면서 이러한 다양한 조합예 및 치환예에서 존재할 수 있다는 것이 이해되어야만 한다. 사실, 본 발명의 취지와 범위를 벗어나지 않으면서, 당업자는 본원에서 설명되었던 것의 변형예, 수정예, 및 다른 구현예를 고안해 낼 것이다. 이와 같이, 본 발명은 앞서의 예시적인 설명에 의해서만 정의되는 것은 아니다.

Claims (18)

  1. 컴퓨터 메모리에 픽셀들의 어레이로서 저장된 디지털 이미지에서 오브젝트를 식별하는 방법으로서,
    상기 디지털 이미지에서 미지의 오브젝트의 윤곽선에 대응하는 상기 픽셀들을 트래버싱(traversing)하는 단계를 포함하고,
    상기 트래버싱하는 단계는:
    ⅰ. 상기 윤곽선에서의 다음 체인-코드 심볼을 컴퓨터 메모리에 로딩하는 단계;
    ⅱ. 상기 윤곽선에서의 상기 다음 체인-코드 심볼이 체인-코드 심볼들의 제 1의 세트 내에 있으면 현재 상태를 유지하는 단계;
    ⅲ. 상기 윤곽선에서의 상기 다음 체인-코드 심볼이 체인-코드 심볼들의 제 2의 세트 내에 있으면 다음 상태로 전이하는 단계; 및
    ⅳ. 상기 다음 체인-코드 심볼이 체인-코드 심볼들의 상기 제 1 또는 상기 제 2 세트들 중 어느 것 내에도 있지 않으면 상기 미지의 오브젝트를 제 1의 타입의 오브젝트로서 지정하는 단계를 포함하고,
    미리 결정된 수의 상태들이 방문되면(visited) 상기 미지의 오브젝트는 제 2의 타입의 오브젝트로서 식별되는, 디지털 이미지에서 오브젝트를 식별하는 방법.
  2. 청구항 1에 있어서, 상기 제 1의 타입의 오브젝트는 둥글지 않은 오브젝트를 포함하고 상기 제 2의 타입의 오브젝트는 둥근 오브젝트를 포함하는, 방법.
  3. 청구항 1에 있어서, 상기 디지털 이미지에서의 픽셀들에 대해 확장된 체인 코드들을 할당하는 단계를 추가로 포함하는, 방법
  4. 청구항 2에 있어서, 상기 확장된 체인 코드들은 윤곽선의 말단 픽셀에 대한 코드와 다중-윤곽선 픽셀에 대한 코드를 포함하는, 방법
  5. 청구항 1에 있어서, 상기 디지털 이미지에서 상기 윤곽선을 검색하는 단계를 추가로 포함하는, 방법
  6. 청구항 5에 있어서, 상기 윤곽선을 검색하는 단계는, 상기 디지털 이미지에서 체인 코드를 검색하는 단계를 포함하는, 방법
  7. 청구항 6에 있어서, 상기 디지털 이미지에서 반대 체인 코드를 검색하는 단계를 추가로 포함하는, 방법
  8. 청구항 5에 있어서, 상기 윤곽선을 검색하는 단계는, 상기 디지털 이미지에서 시계방향 오브젝트들에서의 제 1의 체인 코드 및 상기 디지털 이미지에서 반시계방향 오브젝트에서의 제 2의 체인 코드를 검색하는 단계를 포함하는, 방법
  9. 청구항 1에 있어서, 체인-코드 히스토그램을 통해 상기 미지의 오브젝트를 필터링하는 단계를 추가로 포함하는, 방법
  10. 청구항 1에 있어서,
    복수의 이전 체인-코드 심볼들의 그래디언트를 계산하는 단계; 및
    상기 그래디언트가 제 1의 임계치 미만이고 제 2의 임계치보다 더 크면 상기 미지의 오브젝트를 둥글지 않은 오브젝트로서 지정하는 단계를 추가로 포함하는, 방법
  11. 청구항 10에 있어서, 상기 그래디언트를 계산하는 단계는, 이전의 체인-코드 심볼들의 제 1의 세트의 제 1의 평균, 이전의 체인-코드 심볼들의 제 2의 세트의 제 2의 평균을 계산하는 단계, 및 상기 제 1 및 제 2의 평균들의 차이를 계산하는 단계를 포함하는, 방법
  12. 청구항 1에 있어서,
    상기 미지의 오브젝트의 상기 윤곽선에서 단절(break)을 검출하는 단계;
    상기 단절을 지나는 상기 다음 체인-코드 심볼에 대한 이미지의 영역을 검색하는 단계를 추가로 포함하는, 방법
  13. 청구항 12에 있어서, 상기 영역의 사이즈는 복수의 이전 체인 코드들의 평균 방향 또는 이전 체인 코드들의 수에 적어도 부분적으로 의존하는, 방법
  14. 디지털 이미지에서 오브젝트를 식별하는 시스템으로서,
    상기 디지털 이미지에서의 미지의 오브젝트의 윤곽선에 관련된 체인-코드 심볼들을 저장하는 컴퓨터 메모리;
    ⅰ. 다음 체인-코드 심볼이 체인-코드 심볼들의 제 1의 세트 내에 있으면 현재 상태를 유지하고;
    ⅱ. 상기 다음 체인-코드 심볼이 체인-코드 심볼들의 제 2의 세트 내에 있으면 다음 상태로 전이하고; 그리고
    ⅲ. 상기 다음 체인-코드 심볼이 체인-코드 심볼들의 상기 제 1 또는 상기 제 2 세트들 중 어느 것 내에도 있지 않으면 상기 미지의 오브젝트를 제 1의 타입의 오브젝트로서 지정하기 위한
    명령들을 실행하는 것에 의해 상기 윤곽선을 트래버싱하는 프로세서를 포함하고,
    미리 결정된 수의 상태들이 방문되면, 상기 미지의 오브젝트는 제 2의 타입의 오브젝트로서 식별되는, 시스템
  15. 청구항 14에 있어서, 상기 디지털 이미지를 캡쳐하는 이미지 캡쳐 디바이스를 추가로 포함하는, 시스템
  16. 청구항 14에 있어서, 상기 프로세서로 커맨드들을 내리고 상기 프로세서로부터 데이터를 수신하기 위한 유저 인터페이스를 추가로 포함하는, 시스템
  17. 청구항 14에 있어서, 상기 시스템은 운송수단(vehicle)에 탑재되는, 시스템
  18. 제 14항에 있어서, 상기 제 2의 타입의 오브젝트는 둥근 오브젝트이고 상기 오브젝트는 도로 표지판인, 시스템.
KR1020147033341A 2012-05-30 2013-05-20 체인 코드 상태를 이용한 형상 검출 KR101701585B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/483,540 2012-05-30
US13/483,540 US8929664B2 (en) 2012-05-30 2012-05-30 Shape detection using chain code states
PCT/US2013/041774 WO2013181004A1 (en) 2012-05-30 2013-05-20 Shape detection using chain code states

Publications (2)

Publication Number Publication Date
KR20150004410A true KR20150004410A (ko) 2015-01-12
KR101701585B1 KR101701585B1 (ko) 2017-02-01

Family

ID=48577265

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147033341A KR101701585B1 (ko) 2012-05-30 2013-05-20 체인 코드 상태를 이용한 형상 검출

Country Status (4)

Country Link
US (1) US8929664B2 (ko)
KR (1) KR101701585B1 (ko)
DE (1) DE112013002731T5 (ko)
WO (1) WO2013181004A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150063468A (ko) * 2012-09-24 2015-06-09 퀄컴 인코포레이티드 심도 맵 코딩
US9734595B2 (en) * 2014-09-24 2017-08-15 University of Maribor Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds
DE102016003424B4 (de) * 2016-03-21 2023-09-28 Elektrobit Automotive Gmbh Verfahren und Vorrichtung zum Erkennen von Verkehrszeichen
CN106778990B (zh) * 2016-11-19 2019-11-01 哈尔滨理工大学 基于圆周排列台阶阵列的信息编码结构
US10581621B2 (en) 2017-05-18 2020-03-03 International Business Machines Corporation Enhanced chaincode analytics provenance in a blockchain
WO2022124865A1 (en) * 2020-12-10 2022-06-16 Samsung Electronics Co., Ltd. Method, device, and computer program for detecting boundary of object in image
CN112733826B (zh) * 2020-12-28 2024-05-31 南京披云信息科技有限公司 图像处理方法及装置
CN115115641B (zh) * 2022-08-30 2023-12-22 孙清珠 一种瞳孔图像分割方法
CN115147423B (zh) * 2022-09-06 2022-11-22 江苏欧罗曼家纺有限公司 基于改进的链码法的棉花顶检测方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4783828A (en) * 1986-06-02 1988-11-08 Honeywell Inc. Two-dimensional object recognition using chain codes, histogram normalization and trellis algorithm
US6639593B1 (en) * 1998-07-31 2003-10-28 Adobe Systems, Incorporated Converting bitmap objects to polygons

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Azzam Talal Sleit 외, "A Chain Code Approach for Recognizing Basic Shapes", King Abdullah II for Information Technology College University of Jordam, Amman, Jordan, 5 April 2006 *
Jean-Francois Parrot 외, "Detection and Classification of Circular Structures on Spot Images", IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING, VOL. 30, NO. 5, SEPTEMBER 1992 *
Shetty 외, "Circle Detection in Images", San Diego State University, 1 July 2011 *
Walid Shahab 외, "A Modified 2D Chain Code Algorithm for Object Segmentation and Contour Tracing", The International Arab Journal of Information Technology, Vol. 6, No. 3, July 2009 *

Also Published As

Publication number Publication date
KR101701585B1 (ko) 2017-02-01
DE112013002731T5 (de) 2015-03-19
US20130322771A1 (en) 2013-12-05
US8929664B2 (en) 2015-01-06
WO2013181004A1 (en) 2013-12-05

Similar Documents

Publication Publication Date Title
KR101701585B1 (ko) 체인 코드 상태를 이용한 형상 검출
Zhao et al. Near-duplicate keyframe identification with interest point matching and pattern learning
CN103207898B (zh) 一种基于局部敏感哈希的相似人脸快速检索方法
Lee et al. Place recognition using straight lines for vision-based SLAM
Chen et al. A hybrid method for ellipse detection in industrial images
An et al. Fast and incremental loop closure detection with deep features and proximity graphs
Awrangjeb et al. An improved curvature scale-space corner detector and a robust corner matching approach for transformed image identification
Schlegel et al. HBST: A hamming distance embedding binary search tree for feature-based visual place recognition
KR101782589B1 (ko) 이미지에 포함된 텍스트를 검출하는 방법, 장치 및 컴퓨터 판독 가능한 기록매체
Lu et al. Automated analysis of images in documents for intelligent document search
Sarkar et al. Efficient and robust detection of duplicate videos in a large database
Wang et al. Scene text detection and tracking in video with background cues
US8027978B2 (en) Image search method, apparatus, and program
Song et al. A novel image text extraction method based on k-means clustering
Xiong et al. Automatic video data structuring through shot partitioning and key-frame computing
US9269023B2 (en) Edge based location feature index matching
Ling et al. Fast image copy detection approach based on local fingerprint defined visual words
US10628662B2 (en) Automated and unsupervised curation of image datasets
Garcia-Fidalgo et al. Vision-based topological mapping and localization by means of local invariant features and map refinement
Karaoglu et al. A novel algorithm for text detection and localization in natural scene images
Zhou et al. Efficient subsequence matching over large video databases
KR20110125458A (ko) 객체 검출 정보를 이용한 유사 동영상 검색 시스템 및 방법
Grosky et al. Hierarchical approach to feature indexing
Ho et al. A scene text-based image retrieval system
US10796197B2 (en) Automatic method and system for similar images and image fragments detection basing on image content

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: 20200102

Year of fee payment: 4