KR20230115127A - 영상 안정화를 수행하는 이동 객체 검출 방법 및 장치 - Google Patents

영상 안정화를 수행하는 이동 객체 검출 방법 및 장치 Download PDF

Info

Publication number
KR20230115127A
KR20230115127A KR1020220011746A KR20220011746A KR20230115127A KR 20230115127 A KR20230115127 A KR 20230115127A KR 1020220011746 A KR1020220011746 A KR 1020220011746A KR 20220011746 A KR20220011746 A KR 20220011746A KR 20230115127 A KR20230115127 A KR 20230115127A
Authority
KR
South Korea
Prior art keywords
frame
value
global motion
input image
stabilization
Prior art date
Application number
KR1020220011746A
Other languages
English (en)
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 KR1020220011746A priority Critical patent/KR20230115127A/ko
Publication of KR20230115127A publication Critical patent/KR20230115127A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • 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/20212Image combination
    • G06T2207/20224Image subtraction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)

Abstract

본 발명은 입력 영상에 대한 사선 거리(Slant Range)를 확인하고, 사선 거리에 기초하여 스킵 간격을 결정하며, 스킵 간격에 기초하여 입력 영상에 대한 안정화를 수행하고, 안정화된 입력 영상을 이용하여 차 영상을 생성하며, 차 영상으로부터 이동 객체를 검출하는, 이동 객체 검출 방법을 제공한다.

Description

영상 안정화를 수행하는 이동 객체 검출 방법 및 장치{MOVING OBJECT DETECTION METHOD AND APPARATUS FOR IMAGE STABILIZATION}
본 발명은 영상 안정화를 수행하는 이동 객체 검출 방법 및 장치에 관한 것으로, 더욱 상세하게는, 입력 영상에 대해 영상 안정화를 수행하여 안정화된 입력 영상에서 이동 객체를 검출하는 방법 및 장치에 관한 것이다.
적외선 영상(Infrared) 등의 영상에서 이동 표적을 탐지하기 위하여 이동 표적 표시 기법이 많이 이용되고 있다. 이동 표적 표시 기법은 데이터로부터 변화를 감지하여 이동 표적을 검출하는 필터를 말한다. 직접적으로 객체를 검출하는 것이 아닌, 검출을 위해 물체 추적 기술과 융합하여 이용된다.
이와 같은, 이동 표적 표시 기법은 크게 변화 검출 기술과 객체 추적 기술로 나뉜다. 변화 검출 기술은 목표 객체에 대한 사전 정보 없이, 영상 프레임 간의 변화로부터 이동 중인 목표 객체를 검출하는 방식이며, 객체 추적 기술은 사전에 주어진 목표 객체의 정보와 현재 영상의 정보를 비교하여 일치도가 높은 지점을 찾는 방식이다. 따라서, 이동 표적 표시 기법은 먼저 변화 검출 기술을 적용 후, 객체 추적 기술이 적용되는 순서로 이루어진다.
다시 말해서, 이동 표적 표시 기법을 사용하기 위해서는 영상 프레임 간의 변화로부터 이동 표적을 검출하여야 한다. 이때, 프레임 간의 변화에만 초점을 맞추기 때문에 최소 두 프레임, 즉, 이전 프레임과 현재 프레임을 이용한다. 이때, 카메라의 움직임 요소를 고려해야 하는데, 카메라가 움직일 경우에는 배경에 대응되는 픽셀의 정보도 변하므로 카메라 및 배경의 상대적 움직임을 해석하여 영상을 정렬해주는 영상 안정화 과정이 요구된다.
이와 관련하여, 영상 안정화 방법으로는 객체의 영역 이동량을 계산하는 방법, 에지 영상을 매칭하여 흔들림을 계산하는 방법, 상호 관계에 의한 벡터를 이용하여 흔들림 양을 측정하는 방법, Optical Flow 기능을 이용하여 흔들림을 계측하고, 계측된 값들에 존재하는 오차를 제거하는 방법, Kalman Filter를 이용하여 흔들림을 완화하는 등의 다양한 방법들이 이용된다.
이와 같이, 영상 안정화가 끝난 차 영상을 연속으로 나열하여 이동 객체의 움직임을 확인할 수 있으며, 차 영상을 바탕으로 추적 필터 등을 이용하여 이동 객체를 검출할 수 있다.
다만, 실시간 임베디드 시스템 환경에서는 차 영상 생성을 위해 매 프레임마다 안정화를 수행하는 경우에는 연산 부담이 매우 커진다. 더욱이, 실시간 임베디드 시스템 환경에서는 영상 안정화 실패로 인해, 이동 객체를 추적하는 과정에서, 추적 필터에 부정확한 정보를 제공할 수 있는 위험성이 존재한다.
국내등록특허 제10-1883481호(2018.07.24.) 국내등록특허 제10-1428229호(2014.08.01.)
본 발명이 해결하고자 하는 기술적 과제는 입력 영상에 대해 영상 안정화를 수행하고, 안정화된 입력 영상에 포함된 프레임들로부터 차 영상을 생성하여 이동 객체를 검출하는 이동 객체 검출 방법 및 장치를 제공하는 것이다.
본 발명의 일측면은, 입력 영상에 대한 사선 거리(Slant Range)를 확인하는 단계; 상기 사선 거리에 기초하여 스킵 간격을 결정하는 단계; 상기 스킵 간격에 기초하여 상기 입력 영상에 대한 안정화를 수행하는 단계; 상기 안정화된 입력 영상을 이용하여 차 영상을 생성하는 단계; 및 상기 차 영상으로부터 이동 객체를 검출하는 단계;를 포함할 수 있다.
또한, 상기 입력 영상에 대한 안정화를 수행하는 단계는, 상기 입력 영상에 포함된 다수의 프레임 중, 제 1 프레임과, 상기 제 1 프레임으로부터 상기 스킵 간격을 갖는 제 2 프레임에 대한 안정화가 수행되는 동안, 상기 제 1 프레임과 상기 제 2 프레임 사이의 제 3 프레임과, 상기 제 3 프레임으로부터 상기 스킵 간격을 갖는 제 4 프레임에 대한 안정화가 수행될 수 있다.
또한, 상기 입력 영상에 대한 안정화를 수행하는 단계는, 상기 제 1 프레임과 상기 제 3 프레임을 이용하여 전역 움직임 초기 값을 산출하고, 상기 제 3 프레임과 상기 제 4 프레임에 대한 안정화에 상기 전역 움직임 초기 값을 적용할 수 있다.
또한, 상기 입력 영상에 대한 안정화를 수행하는 단계는, 상기 입력 영상에 포함된 다수의 프레임 중, 제 1 프레임과, 상기 제 1 프레임으로부터 상기 스킵 간격을 갖는 제 2 프레임을 이용하여, 상기 제 1 프레임과 상기 제 2 프레임 사이의 전역 움직임 값을 산출하는 단계; 상기 전역 움직임 값에 기초하여, 상기 제 2 프레임까지의 제 1 전역 움직임 누적 값을 결정하는 단계; 및 상기 제 1 전역 움직임 누적 값을 이용하여 상기 입력 영상에 대한 안정화를 수행하는 단계;를 포함할 수 있다.
또한, 상기 전역 움직임 누적 값을 결정하는 단계는, 상기 제 1 프레임 직전까지 누적된 제 2 전역 움직임 누적 값과, 상기 전역 움직임 값에 기초하여, 상기 제 1 전역 움직임 누적 값에 대한 후보 값을 산출하는 단계; 상기 제 2 전역 움직임 누적 값과, 상기 제 1 전역 움직임 누적 값에 대한 후보 값 사이의 거리 차이를 산출하는 단계; 상기 거리 차이에 기초하여 상기 안정화에 대한 성공 여부를 판단하는 단계; 및 상기 판단에 기초하여 상기 제 1 전역 움직임 누적 값을 결정하는 단계;를 포함할 수 있다.
또한, 상기 안정화에 대한 성공 여부를 판단하는 단계는, 상기 거리 차이가 미리 설정된 제 1 임계 값보다 크면, 상기 안정화에 대해 실패로 판단하고, 상기 거리 차이가 상기 제 1 임계 값보다 작거나 같으면, 상기 안정화에 대해 성공으로 판단할 수 있다.
또한, 상기 안정화에 대한 성공 여부를 판단하는 단계는, 상기 안정화가 성공으로 판단된 경우에, 상기 거리 차이가 미리 설정된 제 2 임계 값보다 크면, 상기 제 2 전역 움직임 누적 값과, 상기 제 1 프레임의 직전 프레임을 통해 산출된 전역 움직임 값을 이용하여 상기 제 1 전역 움직임 누적 값을 결정하고, 상기 거리 차이가 상기 제 2 임계 값보다 작거나 같으면, 상기 제 1 전역 움직임 누적 값에 대한 후보 값을 상기 제 1 전역 움직임 누적 값으로서 결정할 수 있다.
또한, 상기 안정화에 대한 성공 여부를 판단하는 단계는, 상기 안정화가 실패로 판단된 경우에, 상기 제 1 전역 움직임 누적 값을 초기화할 수 있다.
또한, 상기 전역 움직임 값을 산출하는 단계는, 상기 전역 움직임 값에 대한 적합 유무를 판단하는 단계; 및 상기 판단에 기초하여 상기 전역 움직임 값이 적합하지 않으면, 상기 제 1 전역 움직임 누적 값을 초기화하는 단계;를 포함할 수 있다.
또한, 상기 제 2 프레임의 다음 프레임에 대해, 상기 전역 움직임 값을 산출하는 단계, 상기 제 1 전역 움직임 누적 값을 결정하는 단계 및 상기 입력 영상에 대한 안정화를 수행하는 단계를 수행할 수 있다.
또한, 상기 차 영상으로부터 이동 객체를 검출하는 단계는, 상기 사선 거리에 기초하여 상기 이동 객체의 크기를 예측하는 단계; 상기 예측된 크기에 기초하여 상기 차 영상에 중심 마스크와 배경 마스크를 생성하는 단계; 및 상기 중심 마스크에 포함된 다수의 픽셀 값과, 상기 배경 마스크에 포함된 다수의 픽셀 값의 차이 값에 기초하여 상기 이동 객체의 위치를 검출하는 단계;를 포함할 수 있다.
또한, 상기 이동 객체의 위치를 검출하는 단계는, 상기 차 영상 내에서 상기 중심 마스크와 상기 배경 마스크를 이동시키며 상기 차이 값을 산출하는 단계; 상기 차이 값이 미리 설정된 제 3 임계 값보다 작거나 같으면 상기 중심 마스크와 상기 배경 마스크를 이동시키고, 크면 상기 중심 마스크의 위치를 상기 이동 객체의 위치 후보로 설정하는 단계; 및 상기 차 영상으로부터 검출된 적어도 하나의 위치 후보에 기초하여 상기 이동 객체의 중심 좌표를 결정하는 단계;를 포함할 수 있다.
또한, 상기 차 영상에 중심 마스크와 배경 마스크를 생성하는 단계는, 상기 배경 마스크를 다수개 생성하여 상기 중심 마스크를 둘러싸도록 배치할 수 있다.
또한, 상기 스킵 간격을 결정하는 단계는, 상기 사선 거리에 비례하도록 상기 스킵 간격을 결정할 수 있다.
본 발명의 다른 일측면은, 입력 영상이 저장되는 메모리; 및 입력 영상에 대한 사선 거리(Slant Range)를 확인하고, 상기 사선 거리에 기초하여 스킵 간격을 결정하며, 상기 스킵 간격에 기초하여 상기 입력 영상에 대한 안정화를 수행하고, 상기 안정화된 입력 영상을 이용하여 차 영상을 생성하며, 상기 차 영상으로부터 이동 객체를 검출하는 프로세서;를 포함할 수 있다.
본 발명의 또 다른 일측면은, 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서, 상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면, 입력 영상에 대한 사선 거리(Slant Range)를 확인하는 단계; 상기 사선 거리에 기초하여 스킵 간격을 결정하는 단계; 상기 스킵 간격에 기초하여 상기 입력 영상에 대한 안정화를 수행하는 단계; 상기 안정화된 입력 영상을 이용하여 차 영상을 생성하는 단계; 및 상기 차 영상으로부터 이동 객체를 검출하는 단계;를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다.
본 발명의 다른 일측면은, 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면, 입력 영상에 대한 사선 거리(Slant Range)를 확인하는 단계; 상기 사선 거리에 기초하여 스킵 간격을 결정하는 단계; 상기 스킵 간격에 기초하여 상기 입력 영상에 대한 안정화를 수행하는 단계; 상기 안정화된 입력 영상을 이용하여 차 영상을 생성하는 단계; 및 상기 차 영상으로부터 이동 객체를 검출하는 단계;를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함할 수 있다.
상술한 본 발명의 일측면에 따르면, 영상 안정화를 수행하는 이동 객체 검출 방법 및 장치를 제공함으로써, 입력 영상에 대해 영상 안정화를 수행하고, 안정화된 입력 영상에 포함된 프레임들로부터 차 영상을 생성하여 이동 객체를 검출할 수 있다.
상술한 본 발명의 다른 일측면에 따르면, 영상 안정화에 대해 이전 프로세싱 과정에서 누적된 움직임 값과, 현재 프로세싱 과정에서 누적된 움직임 값의 거리 차이를 산출함으로써, 현재 프로세싱에서의 영상 안정화에 대한 성공 여부를 보다 정확히 판단할 수 있다.
상술한 본 발명의 또 다른 일측면에 따르면, 다중 프로세스를 통해 영상 안정화를 수행함으로써, 영상 안정화를 보다 빠르고 효율적으로 수행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 이동 객체 검출 장치의 블록도이다.
도 2 및 도 3은 도 1의 입력 영상의 일 실시예를 나타낸 도면이다.
도 4 및 도 5는 도 1의 프로세서가 영상 안정화를 수행하는 과정의 일 실시예를 나타낸 도면이다.
도 6은 도 1의 프로세서가 생성하는 중심 마스크와 배경 마스크의 일 실시예를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 이동 객체 검출 방법의 순서도이다.
도 8은 도 7의 입력 영상에 대한 안정화를 수행하는 단계의 세부 순서도이다.
도 9는 도 8의 전역 움직임 값을 산출하는 단계의 세부 순서도이다.
도 10은 도 8의 제 1 전역 움직임 누적 값을 결정하는 단계의 세부 순서도이다.
도 11은 도 7의 차 영상으로부터 이동 객체를 검출하는 단계의 세부 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 이동 객체 검출 장치의 블록도이다.
도 1을 참조하면, 이동 객체 검출 장치(100)는 입출력 모듈(110), 프로세서(120) 및 메모리(130)를 포함할 수 있다.
입출력 모듈(110)은 입력 영상(131)이 입력될 수 있다. 이에 따라, 메모리(130)에는 입력 영상(131)이 저장될 수 있다. 여기에서, 입력 영상(131)은 위성 및 항공 등에서 촬영된 적외선(Infrared) 영상 및 항공 영상 등을 포함할 수도 있다.
이에 따라, 입력 영상(131)은 사선 거리(Slant Range)를 포함할 수 있다. 사선 거리는 입력 영상(131)을 촬영한 위성 및 항공 등으로부터 객체, 지표면 및 해수면 등까지의 직선 거리일 수 있다.
한편, 프로세서(120)는 입력 영상(131)에 대한 사선 거리를 확인할 수 있다. 일 실시예에서, 프로세서(120)는 입력 영상(131)의 헤더(Header)에 설정되어 있는 사선 거리를 확인할 수 있다.
이에 따라, 프로세서(120)는 사선 거리에 기초하여 스킵 프레임(Skip Frame)의 간격인 스킵 간격을 결정할 수 있다. 이때, 프로세서(120)는 사선 거리에 비례하도록 스킵 간격을 결정할 수 있다. 예를 들어, 프로세서(120)는 사선 거리가 멀어질수록 커지고, 사선 거리가 가까워질수록 작아지도록 스킵 간격을 결정할 수 있다.
일 실시예에서, 프로세서(120)는 아래의 수학식 1을 통해 스킵 간격을 결정할 수 있다.
Figure pat00001
수학식 1에서, SF는 스킵 간격이고, SR은 사선 거리일 수 있다. 또한, 500은 사선 거리에 대한 비율 값으로서, 사선 거리에 대한 스킵 간격의 비율일 수 있다. 또한, Constant는 입력 영상(131)이 촬영된 환경에 기초한 보정 값으로서, 입력 영상(131)이 촬영된 날씨, 척도 등의 조건에 따라 설정될 수 있다.
이때, 사선 거리에 대한 비율 값 및 입력 영상(131)이 촬영된 환경에 기초한 보정 값은 입력 영상(131)에 따라 다른 값으로도 설정될 수 있음은 물론이다.
프로세서(120)는 스킵 프레임의 간격에 기초하여 입력 영상(131)에 대한 안정화를 수행할 수 있다. 여기에서, 안정화는 입력 영상(131)에 포함된 다수의 프레임들로부터 나타나는 흔들림 등을 보정하는 것으로 이해할 수 있다. 다시 말해서, 안정화는 입력 영상(131)이 촬영되는 시점에서 발생한 카메라의 흔들림 등을 보정하는 것일 수 있다.
이를 위해, 프로세서(120)는 입력 영상(131)에 포함된 다수의 프레임 중, 제 1 프레임과 제 2 프레임 사이의 전역 움직임 값을 산출할 수 있다. 여기에서, 제 1 프레임은 안정화가 수행되도록 기준으로 설정된 프레임일 수 있다. 이에 따라, 제 2 프레임은 제 1 프레임으로부터 스킵 간격을 갖는 프레임일 수 있다.
일 실시예에서, 프로세서(120)는 입출력 모듈(110)을 통해 제 1 프레임을 입력받아 메모리(130)에 저장할 수 있다. 이에 따라, 프로세서(120)는 입출력 모듈(110)을 통해 제 1 프레임을 입력받은 시점으로부터 스킵 간격만큼의 프레임을 통과시키고, 다음 프레임을 제 2 프레임으로서 메모리(130)에 저장할 수 있다.
이를 통해, 프로세서(120)는 제 1 프레임과 제 2 프레임 사이의 전역 움직임 값을 산출할 수 있다. 이때, 전역 움직임 값은 제 1 프레임과 제 2 프레임 사이의 병진(Translation), 확대(Scale) 및 회전(Rotation)에 대한 변화량을 포함할 수 있다.
이와 관련하여, 프로세서(120)는 전역 움직임 값에 대한 적합 유무를 판단하고, 판단에 기초하여 전역 움직임 값이 적합하지 않으면, 제 1 전역 움직임 누적 값을 초기화할 수 있다. 여기에서, 제 1 전역 움직임 누적 값은 입력 영상(131)에 포함된 다수의 프레임에 대해 다수 회의 안정화가 수행되어 누적된 전역 움직임 값일 수 있다.
다시 말해서, 제 1 전역 움직임 누적 값은 현재 시점까지 수행된 영상 안정화에 따라 누적된 움직임 값일 수 있다. 따라서, 제 1 전역 움직임 누적 값을 초기화하는 것은 현재 시점까지 수행된 영상 안정화에 따른 결과를 초기화하고, 다음 프레임으로부터 영상 안정화를 재 수행하는 것일 수 있다.
이를 위해, 프로세서(120)는 전역 움직임 값의 평균 값과, 제 1 프레임 및 제 2 프레임 중 적어도 하나에 포함된 블록의 벡터 값을 비교하여 적합 유무를 판단할 수 있다. 여기에서, 제 1 프레임 및 제 2 프레임 중 적어도 하나에 포함된 블록은 각 프레임에 포함된 픽셀들일 수 있다. 또는 제 1 프레임 및 제 2 프레임 중 적어도 하나에 포함된 블록은 제 1 프레임과 제 2 프레임에 대해 산출된 각 픽셀에서의 전역 움직임 값일 수 있다.
일 실시예에서, 프로세서(120)는 제 1 프레임 및 제 2 프레임 중 적어도 하나에 포함된 블록 중, 각 블록의 벡터 값이 전역 움직임 값의 평균 값보다 큰 블록의 개수가 미리 설정된 개수보다 많으면 전역 움직임 값이 적합하지 않은 것으로 판단할 수 있다.
이에 따라, 프로세서(120)는 제 1 전역 움직임 누적 값을 초기화되면, 제 2 프레임의 다음 프레임에 대해 입력 영상(131)에 대한 안정화를 재 수행할 수 있다. 이때, 프로세서(120)는 메모리(130)에 저장된 입력 영상(131) 및 다수의 프레임을 제거할 수도 있다.
한편, 프로세서(120)는 전역 움직임 값이 적합한 것으로 판단되면, 전역 움직임 값에 기초하여, 제 2 프레임까지의 제 1 전역 움직임 누적 값을 결정할 수 있다.
구체적으로, 프로세서(120)는 제 1 프레임 직전까지 누적된 제 2 전역 움직임 누적 값과, 전역 움직임 값에 기초하여, 제 1 전역 움직임 누적 값에 대한 후보 값을 산출할 수 있다.
여기에서, 제 2 전역 움직임 누적 값은 이전 프로세싱 과정까지 누적된 움직임 값일 수 있다. 다시 말해서, 제 2 전역 움직임 누적 값은 이전 프로세싱에서의 제 1 전역 움직임 누적 값일 수 있다.
또한, 제 1 전역 움직임 누적 값에 대한 후보 값은 현재 프로세싱 과정까지 누적된 움직임 값의 예상 값일 수 있다. 다시 말해서, 제 1 전역 움직임 누적 값에 대한 후보 값은 현재 프로세싱 과정에서 결정될 제 1 전역 움직임 누적 값에 대한 예상 값일 수 있다.
일 실시예에서, 프로세서(120)는 아래의 수학식 2를 통해, 제 1 전역 움직임 누적 값에 대한 후보 값을 산출할 수 있다.
Figure pat00002
수학식 2에서, dx2 및 dy2는 제 1 전역 움직임 누적 값에 대한 후보 값이고, dx1 및 dy1은 제 2 전역 움직임 누적 값일 수 있다. 또한, dx 및 dy는 전역 움직임 값 중 병진(Translation) 속성의 변화량이고, dZoom은 전역 움직임 값 중 확대(Scale) 속성의 변화량이며, dTheta는 전역 움직임 값 중 회전(Rotation) 속성의 변화량일 수 있다.
이에 따라, 프로세서(120)는 제 2 전역 움직임 누적 값과, 제 1 전역 움직임 누적 값에 대한 후보 값 사이의 거리 차이를 산출할 수 있다. 일 실시에서, 프로세서(120)는 아래의 수학식 3을 통해, 제 2 전역 움직임 누적 값과 제 1 전역 움직임 누적 값에 대한 후보 값 사이의 거리 차이를 산출할 수 있다.
Figure pat00003
수학식 3에서, d는 제 2 전역 움직임 누적 값과, 제 1 전역 움직임 누적 값에 대한 후보 값 사이의 거리 차이일 수 있다. 또한, dx2 및 dy2는 제 1 전역 움직임 누적 값에 대한 후보 값이고, dx1 및 dy1은 제 2 전역 움직임 누적 값일 수 있다.
이를 통해, 프로세서(120)는 산출된 거리 차이에 기초하여 안정화에 대한 성공 여부를 판단하고, 판단에 기초하여 제 1 전역 움직임 누적 값을 결정할 수 있다. 여기에서, 안정화에 대한 성공 여부는 제 1 전역 움직임 누적 값에 대한 후보 값에 따른 안정화의 성공 여부를 예측하는 것으로 이해할 수 있다.
이와 관련하여, 프로세서(120)는 거리 차이가 미리 설정된 제 1 임계 값보다 크면, 안정화에 대해 실패로 판단하고, 거리 차이가 제 1 임계 값보다 작거나 같으면, 안정화에 대해 성공으로 판단할 수 있다.
일 실시예에서, 제 1 임계 값은 15로 설정될 수 있다. 이러한 경우에, 프로세서(120)는 거리 차이가 15보다 크면 안정화에 대해 실패로 판단하고, 거리 차이가 15보다 작거나 같으면 안정화에 대해 성공으로 판단할 수 있다.
다만, 제 1 임계 값은 다른 값으로도 설정될 수 있음은 물론이다.
따라서, 프로세서(120)는 이전 프로세싱 과정까지 누적된 움직임 값과, 현재 프로세싱 과정까지 누적된 움직임 값의 예상 값 사이의 거리 차이가, 제 1 임계 값보다 멀다고 판단되면, 현재 프로세싱 과정에서의 영상 안정화가 실패한 것으로 판단할 수 있다.
한편, 프로세서(120)는 안정화가 실패로 판단된 경우에, 제 1 전역 움직임 누적 값을 초기화할 수 있다. 또한, 프로세서(120)는 안정화가 성공으로 판단된 경우에, 거리 차이와 미리 설정된 제 2 임계 값을 비교하여 제 1 전역 움직임 누적 값을 결정할 수 있다.
구체적으로, 프로세서(120)는 안정화가 성공으로 판단된 경우에, 거리 차이가 미리 설정된 제 2 임계 값보다 크면, 제 2 전역 움직임 누적 값과, 제 1 프레임의 직전 프레임을 통해 산출된 전역 움직임 값을 이용하여 제 1 전역 움직임 누적 값을 결정하고, 거리 차이가 미리 설정된 제 2 임계 값보다 작거나 같으면, 제 1 전역 움직임 누적 값에 대한 후보 값을 제 1 전역 움직임 누적 값으로서 결정할 수 있다.
이때, 제 1 프레임의 직전 프레임을 통해 산출된 전역 움직임 값은 제 2 전역 움직임 누적 값이 산출되는 과정에서 산출된 전역 움직임 값일 수 있다. 따라서, 일 실시예에서, 제 2 전역 움직임 누적 값과, 제 1 프레임의 직전 프레임을 통해 산출된 전역 움직임 값을 이용하여 제 1 전역 움직임 누적 값을 결정하는 것은 제 2 전역 움직임 누적 값과 제 1 프레임의 직전 프레임을 통해 산출된 전역 움직임 값을 상기의 수학식 2에 대입하여 제 1 전역 움직임 누적 값을 산출하는 것일 수 있다.
다시 말해서, 프로세서(120)는 안정화가 성공으로 판단된 경우에, 거리 차이가 미리 설정된 제 2 임계 값보다 크면, 이전 프로세싱 과정에서 산출된 전역 움직임 값을 현재 프로세싱에서의 전역 움직임 값으로서 설정하고, 이를 이용하여 제 1 전역 움직임 누적 값을 결정할 수 있다.
또한, 프로세서(120)는 안정화가 성공으로 판단된 경우에, 거리 차이가 미리 설정된 제 2 임계 값보다 작거나 같으면, 현재 프로세싱 과정에서 산출된 전역 움직임 값을 이용하여 제 1 전역 움직임 누적 값을 결정할 수 있다.
일 실시예에서, 제 2 임계 값은 5로 설정될 수 있다. 이러한 경우에, 프로세서(120)는 안정화가 성공으로 판단된 경우에, 거리 차이가 5보다 크면, 제 2 전역 움직임 누적 값과, 제 1 프레임의 직전 프레임을 통해 산출된 전역 움직임 값을 이용하여 제 1 전역 움직임 누적 값을 결정하고, 거리 차이가 5보다 작거나 같으면, 제 1 전역 움직임 누적 값에 대한 후보 값을 제 1 전역 움직임 누적 값으로서 결정할 수 있다.
다만, 제 2 임계 값은 다른 값으로도 설정될 수 있음은 물론이다.
이에 따라, 프로세서(120)는 결정된 제 1 전역 움직임 누적 값을 이용하여 입력 영상(131)에 대한 안정화를 수행할 수 있다. 여기에서, 입력 영상(131)에 대한 안정화를 수행하는 것은 제 1 전역 움직임 누적 값을 이용하여 제 1 프레임과 제 2 프레임을 보상하는 것일 수 있다.
한편, 프로세서(120)는 다수의 프로세스를 생성하여 다수의 프레임에 대한 안정화를 각각 수행할 수 있다.
일 실시예에서, 프로세서(120)는 입력 영상(131)에 포함된 다수의 프레임 중, 제 1 프레임과, 제 1 프레임으로부터 스킵 간격을 갖는 제 2 프레임에 대한 안정화가 수행되는 동안, 제 1 프레임과 제 2 프레임 사이의 제 3 프레임과, 제 3 프레임으로부터 스킵 간격을 갖는 제 4 프레임에 대한 안정화를 수행할 수 있다.
이러한 경우에, 제 1 프레임과 제 2 프레임에 대한 안정화가 하나의 프로세스로 설정되고, 제 3 프레임과 제 4 프레임에 대한 안정화가 다른 하나의 프로세스로 설정될 수 있다.
이에 따라, 프로세서(120)는 제 1 프로세스에서, 입출력 모듈(110)을 통해 제 1 프레임이 입력되면, 메모리(130)에 제 1 프레임을 저장할 수 있다. 이때, 프로세서(120)는 제 2 프레임의 입력을 대기하는 동안, 제 2 프로세스에서, 입출력 모듈(110)을 통해 제 3 프레임이 입력되면, 메모리(130)에 제 3 프레임을 저장할 수 있다.
이후, 프로세서(120)는 제 1 프로세스에서, 입출력 모듈(110)을 통해 제 2 프레임이 입력되면 제 1 프레임과 제 2 프레임에 대한 안정화를 수행하고, 제 2 프레임의 다음 프레임에 대한 안정화를 더 수행할 수 있다.
이에 따라, 프로세서(120)는 제 2 프로세스에서, 입출력 모듈(110)을 통해 제 4 프레임이 입력되면, 제 3 프레임과 제 4 프레임에 대한 안정화를 수행하고, 제 4 프레임의 다음 프레임에 대한 안정화를 더 수행할 수 있다.
이와 관련하여, 프로세서(120)는 제 2 프로세스에서, 미리 설정된 기준 프레임과 제 3 프레임을 이용하여 전역 움직임 초기 값을 산출할 수 있다. 여기에서, 미리 설정된 기준 프레임은 다수의 프로세스에 따라 메모리(130)에 저장된 프레임 중 가장 앞선 프레임일 수 있다.
또한, 전역 움직임 초기 값은 각 프로세스 별로 메모리(130)에 첫 프레임이 저장되는 경우에 산출될 수 있다. 이에 따라, 프로세서(120)는 각 프로세스 별로 제 1 전역 움직임 누적 값에 전역 움직임 초기 값을 적용할 수 있다.
이와 같이, 프로세서(120)는 각 프로세스 별 제 1 전역 움직임 누적 값에 각각의 전역 움직임 초기 값을 적용함으로써, 동일한 프레임을 기준으로 서로 다른 프로세스에서의 안정화를 수행할 수 있다.
한편, 제 3 프레임은 제 1 프레임으로부터 미리 설정된 간격을 갖도록 설정될 수 있다. 일 실시예에서, 제 1 프로세스 내지 제 4 프로세스가 설정되는 경우에, 제 1 프로세스의 첫 프레임 및 제 2 프로세스의 첫 프레임의 간격은, 제 2 프로세스의 첫 프레임 및 제 3 프로세스의 첫 프레임의 간격과 동일하고, 제 3 프로세스의 첫 프레임 및 제 4 프로세스의 첫 프레임의 간격은, 제 1 프로세스의 첫 프레임 및 제 2 프로세스의 첫 프레임의 간격과 동일할 수 있다.
다시 말해서, 다수의 프로세스가 설정되는 경우에, 각 프로세스의 첫 프레임은 제 1 프레임으로부터 동일한 간격으로 멀어지도록 설정될 수 있다.
한편, 다수의 프로세스를 통해 안정화가 수행되는 과정에서, 프로세스들의 개수는 본 명세서에 의해 한정되지 않으며, 본 발명을 수행하는 환경에 따라 다르게 실시될 수 있다.
프로세서(120)는 안정화된 입력 영상(131)을 이용하여 차 영상을 생성할 수 있다. 이를 위해, 프로세서(120)는 안정화된 입력 영상(131) 중 연속된 두 개의 프레임을 이용하여 차 영상을 생성할 수 있다. 여기에서, 차 영상은 연속된 두 개의 프레임을 차분한 결과일 수 있다.
이에 따라, 프로세서(120)는 차 영상으로부터 이동 객체를 검출할 수 있다. 이를 위해, 프로세서(120)는 사선 거리에 기초하여 이동 객체의 크기를 예측하고, 예측된 크기에 기초하여 차 영상에, 중심 마스크와 배경 마스크를 생성할 수 있다.
예를 들어, 프로세서(120)는 사선 거리에 반비례하도록 이동 객체의 크기를 결정할 수 있다. 예를 들어, 프로세서(120)는 사선 거리가 멀어질수록 작아지고, 사선 거리가 가까워질수록 커지도록 이동 객체의 크기를 결정할 수 있다.
이에 따라, 프로세서(120)는 이동 객체의 크기에 대응되도록 중심 마스크를 생성할 수 있다. 이때, 프로세서(120)는 중심 마스크에 대응되도록 배경 마스크를 다수개 생성하고, 다수의 배경 마스크가 중심 마스크를 둘러싸도록 배치할 수 있다. 일 실시예에서, 배경 마스크는 중심 마스크의 크기와 동일하도록 생성될 수 있다.
이를 통해, 프로세서(120)는 중심 마스크에 포함된 다수의 픽셀 값과, 배경 마스크에 포함된 다수의 픽셀 값의 차이 값에 기초하여 이동 객체의 위치를 검출할 수 있다.
구체적으로, 프로세서(120)는 차 영상 내에서 중심 마스크와 배경 마스크를 이동시키며 차이 값을 산출할 수 있다. 예를 들어, 프로세서(120)는 차 영상의 좌 상단으로부터 우 하단을 향해 중심 마스크와 배경 마스크를 이동시킬 수 있다.
이에 따라, 프로세서(120)는 차이 값이 미리 설정된 제 3 임계 값보다 작거나 같으면 중심 마스크와 배경 마스크를 이동시키고, 크면 중심 마스크의 위치를 이동 객체의 위치 후보로 설정할 수 있다.
일 실시예에서, 프로세서(120)는 중심 마스크에 포함된 다수의 픽셀 값의 평균 값과, 배경 마스크에 포함된 다수의 픽셀 값의 평균 값의 차이가 제 3 임계 값보다 큰 경우에 중심 마스크의 현재 위치를 이동 객체의 위치 후보로 설정할 수 있다.
이를 통해, 프로세서(120)는 차 영상으로부터 검출된 적어도 하나의 위치 후보에 기초하여 이동 객체의 중심 좌표를 결정할 수 있다.
이를 위해, 프로세서(120)는 검출된 적어도 하나의 위치 후보에 기초하여 이동 객체의 영역을 설정하고, 설정된 영역에서의 중심 좌표를 이동 객체의 중심 좌표로 설정할 수 있다.
일 실시예에서, 프로세서(120)는 검출된 적어도 하나의 위치 후보 중 좌상단, 좌하단, 우상단 및 우하단에 위치한 위치 후보의 좌표를 추출하고, 4 개의 좌표에 대한 중심 좌표를 산출하여 이동 객체의 중심 좌표로 설정할 수 있다.
도 2 및 도 3은 도 1의 입력 영상의 일 실시예를 나타낸 도면이다.
도 2 및 도 3을 참조하면, 서로 다른 사선 거리에서 동일한 이동 객체가 촬영된 입력 영상(131)을 확인할 수 있다.
일 실시예에서, 도 2의 입력 영상(131a)은 사선 거리가 1000 m이고, 도 3의 입력 영상(131b)은 사선 거리가 500 m일 수 있다.
이와 같이, 사선 거리가 비교적 먼 입력 영상(131a)은 이동 객체의 크기가 비교적 작게 나타나고, 사선 거리가 비교적 가까운 입력 영상(131b)은 이동 객체의 크기가 비교적 크게 나타날 수 있다.
도 4 및 도 5는 도 1의 프로세서가 영상 안정화를 수행하는 과정의 일 실시예를 나타낸 도면이다.
도 4를 참조하면, 단일 프로세스를 통해 안정화가 수행되는 과정을 확인할 수 있다.
이때, 프로세서(120)는 1 번 프레임(#f1)과 10 번 프레임(#f10)의 안정화를 수행한 뒤에, 11 번 프레임과 20 번 프레임(#f20)의 안정화를 수행할 수 있다. 이후, 프로세서(120)는 21 번 프레임과 30 번 프레임(#f30)의 안정화를 수행할 수 있다.
이와 관련하여, 일 실시예에서, 프로세서(120)는 11 번 프레임과 20 번 프레임(#f20)의 안정화가 실패하면, 1 번 프레임(#f1)과 10 번 프레임(#f10)의 안정화 및 11 번 프레임과 20 번 프레임(#f20)의 안정화에 따른 제 1 전역 움직임 누적 값을 초기화하고, 21 번 프레임과 30 번 프레임(#f30)의 안정화를 수행할 수 있다.
도 5를 참조하면, 다수의 프로세스를 통해 안정화가 수행되는 과정을 확인할 수 있다.
이때, 제 1 프로세스(Process 1)는 1 번 프레임(#f1)과 10 번 프레임(#f10)의 안정화를 수행한 뒤에, 11 번 프레임과 20 번 프레임(#f20)의 안정화를 수행할 수 있다. 이후, 프로세서(120)는 21 번 프레임과 30 번 프레임(#f30)의 안정화를 수행할 수 있다.
여기에서, 1 번 프레임(#f1)은 서로 다른 프로세스에 따라 메모리(130)에 저장되는 다수의 프레임 중 가장 먼저 저장되는 프레임으로서, 기준 프레임으로 설정될 수 있다.
또한, 제 2 프로세스(Process 2)는 4 번 프레임(#f4)과 14 번 프레임(#f14)의 안정화를 수행한 뒤에, 15 번 프레임과 24 번 프레임(#f24)의 안정화를 수행할 수 있다. 이후, 프로세서(120)는 25 번 프레임과 34 번 프레임(#f34)의 안정화를 수행할 수 있다.
이때, 제 2 프로세스(Process 2)는 기준 프레임인 1 번 프레임(#f1)과, 제 2 프로세스(Process 2)에서의 첫 번째 프레임인 4 번 프레임(#f4)을 이용하여 제 2 프로세스(Process 2)에서의 전역 움직임 초기 값을 산출할 수 있다. 이에 따라, 제 2 프로세스(Process 2)는 안정화를 통해 산출되는 제 1 전역 움직임 누적 값에, 전역 움직임 초기 값을 적용할 수 있다.
또한, 제 3 프로세스(Process 3)는 8 번 프레임(#f8)과 18 번 프레임(#f18)의 안정화를 수행한 뒤에, 19 번 프레임과 28 번 프레임(#f28)의 안정화를 수행할 수 있다. 이후, 프로세서(120)는 29 번 프레임과 38 번 프레임(#f38)의 안정화를 수행할 수 있다.
이때, 제 3 프로세스(Process 3)는 기준 프레임인 1 번 프레임(#f1)과, 제 3 프로세스(Process 3)에서의 첫 번째 프레임인 8 번 프레임(#f8)을 이용하여 제 3 프로세스(Process 3)에서의 전역 움직임 초기 값을 산출할 수 있다. 이에 따라, 제 3 프로세스(Process 3)는 안정화를 통해 산출되는 제 1 전역 움직임 누적 값에, 전역 움직임 초기 값을 적용할 수 있다.
이와 관련하여, 프로세서(120)는 입출력 모듈(110)을 통해 입력되는 프레임의 순서에 기초하여, 제 1 프로세스(Process 1), 제 2 프로세스(Process 2) 및 제 3 프로세스(Process 3)의 안정화를 번갈아 수행할 수 있다.
이와 같이, 프로세서(120)는 다수의 프로세스를 통해 안정화를 수행함으로써, 더 많은 프레임에 대한 안정화를 보다 빠르게 수행할 수 있다.
한편, 일 실시예에서, 프로세서(120)는 제 2 프로세스(Process 2)에서의 15 번 프레임과 24 번 프레임(#f24)의 안정화가 실패하면, 1 번 프레임(#f1)과 10 번 프레임(#f10)의 안정화, 4 번 프레임(#f4)과 14 번 프레임(#f14)의 안정화, 8 번 프레임(#f8)과 18 번 프레임(#f18)의 안정화, 11 번 프레임과 20 번 프레임(#f20)의 안정화 및 15 번 프레임과 24 번 프레임(#f24)의 안정화에 따른 제 1 전역 움직임 누적 값을 초기화하고, 21 번 프레임 또는 25 번 프레임부터의 안정화를 수행할 수 있다.
도 6은 도 1의 프로세서가 생성하는 중심 마스크와 배경 마스크의 일 실시예를 나타낸 도면이다.
도 6을 참조하면, 중심 마스크(10)를 둘러싸는 8 개의 배경 마스크(20)를 확인할 수 있다.
도 7은 본 발명의 일 실시예에 따른 이동 객체 검출 방법의 순서도이다.
도 7을 참조하면, 프로세서(120)는 입력 영상(131)에 대한 사선 거리(Slant Range)를 확인하고(S100), 사선 거리에 기초하여 스킵 간격을 결정할 수 있다(S200).
이에 따라, 프로세서(120)는 스킵 간격에 기초하여 입력 영상(131)에 대한 안정화를 수행하고(S300), 안정화된 입력 영상(131)을 이용하여 차 영상을 생성할 수 있다(S400).
이를 통해, 프로세서(120)는 차 영상으로부터 이동 객체를 검출할 수 있다(S500).
도 8은 도 7의 입력 영상에 대한 안정화를 수행하는 단계의 세부 순서도이다.
도 8을 참조하면, 프로세서(120)는 입력 영상(131)에 포함된 다수의 프레임 중, 제 1 프레임과, 제 1 프레임으로부터 스킵 간격을 갖는 제 2 프레임을 이용하여, 제 1 프레임과 제 2 프레임 사이의 전역 움직임 값을 산출할 수 있다(S310).
이에 따라, 프로세서(120)는 전역 움직임 값에 기초하여, 제 2 프레임까지의 제 1 전역 움직임 누적 값을 결정하고(S330), 제 1 전역 움직임 누적 값을 이용하여 입력 영상(131)에 대한 안정화를 수행할 수 있다(S350).
도 9는 도 8의 전역 움직임 값을 산출하는 단계의 세부 순서도이다.
도 9를 참조하면, 프로세서(120)는 전역 움직임 값에 대한 적합 유무를 판단하여 전역 움직임 값이 적합하지 않으면, 제 1 전역 움직임 누적 값을 초기화할 수 있다(S321).
도 10은 도 8의 제 1 전역 움직임 누적 값을 결정하는 단계의 세부 순서도이다.
도 10을 참조하면, 프로세서(120)는 제 1 프레임 직전까지 누적된 제 2 전역 움직임 누적 값과, 전역 움직임 값에 기초하여, 제 1 전역 움직임 누적 값에 대한 후보 값을 산출할 수 있다(S331).
이때, 프로세서(120)는 제 2 전역 움직임 누적 값과, 제 1 전역 움직임 누적 값에 대한 후보 값 사이의 거리 차이를 산출할 수 있다(S332).
여기에서, 프로세서(120)는 거리 차이에 기초하여 상기 안정화에 대한 성공 여부를 판단할 수 있다.
구체적으로, 프로세서(120)는 거리 차이가 미리 설정된 제 1 임계 값보다 크면, 상기 안정화에 대해 실패로 판단하여 제 1 전역 움직임 누적 값을 초기화할 수 있다(S333).
또한, 프로세서(120)는 거리 차이가 제 1 임계 값보다 작거나 같으면, 안정화에 대해 성공으로 판단할 수 있다. 이에 따라, 프로세서(120)는 안정화가 성공으로 판단된 경우에, 거리 차이가 미리 설정된 제 2 임계 값보다 크면, 제 2 전역 움직임 누적 값과, 제 1 프레임의 직전 프레임을 통해 산출된 전역 움직임 값을 이용하여 제 1 전역 움직임 누적 값을 결정하고(S334), 거리 차이가 제 2 임계 값보다 작거나 같으면, 제 1 전역 움직임 누적 값에 대한 후보 값을 제 1 전역 움직임 누적 값으로서 결정할 수 있다(S335).
도 11은 도 7의 차 영상으로부터 이동 객체를 검출하는 단계의 세부 순서도이다.
도 11을 참조하면, 프로세서(120)는 사선 거리에 기초하여 이동 객체의 크기를 예측하고(S510), 예측된 크기에 기초하여 차 영상에 중심 마스크와 배경 마스크를 생성할 수 있다(S520).
이에 따라, 프로세서(120)는 중심 마스크에 포함된 다수의 픽셀 값과, 배경 마스크에 포함된 다수의 픽셀 값의 차이 값에 기초하여 이동 객체의 위치를 검출할 수 있다(S530).
본 문서의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)(예: 메모리(내장 메모리 또는 외장 메모리))에 저장된 명령어를 포함하는 소프트웨어(예: 프로그램)로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 장치)를 포함할 수 있다. 상기 명령이 프로세서(예: 프로세서)에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
10: 중심 마스크
20: 배경 마스크
100: 이동 객체 검출 장치
131a, 131b: 입력 영상

Claims (17)

  1. 입력 영상에 대한 사선 거리(Slant Range)를 확인하는 단계;
    상기 사선 거리에 기초하여 스킵 간격을 결정하는 단계;
    상기 스킵 간격에 기초하여 상기 입력 영상에 대한 안정화를 수행하는 단계;
    상기 안정화된 입력 영상을 이용하여 차 영상을 생성하는 단계; 및
    상기 차 영상으로부터 이동 객체를 검출하는 단계;를 포함하는, 이동 객체 검출 방법.
  2. 제 1 항에 있어서, 상기 입력 영상에 대한 안정화를 수행하는 단계는,
    상기 입력 영상에 포함된 다수의 프레임 중, 제 1 프레임과, 상기 제 1 프레임으로부터 상기 스킵 간격을 갖는 제 2 프레임에 대한 안정화가 수행되는 동안,
    상기 제 1 프레임과 상기 제 2 프레임 사이의 제 3 프레임과, 상기 제 3 프레임으로부터 상기 스킵 간격을 갖는 제 4 프레임에 대한 안정화가 수행되는, 이동 객체 검출 방법.
  3. 제 2 항에 있어서, 상기 입력 영상에 대한 안정화를 수행하는 단계는,
    상기 제 1 프레임과 상기 제 3 프레임을 이용하여 전역 움직임 초기 값을 산출하고, 상기 제 3 프레임과 상기 제 4 프레임에 대한 안정화에 상기 전역 움직임 초기 값을 적용하는, 이동 객체 검출 방법.
  4. 제 1 항에 있어서, 상기 입력 영상에 대한 안정화를 수행하는 단계는,
    상기 입력 영상에 포함된 다수의 프레임 중, 제 1 프레임과, 상기 제 1 프레임으로부터 상기 스킵 간격을 갖는 제 2 프레임을 이용하여, 상기 제 1 프레임과 상기 제 2 프레임 사이의 전역 움직임 값을 산출하는 단계;
    상기 전역 움직임 값에 기초하여, 상기 제 2 프레임까지의 제 1 전역 움직임 누적 값을 결정하는 단계; 및
    상기 제 1 전역 움직임 누적 값을 이용하여 상기 입력 영상에 대한 안정화를 수행하는 단계;를 포함하는, 이동 객체 검출 방법.
  5. 제 4 항에 있어서, 상기 전역 움직임 누적 값을 결정하는 단계는,
    상기 제 1 프레임 직전까지 누적된 제 2 전역 움직임 누적 값과, 상기 전역 움직임 값에 기초하여, 상기 제 1 전역 움직임 누적 값에 대한 후보 값을 산출하는 단계;
    상기 제 2 전역 움직임 누적 값과, 상기 제 1 전역 움직임 누적 값에 대한 후보 값 사이의 거리 차이를 산출하는 단계;
    상기 거리 차이에 기초하여 상기 안정화에 대한 성공 여부를 판단하는 단계; 및
    상기 판단에 기초하여 상기 제 1 전역 움직임 누적 값을 결정하는 단계;를 포함하는, 이동 객체 검출 방법.
  6. 제 5 항에 있어서, 상기 안정화에 대한 성공 여부를 판단하는 단계는,
    상기 거리 차이가 미리 설정된 제 1 임계 값보다 크면, 상기 안정화에 대해 실패로 판단하고, 상기 거리 차이가 상기 제 1 임계 값보다 작거나 같으면, 상기 안정화에 대해 성공으로 판단하는, 이동 객체 검출 방법.
  7. 제 6 항에 있어서, 상기 안정화에 대한 성공 여부를 판단하는 단계는,
    상기 안정화가 성공으로 판단된 경우에,
    상기 거리 차이가 미리 설정된 제 2 임계 값보다 크면, 상기 제 2 전역 움직임 누적 값과, 상기 제 1 프레임의 직전 프레임을 통해 산출된 전역 움직임 값을 이용하여 상기 제 1 전역 움직임 누적 값을 결정하고, 상기 거리 차이가 상기 제 2 임계 값보다 작거나 같으면, 상기 제 1 전역 움직임 누적 값에 대한 후보 값을 상기 제 1 전역 움직임 누적 값으로서 결정하는, 이동 객체 검출 방법.
  8. 제 6 항에 있어서, 상기 안정화에 대한 성공 여부를 판단하는 단계는,
    상기 안정화가 실패로 판단된 경우에,
    상기 제 1 전역 움직임 누적 값을 초기화하는, 이동 객체 검출 방법.
  9. 제 4 항에 있어서, 상기 전역 움직임 값을 산출하는 단계는,
    상기 전역 움직임 값에 대한 적합 유무를 판단하는 단계; 및
    상기 판단에 기초하여 상기 전역 움직임 값이 적합하지 않으면, 상기 제 1 전역 움직임 누적 값을 초기화하는 단계;를 포함하는, 이동 객체 검출 방법.
  10. 제 4 항에 있어서,
    상기 제 2 프레임의 다음 프레임에 대해, 상기 전역 움직임 값을 산출하는 단계, 상기 제 1 전역 움직임 누적 값을 결정하는 단계 및 상기 입력 영상에 대한 안정화를 수행하는 단계를 수행하는, 이동 객체 검출 방법.
  11. 제 1 항에 있어서, 상기 차 영상으로부터 이동 객체를 검출하는 단계는,
    상기 사선 거리에 기초하여 상기 이동 객체의 크기를 예측하는 단계;
    상기 예측된 크기에 기초하여 상기 차 영상에 중심 마스크와 배경 마스크를 생성하는 단계; 및
    상기 중심 마스크에 포함된 다수의 픽셀 값과, 상기 배경 마스크에 포함된 다수의 픽셀 값의 차이 값에 기초하여 상기 이동 객체의 위치를 검출하는 단계;를 포함하는, 이동 객체 검출 방법.
  12. 제 11 항에 있어서, 상기 이동 객체의 위치를 검출하는 단계는,
    상기 차 영상 내에서 상기 중심 마스크와 상기 배경 마스크를 이동시키며 상기 차이 값을 산출하는 단계;
    상기 차이 값이 미리 설정된 제 3 임계 값보다 작거나 같으면 상기 중심 마스크와 상기 배경 마스크를 이동시키고, 크면 상기 중심 마스크의 위치를 상기 이동 객체의 위치 후보로 설정하는 단계; 및
    상기 차 영상으로부터 검출된 적어도 하나의 위치 후보에 기초하여 상기 이동 객체의 중심 좌표를 결정하는 단계;를 포함하는, 이동 객체 검출 방법.
  13. 제 11 항에 있어서, 상기 차 영상에 중심 마스크와 배경 마스크를 생성하는 단계는,
    상기 배경 마스크를 다수개 생성하여 상기 중심 마스크를 둘러싸도록 배치하는, 이동 객체 검출 방법.
  14. 제 1 항에 있어서, 상기 스킵 간격을 결정하는 단계는,
    상기 사선 거리에 비례하도록 상기 스킵 간격을 결정하는, 이동 객체 검출 방법.
  15. 입력 영상이 저장되는 메모리; 및
    입력 영상에 대한 사선 거리(Slant Range)를 확인하고, 상기 사선 거리에 기초하여 스킵 간격을 결정하며, 상기 스킵 간격에 기초하여 상기 입력 영상에 대한 안정화를 수행하고, 상기 안정화된 입력 영상을 이용하여 차 영상을 생성하며, 상기 차 영상으로부터 이동 객체를 검출하는 프로세서;를 포함하는, 이동 객체 검출 장치.
  16. 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
    입력 영상에 대한 사선 거리(Slant Range)를 확인하는 단계;
    상기 사선 거리에 기초하여 스킵 간격을 결정하는 단계;
    상기 스킵 간격에 기초하여 상기 입력 영상에 대한 안정화를 수행하는 단계;
    상기 안정화된 입력 영상을 이용하여 차 영상을 생성하는 단계; 및
    상기 차 영상으로부터 이동 객체를 검출하는 단계;를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는, 컴퓨터 판독 가능한 기록매체.
  17. 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
    입력 영상에 대한 사선 거리(Slant Range)를 확인하는 단계;
    상기 사선 거리에 기초하여 스킵 간격을 결정하는 단계;
    상기 스킵 간격에 기초하여 상기 입력 영상에 대한 안정화를 수행하는 단계;
    상기 안정화된 입력 영상을 이용하여 차 영상을 생성하는 단계; 및
    상기 차 영상으로부터 이동 객체를 검출하는 단계;를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는, 컴퓨터 프로그램.
KR1020220011746A 2022-01-26 2022-01-26 영상 안정화를 수행하는 이동 객체 검출 방법 및 장치 KR20230115127A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220011746A KR20230115127A (ko) 2022-01-26 2022-01-26 영상 안정화를 수행하는 이동 객체 검출 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220011746A KR20230115127A (ko) 2022-01-26 2022-01-26 영상 안정화를 수행하는 이동 객체 검출 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20230115127A true KR20230115127A (ko) 2023-08-02

Family

ID=87566606

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220011746A KR20230115127A (ko) 2022-01-26 2022-01-26 영상 안정화를 수행하는 이동 객체 검출 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20230115127A (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101428229B1 (ko) 2012-11-29 2014-08-07 현대자동차주식회사 차영상 취득 장치 및 방법
KR101883481B1 (ko) 2013-07-12 2018-07-31 한화에어로스페이스 주식회사 영상 안정화 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101428229B1 (ko) 2012-11-29 2014-08-07 현대자동차주식회사 차영상 취득 장치 및 방법
KR101883481B1 (ko) 2013-07-12 2018-07-31 한화에어로스페이스 주식회사 영상 안정화 장치 및 방법

Similar Documents

Publication Publication Date Title
US8054881B2 (en) Video stabilization in real-time using computationally efficient corner detection and correspondence
US9759548B2 (en) Image processing apparatus, projector and projector system including image processing apparatus, image processing method
KR102354299B1 (ko) 단일 영상을 이용한 카메라 캘리브레이션 방법 및 이를 위한 장치
US20140320682A1 (en) Image processing device
US10438412B2 (en) Techniques to facilitate accurate real and virtual object positioning in displayed scenes
JP7272024B2 (ja) 物体追跡装置、監視システムおよび物体追跡方法
WO2015072217A1 (ja) 移動体位置推定装置および移動体位置推定方法
US8761440B2 (en) Range image generation apparatus, position and orientation measurement apparatus, range image processing apparatus, method of controlling range image generation apparatus, and storage medium
US9712744B2 (en) Image quality compensation system and method
EP1968308A1 (en) Image processing method, image processing program, image processing device, and imaging device
JP4578864B2 (ja) 自動追尾装置及び自動追尾方法
US9014426B2 (en) Method and device for the detection of moving objects in a video image sequence
JP2012053770A (ja) 動きベクトル検出装置
US20140168078A1 (en) Electronic device and information processing method
JP5267100B2 (ja) 運動推定装置及びプログラム
US9270883B2 (en) Image processing apparatus, image pickup apparatus, image pickup system, image processing method, and non-transitory computer-readable storage medium
KR20230115127A (ko) 영상 안정화를 수행하는 이동 객체 검출 방법 및 장치
JP2017011397A (ja) 画像処理装置、画像処理方法、及びプログラム
CN106454066B (zh) 图像处理设备及其控制方法
KR20110091381A (ko) 영상 안정화 시스템 및 방법
JPWO2019097576A1 (ja) 計測システム、補正処理装置、補正処理方法、及びプログラム
JP6378496B2 (ja) 画像処理装置、制御方法及び記録媒体
JP2022099120A5 (ko)
KR101772928B1 (ko) 휘도 평활화와 광흐름 분석을 이용한 이동탐지 시스템 및 방법
US20240233234A1 (en) Image processing apparatus, image processing method, non-transitory computer-readable storage medium