KR102566614B1 - 영상에 포함된 객체를 분류하는 장치, 방법 및 컴퓨터 프로그램 - Google Patents
영상에 포함된 객체를 분류하는 장치, 방법 및 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR102566614B1 KR102566614B1 KR1020190172178A KR20190172178A KR102566614B1 KR 102566614 B1 KR102566614 B1 KR 102566614B1 KR 1020190172178 A KR1020190172178 A KR 1020190172178A KR 20190172178 A KR20190172178 A KR 20190172178A KR 102566614 B1 KR102566614 B1 KR 102566614B1
- Authority
- KR
- South Korea
- Prior art keywords
- cam
- classification
- image
- objects
- activation map
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 35
- 238000004590 computer program Methods 0.000 title claims description 13
- 230000004913 activation Effects 0.000 claims abstract description 90
- 238000000605 extraction Methods 0.000 claims abstract description 23
- 239000000284 extract Substances 0.000 claims abstract description 18
- 238000013135 deep learning Methods 0.000 claims abstract description 10
- 238000009826 distribution Methods 0.000 claims description 11
- 241001465754 Metazoa Species 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 abstract description 12
- 238000013527 convolutional neural network Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 241000238631 Hexapoda Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Analysis (AREA)
Abstract
영상에 포함된 객체를 분류하는 객체 분류 장치는 영상을 입력받는 영상 입력부, 상기 입력받은 영상으로부터 전경 객체를 추출하는 전경 객체 추출부, 딥러닝 알고리즘에 기초하여 상기 추출한 전경 객체로부터 분할 클래스 활성화 맵(S-CAM, Segmentation-Class Activation Map)을 생성하고, 상기 S-CAM을 이용하여 분류 영역을 추출하는 분류 영역 추출부 및 상기 추출된 분류 영역에 포함된 객체를 분류하는 객체 분류부를 포함한다.
Description
본 발명은 영상에 포함된 객체를 분류하는 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.
보안 관리, 교통 상황 분석 등 여러 분야에서 영상을 이용한 감시 시스템이 활용되고 있다. 그러나 기상 변화, 조명 변화, 벌레 등의 이물질 등 실제 환경에 존재하는 여러 가지 원인으로 인해 영상 감시 시스템의 성능이 현저히 저하될 수 있다.
현재 영상 감시 시스템에서는, 움직임 검출 기반의 이벤트 탐지 방식이 주로 이용되고 있다. 이에 의하면, 움직임이 검출된 물체가 사람 또는 특정 사물에 해당하는지 여부를 판단하기 위해 별도로 객체 분류기를 사용해야 하므로 불필요한 비용 및 시간이 소요되는 문제점이 있다.
최근에는 딥러닝의 CNN(Convolutional Neural Networks) 기반의 객체 검출 및 분류 방법들이 많이 활용되고 있다. 그러나 딥러닝 기반의 알고리즘은 많은 연산자원을 필요로 하고, 처리시간이 비교적 길게 소요된다는 한계를 가진다.
또한, 종래의 객체 분류 방법은 그림자. 객체 간의 가려짐 등으로 인해 객체를 분류하지 못하거나, 복수의 객체가 존재하는 경우에 각각을 분류하지 못하는 문제점이 있다.
한국공개특허 제2016-0037643호는 객체 인식을 위해 객체 후보영역을 설정하는 구성을 개시하고 있다.
영상에서 객체와 객체가 아닌 부분을 명확히 구분하여 객체를 분류하는 장치, 방법 및 컴퓨터 프로그램을 제공하고자 한다. 또한, 영상에 복수의 객체가 포함된 경우에 복수의 객체 각각을 분류할 수 있는 장치, 방법 및 컴퓨터 프로그램을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 영상에 포함된 객체를 분류하는 객체 분류 장치에 있어서, 영상을 입력받는 영상 입력부, 상기 입력받은 영상으로부터 전경 객체를 추출하는 전경 객체 추출부, 딥러닝 알고리즘에 기초하여 상기 추출한 전경 객체로부터 분할 클래스 활성화 맵(S-CAM, Segmentation-Class Activation Map)을 생성하고, 상기 S-CAM을 이용하여 분류 영역을 추출하는 분류 영역 추출부 및 상기 추출된 분류 영역에 포함된 객체를 분류하는 객체 분류부를 포함하는 객체 분류 장치를 제공할 수 있다.
일 실시예에서, 상기 분류 영역 추출부는 상기 객체가 분류될 적어도 하나의 카테고리와 대응되는 채널을 이용하여 클래스 활성화 맵(CAM, Class Activation Map)을 생성하는 CAM 생성부를 포함할 수 있다.
일 실시예에서, 상기 분류 영역 추출부는 상기 생성된 CAM을 분할 처리하여 상기 S-CAM을 생성하는 S-CAM 생성부를 더 포함할 수 있다.
일 실시예에서, 상기 S-CAM 생성부는 상기 CAM을 복수의 구간으로 나누고, 상기 복수의 구간 각각에 대한 가중치 분산을 도출하고, 상기 도출된 가중치 분산 중 최솟값을 가지는 구간을 도출하고, 상기 도출된 구간의 CAM을 2진 분류하여 상기 S-CAM을 생성할 수 있다.
일 실시예에서, 상기 S-CAM 생성부는 상기 CAM의 최댓값 및 최솟값을 도출하고, 상기 도출된 최댓값 및 상기 도출된 최솟값 간의 구간을 상기 복수의 구간으로 나누는 것일 수 있다.
일 실시예에서, 상기 분류 영역 추출부는 상기 입력받은 영상에 복수의 객체가 존재하는 경우에 상기 S-CAM을 이용하여 상기 복수의 객체 각각에 대응하는 복수의 분류 영역을 분리하여 추출할 수 있다.
일 실시예에서, 상기 객체 분류부는 상기 분류 영역에 포함된 객체를 사람, 자동차, 동물 중 어느 하나로 판단하여 상기 객체의 카테고리를 결정함으로써 상기 객체를 분류할 수 있다.
일 실시예에서, 상기 객체 분류부에서 분류한 객체의 메타데이터를 저장하는 저장부를 더 포함할 수 있다.
본 발명의 다른 실시예는, 영상에 포함된 객체를 분류하는 객체 분류 방법에 있어서, 영상을 입력받는 단계, 상기 입력받은 영상으로부터 객체 영역을 추출하는 단계, 딥러닝 알고리즘에 기초하여 상기 추출한 객체 영역으로부터 클래스 활성화 맵(CAM, Class Activation Map)을 생성하는 단계, 상기 생성된 CAM에 기초하여 분할 CAM을 생성하는 단계, 상기 분할 CAM을 이용하여 분류 영역을 추출하는 단계 및 상기 추출된 분류 영역에서 객체 분류를 수행하는 단계를 포함하는 객체 분류 방법을 제공할 수 있다.
본 발명의 다른 실시예는, 영상에 포함된 객체를 분류하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 있어서, 상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 영상으로부터 객체 영역을 추출하고, 딥러닝 알고리즘에 기초하여 상기 추출한 객체 영역으로부터 S-CAM(Segmentation-Class Activation Map)을 생성하고, 상기 S-CAM을 이용하여 영상에 포함된 객체를 분류하도록 하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 분류 영역을 정확히 추출하여 객체를 분류하는 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
또한, 복수의 객체를 분리하여 각각에 대응하는 분류 영역을 추출하는 객체 분류 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
또한, 객체 분류에 소요되는 비용과 시간을 절감할 수 있다.
도 1은 종래의 객체를 분류하는 방법에서 발생하는 문제점을 예시적으로 나타낸다.
도 2는 본 발명의 일 실시예에 따른 객체 분류 장치의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 객체 분류 장치가 객체 분류를 수행하는 과정을 예시적으로 나타낸다.
도 4는 클래스 활성화 맵(CAM)만을 이용하여 분류 영역을 추출하는 경우 발생하는 문제점을 예시적으로 나타낸다.
도 5는 클래스 활성화 맵(CAM)만을 이용하여 분류 영역을 추출하는 경우 발생하는 다른 문제점을 예시적으로 나타낸다.
도 6은 본 발명의 일 실시예에 따른 객체 분류 장치가 분할 클래스 활성화 맵(S-CAM)을 이용하여 추출한 분류 영역을 예시적으로 나타낸다.
도 7은 본 발명의 일 실시예에 따른 객체 분류 장치가 분할 클래스 활성화 맵(S-CAM)을 이용하여 추출한 분류 영역을 예시적으로 나타낸다.
도 8은 본 발명의 일 실시예에 따른 객체 분류 장치가 하나의 객체에 대한 분류 영역을 추출하는 과정을 예시적으로 나타낸다.
도 9는 본 발명의 일 실시예에 따른 객체 분류 장치가 복수의 객체에 대한 분류 영역을 분리하여 추출하는 과정을 예시적으로 나타낸다.
도 10은 클래스 활성화 맵(CAM)을 이용하여 추출한 분류 영역 및 분할 클래스 활성화 맵(S-CAM)을 이용하여 추출한 분류 영역을 예시적으로 나타낸다.
도 11은 본 발명의 일 실시예에 따른 객체 분류 장치가 이용될 수 있는 서비스를 예시적으로 나타낸다.
도 12는 본 발명의 일 실시예에 따른 객체 분류 방법의 순서도이다.
도 2는 본 발명의 일 실시예에 따른 객체 분류 장치의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 객체 분류 장치가 객체 분류를 수행하는 과정을 예시적으로 나타낸다.
도 4는 클래스 활성화 맵(CAM)만을 이용하여 분류 영역을 추출하는 경우 발생하는 문제점을 예시적으로 나타낸다.
도 5는 클래스 활성화 맵(CAM)만을 이용하여 분류 영역을 추출하는 경우 발생하는 다른 문제점을 예시적으로 나타낸다.
도 6은 본 발명의 일 실시예에 따른 객체 분류 장치가 분할 클래스 활성화 맵(S-CAM)을 이용하여 추출한 분류 영역을 예시적으로 나타낸다.
도 7은 본 발명의 일 실시예에 따른 객체 분류 장치가 분할 클래스 활성화 맵(S-CAM)을 이용하여 추출한 분류 영역을 예시적으로 나타낸다.
도 8은 본 발명의 일 실시예에 따른 객체 분류 장치가 하나의 객체에 대한 분류 영역을 추출하는 과정을 예시적으로 나타낸다.
도 9는 본 발명의 일 실시예에 따른 객체 분류 장치가 복수의 객체에 대한 분류 영역을 분리하여 추출하는 과정을 예시적으로 나타낸다.
도 10은 클래스 활성화 맵(CAM)을 이용하여 추출한 분류 영역 및 분할 클래스 활성화 맵(S-CAM)을 이용하여 추출한 분류 영역을 예시적으로 나타낸다.
도 11은 본 발명의 일 실시예에 따른 객체 분류 장치가 이용될 수 있는 서비스를 예시적으로 나타낸다.
도 12는 본 발명의 일 실시예에 따른 객체 분류 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 종래의 객체를 분류하는 방법에서 발생하는 문제점을 예시적으로 나타낸다. 종래의 객체를 분류하는 방법은 영상 내 움직임을 기반으로 객체가 존재하는 것으로 추정되는 영역을 추출하여 객체 분류를 수행한다.
도 1a 및 도 1b는 종래의 방법에 따라 객체 분류가 수행되는 영역에 객체가 아닌 부분이 많이 포함된 경우를 나타낸다. 영상에서 객체(사람)가 존재하는 영역뿐 아니라, 그림자가 존재하는 영역에도 움직임이 검출되기 때문에, 객체 분류가 수행되는 영역에 객체가 아닌 배경 부분이 많이 포함된 것이 나타난다. 따라서, 해당 영역에 대하여 객체 분류를 수행한 결과, 영상에 포함된 객체가 사람으로 분류되지 않는 문제점이 발생하였다.
도 1c는 영상에 복수의 객체가 존재하는 경우에, 종래의 방법에 의하면 복수의 객체를 구분하지 못하는 경우를 나타낸다. 영상에서 복수의 객체가 존재하는 경우에, 영상에 복수의 객체가 포함되어 있는지 여부를 판단하지 못하였으며, 복수의 객체 각각에 대하여 객체 분류를 수행하지 못하는 문제점이 발생하였다.
도 2는 본 발명의 일 실시예에 따른 객체 분류 장치의 구성도이다. 도 2를 참조하면, 객체 분류 장치(200)는 영상 입력부(210), 전경 객체 추출부(220), 분류 영역 추출부(230) 및 객체 분류부(240)를 포함할 수 있다.
객체 분류 장치(200)는 서버, 데스크탑, 노트북, 키오스크(KIOSK) 및 스마트폰(smartphone), 태블릿 PC를 포함할 수 있다. 다만, 객체 분류 장치(200)는 앞서 예시된 것들로 한정 해석되는 것은 아니다. 즉, 객체 분류 장치(200)는 후술하는 영상에 포함되는 객체를 분류하는 방법을 수행하는 프로세서를 탑재한 모든 장치를 포함할 수 있다.
객체 분류 장치(200)는 영상에 포함된 객체를 분류할 수 있다. 일 실시예에서, 객체 분류 장치(200)는 영상에서 객체와 객체가 아닌 부분을 명확히 구분할 있다. 일 실시예에서, 객체 분류 장치(200)는 영상에 복수의 객체가 포함된 경우에 복수의 객체를 분리하여 검출하고, 각각에 대하여 객체 분류를 수행할 수 있다.
영상 입력부(210)는 영상을 입력받을 수 있다. 예를 들어, 영상 입력부(210)는 사용자 단말과 같은 외부 장치로부터 영상을 입력받을 수 있다. 영상 입력부(210)는 외부 서버와의 통신을 통해 영상을 입력받을 수 있다. 영상 입력부(210)는 입력받은 영상에 대하여 점 잡음 제거 등의 전처리를 수행할 수 있다.
전경 객체 추출부(220)는 입력받은 영상으로부터 전경 객체(Foreground Object)를 추출할 수 있다. 전경 객체 추출부(220)는 입력받은 영상에서 객체가 존재하는 것으로 추정되는 영역인 전경 객체를 추출할 수 있다.
전경 객체 추출부(220)는 차영상(Background Subtraction) 추출 방법을 이용하여 입력받은 영상으로부터 전경 객체를 추출할 수 있다. 차영상 추출 방법은 예를 들어, KNN(K-Nearest Neighbor), MOG(Mixture of Gaussian), GMG(Global Minimum with a Guarantee) 중 어느 하나 이상의 알고리즘을 이용할 수 있으나, 이에 제한되지 않는다.
도 3의 (a)는 전경 객체 추출부(220)에 의하여 전경 객체를 추출하는 과정을 예시적으로 나타낸다. 도 3의 (a)에 도시된 예와 같이, 입력받은 영상(301)에서, 차영상 추출 알고리즘을 이용하여 배경(302)을 제거하면, 전경 객체(303)를 추출할 수 있다.
분류 영역 추출부(230)는 딥러닝 알고리즘에 기초하여 추출한 전경 객체로부터 분할 클래스 활성화 맵(S-CAM, Segmentation-Class Activation Map)을 생성하고, S-CAM을 이용하여 분류 영역을 추출할 수 있다.
다시 도 2를 참조하면, 분류 영역 추출부(230)는 CAM 생성부(231)를 포함할 수 있다. CAM 생성부(231)는 전경 객체 추출부(220)에서 추출된 전경 객체로부터 클래스 활성화 맵(CAM, Class Activation Map)을 생성할 수 있다. CAM 생성부(231)에서 생성된 클래스 활성화 맵(CAM)을 이용하여 객체의 위치를 추정할 수 있다.
전형적인 CNN(Convolutional Neural Networks) 알고리즘은, 특징 추출(Feature Extraction) 부분 및 분류(Classification) 부분으로 구성된다. 일반적으로 CNN의 특징 추출 부분은 콘볼루션 레이어(Convolution Layer)와 풀링 레이어(Pooling Layer)를 교대로 반복하여 스택(Stack)을 쌓도록 구성되며, 분류 부분은 완전 연결 레이어(Fully Connected Layer)와 마지막 출력층에 소프트맥스 레이어(Softmax layer)를 포함하도록 구성된다.
일 실시예에서 CAM 생성부(231)는, 전술한 CNN 알고리즘과 달리, 완전 연결 레이어를 이용하지 않고 글로벌 애버리지 풀링(GAP, Global Average Pooling) 레이어를 이용하여 클래스 활성화 맵(CAM)을 생성할 수 있다.
또한, 일 실시예에서 CAM 생성부(231)는, 객체가 분류될 카테고리의 수와 같은 수의 채널을 가지는 콘볼루션 레이어를 이용하여 클래스 활성화 맵(CAM)을 생성할 수 있다. 즉, CAM 생성부(231)는 객체가 분류될 적어도 하나의 카테고리와 대응되는 채널을 이용하여 클래스 활성화 맵(CAM)을 생성할 수 있다.
예를 들어, 객체를 카테고리 1 내지 5로 분류하는 장치의 경우에, CAM 생성부(231)는 각 카테고리에 대응되는 5개의 채널을 가지는 콘볼루션 레이어를 이용할 수 있다. 이에 따라, 콘볼루션 레이어 이후에 도출되는 특징 맵(Feature Map)이 5개의 채널을 가질 수 있다. 5개의 채널에서 각 채널을 기준으로 도출한 평균값이 각 카테고리에 대응하는 값이 될 수 있고, 가장 큰 값을 가지는 카테고리를 기준으로 객체 분류가 수행될 수 있다.
CAM 생성부(231)는 다음의 수학식 1을 이용하여 클래스 활성화 맵(CAM)을 생성할 수 있다.
여기서 x, y는 좌표값이고, c는 객체가 분류될 카테고리(판별 클래스)이고, k는 각 채널이고, M은 클래스 활성화 맵(CAM)이고, w는 각 채널별 판별 레이어의 가중치이고, f는 특징 맵일 수 있다. CAM 생성부(231)는 콘볼루션 레이어와 풀링 레이어를 거친 n x n 행렬에 마지막 판별 레이어의 가중치(weight)를 곱하여 클래스 활성화 맵(CAM)을 생성할 수 있다.
도 3의 (b)는 추출된 전경 객체(311)로부터 CAM 생성부(231)에 의하여 생성된 클래스 활성화 맵(CAM)(312)을 예시적으로 나타낸다.
CAM 생성부(231)에서 생성된 클래스 활성화 맵(CAM)을 이용하여 바로 객체 분류를 수행하는 경우, 분류 영역이 제대로 추출되지 않는 문제점이 발생할 수 있다.
도 4의 (a) 내지 (d)는 클래스 활성화 맵(CAM)만을 이용하여 분류 영역을 추출하는 경우 발생하는 문제점을 예시적으로 나타낸다. 입력받은 영상에 복수의 객체가 포함된 경우에, 특히 도 4의 (a)에 도시된 바와 같이 복수의 객체 간의 간격이 좁은 경우에, 도 4의 (b) 및 (c)의 결과와 같이 복수의 객체를 분리하지 않은 클래스 활성화 맵(CAM)이 생성될 수 있다. 이에 의하여, 도 4의 (d)에 도시된 바와 같이 복수의 객체 각각에 대응하는 복수의 분류 영역이 분리하여 추출되지 않을 수 있다.
도 5의 (a) 내지 (d)는 클래스 활성화 맵(CAM)만을 이용하여 분류 영역을 추출하는 경우 발생하는 다른 문제점을 예시적으로 나타낸다. 도 5의 (a)와 같은 영상을 입력받은 경우에, 도 5의 (b) 및 (c)의 결과와 같이 객체가 아닌 부분을 객체로 오분류한 클래스 활성화 맵(CAM)이 생성될 수 있다. 이에 의하여, 도 5의 (d)에 도시된 바와 같이 오분류된 부분이 분류 영역으로 추출될 수 있다.
상술한 바와 같은 클래스 활성화 맵(CAM)만을 이용하여 분류 영역을 추출하는 경우 발생하는 문제점을 해결하기 위하여, 일 실시예에서 분할 클래스 활성화 맵(S-CAM)을 이용할 수 있다. 다시 도 2를 참조하면, 분류 영역 추출부(230)는 S-CAM 생성부(232)를 더 포함할 수 있다.
S-CAM 생성부(232)는 생성된 CAM을 분할 처리하여 S-CAM을 생성할 수 있다. S-CAM 생성부(232)는 분할 알고리즘을 이용하여 클래스 활성화 맵(CAM)으로부터 분할 클래스 활성화 맵(S-CAM)을 생성할 수 있다.
S-CAM 생성부(232)는 클래스 활성화 맵(CAM)을 복수의 구간으로 나눌 수 있다. S-CAM 생성부(232)는 클래스 활성화 맵(CAM)의 최댓값 및 최솟값을 도출하고, 상기 도출된 최댓값 및 상기 도출된 최솟값 간의 구간을 복수의 구간으로 나눌 수 있다.
S-CAM 생성부(232)는 복수의 구간 각각에 대한 가중치 분산을 도출할 수 있다. S-CAM 생성부(232)는 다음의 수학식 2를 이용하여 수의 구간 각각에 대한 가중치 분산을 도출할 수 있다.
여기서 σw 2는 복수의 구간 중 어느 한 구간에 대한 가중치 분산이고, a 및 b는 각각 2진 분류의 어느 하나를 의미할 수 있다. 예를 들어, a는 전경이고, b는 배경일 수 있다. Wa는 a의 가중치이고, μa는 a의 평균이고, σa 2은 a의 분산일 수 있다. Wb는 b의 가중치이고, μb는 b의 평균이고, σb 2은 b의 분산일 수 있다.
예를 들어, 복수의 구간이 총 10 구간인 경우에, s 구간의 가중치 분산 σw 2을 도출할 때, 이고, 이고, 일 수 있다. 또한, 이고, 이고, 일 수 있다. Xi는 클래스 활성화 맵(CAM)의 실수형 값을 최솟값 및 최댓값을 기준으로 복수의 구간으로 나누었을 때, i번째 구간에 속하는 값들의 개수일 수 있다. 예를 들어, 4 구간(0.4~0.5)에 속하는 CAM의 실수형 값을 모두 구하면 0.44, 0.41, 0.46일 때, X4는 3일 수 있다.
S-CAM 생성부(232)는 복수의 구간 중에서, 가중치 분산 중 최솟값을 가지는 구간을 도출할 수 있다. S-CAM 생성부(232)는 도출된 구간의 클래스 활성화 맵(CAM)을 2진 분류하여 분할 클래스 활성화 맵(S-CAM)을 생성할 수 있다.
예를 들어, 클래스 활성화 맵(CAM)의 최솟값이 0.0이고, 최댓값이 1.0인 경우에 클래스 활성화 맵(CAM)의 0.0부터 1.0까지의 구간을 0.1의 간격으로 나눌 수 있다. 이에 의하여 0.0부터 0.1까지의 제 1 구간, 0.1부터 0.2까지의 제 2 구간 등과 같이 클래스 활성화 맵(CAM)이 총 10개의 구간으로 나눠질 수 있다. 이 경우에 복수의 구간 각각에 대한 가중치 분산이 다음의 표 1과 같이 도출될 수 있다.
표 1에서 가중치 분산은 제 4 구간에서 최솟값을 가지는 것으로 나타난다. 따라서, S-CAM 생성부(232)는 제 4 구간의 클래스 활성화 맵(CAM)을 2진 분류하여 분할 클래스 활성화 맵(S-CAM)을 생성할 수 있다.
도 3의 (c)는 S-CAM 생성부(232)에 의하여 생성되는 분할 클래스 활성화 맵(S-CAM)(321, 322, 323)을 예시적으로 나타낸다. 도면 부호 321, 322 및 323은 각각 다른 구간의 클래스 활성화 맵(CAM)을 2진 분류하여 생성된 분할 클래스 활성화 맵(S-CAM)을 나타낸다. 도 3의 (c)을 참조하면, 클래스 활성화 맵(CAM)의 복수의 구간 각각으로부터 생성되는 분할 클래스 활성화 맵(S-CAM)이 다른 것을 확인할 수 있다.
분류 영역 추출부(230)는 분할 클래스 활성화 맵(S-CAM)을 이용하여 분류 영역을 추출할 수 있다.
분류 영역 추출부(230)는 예를 들어, 도 3의 (d)에 도시된 바와 같이 가중치 분산이 최솟값을 가지는 구간의 분할 클래스 활성화 맵(S-CAM)(331)으로부터 분류 영역(332에 박스 표시된 부분)을 추출할 수 있다.
분류 영역 추출부(230)는 입력받은 영상에 복수의 객체가 존재하는 경우에 분할 클래스 활성화 맵(S-CAM)을 이용하여 복수의 객체 각각에 대응하는 복수의 분류 영역을 분리하여 추출할 수 있다.
도 6의 (a)는 가중치 분산이 0.750인 구간의 클래스 활성화 맵(CAM)을 2진 분류하여 생성된 분할 클래스 활성화 맵(S-CAM)이고, 도 6의 (b)는 (a)의 분할 클래스 활성화 맵(S-CAM)을 이용하여 추출한 분류 영역을 도시한다.
도 6의 (c)는 가중치 분산이 0.409인 구간의 클래스 활성화 맵(CAM)을 2진 분류하여 생성된 분할 클래스 활성화 맵(S-CAM)이고, 도 6의 (d)는 (c)의 분할 클래스 활성화 맵(S-CAM)을 이용하여 추출한 분류 영역을 도시한다.
도 6의 (e)는 가중치 분산이 2.280인 구간의 클래스 활성화 맵(CAM)을 2진 분류하여 생성된 분할 클래스 활성화 맵(S-CAM)이고, 도 6의 (f)는 (e)의 분할 클래스 활성화 맵(S-CAM)을 이용하여 추출한 분류 영역을 도시한다.
도 6을 참조하면, 복수의 객체가 포함되는 영상에서 가중치 분산이 최솟값을 가지는 구간인 (c), (d)의 경우에 복수의 객체 각각에 대응하는 복수의 분류 영역이 가장 적절하게 분리해 추출되었다. 즉, 도 4에 도시된, 클래스 활성화 맵(CAM)만을 이용하여 분류 영역을 추출하는 경우 복수의 객체를 분리하지 못하는 문제점이 분할 클래스 활성화 맵(S-CAM)을 이용함으로써 해결된 것을 확인할 수 있다.
도 7의 (a)는 가중치 분산이 0.579인 구간의 클래스 활성화 맵(CAM)을 2진 분류하여 생성된 분할 클래스 활성화 맵(S-CAM)이고, 도 7의 (b)는 (a)의 분할 클래스 활성화 맵(S-CAM)을 이용하여 추출한 분류 영역을 도시한다.
도 7의 (c)는 가중치 분산이 0.345인 구간의 클래스 활성화 맵(CAM)을 2진 분류하여 생성된 분할 클래스 활성화 맵(S-CAM)이고, 도 7의 (d)는 (c)의 분할 클래스 활성화 맵(S-CAM)을 이용하여 추출한 분류 영역을 도시한다.
도 7의 (e)는 가중치 분산이 2.067인 구간의 클래스 활성화 맵(CAM)을 2진 분류하여 생성된 분할 클래스 활성화 맵(S-CAM)이고, 도 7의 (f)는 (e)의 분할 클래스 활성화 맵(S-CAM)을 이용하여 추출한 분류 영역을 도시한다.
도 7을 참조하면, 가중치 분산이 최솟값을 가지는 구간인 (c), (d)의 경우에 객체와 객체가 아닌 부분을 명확하게 구분하여, 노이즈가 없는 가장 적절한 분류 영역이 추출되었다. 즉, 도 5에 도시된, 클래스 활성화 맵(CAM)만을 이용하여 분류 영역을 추출하는 경우 노이즈를 제거하지 못하는 문제점이 분할 클래스 활성화 맵(S-CAM)을 이용함으로써 해결된 것을 확인할 수 있다.
객체 분류부(240)는 추출된 분류 영역에 포함된 객체를 분류할 수 있다. 객체 분류부(240)는 입력받은 영상에 포함된 객체가 하나의 카테고리에 해당하는지 여부를 판단할 수 있다. 객체 분류부(240)는 입력받은 영상에 포함된 객체가 복수의 카테고리 중 어느 하나에 해당하는지 여부를 한 번에 판단할 수 있다.
객체 분류부(240)는 합성곱 신경망(Convolutional Neural Network, CNN) 분류기를 사용하여 객체의 카테고리를 결정할 수 있다. 합성곱 신경망 분류기는 영상의 특징을 추출하는 부분과 객체의 클래스를 판별(분류)하는 부분을 포함할 수 있다.
영상의 특징을 추출하는 부분은 복수의 콘볼루션 레이어(Convolution Layer)와 복수의 풀링 레이어(Pooling Layer)를 포함하고, 객체의 클래스를 판별하는 부분은 이미지 분류를 위한 레이어, 예를 들어 풀리 커넥티드 레이어(Fully Connected Layer)를 포함할 수 있다. CAM 생성부(231)는 각 채널별 판별 레이어의 가중치(w)와 특징 맵(f)을 곱한 값에 기초하여 클래스 활성화 맵(CAM)을 생성하므로(수학식 1 참조), 합성곱 신경망 분류기와 클래스 활성화 맵(CAM)은 콘볼루션 레이어 및 이전 레이어들의 구조가 동일해야 한다.
상술한 바와 같은 구조의 합성곱 신경망 분류기에 대하여, 복수의 카테고리의 객체의 영상을 학습시킬 수 있다. 예를 들어, 합성곱 신경망 분류기에 사람, 자동차, 동물 각각의 영상을 학습시킨 경우, 학습된 합성곱 신경망 분류기는 분류 영역에 포함된 객체를, 각 카테고리에 해당할 확률을 도출하고, 가장 높은 확률값에 기초하여 객체를 분류할 수 있다.
일 실시예에서, 객체 분류부(240)는 분류 영역에 포함된 객체를 사람, 자동차, 동물 중 어느 하나로 판단하여 객체의 카테고리를 결정함으로써 객체를 분류할 수 있다. 다른 실시예에서, 객체 분류부(240)는 분류 영역에 포함된 객체가 복수의 카테고리 중 어느 하나의 카테고리에 해당할 확률을 각각 도출할 수 있다.
예를 들어, 객체 분류부(240)는 도 3의 (e)에 도시된 바와 같은 분류 영역에 포함된 객체가 사람인지 여부를 판단하여, 객체가 사람에 해당할 확률이 98%라고 도출할 수 있다. 이에 따라, 객체를 사람으로 분류할 수 있다.
도 8의 (a) 내지 (d)는 본 발명의 일 실시예에 따른 객체 분류 장치(200)가 하나의 객체에 대한 분류 영역을 추출하는 과정을 예시적으로 나타낸다. 영상 입력부(210)는 도 8의 (a)에 도시된 것과 같은 영상을 입력받을 수 있고, 전경 객체 추출부(220)는 입력받은 영상으로부터 전경 객체를 추출할 수 있다. 분류 영역 추출부(230)는 도 8의 (b)와 같이 분할 클래스 활성화 맵(S-CAM)을 생성하고, 이를 이용하여 도 8의 (c)와 같이 분류 영역을 추출할 수 있다. 객체 분류부(240)는 도 8의 (d)에 나타나는 분류 영역에 포함된 객체를 사람으로 분류할 수 있다.
도 9의 (a) 내지 (d)는 본 발명의 일 실시예에 따른 객체 분류 장치(200)가 복수의 객체에 대한 분류 영역을 추출하는 과정을 예시적으로 나타낸다. 영상 입력부(210)는 도 9의 (a)에 도시된 것과 같이 복수의 객체를 포함하는 영상을 입력받을 수 있고, 전경 객체 추출부(220)는 입력받은 영상으로부터 전경 객체를 추출할 수 있다. 분류 영역 추출부(230)는 도 9의 (b)와 같이 분할 클래스 활성화 맵(S-CAM)을 생성하고, 이를 이용하여 도 9의 (c)와 같이 복수의 객체 각각에 대응하는 복수의 분류 영역을 분리하여 추출할 수 있다. 객체 분류부(240)는 도 9의 (d)에 나타나는 각 분류 영역에 포함된 객체를 각각 사람으로 분류할 수 있다.
도 10의 (a)는 클래스 활성화 맵(CAM)만을 이용하여 추출한 분류 영역을 나타내고, 도 10의 (b)는 분할 클래스 활성화 맵(S-CAM)을 이용하여 추출한 분류 영역을 나타낸다. 예를 들어, 객체 분류부(240)는 도 10의 (a)의 분류 영역에 포함된 객체가 사람일 확률이 56%라고 도출할 수 있으나, 도 10의 (b)의 각 분류 영역에 포함된 객체가 사람일 확률이 98%라고 도출할 수 있다.
객체 분류 장치(200)는 객체 분류부(240)에서 분류한 객체의 메타데이터를 저장하는 저장부(미도시)를 더 포함할 수 있다. 다른 실시예에서, 객체 분류 장치(200)는 객체 분류부(240)에서 분류한 객체의 메타데이터를 외부 장치로 전송할 수 있다.
도 11의 (a) 내지 (c)는 본 발명의 일 실시예에 따른 객체 분류 장치(200)를 이용하여 제공할 수 있는 서비스를 예시적으로 나타낸다.
도 11의 (a)에 도시된 바와 같이, 영상으로부터 객체의 침입 여부를 탐지하는 서비스를 제공하는 데에 객체 분류 장치(200)가 이용될 수 있다. 특정 영역에 움직이는 물체의 위치를 검출하고, 해당 물체가 무엇인지 분류할 수 있다. 복수 개의 카메라를 이용하여 촬영한 영상 또는 실시간 영상에 포함된 객체를 분류할 수 있다. 애완동물, 자동차, 사람 등을 구분하여 침입 여부를 판단할 수 있다.
도 11의 (b)에 도시된 바와 같이, 영상 내에 특정 객체가 존재하는지 여부를 판단하는 서비스를 제공하는 데에 객체 분류 장치(200)가 이용될 수 있다. 예를 들어, 주차장 내부에 존재하는 자동차의 수를 도출하거나, 또는 주차 공간이 있는지 여부를 판단할 수 있다.
도 11의 (c)에 도시된 바와 같이, 영상에 포함되는 객체의 수, 특히 인구 밀집도 등을 파악하는 데에 객체 분류 장치(200)가 이용될 수 있다. 또한, 물, 안개 등 비정형 객체의 밀집도를 검출하는 데에 객체 분류 장치(200)가 이용될 수 있다.
도 12는 본 발명의 일 실시예에 따른 객체 분류 방법의 순서도이다. 도 12에 도시된 장치(200)에서 수행되는 객체를 분류하는 방법(1200)은 도 2에 도시된 실시예에 따라 장치(200)에 의해 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 2에 도시된 실시예에 따른 장치(200)에서 수행되는 객체를 분류하는 방법에도 적용된다.
단계 S1201에서 장치(200)는 영상을 입력받을 수 있다.
단계 S1202에서 장치(200)는 입력받은 영상으로부터 객체 영역을 추출할 수 있다.
단계 S1203에서 장치(200)는 딥러닝 알고리즘에 기초하여 추출한 객체 영역으로부터 클래스 활성화 맵(CAM, Class Activation Map)을 생성할 수 있다.
단계 S1204에서 장치(200)는 생성된 CAM에 기초하여 분할 CAM을 생성할 수 있다.
단계 S1205에서 장치(200)는 분할 CAM을 이용하여 분류 영역을 추출할 수 있다.
단계 S1206에서 장치(200)는 추출된 분류 영역에서 객체 분류를 수행할 수 있다.
분할 CAM을 생성하는 단계 S1204는, CAM을 분할 처리하여 객체 간 분리 및 노이즈 제거로 객체 추정을 명확히 하는 분할 CAM을 생성할 수 있다.
상술한 설명에서, 단계 S1201 내지 S1206은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 1 내지 도 12를 통해 설명된 객체 분류 장치에서 객체를 분류하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 12를 통해 설명된 객체 분류 장치에서 객체를 분류하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
200: 객체 분류 장치
220: 전경 객체 추출부
230: 분류 영역 추출부
240: 객체 분류부
220: 전경 객체 추출부
230: 분류 영역 추출부
240: 객체 분류부
Claims (16)
- 영상에 포함된 객체를 분류하는 객체 분류 장치에 있어서,
영상을 입력받는 영상 입력부;
상기 입력받은 영상으로부터 전경 객체를 추출하는 전경 객체 추출부;
딥러닝 알고리즘에 기초하여 상기 추출한 전경 객체로부터 클래스 활성화 맵(CAM, Class Activation Map)을 생성하고, 상기 생성된 CAM에 기초하여 분할 클래스 활성화 맵(S-CAM, Segmentation-Class Activation Map)을 생성하고, 상기 S-CAM을 이용하여 분류 영역을 추출하는 분류 영역 추출부; 및
상기 추출된 분류 영역에 포함된 객체를 분류하는 객체 분류부
를 포함하고,
상기 분류 영역 추출부는 상기 생성된 CAM을 분할 처리하여 상기 S-CAM을 생성하는 S-CAM 생성부를 더 포함하고,
상기 S-CAM 생성부는 상기 CAM을 복수의 구간으로 나누고, 상기 복수의 구간 각각에 포함된 상기 전경 객체 및 배경에 대한 분산에 기초하여 상기 복수의 구간 각각에 대한 가중치 분산을 도출하고, 상기 도출된 가중치 분산 중 최솟값을 가지는 구간에 기초하여 상기 S-CAM을 생성하고,
상기 최솟값을 가지는 구간은 복수의 객체 각각에 대응하는 복수의 분류 영역 또는 상기 객체와 상기 객체가 아닌 부분의 구분을 통해 노이즈가 제거된 분류 영역이 추출되도록 하는 구간에 해당하는 것인, 객체 분류 장치.
- 제 1 항에 있어서,
상기 분류 영역 추출부는 상기 객체가 분류될 적어도 하나의 카테고리와 대응되는 채널을 이용하여 상기 CAM을 생성하는 CAM 생성부를 포함하는 것인, 객체 분류 장치.
- 삭제
- 제 1 항에 있어서,
상기 S-CAM 생성부는 상기 도출된 가중치 분산 중 최솟값을 가지는 구간의 CAM을 2진 분류하여 상기 S-CAM을 생성하는 것인, 객체 분류 장치.
- 제 4 항에 있어서,
상기 S-CAM 생성부는 상기 CAM의 최댓값 및 최솟값을 도출하고, 상기 도출된 최댓값 및 상기 도출된 최솟값 간의 구간을 상기 복수의 구간으로 나누는 것인, 객체 분류 장치.
- 제 1 항에 있어서,
상기 분류 영역 추출부는 상기 입력받은 영상에 복수의 객체가 존재하는 경우에 상기 S-CAM을 이용하여 상기 복수의 객체 각각에 대응하는 복수의 분류 영역을 분리하여 추출하는 것인, 객체 분류 장치.
- 제 1 항에 있어서,
상기 객체 분류부는 상기 분류 영역에 포함된 객체를 사람, 자동차, 동물 중 어느 하나로 판단하여 상기 객체의 카테고리를 결정함으로써 상기 객체를 분류하는 것인, 객체 분류 장치.
- 제 1 항에 있어서,
상기 객체 분류부에서 분류한 객체의 메타데이터를 저장하는 저장부를 더 포함하는 것인, 객체 분류 장치.
- 영상에 포함된 객체를 분류하는 객체 분류 방법에 있어서,
영상을 입력받는 단계;
상기 입력받은 영상으로부터 객체 영역을 추출하는 단계;
딥러닝 알고리즘에 기초하여 상기 추출한 객체 영역으로부터 클래스 활성화 맵(CAM, Class Activation Map)을 생성하는 단계;
상기 생성된 CAM에 기초하여 분할 CAM을 생성하는 단계;
상기 분할 CAM을 이용하여 분류 영역을 추출하는 단계; 및
상기 추출된 분류 영역에서 객체 분류를 수행하는 단계
를 포함하고,
상기 분할 CAM을 생성하는 단계는,
상기 CAM을 복수의 구간으로 나누는 단계;
상기 복수의 구간 각각에 포함된 상기 전격 객체 및 배경에 대한 분산에 기초하여 상기 복수의 구간 각각에 대한 가중치 분산을 도출하는 단계;
상기 도출된 가중치 분산 중 최솟값을 가지는 구간을 도출하는 단계; 및
상기 최솟값을 가지는 구간에 기초하여 상기 분할 CAM을 생성하는 단계를 포함하고,
상기 최솟값을 가지는 구간은 복수의 객체 각각에 대응하는 복수의 분류 영역 또는 상기 객체와 상기 객체가 아닌 부분의 구분을 통해 노이즈가 제거된 분류 영역이 추출되도록 하는 구간에 해당하는 것인, 객체 분류 방법.
- 제 9 항에 있어서,
상기 CAM을 생성하는 단계는 상기 객체가 분류될 적어도 하나의 카테고리와 대응되는 채널을 이용하는 것인, 객체 분류 방법.
- 제 10 항에 있어서,
상기 분할 CAM을 생성하는 단계는 상기 CAM을 분할 처리하여 객체 간 분리 및 노이즈 제거로 객체 추정을 명확히 하는 상기 분할 CAM을 생성하는 것인, 객체 분류 방법.
- 제 11 항에 있어서,
상기 분할 CAM을 생성하는 단계는
상기 도출된 구간의 CAM을 2진 분류하여 상기 분할 CAM을 생성하는 단계를 더 포함하는 것인, 객체 분류 방법.
- 제 11 항에 있어서,
상기 분류 영역을 추출하는 단계는 상기 입력받은 영상에 복수의 객체가 존재하는 경우에 상기 분할 CAM을 이용하여 상기 복수의 객체 각각에 대응하는 복수의 분류 영역을 분리하여 추출하는 것인, 객체 분류 방법.
- 제 9 항에 있어서,
상기 객체를 분류하는 단계는 상기 분류 영역에 포함된 객체를 사람, 자동차, 동물 중 어느 하나로 판단하여 상기 객체의 카테고리를 결정함으로써 상기 객체를 분류하는 것인, 객체 분류 방법.
- 제 9 항에 있어서,
상기 객체를 분류하는 단계에서 분류한 객체의 메타데이터를 저장하는 단계를 더 포함하는 것인, 객체 분류 방법.
- 영상에 포함된 객체를 분류하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
영상으로부터 객체 영역을 추출하고,
딥러닝 알고리즘에 기초하여 상기 추출한 객체 영역으로부터 클래스 활성화 맵(CAM, Class Activation Map)을 생성하고, 상기 생성된 CAM에 기초하여 S-CAM(Segmentation-Class Activation Map)을 생성하고,
상기 S-CAM을 이용하여 영상에 포함된 객체를 분류하도록 하는 명령어들의 시퀀스를 포함하고,
상기 CAM을 복수의 구간으로 나누고, 상기 복수의 구간 각각에 포함된 상기 전경 객체 및 배경에 대한 분산에 기초하여 상기 복수의 구간 각각에 대한 가중치 분산을 도출하고, 상기 도출된 가중치 분산 중 최솟값을 가지는 구간에 기초하여 상기 S-CAM을 생성하도록 하는 명령어들의 시퀀스를 더 포함하고,
상기 최솟값을 가지는 구간은 복수의 객체 각각에 대응하는 복수의 분류 영역 또는 상기 객체와 상기 객체가 아닌 부분의 구분을 통해 노이즈가 제거된 분류 영역이 추출되도록 하는 구간에 해당하는 것인, 매체에 저장된 컴퓨터 프로그램.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190172178A KR102566614B1 (ko) | 2019-12-20 | 2019-12-20 | 영상에 포함된 객체를 분류하는 장치, 방법 및 컴퓨터 프로그램 |
PCT/KR2020/014513 WO2021125539A1 (ko) | 2019-12-20 | 2020-10-22 | 영상에 포함된 객체를 분류하는 장치, 방법 및 컴퓨터 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190172178A KR102566614B1 (ko) | 2019-12-20 | 2019-12-20 | 영상에 포함된 객체를 분류하는 장치, 방법 및 컴퓨터 프로그램 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210079922A KR20210079922A (ko) | 2021-06-30 |
KR102566614B1 true KR102566614B1 (ko) | 2023-08-14 |
Family
ID=76477741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190172178A KR102566614B1 (ko) | 2019-12-20 | 2019-12-20 | 영상에 포함된 객체를 분류하는 장치, 방법 및 컴퓨터 프로그램 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102566614B1 (ko) |
WO (1) | WO2021125539A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116152575B (zh) * | 2023-04-18 | 2023-07-21 | 之江实验室 | 基于类激活采样引导的弱监督目标定位方法、装置和介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110832499B (zh) * | 2017-11-14 | 2023-11-24 | 谷歌有限责任公司 | 通过稀疏时间池化网络的弱监督动作定位 |
KR102220109B1 (ko) * | 2018-05-31 | 2021-02-25 | 주식회사 뷰노 | 심층 신경망을 이용하여 영상을 분류하는 방법 및 이를 이용한 장치 |
KR102666072B1 (ko) * | 2018-06-05 | 2024-05-17 | 삼성전자주식회사 | 기계 학습 장치 및 기계 학습 장치의 학습 방법 |
US10878276B2 (en) * | 2018-06-05 | 2020-12-29 | Hrl Laboratories, Llc | Method and system for detecting change of context in video streams |
KR101889725B1 (ko) * | 2018-07-04 | 2018-08-20 | 주식회사 루닛 | 악성 종양 진단 방법 및 장치 |
-
2019
- 2019-12-20 KR KR1020190172178A patent/KR102566614B1/ko active IP Right Grant
-
2020
- 2020-10-22 WO PCT/KR2020/014513 patent/WO2021125539A1/ko active Application Filing
Non-Patent Citations (2)
Title |
---|
A. Bearman et al., ‘What's the Point: Semantic Segmentation with Point Supervision,’arXiv:1506.02106v5 [cs.CV] 23 Jul 2016 (2016.07.23.)* |
B. Zhou et al. et al., ‘Learning Deep Features for Discriminative Localization,’ arXiv:1512.04150v1 [cs.CV] (2015.11.14.) 1부.* |
Also Published As
Publication number | Publication date |
---|---|
KR20210079922A (ko) | 2021-06-30 |
WO2021125539A1 (ko) | 2021-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108960266B (zh) | 图像目标检测方法及装置 | |
JP6018674B2 (ja) | 被写体再識別のためのシステム及び方法 | |
Feng et al. | Detect faces efficiently: A survey and evaluations | |
CN112784673A (zh) | 用于抽取视频数据的计算*** | |
KR100695136B1 (ko) | 영상의 얼굴검출장치 및 방법 | |
Velastin et al. | People detection and pose classification inside a moving train using computer vision | |
CN110580499B (zh) | 基于众包重复标签的深度学习目标检测方法及*** | |
Wang et al. | Video object matching across multiple non-overlapping camera views based on multi-feature fusion and incremental learning | |
Spampinato et al. | Fine-grained object recognition in underwater visual data | |
Jemilda et al. | Moving object detection and tracking using genetic algorithm enabled extreme learning machine | |
Makantasis et al. | Semi-supervised vision-based maritime surveillance system using fused visual attention maps | |
Karaimer et al. | Detection and classification of vehicles from omnidirectional videos using multiple silhouettes | |
KR102566614B1 (ko) | 영상에 포함된 객체를 분류하는 장치, 방법 및 컴퓨터 프로그램 | |
Krithika et al. | MAFONN-EP: A minimal angular feature oriented neural network based emotion prediction system in image processing | |
Wang et al. | A two-layer night-time vehicle detector | |
Teja | Static object detection for video surveillance | |
Yang et al. | Video anomaly detection for surveillance based on effective frame area | |
Hasan et al. | Tiny head pose classification by bodily cues | |
Kim et al. | Crowd density estimation using multi-class adaboost | |
WO2022228325A1 (zh) | 行为检测方法、电子设备以及计算机可读存储介质 | |
Kong et al. | Do Deep-Learning Saliency Models Really Model Saliency? | |
CN111027482A (zh) | 基于运动向量分段分析的行为分析方法及装置 | |
Hsu et al. | Human head detection using histograms of oriented optical flow in low quality videos with occlusion | |
Bhattacharya | HybridFaceMaskNet: A novel face-mask detection framework using hybrid approach | |
Gawande et al. | Scale invariant mask r-cnn for pedestrian detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |