KR102305229B1 - 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법 및 장치 - Google Patents

객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법 및 장치 Download PDF

Info

Publication number
KR102305229B1
KR102305229B1 KR1020210022845A KR20210022845A KR102305229B1 KR 102305229 B1 KR102305229 B1 KR 102305229B1 KR 1020210022845 A KR1020210022845 A KR 1020210022845A KR 20210022845 A KR20210022845 A KR 20210022845A KR 102305229 B1 KR102305229 B1 KR 102305229B1
Authority
KR
South Korea
Prior art keywords
feature map
information
motion vector
neural network
generating
Prior art date
Application number
KR1020210022845A
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 셀렉트스타 주식회사
Application granted granted Critical
Publication of KR102305229B1 publication Critical patent/KR102305229B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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/20081Training; Learning
    • 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/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법 및 장치에 관한 것으로서, 더욱 상세하게는 학습된 인공신경망을 이용하여 객체 경계정보를 추출함에 있어서, 별도의 객체 경계정보 추출을 위한 인공신경망에서 사용될 수 있는 고레벨 시맨틱 정보를 추출할 수 있는, 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법 및 장치에 관한 것이다.

Description

객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법 및 장치 {METHOD AND DEVICE FOR PRODUCING FEATURE MAP INFORMATION FOR EXTRACTING BOUNDARY INFORMATION FROM IMAGE}
본 발명은 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법 및 장치에 관한 것으로서, 더욱 상세하게는 학습된 인공신경망을 이용하여 객체 경계정보를 추출함에 있어서, 별도의 객체 경계정보 추출을 위한 인공신경망에서 사용될 수 있는 고레벨 시맨틱 정보를 추출할 수 있는, 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법 및 장치에 관한 것이다.
최근 인공지능 관련 기술이 발전하고, 인공지능을 활용한 다양한 솔루션들이 개발됨에 따라서 인공지능을 학습하기 위한 데이터를 수집하거나 구축하기 위한 방법에 대한 관심 또한 증가하고 있다. 인공지능, 특히 딥러닝 기반의 인공지능의 경우 학습을 위한 데이터가 방대할수록, 데이터의 질이 높을수록 뛰어난 성능을 발휘할 수 있기 때문에, 단순히 학습을 위한 데이터를 확보하는 것이 아니라, 양질의 데이터를 확보하는 것이 점차 중요해지고 있다.
일반적으로 인공지능이 학습하기 위한 데이터의 경우, 예를 들어, 차량이 포함된 이미지에서 차량 영역을 별도로 레이블링 하는 것과 같이, 레이블링된 데이터를 필요로 한다. 따라서, 단순히 데이터를 수집하는 것은 물론 수집한 데이터에 대해 수작업 등의 방식을 통해 별도의 레이블링을 수행해야 하고, 이는 학습 데이터를 확보하는데 있어서 레이블링을 수행하는 인력 확보 및 레이블링에 따른 시간 소요 등 많은 리소스가 요구된다.
이와 같이, 대량의 레이블링된 학습 데이터를 효율적으로 확보하기 위하여 최근 크라우드소싱(Crowdsourcing)을 기반으로 데이터를 구축하는 방법들이 제시되었다. 크라우드소싱 방식은 불특정 다수의 작업자에게 데이터와 같은 작업물을 제공하고, 작업자들은 작업물에 대하여 레이블링과 같은 작업을 수행하고, 작업자들이 수행한 작업결과들은 복수의 검수자에 의하여 검수되어 최종적으로 레이블링된 데이터들을 구축하고, 검수를 통해 최종적으로 구축된 데이터에 대하여 해당 데이터를 레이블링한 작업자들에게 보상을 제공하게 된다.
한편, 최근 데이터 기반 딥 러닝 기술은 다양한 분야의 개체 분리(Object Segmentation)에서 뛰어난 능력을 발휘하고 있다. 개체 분리 작업은 픽셀유닛의 오브젝트를 주어진 클래스로 분할하는 작업에 해당하고, 객체 분리작업은 기본적으로 이미지의 객체의 윤곽선을 분리하는 작업을 요구한다. 이와 같은 객체분리 작업은 스케일 변동성(Scale Variability), 겹침/가림(Occlusion), 모션 블러(Blur)를 감안하여 객체분리가 수행되어야 한다. 이와 같은 객체분리 작업에서의 인공신경망 기반 동작의 성능을 향상시키기 위하여, 다량의 라벨링된 데이터 혹은 주석된 데이터(annotated data)에 의하여 인공신경망이 학습되어야 한다.
그러나, 객체분리를 수행하는 인공신경망의 학습데이터를 확보하는 것은 시간 및 비용이 매우 많이 들게 된다. 일반적으로 하나의 이미지에서 하나의 객체를 검출하여 이에 대한 주석(예를 들어, 이미지에서 특정 객체의 윤곽선을 추출하는 작업)을 수행할 때는 평균적으로 40초의 시간이 소요된다.
이와 같은 이미지에 대해 주석을 부여하는 작업은 스크리블(Scribble), 클릭 방식이 제안되어 왔다. 스크리블 방식에서는 사용자가 객체영역에 대하여 선을 그리는 방식에 해당하고, 클릭 방식은 스크리블 방식과 유사하나, 객체영역에 대하여 클릭을 수행하는 방식에 해당한다.
이와 같은 방식에 있어서, 다른 객체에 의하여 일부가 가려진 객체를 표현함에 있어서 제한이 있다. 또한, 기본적으로 사람이 수작업으로 객체에 대해 주석을 부여하는 것은 시간이 상당히 소요된다는 문제가 있다.
본 발명은 학습된 인공신경망을 이용하여 객체 경계정보를 추출함에 있어서, 별도의 객체 경계정보 추출을 위한 인공신경망에서 사용될 수 있는 고레벨 시맨틱 정보를 추출할 수 있는, 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법 및 장치를 제공하는 것을 목적으로 한다.
상기와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에서는, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템에서 수행되는 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법으로서, 피쳐맵생성인공신경망모듈을 이용하여 대상 이미지로부터 복수의 세부피쳐맵을 추출하는 세부피쳐맵추출단계; 상기 세부피쳐맵의 병합에 기초하여 복수의 채녈을 갖는 제1피쳐맵을 생성하는 제1피쳐맵생성단계; 및 상기 제1피쳐맵을 풀링하여 해상도를 낮추고, 풀링된 해상도에서 각각의 픽셀 혹은 픽셀그룹의 객체 경계로의 방향 및 크기를 갖는 모션벡터정보를 포함하는 추가정보를 병합하여, 복수의 채널을 갖는 제2피쳐맵을 생성하는 제2피쳐맵생성단계;를 포함하고, 상기 모션벡터정보는 학습된 모션벡터인공신경망모듈에 기초하여 생성되는, 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법을 제공한다.
본 발명의 몇 실시예에서는, 상기 세부피쳐맵추출단계는 해상도가 서로 상이한 2 이상의 세부피쳐맵을 생성하고, 상기 제1피쳐맵생성단계에서는 선형보간법에 의하여 1 이상의 세부피쳐맵이 기설정된 해상도로 조정이 되어, 병합이 됨으로써, 제1피쳐맵이 생성될 수 있다.
본 발명의 몇 실시예에서는, 상기 복수의 세부피쳐맵 각각은 복수의 채널을 포함하고, 상기 제1피쳐맵생성단계에서는 각각의 세부피쳐맵의 복수의 채널 중 일부의 채널만이 학습된 인공신경망을 이용하여 추출하여 병합하여 제1피쳐맵을 생성할 수 있다.
본 발명의 몇 실시예에서는, 상기 모션벡터정보는 대상 이미지를 입력값으로 하는 상기 모션벡터인공신경망모듈에 의하여 도출되고, 상기 풀링된 해상도에서 각각의 픽셀 혹은 픽셀그룹에서 대하여, 각각의 픽셀 혹은 픽셀그룹의 최단 거리에 있는 객체 경계의 특정 지점까지의 방향 및 크기에 대한 정보를 포함할 수 있다.
본 발명의 몇 실시예에서는, 상기 모션벡터인공신경망모듈은, 1 이상의 컨볼루션 레이어 및 1 이상의 FC(Fully Connected) 레이어를 포함할 수 있다.
본 발명의 몇 실시예에서는, 상기 모션벡터정보는, 에지를 굵게 하는 전처리가 수행된 대상 이미지를 상기 모션벡터인공신경망모듈에 입력함으로써 도출될 수 있다.
본 발명의 몇 실시예에서는, 상기 추가정보는 사용자에 의하여 수동으로 입력된 객체의 경계에 대한 정보를 더 포함할 수 있다.
본 발명의 몇 실시예에서는, 상기 객체 경계정보는 객체의 경계선에 위치하는 복수의 제어점에 대한 정보를 포함하고, 상기 추가정보는 1 이상의 상기 제어점의 위치 이동에 대한 정보를 포함할 수 있다.
본 발명의 몇 실시예에서는, 상기 객체 경계정보는 객체의 경계선에 위치하는 복수의 제어점에 대한 정보를 포함하고, 상기 방법은, 상기 제2피쳐맵과 객체 경계정보를 학습된 그래프컴포지션인공신경망에 입력하여, 제어점이 객체의 경계선에 인접하도록 제어점의 위치가 제어되는 제어점위치변경단계를 더 포함할 수 있다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예에는 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템으로 구현되는 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 장치로서, 피쳐맵생성인공신경망모듈을 이용하여 대상 이미지로부터 복수의 세부피쳐맵을 추출하는 세부피쳐맵추출단계; 상기 세부피쳐맵의 병합에 기초하여 복수의 채녈을 갖는 제1피쳐맵을 생성하는 제1피쳐맵생성단계; 및 상기 제1피쳐맵을 풀링하여 해상도를 낮추고, 풀링된 해상도에서 각각의 픽셀 혹은 픽셀그룹의 객체 경계로의 방향 및 크기를 갖는 모션벡터정보를 포함하는 추가정보를 병합하여, 복수의 채널을 갖는 제2피쳐맵을 생성하는 제2피쳐맵생성단계;를 포함하고, 상기 모션벡터는 학습된 모션벡터인공신경망모듈에 기초하여 생성될 수 있다.
상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예에서는, 하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는, 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은, 피쳐맵생성인공신경망모듈을 이용하여 대상 이미지로부터 복수의 세부피쳐맵을 추출하는 세부피쳐맵추출단계; 상기 세부피쳐맵의 병합에 기초하여 복수의 채녈을 갖는 제1피쳐맵을 생성하는 제1피쳐맵생성단계; 및 상기 제1피쳐맵을 풀링하여 해상도를 낮추고, 풀링된 해상도에서 각각의 픽셀 혹은 픽셀그룹의 객체 경계로의 방향 및 크기를 갖는 모션벡터정보를 포함하는 추가정보를 병합하여, 복수의 채널을 갖는 제2피쳐맵을 생성하는 제2피쳐맵생성단계;를 포함하고, 상기 모션벡터정보는 학습된 모션벡터인공신경망모듈에 기초하여 생성되는, 컴퓨터 프로그램을 제공한다.
본 발명의 실시예들에 따르면, 객체분리를 위한 인터랙티브한 방식의 객체주석 크라우드 소싱 서비스를 제공할 수 있다.
본 발명의 실시예들에 따르면, 초기의 폴리곤 토폴로지를 객체에 대한 토폴로지로 변환시키고, 대상 객체가 다른 객체에 의하여 가려져 있는 경우에도 높은 정확도로 객체의 윤곽선을 판별할 수 있는 효과를 발휘할 수 있다.
본 발명의 실시예들에 따르면, 그래프 컨볼루션 신경망(GCN, Graph Convolution Neural Network)에 기반하여, 신규한 방식으로 폴리곤의 각각의 꼭지점을 이동시킴에 따라 객체의 윤곽선을 검출할 수 있는 효과를 발휘할 수 있다.
본 발명의 실시예들에 따르면, 폴리곤의 꼭지점의 위치 및 이들과 연결된 인접 꼭지점들의 의존성(Dependencies)를 동시에 고려하여, 객체의 윤곽선을 검출할 수 있다.
본 발명의 실시예들에 따르면, 모션 백터 브랜치(Motion Vector Branch)를 이용하여 픽셀들의 대상 객체의 경계로 향하는 방향을 도출할 수 있고, 이는 알지 못하는 목표를 향한 정확한 루트를 찾는 맵을 이용하는 효과를 발휘할 수 있다.
본 발명의 실시예들에 따르면, 폴리곤의 꼭지점들에 대한 분리 작업을 수행하고, 이는 꼭지점의 피쳐정보만을 고려하는 것이 아니라 다른 꼭지점들의 피쳐정보를 이용하되, 폴리곤의 꼭지점으로 이루어진 그래프 데이터의 토폴로지를 재생성하여 객체의 가려진 부분이 고려된 객체윤곽선 혹은 영역을 검출할 수 있는 효과를 발휘할 수 있다.
본 발명의 실시예들에 따르면, 새로운 아키텍쳐에 기반한 초기 폴리곤 토폴로지를 대상 객체의 토폴로지로 변환함으로써 윤곽선을 검출할 수 있는 효과를 발휘할 수 있다.
본 발명의 실시예들에 따르면, 셀프-어텐션(self-attention)에 기반한 분리-네트워크에 의하여 다른 객체에 의하여 가려진 객체요소를 판단하고, 다른 객체에 의하여 가려진 부분을 제외하고, 객체를 검출할 수 있는 효과를 발휘할 수 있다.
본 발명의 실시예들에 따르면, 객체의 폴리곤 형태를 분리된 요소를 통하여 검출할 수 있는 효과를 발휘할 수 있다.
본 발명의 실시예들에 따르면, 객체의 폴리곤 형상은 다른 객체에 의하여 가리워질 수 있는 데, 이 경우에도 폴리곤의 몇몇 꼭지점의 이동/삭제 등의 제어에 의하여 해결될 수 있는 효과를 발휘할 수 있다.
본 발명의 실시예들에 따르면, 새로운 방식의 심층 인공신경망 아키텍쳐에 의하여, 폴리곤에 기반한 접근 및 셀프-어텐션 매커니즘에 기반한 높은 정확도의 객체 경계정보 추출을 수행할 수 있다.
본 발명의 실시예들에 따르면, 시퀀스를 따르는 제어점들을 연결함으로써 객체를 표시 및 검출할 수 있는 효과를 발휘할 수 있다.
본 발명의 실시예들에 따르면, 이미지 전체가 입력될 수가 있으나, 검출의 정확도를 위하여 객체와 관련된 대상영역으로 크롭된 이미지가 입력값으로 주어질 수 있고, 학습된 인공신경망에 의하여 폴리곤의 꼭지점을 이동하여 회귀적 방식으로 객체의 윤곽선 혹은 형태를 도출할 수 있는 효과를 발휘할 수 있다.
본 발명의 실시예들에 따르면, 인접 매트릭스를 이용하여 검출된 객체의 폴리곤의 꼭지점들이 이어져 있는 지 혹은 이어져 있지 않은지를 판단하여, 해당 객체가 다른 객체에 의하여 가려져 있는 경우에도 해당 객체에 관한 윤곽선만을 도출할 수 있는 효과를 발휘할 수 있다.
도 1은 본 발명의 일 실시예에 따른 객체 경계정보의 추출방법의 전체적인 단계를 개략적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른 메인피쳐맵을 추출하는 과정을 개략적으로 도시한다.
도 3은 본 발명의 실시예들에 따른 피쳐맵정보들을 개략적으로 도시한다.
도 4는 본 발명의 일 실시예에 따른 모션벡터정보를 예시적으로 도시한다.
도 5는 본 발명의 일 실시예에 따른 위치변경정보를 예시적으로 도시한다.
도 6은 본 발명의 일 실시예에 따른 제어점조절인공신경망모듈의 동작을 개략적으로 도시한다.
도 7은 본 발명의 일 실시예에 따른 제어점위치변경단계의 동작과정을 개략적으로 도시한다.
도 8은 본 발명의 일 실시예에 따른 시퀀스조절인공신경망모듈에 의한 제어점관계정보를 도출하는 과정을 개략적으로 도시한다.
도 9는 본 발명의 일 실시예에 따른 연결시퀀스변경부의 동작을 개략적으로 도시한다.
도 10은 본 발명의 일 실시예에 따른 크라우드소싱에서의 객체 경계정보 주석 작업에 있어서 본 발명의 실시예에 따른 객체 경계정보의 추출방법이 적용된 서비스 단계들을 개략적으로 도시한다.
도 11은 본 발명의 일 실시예에 따른 피쳐맵 정보를 생성하는 방법의 전체 단계에 대하여 개략적으로 도시한다.
도 12는 본 발명의 일 실시예에 따른 피쳐맵 정보의 생성의 세부 과정들을 예시적으로 도시한다.
도 13은 본 발명의 일 실시예에 따른 세부피쳐맵의 병합과정을 개략적으로 도시한다.
도 14는 본 발명의 일 실시예에 따른 피쳐맵의 선형보간법 방식에 대하여 개략적으로 도시한다.
도 15는 본 발명의 일 실시예에 따른 세부피쳐맵으로부터 제1피쳐맵을 생성하는 단계들을 개략적으로 도시한다.
도 16은 본 발명의 일 실시예에 따른 제2피쳐맵을 생성하는 과정을 개략적으로 도시한다.
도 17은 본 발명의 일 실시예에 따른 대상 이미지의 전처리 과정을 개략적으로 도시한다.
도 18은 본 발명의 일 실시예에 따른 사용자입력정보가 추가된 피쳐맵정보를 생성하는 과정을 개략적으로 도시한다.
도 19는 본 발명의 일 실시예에 따른 사용자입력정보의 일 예를 개략적으로 도시한다.
도 20은 본 발명의 일 실시예에 따른 제2피쳐맵으로부터 제어점임베딩정보 및 최종제2피쳐맵을 생성하는 과정을 개략적으로 도시한다.
도 21은 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 예시적으로 도시한다.
이하에서는, 다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.
또한, 다양한 양상들 및 특징들이 다수의 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있는 시스템에 의하여 제시될 것이다. 다양한 시스템들이, 추가적인 장치들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있다는 점 그리고/또는 도면들과 관련하여 논의된 장치들, 컴포넌트들, 모듈들 등 전부를 포함하지 않을 수도 있다는 점 또한 이해되고 인식되어야 한다.
본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. 아래에서 사용되는 용어들 '~부', '컴포넌트', '모듈', '시스템', '인터페이스' 등은 일반적으로 컴퓨터 관련 엔티티(computer-related entity)를 의미하며, 예를 들어, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어를 의미할 수 있다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 객체 경계정보의 추출방법의 전체적인 단계를 개략적으로 도시한다.
본 발명의 객체 경계정보의 추출방법은 1 이상의 프로세서 및 1 이상의 메모리를 갖는 컴퓨팅시스템에서 수행된다.
본 발명의 일 실시예에서는, 객체 경계정보의 추출방법은 서버시스템에서 수행되고, 이에 대한 결과를 사용자단말에 제공하는 형태로 수행될 수 있다. 혹은 본 발명의 일 실시예에서는, 사용자단말에서 직접적으로 수행될 수도 있고, 다른 실시예에서는 후술하는 단계들의 일부는 서버시스템에서 수행되고, 나머지 단계에 대해서는 사용자단말에서 수행될 수 있다.
본 발명의 실시예들에 따른 객체 경계정보의 추출방법은 학습된 피쳐맵생성인공신경망모듈을 이용하여 대상 이미지의 각각의 픽셀 혹은 픽셀그룹에 대한 피쳐맵정보를 추출하는 피쳐맵추출단계(S10); 학습된 제어점조절인공신경망모듈을 이용하여 초기에 기설정된 위치 및 연결시퀀스를 갖는 복수의 제어점들에 대하여 상기 피쳐맵정보를 이용하여 객체의 경계에 복수의 제어점들이 근접하도록 상기 복수의 제어점들의 위치를 변경하는 제어점위치변경단계(S20); 및 학습된 시퀀스조절인공신경망모듈을 이용하여 변경된 복수의 제어점들의 위치에 상응하는 피쳐맵정보의 세부정보에 기초하여 복수의 제어점들의 연결시퀀스를 변경하는 제어점시퀀스변경단계(S30); 및 상기 제어점 및 연결시퀀스에 대한 정보에 기초하여 객체경계정보를 추출하는 객체경계정보추출단계(S40)을 포함한다.
도 1의 (A)에 도시된 상기 단계 S10, S20, S30, 및 S40는 각각 도 1의 (B)의 피쳐맵추출부(100), 제어점위치변경부(200), 제어점시퀀스변경부(300), 및 객체경계정보추출부(400)에 의하여 수행될 수 있다. 상기 컴퓨팅시스템은 복수의 물리적 서브컴퓨팅시스템을 포함할 수 있고, 예를 들어, 사용자단말 및 서버시스템이 컴퓨팅시스템에 포함될 수 있고, 피쳐맵추출부(100), 제어점위치변경부(200), 제어점시퀀스변경부(300), 및 객체경계정보추출부(400)는 물리적으로 상이한 각각 프로세서 및 메모리를 갖는 컴퓨팅장치에 의하여 분산되어 구현될 수도 있다.
또한, 피쳐맵추출부(100), 제어점위치변경부(200), 제어점시퀀스변경부(300), 및 객체경계정보추출부(400)의 각각에 있어서도 부분기능별로 물리적으로 상이한 각각 프로세서 및 메모리를 갖는 컴퓨팅장치에 의하여 분산되어 구현될 수도 있다.
단계 S10에서는, 학습된 피쳐맵생성인공신경망모듈을 이용하여 대상 이미지의 각각의 픽셀 혹은 픽셀그룹에 대한 피쳐맵정보를 추출하는 피쳐맵추출단계가 수행된다.
상기 대상 이미지는 전체 이미지에서 크롭된 이미지에 해당할 수 있다. 본 발명의 실시예들에 따른 객체 경계정보의 추출방법인 크라우드 소싱에 기반한 객체 주석을 입력하는 서비스에서 이용이 되는 경우, 실시예들에서는 사용자에게 전체 이미지를 제공하고, 사용자가 대상 이미지 영역을 입력한 후에, 해당 대상 이미지영역에 대하여 단계 S10 내지 S40이 수행될 수도 있다. 혹은 본 발명의 다른 실시예에서는, 학습된 인공신경망모듈 혹은 기설정된 규칙기반 설정모듈에 의하여 전체 이미지에서 대상 이미지에 대한 영역을 자동적으로 추출할 수 있다.
단계 S20에서는, 학습된 제어점조절인공신경망모듈을 이용하여 초기에 기설정된 위치 및 연결시퀀스를 갖는 복수의 제어점들에 대하여 상기 피쳐맵정보를 이용하여 객체의 경계에 복수의 제어점들이 근접하도록 상기 복수의 제어점들의 위치를 변경한다.
이와 같이, S10에서 생성된 피쳐맵정보에 기반하여, 단계 S20에서는 제어점들을 경계에 인접하도록 한다. 본 발명에서는 기본적으로 기설정된 초기 위치 및 연결시퀀스가 주어지는 제어점들이 주어지고, 이들 제어점을 인공신경망모듈에 기반하여 이동하여, 경계점으로 회귀적으로 이동하도록 한다.
제어점 각각은 1 이상의 연결시퀀스를 갖는다. 예를 들어, 제어점 N은 제어점 N-1과 제어점 N+1과 연결시퀀스를 가지게 된다. 이 경우, 제어점 N-1, 제어점 N, 제어점 N+1에 의하여 구현되는 2개의 선(예를 들어, 직선)이 객체의 경계에 해당할 수 있다.
단계 S30에서는 학습된 시퀀스조절인공신경망모듈을 이용하여 변경된 복수의 제어점들의 위치에 상응하는 피쳐맵정보의 세부정보에 기초하여 복수의 제어점들의 연결시퀀스를 변경한다.
본 발명의 실시예들에서는, S20에서와 같이 객체의 경계로 이동하도록 학습된 제어점조절인공신경망모듈에 의하여 1차적으로 객체의 경계정보를 도출한 후에, 스케일 변동성(scale variability), 겹침/가림(occlusion), 혹은 모션 블러(blur)를 고려하여, 해당 영역에서의 실제 객체 부분만을 도출한다.
예를 들어, 대상 이미지 내부의 객체가 특정한 다른 노이즈성 객체에 의하여 가려진 경우, 해당 노이즈성 객체 부분을 제외한 영역을 객체의 경계정보로 도출하여야 한다. 본 발명에서는, 객체 경계정보는 복수의 제어점 및 연결시퀀스로 정의가 되고, 이 중 연결시퀀스를 변경하는 방식으로 위와 같은 실제 객체 부분의 도출을 구현한다.
이와 같은 방식으로는 복수의 제어점들에 대해서는 그대로 유지하면서, 일부 연결시퀀스를 제거하는 방식으로 스케일 변동성(scale variability), 겹침/가림(occlusion), 혹은 모션 블러(blur) 부분에 대해서 대응할 수 있고, 특히 겹침/가림(occlusion)에 대해서 강인한 성능을 가질 수 있다.
예를 들어, 제어점1-2-3-4-5-6-7-8-9-10-1으로 제어점이 연결시퀀스가 설정된 경우, 제어점 5와 제어점 6 사이가 노이즈성 객체에 의하여 가려져 있는 경우에, 제어점 5와 제어점 6 사이의 연결시퀀스를 제거한다. 이 경우, 객체 영역은 제어점 1-2-3-4-5-1 로 이루어진 제1영역 및 제어점 6-7-8-9-10-6으로 이루어진 제2영역으로 정의될 수 있다.
본 발명의 일 실시예에서는 S20에 기설정된 기준에 따라 결과값이 수렴될 때까지 반복이 된 후에, S30에 수행될 수 있다. 이 경우, S20에 의하여 변경된 제어점의 위치는 다음 S20단계에서 초기값으로 입력되어 S20이 수행될 수 있다.
혹은, 본 발명의 다른 실시예에서는 S20 및 S30이 하나의 세트로 복수회 수행될 수도 있다.
단계 S40에서는, 상기 제어점 및 연결시퀀스에 대한 정보에 기초하여 객체경계정보를 추출한다. 전술한 바와 같이, 제어점 및 연결시퀀스는 1 이상의 객체 영역을 정의할 수 있다. 본 발명의 일 실시예에서는, 1 이상의 그룹의 제어점 및 연결시퀀스는 각각의 폐루프를 구현할 수 있고, 하나의 객체에 대하여 복수의 영역으로 객체 경계정보가 도출될 수 있다.
S10은 본 발명의 Split-GCN의 피쳐들을 추출하는 네트워크에 의하여 구현되는 인코더 파트에 해당할 수 있다. 이와 같은 인코더 파트는 객체의 경계정보 혹은 윤곽선 정보를 추출하기 위한 파트에 해당한다.
한편, S20, S30, S40은 인코더 파트에 의하여 추출된 피쳐들 및 새로운 그래프 요소 네트워크에 의하여 객체의 영역을 검출하는 디코더 파트에 해당할 수 있다.
이하에서는, 피쳐를 추출하는 인코더 파트에 대하여 설명하고, 이후 디코더 파트에 대하여 상세하게 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 메인피쳐맵을 추출하는 과정을 개략적으로 도시한다.
단계 S20 및 S30에서 사용되는 상기 피쳐맵정보는, 상기 대상 이미지의 각각의 픽셀 혹은 픽셀그룹으로부터 추출된 적어도 2 이상이 상이한 해상도를 갖는 복수의 세부피쳐맵들이 통합된 메인피쳐맵정보를 포함한다.
본 발명에서는, 상기 피쳐맵생성인공신경망모듈을 통하여 보다 효율적으로 객체 경계에 대한 정보를 추출하고, 이를 단계 S20, 및 S30에서 공통적으로 이용함으로써, 연산량을 감소시키면서, 객체 추출에 대한 정확도를 높일 수 있다. 이는 학습된 단일 인공신경망모듈에 의한 객체 경계정보 추출 방법보다 정확도 부분에서 상당수준으로 개선될 수 있을 뿐만 아니라, 객체 경계정보를 추출할 데이터의 추출하는 모델, 객체 경계정보를 1차적으로 도출하는 모델, 객체 경계정보의 정확도를 향상시키기 위한 모델 각각을 각각의 학습자료로 학습을 시키기 때문에, 적은 학습데이터로도 높은 정확도를 갖는 추론시스템을 구현할 수 있다.
도 2에 도시된 메인피쳐맵을 포함하는 피쳐맵정보를 기반으로 디코딩 파트에 해당하는 S20, 및 S30은 경계점 및 연결시퀀스를 포함하는 폴리곤을 변형하여 객체 경계를 도출한다. 즉, 기본 정보로 사용될 데이터에 대한 인공신경망모델을 객체 경계정보를 도출하는 인공신경망모델로부터 분리함으로써, 보다 높은 정확도 및 연산 효율성을 도모할 수 있다.
본 발명의 일 실시예에서는, CNN 기반의 인공신경망 모델을 이용하여, 대상이미지로부터 고레벨 시멘틱 정보에 해당하는 메인피쳐맵 정보를 추출하였다. 또한, 후술하는 바와 같이, 본 발명의 실시예들에서는, 모션 벡터 정보를 추출하여 이를 메인피쳐맵에 추가하여 최종적인 피쳐맵정보에 포함되게 하였고, 이는 기설정된 초기의 경계점으로 이루어진 폴리곤에서 해당 객체의 경계로 이동하는 데 가이드 정보를 제공함으로써, 보다 연산의 효율성 및 정확성을 획기적으로 개선하였다.
본 발명의 실시예들에서는, 메인피쳐를 추출하기 위하여, 1차적으로는 바운딩 박스가 설정될 수 있다. 이와 같은 바운딩 박스는 사용자의 입력에 의하여 설정될 수 있으나, 다른 자동화된 방법에 의하여도 설정될 수 있다. 혹은 바운딩 박스 없이 주어진 이미지 전체에 대하여 단계 S10 내지 S40이 수행될 수 있다.
본 발명의 일 실시예에서는 224 x 224 (픽셀 디멘젼) 등의 바운딩박스가 설정될 수 있다. 도 2의 대상이미지는 이와 같은 바운딩 박스에 상응하는 이미지에 해당한다.
이와 같이 크롭된 바운딩 박스 내의 대상이미지는 고-품질 시멘틱 정보로 CNN을 이용하여 인코딩된다. 본 발명의 일 실시예에서는 ResNet-50이 피쳐 추출 네트워크의 백본 네트워크로 동작할 수 있다.
다만, 본 발명의 바람직한 실시예에서는, 에버레지-풀링(Average pooling) 및 FC(Fully Connected Layer)를 제외한 CNN방식을 이용함으로써, 객체의 폴리곤 형상을 S10의 인코더 단계에서는 추출하지 않고, 별도의 학습된 S20 및 S30의 단계와 관련된 인공신경망모델에서 객체의 경계정보를 추출한다.
도 2에 도시된 바와 같이, 본 발명의 실시예에서는 복수의 세부피쳐맵을 추출하고, 이들의 정보를 메인피쳐맵으로 통합한다. 이는 피쳐맵의 풀링 과정에서 제거될 수 있는 정보들을 종합적으로 고려하기 위함이다. 이는 본 발명의 단계 S10은 최종적으로 객체 경계정보를 도출하는 것이 아닌, 객체 경계정보를 도출하기 위한 중간 정보들을 도출하기 위함이다.
도 2에 도시된 세부피쳐맵들은 서로 상이한 차원을 가질 수 있다. 예를들어, 세부피쳐맵#1은 112x112x64의 차원을 가지나, 세부피쳐맵 2는 56x56x256의 차원을 가질 수 있다. 하위 피쳐맵으로 갈수록 차원의 해상도는 감소하거나 혹은 유지될 수 있고, 채널은 유지되거나 증가할 수 있다.
이와 같이 추출된 복수의 세부피쳐맵은 레지듀얼(residual) 인코더 아키텍쳐를 이용함으로써 추출된 복수의 피쳐맵의 해상도를 조절하고, 이에 따라 복수의 피쳐맵의 2차원 해상도를 통일시켜서(예를들어 112x112)로 메인피쳐맵을 생성할 수 있다.
이 경우, 복수의 세부피쳐맵에서 일부 정보만은 선별하여 메인피쳐맵의 정보에 포함되게 할 수 있고, 이와 같은 선별과정도 학습된 인공신경망모듈에 의하여 수행될 수 있다.
이와 같은 방법으로, 본 발명의 실시예들에서는 고-품질 시멘틱 정보를 획득하면서 동시에 저-레벨 디테일을 동시에 얻어낼 수 있다.
상기와 같은 세부피쳐맵으로부터 메인피쳐맵으로 병합하는 과정에서 2차원 해상도가 상이한 세부피쳐맵의 병합에 있어서 예를 들어, 바이리니어(bilinear) 인터폴레이션을 이용하여, CONCAT(Concatenation) 이전에 각각의 콘볼루션 단계에서 얻어지는 피쳐맵의 해상도를 높은 해상도로 정렬할 수 있다.
정렬된 피쳐맵 정보는 CONCAT을 통하여 하나의 메인피쳐맵
Figure 112021020655993-pat00001
F로 표현될 수 있다. 이와 같은 메인피쳐맵은 상기 정렬된 피쳐맵 정보를 예를 들어 3 X 3 컨볼루션 필터로 2의 스트라이드로 필터링 한 후에, 배치 정규화 및 ReLU 활성화 함수를 통해 데이터 처리를 수행한 결과물이다. 여기서, C'는 채널을 의미하고, H' 및 W'은 제1피쳐맵의 높이와 폭을 의미한다.
이와 같은 메인피쳐맵을 포함하는 피쳐맵정보를 이용하여, 본 발명의 실시예들은 단계 S20에서 폴리곤의 초기 제어점들을 객체의 경계로 이동시킴으로써, 객체의 경계를 검출할 수 있다. 본 발명의 바람직한 실시예에서는 모션 벡터 정보를 이용하여 이와 같은 꼭지점들의 이동을 더욱 정확하게 할 수 있다.
도 3은 본 발명의 실시예들에 따른 피쳐맵정보들을 개략적으로 도시한다.
도 3의 (A)에 도시된 실시예에서는, 상기 피쳐맵정보는, 학습된 모션벡터인공신경망모듈에 의하여 도출된 각각의 픽셀 혹은 픽셀그룹에서 대상 이미지의 윤곽선으로의 모션벡터 정보를 더 포함할 수 있다.
이와 같은 모션벡터인공신경망모듈은 전술한 피쳐맵생성인공신경망모듈과는 별도로 학습된 모듈에 해당하고, 이는 대상 이미지의 각각의 픽셀 혹은 픽셀 그룹에서 대상 이미지에 포함된 객체의 윤곽선으로부의 모션벡터 정보를 도출한다.
도 3의 (B)에 도시된 상기 피쳐맵정보는, 전술한 메인피쳐맵에 추가적으로, 사용자의 1 이상의 제어점 및 1 이상의 연결시퀀스 중 1 이상에 대한 변경에 대한 정보를 포함하는 위치변경정보를 더 포함할 수 있다.
이와 같은 위치변경정보는 초기 혹은 이전단계에서 결정된 제어점에 대한 위치에 대해 사용자가 수동으로 입력한 변경정보에 해당한다. 이와 같은 위치변경정보는 개별 제어점에 대한 위치이동으로 구현될 수 있고, 혹은 전체 제어점에 대한 확대, 축소 등으로도 구현될 수 있다. 즉, 입력된 시나리오에 따라 전체 혹은 일부 제어점이 변경되는 것도 이와 같은 위치변경정보에 해당할 수 있다.
혹은 본 발명의 다른 실시예에서는, 이와 같은 위치변경정보는 특정 연결시퀀스를 제거하거나 혹은 수정하거나 혹은 추가하는 형태로도 구현될 수 있다.
도 4는 본 발명의 일 실시예에 따른 모션벡터정보를 예시적으로 도시한다.
전술한 바와 같이, 본 발명의 일 실시예에서는, 별도로 학습된 모션벡터인공신경망모듈에 의하여, 각각의 지점에서 예측되는 객체의 경계 혹은 윤곽선 까지의 모션 벡터를 도출할 수 있다. 이와 같이, 본 발명에서는 별도의 모션벡터인공신경망모듈을 별도로 이용함으로써, 단계 S20에서의 정확도를 개선할 수 있다. 도 4에 도시된 바와 같이, 모션벡터정보는 대상이미지의 각각의 픽셀 혹은 픽셀그룹에서부터 객체의 윤곽선까지의 최단 경로에 대한 정보를 포함한다. 즉, 모션벡터정보는 방향 및 크기를 내포하고 있는 정보에 해당한다.
본 발명의 일 실시예에서는, 상기 모션벡터인공신경망모듈은 1 이상의 콘볼루션 레이어 및 FC(fully connected) 레이어 중 1 이상을 이용하여 모션벡터정보에 상응하는 GT 모션맵(Ground Truth Motion Map)을 예측할 수 있다.
이와 같은 GT 모션맵은
Figure 112021020655993-pat00002
의 식으로 표현될 수 있고, 이는 각각의 픽셀 혹은 픽셀의 그룹으로부터 경계까지의 방향을 의미할 수 있다. 여기서, 2는 X, Y축 방향을 의미하고, H', W'은 FC의 크기에 상응하는 높이와 폭에 해당한다. 즉, 모션벡터정보는 상기 메인피쳐맵의 2차원 해상도에 상응(n배수)하는 차원을 가질 수 있다. 이와 같은 모션벡터정보의 차원 및 값은 다양한 형태로 결정될 수 있다.
즉, 모션벡터정보는 각각의 지점(픽셀 혹은 픽셀그룹에 상응)에서의 크기와 방향을 가진다. 이는 각각 모션벡터의 X축 크기 및 Y축 크기로 구현될 수 있고, 혹은 상이한 좌표계를 통하여 구현될 수도 있다.
이와 같은 모션벡터정보는 전술한 메인피쳐맵에서 도출될 수도 있으나, 바람직하게는 대상이미지 자체로부터 도출될 수 있다.
한편, 모션벡터정보에 해당하는 GT 모션맵은 하기와 같은 식으로 표현될 수 있다.
Figure 112021020655993-pat00003
여기서는 하기와 같은 식이 성립한다.
Figure 112021020655993-pat00004
Figure 112021020655993-pat00005
여기서, G는 GT 경계점들의 집합이다.
본 발명의 바람직한 실시예에서는, 객체의 경계는 예를들어 1개의 픽셀 사이즈를 갖기 때문에, 모션벡터인공신경망모듈이 더욱 예측을 정확하게 하기 위하여, 가우시안 필터 등(예를들어 9x9)을 사용하여 경계를 더욱 두껍게하는 이미지 처리를 대상 이미지에 대해 수행한 후에, 모션벡터인공신경망모듈에 입력하여 모션벡터 정보를 도출할 수 있다.
이와 같이 생성된 모션벡터는 메인피쳐맵에 CONCAT되어 전술한 피쳐맵정보가 도출될 수 있다. 이와 같은 최종적인 피쳐맵정보는 고레벨 시멘틱 정보와 함께 각각의 픽셀 혹은 픽셀그룹에서 최단 객체의 경계까지의 모션 벡터 정보를 포함하고 있다.
도 5는 본 발명의 일 실시예에 따른 위치변경정보를 예시적으로 도시한다.
본 발명의 실시예들에서는 단계 S20, S30, 및 S40 중 1 이상이 수행된 후에, 사용자의 입력에 의하여 제어점의 위치 혹은 연결시퀀스의 추가, 변경, 삭제 등의 편집정보가 입력될 수 있다.
예를 들어, S20이 수행된 후에, 사용자에게 상기 편집정보를 입력할 수 있는 인터페이스를 제공하고, 이후 사용자가 편집정보를 입력하는 경우, 메인피쳐맵에 해당 편집정보가 위치변경정보로서 추가되어 이를 S20 및 S30단계에서 고려함으로써, 더욱 정확하게 객체 경계정보를 도출할 수 있다.
도 5는 일부 제어점에 대한 사용자의 위치의 변경입력의 예를 도시한다. 예를들어, 단계 S10, S20, S30, 및 S40이 수행되어, 사용자에게 점선을 포함한 객체의 경계정보를 디스플레이하는 경우, 사용자가 일부 제어점을 도 5에 도시된 바와 같이 위치 이동을 할 수 있다.
이 경우, 단계 S10에서는 이와 같은 위치변경정보를 반영하여, 피쳐맵정보를 변경하고, 변경된 피쳐맵정보에 기반하여 단계 S20 및 S30이 수행되고, 이와 같은 과정에 의하여 S20 및 S30에서도 더욱 정확하게 제어점의 위치 및 연결시퀀스를 도출할 수 있다.
도 6은 본 발명의 일 실시예에 따른 제어점조절인공신경망모듈의 동작을 개략적으로 도시한다.
전술한 제어점위치변경단계(S20)에서는, 학습된 제어점조절인공신경망모듈을 이용하여 초기에 기설정된 위치 및 연결시퀀스를 갖는 복수의 제어점들에 대하여 상기 피쳐맵정보를 이용하여 객체의 경계에 복수의 제어점들이 근접하도록 상기 복수의 제어점들의 위치를 변경한다.
즉, 상기 단계 S10에서 도출된 피쳐맵정보를 통하여 학습된 인공신경망은 초기의 제어점의 위치를 1회 이상 변경함으로써, 객체의 경계에 제어점이 근접할 수 있도록 한다. S10은 회귀적으로 특정 기준에 부합할 때까지 연속적으로 수행될 수도 있다.
본 발명의 바람직한 실시예에서는, 상기 제어점조절인공신경망모듈은 그래프컴포지션신경망모듈을 포함할 수 있다. 본 발명의 실시예들에 따른 제어점 및 제어점 사이의 연결시퀀스는 일종의 그래프 정보로 간주될 수 있고, 이와 같은 그래프 정보를 처리하는 그래프컴포지션신경망모듈에 의하여 단계 S30이 처리됨으로써 효율성을 높힐 수 있다.
본 발명의 실시예들에서는, 그래프 요소 네트워크를 이용하여 단계 S30이 수행될 수 있다. 그래프 요소 네트워크는 대상 바운더리를 N개의 제어점(control point, 폴리곤을 이루는 꼭지점들)를 이용하여 정의하고, 이들 제어점의 위치를 이동시킴으로써, 1차적으로 객체의 경계정보를 도출할 수 있다.
본 발명의 일 실시예에서는, 기본적으로 폴리곤의 제어점들을 랜덤 변수로 이용하고, 그래프컴포지션신경망모듈(GCN(Graph Composition Network))을 이용하여 각각의 제어점들의 올바른 위치, 즉 객체의 경계에 상응하는 위치를 찾는다. 이와 같은 그래프컴포지션신경망모듈은 다양한 형태의 공개된 모듈이 이용될 수 있고, 바람직하게는, 이와 같은 제어점들의 위치를 찾는 과정에서, 각각의 대상 객체에 대한 큐(cue) 정보를 제공할 수 있는 인근의 점들을 이용하는 형태의 그래프컴포지션신경망모듈을 이용한다.
바람직하게는, 제어점시퀀스변경단계 이전의 초기의 상기 복수의 제어점 각각은 2 이상의 다른 제어점과 연결관계를 갖는다. 예를들어 제어점1-제어점2-제어점3-제어점4-제어점5-제어점1의 관계가 있는 경우, 제어점2는 제어점1 및 제어점3과 연결시퀀스를 갖는다.
도 7은 본 발명의 일 실시예에 따른 제어점위치변경단계의 동작과정을 개략적으로 도시한다.
전술한 바와 같이, 본 발명의 일 실시예에서는, 피쳐맵정보는 메인피쳐맵에 정규화된 모션벡터정보를 CONCAT 하여 생성될 수도 있다. 혹은 본 발명의 일 실시예에서는, 메인피쳐맵에 사용자의 경계를 표현하는 폴리곤의 1 이상의 제어점에 대한 변경 정보를 포함하여, 피쳐맵정보가 생성될 수도 있다. 이와 같은 피쳐맵정보에는 사용자의 변경정보가 반영되어 있기 때문에, 이를 이용하여 더욱 정확하게 꼭지점들의 경계로의 이동정보를 도출할 수 있다.
혹은, 피쳐맵정보는 최종적으로 메인피쳐맵에 모션벡터정보 및 상기 변경 정보 중 1 이상이 포함할 수 있다.
본 발명의 실시예들에서는, 바람직하게는, 보다 해상도를 높이기 위하여, 메인피쳐맵에 추가정보가 CONCAT된 피쳐맵에서 해상도를 확장시켜 피쳐맵정보를 생성할 수 있다. 이 경우, 바이리니어 보간법 등이 적용될 수 있다. 이와 같이 임베딩된 최종 피쳐맵정보를 F로 지칭한다.
본 발명의 실시예들에 따른 제어점조절인공신경망 모델은 N개의 제어점이 객체의 경계에 위치하도록 이동시킨다. 본 발명의 일 실시예에서는, 이와 같은 동작은 N개의 피쳐벡터들의 피쳐 교환에 의하여 이루어질 수도 있다.
상기 피쳐 벡터들은 제어점 임베딩으로부터 추출된 N개의 제어점들의 좌표에 따른 피쳐맵정보에 해당한다. 이와 같은 방식에서는, 각각의 피쳐맵정보의 각각의 좌표에는 자체의 좌표(픽셀 혹은 픽셀그룹)에 대한 정보뿐만 아니라, 인근의 픽셀 혹은 픽셀그룹에 대한 정보까지 포함되어 있기 때문에, 피쳐맵정보에서 제어점에 해당하는 피쳐맵정보만을 기반으로 제어점조절인공신경망이 동작할 수 있다.
혹은, 본 발명의 다른 실시예에서는 피쳐맵정보 전체 혹은 일부(제어점과 관계가 없는 픽셀그룹 혹은 픽셀에서의 피쳐맵까지 포함)하는 형태를 이용하여, 제어점의 위치를 변경할 수 있다.
도 7에 도시된 바와 같이, N개의 제어점은 초기 위치가 주어진다. 이와 같은 제어점은 각각이 연결시퀀스 정보를 가지고 있다. 예를 들어, 도 7에 도시된 실시예에서는, 고정된 원형 토폴로지로서, 바운딩 박스에 해당하는 대상 이미지의 약 75%를 커버하는 형태로서 주어질 수 있다.
그라운드 트루스점 세트는 객체의 경계로부터 균일하게 추출될 수 있다. 여기서, 예측된 점들을
Figure 112021020655993-pat00006
로 표현할 수 있고, 그라운드 트루스점들을
Figure 112021020655993-pat00007
로 표현할 수 있다. 여기서 N은 제어점의 개수이다.
본 발명의 바람직하게는, 실시예에서는 공지된 Graph-ResNet을 이용하여 더욱 정확하게 예측된 점들의 세트를 추출할 수 있다.
한편, 피쳐 벡터들은 하기와 같은 식으로 표현될 수 있다.
Figure 112021020655993-pat00008
여기서, i는 현재의 인덱스를 나타내고, l은 레이어를 의미한다.
바람직하게는,
Figure 112021020655993-pat00009
의 관계를 통하여 정규화할 수 있다.
한편,
Figure 112021020655993-pat00010
는 사용자의 인터페이스에 의하여 변경된 값, 즉 전술한 위치변경정보를 나타낸다. 만약, 사용자의 인터페이스, 즉 일부 점들에 대한 사용자의 조작이 없는 경우,
Figure 112021020655993-pat00011
는 0으로 설정될 수 있다.
위와 같이 정의된 피쳐 벡터에서, Graph-ResNet은 하기의 단계들에 따라 제어점들의 이동정보를 도출한다.
Figure 112021020655993-pat00012
Figure 112021020655993-pat00013
Figure 112021020655993-pat00014
로부터 하기의 피쳐벡터를 도출할 수 있다.
Figure 112021020655993-pat00015
여기서 마지막 GCN에서의 마지막 층에서 FC층을 획득하고, 이를 통하여 제어점의 현재 위치에서 x방향 및 y방향에서의 이동정보를 도출할 수 있다.
이후, 다음 GCN 레이어에서는 변경된 제어점에서의 피쳐 백터를 추출하고, 이와 같은 과정을 반복함으로써 윤곽선으로 제어점들이 이동할 수 있다.
도 8은 본 발명의 일 실시예에 따른 시퀀스조절인공신경망모듈에 의한 제어점관계정보를 도출하는 과정을 개략적으로 도시한다.
상기 제어점시퀀스변경단계에서는, 상기 복수의 제어점들의 위치에 상응하는 피쳐맵정보의 세부정보에 기초하여 시퀀스조절인공신경망모듈에 의하여 각각의 제어점들 사이의 관계정보를 도출하고, 상기 관계정보에 근거하여, 제어점들의 연결시퀀스를 변경한다.
본 발명의 실시예들에서는 분리 네트워크를 이용하여 각각의 꼭지점들 사이의 관계정보 즉, 의존성(dependencies)을 파악하고, 이에 따라 제어점 및 연결시퀀스 정보로 구현되는 그래프 토폴로지를 다시 생성하고, 의존성에 기초하여 제어점들의 사이의 연결시퀀스를 변경한다. 본 발명의 일 실시예에서는, 연결시퀀스 중 일부를 제거함으로써, 이에 따라 객체 영역에 대한 정보가 변화된다.
본 발명의 일 실시예에서는, 이와 같은 방식을 구현하기 위하여, 셀프-어텐션 트랜스포머 네트워크를 이용할 수 있고, 이 경우, 복잡한 의존성에 대한 처리 이점을 가져갈 수 있다.
도 8에 도시된 상측의 테이블은 각각의 제어점(제어점의 픽셀 혹은 상응하는 픽셀그룹)에서의 피쳐맵정보에 해당한다. 이와 같은 제어점과 관련된 피쳐맵정보로부터 시퀀스조절인공신경망모듈은 각각의 제어점 사이의 관계정보를 도출한다.
이후, 단계 S30에서는 관계정보에 기초하여, 연결시퀀스를 변경한다.
예를 들어, 각각의 제어점은 바로 전후의 제어점과의 관계정보, 혹은 의존성 정보가 높게 나타나는 것이 정상이다. 그러나, 특정 제어점에서 바로 전후의 제어점과의 관계정보 혹은 의존성 정보가 기설정된 기준, 혹은 다른 제어점들에서 나타나는 수치와 비교시, 매우 낮은 경우에는, 이들 제어점 사이는 의존성 혹은 유사도가 낮다고 판단하여, 이들 사이의 관계를 제외할 수 있다.
이와 같은 단계 S30에서는, 상기 관계정보를 반영하여, 새로운 새로운 그래프 토폴로지를 생성한다.
본 발명의 바람직한 실시예에서는, 셀프-어텐션 트랜스포머 네트워크에 기반하여 꼭지점들 사이의 의존성을 고려하여, 연결이 끊어진 점들을 예측한다. 연결이 끊어진 점들은 대부분 다른 노이즈성 객체 등에 의하여 가려진 객체에 해당하고, 이와 같은 방식으로 객체가 노이즈성 객체에 가려진 경우, 해당 객체의 부분만을 정확하게 추출할 수 있는 이점을 발휘할 수 있다.
본 발명의 바람직한 실시예에서는, 시퀀스조절인공신경망모듈은 그래프의 토폴로지를 다시 생성하기 위하여, 이전 단계에서 주어진 제어점들의 피쳐맵정보를 입력값으로 이용하고, 이를 통하여 인접 매트릭스(adjacency matrix)를 구성할 수 있다.
이와 같은 인접 매트릭스는
Figure 112021020655993-pat00016
의 제어점 임베딩정보를 이용한다. C'은 메인피쳐맵의 픽셀 혹은 픽셀그룹별 채널 수에 해당하고, 2+2는 모션벡터정보 및 사용자의 위치변경정보에 해당할 수 있다.
이와 같이, 시퀀스조절인공신경망모듈은 각각의 제어점에 대한 피쳐맵정보로부터 각각의 제어점의 관계정보를 도출하고, 단계 S30에서는 이와 같은 관계정보에 기반하여, 연결시퀀스의 변경, 예를들어, 특정 연결시퀀스의 제거를 수행할 수 있다.
이와 같은 제어점의 관계정보는 도 8에 도시된 바와 같은 인접 매트릭스의 형태를 가질 수 있다.
바람직하게는, 본 발명의 일 실시예에서는, 하기의 식에 따른 이용하여, 제어점 사이의 의존성을 도출하는 트랜스포머 기반 셀프-어텐션 매커니즘을 이용하였다.
Figure 112021020655993-pat00017
바람직하게는, 본 발명의 실시예에서는 상기의 셀프 어텐션 메커니즘 이후에는 바닐라 트랜스포머의 인코더를 수행하고, 이와 같은 프로세스를 다수, 예를들어 6회를 수행한다. 마지막 트랜스포머 레이어에서 Sigmoid 함수가 적용된 FC층을 얻어낼 수 있고, 이로부터 N x N의 인접 매트릭스를 획득할 수도 있다.
이와 같은 시퀀스조절인공신경망모듈은 다른 방식으로 이루어질 수 있고, 각각의 제어점에 대한 피쳐맵으로부터 제어점 사이의 유사도, 상관관계, 의존성(dependency) 등의 관계정보를 도출할 수 있는 학습된 인공신경망으로 구현될 수 있다.
도 9는 본 발명의 일 실시예에 따른 연결시퀀스변경부의 동작을 개략적으로 도시한다.
도 9에 도시된 바와 같이 상기 제어점시퀀스변경단계(S30)는, 대상 이미지에서의 객체가 다른 물체에 의하여 가려진 경우, 복수의 제어점의 연결시퀀스에 의하여 정의되는 객체에서 상기 다른 물체에 의하여 가려진 부분이 제외되도록 상기 복수의 제어점들의 연결시퀀스를 변경할 수 있다.
구체적으로 도 9의 좌측 형태는 S20 혹은 이전의 S20 및 S30에 의하여 결정된 제어점들 및 연결시퀀스에 해당한다. 이후, 연결시퀀스변경단계에 의하여, 제어점 사이의 의존성을 고려하여, 일부 연결시퀀스를 제거하게 되고, 이에 따라, 우측 형태에서와 같이, 대상 객체를 가리고 있는 노이즈성 객체를 제외한 형태로 객체의 경계정보가 추출될 수 있다.
즉, 상기 제어점시퀀스변경단계(S30)는, 학습된 시퀀스조절인공신경망모듈을 이용하여 변경된 복수의 제어점들의 위치에 상응하는 피쳐맵정보의 세부정보에 기초하여 상기 2개의 제어점 사이의 연결시퀀스를 제거한다.
도 10은 본 발명의 일 실시예에 따른 크라우드소싱에서의 객체 경계정보 주석 작업에 있어서 본 발명의 실시예에 따른 객체 경계정보의 추출방법이 적용된 서비스 단계들을 개략적으로 도시한다.
단계 S110에서는, 도 1 내지 도 9를 참조하여 설명하였던 객체 경계정보를 생성한다.
단계 S120에서는 작업물(예를 들어, 크롭된 대상 이미지) 및 예비적 객체경계정보를 전송한다. 이 경우, 대상 이미지에 단계 S110에서 추출된 객체 경계정보를 표시하여 제공할 수 있다.
이후, 단계 S130에서는 객체 경계정보가 입력된다. 예를 들어, 사용자는 제어점의 일부의 위치를 이동시키거나 혹은 연결시퀀스 일부를 수정(예를들어, 추가, 생성, 편집)을 할 수 있다. 이와 같이 수정된 객체 경계정보가 서비스서버에 전송됨으로써, 객체 경계정보에 대한 주석 작업이 완료될 수 있고, 혹은 사용자의 요청에 따라서, 사용자가 입력한 제어점의 변경위치정보를 반영하여 S110이 다시 수행될 수도 있다.
도 11은 본 발명의 일 실시예에 따른 피쳐맵 정보를 생성하는 방법의 전체 단계에 대하여 개략적으로 도시한다.
본 발명의 일 실시예에 따른 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법은, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템에서 수행되고, 피쳐맵생성인공신경망모듈을 이용하여 대상 이미지로부터 복수의 세부피쳐맵을 추출하는 세부피쳐맵추출단계(S210); 상기 세부피쳐맵의 병합에 기초하여 복수의 채녈을 갖는 제1피쳐맵을 생성하는 제1피쳐맵생성단계(S220); 및 상기 제1피쳐맵을 풀링하여 해상도를 낮추고, 풀링된 해상도에서 각각의 픽셀 혹은 픽셀그룹의 객체 경계로의 방향 및 크기를 갖는 모션벡터정보를 포함하는 추가정보를 병합하여, 복수의 채널을 갖는 제2피쳐맵을 생성하는 제2피쳐맵생성단계(S230);을 포함한다.
바람직하게는, 상기 모션벡터정보는 학습된 모션벡터인공신경망모듈에 기초하여 생성된다.
도 11의 (A)에 도시된 상기 단계 S210, S220, 및 S230은 각각 도 11의 (B)의 세부피쳐맵추출부(2110), 제1피쳐맵추출부(2120), 및 제2피쳐맵추출부(2130)에 의하여 수행될 수 있다. 상기 컴퓨팅시스템은 복수의 물리적 서브컴퓨팅시스템을 포함할 수 있고, 예를들어, 사용자단말 및 서버시스템이 컴퓨팅시스템에 포함될 수 있고, 세부피쳐맵추출부(2110), 제1피쳐맵추출부(2120), 및 제2피쳐맵추출부(2130)는 물리적으로 상이한 각각 프로세서 및 메모리를 갖는 컴퓨팅장치에 의하여 분산되어 구현될 수도 있다.
또한, 세부피쳐맵추출부(2110), 제1피쳐맵추출부(2120), 및 제2피쳐맵추출부(2130)의 각각에 있어서도 부분기능별로 물리적으로 상이한 각각 프로세서 및 메모리를 갖는 컴퓨팅장치에 의하여 분산되어 구현될 수도 있다.
단계 S210에서는 피쳐맵생성인공신경망모듈을 이용하여 대상 이미지로부터 복수의 세부피쳐맵을 추출하는 세부피쳐맵추출단계가 수행된다.
피쳐맵생성인공신경망모듈은 학습된 1 이상의 필터를 포함하고 있고, 이와 같은 필터를 통하여 대상 이미지로부터 복수의 세부피쳐맵을 생성할 수 있다. 이와 같은 대상 이미지는 전술한 바와 같이 원본 이미지 전체 혹은 원본 이미지에서 특정 부분만을 바운딩 박스로 크롭된 형태에 해당할 수 있다.
단계 S220에서는, 상기 세부피쳐맵의 병합에 기초하여 복수의 채녈을 갖는 제1피쳐맵을 생성하는 제1피쳐맵생성단계가 수행된다.
상기 세부피쳐맵은 해상도가 서로 상이할 수 있고, 단계 S220에서 이와 같은 상이한 해상도를 갖는 세부피쳐맵들이 조절되어, 병합될 수 있다. 또한, 세부피쳐맵 전체가 병합되는 것이 아니라, 세부피쳐맵의 정보 중 일부만이 선별되어 병합이 될 수 있다. 이와 같은 방식을 통하여 중간 단계에서 소실되는 정보까지 제1피쳐맵에 포함되도록 함으로써, 이후 이를 통한 객체의 경계정보의 추출의 정확도를 높일 수 있다.
단계 S230에서는, 상기 제1피쳐맵을 풀링하여 해상도를 낮추고, 풀링된 해상도에서 각각의 픽셀 혹은 픽셀그룹의 객체 경계로의 방향 및 크기를 갖는 모션벡터정보를 포함하는 추가정보를 병합하여, 복수의 채널을 갖는 제2피쳐맵을 생성하는 제2피쳐맵생성단계(S230)가 수행된다.
본 발명에서는, 객체의 경계정보를 추출하기 위하여 상기 단계 S210에서 수행되는 대상 이미지 자체로부터 피쳐정보를 추출하는 학습된 피쳐맵생성인공신경망모듈과 별도로 학습된 모션벡터인공신경망에서 추출된 정보를 추가적으로 병합한다.
이와 같은 방식으로, 피쳐맵은 대상 이미지 자체로부터 추출된 특징 정보뿐만 아니라, 별도로 구비된 학습된 인공신경망모델로부터 추출된 대상의 경계선으로의 모션벡터 정보를 포함함으로써, 이후, 객체 경계정보를 추출함에 있어서 더욱 연산의 효율성 및 정확성을 획기적으로 개선할 수 있다.
도 12는 본 발명의 일 실시예에 따른 피쳐맵 정보의 생성의 세부 과정들을 예시적으로 도시한다.
본 발명의 실시예들에서, 상기 세부피쳐맵추출단계는 해상도가 서로 상이한 2 이상의 세부피쳐맵을 생성하고, 상기 제1피쳐맵생성단계에서는 선형보간법에 의하여 1 이상의 세부피쳐맵이 기설정된 해상도로 조정이 되어, 병합이 됨으로써, 제1피쳐맵이 생성된다.
도 12에 도시된 실시예를 예를 들어 설명하면, 동물이 상당 영역을 차지하는 대상이미지로부터 conv1으로 표시되는 세부피쳐맵#1을 도출한다. 세부피쳐맵#1은 112x112의 평면해상도를 가지고, 64개의 채널을 갖는다. 이후, 세부피쳐맵#1로부터 세부피쳐맵#2(res 1)를 도출한다. 이후, 세부피쳐맵#2로부터 세부피쳐맵#3(res 2)를 도출한다. 이후, 세부피쳐맵#3(res 2)로부터 세부피쳐맵#4(res 3)를 도출한다. 이후, 세부피쳐맵#4로부터 세부피쳐맵#5(res 4)를 추출한다.
이후, 상기 세부피쳐맵 중 일부 혹은 전체를 concat하여 제1피쳐맵을 생성한다. 세부피쳐맵은 하위 레벨로 갈수록 해상도가 같거나 혹은 감소하게 되어, 모든 세부피쳐맵의 해상도는 서로 동일하지 않을 수 있다.
이와 같은 점을 고려하여, 본 발명의 실시예들에서는 세부 피쳐맵들을 특정 해상도로 변환하고, 이들을 채널 단위로 병합함으로써, 제1피쳐맵을 생성할 수 있다.
또한, 본 발명에서는 모든 도출된 세부피쳐맵을 병합하는 것이 아니라 일부가 제외될 수 있다. 도 12에 도시된 실시예에서는 예시적으로 res3으로 표시된 피쳐맵은 병합에서 제외되었다.
상기 복수의 세부피쳐맵 각각은 복수의 채널을 포함하고, 바람직하게는, 상기 제1피쳐맵생성단계에서는 각각의 세부피쳐맵의 복수의 채널 중 일부의 채널만이 학습된 인공신경망을 이용하여 추출하여 병합하여 제1피쳐맵을 생성한다.
이와 같이 일부 채널만을 선택하는 인공신경망은 결과적으로 피쳐맵생성인공신경망모듈에 포함되어 있거나 혹은 별도로 구비될 수도 있다. 이와 같은 방식으로 객체의 경계정보를 추출하는 데 보다 관련성이 있는 정보로 추출할 수 있다.
예를들어, 도 12에 도시된 실시예에서는 총 채널 수는 3880(64+256+512+1024+2024)개에 해당할 수 있다. 이 중 도 12에 도시된 실시예에서는 256채널만을 선택하여 제1피쳐맵으로 생성하였다.
한편, 제2피쳐맵생성단계에서는 전술한 바와 같은 제1피쳐맵생성단계에서 생성된 제1피쳐맵에 모션벡터정보를 추가(예를 들어, CONCAT)하여, 제2피쳐맵을 생성한다.
바람직하게는, 도 12에 도시된 바와 같이 제1피쳐맵을 그대로 사용하는 것이 아니라, 보간법 등으로 피쳐맵의 2차원 해상도를 압축(풀링)하고, 압축된 해상도에 따른 모션벡터를 제1피쳐맵에 병합하여 제2피쳐맵을 생성할 수 있다.
바람직하게는, 상기 모션벡터정보는 대상 이미지를 입력값으로 하는 상기 모션벡터인공신경망모듈에 의하여 도출되고, 상기 모션벡터정보는 최종적으로 상기 풀링된 2차원 해상도(도 12에서는 56X56)에서 각각의 픽셀 혹은 픽셀그룹에서 대하여, 각각의 픽셀 혹은 픽셀그룹의 최단 거리에 있는 객체 경계의 특정 지점까지의 방향 및 크기에 대한 정보를 포함한다.
이와 같은 모션벡터정보는 도 4를 참조하여 설명하였던 모션벡터정보에 상응한다.
바람직하게는, 상기 모션벡터인공신경망모듈은, 1 이상의 컨볼루션 레이어 및 1 이상의 FC(Fully Connected) 레이어 중 1 이상을 포함한다.
이와 같은 모션벡터인공신경망모듈은 기본적으로 피쳐맵생성인공신경망모듈과 별도로 존재하고, 다른 방식으로 학습이 된다. 또한, 모션벡터인공신경망모듈은 특정 방식의 최종 결론을 발생시킨다는 점에서 차이가 있다. 또한, 제1피쳐맵에 포함되는 세부피쳐맵 정보는 세부피쳐맵#1을 제외하고는 각각 이전 단계의 세부피쳐맵에서 도출되나, 모션벡터정보는 기본적으로 대상 이미지 자체로부터 추출된다는 점에서 상이하다.
상기 모션벡터정보는 대상 이미지를 입력값으로 하는 상기 모션벡터인공신경망모듈에 의하여 도출되고, 상기 풀링된 해상도에서 각각의 픽셀 혹은 픽셀그룹에서 대하여, 각각의 픽셀 혹은 픽셀그룹의 최단 거리에 있는 객체 경계의 특정 지점까지의 방향 및 크기에 대한 정보를 포함한다.
한편, 제2피쳐맵생성단계에서는 도 12에 도시된 바와 같이, 제2피쳐맵에 대하여 다시 해상도를 복원하는 과정을 수행할 수 있다. 이와 같이 생성된 제2피쳐맵은 각각의 픽셀(피쳐맵의 2차원 해상도가 대상 이미지와 동일한 경우) 혹은 픽셀그룹(피쳐맵의 2차원 해상도가 대상 이미지와 상이한 경우) 각각에 대한 피쳐정보를 가지고 있다. 이와 같은 제2피쳐맵은 일반적인 CNN기반 방식과 달리 중간 단계에서 소실되는 정보까지 포함된 전체 대상에서 선별된 정보를 포함하면서, 또한 별도의 학습된 인공신경망모듈에서 추출된 각각의 지점에서의 경계로의 모션벡터정보를 포함하고 있다.
이와 같은 제2피쳐맵은 대상 이미지의 지점별 고레벨 시멘틱 정보뿐만 아니라, 경계로의 모션벡터 개념의 정보를 포함하고 있기 때문에, 객체 경계정보의 추출에 있어서, 객체 경계정보가 복수의 제어점을 갖는 폴리곤 방식에서 강인한 효과를 발휘할 수 있다.
도 13은 본 발명의 일 실시예에 따른 세부피쳐맵의 병합과정을 개략적으로 도시한다.
전술한 바와 같이, 상기 세부피쳐맵추출단계는 해상도가 서로 상이한 2 이상의 세부피쳐맵을 생성한다. 이후, 상기 제1피쳐맵생성단계에서는 선형보간법에 의하여 1 이상의 세부피쳐맵이 기설정된 해상도로 조정이 되어, 병합이 됨으로써, 제1피쳐맵이 생성된다.
도 13에 도시된 바와 같이, res1로 표시된 피쳐맵은 보간법(interpolation)에 의하여 해상도가 2배로 확장이 되고, res2로 표시된 피쳐맵은 해상도가 4배로 확장이 되어, 각각의 세부피쳐맵은 해상도가 정렬이 된다.
이후, 해상도가 정렬된 res1과 res2는 채널이 서로 병합됨으로써, 하나의 피쳐맵으로 통합될 수 있다.
도 14는 본 발명의 일 실시예에 따른 피쳐맵의 선형보간법 방식에 대하여 개략적으로 도시한다.
본 발명에서는 중간 단계에서 추출되는 피쳐맵을 판단에 제외를 하는 것이 아니라, 중간 단계에서의 피쳐맵들에서도 중요 정보를 선별하여, 최종적으로 제1피쳐맵을 생성한다.
한편, 제1피쳐맵은 특정한 해상도를 갖는데, 후술하는 바와 같이 객체 경계정보를 제어점의 이동으로 추출하는 경우에는, 제1피쳐맵은 대상 이미지의 모션벡터 혹은 대상 이미지 자체에 상응하는 픽셀 혹은 픽셀그룹의 좌표를 가져야 한다.
따라서, 세부피쳐맵은 좌표 정보를 유지하는 상태로 병합이 되어야 하기 때문에, 본 발명에서는, 해상도가 상이한 세부피쳐맵의 해상도를 보간법을 이용하여 특정 단일의 해상도로 정렬한다.
도 14의 (A)에 도시된 형태는 해상도의 확대에 따라 상응하는 이전 픽셀의 값을 그대로 확대된 해상도의 매트릭스에서 사용하는 형태의 보간법에 해당한다.
한편, 도 14의 (B)에 도시된 형태는 선형보간법(bilinear interpolation)을 이용하여 매트릭스(피쳐맵의 2차원 요소가 이에 해당할 수 있음)의 해상도를 확대한 형태에 해당한다. 도 14의 (B)가 보다 각각의 값들 사이의 경계에서 스무스(smooth)한 값들을 가질 수 있고, 이를 통하여 이후 연산에서의 정확성을 도모할 수 있다. 즉, 해상도 확대에 따른 연산의 오류를 방지할 수 있다.
도 15는 본 발명의 일 실시예에 따른 세부피쳐맵으로부터 제1피쳐맵을 생성하는 단계들을 개략적으로 도시한다.
상기 복수의 세부피쳐맵 각각은 복수의 채널을 포함하고, 상기 제1피쳐맵생성단계에서는 각각의 세부피쳐맵의 복수의 채널 중 일부의 채널만이 학습된 인공신경망을 이용하여 추출하여 병합하여 제1피쳐맵을 생성한다.
구체적으로 세부피쳐맵들은 도 15에 도시된 바와 같이 채널수는 상이하더라도 해상도는 동일하도록 정렬된다. 이후, 해상도가 정렬된 세부피쳐맵들은 채널이 병합됨으로써 하나의 피쳐맵 매트릭스로 병합된다.
이후, 학습된 인공신경망에 의하여, 일부 채널이 제외되는 형태로 제1피쳐맵으로 생성된다.
도 16은 본 발명의 일 실시예에 따른 제2피쳐맵을 생성하는 과정을 개략적으로 도시한다.
도 16에 도시된 바와 같이, 대상이미지는 피쳐맵생성인공신경망모듈에 입력이 되고, 전술한 단계들에 따라 제1피쳐맵이 생성된다.
또한, 대상이미지는 모션벡터인공신경망모듈에 입력이 되고, 전술한 단계들에 따라 모션벡터정보로 생성된다.
이후, 상기 제1피쳐맵과 모션벡터정보가 병합되어 제2피쳐맵이 생성된다.
도 17은 본 발명의 일 실시예에 따른 대상 이미지의 전처리 과정을 개략적으로 도시한다.
상기 모션벡터인공신경망모듈은 객체경계로의 모션벡터가 라벨링된 학습데이터에 의하여 학습이 된다. 이와 같은 모션벡터인공신경망모듈은 FC레이어를 가짐으로써, 대상이미지의 각각의 지점에서 객체경계로의 모션벡터 결과값 자체를 도출한다.
본 발명의 바람직한 실시예에서는, 모션벡터정보에 대한 보다 정확한 검출을 위하여, 상기 모션벡터정보는, 에지를 굵게 하는 전처리가 수행된 대상 이미지를 상기 모션벡터인공신경망모듈에 입력함으로써 도출된다.
도 17의 (A)는 전처리가 수행되기 전의 대상 이미지의 일 예를 도시하고, 도 17의 (B)는 전처리가 수행된 대상 이미지의 일 예를 도시한다. 이와 같은 이미지처리는 에지검출->에지에 대한 이미지처리 등의 방식으로 수행되거나 혹은 가우시안 필터 등으로 구현될 수 있다.
이와 같은 방식으로 컨볼루션 레이어에 기반한 모션벡터인공신경망모듈의 동작의 정확도를 더욱 개선할 수 있다.
도 18은 본 발명의 일 실시예에 따른 사용자입력정보가 추가된 피쳐맵정보를 생성하는 과정을 개략적으로 도시한다.
본 발명의 일 실시예에서는, 상기 제2피쳐맵에는 사용자에 의하여 수동으로 입력된 객체의 경계에 대한 정보를 더 포함할 수 있다.
본 발명의 일 실시예에서는 객체 경계정보가 복수의 제어점 및 이들의 연결시퀀스에 의하여 정의되는 경우에, 1 이상의 제어점의 위치 이동 혹은 연결시퀀스에 대한 수정 정보가 상기 사용자입력정보에 해당할 수 있다. 이는 개별 제어점에 대한 입력 정보뿐만 아니라, 예를들어, 2 이상의 제어점 그룹 변경에 대한 특정 시나리오에 대한 사용자 입력(예를 들어, “제어점에 의하여 정의되는 객체영역을 더 크게”라는 선택 탭이 있고, 이를 선택하는 경우)에 따른 제어점들의 위치이동정보 등도 포함할 수 있다.
이 경우, 제2피쳐맵은 상기 추가정보를 포함함으로써, 객체에 대한 일종의 그라운드 트루스에 대한 정보를 포함할 수 있고, 이와 같은 제2피쳐맵은 인공신경망에 기반한 객체의 경계정보의 도출에 있어서 사용자가 입력한 정보를 추가적으로 이용하여 더욱 효율적인 연산을 수행할 수 있다.
도 19는 본 발명의 일 실시예에 따른 사용자입력정보의 일 예를 개략적으로 도시한다.
본 발명의 일 실시예에서는, 상기 객체 경계정보는 객체의 경계선에 위치하는 복수의 제어점에 대한 정보를 포함하고, 상기 추가정보는 1 이상의 상기 제어점의 위치 이동에 대한 정보를 포함한다.
도 19에 도시된 실시예에서는, 전체 이미지에서 바운딩박스로 지정되는 영역에 대하여 제1피쳐맵이 생성되고, 바운딩박스로 지정되는 영역에 대해 모션벡터 및 이미지 자체의 정보를 고려하여 제2피쳐맵이 1차적으로 생성된다.
이후, 생성된 제2피쳐맵에 기반하여 전술한 인공신경망모델들에 의하여 1차적으로 객체의 경계를 추출하고, 이를 제어점 및 이들의 연결시퀀스로 대상 이미지에 표시할 수 있다.
이 때, 사용자는 자동적으로 생성된 일부 제어점(도 19의 경우 다른 차량에 의하여 대상 객체가 가려진 경우, 다른 차량의 일부 꼭지점을 제어점으로 판단함)에 오류가 있는 경우 사용자는 오류가 있는 제어점의 위치를 특정 위치로 변경할 수 있고, 이와 같은 사용자의 행위와 관련된 정보가 전술한 추가정보에 해당할 수 있다.
도 20은 본 발명의 일 실시예에 따른 제2피쳐맵으로부터 제어점임베딩정보 및 최종제2피쳐맵을 생성하는 과정을 개략적으로 도시한다.
상기 객체 경계정보는 객체의 경계선에 위치하는 복수의 제어점에 대한 정보를 포함하고, 본 발명의 실시예에 따른 피쳐맵 정보를 생성하는 방법은 상기 제2피쳐맵과 객체 경계정보를 학습된 그래프컴포지션인공신경망에 입력하여, 제어점이 객체의 경계선에 인접하도록 제어점의 위치가 제어되는 제어점위치변경단계를 더 포함할 수 있다.
한편, 본 발명의 일 실시예에서는, 상기 그래프컴포지션인공신경망에 입력되는 피쳐맵정보는 도 20의 우측 상단에서와 같이, 현재 설정된 제어점들에 대해 제2피쳐맵의 해당 위치에서의 피쳐정보 및 해당 제어점에 대한 사용자 변경정보(예를들어, 사용자의 제어점 이동정보)를 포함하는 제어점임베딩정보를 포함할 수 있다.
혹은, 본 발명의 다른 실시예에서는, 상기 그래프컴포지션인공신경망에 입력되는 피쳐맵정보는 도 20의 우측 하단에서와 같이, 전체 제2피쳐맵 정보 및 전체 사용자 변경정보(예를들어, 사용자의 제어점 이동정보)가 통합된 형태일 수 있다.
이 경우, 제어점이 위치하지 않거나 제어점이 위치하거나 제어점의 변경이 없었던 지점에 상응하는 확대된 최종제2피쳐맵의 n채널 이후의 사용자입력정보가 입력되는 채널(예를 들어, 추가정보가 사용자의 제어점의 x축 이동정보 및 y축 이동정보를 포함하는 경우, n채널 이후 2개의 채널)의 값은 0 등의 기설정된 값으로 설정될 수 있다.
도 21은 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 개략적으로 도시한다.
도 21에 도시된 바와 같이, 컴퓨팅장치(11000)는 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/O subsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다. 이때, 컴퓨팅장치(11000)는 도 1에 도시된 컴퓨팅시스템(1000)에 해당될 수 있다.
메모리(11200)는 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(11200)는 컴퓨팅장치(11000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그 밖에 다양한 데이터를 포함할 수 있다.
이때, 프로세서(11100)나 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 메모리(11200)에 액세스하는 것은 프로세서(11100)에 의해 제어될 수 있다.
주변장치 인터페이스(11300)는 컴퓨팅장치(11000)의 입력 및/또는 출력 주변장치를 프로세서(11100) 및 메모리 (11200)에 결합시킬 수 있다. 프로세서(11100)는 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 컴퓨팅장치(11000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.
입/출력 서브시스템은 다양한 입/출력 주변장치들을 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 입/출력 서브시스템은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서 등의 주변장치를 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 입/출력 주변장치들은 입/출력 서브시스템을 거치지 않고 주변장치 인터페이스(11300)에 결합될 수도 있다.
전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.
통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅장치와 통신을 가능하게 할 수 있다.
또는 상술한 바와 같이 필요에 따라 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅장치와 통신을 가능하게 할 수도 있다.
이러한 도 21의 실시예는, 컴퓨팅장치(11000)의 일례일 뿐이고, 컴퓨팅장치(11000)는 도 21에 도시된 일부 컴포넌트가 생략되거나, 도 21에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅장치는 도 21에 도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(11600)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 컴퓨팅장치(11000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.
본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 어플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 컴퓨팅장치(11000)에 설치될 수 있다. 일 예로, 파일 배포 시스템은 컴퓨팅장치(11000)의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅장치 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (11)

1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템에서 수행되는 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법으로서,
피쳐맵생성인공신경망모듈을 이용하여 대상 이미지로부터 복수의 세부피쳐맵을 추출하는 세부피쳐맵추출단계;
상기 세부피쳐맵의 병합에 기초하여 복수의 채녈을 갖는 제1피쳐맵을 생성하는 제1피쳐맵생성단계; 및
상기 제1피쳐맵에 각각의 픽셀 혹은 픽셀그룹의 객체 경계로의 방향 및 크기를 갖는 모션벡터정보를 포함하는 추가정보를 병합하여, 복수의 채널을 갖는 제2피쳐맵을 생성하는 제2피쳐맵생성단계;를 포함하고,
상기 모션벡터정보는 학습된 모션벡터인공신경망모듈에 기초하여 생성되고,
상기 모션벡터정보는 각각의 픽셀 혹은 픽셀그룹에서 대하여, 각각의 픽셀 혹은 픽셀그룹의 최단 거리에 있는 객체 경계의 특정 지점까지의 방향 및 크기에 대한 정보를 포함하는, 피쳐맵 정보를 생성하는 방법.
청구항 1에 있어서,
상기 세부피쳐맵추출단계는 해상도가 서로 상이한 2 이상의 세부피쳐맵을 생성하고,
상기 제1피쳐맵생성단계에서는 선형보간법에 의하여 1 이상의 세부피쳐맵이 기설정된 해상도로 조정이 되어, 병합이 됨으로써, 제1피쳐맵이 생성되는, 피쳐맵 정보를 생성하는 방법.
청구항 1에 있어서,
상기 복수의 세부피쳐맵 각각은 복수의 채널을 포함하고,
상기 제1피쳐맵생성단계에서는 각각의 세부피쳐맵의 복수의 채널 중 일부의 채널만이 학습된 인공신경망을 이용하여 추출하여 병합하여 제1피쳐맵을 생성하는, 피쳐맵 정보를 생성하는 방법.
삭제
청구항 1에 있어서,
상기 모션벡터인공신경망모듈은,
1 이상의 컨볼루션 레이어 혹은1 이상의 FC(Fully Connected) 레이어를 포함하는, 피쳐맵 정보를 생성하는 방법.
청구항 1에 있어서,
상기 모션벡터정보는, 에지를 굵게 하는 전처리가 수행된 대상 이미지를 상기 모션벡터인공신경망모듈에 입력함으로써 도출되는, 피쳐맵 정보를 생성하는 방법.
청구항 1에 있어서,
상기 추가정보는 사용자에 의하여 수동으로 입력된 객체의 경계에 대한 정보를 더 포함하는, 피쳐맵 정보를 생성하는 방법.
청구항 1에 있어서,
상기 객체 경계정보는 객체의 경계선에 위치하는 복수의 제어점에 대한 정보를 포함하고,
상기 추가정보는 1 이상의 상기 제어점의 위치 이동에 대한 정보를 포함하는, 피쳐맵 정보를 생성하는 방법.
청구항 1에 있어서,
상기 객체 경계정보는 객체의 경계선에 위치하는 복수의 제어점에 대한 정보를 포함하고,
상기 방법은,
상기 제2피쳐맵과 객체 경계정보를 학습된 그래프컴포지션인공신경망에 입력하여, 제어점이 객체의 경계선에 인접하도록 제어점의 위치가 제어되는 제어점위치변경단계를 더 포함하는, 피쳐맵 정보를 생성하는 방법.
1 이상의 프로세서 및 1 이상의 메모리를 포함하는 컴퓨팅시스템으로 구현되는 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 장치로서,
상기 장치는,
피쳐맵생성인공신경망모듈을 이용하여 대상 이미지로부터 복수의 세부피쳐맵을 추출하는 세부피쳐맵추출단계;
상기 세부피쳐맵의 병합에 기초하여 복수의 채녈을 갖는 제1피쳐맵을 생성하는 제1피쳐맵생성단계; 및
상기 제1피쳐맵을 풀링하여 해상도를 낮추고, 풀링된 해상도에서 각각의 픽셀 혹은 픽셀그룹의 객체 경계로의 방향 및 크기를 갖는 모션벡터정보를 포함하는 추가정보를 병합하여, 복수의 채널을 갖는 제2피쳐맵을 생성하는 제2피쳐맵생성단계;를 수행하고,
상기 모션벡터정보는 학습된 모션벡터인공신경망모듈에 기초하여 생성되고,
상기 모션벡터정보는 각각의 픽셀 혹은 픽셀그룹에서 대하여, 각각의 픽셀 혹은 픽셀그룹의 최단 거리에 있는 객체 경계의 특정 지점까지의 방향 및 크기에 대한 정보를 포함하는, 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 장치.
하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는, 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은,
피쳐맵생성인공신경망모듈을 이용하여 대상 이미지로부터 복수의 세부피쳐맵을 추출하는 세부피쳐맵추출단계;
상기 세부피쳐맵의 병합에 기초하여 복수의 채녈을 갖는 제1피쳐맵을 생성하는 제1피쳐맵생성단계; 및
상기 제1피쳐맵을 풀링하여 해상도를 낮추고, 풀링된 해상도에서 각각의 픽셀 혹은 픽셀그룹의 객체 경계로의 방향 및 크기를 갖는 모션벡터정보를 포함하는 추가정보를 병합하여, 복수의 채널을 갖는 제2피쳐맵을 생성하는 제2피쳐맵생성단계;를 포함하고,
상기 모션벡터정보는 학습된 모션벡터인공신경망모듈에 기초하여 생성되고,
상기 모션벡터정보는 각각의 픽셀 혹은 픽셀그룹에서 대하여, 각각의 픽셀 혹은 픽셀그룹의 최단 거리에 있는 객체 경계의 특정 지점까지의 방향 및 크기에 대한 정보를 포함하는, 컴퓨터 프로그램.
KR1020210022845A 2021-01-13 2021-02-19 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법 및 장치 KR102305229B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210004650 2021-01-13
KR20210004650 2021-01-13

Publications (1)

Publication Number Publication Date
KR102305229B1 true KR102305229B1 (ko) 2021-09-27

Family

ID=77925187

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210022845A KR102305229B1 (ko) 2021-01-13 2021-02-19 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102305229B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102447747B1 (ko) * 2022-03-10 2022-09-27 주식회사 아이코드랩 이미지 처리 장치 및 방법
KR20230065554A (ko) * 2021-11-05 2023-05-12 (주) 스마트딥 Cctv의 차선 변경 차량 탐지 방법
KR102613162B1 (ko) * 2023-04-25 2023-12-13 주식회사 인피닉 3d 점군 데이터의 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200226474A1 (en) * 2018-03-23 2020-07-16 The Governing Council Of The University Of Toronto Systems and methods for polygon object annotation and a method of training an object annotation system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200226474A1 (en) * 2018-03-23 2020-07-16 The Governing Council Of The University Of Toronto Systems and methods for polygon object annotation and a method of training an object annotation system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
David Acuna 등, Devil is in the Edges: Learning Semantic Boundaries from Noisy Annotation, arXiv:1904.07934v2.(2019.06.09.) *
Efficient Interactive Annotation of Segmentation Datasets with Polygon-RNN++, arXiv:1803.09693v1.(2018.03.26.)* *
Huan Ling 등, Fast Interactive Object Annotation with Curve-GCN, arXiv:1903.06874v1.(2019.03.16.)* *
Yanda Meng 등, Regression of Instance Boundary by Aggregated CNN and GCN, ECCV2020.(2020.11.07.) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230065554A (ko) * 2021-11-05 2023-05-12 (주) 스마트딥 Cctv의 차선 변경 차량 탐지 방법
KR102653270B1 (ko) 2021-11-05 2024-04-02 (주)키미데이타 Cctv의 차선 변경 차량 탐지 방법
KR102447747B1 (ko) * 2022-03-10 2022-09-27 주식회사 아이코드랩 이미지 처리 장치 및 방법
KR102613162B1 (ko) * 2023-04-25 2023-12-13 주식회사 인피닉 3d 점군 데이터의 어노테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Similar Documents

Publication Publication Date Title
KR102305230B1 (ko) 객체 경계정보의 정확도 개선방법 및 장치
KR102305229B1 (ko) 객체 경계정보의 추출에 사용되는 피쳐맵 정보를 생성하는 방법 및 장치
He et al. Enhanced boundary learning for glass-like object segmentation
US11636234B2 (en) Generating 3D models representing buildings
CN110428428B (zh) 一种图像语义分割方法、电子设备和可读存储介质
EP3506160B1 (en) Semantic segmentation of 2d floor plans with a pixel-wise classifier
WO2021093435A1 (zh) 语义分割网络结构的生成方法、装置、设备及存储介质
CN111902825A (zh) 多边形对象标注系统和方法以及训练对象标注系统的方法
Liu et al. Local similarity pattern and cost self-reassembling for deep stereo matching networks
KR20190119864A (ko) 딥러닝 기반의 소형 물체 검출 기법
KR102352942B1 (ko) 객체 경계정보의 주석을 입력하는 방법 및 장치
JP6902811B2 (ja) 視差推定システムと方法、電子機器及びコンピュータ可読記憶媒体
KR20210096473A (ko) 신뢰도 추정을 통한 글로벌 및 로컬 검색을 기반으로 한 견고한 시각적 물체 추적
CN115908908A (zh) 基于图注意力网络的遥感图像聚集型目标识别方法及装置
CN110378284B (zh) 道路正视图生成方法及装置、电子设备、存储介质
CN110942463B (zh) 一种基于生成对抗网络的视频目标分割方法
US11715197B2 (en) Image segmentation method and device
KR102305228B1 (ko) 객체 경계정보의 추출방법 및 장치
CN110728359A (zh) 搜索模型结构的方法、装置、设备和存储介质
CN116469103A (zh) 一种医学图像分割数据自动标注的方法
Huang et al. Error correction for dense semantic image labeling
KR20230083212A (ko) 객체 자세 추정 장치 및 방법
US20220198707A1 (en) Method and apparatus with object pose estimation
Chen et al. AggNet for Self-supervised Monocular Depth Estimation: Go An Aggressive Step Furthe
Ventura et al. Multiresolution co-clustering for uncalibrated multiview segmentation

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant