KR101713197B1 - 서버 컴퓨팅 장치 및 이를 이용한 콘텐츠 인식 기반의 영상 검색 시스템 - Google Patents

서버 컴퓨팅 장치 및 이를 이용한 콘텐츠 인식 기반의 영상 검색 시스템 Download PDF

Info

Publication number
KR101713197B1
KR101713197B1 KR1020150046266A KR20150046266A KR101713197B1 KR 101713197 B1 KR101713197 B1 KR 101713197B1 KR 1020150046266 A KR1020150046266 A KR 1020150046266A KR 20150046266 A KR20150046266 A KR 20150046266A KR 101713197 B1 KR101713197 B1 KR 101713197B1
Authority
KR
South Korea
Prior art keywords
image
computing device
feature point
search
registration request
Prior art date
Application number
KR1020150046266A
Other languages
English (en)
Other versions
KR20160118028A (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 KR1020150046266A priority Critical patent/KR101713197B1/ko
Priority to US14/721,429 priority patent/US9934250B2/en
Publication of KR20160118028A publication Critical patent/KR20160118028A/ko
Application granted granted Critical
Publication of KR101713197B1 publication Critical patent/KR101713197B1/ko

Links

Images

Classifications

    • G06F17/30247
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F17/30277
    • G06K9/00711
    • G06K9/6201

Abstract

서버 컴퓨팅 장치 및 이를 이용한 콘텐츠 인식 기반의 영상 검색 시스템이 개시된다. 본 발명의 실시예에 따른 영상 검색 시스템은, 서버 컴퓨팅 장치를 포함하되, 서버 컴퓨팅 장치는, 사용자 컴퓨팅 장치로부터 영상, 영상에서 추출한 특징점, 및 영상 검색 조건 중 적어도 하나를 포함하는 영상 검색 기초 정보를 수신하는 동작, 기 저장된 특징점들 중 영상 검색 기초 정보로부터 획득한 검색 요청 특징점과 매칭되는 특징점을 추출하는 동작, 및 추출한 특징점에 대응하는 영상 및 영상 관련 정보 중 적어도 하나를 사용자 컴퓨팅 장치로 전송하는 동작을 수행하도록 구성된다.

Description

서버 컴퓨팅 장치 및 이를 이용한 콘텐츠 인식 기반의 영상 검색 시스템{SERVER COMPUTING DEVICE AND SYSTEM FOR SEARCHING IMAGE BASED CONTENTS COGNITION USING THE SAME}
본 발명의 실시예는 영상 처리 기술에 관한 것으로서, 보다 상세하게는 서버 컴퓨팅 장치 및 이를 이용한 콘텐츠 인식 기반의 영상 검색 시스템에 관한 것이다.
인터넷 기술이 발달되고 인터넷을 활용하는 분야가 점차 확장되면서 인터넷을 통한 정보 검색 또한 그 사용도가 증가하고 있다. 종래에는 인터넷을 통한 정보 검색이 주로 텍스트 기반으로 이루어졌으나, 최근 이미지 또는 동영상 등이 인터넷 상에 업로드되는 양이 증가하면서 영상 기반의 검색 기술이 개발되고 있다. 그러나, 영상 기반 검색의 경우 텍스트 기반 검색에 비해 검색 대상이 되는 데이터의 양 자체가 많아서 검색 속도가 저하될 뿐만 아니라 검색의 정확도 또한 떨어지는 문제점이 있다.
즉, 영상의 경우, 영상에 발생하는 다양한 변화(예를 들어, 조명 변화, 크기 변화, 아핀(Affine) 변화, 시점 변화 등)로 인해 동일 또는 유사한 영상을 검색하기가 어려운 문제점이 있다. 예를 들어, 영상 촬영 시 조명 변화에 따라 동일한 객체를 촬영하더라도 색감의 차이가 현저하게 발생할 수 있다. 그리고, 영상 촬영 시 카메라가 회전되거나 촬영 대상물이 회전되는 경우 서로 다른 촬영 영상이 생성되게 된다. 또한, 카메라의 해상도, 촬영 거리, 줌 기능 사용 여부 등에 따라 동일한 객체를 촬영하더라도 서로 다른 촬영 영상이 생성되는 바, 소정 영상과 동일 또는 유사한 영상을 검색하기가 어려우며, 그로 인해 검색의 정확도가 떨어지게 된다.
한국공개특허공보 제10-2012-0062609호(2012.06.14)
예시적인 실시예에 따르면, 특징점 기반의 영상 검색을 위한 서버 컴퓨팅 장치 및 이를 이용한 콘텐츠 인식 기반의 영상 검색 시스템이 제공된다.
예시적인 실시예에 따른 영상 검색 시스템은, 영상 검색 시스템으로서, 서버 컴퓨팅 장치를 포함하되, 상기 서버 컴퓨팅 장치는, 사용자 컴퓨팅 장치로부터 영상, 상기 영상에서 추출한 특징점, 및 영상 검색 조건 중 적어도 하나를 포함하는 영상 검색 기초 정보를 수신하는 동작; 기 저장된 특징점들 중 상기 영상 검색 기초 정보로부터 획득한 검색 요청 특징점과 매칭되는 특징점을 추출하는 동작; 및 상기 추출한 특징점에 대응하는 영상 및 영상 관련 정보 중 적어도 하나를 상기 사용자 컴퓨팅 장치로 전송하는 동작을 수행하도록 구성된다.
상기 매칭되는 특징점을 추출하는 동작은, 상기 기 저장된 특징점들 중 상기 검색 요청 특징점과의 유사도가 기 설정된 임계값 이상이 되는 특징점을 추출하는 동작; 및 상기 기 설정된 임계값 이상이 되는 특징점이 상기 검색 요청 특징점과 매칭되는지 여부를 검증하는 동작을 포함할 수 있다.
상기 검색 요청 특징점과 매칭되는지 여부를 검증하는 동작은, 하기 수학식 1을 통해 검증할 수 있다.
(수학식 1)
Figure 112015032089181-pat00001
여기서, ED(f1, f2)는 검색 요청 특징점(f1)과 유사도가 가장 높은 특징점(f2) 간의 ED(Euclidean Distance)이고, ED(f1, f2')는 검색 요청 특징점(f1)과 유사도가 2번째 높은 특징점(f2') 간의 ED임.
상기 매칭되는 특징점을 추출하는 동작은, 상기 영상 검색 기초 정보에 특징점이 포함되는지 여부를 확인하는 동작; 및 상기 영상 검색 기초 정보에 특징점이 포함되지 않는 경우, 상기 영상 검색 기초 정보에 포함된 영상에서 특징점을 추출하여 상기 검색 요청 특징점을 획득하는 동작을 포함할 수 있다.
상기 서버 컴퓨팅 장치는, 사용자 컴퓨팅 장치로부터 영상 및 영상 관련 정보를 포함하는 영상 등록 요청을 수신하는 동작; 상기 영상 등록 요청이 등록 가능한지 여부를 판단하는 동작; 상기 영상 등록 요청이 등록 가능한 경우, 상기 영상 등록 요청에 포함된 영상에서 특징점을 추출하는 동작; 및 상기 추출한 특징점과 상기 영상 및 영상 관련 정보를 매칭하여 저장하는 동작을 더 수행하도록 구성될 수 있다.
상기 영상 등록 요청이 등록 가능한지 여부를 판단하는 동작은, 상기 영상 등록 요청에 포함된 영상 및 영상 관련 정보 중 적어도 하나가 유해 콘텐츠인지 여부를 판단하는 동작; 및 상기 영상 및 영상 관련 정보 중 적어도 하나가 유해 콘텐츠인 경우, 상기 영상 등록 요청에 대해 등록 불가로 판단하는 동작을 포함할 수 있다.
상기 영상 등록 요청이 등록 가능한지 여부를 판단하는 동작은, 상기 영상 등록 요청에 포함된 영상에서 특징점을 추출할 수 있는지 여부를 확인하는 동작; 및 상기 영상 등록 요청에 포함된 영상에서 특징점을 추출할 수 없는 경우, 상기 영상 등록 요청에 대해 등록 불가로 판단하는 동작을 포함할 수 있다.
상기 서버 컴퓨팅 장치는, 사용자 컴퓨팅 장치로부터 수신한 영상 등록 요청 또는 영상 검색 기초 정보에 포함된 영상에서 특징점을 추출하는 동작을 더 수행하도록 구성될 수 있다.
상기 특징점을 추출하는 동작은, 상기 영상에서 코너 영역을 특징점 후보지로 추출하는 동작; 및 상기 특징점 후보지에서 추출한 특징점에 대해 특징점 서술자를 생성하는 동작을 포함할 수 있다.
상기 서버 컴퓨팅 장치는, 기 등록된 영상에 대해 기간 별 검색 횟수, 지역별 검색 횟수, 연령 별 검색 횟수, 총 검색 횟수 중 적어도 하나를 모니터링 하는 동작; 및 상기 모니터링 결과를 해당 영상을 등록한 사용자 컴퓨팅 장치로 전송하는 동작을 더 수행하도록 구성될 수 있다.
상기 추출한 특징점에 대응하는 영상 및 영상 관련 정보 중 적어도 하나를 상기 사용자 컴퓨팅 장치로 전송하는 동작은, 상기 영상 검색 기초 정보에 포함된 영상 또는 특징점 정보와의 유사도에 따라 기 저장된 영상들 중 복수 개의 영상을 추출하는 동작; 및 상기 추출한 복수 개의 영상을 상기 유사도 별로 그룹화하는 동작을 포함할 수 있다.
상기 서버 컴퓨팅 장치는, 상기 그룹화 된 영상들과 상기 그룹화 된 영상들에 대응되는 영상 관련 정보를 상기 사용자 컴퓨팅 장치로 전송할 수 있다.
상기 서버 컴퓨팅 장치는, 사용자 컴퓨팅 장치로부터 영상 및 영상 관련 정보를 포함하는 영상 등록 요청을 수신하는 동작; 기 저장된 영상들 중 상기 영상 등록 요청에 포함된 영상과 동일 또는 유사한 영상을 검색하는 동작; 및 상기 영상 등록 요청에 포함된 영상의 등록 시 상기 동일 또는 유사한 영상을 상기 영상 등록 요청에 포함된 영상과 링크시키는 동작을 더 수행하도록 구성될 수 있다.
상기 서버 컴퓨팅 장치는, 상기 추출한 특징점에 대응하는 영상과 링크된 영상 및 상기 링크된 영상의 영상 관련 정보를 상기 사용자 컴퓨팅 장치로 전송할 수 있다.
상기 시스템은, 복수 개의 사용자 컴퓨팅 장치를 더 포함하고, 상기 복수 개의 사용자 컴퓨팅 장치는 각각, 상기 서버 컴퓨팅 장치로 영상 등록 요청을 전송하는 동작 및 상기 서버 컴퓨팅 장치로 영상 검색 기초 정보를 전송하는 동작 중 적어도 하나를 수행하도록 구성되며, 상기 서버 컴퓨팅 장치는, 상기 복수 개의 사용자 컴퓨팅 장치 간의 영상 검색 기반의 SNS(Social Network Service) 서비스를 제공하는 서버일 수 있다.
상기 서버 컴퓨팅 장치는, 사용자 컴퓨팅 장치로부터 복수 개의 영상 및 영상 관련 정보를 포함하는 영상 등록 요청을 수신하는 동작; 상기 복수 개의 영상 각각에 대해 유해 영상 여부 또는 특징점 추출 가능 여부를 판단하는 동작; 상기 복수 개의 영상 전체가 유해 영상 또는 특징점 추출이 불가한 경우, 상기 사용자 컴퓨팅 장치로 등록 불가 안내 메시지를 전송하는 동작을 더 수행하도록 구성될 수 있다.
상기 서버 컴퓨팅 장치는, 사용자 컴퓨팅 장치로부터 영상 및 영상 관련 정보를 포함하는 영상 등록 요청을 수신하는 동작; 기 저장된 영상들 중 상기 영상 등록 요청에 포함된 영상과 동일 또는 유사한 영상을 검색하는 동작; 및 상기 영상 등록 요청에 포함된 영상과 동일 또는 유사한 영상이 검색되는 경우, 상기 사용자 컴퓨팅 장치로 상기 영상 등록 요청에 포함된 영상을 등록할 것인지 여부를 문의하는 동작을 더 수행하도록 구성될 수 있다.
상기 서버 컴퓨팅 장치는, 기 저장된 영상들에 대해 검색 횟수를 모니터링하는 동작; 상기 영상 검색 기초 정보에 포함된 영상 또는 특징점 정보와의 유사도에 따라 기 저장된 영상들 중 복수 개의 영상을 추출하는 동작; 상기 추출한 복수 개의 영상들을 상기 검색 횟수에 따라 정렬하여 상기 사용자 컴퓨팅 장치로 전송하는 동작을 더 수행하도록 구성될 수 있다.
상기 서버 컴퓨팅 장치는, 사용자별로 기 저장된 영상들에 대해 검색 횟수를 모니터링하는 동작; 및 상기 검색 횟수에 따라 사용자별 영상 등록 횟수를 갱신하는 동작을 더 수행하도록 구성될 수 있다.
예시적인 실시예에 따른 서버 컴퓨팅 장치는, 하나 이상의 프로세서; 메모리; 및 하나 이상의 프로그램을 포함하는 장치로서, 상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며, 상기 프로그램은, 영상, 상기 영상에서 추출한 특징점, 및 영상 검색 조건 중 적어도 하나를 포함하는 영상 검색 기초 정보를 수신하는 단계; 기 저장된 특징점들 중 상기 영상 검색 기초 정보로부터 획득한 검색 요청 특징점과 매칭되는 특징점을 추출하는 단계; 및 상기 추출한 특징점에 대응하는 영상 및 영상 관련 정보 중 적어도 하나를 전송하는 단계를 실행하기 위한 명령어들을 포함한다.
예시적인 실시예들에 따르면, 특징점 기반의 영상 검색을 통해 별도의 정보 없이도 해당 영상과 관련된 정보들을 용이하게 검색할 수 있게 된다. 또한, 영상 기반의 SNS 서비스를 제공함으로써, 언어가 상이한 사용자들과도 원활한 소통이 가능하게 되며, 별도의 정보 없이도 영상만으로 자신에게 필요한 정보를 용이하게 획득할 수 있게 된다.
또한, 특징점 추출 시 입력 영상을 각 컬러 채널들의 채널 비율에 따라 동적 범위를 적응적으로 확장시키고, 입력 영상을 컬러 영상에서 흑백 공간으로 변환시키는 전처리를 수행함으로써, 조명 변화에 강인한 특징점을 추출할 수 있게 된다. 그리고, 입력 영상을 기 설정된 크기로 정규화시키는 전처리를 수행함으로써, 영상에서 추출되는 특징점의 개수를 적절히 확보하면서 불필요한 특징점들을 제거할 수 있게 된다. 또한, 입력 영상을 저역 통과 필터로 필터링하되 소프트 코링 방법을 적용함으로써, 입력 영상에 존재하는 반점이나 노이즈를 제거하면서도 특징점이 될 수 있는 부분을 보전할 수 있게 된다.
또한, 윈도우를 여러 개의 크기로 생성한 후 각 윈도우를 입력 영상에 적용하여 특징점 후보지를 추출함으로써, 크기 변화 및 시점 변화 등에 강인한 특징점을 추출할 수 있게 된다. 이때, 정수 계수를 갖는 정규화 필터를 입력 영상의 중첩 영상에 적용함으로써, 필터(윈도우)의 크기가 커지더라도 계산량이 증가하는 것을 방지할 수 있으며, 신속하게 계산을 수행할 수 있게 된다. 또한, 특징점의 주 방향성을 기 설정된 방향으로 정렬시키고, 특징점과 특징점 이웃 픽셀 간의 관계 정보를 생성함으로써, 영상이 회전 되더라도 해당 영상에서 동일한 특징점을 서술할 수 있게 된다.
도 1은 예시적인 실시예에 따른 특징점 추출 장치의 구성을 나타낸 도면
도 2는 원 영상(컬러 영상)을 조명 보상 처리한 상태를 나타낸 도면
도 3은 원 영상(컬러 영상)의 각 컬러 채널을 조명 보상 처리한 상태를 나타낸 히스토그램
도 4는 본 발명의 예시적인 실시예에 따른 필터링부의 구성을 나타낸 블록도
도 5는 본 발명의 실시예에 따른 특징점 후보지 영역을 설명하기 위한 도면
도 6은 일반적인 가우시안 2차 미분 계수용 필터를 나타낸 도면
도 7은 일반적인 가우시안 2차 미분 계수용 필터를 정수 계수를 갖는 정규화 필터로 변환한 상태를 나타낸 도면
도 8은 예시적인 실시예에 따른 특징점 추출 방법을 나타낸 흐름도
도 9는 예시적인 실시예에 따른 특징점 기반의 영상 검색 시스템을 나타낸 도면
도 10은 예시적인 실시예에 따른 서버 컴퓨팅 장치의 구성을 나타낸 블럭도
도 11은 예시적인 실시예에 따른 특징점 기반의 영상 검색 방법을 나타낸 순서도
도 12는 예시적인 실시예들에서 사용되기에 적합한 예시적인 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 나타낸 도면
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다.
또한, 본 명세서에서 기재한 "제1", "제2" 등은 서로 다른 구성 요소임을 구분하기 위해서 지칭하는 것일 뿐, 그 순서에 구애받지 않으며 발명의 상세한 설명과 청구범위에서 그 명칭이 일치하지 않을 수 있다.
본 발명의 실시예는 영상에서 특징점을 추출하고, 추출한 특징점을 기반으로 영상 검색을 실시하는 기술이 포함된다. 그리고, 영상의 다양한 변화(예를 들어, 조명 변화, 크기 변화, 아핀(Affine) 변화, 시점 변화 등)에도 동일 또는 유사한 특징점을 추출할 수 있는 기술이 포함된다. 즉, 영상 변화에 강인한 특징점 추출 기술이 포함된다.
도 1은 예시적인 실시예에 따른 특징점 추출 장치의 구성을 나타낸 도면이다.
도 1을 참조하면, 특징점 추출 장치(100)는 영상 전처리부(102), 필터링부(104), 특징점 추출부(106), 및 특징점 후처리부(108)를 포함할 수 있다.
영상 전처리부(102)는 입력되는 영상(이하, "원영상"이라고도 지칭함)을 전처리(Preprocessing)하는 역할을 한다. 영상 전처리부(102)는 입력되는 영상이 컬러 영상인 경우, 특징점 추출부(106)에서 조명 변화에 강인한 특징점을 추출하도록 하기 위한 전처리 동작을 수행할 수 있다. 영상 전처리부(102)는 조명 보상부(111), 공간 변환부(113), 및 영상 크기 정규화부(115)를 포함할 수 있다.
조명 보상부(111)는 영상 전처리부(102)로 입력되는 영상이 컬러 영상인 경우, 입력되는 영상을 조명 보상(Illumination Compensation) 처리하는 동작을 수행한다. 조명 보상부(111)는 공간 변환부(113)에서 원영상을 컬러 공간에서 흑백 공간으로 변환하기 전에 조명 보상을 통해 원영상을 전처리할 수 있다.
조명 보상부(111)는 원 영상 내의 컬러 채널 별로 히스토그램을 분석하여 채널 비율을 유지하면서 각 채널들의 동적 범위를 확장시킬 수 있다. 즉, 조명 보상부(111)는 원 영상 내에서 각 컬러 채널들의 채널 비율에 따라 적응적으로 각 채널들의 동적 범위를 확장시킬 수 있다. 조명 보상부(111)가 원 영상을 조명 보상 처리하는 것에 대해서는 도 2 및 도 3을 참조하여 자세히 설명하기로 한다.
도 2는 원 영상(컬러 영상)을 조명 보상 처리한 상태를 나타낸 도면이고, 도 3은 원 영상(컬러 영상)의 각 컬러 채널을 조명 보상 처리한 상태를 나타낸 히스토그램이다. 구체적으로, 도 2의 (a)는 원 영상을 나타낸 도면이고, 도 3의 (a)는 원 영상의 각 컬러 채널별 픽셀 값의 분포도를 나타낸 히스토그램이다. 도 2의 (b)는 원 영상을 각 컬러 채널별로 독립적으로 동적 범위를 확장한 상태를 나타낸 도면이고, 도 3의 (b)는 원 영상을 각 컬러 채널별로 독립적으로 동적 범위를 확장한 경우, 각 컬러 채널별 픽셀 값의 분포도를 나타낸 히스토그램이다. 도 2의 (c)는 원 영상을 각 컬러 채널들의 채널 비율에 따라 동적 범위를 적응적으로 확장한 상태를 나타낸 도면이고, 도 3의 (c)는 원 영상을 각 컬러 채널들의 채널 비율에 따라 동적 범위를 적응적으로 확장한 경우, 각 컬러 채널별 픽셀 값의 분포도를 나타낸 히스토그램이다.
도 2의 (a) 및 도 3의 (a)를 참조하면, 원 영상의 경우 노란색 또는 주황색 계통의 색이 많아 R(레드), G(그린), B(블루) 각 컬러 채널별 픽셀값이 동적 영역(Dynamic Range)에 고루 분포되지 않고 있음을 확인할 수 있다. 이와 같이, 각 컬러 채널별 픽셀값이 동적 영역에 고루 분포되지 않고 있는 경우(즉, 각 컬러 채널별 픽셀값이 소정 영역에 집중되어 있는 경우), 영상에서 특징점을 추출하는데 제약이 되므로, 각 컬러 채널별 동적 범위를 확장시켜 줄 필요가 있다. 여기서, 동적 영역은 영상의 각 픽셀값이 분포되는 영역으로서 예를 들어, 동적 영역은 0 ~ 255의 범위를 가질 수 있다.
도 2의 (b) 및 도 3의 (b)를 참조하면, 원 영상을 각 컬러 채널별로 독립적으로 동적 범위를 확장한 결과, 원 영상의 컬러 특징이 조명 보상에 의해 변경되는 것을 볼 수 있다. 즉, 원 영상을 각 컬러 채널별로 독립적으로 동적 영역에 최대한 고루 분포되도록 변환한 결과, 상대적으로 블루 계열의 색이 많이 확장되어 원 영상이 빛바랜 사진처럼 변환된 것을 볼 수 있다.
도 2의 (c) 및 도 3의 (c)를 참조하면, 원 영상을 각 컬러 채널들의 채널 비율에 따라 동적 범위를 적응적으로 확장한 결과, 원 영상의 컬러 특징이 보존되면서(즉, 원 영상의 각 컬러 채널들의 채널 비율이 유지되면서) 각 컬러 채널별 픽셀값들이 동적 영역에 최대한 고루 분포하는 것을 볼 수 있다.
이와 같이, 예시적인 실시예에 따르면, 원 영상의 컬러 특징을 보존하면서 각 컬러 채널별 픽셀값들이 동적 영역에 최대한 고루 분포하도록 하기 위해, 조명 보상부(111)는 원 영상을 각 컬러 채널들의 채널 비율에 따라 동적 범위를 적응적으로 확장시킬 수 있다.
조명 보상부(111)는 하기 수학식 1에 나타난 선형 변환 식을 이용하여 원 영상을 각 컬러 채널들의 채널 비율에 따라 동적 범위를 적응적으로 확장시킬 수 있다.
Figure 112015032089181-pat00002
여기서, α는 확장 파라미터로서, 영상의 각 픽셀이 얼마만큼 확장되어야 하는지를 나타내는 파라미터이다. β는 영상 픽셀 값을 전체적으로 이동시키기 위한 이동 파라미터이다. μ는 영상의 평균 픽셀 값을 나타낸다. σ는 영상의 픽셀 값의 표준 편차를 나타낸다.
예시적인 실시예에서, 수학식 1의 μdesired에 128(즉, 동적 영역 범위의 중앙값)을 입력하고, σdesired에 80을 입력하여 확장 파라미터 α 및 이동 파라미터 β를 구할 수 있다.
조명 보상부(111)는 원 영상에서 채널 비율이 가장 높은 컬러 채널에 대해 확장 파라미터 α 및 이동 파라미터 β를 산출한 후, 나머지 컬러 채널들에 대해서도 상기 산출한 확장 파라미터 α 및 이동 파라미터 β를 적용하여 조명 보상 처리할 수 있다. 조명 보상부(111)는 각 컬러 채널들의 픽셀에 대해 픽셀값을 확장 파라미터 α만큼 확장시키고, 이동 파라미터 β만큼 이동시켜 조명 보상 처리할 수 있다.
공간 변환부(113)는 영상 전처리부(102)로 입력되는 영상이 컬러 영상인 경우, 원영상의 공간을 컬러 공간(Color Space)(예를 들어, RGB 컬러, CMYK 컬러, YCrCb 컬러, YUV 컬러 등)에서 흑백 공간(Gray Scale)으로 변환시키는 동작을 수행한다. 공간 변환부(113)는 조명 보상부(111)에서 조명 보상 처리된 컬러 영상의 공간을 컬러 공간에서 흑백 공간으로 변환시킬 수 있다.
구체적으로, 동일한 객체, 장소, 또는 인물을 촬영하더라도 조명 변화에 따라 촬영 영상의 색 정보가 상당 부분 왜곡될 수 있다. 예를 들어, 동일한 객체, 장소, 또는 인물을 촬영하더라도 맑은 날, 흐린 날, 어두운 날, 야간 등의 촬영 환경에 따라 촬영 영상의 색감 차이가 현저하게 발생할 수 있다. 또한, 촬영 영상에 사용자가 포토샵 등으로 이미지 처리하여 조명 변화가 발생하는 경우, 촬영 영상의 색 정보가 왜곡될 수 있다.
이에, 공간 변환부(113)는 원영상의 공간을 컬러 공간(Color Space)에서 흑백 공간(Gray Scale)으로 변환시킴으로써, 특징점 추출부(106)에서 조명 변화에 강인한 특징점을 추출하도록 할 수 있다.
영상 크기 정규화부(115)는 영상 전처리부(102)로 입력되는 영상을 기 설정된 크기로 정규화시키는 동작을 수행한다. 영상 전처리부(102)로 입력되는 영상이 컬러 영상인 경우, 영상 크기 정규화부(115)는 공간 변환부(113)에서 흑백 공간으로 변환된 영상을 기 설정된 크기로 정규화시킬 수 있다. 영상 전처리부(102)로 입력되는 영상이 기 설정된 크기보다 작은 경우, 영상 크기 정규화부(115)는 입력되는 영상을 기 설정된 크기로 확대시킬 수 있다. 영상 전처리부(102)로 입력되는 영상이 기 설정된 크기보다 큰 경우, 영상 크기 정규화부(115)는 입력되는 영상을 기 설정된 크기로 축소할 수 있다.
영상 전처리부(102)로 입력되는 영상을 기 설정된 크기로 정규화시킴으로써, 영상에서 추출되는 특징점의 개수를 적절히 확보하면서 불필요한 특징점들을 제거할 수 있게 된다. 즉, 입력되는 영상을 기 설정된 크기로 정규화시킴으로써, 영상의 중요 특징점은 추출할 수 있으면서 영상 내 중요 특징점을 제외한 나머지 특징점은 효과적으로 제거할 수 있게 된다. 이 경우, 특징점 간 매칭 단계에서 특징점 간 매칭의 신뢰성을 일정 수준으로 유지하면서 특징점 간 매칭 속도를 향상시킬 수 있게 된다.
필터링부(104)는 입력되는 영상을 필터링할 수 있다. 필터링부(104)는 영상 전처리부(102)에서 전처리된 영상을 필터링할 수 있다. 필터링부(104)는 전처리된 영상을 필터링함으로써, 전처리된 영상에 존재하는 반점(Speckle)이나 잡음을 제거할 수 있다. 이를 위해, 필터링부(104)는 퓨리에 기반의 저역 통과 필터를 통해 전처리된 영상을 필터링할 수 있다. 다만, 전처리된 영상에서 특징점이 될 수 있는 영역까지 제거되는 것을 방지하기 위해, 필터링부(104)는 고주파 보상 필터 방법을 적용할 수 있다.
도 4는 본 발명의 예시적인 실시예에 따른 필터링부의 구성을 나타낸 블록도이다. 도 4를 참조하면, 필터링부(104)는 필터부(121), 감산기(123), 고주파 보상 필터부(125), 및 합산기(127)를 포함할 수 있다.
필터부(121)는 입력되는 영상을 공간 영역에서 주파수 영역으로 변환시키는 제1 변환부(131), 저역 통과 필터를 공간 영역에서 주파수 영역으로 변환시키는 제2 변환부(133), 주파수 영역으로 각각 변환된 입력 영상과 저역 통과 필터를 곱셈하는 곱셈기(135), 및 곱셈기(135)에서 출력되는 영상을 주파수 영역에서 공간 영역으로 역 변환하는 역 변환부(137)를 포함할 수 있다. 여기서, 제1 변환부(131) 및 제2 변환부(133)는 FFT(Fast Fourier Transform)이 사용될 수 있다. 역 변환부(137)는 IFT(Inverse Fourier Transform)이 사용될 수 있다. 이와 같이, 입력되는 영상 및 저역 통과 필터를 공간 영역에서 주파수 영역으로 변환한 후 역 변환함으로써, 저역 통과 필터를 입력되는 영상에서 한 픽셀 씩 슬라이딩하며 계산(즉, 컨볼루션 방식으로 계산)하는 것과 동일 내지 유사한 결과를 얻으면서 계산량을 줄일 수 있게 된다.
감산기(123)는 입력되는 영상에서 필터부(121)의 필터링된 영상을 감산(減算)한다. 고주파 보상 필터부(125)는 감산기(123)에서 출력되는 영상에서 고주파 성분(즉, 노이즈가 아닌 특징점이 될 수 있는 영역)을 보전하는 역할을 한다. 이로써, 저역 통과 필터를 통해 노이즈 등을 제거하면서 특징점이 될 수 있는 부분을 보전할 수 있게 된다. 고주파 보상 필터 방법은 공지 기술이므로, 이에 대한 자세한 설명은 생략하기로 한다. 합산기(127)는 필터부(121)에서 필터링된 영상과 고주파 보상 필터부(125)에서 출력되는 영상을 합산한다.
특징점 추출부(106)는 입력되는 영상에서 특징점을 추출한다. 특징점 추출부(106)는 필터링부(104)(또는 영상 전처리부(102))로부터 입력되는 영상에서 특징점을 추출할 수 있다. 특징점 추출부(106)는 영상 변화(예를 들어, 회전 및 이동 변화 등)에 강인한 특징점을 추출하기 위해, 입력되는 영상에서 코너 영역(Corner Region)을 특징점 후보지로 추출할 수 있다.
도 5는 본 발명의 실시예에 따른 특징점 후보지 영역을 설명하기 위한 도면이다. 도 5의 (a)를 참조하면, 영상 내 특정한 크기의 윈도우(10)가 위치한 영역에서 윈도우(10)를 각 방향으로 미세하게 이동시켰을 때, 모든 방향에서 픽셀 값의 변화가 발생하지 않게 된다. 이러한 영역을 평탄 영역(Flat Region)이라 한다.
도 5의 (b)를 참조하면, 윈도우(10)가 위치한 영역에서 윈도우(10)를 각 방향으로 미세하게 이동시켰을 때, 상하 방향으로는 픽셀 값의 변화가 발생하지 않게 된다. 이러한 영역을 에지 영역(Edge Region)이라 한다. 여기서, 에지 영역은 상하 방향 뿐만 아니라, 적어도 한 방향에서 픽셀 값의 변화가 발생하지 않는 영역을 포함한다.
도 5의 (c)를 참조하면, 윈도우(10)가 위치한 영역에서 윈도우(10)를 각 방향으로 미세하게 이동시켰을 때, 모든 방향에서 픽셀 값의 변화가 발생하게 된다. 이러한 영역을 코너 영역(Corner Region)이라 한다. 예시적인 실시예에서, 특징점 추출부(106)는 상기 코너 영역을 특징점 후보지로 결정할 수 있다.
특징점 추출부(106)는 입력되는 영상에서 윈도우가 이동하기 전의 윈도우 내의 픽셀 값의 평균치와 윈도우가 이동한 후의 윈도우 내의 픽셀 값의 평균치의 차이(이하, "평균치의 변화"라고도 지칭된다)를 산출할 수 있다. 다음으로, 특징점 추출부(106)는 평균치의 변화가 가장 큰 방향(χ+) 및 평균치의 변화가 가장 큰 방향에서의 평균치의 변화량(λ+)을 산출할 수 있다. 그리고, 특징점 추출부(106)는 평균치의 변화가 가장 작은 방향(χ-) 및 평균치의 변화가 가장 작은 방향에서의 평균치의 변화량(λ-)을 산출할 수 있다. 특징점 추출부(106)는 평균치의 변화가 가장 큰 방향에서의 평균치의 변화량(λ+) 및 평균치의 변화가 가장 작은 방향에서의 평균치의 변화량(λ-)을 이용하여 입력되는 영상에서 평탄 영역, 에지 영역, 및 코너 영역을 구분할 수 있게 된다.
구체적으로, 특징점 추출부(106)는 평균치의 변화가 가장 큰 방향에서의 평균치의 변화량(λ+) 및 평균치의 변화가 가장 작은 방향에서의 평균치의 변화량(λ-)이 차이가 없거나 그 차이가 미미한 경우(즉, λ+ ≒ λ-), 해당 영역을 평탄 영역으로 결정할 수 있다. 그리고, 특징점 추출부(106)는 평균치의 변화가 가장 큰 방향에서의 평균치의 변화량(λ+) 및 평균치의 변화가 가장 작은 방향에서의 평균치의 변화량(λ-)의 차이가 큰 경우(즉, λ+ 》λ-), 해당 영역을 에지 영역으로 결정할 수 있다. 또한, 특징점 추출부(106)는 평균치의 변화가 가장 큰 방향에서의 평균치의 변화량(λ+) 및 평균치의 변화가 가장 작은 방향에서의 평균치의 변화량(λ-)이 모두 기 설정된 임계값을 초과하는 경우, 해당 영역을 코너 영역으로 결정할 수 있다.
또한, 특징점 추출부(106)는 영상 변화에 강인한 특징점을 추출하기 위해, 입력되는 영상을 여러 개의 크기로 생성한 후 동일한 크기의 윈도우를 적용하여 특징점 후보지를 추출할 수 있다. 또는, 특징점 추출부(106)는 윈도우를 여러 개의 크기로 생성한 후 각 윈도우를 입력되는 영상에 적용하여 특징점 후보지를 추출할 수 있다. 즉, 영상의 크기에 따라 동일한 크기의 윈도우로 영상 내에 존재하는 객체를 바라보았을 때 객체의 곡률이 달라지게 된다. 그리고, 윈도우의 크기에 따라 해당 영상 내에 존재하는 객체의 곡률이 달라지게 된다. 따라서, 크기 변화 및 시점 변화 등과 같은 영상 변화에 강인한 특징점을 추출하기 위해, 특징점 추출부(106)는 입력되는 영상을 여러 개의 크기로 생성한 후 동일한 크기의 윈도우를 적용하여 특징점 후보지를 추출하거나 윈도우를 여러 개의 크기로 생성한 후 각 윈도우를 입력되는 영상에 적용하여 특징점 후보지를 추출할 수 있다. 추출된 특징점 후보지들이 입력 영상에서 동일한 위치에 존재하는지 여부를 판단하여 최종 특징점 후보지를 추출할 수 있다.
여기서, 윈도우의 크기를 변경하면서 서로 다른 크기의 윈도우를 각각 입력 영상에 적용하는 방식에 대해 살펴보기로 한다. 이때, 윈도우는 가우시안 필터 또는 라플라시안 필터 등이 사용될 수 있다. 그러나, 일반적인 가우시안 필터 또는 라프라시안 필터는 실수 계수를 가지기 때문에 필터의 크기가 커질수록 그 계산량이 지수적으로 증가하게 된다. 이에, 특징점 추출부(106)는 특징점 후보지 추출에 사용되는 필터(윈도우)를 정수 계수를 갖는 정규화 필터로 변환한 후 사용함으로써, 필터의 크기가 커지더라도 계산량이 증가하는 것을 방지할 수 있게 된다.
도 6은 일반적인 가우시안 2차 미분 계수용 필터를 나타낸 도면이다. 여기서는 편의상, X 방향 및 XY 방향에 대한 필터만을 도시하였다. 도 8을 참조하면, 필터로 적용되는 일반적인 가우시안 필터는 각 픽셀에 대해 서로 다른 실수 계수를 가지기 때문에 많은 계산량을 필요로 한다. 여기서, 밝은 색일수록 + 실수 계수를 갖고, 어두울수록 - 실수 계수를 가지게 된다.
도 7은 일반적인 가우시안 2차 미분 계수용 필터를 정수 계수를 갖는 정규화 필터로 변환한 상태를 나타낸 도면이다. 여기서는 편의상, X 방향 및 XY 방향에 대한 필터만을 도시하였다. 도 7을 참조하면, 가우시안 필터를 개량한 정수 계수를 갖는 정규화 필터는 일반적인 가우시안 2차 미분 계수용 필터에서 + 실수 계수를 갖는 소정 영역을 + 정수 계수 영역으로 정규화시키고, - 실수 계수를 갖는 소정 영역을 - 정수 계수 영역으로 정규화시킨 것일 수 있다. 여기서, 정수 계수를 갖는 정규화 필터는 필터의 크기가 달라지더라도 + 정수 계수 영역 및 - 정수 계수 영역의 비율이 동일하도록 조절될 수 있다. + 정수 계수 영역 및 - 정수 계수 영역의 정수 값은 당업자의 수준에서 적절하게 변경될 수 있다.
특징점 추출부(106)는 입력 영상의 중첩 영상을 구한 후, 중첩 영상에 정수 계수를 갖는 정규화 필터를 적용하여 특징점 후보지를 추출할 수 있다. 중첩 영상은 입력 영상과 대응되는 픽셀의 픽셀값이 입력 영상에서 해당 픽셀까지의 각 픽셀들의 픽셀값을 합한 값을 갖도록 마련되는 영상이다. 이러한 중첩 영상을 이용하게 되면 입력 영상 중 소정 영역의 면적을 효율적으로 계산할 수 있게 된다. 또한, 정수 계수를 갖는 정규화된 필터를 사용함으로써, 필터의 크기를 증가시켜 가면서 여러 개의 필터를 중첩 영상에 적용시키더라도 계산량이 증가하는 것을 방지할 수 있게 된다. 즉, 필터 크기에 영향을 받지 않고 신속한 계산을 수행할 수 있게 된다.
구체적으로, 정수 계수를 갖는 정규화 필터 중 X 방향에 대한 필터를 중첩 영상에 적용하는 경우, + 정수 계수 영역(2개 영역) 및 - 정수 계수 영역(1개 영역)의 면적값을 이용하여 해당 필터링 값을 구할 수 있다. 예를 들어, 2개의 + 정수 계수 영역의 면적값에 각각 1을 곱하고, - 정수 계수 영역의 면적값에 -2를 곱하여 해당 필터링 값을 구할 수 있다. 또한, 정수 계수를 갖는 정규화 필터 중 XY 방향에 대한 필터를 중첩 영상에 적용하는 경우, + 정수 계수 영역(2개 영역) 및 - 정수 계수 영역(2개 영역)의 면적값을 이용하여 해당 필터링 값을 구할 수 있다. 예를 들어, 2개의 + 정수 계수 영역의 면적값에 각각 1을 곱하고, 2개의 - 정수 계수 영역의 면적값에 -1을 곱하여 해당 필터링 값을 구할 수 있다.
여기서는, 크기 변화에 강인한 특징점을 추출하기 위해, 윈도우(필터)의 크기를 변화시키면서 입력 영상에 적용하는 경우, 해당 필터를 정수 계수를 갖는 정규화 필터를 사용하는 것에 대해 설명하였으나, 이에 한정되는 것은 아니며 입력 영상을 여러 개의 크기로 생성한 후 동일한 크기의 윈도우(필터)를 적용시키는 경우에 있어서도 상기 정수 계수를 갖는 정규화 필터를 사용할 수 있다.
특징점 추출부(106)는 크기 변화 및 시점 변화 등에 강인한 특징점을 추출하기 위해, 입력 영상의 크기는 동일하게 하면서 필터(예를 들어, 정수 계수를 갖는 정규화 필터)의 크기를 변경시키는 경우, 현재 크기의 필터(제1 필터)(예를 들어, 9×9 크기의 필터)를 적용한 영상과 현재 크기의 필터보다 한 단계 작은 크기의 필터(제2 필터)(예를 들어, 7×7 크기의 필터)를 적용한 영상 및 현재 크기의 필터보다 한 단계 큰 크기의 필터(제3 필터)(예를 들어, 12×12 크기의 필터)를 적용한 영상들을 비교하여 특징점 후보지를 최종 결정할 수 있다.
구체적으로, 특징점 추출부(106)는 9×9 크기의 제1 필터를 입력 영상에 적용하여 입력 영상에서 특징점 후보지를 검출할 수 있다. 이때, 특징점 추출부(106)는 제1 필터를 입력 영상에 적용한 영상(이하, "제1 필터 적용 영상"이라 지칭될 수 있음)에서 특징점 후보지의 위치를 확인할 수 있다. 제1 필터 적용 영상은 제1 필터의 X 방향 필터를 입력 영상에 적용한 영상, 제1 필터의 Y 방향 필터를 입력 영상에 적용한 영상, 및 제1 필터의 XY 방향 필터를 입력 영상에 적용한 영상을 합산한 영상일 수 있다. 입력 영상의 크기는 동일하게 하므로, 제1 필터 적용 영상에서 특징점 후보지의 위치는 입력 영상에서의 해당 위치와 동일하게 된다.
다음으로, 특징점 추출부(106)는 제1 필터 적용 영상의 특징점 후보지의 값과 7×7 크기의 제2 필터를 입력 영상에 적용한 영상(이하, "제2 필터 적용 영상"이라 지칭될 수 있음) 및 12×12 크기의 제3 필터를 입력 영상에 적용한 영상(이하, "제3 필터 적용 영상"이라 지칭될 수 있음)의 상기 특징점 후보지와 대응되는 위치의 값을 비교할 수 있다. 여기서, 특징점 추출부(106)는 제1 필터 적용 영상의 특징점 후보지의 값과 제2 필터 적용 영상 및 제3 필터 적용 영상에서 상기 특징점 후보지와 대응하는 위치의 값의 차이가 기 설정된 임계값 이상이 되는 경우, 해당 특징점 후보지를 최종 특징점 후보지로 결정할 수 있다. 특징점 추출부(106)는 특징점 후보지에서 특징점을 추출할 수 있다.
이와 같이, 입력 영상의 크기는 동일하게 하면서 필터의 크기를 변경시켜 가면서 특징점 후보지를 추출할 때, 현재 크기의 필터를 적용한 영상(제1 필터 적용 영상)과 현재 크기의 필터보다 한 단계 작은 크기의 필터를 적용한 영상(제2 필터 적용 영상) 및 현재 크기의 필터보다 한 단계 큰 크기의 필터를 적용한 영상(제3 필터 적용 영상)을 비교하여 특징점 후보지를 추출하게 되면, 해당 입력 영상에 대해 어떤 크기의 필터를 적용해야 특징점 후보지가 추출될 수 있는지 확인할 수 있게 된다.
특징점 후처리부(108)는 특징점 추출부(106)가 추출한 특징점 정보를 보정 처리할 수 있다. 특징점 후처리부(108)는 회전 변화에 강인한 특징점을 위해 특징점 추출부(106)가 추출한 특징점 정보를 보정 처리할 수 있다. 특징점 후처리부(108)는 디스크립터(Descriptor)를 포함할 수 있다. 디스크립터는 특징점 서술자를 생성하는 역할을 한다. 특징점 서술자는 특징점을 설명하기 위한 정보를 포함한다. 예를 들어, 특징점 서술자는 특징점의 주 방향성, 특징점의 주 방향에서의 크기, 및 특징점과 특징점 이웃 픽셀 간의 관계 정보 등을 포함할 수 있다.
특징점 후처리부(108)는 특징점 추출부(106)가 추출한 특징점의 주 방향성 및 특징점의 주 방향에서의 크기를 산출할 수 있다. 여기서, 특징점이 제1 필터 적용 영상에서 추출되는 경우, 특징점 후처리부(108)는 제2 필터 적용 영상 및 제3 필터 적용 영상을 이용하여 특징점의 주 방향성 및 특징점의 주 방향에서의 크기를 산출할 수 있다. 구체적으로, 특징점 후처리부(108)는 제1 필터 적용 영상에서 특징점 및 특징점과 인접한 영역(이하, "특징점 관련 영역"이라 지칭될 수 있음)의 픽셀값과 제2 필터 적용 영상 및 제3 필터 적용 영상에서 상기 특징점 관련 영역에 대응하는 영역의 픽셀값들을 3차원 좌표계 상에 표시하고, 해당 특징점을 기준으로 각 픽셀값들의 벡터를 합산하여 해당 특징점의 주 방향성 및 특징점의 주 방향에서의 크기를 산출할 수 있다. 특징점의 주 방향성은 경사도(Gradient) 및 각도(Angle)를 포함할 수 있다.
이와 같이, 특징점이 제1 필터 적용 영상에서 추출되는 경우, 제2 필터 적용 영상 및 제3 필터 적용 영상을 이용하여 특징점의 주 방향성을 산출함으로써, 특징점의 주 방향성을 입체적(3차원적)으로 나타낼 수 있게 된다. 그러나, 이에 한정되는 것은 아니며, 특징점의 주 방향성은 제1 필터 적용 영상의 특징점 관련 영역을 통해 산출하여 평면적(2차원적)으로 나타낼 수도 있다.
특징점 후처리부(108)는 디스크립터를 통해 특징점의 주 방향성을 기 설정된 방향으로 정렬하여 기술할 수 있다. 이때, 디스크립터는 특징점과 특징점 이웃 픽셀 간의 관계 정보(예를 들어, 특징점과의 위치 및 거리 등)를 생성할 수 있다. 특징점의 주 방향성을 기 설정된 방향으로 정렬시키고, 특징점과 특징점 이웃 픽셀 간의 관계 정보를 생성함으로써, 영상이 회전 되더라도 해당 영상에서 동일한 특징점을 서술할 수 있게 된다. 즉, 영상이 회전 되더라도 특징점의 주 방향성을 기 설정된 방향으로 정렬하고, 상기 관계 정보를 통해 특징점과 특징점 이웃 픽셀 간의 관계를 확인하여 해당 특징점을 서술할 수 있으므로, 회전 변화에 대해 강인한 특징점 서술자를 생성할 수 있게 된다.
한편, 여기서는 특징점 추출부(106)와 특징점 후처리부(108)가 별개의 구성인 것으로 설명하였으나, 이에 한정되는 것은 아니며 특징점 후처리부(108)는 특징점 추출부(106)에 포함될 수도 있다. 또한, 여기서는 도시하지 않았지만, 특징점 추출 장치(100)는 특징점 검색부를 더 포함할 수 있다. 특징점 검색부(미도시)는 기 저장된 특징점들 중에서 제1 특징점과 매칭되는 특징점을 검색할 수 있다. 기 저정된 특징점들은 특징점 추출 장치(100)의 내부에 저장되어 있을 수도 있고 특징점 추출 장치(100)의 외부에 저장된 것일 수도 있다. 특징점 검색과 관련된 내용은 후술하는 영상 검색 시스템에서 자세히 설명하기로 한다.
예시적인 실시예에 따르면, 입력 영상을 각 컬러 채널들의 채널 비율에 따라 동적 범위를 적응적으로 확장시키고, 입력 영상을 컬러 영상에서 흑백 공간으로 변환시키는 전처리를 수행함으로써, 조명 변화에 강인한 특징점을 추출할 수 있게 된다. 그리고, 입력 영상을 기 설정된 크기로 정규화시키는 전처리를 수행함으로써, 영상에서 추출되는 특징점의 개수를 적절히 확보하면서 불필요한 특징점들을 제거할 수 있게 된다. 또한, 입력 영상을 저역 통과 필터로 필터링하되 고주파 보상 필터 방법을 적용함으로써, 입력 영상에 존재하는 반점이나 노이즈를 제거하면서도 특징점이 될 수 있는 부분을 보전할 수 있게 된다.
또한, 윈도우를 여러 개의 크기로 생성한 후 각 윈도우를 입력 영상에 적용하여 특징점 후보지를 추출함으로써, 크기 변화 및 시점 변화 등에 강인한 특징점을 추출할 수 있게 된다. 이때, 정수 계수를 갖는 정규화 필터를 입력 영상의 중첩 영상에 적용함으로써, 필터(윈도우)의 크기가 커지더라도 계산량이 증가하는 것을 방지할 수 있으며, 신속하게 계산을 수행할 수 있게 된다. 또한, 특징점의 주 방향성을 기 설정된 방향으로 정렬시키고, 특징점과 특징점 이웃 픽셀 간의 관계 정보를 생성함으로써, 영상이 회전 되더라도 해당 영상에서 동일한 특징점을 서술할 수 있게 된다.
도 8은 예시적인 실시예에 따른 특징점 추출 방법을 나타낸 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 또한 실시예에 따라 상기 방법에 도시되지 않은 하나 이상의 단계들이 상기 방법과 함께 수행될 수도 있다.
도 8을 참조하면, 영상 전처리부(102)는 원영상이 컬러 영상인지를 확인한다(S 101). 단계 S 101의 확인 결과, 원영상이 컬러 영상인 경우, 영상 전처리부(102)는 원영상을 조명 보상 처리한다(S 103). 영상 전처리부(102)는 원 영상 내에서 각 컬러 채널들의 채널 비율에 따라 적응적으로 각 채널들의 동적 범위를 확장시킬 수 있다. 구체적으로, 영상 전처리부(102)는 원 영상에서 채널 비율이 가장 높은 컬러 채널에 대해 확장 파라미터 α 및 이동 파라미터 β를 산출하고, 각 컬러 채널들의 픽셀에 대해 픽셀값을 확장 파라미터 α만큼 확장시키며, 이동 파라미터 β만큼 이동시킴으로써, 각 컬러 채널들의 채널 비율에 따라 적응적으로 각 채널들의 동적 범위를 확장시킬 수 있다.
다음으로, 영상 전처리부(102)는 조명 보상 처리된 컬러 영상의 공간을 컬러 공간(Color Space)에서 흑백 공간(Gray Scale)으로 변환시킨다(S 105). 이로써, 조명 변화에 강인한 특징점을 추출할 수 있게 된다.
다음으로, 영상 전처리부(102)는 흑백 공간으로 변환된 영상을 기 설정된 크기로 정규화시킨다(S 107). 영상 전처리부(102)는 흑백 공간으로 변환된 영상을 확대 또는 축소하여 기 설정된 크기로 정규화시킬 수 있다. 이로써, 영상에서 추출되는 특징점의 개수를 적절히 확보하면서 불필요한 특징점들을 제거할 수 있게 된다.
단계 S 101의 확인 결과, 원영상이 컬러 영상이 아닌 경우(즉, 원영상이 흑백 영상인 경우), 영상 전처리부(102)는 원영상을 기 설정된 크기로 정규화시킬 수 있다.
다음으로, 필터링부(104)는 영상 전처리부(102)에서 전처리된 영상을 필터링한다(S 109). 필터링부(104)는 전처리된 영상을 저역 통과 필터로 필터링할 수 있다. 다만, 전처리된 영상에서 특징점이 될 수 있는 영역까지 제거되는 것을 방지하기 위해 고주파 보상 필터 방법을 적용할 수 있다.
다음으로, 특징점 추출부(106)는 입력되는 영상에서 특징점 후보지를 검출한다(S 111). 특징점 추출부(106)는 입력되는 영상에서 코너 영역을 특징점 후보지로 검출할 수 있다. 입력되는 영상에서 어느 영역이 코너 영역인지는 다음과 같은 방식으로 결정할 수 있다. 먼저, 특징점 추출부(106)는 입력되는 영상에서 윈도우가 이동하기 전의 윈도우 내의 픽셀 값의 평균치와 윈도우가 이동한 후의 윈도우 내의 픽셀 값의 평균치의 차이(이하, "평균치의 변화"라고도 지칭된다)를 산출할 수 있다. 다음으로, 특징점 추출부(106)는 평균치의 변화가 가장 큰 방향(χ+) 및 평균치의 변화가 가장 큰 방향에서의 평균치의 변화량(λ+)을 산출할 수 있다. 그리고, 특징점 추출부(106)는 평균치의 변화가 가장 작은 방향(χ-) 및 평균치의 변화가 가장 작은 방향에서의 평균치의 변화량(λ-)을 산출할 수 있다. 다음으로, 특징점 추출부(106)는 평균치의 변화가 가장 큰 방향에서의 평균치의 변화량(λ+) 및 평균치의 변화가 가장 작은 방향에서의 평균치의 변화량(λ-)을 이용하여 입력되는 영상에서 코너 영역을 검출할 수 있다. 이때, 특징점 추출부(106)는 평균치의 변화가 가장 큰 방향에서의 평균치의 변화량(λ+) 및 평균치의 변화가 가장 작은 방향에서의 평균치의 변화량(λ-)이 모두 기 설정된 임계값을 초과하는 경우, 해당 영역을 코너 영역으로 결정할 수 있다.
특징점 추출부(106)는 입력되는 영상에서 특징점 후보지를 검출하는 경우, 크기 변화 및 시점 변화 등에 강인한 특징점 추출을 위해, 입력 영상의 크기는 동일하게 하면서 윈도우(필터)의 크기를 변경시켜가면서 입력 영상에 적용할 수 있다. 또는, 입력 영상의 크기를 변경시켜가면서 동일한 크기의 윈도우(필터)를 각 입력 영상에 적용할 수 있다. 특징점 추출부(106)는 특징점 후보지에서 특징점을 추출할 수 있다.
다음으로, 특징점 후처리부(108)는 특징점 추출부(106)에서 추출한 특징점에 대해 보정 처리하여 특징점 서술자를 생성한다(S 113). 구체적으로, 특징점 후처리부(108)는 특징점의 주 방향성 및 특징점의 주 방향에서의 크기를 산출할 수 있다. 다음으로, 특징점 후처리부(108)는 특징점의 주 방향성을 기 설정된 방향으로 정렬하고, 특징점과 특징점 이웃 픽셀 간의 관계 정보를 포함하는 특징점 서술자를 생성할 수 있다. 이로써, 영상이 회전 되더라도 해당 영상에서 동일한 특징점을 서술할 수 있게 된다.
도 9는 예시적인 실시예에 따른 특징점 기반의 영상 검색 시스템을 나타낸 도면이다.
도 9를 참조하면, 영상 검색 시스템(200)은 적어도 하나의 사용자 컴퓨팅 장치(가령, 도 9에 도시된 사용자 컴퓨팅 장치(202, 204)) 및 적어도 하나의 서버 컴퓨팅 장치(가령, 도 9에 도시된 서버 컴퓨팅 장치(206))를 포함한다. 도 9에 도시된 바와 같이, 제1 사용자 컴퓨팅 장치(202) 및 제2 사용자 컴퓨팅 장치(204)는 각각 로컬 영역 네트워크(Local Area Network: LAN), 광역 네트워크(Wide Area Network: WAN), 셀룰라 네트워크 또는 인터넷과 같은 네트워크(250)를 통해 서버 컴퓨팅 장치(206)에 통신 가능하게 연결된다. 사용자 컴퓨팅 장치들(202, 204) 각각과 서버 컴퓨팅 장치(206) 간의 통신은 통상적인 클라이언트/서버 모델에 기반할 수 있다. 사용자 컴퓨팅 장치들(202, 204)의 예들은 휴대폰, 스마트폰, 태블릿, 랩톱 컴퓨터 등과 같은 모바일 통신 장치일 수 있으나, 이에 한정되는 것은 아니며 사용자 컴퓨팅 장치들(202, 204)은 서버 컴퓨팅 장치(206)에 접속 가능한 다양한 유형의 무선 통신 장치 및 유선 통신 장치를 포함한다. 서버 컴퓨팅 장치(206)의 예들은 다양한 유형의 서버 컴퓨터, 가령 메인 프레임 기반이나 오픈 시스템 기반의 서버 컴퓨터를 포함한다.
제1 사용자 컴퓨팅 장치(202)는 소정 영상을 서버 컴퓨팅 장치(206)에 등록하기 위한 사용자의 컴퓨팅 장치일 수 있다. 제1 사용자 컴퓨팅 장치(202)는 영상 등록 요청을 서버 컴퓨팅 장치(206)로 전송할 수 있다. 영상 등록 요청은 소정 영상 및 영상 관련 정보(예를 들어, 영상 생성 일시, 해당 영상의 타이틀, 해당 영상의 내용에 대한 정보, 해당 영상이 링크된 URL 정보, 해당 영상과 연계된 상품 정보(제품 이름, 제조사, 관련 광고, 사용 후기, 판매처 등), 해당 영상이 광고용 영상인지 여부에 대한 정보 등을 포함)를 포함할 수 있다. 영상 등록 요청에는 복수 개의 영상이 포함될 수 있다. 사용자는 복수 개의 영상 중 대표 영상을 설정할 수 있다. 대표 영상은 상기 복수 개의 영상 중 다른 사용자들의 영상 검색 시 우선하여 표시되는 영상일 수 있다.
제1 사용자 컴퓨팅 장치(202)는 제1 사용자 컴퓨팅 장치(202)의 메모리에 저장된 영상을 서버 컴퓨팅 장치(206)로 전송하여 등록할 수도 있고, 다른 컴퓨팅 장치로부터 획득한 영상을 서버 컴퓨팅 장치(206)로 전송하여 등록할 수도 있다. 제1 사용자 컴퓨팅 장치(202)는 서버 컴퓨팅 장치(206)로부터 영상 등록 결과를 수신할 수 있다. 제1 사용자 컴퓨팅 장치(202)는 서버 컴퓨팅 장치(206)로부터 등록된 영상에 대한 검색 내역 정보를 수신할 수 있다. 제1 사용자 컴퓨팅 장치(202)는 소정 영상을 등록할 때 해당 영상과 동일 또는 유사한 영상이 기 등록되었는지 여부를 검색할 수 있다.
제2 사용자 컴퓨팅 장치(204)는 서버 컴퓨팅 장치(206)를 통해 소정 영상 및 영상 관련 정보 중 적어도 하나를 검색하기 위한 사용자의 컴퓨팅 장치일 수 있다. 제2 사용자 컴퓨팅 장치(204)는 영상 검색 기초 정보를 서버 컴퓨팅 장치(206)로 전송할 수 있다. 영상 검색 기초 정보는 소정 영상, 소정 영상에서 추출한 특징점 정보, 및 영상 검색 조건 중 적어도 하나를 포함할 수 있다. 영상 검색 조건은 기간별 검색, 인기순 검색, 최신순 검색, 광고 여부(광고용 영상과 비광고용 영상을 구분하여 검색) 등이 포함될 수 있다. 여기서, 영상 검색 기초 정보에 포함되는 영상은 제2 사용자 컴퓨팅 장치(204)에서 촬영한 영상이거나 제2 사용자 컴퓨팅 장치(204)의 메모리에 저장된 영상이거나 다른 컴퓨팅 장치로부터 획득한 영상일 수 있다. 제2 사용자 컴퓨팅 장치(204)가 소정 영상에서 추출한 특징점 정보를 서버 컴퓨팅 장치(206)로 전송하는 경우, 제2 사용자 컴퓨팅 장치(204)는 특징점 추출기를 포함할 수 있다. 특징점 추출기는 도 1에 도시된 특징점 추출 장치(100)일 수 있으나, 이에 한정되는 것은 아니다. 제2 사용자 컴퓨팅 장치(204)는 서버 컴퓨팅 장치(206)로부터 소정 영상 및 영상 관련 정보 중 적어도 하나를 수신할 수 있다.
이하에서는, 설명의 편의상 제1 사용자 컴퓨팅 장치(202)가 영상을 등록하기 위한 사용자의 컴퓨팅 장치이고, 제2 사용자 컴퓨팅 장치(204)가 영상 관련 정보를 검색하기 위한 사용자의 컴퓨팅 장치인 것으로 설명하나, 이에 한정되는 것은 아니며 사용자 컴퓨팅 장치(202, 204)는 각각 영상 등록 및/또는 영상 관련 정보 검색을 위해 사용될 수 있음은 물론이다.
서버 컴퓨팅 장치(206)는 적어도 하나의 웹 페이지를 포함하는 웹 사이트를 호스팅할 수 있다. 서버 컴퓨팅 장치(206)는 사용자들이 영상을 등록하기 위해 액세스 할 수 있는 웹 페이지를 네트워크(250)를 통해 제공할 수 있다. 서버 컴퓨팅 장치(206)는 사용자들이 영상 관련 정보를 검색하기 위해 액세스 할 수 있는 웹 페이지를 네트워크(250)를 통해 제공할 수 있다.
서버 컴퓨팅 장치(206)는 제1 사용자 컴퓨팅 장치(202)로부터 영상 등록 요청을 수신할 수 있다. 서버 컴퓨팅 장치(206)는 영상 등록 요청에 포함된 영상이 등록 가능한 영상인지 여부를 판단할 수 있다. 서버 컴퓨팅 장치(206)는 영상 등록 요청에 포함된 영상이 예를 들어, 유해 영상(예를 들어, 19세 이하 시청 불가 영상 등) 또는 특징점을 추출할 수 없는 영상인 경우, 등록 불가 영상인 것으로 판단할 수 있다. 영상 등록 요청에 포함된 영상이 등록 불가 영상인 경우, 서버 컴퓨팅 장치(206)는 제1 사용자 컴퓨팅 장치(202)로 등록 불가 안내 메시지를 전송할 수 있다.
서버 컴퓨팅 장치(206)는 영상 등록 요청에 포함된 영상에서 특징점을 추출할 수 있다. 서버 컴퓨팅 장치(206)는 추출한 특징점에 대한 정보를 영상 등록 요청에 포함된 영상 관련 정보와 매칭하여 저장함으로써 해당 영상을 시스템에 등록할 수 있다. 서버 컴퓨팅 장치(206)는 영상 등록 결과를 제1 사용자 컴퓨팅 장치(202)로 전송할 수 있다. 서버 컴퓨팅 장치(206)는 등록된 영상에 대해 검색 내역을 모니터링하여, 검색 내역 정보를 해당 영상을 등록한 제1 사용자 컴퓨팅 장치(202)로 전송할 수 있다.
서버 컴퓨팅 장치(206)는 영상 등록 요청에 포함된 영상이 복수 개인 경우, 복수 개의 영상 각각에 대해 영상 등록 가능 여부를 판단할 수 있다. 즉, 서버 컴퓨팅 장치(206)는 복수 개의 영상 각각에 대해 유해 영상인지 여부 또는 특징점을 추출할 수 있는지 여부 등을 확인하며, 복수 개의 영상 전체가 유행 영상 또는 특징점을 추출할 수 없는 영상인 경우 제1 사용자 컴퓨팅 장치(202)로 등록 불가 안내 메시지를 전송할 수 있다. 복수 개의 영상 중 하나의 영상이라도 등록 가능한 영상인 경우, 서버 컴퓨팅 장치(206)는 해당 영상에 대해 영상 등록 절차를 수행할 수 있다. 서버 컴퓨팅 장치(206)는 나머지 영상(즉, 등록 불가 영상)에 대해서는 등록 불가하다는 메시지를 제1 사용자 컴퓨팅 장치(202)로 전송할 있다.
서버 컴퓨팅 장치(206)는 영상 등록 요청을 수신하는 경우, 영상 등록 요청에 포함된 영상과 동일 또는 유사한 다른 사용자의 기 등록된 영상이 있는지 여부를 검색할 수 있다. 영상 등록 요청에 포함된 영상과 동일 또는 유사한 다른 사용자의 기 등록된 영상이 있는 경우, 서버 컴퓨팅 장치(206)는 제1 사용자 컴퓨팅 장치(202)로 해당 사실을 알릴 수 있다. 이때, 서버 컴퓨팅 장치(206)는 해당 영상을 등록할 것인지(즉, 동일 또는 유사한 다른 사용자의 기 등록된 영상이 있음에도 해당 영상에 대한 등록 절차를 진행할 것인지)를 제1 사용자 컴퓨팅 장치(202)로 문의할 수 있다.
서버 컴퓨팅 장치(206)는 소정 사용자의 영상을 등록할 때, 기 등록된 다른 사용자들의 영상 중 상기 등록하려고 하는 영상과 동일 또는 유사한 영상들을 상기 등록하려고 하는 영상과 링크시킬 수 있다.
서버 컴퓨팅 장치(206)는 제2 사용자 컴퓨팅 장치(204)로부터 영상 검색 기초 정보를 수신할 수 있다. 서버 컴퓨팅 장치(206)는 영상 검색 기초 정보에 특징점 정보가 포함되어 있는 경우, 영상 검색 기초 정보에 포함된 특징점 정보와 매칭되는 특징점을 검색하고, 검색된 특징점과 매칭되어 저장된 영상 관련 정보를 추출할 수 있다. 서버 컴퓨팅 장치(206)는 영상 검색 기초 정보에 포함된 영상 검색 조건에 따라 상기 매칭되는 특징점을 검색할 수 있다. 서버 컴퓨팅 장치(206)는 검색된 특징점에 대응하는 영상 및 상기 추출한 영상 관련 정보 중 적어도 하나를 제2 사용자 컴퓨팅 장치(204)로 전송할 수 있다.
서버 컴퓨팅 장치(206)는 영상 검색 기초 정보에 특징점 정보가 포함되어 있지 않고 소정 영상만 포함되어 있는 경우, 해당 영상에서 특징점을 추출하고, 추출한 특징점과 매칭되는 특징점을 검색할 수 있다. 서버 컴퓨팅 장치(206)는 영상에서 특징점을 추출하기 위해 특징점 추출기를 포함할 수 있다. 특징점 추출기는 도 1에 도시된 특징점 추출 장치(100)일 수 있으나, 이에 한정되는 것은 아니다.
서버 컴퓨팅 장치(206)는 영상 검색 기초 정보에 포함된 영상 또는 특징점 정보를 통해 영상을 검색할 때, 영상 검색 기초 정보에 포함된 영상 또는 특징점 정보와의 유사도에 따라 복수 개의 영상을 검색할 수 있다. 이때, 상기 유사도에 따라 검색된 영상들을 여러 그룹으로 구분할 수 있다. 예를 들어, 상기 유사도가 기 설정된 제1 임계값 이상인 경우 해당 검색 영상을 동일 영상 그룹으로 구분하고, 상기 유사도가 기 설정된 제2 임계값 이상 제1 임계값 미만인 경우 해당 검색 영상을 유사 영상 그룹으로 구분할 수 있다. 여기서는, 동일 영상 그룹 또는 유사 영상 그룹으로 구분하는 것으로 설명하였으나, 이에 한정되는 것은 아니며 그 이외의 여러 단계의 그룹으로 구분할 수 있다.
서버 컴퓨팅 장치(206)는 영상 검색 기초 정보에 대응하는 영상 및 영상 관련 정보를 제2 사용자 컴퓨팅 장치(204)로 전송할 때, 상기 영상 검색 기초 정보에 대응하는 영상과 링크된 영상(즉, 영상 검색 기초 정보에 대응하는 영상과 동일 또는 유사한 영상) 및 영상 관련 정보를 함께 전송할 수 있다. 예를 들어, 사용자 1에 대해 A 영상 및 A 영상의 영상 관련 정보가 기 등록되어 있고, 사용자 2가 A 영상과 유사한 B 영상 및 B 영상의 영상 관련 정보를 등록하려고 하는 경우, 서버 컴퓨팅 장치(206)는 B 영상에 대해 영상 등록 절차를 진행할 때 B 영상과 유사한 A 영상을 B 영상과 링크시킬 수 있다. 그리고, 사용자 3이 C 영상을 포함한 영상 검색 기초 정보를 전송하였고, 서버 컴퓨팅 장치(206)가 C 영상과 대응되는 영상을 검색한 결과, B 영상이 검색되었다고 하자. 그러면, 서버 컴퓨팅 장치(206)는 B 영상뿐만 아니라 B 영상에 링크된 A 영상도 사용자 3으로 전송할 수 있다. 즉, 서버 컴퓨팅 장치(206)는 C 영상과 대응되는 영상을 검색하였을 때 B 영상만 검색되고 A 영상은 검색되지 않았을지라도, B 영상과 링크되어 있는 A 영상(즉, B 영상과 유사한 영상)도 사용자 3으로 전송할 수 있다.
서버 컴퓨팅 장치(206)는 각 등록된 영상에 대해 검색 횟수를 모니터링할 수 있다. 예를 들어, 서버 컴퓨팅 장치(206)는 각 등록된 영상에 대해 기간별 검색 횟수, 지역별 검색 횟수, 연령별 검색 횟수, 및 총 검색 횟수 중 적어도 하나를 모니터링할 수 있다. 서버 컴퓨팅 장치(206)는 영상 검색 기초 정보에 대응하는 영상 및 영상 관련 정보를 제2 사용자 컴퓨팅 장치(204)로 전송할 때, 해당 영상과 영상 관련 정보들을 상기 검색 횟수에 따라 내림 차순으로 정렬하여 전송할 수 있다. 즉, 상기 검색 횟수가 가장 높은 영상부터 가장 낮은 영상까지 순차적으로 정렬하여 전송할 수 있다. 서버 컴퓨팅 장치(206)는 각 등록된 영상에 대한 검색 횟수를 주기적으로 갱신할 수 있다.
서버 컴퓨팅 장치(206)는 각 사용자 별로 영상 등록 횟수를 제한할 수 있다. 예를 들어, 서버 컴퓨팅 장치(206)는 각 사용자 별로 1일 영상 등록 횟수를 제한할 수 있다. 서버 컴퓨팅 장치(206)는 소정 사용자가 등록한 영상들의 총 검색 횟수가 기 설정된 검색 횟수를 초과하는 경우, 해당 사용자의 영상 등록 횟수를 상향 조정할 수 있다.
여기서, 서버 컴퓨팅 장치(206)는 SNS(Social Network Service) 서버일 수 있다. 서버 컴퓨팅 장치(206)는 영상 기반(보다 자세하게는 영상 특징점 기반)의 SNS 서비스를 제공할 수 있다. 즉, 사용자 컴퓨팅 장치(202, 204)의 사용자들은 서버 컴퓨팅 장치(206)가 운영하는 자신의 SNS 계정에 영상 및 영상 관련 정보를 등록하여 공유할 수 있다. 그리고, 사용자 컴퓨팅 장치(202, 204)의 사용자들은 서버 컴퓨팅 장치(206)를 통해 다른 사용자들이 등록한 영상 관련 정보를 검색할 수 있다. 이와 같이, 영상 기반의 SNS 서비스를 제공함으로써, 언어가 상이한 사용자들과도 원활한 소통이 가능하게 되며, 별도의 정보 없이도 영상만으로 자신에게 필요한 정보를 용이하게 획득할 수 있게 된다.
도 10은 예시적인 실시예에 따른 서버 컴퓨팅 장치의 구성을 나타낸 블럭도이다.
도 10을 참조하면, 서버 컴퓨팅 장치(206)는 통신부(211), 영상 등록부(213), 특징점 추출기(215), 영상 검색부(217), 모니터링부(219), 및 데이터베이스(221)를 포함할 수 있다.
통신부(211)는 사용자 컴퓨팅 장치(202, 204)와 통신을 수행한다. 통신부(211)는 사용자 컴퓨팅 장치(202, 204)로부터 영상 등록 요청을 수신할 수 있다. 통신부(211)는 사용자 컴퓨팅 장치(202, 204)로부터 영상 검색 기초 정보를 수신할 수 있다. 통신부(211)는 사용자 컴퓨팅 장치(202, 204)로 영상 등록 결과를 전송할 수 있다. 통신부(211)는 사용자 컴퓨팅 장치(202, 204)로 영상 검색 기초 정보를 기반으로 검색된 영상 및 영상 관련 정보 중 적어도 하나를 전송할 수 있다. 통신부(211)는 사용자 컴퓨팅 장치(202, 204)로 등록된 영상에 대한 검색 내역 정보를 전송할 수 있다.
영상 등록부(213)는 통신부(211)가 수신한 영상 등록 요청에 대해 등록 가부를 판단하고, 그 결과에 따라 영상 등록 동작 또는 영상 등록 불가 동작을 수행할 수 있다. 영상 등록부(213)는 영상 등록 요청에 포함된 영상 및 영상 관련 정보가 등록 가능한지 여부를 판단할 수 있다. 영상 등록부(213)는 영상 등록 요청에 포함된 영상 및 영상 관련 정보가 데이터베이스(221)에 저장된 유해 컨텐츠 정보와 동일 또는 유사한 경우, 상기 영상 등록 요청에 대해 등록 불가로 판단할 수 있다. 또한, 영상 등록부(213)는 영상 등록 요청에 포함된 영상에서 특징점을 추출할 수 없는 경우(예를 들어, 영상 자체가 너무 단순하여 특징점을 추출할 수 없거나 영상이 훼손되어 특징점을 추출할 수 없는 경우 등), 상기 영상 등록 요청에 대해 등록 불가로 판단할 수 있다. 영상 등록부(213)는 상기 영상 등록 요청에 대해 등록 불가로 판단하는 경우, 통신부(211)를 통해 사용자 컴퓨팅 장치(202, 204)로 등록 불가 안내 메시지를 전송할 수 있다.
영상 등록부(213)는 상기 영상 등록 요청에 대해 등록 가능한 것으로 판단한 경우, 영상 등록 요청에 포함된 영상에서 추출한 특징점 정보를 해당 영상 및 영상 관련 정보와 매칭하여 저장함으로써 영상 등록 동작을 수행할 수 있다. 영상 등록부(213)는 기 설정된 등록 불가 사유에 포함되지 않는 경우, 상기 영상 등록 요청을 등록 가능한 것으로 판단할 수 있다. 영상 등록부(213)는 영상 등록 요청에 대해 영상 등록 동작을 수행한 경우, 통신부(211)를 통해 사용자 컴퓨팅 장치(202, 204)로 영상 등록 결과를 전송할 수 있다.
영상 등록부(213)는 영상 등록 요청에 포함된 영상이 복수 개인 경우, 복수 개의 영상 각각에 대해 영상 등록 가능 여부를 판단할 수 있다. 복수 개의 영상 전체가 등록 불가 영상인 경우, 영상 등록부(213)는 통신부(211)를 통해 사용자 컴퓨팅 장치(202, 204)로 등록 불가 안내 메시지를 전송할 수 있다. 복수 개의 영상 중 하나의 영상이라도 등록 가능한 영상인 경우, 영상 등록부(213)는 해당 영상에 대해 영상 등록 절차를 수행할 수 있다. 그리고, 나머지 영상들에 대해서는 통신부(211)를 통해 사용자 컴퓨팅 장치(202, 204)로 등록 불가 안내 메시지를 전송할 수 있다.
영상 등록부(213)는 소정 사용자의 영상을 등록할 때, 기 등록된 다른 사용자들의 영상 중 상기 등록하려고 하는 영상과 동일 또는 유사한 영상들을 상기 등록하려고 하는 영상과 링크시킬 수 있다.
영상 등록부(213)는 각 사용자 별로 영상 등록 횟수를 제한할 수 있다. 영상 등록부(213)는 소정 사용자가 등록한 영상들의 총 검색 횟수가 기 설정된 검색 횟수를 초과하는 경우, 해당 사용자의 영상 등록 횟수를 상향 조정할 수 있다.
특징점 추출기(215)는 영상 등록 요청에 포함된 영상에서 특징점을 추출할 수 있다. 특징점 추출기(215)는 영상 검색 기초 정보에 포함된 영상에서 특징점을 추출할 수 있다. 특징점 추출기(215)는 영상 검색 기초 정보에 특징점 정보가 포함되어 있지 않고 영상만 포함되어 있는 경우, 해당 영상에서 특징점을 추출할 수 있다. 특징점 추출기(215)는 도 1에 도시된 특징점 추출 장치(100)와 동일 또는 유사한 구성을 가질 수 있다. 이 경우, 특징점 추출기(215)는 영상 변화(예를 들어, 조명 변화, 크기 변화, 시점 변화, 회전 변화 등)에 강인한 특징점을 추출할 수 있게 된다. 특징점 추출기(215)는 도 1에 도시된 특징점 추출 장치(100)에서 특징점 추출부(106)를 구비하되, 그 이외 나머지 구성들은 전부를 구비하거나 일부만을 구비할 수 있다. 특징점 추출기(215)는 영상에서 특징점을 추출할 수 없는 경우, 그 사실을 영상 등록부(213)로 전달할 수 있다.
영상 검색부(217)는 검색 요청된 영상과 매칭되는 영상을 검색할 수 있다. 여기서, 검색 요청된 영상은 영상 검색 기초 정보에 포함된 영상 또는 영상 검색 기초 정보에 포함된 특징점을 가지는 영상이다. 영상 검색부(217)는 기 저장된 영상들 중 검색 요청된 영상과 매칭되는(즉, 동일 또는 유사한) 영상을 데이터베이스(221)에서 검색할 수 있다. 이때, 영상 검색부(217)는 특징점 기반으로 영상을 검색할 수 있다. 즉, 영상 검색부(217)는 기 등록된 영상들의 특징점들 중 영상 검색 기초 정보에 포함된 영상에서 추출한 특징점 또는 영상 검색 기초 정보에 포함된 특징점(이하, "검색 요청 특징점"이라 지칭될 수 있음)과 매칭되는 특징점을 검색할 수 있다.
영상 검색부(217)는 검색 요청 특징점의 특징점 서술자와 기 등록된 특징점들의 각 특징점 서술자를 비교하여, 기 등록된 특징점들 중 검색 요청 특징점과의 유사도가 기 설정된 임계값 이상이 되는 특징점들을 추출할 수 있다. 여기서, 특징점 간 유사도는 검색 요청 특징점의 특징점 서술자와 기 등록된 특징점들의 각 특징점 서술자의 유클리디안 거리(Euclidean Distance : ED)로 표현할 수 있다. ED(Euclidean Distance)는 일종의 거리 함수로서, ED의 값이 작을 수록 검색 요청 특징점과 소정 특징점이 유사하다는 것을 나타내게 된다.
영상 검색부(217)는 상기 추출한 특징점(즉, 기 등록된 특징점들 중 검색 요청 특징점과의 유사도가 기 설정된 임계값 이상이 되는 특징점)이 검색 요청 특징점과 매칭되는지 여부를 검증할 수 있다. 즉, 특징점 간의 유사도만으로 매칭되는 특징점을 추출하는 경우, 검색 요청 특징점과 실제로는 매칭되지 않는 특징점이 추출될 수 있는 바, 영상 검색부(217)는 상기 추출한 특징점이 검색 요청 특징점과 매칭되는지 여부를 검증하는 동작을 수행할 수 있다. 예를 들어, 영상에 중복 패턴이 포함되거나 유사한 형태가 반복되는 경우, 검색 요청 특징점과 실제로는 매칭되지 않는 특징점이 추출될 수 있다.
영상 검색부(217)는 다음 수학식 2를 통해 해당 특징점이 검색 요청 특징점과 실제 매칭되는지 여부를 확인할 수 있다.
Figure 112015032089181-pat00003
여기서, ED(f1, f2)는 검색 요청 특징점(f1)과 유사도가 가장 높은 특징점(f2) 간의 ED이고, ED(f1, f2')는 검색 요청 특징점(f1)과 유사도가 2번째 높은 특징점(f2') 간의 ED이다.
영상 검색부(217)는 수학식 2(즉,
Figure 112015032089181-pat00004
)의 값에 따라 해당 특징점이 검색 요청 특징점과 실제 매칭되는 특징점인지 여부를 확인할 수 있다. 구체적으로, 영상 검색부(217)는 수학식 2의 값이 0에 가까운 경우, 특징점(f2)가 검색 요청 특징점(f1)과 실제 매칭되는 특징점인 것으로 판단하고, 수학식 2의 값이 1에 가까운 경우, 특징점(f2)가 검색 요청 특징점(f1)과 실제 매칭되지 않는 특징점인 것으로 판단할 수 있다.
영상 검색부(217)는 검색 요청 특징점과 매칭되는 특징점을 추출하고, 추출한 특징점에 대응하는 영상 및 영상 관련 정보 중 적어도 하나를 추출할 수 있다. 영상 검색부(217)는 추출한 영상 및 영상 관련 정보 중 적어도 하나를 통신부(211)를 통해 영상 검색 기초 정보를 전송한 사용자 컴퓨팅 장치(202, 204)로 전송할 수 있다.
또한, 영상 검색부(217)는 영상 검색 기초 정보에 포함된 영상 또는 특징점 정보를 통해 영상을 검색할 때, 영상 검색 기초 정보에 포함된 영상 또는 특징점 정보와의 유사도에 따라 복수 개의 영상을 검색할 수 있다. 이때, 영상 검색부(217)는 상기 유사도에 따라 검색된 영상들을 여러 그룹으로 구분할 수 있다.
예를 들어, 상기 유사도가 기 설정된 제1 임계값 이상인 경우 해당 검색 영상을 동일 영상 그룹으로 구분하고, 상기 유사도가 기 설정된 제2 임계값 이상 제1 임계값 미만인 경우 해당 검색 영상을 유사 영상 그룹으로 구분할 수 있다. 제1 임계값 및 제2 임계값은 검색 요청 특징점과 매칭되는 특징점의 개수에 따라 설정될 수 있다. 예를 들어, 제1 임계값은 검색 요청 특징점과 매칭되는 특징점의 개수가 100개인 것으로 설정하고, 제2 임계값은 검색 요청 특징점과 매칭되는 특징점의 개수가 80개인 것으로 설정할 수 있다. 이에 따르면, 검색 요청 특징점과 매칭되는 특징점의 개수가 100개 이상인 영상의 경우, 영상 검색부(217)는 해당 영상을 동일 영상 그룹으로 구분할 수 있다. 검색 요청 특징점과 매칭되는 특징점의 개수가 80개 이상 100개 미만인 경우, 영상 검색부(217)는 해당 영상을 유사 영상 그룹으로 구분할 수 있다.
영상 검색부(217)는 영상 검색 기초 정보에 대응하는 영상 및 영상 관련 정보를 통신부(211)를 통해 사용자 컴퓨팅 장치(202, 204)로 전송할 때, 상기 영상 검색 기초 정보에 대응하는 영상과 링크된 영상(즉, 영상 검색 기초 정보에 대응하는 영상과 동일 또는 유사한 영상) 및 영상 관련 정보를 함께 전송할 수 있다.
모니터링부(219)는 기 등록된 영상에 대해 기간 별 검색 횟수, 지역별 검색 횟수, 연령 별 검색 횟수, 총 검색 횟수 중 적어도 하나를 모니터링 할 수 있다. 모니터링부(219)는 각 사용자 별로 해당 사용자의 등록 영상에 대해 모니터링을 수행할 수 있다. 모니터링부(219)는 모니터링 결과(즉, 검색 내역 정보)를 해당 영상을 등록한 사용자 컴퓨팅 장치(202, 204)로 전송할 수 있다. 모니터링부(219)는 기 등록된 영상 중 광고용 영상으로 등록된 영상에 대해 모니터링을 수행할 수 있다. 영상 검색부(217)는 영상 검색 기초 정보에 대응하는 영상 및 영상 관련 정보를 사용자 컴퓨팅 장치(202, 204)로 전송할 때, 해당 영상과 영상 관련 정보들을 상기 검색 횟수에 따라 내림 차순으로 정렬하여 전송할 수 있다.
데이터베이스(221)는 등록 가능한 것으로 판단된 영상 및 영상 관련 정보를 저장할 수 있다. 데이터베이스(221)는 영상 등록 요청에 포함된 영상에서 추출한 특징점 정보를 해당 영상 및 영상 관련 정보와 매칭하여 저장할 수 있다. 데이터베이스(221)는 유해 컨텐츠 정보들을 저장할 수 있다. 데이터베이스(221)는 검색 내역 정보를 저장할 수 있다.
도 11은 예시적인 실시예에 따른 특징점 기반의 영상 검색 방법을 나타낸 순서도이다.
도 11을 참조하면, 서버 컴퓨팅 장치(206)는 사용자 컴퓨팅 장치(202, 204)로부터 영상 등록 요청이 전송되는지 여부를 확인한다(S 201). 영상 등록 요청에는 소정 영상 및 영상 관련 정보가 포함될 수 있다.
단계 S 201의 확인 결과, 사용자 컴퓨팅 장치(202, 204)로부터 영상 등록 요청이 전송되는 경우, 서버 컴퓨팅 장치(206)는 영상 등록 요청이 등록 가능한지 여부를 판단한다(S 203). 서버 컴퓨팅 장치(206)는 영상 등록 요청이 기 설정된 등록 불가 사유에 해당하는지 여부를 통해 영상 등록 요청의 등록 가부를 판단할 수 있다.
단계 S 203의 판단 결과, 영상 등록 요청이 등록 불가인 것으로 판단되는 경우, 서버 컴퓨팅 장치(206)는 영상 등록 요청을 한 사용자 컴퓨팅 장치(202, 204)로 등록 불가 안내 메시지를 전송한다(S 205). 서버 컴퓨팅 장치(206)는 영상 등록 요청에 포함된 영상 및 영상 관련 정보가 유해 컨텐츠 정보와 동일 또는 유사하거나, 영상 등록 요청에 포함된 영상에서 특징점을 추출할 수 없는 경우, 해당 영상 등록 요청에 대해 등록 불가로 판단할 수 있다.
단계 S 203의 판단 결과, 영상 등록 요청이 등록 가능한 것으로 판단되는 경우, 서버 컴퓨팅 장치(206)는 영상 등록 요청에 포함된 영상에서 특징점을 추출하고, 추출한 특징점 정보를 해당 영상 및 영상 관련 정보와 매칭하여 영상 등록 동작을 수행한다(S 207).
다음으로, 서버 컴퓨팅 장치(206)는 사용자 컴퓨팅 장치(202, 204)로부터 영상 검색 기초 정보가 수신되는지 여부를 확인한다(S 209). 영상 검색 기초 정보는 소정 영상, 상기 영상에서 추출한 특징점 정보, 및 영상 검색 조건 중 적어도 하나를 포함할 수 있다.
단계 S 209의 확인 결과, 사용자 컴퓨팅 장치(202, 204)로부터 영상 검색 기초 정보가 수신되는 경우, 서버 컴퓨팅 장치(206)는 영상 검색 기초 정보에 특징점 정보가 포함되는지 여부를 확인한다(S 211).
단계 S 211의 확인 결과, 영상 검색 기초 정보에 특징점 정보가 포함되지 않은 경우, 서버 컴퓨팅 장치(206)는 영상 검색 기초 정보에 포함된 영상에서 특징점을 추출한다(S 213).
단계 S 211의 확인 결과, 영상 검색 기초 정보에 특징점 정보가 포함되는 경우, 서버 컴퓨팅 장치(206)는 기 등록된 영상들의 특징점들 중 검색 요청 특징점과 유사한 특징점을 추출한다(S 215). 여기서, 검색 요청 특징점은 영상 검색 기초 정보에 포함된 영상에서 추출한 특징점 또는 영상 검색 기초 정보에 포함된 특징점일 수 있다. 구체적으로, 서버 컴퓨팅 장치(206)는 검색 요청 특징점의 특징점 서술자와 기 등록된 특징점들의 각 특징점 서술자를 비교하여, 기 등록된 특징점들 중 검색 요청 특징점과의 유사도가 기 설정된 임계값 이상이 되는 특징점들을 추출할 수 있다.
다음으로, 서버 컴퓨팅 장치(206)는 상기 추출한 특징점(즉, 기 등록된 특징점들 중 검색 요청 특징점과의 유사도가 기 설정된 임계값 이상이 되는 특징점)이 검색 요청 특징점과 매칭되는지 여부를 검증한다(S 217). 예를 들어, 서버 컴퓨팅 장치(206)는
Figure 112015032089181-pat00005
의 값에 따라 해당 특징점이 검색 요청 특징점과 실제 매칭되는 특징점인지 여부를 확인할 수 있다.
다음으로, 서버 컴퓨팅 장치(206)는 검색 요청 특징점과 매칭되는 것으로 판단된 특징점에 대응하는 영상 및 영상 관련 정보 중 적어도 하나를 추출하여 영상 검색 기초 정보를 전송한 사용자 컴퓨팅 장치(202, 204)로 전송한다(S 219).
도 12는 예시적인 실시예들에서 사용되기에 적합한 예시적인 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 도시한다.
도 12에 도시된 예시적인 컴퓨팅 환경(500)은 컴퓨팅 장치(510)를 포함한다. 다양한 구현예들에서, 컴퓨팅 장치(510)는 사용자 컴퓨팅 장치(202, 204)의 사용자 및 서버 컴퓨팅 장치(206)의 운영자를 위한 것과 같은 구성을 가질 수 있다. 또한, 이하에 기술되지 않았더라도 그 구성에 적합한 컴포넌트를 추가적으로 포함할 수 있다. 따라서, 컴퓨팅 장치(510)는 가령 서비스 제공자의 서버 컴퓨터, 데스크톱 컴퓨터, 네트워크 컴퓨터, 범용 또는 특정 용도의 머신 또는 다른 다양한 형태의 컴퓨팅 장치와 같은 서버 컴퓨팅 장치(예를 들어, 서버 컴퓨팅 장치(206))일 수 있다. 또한, 컴퓨팅 장치(510)는 가령 휴대폰, 스마트폰, 휴대용 미디어 플레이어, 휴대용 게임 장치, PDA(Personal Digital Assistant), 태블릿, 랩톱 컴퓨터, 데스크탑 컴퓨터와 같이 사용자와 연관된 컴퓨팅 장치(예를 들어, 사용자 컴퓨팅 장치(202, 204))일 수 있다. 또한, 특징점 추출 장치(100)도 컴퓨팅 환경(500)과 같은 구성을 가질 수 있다.
컴퓨팅 장치(510)는 적어도 하나의 프로세서(512), 컴퓨터 판독 가능 저장 매체(514) 및 버스(560)를 포함한다. 프로세서(512)는 버스(560)와 연결되고, 버스(560)는 컴퓨터 판독 가능 저장 매체(514)를 포함하여 컴퓨팅 장치(510)의 다른 다양한 컴포넌트들을 프로세서(512)에 연결한다.
프로세서(512)는 컴퓨팅 장치(510)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(512)는 컴퓨터 판독 가능 저장 매체(514)에 저장된 컴퓨터 실행 가능 명령어를 실행할 수 있고, 컴퓨터 판독 가능 저장 매체(514)에 저장된 컴퓨터 실행 가능 명령어는 프로세서(512)에 의해 실행되는 경우 컴퓨팅 장치(510)로 하여금 소정의 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(514)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드(예컨대, 애플리케이션(530)에 포함되는 명령어), 프로그램 데이터(예컨대, 애플리케이션(530)에 의해 사용되는 데이터) 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(514)에 저장된 애플리케이션(530)은 프로세서(512)에 의해 실행 가능한 명령어의 소정의 집합을 포함한다.
도 12에 도시된 메모리(516) 및 저장 장치(518)는 컴퓨터 판독 가능 저장 매체(514)의 예이다. 메모리(516)에는 프로세서(512)에 의해 실행될 수 있는 컴퓨터 실행 가능 명령어가 로딩될 수 있다. 또한, 메모리(516)에는 프로그램 데이터가 저장될 수 있다. 예컨대, 이러한 메모리(516)는 랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적합한 조합일 수 있다. 다른 예로서, 저장 장치(518)는 정보의 저장을 위한 하나 이상의 착탈 가능하거나 착탈 불가능한 컴포넌트를 포함할 수 있다. 예컨대, 저장 장치(518)는 하드 디스크, 플래시 메모리, 자기 디스크, 광 디스크, 컴퓨팅 장치(510)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
컴퓨팅 장치(510)는 또한 하나 이상의 입출력 장치(570)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(520)를 포함할 수 있다. 입출력 인터페이스(520)는 버스(560)에 연결된다. 입출력 장치(570)는 입출력 인터페이스(520)를 통해 컴퓨팅 장치(510)(의 다른 컴포넌트들)에 연결될 수 있다. 입출력 장치(570)는 포인팅 장치, 키보드, 터치 입력 장치, 음성 입력 장치, 센서 장치 및/또는 촬영 장치와 같은 입력 장치 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다.
한편, 소정의 실시예는 본 명세서에서 기술한 과정을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 저장 매체를 포함할 수 있다. 이러한 컴퓨터 판독 가능 저장 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 그 컴퓨터 판독 가능 저장 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들일 수 있다. 컴퓨터 판독 가능 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 특징점 추출 장치
102 : 영상 전처리부
104 : 필터링부
106 : 특징점 추출부
108 : 특징점 후처리부
111 : 조명 보상부
113 : 공간 변환부
115 : 영상 크기 정규화부
121 : 필터부
123 : 감산기
125 : 고주파 보상 필터부
127 : 합산기
131 : 제1 변환부
133 : 제2 변환부
135 : 곱셈기
137 : 역 변환부
200 : 영상 검색 시스템
202, 204 : 사용자 컴퓨팅 장치
206 : 서버 컴퓨팅 장치
211 : 통신부
213 : 영상 등록부
215 : 특징점 추출기
217 : 영상 검색부
219 : 모니터링부
221 : 데이터베이스

Claims (20)

  1. 영상 검색 시스템으로서,
    서버 컴퓨팅 장치를 포함하되, 상기 서버 컴퓨팅 장치는,
    사용자 컴퓨팅 장치로부터 영상, 상기 영상에서 추출한 특징점, 및 영상 검색 조건 중 적어도 하나를 포함하는 영상 검색 기초 정보를 수신하는 동작;
    기 저장된 특징점들 중 상기 영상 검색 기초 정보로부터 획득한 검색 요청 특징점과 매칭되는 특징점을 추출하는 동작; 및
    상기 추출한 특징점에 대응하는 영상 및 영상 관련 정보 중 적어도 하나를 상기 사용자 컴퓨팅 장치로 전송하는 동작을 수행하도록 구성되고,
    상기 서버 컴퓨팅 장치는,
    사용자 컴퓨팅 장치로부터 수신한 영상 등록 요청 또는 영상 검색 기초 정보에 포함된 영상에서 특징점을 추출하는 동작을 더 수행하도록 구성되며,
    상기 영상 등록 요청 또는 영상 검색 기초 정보에 포함된 영상에서 특징점을 추출하는 동작은,
    상기 영상 등록 요청 또는 영상 검색 기초 정보에 포함된 영상에서 코너 영역을 특징점 후보지로 추출하는 동작; 및
    상기 특징점 후보지에서 추출한 특징점에 대해 특징점 서술자를 생성하는 동작을 포함하는, 시스템.
  2. 청구항 1에 있어서,
    상기 매칭되는 특징점을 추출하는 동작은,
    상기 기 저장된 특징점들 중 상기 검색 요청 특징점과의 유사도가 기 설정된 임계값 이상이 되는 특징점을 추출하는 동작; 및
    상기 기 설정된 임계값 이상이 되는 특징점이 상기 검색 요청 특징점과 매칭되는지 여부를 검증하는 동작을 포함하는, 시스템.
  3. 청구항 2에 있어서,
    상기 검색 요청 특징점과 매칭되는지 여부를 검증하는 동작은,
    하기 수학식 1을 통해 검증하는, 시스템.
    (수학식 1)
    Figure 112015032089181-pat00006

    여기서, ED(f1, f2)는 검색 요청 특징점(f1)과 유사도가 가장 높은 특징점(f2) 간의 ED(Euclidean Distance)이고, ED(f1, f2')는 검색 요청 특징점(f1)과 유사도가 2번째 높은 특징점(f2') 간의 ED임.
  4. 청구항 1에 있어서,
    상기 매칭되는 특징점을 추출하는 동작은,
    상기 영상 검색 기초 정보에 특징점이 포함되는지 여부를 확인하는 동작; 및
    상기 영상 검색 기초 정보에 특징점이 포함되지 않는 경우, 상기 영상 검색 기초 정보에 포함된 영상에서 특징점을 추출하여 상기 검색 요청 특징점을 획득하는 동작을 포함하는, 시스템.
  5. 청구항 1에 있어서,
    상기 서버 컴퓨팅 장치는,
    사용자 컴퓨팅 장치로부터 영상 및 영상 관련 정보를 포함하는 영상 등록 요청을 수신하는 동작;
    상기 영상 등록 요청이 등록 가능한지 여부를 판단하는 동작;
    상기 영상 등록 요청이 등록 가능한 경우, 상기 영상 등록 요청에 포함된 영상에서 특징점을 추출하는 동작; 및
    상기 추출한 특징점과 상기 영상 및 영상 관련 정보를 매칭하여 저장하는 동작을 더 수행하도록 구성되는, 시스템.
  6. 청구항 5에 있어서,
    상기 영상 등록 요청이 등록 가능한지 여부를 판단하는 동작은,
    상기 영상 등록 요청에 포함된 영상 및 영상 관련 정보 중 적어도 하나가 유해 콘텐츠인지 여부를 판단하는 동작; 및
    상기 영상 및 영상 관련 정보 중 적어도 하나가 유해 콘텐츠인 경우, 상기 영상 등록 요청에 대해 등록 불가로 판단하는 동작을 포함하는, 시스템.
  7. 청구항 5에 있어서,
    상기 영상 등록 요청이 등록 가능한지 여부를 판단하는 동작은,
    상기 영상 등록 요청에 포함된 영상에서 특징점을 추출할 수 있는지 여부를 확인하는 동작; 및
    상기 영상 등록 요청에 포함된 영상에서 특징점을 추출할 수 없는 경우, 상기 영상 등록 요청에 대해 등록 불가로 판단하는 동작을 포함하는, 시스템.
  8. 삭제
  9. 삭제
  10. 청구항 1에 있어서,
    상기 서버 컴퓨팅 장치는,
    기 등록된 영상에 대해 기간 별 검색 횟수, 지역별 검색 횟수, 연령 별 검색 횟수, 총 검색 횟수 중 적어도 하나를 모니터링 하는 동작; 및
    상기 모니터링 결과를 해당 영상을 등록한 사용자 컴퓨팅 장치로 전송하는 동작을 더 수행하도록 구성되는, 시스템.
  11. 청구항 1에 있어서,
    상기 추출한 특징점에 대응하는 영상 및 영상 관련 정보 중 적어도 하나를 상기 사용자 컴퓨팅 장치로 전송하는 동작은,
    상기 영상 검색 기초 정보에 포함된 영상 또는 특징점 정보와의 유사도에 따라 기 저장된 영상들 중 복수 개의 영상을 추출하는 동작; 및
    상기 추출한 복수 개의 영상을 상기 유사도 별로 그룹화하는 동작을 포함하는, 시스템.
  12. 청구항 11에 있어서,
    상기 서버 컴퓨팅 장치는,
    상기 그룹화 된 영상들과 상기 그룹화 된 영상들에 대응되는 영상 관련 정보를 상기 사용자 컴퓨팅 장치로 전송하는, 시스템.
  13. 청구항 1에 있어서,
    상기 서버 컴퓨팅 장치는,
    사용자 컴퓨팅 장치로부터 영상 및 영상 관련 정보를 포함하는 영상 등록 요청을 수신하는 동작;
    기 저장된 영상들 중 상기 영상 등록 요청에 포함된 영상과 동일 또는 유사한 영상을 검색하는 동작; 및
    상기 영상 등록 요청에 포함된 영상의 등록 시 상기 동일 또는 유사한 영상을 상기 영상 등록 요청에 포함된 영상과 링크시키는 동작을 더 수행하도록 구성되는, 시스템.
  14. 청구항 13에 있어서,
    상기 서버 컴퓨팅 장치는,
    상기 추출한 특징점에 대응하는 영상과 링크된 영상 및 상기 링크된 영상의 영상 관련 정보를 상기 사용자 컴퓨팅 장치로 전송하는, 시스템.
  15. 청구항 1에 있어서,
    상기 시스템은, 복수 개의 사용자 컴퓨팅 장치를 더 포함하고,
    상기 복수 개의 사용자 컴퓨팅 장치는 각각, 상기 서버 컴퓨팅 장치로 영상 등록 요청을 전송하는 동작 및 상기 서버 컴퓨팅 장치로 영상 검색 기초 정보를 전송하는 동작 중 적어도 하나를 수행하도록 구성되며,
    상기 서버 컴퓨팅 장치는, 상기 복수 개의 사용자 컴퓨팅 장치 간의 영상 검색 기반의 SNS(Social Network Service) 서비스를 제공하는 서버인, 시스템.
  16. 청구항 1에 있어서,
    상기 서버 컴퓨팅 장치는,
    사용자 컴퓨팅 장치로부터 복수 개의 영상 및 영상 관련 정보를 포함하는 영상 등록 요청을 수신하는 동작;
    상기 복수 개의 영상 각각에 대해 유해 영상 여부 또는 특징점 추출 가능 여부를 판단하는 동작;
    상기 복수 개의 영상 전체가 유해 영상 또는 특징점 추출이 불가한 경우, 상기 사용자 컴퓨팅 장치로 등록 불가 안내 메시지를 전송하는 동작을 더 수행하도록 구성되는, 시스템.
  17. 청구항 1에 있어서,
    상기 서버 컴퓨팅 장치는,
    사용자 컴퓨팅 장치로부터 영상 및 영상 관련 정보를 포함하는 영상 등록 요청을 수신하는 동작;
    기 저장된 영상들 중 상기 영상 등록 요청에 포함된 영상과 동일 또는 유사한 영상을 검색하는 동작; 및
    상기 영상 등록 요청에 포함된 영상과 동일 또는 유사한 영상이 검색되는 경우, 상기 사용자 컴퓨팅 장치로 상기 영상 등록 요청에 포함된 영상을 등록할 것인지 여부를 문의하는 동작을 더 수행하도록 구성되는, 시스템.
  18. 청구항 1에 있어서,
    상기 서버 컴퓨팅 장치는,
    기 저장된 영상들에 대해 검색 횟수를 모니터링하는 동작;
    상기 영상 검색 기초 정보에 포함된 영상 또는 특징점 정보와의 유사도에 따라 기 저장된 영상들 중 복수 개의 영상을 추출하는 동작;
    상기 추출한 복수 개의 영상들을 상기 검색 횟수에 따라 정렬하여 상기 사용자 컴퓨팅 장치로 전송하는 동작을 더 수행하도록 구성되는, 시스템.
  19. 청구항 1에 있어서,
    상기 서버 컴퓨팅 장치는,
    사용자별로 기 저장된 영상들에 대해 검색 횟수를 모니터링하는 동작; 및
    상기 검색 횟수에 따라 사용자별 영상 등록 횟수를 갱신하는 동작을 더 수행하도록 구성되는, 시스템.
  20. 하나 이상의 프로세서;
    메모리; 및
    하나 이상의 프로그램을 포함하는 장치로서,
    상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며,
    상기 프로그램은,
    영상, 상기 영상에서 추출한 특징점, 및 영상 검색 조건 중 적어도 하나를 포함하는 영상 검색 기초 정보를 수신하는 단계;
    기 저장된 특징점들 중 상기 영상 검색 기초 정보로부터 획득한 검색 요청 특징점과 매칭되는 특징점을 추출하는 단계; 및
    상기 추출한 특징점에 대응하는 영상 및 영상 관련 정보 중 적어도 하나를 전송하는 단계를 실행하기 위한 명령어들을 포함하고,
    상기 프로그램은,
    사용자 컴퓨팅 장치로부터 수신한 영상 등록 요청 또는 영상 검색 기초 정보에 포함된 영상에서 특징점을 추출하는 단계를 실행하기 위한 명령어들을 더 포함하며,
    상기 영상 등록 요청 또는 영상 검색 기초 정보에 포함된 영상에서 특징점을 추출하는 단계는,
    상기 영상 등록 요청 또는 영상 검색 기초 정보에 포함된 영상에서 코너 영역을 특징점 후보지로 추출하는 단계; 및
    상기 특징점 후보지에서 추출한 특징점에 대해 특징점 서술자를 생성하는 단계를 포함하는, 서버 컴퓨팅 장치.
KR1020150046266A 2015-04-01 2015-04-01 서버 컴퓨팅 장치 및 이를 이용한 콘텐츠 인식 기반의 영상 검색 시스템 KR101713197B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150046266A KR101713197B1 (ko) 2015-04-01 2015-04-01 서버 컴퓨팅 장치 및 이를 이용한 콘텐츠 인식 기반의 영상 검색 시스템
US14/721,429 US9934250B2 (en) 2015-04-01 2015-05-26 Server computing device and image search system based on contents recognition using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150046266A KR101713197B1 (ko) 2015-04-01 2015-04-01 서버 컴퓨팅 장치 및 이를 이용한 콘텐츠 인식 기반의 영상 검색 시스템

Publications (2)

Publication Number Publication Date
KR20160118028A KR20160118028A (ko) 2016-10-11
KR101713197B1 true KR101713197B1 (ko) 2017-03-09

Family

ID=57016572

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150046266A KR101713197B1 (ko) 2015-04-01 2015-04-01 서버 컴퓨팅 장치 및 이를 이용한 콘텐츠 인식 기반의 영상 검색 시스템

Country Status (2)

Country Link
US (1) US9934250B2 (ko)
KR (1) KR101713197B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9576218B2 (en) * 2014-11-04 2017-02-21 Canon Kabushiki Kaisha Selecting features from image data
US9972158B2 (en) * 2016-10-01 2018-05-15 Cantaloupe Systems, Inc. Method and device of automatically determining a planogram in vending
US20180275751A1 (en) * 2017-03-21 2018-09-27 Microsoft Technology Licensing, Llc Index, search, and retrieval of user-interface content
KR101949881B1 (ko) * 2017-10-12 2019-05-08 주식회사 웰시스템코리아 이미지 및 영상의 등록, 검색, 재생을 모바일 디바이스 및 서버에서 분할하여 수행하는 컨벌루션 인공신경망 기반 인식 시스템
CN110162656B (zh) * 2019-05-05 2021-04-06 南京师范大学 一种增强图像特征点信息的方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100815530B1 (ko) * 2007-07-20 2008-04-15 (주)올라웍스 유해성 컨텐츠 필터링 방법 및 시스템

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07146871A (ja) * 1993-11-24 1995-06-06 Hitachi Ltd 静止画検索装置および静止画検索方法
JP2000187731A (ja) * 1998-12-21 2000-07-04 Ricoh Co Ltd 画像特徴抽出方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3738631B2 (ja) * 1999-09-27 2006-01-25 三菱電機株式会社 画像検索システムおよび画像検索方法
US7016532B2 (en) * 2000-11-06 2006-03-21 Evryx Technologies Image capture and identification system and process
JP4350414B2 (ja) * 2003-04-30 2009-10-21 キヤノン株式会社 情報処理装置及び情報処理方法ならびに記憶媒体、プログラム
US7149353B2 (en) * 2003-09-23 2006-12-12 Amazon.Com, Inc. Method and system for suppression of features in digital images of content
US7475061B2 (en) * 2004-01-15 2009-01-06 Microsoft Corporation Image-based document indexing and retrieval
US7751805B2 (en) * 2004-02-20 2010-07-06 Google Inc. Mobile image-based information retrieval system
US7590310B2 (en) * 2004-05-05 2009-09-15 Facet Technology Corp. Methods and apparatus for automated true object-based image analysis and retrieval
KR101111726B1 (ko) * 2007-10-31 2012-03-08 주식회사 소프닉스 양방향 광고 정보 파일 저작 서비스 제공방법 및, 양방향 광고 정보 파일 저작 프로그램이 기록된 기록매체
US8233722B2 (en) * 2008-06-27 2012-07-31 Palo Alto Research Center Incorporated Method and system for finding a document image in a document collection using localized two-dimensional visual fingerprints
US8391615B2 (en) * 2008-12-02 2013-03-05 Intel Corporation Image recognition algorithm, method of identifying a target image using same, and method of selecting data for transmission to a portable electronic device
KR101007008B1 (ko) * 2009-04-01 2011-01-12 한국외국어대학교 연구산학협력단 지문 인식 장치 및 방법
KR101420549B1 (ko) * 2009-12-02 2014-07-16 퀄컴 인코포레이티드 쿼리 및 모델 이미지들에서 검출된 키포인트들을 클러스터링함에 따른 특징 매칭 방법, 디바이스 그리고 프로세서 판독가능 매체
JP5649425B2 (ja) 2010-12-06 2015-01-07 株式会社東芝 映像検索装置
CN102622366B (zh) * 2011-01-28 2014-07-30 阿里巴巴集团控股有限公司 相似图像的识别方法和装置
KR20120108319A (ko) 2011-03-23 2012-10-05 주식회사 캐프 얼굴인식 시스템을 활용한 인물검색 시스템
JP5830784B2 (ja) * 2011-06-23 2015-12-09 サイバーアイ・エンタテインメント株式会社 画像認識システムを組込んだ関連性検索によるインタレスト・グラフ収集システム
CN102682091A (zh) * 2012-04-25 2012-09-19 腾讯科技(深圳)有限公司 基于云服务的视觉搜索方法和系统
US9256617B2 (en) * 2012-07-06 2016-02-09 Samsung Electronics Co., Ltd. Apparatus and method for performing visual search
ITTO20120986A1 (it) * 2012-11-14 2014-05-15 St Microelectronics Srl Procedimento per l'estrazione di informazioni distintive da un flusso di frame video digitali, sistema e prodotto informatico relativi
US9607011B2 (en) * 2012-12-19 2017-03-28 Intel Corporation Time-shifting image service
US9117144B2 (en) * 2013-08-14 2015-08-25 Qualcomm Incorporated Performing vocabulary-based visual search using multi-resolution feature descriptors
US9384519B1 (en) * 2013-12-12 2016-07-05 Zazzle Inc. Finding similar images based on extracting keys from images
US9836481B2 (en) * 2014-03-31 2017-12-05 Paypal, Inc. Image-based retrieval and searching
US9177225B1 (en) * 2014-07-03 2015-11-03 Oim Squared Inc. Interactive content generation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100815530B1 (ko) * 2007-07-20 2008-04-15 (주)올라웍스 유해성 컨텐츠 필터링 방법 및 시스템

Also Published As

Publication number Publication date
US20160292183A1 (en) 2016-10-06
US9934250B2 (en) 2018-04-03
KR20160118028A (ko) 2016-10-11

Similar Documents

Publication Publication Date Title
KR101645517B1 (ko) 특징점 추출 장치 및 방법과 이를 이용한 콘텐츠의 온라인 유통 현황 분석을 위한 이미지 매칭 시스템
Dellinger et al. SAR-SIFT: a SIFT-like algorithm for SAR images
KR101713197B1 (ko) 서버 컴퓨팅 장치 및 이를 이용한 콘텐츠 인식 기반의 영상 검색 시스템
JP5673765B2 (ja) 検索システム、検索方法及びコンピュータプログラム
US9665789B2 (en) Device and method for analyzing the correlation between an image and another image or between an image and a video
US8510283B2 (en) Automatic adaption of an image recognition system to image capture devices
US8856108B2 (en) Combining results of image retrieval processes
US8868555B2 (en) Computation of a recongnizability score (quality predictor) for image retrieval
US9754183B2 (en) System and method for providing additional information using image matching
Lee et al. Object detection with sliding window in images including multiple similar objects
US9008366B1 (en) Bio-inspired method of ground object cueing in airborne motion imagery
CN102541954B (zh) 一种商标检索方法及系统
JP2015007992A (ja) データ取得及び識別のためのシステム及び方法
CN110516731B (zh) 一种基于深度学习的视觉里程计特征点检测方法及系统
JP2012203823A (ja) 画像認識装置
US7957555B2 (en) Method and apparatus for localizing an object part in digital image data by updating an initial position estimate based on a displacement of the object part
KR20200029951A (ko) 적응적 분류에 기반한 영상정합 시스템 및 방법
Roopalakshmi et al. A framework for estimating geometric distortions in video copies based on visual-audio fingerprints
CN111768436B (zh) 一种基于Faster-RCNN改进的图像特征块配准方法
Kolmakov et al. Machine-readable zones detection in images captured by mobile devices’ cameras
JPWO2006008992A1 (ja) カメラ付き携帯情報通信端末を用いたWebサイト接続方法
Lakshmi et al. Searching for Telugu script in noisy images using SURF descriptors
Yang et al. Image copy–move forgery detection based on sped-up robust features descriptor and adaptive minimal–maximal suppression
CN112711748B (zh) 一种指静脉身份认证方法、装置、电子设备及存储介质
Zhu et al. Recaptured image detection through multi-resolution residual-based correlation coefficients

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