KR20090092433A - 복잡성이 감소된 고분광 프로세싱에 기반을 둔 실시간 타겟검출 방법 - Google Patents

복잡성이 감소된 고분광 프로세싱에 기반을 둔 실시간 타겟검출 방법

Info

Publication number
KR20090092433A
KR20090092433A KR1020080017674A KR20080017674A KR20090092433A KR 20090092433 A KR20090092433 A KR 20090092433A KR 1020080017674 A KR1020080017674 A KR 1020080017674A KR 20080017674 A KR20080017674 A KR 20080017674A KR 20090092433 A KR20090092433 A KR 20090092433A
Authority
KR
South Korea
Prior art keywords
target
library
processing
pixel
cube
Prior art date
Application number
KR1020080017674A
Other languages
English (en)
Other versions
KR100963797B1 (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 KR1020080017674A priority Critical patent/KR100963797B1/ko
Priority to CN2008801274590A priority patent/CN101960291B/zh
Priority to US12/918,300 priority patent/US8081825B2/en
Priority to JP2010548593A priority patent/JP5336520B2/ja
Priority to PCT/KR2008/001840 priority patent/WO2009107893A1/en
Publication of KR20090092433A publication Critical patent/KR20090092433A/ko
Application granted granted Critical
Publication of KR100963797B1 publication Critical patent/KR100963797B1/ko

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/17Systems in which incident light is modified in accordance with the properties of the material investigated
    • G01N21/25Colour; Spectral properties, i.e. comparison of effect of material on the light at two or more different wavelengths or wavelength bands
    • 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
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/13Satellite images
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J3/00Spectrometry; Spectrophotometry; Monochromators; Measuring colours
    • G01J3/28Investigating the spectrum
    • G01J3/2823Imaging spectrometer
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N2201/00Features of devices classified in G01N21/00
    • G01N2201/12Circuits of general importance; Signal processing
    • G01N2201/129Using chemometrical methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Remote Sensing (AREA)
  • Software Systems (AREA)
  • Astronomy & Astrophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Biochemistry (AREA)
  • General Health & Medical Sciences (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Image Processing (AREA)

Abstract

복잡성이 감소된 고분광 프로세싱에 기반을 둔 실시간 타겟 검출 방법이 개시된다. 본 발명의 실시예에 따른 실시간 타겟 검출 방법은 프리프로세싱된 임의의 픽셀에 대해 라이브러리에 근거하여 타겟 및/또는 백그라운드로 검출하는 단계 및 상기 타겟 및/또는 상기 백그라운드로부터 타겟 샘플들 및/또는 백그라운드 샘플들을 추출하여, 상기 라이브러리를 리파인하는 단계를 구비한다. 본 발명에 따른 고분광 영상 프로세싱을 위한 실시간 타겟 검출 아키텍처는, 실시간 어플리케이션들을 위해 라이브러리 리파인먼트 (library refinement) 과정이 간소화되고 분광 밴드의 개수가 최소화되는 감소된 복잡성 알리고즘에 근거한다. 그리고, 데이터 분할을 활용함으로써 효율적인 파이프라인 프로세싱 성분 아키텍처가 제안되고, 스케일러블한(난조가 발생하지 아니하는) 복합적인 프로세싱 성분 아키텍처가 개시된다. 따라서, 본 발명에 따른 고분광 영상 프로세싱을 위한 실시간 타겟 검출 아키텍처는 빠르고 정확하게 타겟을 검출할 수 있는 장점이 있다.

Description

복잡성이 감소된 고분광 프로세싱에 기반을 둔 실시간 타겟 검출 방법{Method for realtime target detection based on reduced complexity hyperspectral processing}
본 발명은 실시간 타겟 검출 방법에 관한 것으로서, 특히 고분광 영상 프로세싱을 위한 효과적인 솔루션으로서의 실시간 타겟 검출 방법에 관한 것이다.
고분광 영상 프로세싱은 장면으로부터 상세한 분광 정보를 수집하고 해석하는 기술이다. 영상 데이터는 수백의 좁고 인접한 분광 밴드들로 나타내어 지며, 거의 연속적인 스펙트럼으로 보여진다. 분광 범위는 적외선, 가시광선 및 자외선을 포함한다. 상세한 분광 분석(resolution)은 타겟 추적뿐 아니라, 화학 물질 등을 검출하기 위한 고분광 영상 기술을 강력한 툴로 만든다.
전통적인 고분광 영상 프로세싱은 타겟을 분류하거나 검출하기 위해 수백개의 밴드들을 사용한다. 계산의 복잡성은 프로세싱하고자 하는 데이터의 양에 비례한다. 고분광 프로세싱의 계산적 복잡성은 밴드들의 부분적 수(partial number)를 사용할 수 있게 하기 위한 분광 컨텐트 리던던시를 활용함으로써 줄일 수 있다. 그러나, 고분광 영상 프로세싱에 의해 프로세싱되는 데이터의 양은 일반적인 이미지 프로세싱보다 여전히 크다.
고분광 영상 데이터를 프로세싱하기 위한 다양한 접근들이 존재한다. 하드웨어 클러스터들은 고성능, 높은 유용성 및 수평 스케일링을 달성하기 위해 사용되므로, 유용한 방법이다. 클러스터 기술은 또한 스케일러블한(scailable) 저장 및/또는 데이터 관리를 위해 사용될 수 있다. 이러한 컴퓨팅 리소스들은 지상으로 전송되기 전에 원격으로 검출된 데이터의 효과적인 프로세싱에 사용될 수 있다. 디지털 신호 프로세서는 또한 멀티플 어큐물레이트(multiply accumulate) 연산들의 수행에 최적화될 수 있기 때문에, 고분광 계산에 적절하다. 병렬 프로세싱을 위해 보통 DSP 클러스터들이 구현된다. 일반적인 저장 프로세싱 시스템 성능은 데이터 정리 없는 실시간 고분광 이미지 프로세싱에 부적절하다.
일반적인 영상 사진들이 2차원으로 나타내지는 반면, 고분광 영상은 도 1에 보여지는 밴드 분광 데이터를 위한 하나 이상의 차원을 갖는다. 고분광 영상 센서들에 의해 수집된 데이터는 하나의 큐브로서 유지되고 (x,y)에 위치하는 각 픽셀은 Nz 밴드들을 갖는다. 노테이션들 Nx 및 Ny는 축들에 대응되는 픽셀들의 총 크기를 나타내기 위해 사용된다. 고분광 영상에서의 고성능 검출은 큰 분광 밴드들의 수에 의해, 실현되기 어렵다.
고분광 영상 프로세싱은 프리프로세싱, 프로세싱 및 포스트 프로세싱의 세 가지 중요한 단계들을 포함한다. 상기 동작은 도 2에 도시된다. 고분광 센서는 픽셀의 스펙트럼 정보를 수집하는 각각의 검출기들의 배열이다. 센서들로부터의 스펙트럼 정보는 도 2에 도시되는 바와 같이, 로우(raw) 영상 데이터로서 큐브 메모리 구조에 저장된다. 로우 영상 데이터는 프리프로세싱에 의해 조정된다. 각 큐브는 타겟 요소의 특성을 나타내는 다수의 밴드들을 포함한다. 프로세싱에서, 타겟 영상은 타겟 라이브러리와 관련되는 데이터의 일부를 분리함으로써 타겟 영상이 검출된다. 타겟 라이브러리는 검출을 위한 객체에 대한 분광 정보를 포함한다. 프로세싱의 목적은 타겟 라이브러리에 저장되는 분광 정보와 관련된 입력 큐브들로부터 타겟 이미지를 찾아내는 것이다. 세 번째 단계인 포스트 프로세싱은 검출된 영상들을 RGB로 디스플레이한다.
일반적인 고분광 이미지 프로세서의 주된 논점은 그것의 장점의 이면, 즉 고분광 영상 데이터의 많은 양과 복잡성에 있다. 실시간 프로세싱을 위하여, 복잡성은 반드시 감소되어야 한다. 이에 대한 초기의 접근은 프로세싱을 위한 밴드의 개수 및 라이브러리의 양을 줄이는 것이다. 그런데, 검출의 성능은 타겟 라이브러리에 저장된 분광 정보의 질에 의해 결정된다. 따라서, 이러한 접근 방법은 고분광 영상 프로세싱의 장점을 제거할 수 있다.
그런데, 특정 밴드들이 객체를 나타내는 특성을 더 많이 갖고 있다면, 밴드들의 모든 스펙트럼들이 타겟 검출에 필요한 것은 아니다. 따라서, 본 발명은 타겟 검출에 더 효율적인 밴드들을 결정하고, 이를 이용하여 타겟을 검출하는 것이다.
본 발명이 이루고자하는 기술적 과제는 빠르고 실시간 어플리케이션에서도 정확하게 타겟을 검출할 수 있는 복잡성이 감소된 고분광 프로세싱에 기반을 둔 실시간 타겟 검출 아키텍처를 제공하는 것에 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 실시간 타겟 검출 방법은 프리프로세싱된 임의의 픽셀에 대해 라이브러리에 근거하여 타겟 및/또는 백그라운드로 검출하는 단계 및 상기 타겟 및/또는 상기 백그라운드로부터 타겟 샘플들 및/또는 백그라운드 샘플들을 추출하여, 상기 라이브러리를 리파인하는 단계를 구비한다.
바람직하게는, 상기 라이브러리를 리파인하는 단계는 기여 요소에 근거하여, 상기 픽셀에 대한 효과적인 밴드 목록을 작성하는 단계를 포함할 수 있다.
바람직하게는, 상기 타겟 및/또는 백그라운드로 검출하는 단계는, 상기 리파인된 라이브러리로부터 효과적인 밴드 목록을 로드하는 단계, 상기 효과적인 밴드의 목록에 근거한 스펙트럼 정보 및 상기 라이브러리로부터 상관 계수를 구하는 단계 및 상기 상관 계수의 크기에 근거하여 상기 타겟 및/또는 상기 백그라운드를 결정하는 단계를 구비할 수 있다.
바람직하게는, 상기 타겟 및/또는 상기 백그라운드를 결정하는 단계는 상기 상관 계수가 상기 픽셀 및 상기 라이브러리와의 관계를 나타내는 최소 상관 계수보다 큰 경우, 상기 픽셀을 타겟으로 검출할 수 있다.
바람직하게는, 상기 타겟 및/또는 백그라운드로 검출하는 단계는 파이프라인 구조를 사용하여, 상기 픽셀을 처리할 수 있다.
본 발명에 따른 고분광 영상 프로세싱을 위한 실시간 타겟 검출 아키텍처는, 실시간 어플리케이션들을 위해 라이브러리 리파인먼트 (library refinement) 과정이 간소화되고 분광 밴드의 개수가 최소화되는 감소된 복잡성 알리고즘에 근거한다. 그리고, 데이터 분할을 활용함으로써 효율적인 파이프라인 프로세싱 성분 아키텍처가 제안되고, 스케일러블한(난조가 발생하지 아니하는) 복합적인 프로세싱 성분 아키텍처가 개시된다. 속도 향상을 위해 복합적인 프로세싱 성분 아키텍처를 위한 상호연결 토폴로지가 개시된다. 또한, 고분광 영상 프로세싱에 사용되는 데이터 정리 알고리즘에 기반을 둔 프로세싱 유닛 모델링 및 메모리 활용도를 최적화하고 메모리 병목 현상을 제거하기 위한 컴퓨팅 구조가 제안된다. 제안된 아키텍처는 타겟 검출을 위한 고분광 영상 프로세싱의 하드웨어 복잡성 대 실행 처리량 사이의 관계를 설명하기 위해 FPGA에서 설계되고 구현될 수 있다. 따라서, 본 발명에 따른 고분광 영상 프로세싱을 위한 실시간 타겟 검출 아키텍처는 빠르고 정확하게 타겟을 검출할 수 있는 장점이 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 큐브 데이터 구조를 나타내는 도면이다.
도 2는 전반적인 고분광 영상 프로세싱을 나타내는 도면이다.
도 3은 서로 다른 개수의 효과적인 밴드가 적용되는 경우의 검출 영상의 차이를 도시하는 도면이다.
도 4는 리파인된 라이브러리 스킴이 적용된 검출 영상을 도시하는 도면이다.
도 5는 본 발명의 실시예에 따른 타겟 검출 방법을 나타내는 순서도이다.
도 6은 NLIB가 4인 경우의 프로세싱에 대한 타이밍도이다.
도 7은 본 발명의 실시예에 사용되는 함수들의 기능을 나타내는 도면이다.
도 8은 도 7의 함수들을 연산의 내용에 따른 분류를 나타내는 도면이다.
도 9는 큐브 지연이 없는 프로세싱을 나타내는 도면이다.
도 10은 두 단계의 파이프라인 구조가 적용되는 프로세싱을 나타내는 도면이다.
도 11은 도 10의 동작 타이밍도이다.
도 12는 TA 및 TB에 대한 실행 시간을 나타내는 그래프이다.
도 13은 세 개의 어큐물레이터가 적용되는 Stage A에서의 픽셀 기반 파이프라인 구조를 나타내는 도면이다.
도 14는 픽셀 기반 파이프라인 구조에서의 픽셀에 대한 실행 시간을 나타내는 도면이다.
도 15는 부동소수점 유닛들(FPUs)에서의 실행의 흐름을 도시하는 도면이다.
도 16은 프로세싱 요소들의 개수가 4인 큐브 데이터 분할을 도시하는 도면이다.
도 17은 큐브 분할을 나타내는 도면이다.
도 18은 두 개의 다른 개수의 프로세싱 요소들이 적용되는 검출된 영상의 비교를 위한 도면이다.
도 19는 분리된 라이브러리 없는 다중 데이터 분할을 도시하는 도면이다.
도 20은 공유된 라이브러리를 구비하는 다중 데이터 분할을 나타내는 도면이다.
도 21은 도 20의 동작 타이밍도이다.
도 21은 본 발명의 실시예에 따른 프로세싱에 대한 블럭도이다.
도 23은 버스에서 IP로의 데이터 처리를 나타내는 도면이다.
도 24 및 도 25는 각각 하나 및 두 개의 PPC를 사용하는 경우의, 효과적인 밴드 개수에 대한 처리량을 나타내는 그래프이다.
도 26은 두 개의 PPC를 사용하는 경우의, 효과적인 밴드 개수에 대한 어큐물레이터 실행 속도를 나타내는 그래프이다.
도 27은 효과적인 밴드 개수에 대한 슬라이스 사용량을 나타내는 그래프이다.
도 28은 효과적인 밴드 개수에 대한 블럭 램 크기를 나타내는 그래프이다.
도 29는 멀티 프로세싱 실행 모델에서의 본 발명의 실시예에 따른 타겟 검출의 전반적인 구조를 나타내는 도면이다.
도 30은 검출이 4개의 프로세싱 요소들로 수행되는 경우의 NB에 대응되는 검출된 고분광 영상 개수들을 도시하는 도면이다.
도 31 내지 도 35는 두 개의 PPC를 사용하는 경우의 NLIB 및/또는 NE에 대한 처리량을 나타내는 도면이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명이 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
타겟 검출을 위한 고분광 영상 프로세싱에서의 주된 동작은 입력 큐브 이미지를 타겟 라이브러리와 비교하고 스펙트럼 정보들에 대한 상관 계수를 결정하는 것이다. 그러므로, 고분광 영상 프로세싱에서의 주된 동작은 연관성을 계산하는 것이다. 상관 계수 A는 타겟 라이브러리에 저장되고 입력 영상들로부터 얻어지는 두 개의 스펙트럼 정보들 사이의 유사성을 나타낸다. 두 스펙트럼 정보들 사이의 높은 연관성은 그 둘 사이의 유사성이 높음을 나타낸다. 상관 계수는 다음의 수학식 1과 같이 정의된다.
이때, NE는 효과적인 밴드들의 개수를 나타내고, ti는 ith 밴드의 테스트 스펙트럼이고, ri는 ith 밴드의 기준 스펙트럼이다.
본 발명은 검출을 위해 적용되는 밴드들의 개수를 줄이기 위해 효과적인 밴드를 선택하는 스킴을 적용한다. 효과적인 밴드 선택을 위해, 본 발명은 타겟 라이브러리와 관련된 차단 효과를 나타내는 기여 성분을 정의한다. 기여 성분을 얻기 위해, 백그라운드 영상의 분광 특성을 나타내는 백그라운드 샘플들이 랜덤하게 선택된다. 연관성은 두 스펙트럼 정보들 사이의 다양한 차이들을 나타내므로, 효과적인 밴드들은 최대한 분리된 기여 값들을 얻기 위해 선택된다.
도 3은 두 개의 다른 개수의 밴드들(NE)이 적용된 검출 영상들의 비교를 도시한다. 도 3(a)에서, 타겟으로 주어진 꽃들에 대한 효과적이 밴드 선택 스킴의 적용은 도 3(b)만큼 잘 검출된다.
또한, 개선된 라이브러리가 라이브러리의 양을 줄일 수 있기 때문에 실행 시간에 대한 복잡성을 감소시키는 라이브러리 리파인먼트에 의해, 검출 과정이 개선된다. 타겟 검출의 어플리케이션에서, 라이브러리는 실험적 또는 일반적이 환경에서의 측정에 의해 생성되는 타겟 스펙트럼을 갖는다. 그러므로, 서로 다른 환경하에서 측정된 타겟 영상의 스펙트럼은 타겟 라이브러리와 불일치하게 되는 결과를 초래한다. 본 발명은 적은 양의 타겟 라이브러리 정보로도 효과적인 검출을 달성하기 위해 동적으로 타겟 라이브러리를 리파인(refine)한다. 그러므로, 라이브러리 리파인먼트 스킴은 검출 과정을 개선한다. 라이브러리 리파인먼트의 전반적인 과정들은 기본 라이브러리 집합으로 시작한다. 타겟 영상이 라이브러리로부터 검출되면, 타겟 라이브러리는 검출된 영상의 스펙트럼 정보들에 의해 리파인될 수 있다. 그러나, 밴드들의 부분적 개수가 효과적인 밴드 선택 스킴에서의 샘플을 얻기 위해 사용되므로, 타겟 샘플은 새로운 라이브러리에 대한 후보에 불과하다. 그러므로 새로운 라이브러리 어플리케이션은 모든 밴드들에 대한 기본 라이브러리와 비교되어, 리파인된 라이브러리로 사용된다.
도 4는 라이브러리를 리파인한 결과를 도시한다. 도 4(b) 및 도 4(c)는 도 4(a)의 기본 라이브러리로부터 리파인된 라이브러리를 사용한다. 이 도면들은 주어진 라이브러리가 다양한 형태의 서로 다른 라이브러리들로 나타내어질 수 있음을 보여준다. 그러므로, 라이브러리 리파인먼트는 적용되는 라이브러리의 개수를 줄일 수 있다.
도 5는 본 발명의 실시예에 따른 실시간 타겟 검출 방법을 나타내는 순서도이다. 도 5를 참조하면, 본 발명의 실시예에 따른 실시간 타겟 검출 방법은 크게 두 부분으로 나뉜다. 오른쪽 과정은 주로 입력 영상을 라이브러리와 비교하는 검출 동작과 관련된다. 왼쪽 과정은 라이브러리 리파인먼트 및 효과적인 밴드 선택을 위한 업데이트 동작과 관련 있다.
각 동작은 "Step"들로 기술된다. Step 0, 1 및 2는 검출 동작에 관한 것이고, 나머지 "Step"들은 업데이트 동작에 관한 것이다. "Step 0"은 "Step 5"로부터 효과적인 밴드의 목록을 로드(load)한 후, 입력 픽셀의 스펙트럼 정보 및 효과적인 밴드를 선택한다. "Step 1"은 상관 계수(A)를 얻기 위한 루프(loop) 사이즈가 NLIBNE인 루프를 갖는다. "Step 2a"는 타겟 검출을 위한 것이고, "Step 2b"는 백그라운드 검출을 위한 것이다. "Step 2a"에서, 만약 상관 계수(A)가 라이브러리와 입력 이미지 사이의 최소 상관 계수(At)보다 크면, 픽셀은 타겟으로 검출되고, 픽셀의 스펙트럼 정보는 라이브러리 리파인먼트를 위해 보존된다. 또한, 백그라운드 샘플들을 선택하기 위해, 상관 계수(A)는 "Step 2b"에서의 입력 영상과 백그라운드 사이의 최대 상관 계수(Ab)와 비교된다. "Step 3"는 백그라운드와 타겟을 위한 샘플들을 수집한다. 백그라운드 영역의 스펙트럼을 나타내기 위해, 백그라운드의 샘플들은 랜덤하게 선택된다. 라이브러리는 "Step 4"에서 리파인되고, 효과적인 밴드는 "Step 5"에서 기여 계수의 사용에 의해 선택된다.
"Step 1"에는 루트(root) 및 아크 코사인(arc cosine) 함수들과 같은 다양한 플로팅 포인트 연산들이 있다. 또한, "Step 2"에서의 검출 함수는 상관 계수(A)와 At 및 Ab를 비교하기 위한 플로팅 연산을 갖는다. 그러나, "Step 2"의 출력은 정수 데이터 형태를 갖는다. 또한, 효과적인 밴드 선택 및 라이브러리 리파인먼트를 위한 스킴들은 "Step 4" 및 "Step 5"에서의 플로팅 연산들로 구현된다.
실행 시간에 대한 가장 복잡한 단계는 상관 계수(A)를 계산하는 "Step 1"이다. "Step 3", "Step 4" 및 "Step 5"는 "Step 1"보다 덜 복잡하다. 또한, 복잡성은 효과적인 밴드 및 라이브러리의 개수에 비례한다. 그러나, 타겟 및 백그라운드 샘플들의 개수는 전반적인 복잡성에 영향을 주지 아니한다.
본 발명은 상관 계수에 근거한 빠른 검출 동작을 보장하고, 효과적인 밴드 선택 및 라이브러리 리파인먼트를 포함하는 업데이트를 지원한다. 그런데, 두 종류의 데이터 디펜던시(dependency)가 상기 과정에 존재한다.
먼저, 큐브 지연이 있다. 업데이트의 경과는 효과적인 밴드 및 리파인된 라이브러리들의 목록이다. 그러나, 이러한 결과들은 다음 큐브 영상으로부터 적용될 수 있다. 다음으로, 입력 영상이 업데이트를 위한 샘플들을 모으기 위해 복사된다. 검출은 입력 스펙트럼 밴드들 중 효과적인 밴드들을 사용한다. 그러나, 업데이트는 타겟 샘플들을 얻기 위해, 검출 결과를 사용한다. 그러므로, 랜덤하게 선택된 타겟 샘플은 타겟 샘플이 현재의 라이브러리를 대체할 수 있는지 여부에 대해 반드시 검증되어야 한다.
실행 시간을 개선하기 위해, 본 발명은 파이프라인 구조 및 데이터 분할의 두 접근을 적용한다. 파이프라인은 싱글 프로세싱 실행 모델에 적용된다. 프로세싱 개수(NPE)가 멀티플 프로세싱 실행 모델에서 증가하는 경우, 큐브에 대한 실행 시간(TCUBE)는 비례적으로 증가된다. 그러나, 상호 연결로부터의 제한은 있다.
이하에서는 본 발명의 실시예에 따른 아키텍처의 구성을 위한 기본 개념에 대하여 알아본다. 먼저, 단일 프로세싱 실행 모델에 대하여 기술한다.
실행 디펜던시에 대해 알아본다. 고분광 영상 프로세싱의 실행 디펜던시를 나타내기 위한 기능적 그래프가 도 7에 도시된다. "Step 0"은 두 개의 함수 load() 및 init()를 갖는다. 이때, load()는 프리프로세싱 및 리파인된 라이브러리로부터 효과적인 밴드들에 대한 스펙트럼 정보들을 수집하는 함수이고, init()는 "Step 5"의 get_eb() 함수로부터 효과적인 밴드들의 목록을 로드하는 함수이다. init() 함수는 각 큐브에 대하여 작용하나, load() 함수는 각 픽셀에 대하여 작용한다. "Step 1"은 함수 acc() 및 corr()을 갖는다. acc()는 효과적인 밴드들에 대한 입력들을 모으는 함수이다. 어큐물레이터는 곱셈 및 덧셈 연산들을 수행한다. corr() 함수는 세 개의 고정소수점 수들(∑ti2, ∑ri2, ∑ti*ri)을 출력한다. 또한, corr() 함수는 부동소수점 수인 상관 계수()를 계산한다. "Step 2"의 detect() 함수는 detect() 함수가 부동 소수점 연산을 수행하도록 상관 계수()로부터 픽셀을 검증한다. "Step 3"에서, 함수 sample()은 "Step 1"의 타겟 또는 백그라운드의 샘플을 수집한다. 또한, 함수 choose_samples()는 타겟 및 백그라운드 샘플들을 선택한다. "Step 4"는 각각 함수 load(), acc(), corr(), detect() 및 sample()과 유사하나 라이브러리를 리파인하기 위한 모든 스펙트럼 정보를 사용하는 함수 loads(), accs(), corrs(), dets() 및 saves()를 갖는다. "Step 5"의 함수 diff(), cont() 및 get_eb()는 함수가 고정소수점 연산들뿐 아니라, 부동소수점 연산들을 갖기 위해, 기여 성분에 근거한 효과적인 밴드들의 목록을 찾는다.
도 6은 전반적인 실행 시간의 흐름을 도시한다. 큐브에 대한 실행 시간(TCUBE)은 Tinit + Tpixel*Nx*Ny + TCS + Trl +Tge로 정의된다. 이때, Nx*Ny은 고분광 영상 큐브의 공간 해상도를 나타내고, Tinit는 "Step 0"의 init() 함수의 시간을 나타내며, Tpixel은 픽셀에 대한 실행 시간을 나타내며, TCS는 "Step 3"의 함수 choose_samples()의 실행 시간을 나타낸다. 또한, Trl은 "Step 4"의 함수들에 대한 시간이고, Tge는 "Step 5"의 함수들에 대한 시간이다. 공간 해상도가 커지면, Tpixel이 더 중요시 된다. Tpixel은 (Tload + Tacc + Tcorr + Tdetect +Tsample)*NLIB로 나타내어 진다. 이때, Tload, Tacc, Tcorr, Tdetect 및Tsample은 각각, 함수 load(), acc(), corr(), detect() 및 sample()의 실행 시간을 나타낸다.
프로세싱에서의 함수들은 실행 디펜던시들을 갖는다. 함수 load() 및 sample()은 프리프로세싱과 동일한 데이터를 사용하나, 함수 sample()의 동작은 함수 detect()이 결과를 가질 때까지 완료될 수 없다. 또한, "Step 4"의 함수들은 함수 choose_samples()로부터 데이터를 로드하나, "Step 4"에서의 동작들이 완료될 때까지 "Step 5"의 함수들은 시작할 수 없다. 그러므로, 검출이 완료되면, 업데이트를 위한 함수들이 수행된다. 함수 load(), acc(), corr(), detect() 및 sample()
그래프의 노드(node)로 표현되는 각각의 함수는 픽셀 기반 함수 또는 큐브 기반 함수로 구분될 수 있다. 픽셀 기반 함수들은 픽셀 단위로 작용하고, 큐브 기반 함수들은 큐브 단위로 작용한다. 함수 load(), acc(), corr(), detect() 및 sample()은 픽셀 기반 함수들이고, 그 밖의 함수들은 큐브 단위 함수들이다. 픽셀 단위 함수가 고속 실행의 측면에서 큐브 기반 함수보다 중요시 된다. 픽셀 기반 함수는 각 큐브에 대해 Nx*Ny 횟수만큼 수행되나, 큐브 기반 함수는 하나의 큐브에 대해 한 번만 수행되면 되기 때문이다.
함수들은 고정소수점 연산 및 부동소수점 연상인 두 종류의 동작들을 갖는다. 도 8은 고정소수점 연산들 및 부동소수점 연산들을 U0, U1 및 U2로 구분한 함수 분류를 도시한다. 검출에 관련된 corr() 및 detect() 함수를 포함하는 부동소수점 유닛을 U1으로 표시한다. 또한, dets(), corrs(), cont() 및 get_eb() 함수들을 포함하는 부동소수점 유닛을 U2로 표시한다.
본 발명의 실시예에 따른 파이프라인 아키텍처의 효과에 대해 알아본다. 도 8에서, 픽셀 기반 함수들 및 큐그 기반 함수들은 "Stage A" 및 "Stage B"로 구분된다. 업데이트는 NT*NLIB개의 타겟 샘플들 및 NB개의 백그라운드 샘플들을 요구하기 때문에, 업데이트의 결과는 다음 큐프로부터 적용될 수 있다. 그러므로, 수행 과정은 기본적으로 큐브 지연을 갖는 두 스테이지 파이프라인에 근거한다.
큐브 지연은 검출 속도를 떨어뜨린다. 리파인된 라이브러리 및 효과적인 밴드 목록이 다음 큐브 영상에 활용되지 아니할 수도 있기 때문이다. 그러나, 일반적으로 연속적인 큐브 영상들은 유사한 스펙트럼 특성들을 갖는다. 그러므로, 만약 큐브 지연 시간(TcubeNcube_delay)이 분광 특성의 변화 시간 Tspectral보다 빠르다면, 큐브 지연은 큐브 지연의 개수를 나타내는 Ncube_delay에 대해 허용될 수 있을 것이다. Tspectral은 고분광 영상 프로세싱의 어플리케이션에 좌우된다. 예를 들어, 고분광 영상이 감시 시스템에서의 사람을 검출하는데 사용되었다면, 조명에 대한 기본 특성은 큐브 지연이 무시되기 위해, 갑자기 변화되지 아니한다.
큐브 지연을 제거하기 위해, 프리 디텍션 단계가 프로세싱에 사용될 수 있다. 도 9는 모든 단계에서 동일한 큐브 영상을 사용하는 큐브 지연이 없는 프로세싱에 대한 블럭도를 도시한다. 복잡성 감소 스킴은 백그라운드 샘플들 및 타겟 샘플들을 요구하기 때문에, "Step 1" 및 "Step 2"로 구성되는 프리 디텍션은 "Step 3"에서의 풀 밴드들에 대한 랜덤하게 선택된 샘플들을 검증할 필요가 있다. 전술된 바와 같이, NT개의 타겟 샘플들이 라이브러리 리파인먼트를 위해 요구된다. 그러므로, NT개의 타겟 샘플들을 얻기 위해, 프리 디텍션은 NT개의 타겟 샘플들보다 많으 수의 샘플들을 선택하고 검증한다. 그러나, 만약 모든 큐브 영상에서 검출된 타겟 픽셀들의 개수가 NT보다 작다면, 큐브 영상에 대한 프리 디텍션이 요구된다. 이 경우, 효과적인 밴드 선택의 장점이 사라진다.
두 단계 실행 파이프라인 구조에 대하여 알아본다. 도 10은 두 단계 파이프라인 구조가 적용되는 프로세싱에 대한 블록도를 도시한다. 큐브 기반 실행 파이프라인(Pipeline (1))은 "Stage A" 및 "Stage B"로 구분된다.
두 단계 파이프라인 구조에서, 큐브에 대한 실행 시간(Tcube)는 다음의 수학식 2와 같이 나타낼 수 있다.
이때, TA 및 TB는 각각 "Stage A" 및 "Stage B"에 대한 실행 시간을 나타낸다. TA는 Tpixel*Nx*Ny으로 표현되고, TB는 Tinit + TCS + Trl +Tge로 표현된다. 밴드들의 개수가 감소되면, 전반적인 실행 시간이 줄어들기 때문에 TA는 개선될 수 있다. 그러나, 업데이트가 모든 스펙트럼 정보를 사용하므로, TB는 변화되지 아니한다. 그러므로, 효과적인 밴드들의 개수(NE)가 작고/작거나 공간 해상도가 낮으면, TB는 전반적인 실행 시간 측면에서 중요시 된다. 도 11은 두 단계 파이프라인 구조에서의 타이밍도를 도시한다. i 번째 큐브로부터의 효과적인 밴드들 및 리파인된 라이브러리는 (i+2) 번째 큐브에 적용될 수 있다. 그러므로, 두 단계 실행 파이프라인은 두 개의 큐브 지연을 갖는다.
단일 프로세싱 실행 모델에서, "Stage A"의 실행 시간(TA)는 전반적인 실행 시간을 좌우한다. 도 12는 실행 시간 TA 및 TB가 TA ≫ TB인 상태를 도시한다. 그러므로, 고분광 영상 프로세싱의 실행 시간을 단축하기 위해, TA를 줄여야 한다.
"Stage A"의 실행 시간을 단축하기 위하여, 픽셀 기판 실행 파이프라인으로 설명되는 내부적인 파이프라인 구조가 고려되어야 한다. 픽셀 기반 실행 파이프라인은 큐브 지연을 가지지 아니하나, 스테이지들 간의 픽셀 지연을 갖는다. 픽셀 기반 실행 파이프라인이 적용되면, 픽셀에 대한 실행 시간(Tpixel)은 스테이지들 간의 Tpixel이 최대가 될 때, "Stage A"의 실행 시간(TA)을 연장시킨다. 예를 들어, 픽셀 기반 실행 파이프라인 구조가 적용되고, 세 개의 어큐물레이터들이 사용되는 도 13에서, 픽셀에 대한 최소 실행 시간은 하나의 어큐물레이터에 대한 실행 시간(Tacc)과 동일할 수 있다.
픽셀 기반 실행 파이프라인의 목적은 픽셀에 대한 실행 시간을 최소화하기 위함이다. 도 14는 픽셀 기반 파이프라인 구조가 완전히 적용된 경우의 픽셀에 대한 실행 시간을 도시한다. 그러므로, 픽셀 기반 실행 파이프라인의 한계는 다음의 수학식 3과 같이 나타낼 수 있다.
이때, Nacc는 1 ≤ Nacc ≤ 3의 값을 갖는다. 만약 하나의 어큐물레이터가 동작하면, 픽셀에 대한 실행 시간은 세 배로 증가한다.
부동소수점 연산들에 대한 실행 시간(Tcorr + Tdetect)은 어큐물레이터의 실행 시간(Tacc)뿐 아니라, 큐브에 대한 실행 시간(Tcube)에 의하여 제한된다. 효과적인 밴드 선택 알고리즘이 적용되면, 어큐물레이터의 실행 시간은 감소된다. 그러므로, 부동소수점 연산들에 대한 실행 시간은 고분광 영상 프로세싱의 복잡성을 감소시키는데 중요한 요소가 된다.
부동소수점 유닛 공유 구조에 대하여 알아본다. 도 8에서 U1 및 U2는 부동소수점 유닛이다.
도 15는 부동소수점 유닛들(FPUs)에서의 실행의 흐름을 도시한다. 도 15(a)는 하나의 FPU를 사용하고, 도 15(b)는 서로 다른 시간 멀티플렉싱에 근거한 두 개의 FPU들을 사용한다. 하나의 FPU가 이용 가능한 경우, 큐브에 대한 실행 시간은 TA + TB와 같다. 이때, TA = TD1 = TF1이고, TB = TD2 = TF2이다. TD1 및 TD2는 "Stage A" 및 "Stage B"의 고정소수점 연산들의 실행 시간이고, TF1 및 TF2는 "Stage A" 및 "Stage B"의 부동소수점 연산들의 실행 시간이다. 만약 두 개의 FPU가 이용 가능한 경우, 각 FPU는 "Stage A" 또는 "Stage B"를 지원할 수 있다. 또한, 도 15에 도시된 바와 같이, 두 개의 FPU 모드가 동시에 "Stage A"를 지원한 후, "Stage B"를 지원할 수 있다. 하나의 FPU가 다른 것보다 빠른 경우, 도 15(b)가 적용될 수 있다. 또한, "Stage A"에 대한 실행 시간이 "Stage B"에 대한 실행 시간보다 긴 경우, 도 15(c)가 선택될 수 있다. 도 15(b)에서, Tcube는 TD1 = TF1인 조건 하에 TA와 같고, 도 15(c)에서, Tcube는 T'A = T'D1 = TF'1 = TF1/2의 조건 하에 T'A = TF'1 + TF1로 표현된다.
본 발명의 실시예에 따른 아키텍처에 의한 입력 용량에 대하여 알아본다.
입력 용량은 전반적인 실행 시간에 의해 제한된다. 입력 용량을 Nbit*Fm으로 정의할 때, Nbit은 입력 비트 폭을 나타내고, Fm은 최대 입력 주파수를 나타낸다. 프로세싱의 실행을 보장하기 위해, 입력 용량은 Nx*Ny*Nz*Nre*NTh보다 크다. 이때, Nre는 스펙트럼 정보의 리졸루션(resolution)를 나타내고, NTh는 매 초당 처리되는 큐브의 수를 나타낸다.
이상에서는 단일 프로세싱 실행 모델에 대하여 기술하였다. 다음으로 다중 프로세싱 실행 모델에 대하여 설명한다.
데이터 분할에 대하여 알아본다. 데이터 분할의 목적은 다중 프로세싱 요소들(PEs)을 사용함으로써, 실행 시간을 감소시키는 것에 있다. 데이터 분할 유형은 큐브 메모리 구조에 있다. 도 16은 네 개의 다중 프로세싱 요소들이 적용된 큐브 데이터 분할의 세 종류를 도시한다. 도 16(a) 및 (b)에서, 큐브의 영역은 4개의 뱅크들로 분리된다. 각 PE는 뱅크 메모리에 연결되므로, PE에 의한 입력 용량의 제한은 단일 프로세싱 실행 모델과 동일하다. 또한, 도 16(c)에서, PE에 위치하는 큐브 영상이 저해상도 큐브 영상이 되도록, 각 픽셀은 서로 다른 PE에 위치한다.
다중 프로세싱 실행 모델에서의 큐브에 대한 실행 시간은 다음의 수학식 4와 같이 나타내어 질 수 있다.
그러므로, 데이터 분할은 실행 시간을 개선시킬 수 있다. 증가된 PE의 개수는 "Stage A"에 영향을 준다. PE의 분광 영상 영역이 NPE에 비례하여 감소하기 때문이다. 그러므로, NPE가 증가되면, 전반적인 큐브 실행 시간은 최종적으로 TB에 의해 제한된다.
큐브가 여러 개의 뱅크들로 분리되더라도, 각 PE의 데이터 타입은 여전히 도 17의 큐브와 같다. 도 16(a) 및 (c)에서의 큐브 사이즈는 (Nx/2)*(Ny/2)*Nz이고, 도 16(b)에서의 큐브 사이즈는 (Nx/4)*Ny*Nz이다.
도 16(a) 및 (b)에서, 각 PE는 서로 다른 리파인된 라이브러리 및 효과적인 밴드 목록을 사용한다. 검출된 영상이 PE들 사이의 경계들을 가질 수 있기 때문이다. 도 18은 두 개의 다른 개수의 프로세싱 요소들이 적용되는 검출된 영상의 비교를 위한 도면이다. 도 18(a)는 도 18(b)가 네 개의 프로세싱 요소들을 사용하는 반면, 하나의 프로세싱 요소가 적용된다. 도 18(b)에서 검출된 영상은 하나의 프로세싱 요소에 의한 도 18(a)의 결과와 유사하다. 비록 리파인된 라이브러리가 다르더라도, 검출된 영상이 여전히 검출 조건(At ≥ 0.9)을 만족하기 때문이다. 그러므로, 데이터 분할에 기반을 둔 다중 프로세싱 실행 모델은 고분광 영상 프로세싱에서의 실행 시간을 향상시킬 수 있다.
그러나, 낮은 검출 조건(At)에서, 검출된 이미지들 사이의 경계가 더 깨끗할 수 있다. 프로세싱 요소의 리파인된 라이브러리가 검출 조건에서의 다른 것들과 더 다를 수 있기 때문이다. 프로세싱 요소들 사이의 경계가 존재하더라도, 검출된 영상은 완전할 수 있다. 검출된 영상이 영상과 리파인된 라이브러리 사이의 검출 조건을 만족하기 때문이다. 그러나, 경계는 포스트 프로세싱이 검출된 영상과 RGB 영상의 결함을 위해 엣지(edge) 검출 스킴을 사용할 수 있기 때문에, 착오를 유발할 수 있다. 그러므로, PE들간의 업데이트 공유가 요구된다. 도 16(c)의 경우, 업데이트 공유는 요구되지 아니한다. 각 PE가 유사한 낮은 해상도를 사용하기 때문이다.
업데이트 공유에 대하여 알아본다. 도 19는 PE가 프리프로세싱 및 포스트 프로세싱과 연결되는 업데이트 공유 없는 다중 데이터 분할에서의 블록도를 도시한다. "Stage A"는 업데이트를 위한 샘플들을 수신하고 효과적인 밴드 및 리파인된 라이브러리 목록을 전송하기 위한 "Initial", "Sample" 및 "Refined library"로 표현되는 세 개의 신호들을 갖는다. 그러므로, 업데이트는 프로세싱 요소들 사이에 독립적이다.
다중 프로세싱 실행 모델에서, 상호 연결된 네트워크는 속도 향상에 제한이 있다. 입력 요량이 증가되는 요구들에 따라야 하기 때문이다. 입력 용량은 입력 주파수 및 입력 비트 폭(Nbit) 모두와 관련이 있다. 그러나, 입력 주파수는 구현된 아키텍처에 의존되기 때문에, 비트 폭이 속도 향상을 지원하기 위해 증가해야 한다. 더 큰 입력 비트 폭은 적용된 다중 프로세싱 요소들이 상호연결된 네트워크에 의해 제한되도록 상호연결의 복잡성을 증가시킨다.
업데이트 공유가 요구되면, "Stage B"는 도 20과 같이 공유된다. 효과적인 밴드 및 리파인된 라이브러리 목록을 "Stage B"로부터 모든 프로세싱 요소로 전달하기 위해, 모든 프로세싱 요소들은 그들의 실행을 중단하고, 큐브 단위의 "Stage B"를 수행한다. 그러므로, 큐브에 대한 실행 시간은 업데이트가 공유되는 경우, TA/NPE + TB와 같이 나타내어 질 수 있다.
도 21은 공유된 업데이트를 사용하는 다중 데이터 분할 동작에 대한 흐름을 도시한다.
이하에서는 본 발명의 실시예에 따른 아키텍처의 구체적인 구성에 대하여 알아본다. 먼저, 단일 프로세싱 실행 모델에 대하여 기술한다.
타겟 플랫폼에 대하여 알아본다. Xilinx FPGA Virtex 4 FX 100 장치는 아키텍처 구현을 위해 선택될 수 있다. 부동소수점 연산들은 FX FPGA의 Power PC Core(PPC)로 구현될 수 있다. 일반적으로, PPC는 400 MHz의 최대 속도에서 수행된다. 선택된 장치는 메모리 요구를 지원하기에 충분한 크기인 6,768 * 16 비트의 램을 구비한다. 도 22는 단일 프로세싱 모델에서의 전반적인 프로세싱을 도시한다. FU0, FU1, FU3, FU4 및 FU5는 각각 Step0, Step1 Step3, Step4 및 Step5에 대응된다. 또한, PPC1은 Step2의 동작 및 Step1의 부동소수점 연산들을 수행한다. PPC2는 Step4 및 Step5의 부동소수점 연산들을 수행한다.
기능 단위들에 대하여 알아본다. 효과적인 밴드의 목록이 일반적인 내부 목록을 갖지 아니하므로, BUFSP는 입력 분광 정보를 저장할 필요가 있다. 이때, 버퍼는 여러 개의 뱅크들을 구비하고 각 뱅크가 픽셀에 대한 모든 분광 정보를 저장한다. FU0은 세 개의 버퍼들을 구비한다. 스펙트럼 정보가 프리프로세싱으로부터 뱅크에 기입되는 중에, FU1은 다른 뱅크로부터 효과적인 스펙트럼 정보를 독출한다. 그러므로, 기입 및 독출 동작은 기입/독출 동작들이 어떠한 차단 없이 진행될 수 있도록 교대로 수행된다. 또한, 샘플들은 BUFTG에 수정된다. FU3가 독출할 준비가 될 때까지 샘플이 저장되기 때문에, BUFTG의 크기는 픽셀 기반 파이프라인 단계들의 개수에 비례한다.
FU1은 세 개의 어큐물레이터들을 구비한다. 하나의 픽셀 및 하나의 라이브러리에 대해 어큐물레이트되는 값을 위해, 어큐물레이터는 BUFSP 및 BUFLIB로부터 NE번의 독출 동작들을 요구한다. 어큘물레이터는 승산기, 가산기 및 멀티플렉서를 구비하여 루프 동작을 수행하도록 설계된다.
PPC1은 곱셉, 루트 및 나눗셈 연산을 갖는 상관 계수를 위한 부동소수점 연산을 계산한다. 또한, 상관 계수는 픽셀이 타겟인지 백그라운드인지를 검출하기 위해, 최대 상관 계수 및 최소 상관 계수와 비교된다.
백그라운드 샘플들 및 타겟 샘플들을 저장하기 위해, FU3는 두 개의 버퍼들을 갖는다. 입력되는 분광 데이터 sp는 하나의 데이터 패스를 통해 입력되고, 기입 인에이블 신호들에 의해 선택된다. 입력되는 신호 en_tg는 픽셀이 타겟인지를 나타낸다. 게다가, 신호 en_bk가 "1"이면, 픽셀은 백그라운드 샘플로서 BUFbk에 저장된다. 컨트롤러는 en_tg 및 en_bk를 생성한다.
FU4는 FU1와 유사하게 동작하나, 연산은 BUFtg로부터의 타겟 샘플을 위한 모든 스펙트럼 정보를 요구한다.
FU5에서의 기여 요소들이 추출된다. 두 개의 가산기들 및 제 2 컴플리먼트 유닛의 총 실행 시간이 입력되는 데이터 시간보다 크기 때문에, 레지스터는 제 2 컴플리먼트 유닛 뒤에 삽입된다. 마찬가지로, abs() 오퍼레이터 및 가산기의 총 실행 시간이 입력되는 데이터 비율보다 크므로, 하나의 레지스터는 abs() 오퍼레이터 뒤에 삽입된다.
부동 유닛 공유에 대하여 알아본다. 타겟 FPGA에서의 PPC는 프로세서 로컬 버스(PLB), 디바이스 컨트롤 레지스터(DCR) 및 온 더 칩 퍼리퍼럴(peripheral) 버스(OBP)의 세 가지 유형의 버스 구조를 갖는다. PLB는 빠른 데이터 처리를 제공하나, 이는 전송 프로그램 메모리에 대해 설계된다. 일반적으로, OPB 및 DCR은 로직 블록들과 연결된다. 양 자의 성능이 유사하다 하더라도, DCR은 기능적인 시뮬레이션을 제공하지 아니한다. 데이터 처리가 기능적인 시뮬레이션에 의해 체크될 수 있기 때문이다. 본 발명에서는 OPB가 부동 유닛 공유를 위해 선택된다. 프로세싱 요소 및 OPB 사이의 허용되고 지원되는 정수 클럭 주파수 비율이 1:1,2:1 3:1에서 16:1까지이다. 도 23은 어떻게 기능적 블록들이 PPC에 데이터를 보내는지를 도시한다. 먼저, BUS2IO_WrCE 신호가 시작 처리를 통지한다. 만약, 기능적 블록이 신호를 보낼 준비가 되지 아니하였다면, 기능적 블록은 IP2BUS_Retry 신호로 응답하고, 승인 신호가 올 때까지 OPB는 동일한 처리를 반복한다. 도 23은 준비되지 아니한 상태의 예로 연산 및 첫 번째 처리를 모두 도시한다. 기능적 유닛들은 어드레스에 의해 묘사되고, 미리 정의된 어드레스는 로직 블록들을 구분하는데 사용된다.
오버헤드 및 처리량의 결정에 대하여 알아본다. 도 24 및 도 25는 하나 및 두 개의 PPC를 사용하는 경우의 차이를 도시한다. 두 개의 도면에서, 하나의 PPC가 사용된 경우, 2.1099 큐브들이 1초마다 검출된다. 반면, 두 개의 PPC가 사용된 경우, 3.2196 큐브들이 검출된다.
FU1에서의 어큐물레이터의 실행 속도는 비록 최대 속도가 250 MHz에 달하더라도, 64 MHz 이하여야 한다.
효과적인 밴드들의 개수는 도 26에 도시되는 바와 같이, 어큐물레이터의 실행 속도를 경정하는 중요한 요소이다. 도 26은 서로 다른 실행 주파수에서 PPC가 동작하는 경우를 도시한다. 어큐물레이터의 빠른 동작을 지원하기 위해, 더 빠른 PPC가 요구된다. 검출 및 업데이트 모두에 대한 하나의 프로세스 사용은 전반적인 처리량 관점에서 심각한 장애를 초래한다.
도 27은 효과적인 밴드의 개수를 반영하는 슬라이스(slice) 사용양을 도시한다. 서로 다른 곡선들은 라이브러리의 서로 다른 개수에 대응된다. 전반적인 설계의 복잡성을 결정하는 NE, NLIB, NT 및 NB의 4개의 요소들이 있다.
NT 및 NB는 메모리 크기를 결정하는 중요한 요소들이다. 도 28은 NB에 대응되는, 사용된 18 (KBit) 블록 램의 개수를 보여준다. 도 28에 도시된 바와 같이, 최대 지원 가능한 메모리 사이즈는 1000*1000으로 제한된다. 선택된 디바이스가 376*18 (KBit) 블록 램들을 구비하기 때문이다. 로직 슬라이스들 42,176의 최대 개수와 비교하기 위해, NT 및 NB는 복잡성 특면에서 중요한 요소들이 된다. 그러므로, NE 및 NLIB는 전반적인 사용량에 영향을 주고, NT 및 NB는 메모리 복잡성에 대해 제한을 준다.
이상에서는 단일 프로세싱 실행 모델에서의 아키텍처 구조에 대하여 기술하였다. 다음으로 다중 프로세싱 실행 모델에 대하여 설명한다.
먼저, 상효연결 유형 및 다중 PE에 대하여 알아본다. 성능 향상을 위해, 다중 프로세싱 실행 모델이 소개된다. 도 29는 입력 데이터 스트림이 버스를 통해 수신되는 것을 도시한다. 타겟 FPGA는 다이렉트 연결 밴드 폭으로 핀 할당을 지원해야 한다. 예를 들어, 사진이 4개의 프로세싱 요소들로 640*512*224 크기를 가질 때, 152 I/O 패드들이 (address) = 100, (data) = 48 및 기입 인에이블 신호들과 같은 컨트롤러들을 위한 것들에 대해 요구된다. 본 발명의 타겟 FPGA는 768 I/O 패드들을 지원한다. 각 프로세싱 요소 및 뱅크는 동일한 속도를 갖는다. 프로세싱 요소들이 하나의 분류된 뱅크로 접근하기 때문이다.
두 개의 프로세싱 요소들이 버스를 공유하고, 입력되는 데이터가 멀티플렉스 된다. 예를 들어, 프로세싱 요소 1 및 2가 외부 메모리의 하나의 뱅크 1에 접근한다. 단일 포트 블록이 최대 속도 335 MHz로 동작하므로, 하나의 버스 구조를 사용한 구현은 각 단일 프로세싱 요소가 125 MHz에서 동작하는 경우, 불가능하다.
PPC에서의 부동 오퍼레이터가 병렬적인 로직 블록들을 연속적으로 수행하기 때문에, 버스 연결이 구현을 위해 선택된다. 전반적인 처리량은 PPC의 패스에 의해 결정된다. 입력되는 데이터는 병력적일 필요가 없고, 다이렉트 연결은 적어도 2번의 I/O 패드들을 사용한다. 무엇보다도, 버스 유형은 버퍼 크기를 줄인다. 기입 동작이 독출 동작과 같기 때문이다. 기입 데이터 시간이 빠르더라도, 방해 속도가 어큐물레이터의 실행 시간에 의하므로, 이는 전반적인 처리량에 영향을 주지 아니한다.
각 프로세서 코어가 검출 및 업데이트를 단일 패스로 설명되는 반면, 하나의 코아는 도 29에 도시되는 바와 같이, 다중 패스로도 동작할 수 있다.
처리량에 대해 분석해 본다. 도 30은 검출이 4개의 프로세싱 요소들로 수행되는 경우의 NB에 대응되는 검출된 고분광 영상 개수들을 도시한다. 서로 다른 곡선들은 다른 NLIB 및 각 프로세싱 요소는 하나의 PPC에 의해 구현된다. 도 30에 도시된 바와 같이, 전반적인 처리량은 백그라운드 샘플들이 증가하더라도 변화하지 아니한다. 처리량은 단지 NLIB가 감소하는 경우에 증가한다. 이 그래프는 NB가 전반적인 처리량에 영향을 미치지 아니함을 보여준다. PPC에서의 실행 속도가 처리의 방해가 되기 때문이다.
도 31은 구현된 PPC의 개수를 제외하고는 도 34와 동일하다. 도 31은 각 프로세싱 요소에 두 개의 PPC가 적용되는 경우를 도시한다. 처리량은 NE 및 NLIB와 상당히 관련이 있다. 이 관계는 도 32 및 도 33에 의해 분석될 수 있다. 양 그래프는 네 개의 프로세싱 요소들을 갖는 처리량 및 각 프로세싱 요소들이 두 개의 PPC를 갖는 경우를 추정한다.
고분광 영상 프로세싱을 위한 실시간 타겟 검출 구조가 개시되었다. 본 발명의 실시예에 따른 구조는 높은 처리량이 요구되는 어플리케이션들을 위한 감소된 복잡성 알고리즘에 기반한다. 다중 레벨 파이프라이닝 구조는 전반적인 처리량을 향상시키고, 또한, 본 발명의 실시예에 따른 구조는 실행 속도를 프로세싱 요소들로 개선되도록 스케일러블하다. 제안된 파이프라이닝은 또한, 전반적인 메모리 사용량 및 메모리 속도 방해 영향을 최소화한다. 제안된 구조는 하드웨어 복잡성 및 감소된 복잡성을 갖는 고분광 영상 프로세싱의 실행 처리량과의 관계를 검증하기 위해 FPGA에서 설계되고 구현된다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (5)

  1. 고분광 프로세싱에 기반을 둔 실시간 타겟 검출 방법에 있어서,
    프리프로세싱된 임의의 픽셀에 대해 라이브러리에 근거하여 타겟 및/또는 백그라운드로 검출하는 단계; 및
    상기 타겟 및/또는 상기 백그라운드로부터 타겟 샘플들 및/또는 백그라운드 샘플들을 추출하여, 상기 라이브러리를 리파인하는 단계를 구비하는 것을 특징으로 하는 실시간 타겟 검출 방법.
  2. 제 1 항에 있어서, 상기 라이브러리를 리파인하는 단계는,
    기여 요소에 근거하여, 상기 픽셀에 대한 효과적인 밴드 목록을 작성하는 단계를 포함하는 것을 특징으로 하는 실시간 타겟 검출 방법.
  3. 제 1 항에 있어서, 상기 타겟 및/또는 백그라운드로 검출하는 단계는,
    상기 리파인된 라이브러리로부터 효과적인 밴드 목록을 로드하는 단계;
    상기 효과적인 밴드의 목록에 근거한 스펙트럼 정보 및 상기 라이브러리로부터 상관 계수를 구하는 단계; 및
    상기 상관 계수의 크기에 근거하여 상기 타겟 및/또는 상기 백그라운드를 결정하는 단계를 구비하는 것을 특징으로 하는 실시간 타겟 검출 방법.
  4. 제 3 항에 있어서, 상기 타겟 및/또는 상기 백그라운드를 결정하는 단계는,
    상기 상관 계수가 상기 픽셀 및 상기 라이브러리와의 관계를 나타내는 최소 상관 계수보다 큰 경우, 상기 픽셀을 타겟으로 검출하는 것을 특징으로 하는 실시간 타겟 검출 방법.
  5. 제 1 항에 있어서, 상기 타겟 및/또는 백그라운드로 검출하는 단계는,
    파이프라인 구조를 사용하여, 상기 픽셀을 처리하는 것을 특징으로 하는 실시간 타겟 검출 방법.
KR1020080017674A 2008-02-27 2008-02-27 복잡성이 감소된 고분광 프로세싱에 기반을 둔 실시간 타겟검출 방법 KR100963797B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020080017674A KR100963797B1 (ko) 2008-02-27 2008-02-27 복잡성이 감소된 고분광 프로세싱에 기반을 둔 실시간 타겟검출 방법
CN2008801274590A CN101960291B (zh) 2008-02-27 2008-04-02 基于降低复杂度的超谱处理的目标检测方法
US12/918,300 US8081825B2 (en) 2008-02-27 2008-04-02 Method for realtime target detection based on reduced complexity hyperspectral processing
JP2010548593A JP5336520B2 (ja) 2008-02-27 2008-04-02 複雑性が減少した高分光プロセッシングに基づくリアルタイムターゲット検出方法
PCT/KR2008/001840 WO2009107893A1 (en) 2008-02-27 2008-04-02 Method for realtime target detection based on reduced complexity hyperspectral processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080017674A KR100963797B1 (ko) 2008-02-27 2008-02-27 복잡성이 감소된 고분광 프로세싱에 기반을 둔 실시간 타겟검출 방법

Publications (2)

Publication Number Publication Date
KR20090092433A true KR20090092433A (ko) 2009-09-01
KR100963797B1 KR100963797B1 (ko) 2010-06-17

Family

ID=41016257

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080017674A KR100963797B1 (ko) 2008-02-27 2008-02-27 복잡성이 감소된 고분광 프로세싱에 기반을 둔 실시간 타겟검출 방법

Country Status (5)

Country Link
US (1) US8081825B2 (ko)
JP (1) JP5336520B2 (ko)
KR (1) KR100963797B1 (ko)
CN (1) CN101960291B (ko)
WO (1) WO2009107893A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165628A (zh) * 2018-09-12 2019-01-08 首都师范大学 提高动目标检测精度的方法、装置、电子设备及存储介质
CN109255353A (zh) * 2018-09-12 2019-01-22 首都师范大学 一种动目标检测方法、装置、电子设备及存储介质

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8406469B2 (en) * 2009-07-20 2013-03-26 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration System and method for progressive band selection for hyperspectral images
US8755564B1 (en) * 2010-02-17 2014-06-17 The Boeing Company Technique to increase speed of asynchronous pulse processing based hyperspectral target detection algorithm
CN102141508A (zh) * 2010-12-31 2011-08-03 天津大学 一种物体内部虚拟超谱图的获取方法
CN102540271B (zh) * 2011-12-27 2014-03-19 南京理工大学 基于增强约束稀疏回归的半监督高光谱亚像元目标检测法
US20140003673A1 (en) * 2012-06-27 2014-01-02 The Government Of The United States Of America, As Represented By The Secretary Of The Navy Hyperspectral imagery trafficability tool
GB2506649A (en) * 2012-10-05 2014-04-09 Bae Systems Plc Hyperspectral image processing using estimated global covariance and mean
GB2506687B (en) 2012-10-08 2018-02-07 Bae Systems Plc Hyperspectral imaging of a moving scene
US8891870B2 (en) * 2012-11-09 2014-11-18 Ge Aviation Systems Llc Substance subtraction in a scene based on hyperspectral characteristics
US9442011B2 (en) 2014-06-23 2016-09-13 Exxonmobil Upstream Research Company Methods for calibrating a multiple detector system
US9448134B2 (en) 2014-06-23 2016-09-20 Exxonmobil Upstream Research Company Systems for detecting a chemical species and use thereof
US9501827B2 (en) 2014-06-23 2016-11-22 Exxonmobil Upstream Research Company Methods and systems for detecting a chemical species
US9471969B2 (en) 2014-06-23 2016-10-18 Exxonmobil Upstream Research Company Methods for differential image quality enhancement for a multiple detector system, systems and use thereof
US10393583B2 (en) * 2016-08-09 2019-08-27 Northrop Grumman Systems Corporation Calibration target for hyperspectral image sensor
US11456059B2 (en) 2017-08-22 2022-09-27 Geospatial Technology Associates Llc System, apparatus and method for hierarchical identification, multi-tier target library processing, and two-stage identification
CN110275842B (zh) * 2018-07-09 2022-10-21 西北工业大学 基于fpga的高光谱目标跟踪系统及方法
CN111598044B (zh) * 2020-05-27 2022-02-01 长光卫星技术有限公司 适用于高分辨率遥感卫星视频数据的目标检测与跟踪方法
CN112903952B (zh) * 2021-01-21 2022-05-27 北京航空航天大学 一种金属板结构损伤评价系统和方法
CN113075129B (zh) * 2021-02-07 2023-03-31 浙江师范大学 一种基于近邻子空间划分高光谱影像波段选择方法及系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4885697A (en) * 1988-09-01 1989-12-05 E. I. Du Pont De Nemours And Company Method of identifying spectra
US6804394B1 (en) * 1998-04-10 2004-10-12 Hsu Shin-Yi System for capturing and using expert's knowledge for image processing
US6771798B1 (en) * 1998-11-03 2004-08-03 The United States Of America As Represented By The Secretary Of The Navy Hyperspectral visualization extensible workbench
US6282301B1 (en) * 1999-04-08 2001-08-28 The United States Of America As Represented By The Secretary Of The Army Ares method of sub-pixel target detection
US6813380B1 (en) * 2001-08-14 2004-11-02 The United States Of America As Represented By The Secretary Of The Army Method of determining hyperspectral line pairs for target detection
US7194111B1 (en) * 2003-07-10 2007-03-20 The United States Of America As Represented By The Secretary Of The Navy Hyperspectral remote sensing systems and methods using covariance equalization
US7040570B2 (en) * 2003-09-29 2006-05-09 The United States Of America As Represented By The Secretary Of The Army Weather-agile reconfigurable automatic target recognition system
CN1677085A (zh) * 2004-03-29 2005-10-05 中国科学院遥感应用研究所 对地观测技术的农业应用集成系统及其方法
CN1317551C (zh) * 2004-06-29 2007-05-23 中国国土资源航空物探遥感中心 基于光谱混合组成的高光谱矿物极大相关识别方法
JP4623412B2 (ja) * 2004-06-29 2011-02-02 日本電気株式会社 端成分データベース構築方法、端成分データベース構築装置及び端成分データベース構築プログラム
JP4193760B2 (ja) 2004-06-29 2008-12-10 日本電気株式会社 画像パターン補正方法、及びそれを適用した模擬画像生成方法、並びにパターン外観検査方法
US7450761B2 (en) * 2004-11-02 2008-11-11 The Boeing Company Spectral geographic information system
JP2006250827A (ja) * 2005-03-11 2006-09-21 Pasuko:Kk 作物の生育状況分析方法
US20060221335A1 (en) * 2005-04-04 2006-10-05 Bangalore Arjun S Method and apparatus for interactive hyperspectral image subtraction
JP4626418B2 (ja) * 2005-06-27 2011-02-09 トヨタ自動車株式会社 対象物検出装置、及び対象物検出方法
CN100362319C (zh) * 2005-07-05 2008-01-16 华东师范大学 航空高光谱遥感反演边界层气溶胶光学厚度的检测方法
CN100365435C (zh) * 2005-12-05 2008-01-30 牛铮 一种遥感影像光谱细分方法
JP2007226334A (ja) * 2006-02-21 2007-09-06 Omron Corp カラー画像の処理方法およびカラー画像処理装置
JP2008026147A (ja) 2006-07-21 2008-02-07 Dainippon Printing Co Ltd カラーフィルタの検査装置及びカラーフィルタの検査方法
JP2008152709A (ja) * 2006-12-20 2008-07-03 Hitachi Software Eng Co Ltd 地理画像処理装置、及びプログラム
US7956761B2 (en) * 2007-05-29 2011-06-07 The Aerospace Corporation Infrared gas detection and spectral analysis method
CN100547438C (zh) * 2007-07-10 2009-10-07 廊坊开发区中油油田科技工贸有限责任公司 一种油气勘探方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165628A (zh) * 2018-09-12 2019-01-08 首都师范大学 提高动目标检测精度的方法、装置、电子设备及存储介质
CN109255353A (zh) * 2018-09-12 2019-01-22 首都师范大学 一种动目标检测方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US8081825B2 (en) 2011-12-20
US20100329512A1 (en) 2010-12-30
KR100963797B1 (ko) 2010-06-17
WO2009107893A1 (en) 2009-09-03
CN101960291A (zh) 2011-01-26
JP2011513826A (ja) 2011-04-28
CN101960291B (zh) 2012-08-22
JP5336520B2 (ja) 2013-11-06

Similar Documents

Publication Publication Date Title
KR100963797B1 (ko) 복잡성이 감소된 고분광 프로세싱에 기반을 둔 실시간 타겟검출 방법
US10817260B1 (en) Reducing dynamic power consumption in arrays
US11816446B2 (en) Systolic array component combining multiple integer and floating-point data types
US6212628B1 (en) Mesh connected computer
Pestana et al. A full featured configurable accelerator for object detection with YOLO
Huang et al. Codenet: Efficient deployment of input-adaptive object detection on embedded fpgas
KR20190053262A (ko) 신경망 계산 유닛에서 입력 데이터의 희소성 이용
CN109871949A (zh) 卷积神经网络加速器及加速方法
Nacci et al. A high-level synthesis flow for the implementation of iterative stencil loop algorithms on FPGA devices
Zhang et al. A GPU-based algorithm-specific optimization for high-performance background subtraction
Fischaber et al. Soc memory hierarchy derivation from dataflow graphs
Cong et al. Accelerating vision and navigation applications on a customizable platform
Westerlund et al. Performance analysis of GPU-accelerated filter-based source finding for HI spectral line image data
Tabkhi et al. An efficient architecture solution for low-power real-time background subtraction
EP2666094A1 (en) Quantifying method for intrinsic data transfer rate of algorithms
Nickel et al. High-performance AKAZE implementation including parametrizable and generic HLS modules
Saussard et al. Towards an automatic prediction of image processing algorithms performances on embedded heterogeneous architectures
US11842169B1 (en) Systolic multiply delayed accumulate processor architecture
US20210397864A1 (en) Hardware Accelerator for Integral Image Computation
Luo et al. FPGA implementation of an interval type-2 TSK fuzzy neural system for illuminant estimation and white balance
López-Lagunas et al. Streaming data movement for real-time image analysis
KR20170052382A (ko) 데이터를 병렬 처리하는 방법 및 이를 위한 장치
Roy et al. A Modified Hill Climbing Based Watershed Algorithm and Its Real Time FPGA Implementation
KR20210067374A (ko) Openmp 기반 위성영상 해상도 최적화 방법
WO2014140697A1 (en) A method for data partitioning and assignment

Legal Events

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

Payment date: 20160325

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180411

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190326

Year of fee payment: 10