KR102649612B1 - 실시간 및 경량의 딥러닝 기반 선분 검출 방법, 컴퓨터 장치, 및 컴퓨터 프로그램 - Google Patents

실시간 및 경량의 딥러닝 기반 선분 검출 방법, 컴퓨터 장치, 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102649612B1
KR102649612B1 KR1020210069321A KR20210069321A KR102649612B1 KR 102649612 B1 KR102649612 B1 KR 102649612B1 KR 1020210069321 A KR1020210069321 A KR 1020210069321A KR 20210069321 A KR20210069321 A KR 20210069321A KR 102649612 B1 KR102649612 B1 KR 102649612B1
Authority
KR
South Korea
Prior art keywords
line segment
map
center point
feature extractor
displacement
Prior art date
Application number
KR1020210069321A
Other languages
English (en)
Other versions
KR20220160990A (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 KR1020210069321A priority Critical patent/KR102649612B1/ko
Publication of KR20220160990A publication Critical patent/KR20220160990A/ko
Application granted granted Critical
Publication of KR102649612B1 publication Critical patent/KR102649612B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • 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
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • 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

Landscapes

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

Abstract

실시간 및 경량의 딥러닝 기반 선분 검출 방법, 컴퓨터 장치, 및 컴퓨터 프로그램이 개시된다. 선분 검출 방법은, 딥러닝 기반 학습 모델인 피처 추출기를 통해 입력 이미지에서 피처 맵(feature map)으로서 선분의 중심점 위치를 추론하기 위한 중심점 맵과 상기 선분의 변위 벡터(displacement vector)를 추론하기 위한 변위 맵을 추출하는 단계; 및 상기 중심점 맵과 상기 변위 맵을 이용하여 상기 입력 이미지에 포함된 상기 선분을 검출하는 단계를 포함한다.

Description

실시간 및 경량의 딥러닝 기반 선분 검출 방법, 컴퓨터 장치, 및 컴퓨터 프로그램{METHOD, COMPUTER DEVICE, AND COMPUTER PROGRAM TO DETECTING LINE SEGMENT BASED ON REAL-TIME AND LIGHT-WEIGHT DEEP LEARNING}
아래의 설명은 이미지 내 선분(line segment) 정보를 검출하는 기술에 관한 것이다.
이미지 내 선분 정보는 포즈 추정(pose estimation), 움직임 구조(structure from motion), 3D 재구성(3D reconstruction), 이미지 매칭(image matching), 이미지 변환(image translation), 이미지 수정(image rectification) 등 다양한 응용 분야에서 기본 정보로 제공되고 있다.
최근 딥러닝(deep learning) 기반 선분 검출기가 등장하면서 이미지 내 검출된 선분 정보에 대한 신뢰도가 높아지고 있으며, 이를 이용한 응용 분야의 품질 또한 향상되고 있다.
딥러닝 기반 선분 검출기는 선분 검출을 위해 멀티-모듈 처리(multi-module processing) 구조로 구성된다.
기존 딥러닝 기반 선분 검출기는 높은 성능에 비해 모델의 크기와 모듈의 수가 증가함에 따라 높은 연산량을 요구하면서 전체적인 추론 속도가 느려 질 수밖에 없다.
멀티-모듈 처리를 활용하는 딥러닝 기반 선분 검출기는 엄청난 모델 크기와 높은 계산 비용으로 인해 모바일 장치나 임베디드 장치와 같은 리소스 제약 환경에서 사용하기 어려운 문제가 있다.
[1] Nan Xue, Song Bai, Fudong Wang, Gui-Song Xia, Tianfu Wu, and Liangpei Zhang. Learning attraction field representation for robust line segment detection. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 1595-1603, 2019.
[2] Ziheng Zhang, Zhengxin Li, Ning Bi, Jia Zheng, Jinlei Wang, Kun Huang, Weixin Luo, Yanyu Xu, and Shenghua Gao. Ppgnet: Learning point-pair graph for line segment detection. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 7105- 7114, 2019
딥러닝 기반 선분 검출기의 경량화를 통해 모바일 장치나 임베디드 장치와 같은 리소스 제약 환경에서 실시간 동작하는 기술을 제공한다.
딥러닝 기반 선분 검출기의 경량화에 의한 성능 하락을 보상할 수 있는 학습 방법을 제공한다.
컴퓨터 장치에서 실행되는 선분 검출 방법에 있어서, 상기 컴퓨터 장치는 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 선분 검출 방법은, 상기 적어도 하나의 프로세서에 의해, 딥러닝 기반 학습 모델인 피처 추출기를 통해 입력 이미지에서 피처 맵(feature map)으로서 선분의 중심점 위치를 추론하기 위한 중심점 맵과 상기 선분의 변위 벡터(displacement vector)를 추론하기 위한 변위 맵을 추출하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 중심점 맵과 상기 변위 맵을 이용하여 상기 입력 이미지에 포함된 상기 선분을 검출하는 단계를 포함하는 선분 검출 방법을 제공한다.
일 측면에 따르면, 상기 검출하는 단계는, 상기 중심점 맵과 상기 변위 맵을 이용한 싱글-모듈 처리(single-module processing)를 통해 상기 선분의 중심점 위치를 찾은 후 상기 선분의 중심점 위치에 해당되는 변위 벡터에 따라 상기 선분의 양 끝점을 찾을 수 있다.
다른 측면에 따르면, 상기 피처 추출기는 인코더-디코더 구조로 설계되고, 상기 피처 추출기의 인코더 네트워크는 역 잔류 구조(inverted residual structure)를 가진 네트워크 모델로 구성될 수 있다.
다른 측면에 따르면, 상기 피처 추출기는 인코더-디코더 구조로 설계되고, 상기 피처 추출기의 인코더 네트워크는 MobileNetV2 모델의 일부를 이용하여 구성될 수 있다.
또 다른 측면에 따르면, 상기 피처 추출기의 디코더 네트워크는 피처의 해상도를 확장하는 서로 다른 유형의 블록 조합으로 구성될 수 있다.
또 다른 측면에 따르면, 상기 피처 추출기는 상기 선분의 시작점과 중심점 및 끝점을 표현한 TP(tri-point) 맵과 함께, 상기 선분으로부터 나누어진 복수 개의 하위 선분의 시작점과 중심점 및 끝점을 표현한 SoL(Segments of Line segment) 맵에 의해 학습될 수 있다.
또 다른 측면에 따르면, 상기 하위 선분의 개수는 상기 선분의 길이에 기초하여 결정될 수 있다.
또 다른 측면에 따르면, 상기 하위 선분은 상기 선분의 내분점을 이용하여 서로 겹치도록 상기 선분에서 분할될 수 있다.
또 다른 측면에 따르면, 상기 피처 추출기는 상기 선분과 관련된 기하 정보(geometric information)로서 상기 선분의 길이(length)와 기울기(degree)를 추가로 표현한 상기 TP 맵과 상기 SoL 맵, 상기 선분의 접점(junction)과 선분 분할(segmentation)을 표현한 분할 맵에 의해 학습될 수 있다.
또 다른 측면에 따르면, 상기 피처 추출기는 상기 중심점 위치와 상기 변위 벡터의 관계에 따른 매칭 손실(matching loss)로 최적화된 상기 중심점 맵과 상기 변위 맵에 의해 학습될 수 있다.
컴퓨터 장치에서 실행되는 선분 검출 모델 학습 방법에 있어서, 상기 컴퓨터 장치는 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 선분 검출 모델 학습 방법은, 상기 적어도 하나의 프로세서에 의해, 피처 맵으로서 선분의 시작점과 중심점 및 끝점을 표현한 TP 맵과 상기 선분으로부터 나누어진 복수 개의 하위 선분의 시작점과 중심점 및 끝점을 표현한 SoL 맵을 구성하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 TP 맵과 상기 SoL 맵을 이용하여 딥러닝 기반 학습 모델로서 입력 이미지에 포함된 선분을 검출하기 위한 선분 검출 모델을 학습하는 단계를 포함하는 선분 검출 모델 학습 방법을 제공한다.
컴퓨터 장치에서 실행되는 선분 검출 모델 학습 방법에 있어서, 상기 컴퓨터 장치는 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 선분 검출 모델 학습 방법은, 상기 적어도 하나의 프로세서에 의해, 피처 맵으로서 선분의 중심점 위치를 표현한 중심점 맵과 상기 선분의 양 끝점을 나타내는 변위 벡터를 표현한 변위 맵을 구성하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 중심점 맵과 상기 변위 맵을 이용하여 딥러닝 기반 학습 모델로서 입력 이미지에 포함된 선분을 검출하기 위한 선분 검출 모델을 학습하는 단계를 포함하고, 상기 학습하는 단계는, 상기 중심점 위치와 상기 변위 벡터의 관계에 따른 매칭 손실을 이용하여 상기 중심점 맵과 상기 변위 맵을 최적화하는 단계를 포함하는 선분 검출 모델 학습 방법을 제공한다.
상기 선분 검출 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램을 제공한다.
컴퓨터 장치에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 딥러닝 기반 학습 모델인 피처 추출기를 통해 입력 이미지에서 피처 맵으로서 선분의 중심점 위치를 추론하기 위한 중심점 맵과 상기 선분의 변위 벡터를 추론하기 위한 변위 맵을 추출하고, 상기 중심점 맵과 상기 변위 맵을 이용한 싱글-모듈 처리를 통해 상기 선분의 중심점 위치를 찾은 후 상기 선분의 중심점 위치에 해당되는 변위 벡터에 따라 상기 선분의 양 끝점을 찾는 것을 특징으로 하는 컴퓨터 장치를 제공한다.
본 발명의 실시예들에 따르면, 백본 네트워크(backbone network)를 최소화하고 선분 검출 프로세스를 싱글-모듈로 채택하는 모델 경량화를 통해 모바일 장치나 임베디드 장치와 같은 리소스 제약 환경에서 실시간 동작이 가능한 딥러닝 기반 선분 검출기를 제공할 수 있다.
본 발명의 실시예들에 따르면, 선분 검출 모델의 학습 과정에서 SoL(segments of line segment) 증강 방법과 다양한 기하 정보를 사용함으로써 경량 네트워크를 통해 경쟁력 있는 성능을 보장할 수 있다.
도 1은 본 발명의 일실시예에 있어서 컴퓨터 장치의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 2는 멀티-모듈 처리를 사용하는 선분 검출 방법을 설명하기 위한 예시 도면이다.
도 3은 본 발명의 일실시예에 있어서 싱글-모듈 처리를 사용하는 선분 검출 방법을 설명하기 위한 예시 도면이다.
도 4는 본 발명의 일실시예에 있어서 선분 검출 모델의 경량화된 구조를 도시한 것이다.
도 5는 본 발명의 일실시예에 있어서 경량화된 선분 검출 모델을 구성하는 블록 구조를 도시한 것이다.
도 6은 본 발명의 일실시예에 있어서 선분 검출에 이용되는 최종 피처 맵 구성을 도시한 것이다.
도 7은 본 발명의 일실시예에 있어서 학습 과정과 추론 과정에서 사용되는 피처 맵을 설명하기 위한 도면이다.
도 8 내지 도 11은 본 발명의 일실시예에 있어서 경량화된 선분 검출 모델의 성능을 보상하기 위한 학습 체계를 설명하기 위한 예시 도면들이다.
도 12는 본 발명의 일실시예에 따른 컴퓨터 장치가 수행할 수 있는 선분 검출 방법의 예를 도시한 순서도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 실시예들은 이미지에서 선분을 검출하는 기술에 관한 것이다.
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 딥러닝 기반 선분 검출기의 경량화 및 실시간 동작을 실현할 수 있다.
도 1은 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다. 예를 들어, 본 발명의 실시예들에 따른 선분 검출 시스템은 도 1을 통해 도시된 컴퓨터 장치(100)에 의해 구현될 수 있다.
도 1에 도시된 바와 같이 컴퓨터 장치(100)는 본 발명의 실시예들에 따른 선분 검출 방법을 실행하기 위한 구성요소로서, 메모리(110), 프로세서(120), 통신 인터페이스(130) 그리고 입출력 인터페이스(140)를 포함할 수 있다.
메모리(110)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(110)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 장치(100)에 포함될 수도 있다. 또한, 메모리(110)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(110)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(110)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(130)를 통해 메모리(110)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(160)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 장치(100)의 메모리(110)에 로딩될 수 있다.
프로세서(120)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(110) 또는 통신 인터페이스(130)에 의해 프로세서(120)로 제공될 수 있다. 예를 들어 프로세서(120)는 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 인터페이스(130)은 네트워크(160)를 통해 컴퓨터 장치(100)가 다른 장치와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(100)의 프로세서(120)가 메모리(110)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(130)의 제어에 따라 네트워크(160)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(160)를 거쳐 컴퓨터 장치(100)의 통신 인터페이스(130)를 통해 컴퓨터 장치(100)로 수신될 수 있다. 통신 인터페이스(130)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(120)나 메모리(110)로 전달될 수 있고, 파일 등은 컴퓨터 장치(100)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
통신 방식은 제한되지 않으며, 네트워크(160)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 유선/무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(160)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(160)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
입출력 인터페이스(140)는 입출력 장치(150)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드, 카메라 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(140)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(150)는 컴퓨터 장치(100)와 하나의 장치로 구성될 수도 있다.
또한, 다른 실시예들에서 컴퓨터 장치(100)는 도 1의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(100)는 상술한 입출력 장치(150) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
본 실시예들은 딥러닝 기반 선분 검출기의 경쟁적인 성능을 유지하면서 효율성에 초점을 맞추고 있다.
첫째, 선분 검출을 위한 경량 백본을 설계하고 선분 검출과 관련된 모듈을 줄일 수 있다.
둘째, 추가적인 학습 체계를 통해 선분 검출기의 경량화에 의한 성능 하락을 보상할 수 있다.
먼저, 본 실시예에 따른 선분 검출기 경량화 기술을 설명하면 다음과 같다.
도 2는 선분 검출을 위해 멀티-모듈 처리를 사용하는 선분 검출 방법을 설명하기 위한 예시 도면들이다.
도 2는 선분 검출에 딥러닝 모델을 사용하는 여러가지 전략을 요약한 것이다.
도 2를 참조하면, 선분 검출 시스템(20)은 입력 이미지(21)를 피처 추출기(feature extractor)인 백본(22)을 통해 인코딩함으로써 피처 맵(feature map)(23)으로 변환할 수 있다.
선분 검출 시스템(20)은 백본(22)을 통해 얻은 피처 맵(23)에 대한 추가 연산으로 멀티-모듈 처리(24)를 사용하여 피처 맵(23)으로부터 선분 정보(25)를 얻을 수 있다.
하향식 전략(To-Down(TD) strategy)은 어트랙션 필드 맵(attraction field maps)으로 선분 영역을 검출한 다음 검출 영역을 선분으로 스퀴즈하여 선분을 검출하는 방법이다.
이와는 반대로, 상향식 전략(Bottom-up(BU) strategy)은 먼저 접점(junction)을 검출한 다음 이를 선분으로 정렬하여 마지막으로 추가 분류기나 병합 알고리즘을 사용하여 선분을 검증하는 방법이다.
트라이-포인트(tri-point) 전략은 시간이 많이 소요되는 선분 제안(line proposal)과 검증 단계 없이 컨볼루션 모듈을 이용하여 보다 간단한 프로세스를 통해 선분 검출을 수행하는 방법이다.
이러한 선분 검출 프로세스는 선분 제안, 선분 검증 네트워크, 및 컨볼루션 모듈의 혼합을 포함하는 여러 모듈로 구성된다.
도 3은 본 발명의 일실시예에 있어서 선분 검출을 위해 싱글-모듈 처리(single-module processing)를 사용하는 선분 검출 방법을 설명하기 위한 예시 도면이다.
도 3을 참조하면, 본 발명에 따른 선분 검출 시스템(300)은 백본(320)을 통해 입력 이미지(310)를 인코딩하여 피처 맵(330)으로 변환할 수 있다. 본 발명의 일 실시예에 따른 백본(320)은 피처 맵으로서 중심점 맵(Center Map)과 변위 맵(Displacement Map)을 생성할 수 있다.
선분 검출 시스템(300)은 추가적인 연산이 필요한 멀티-모듈 처리(24)를 대신하여 백본(320)을 통해 얻은 피처 맵(330)을 바로 선분 검출에 사용하는 싱글-모듈 처리(340)를 적용할 수 있다.
본 발명의 따른 싱글-모듈 처리(340) 과정은 단순히 피처맵을 이용하여 선분 생성(Line Generation) 하는 단계만으로 구성된다. 선분 생성은 선분 검출의 결과인 선분의 정확한 위치를 얻기 위한 과정을 의미하며, 대표적으로 TP 기반 선분 생성 방법을 사용할 수 있다. TP 기반 선분 생성 방법은 먼저 선분의 중심점을 찾고 중심점 위치에 해당하는 변위 벡터(displacement vector)를 중심점에 더하여 선분의 양 끝점을 찾는 과정이다.
다시 말해, 선분 검출 시스템(300)은 싱글-모듈 처리(340)를 통해 피처 맵(330)에서 바로 선분 정보(350)를 얻을 수 있다.
따라서, 본 실시예에서는 리소스 제약 환경을 위한 실시간 경량 선분 검출기를 구현하기 위해 멀티-모듈 처리(24)를 대신하여 싱글-모듈 처리(340)로 피처 맵(330)에서 선분 정보(350)을 직접 검출할 수 있다.
도 4는 본 발명의 일실시예에 있어서 선분 검출 모델의 경량화된 구조를 도시한 것이다.
도 4를 참조하면, 선분 검출을 위한 백본(320)에 해당되는 피처 추출기(Feature Extractor)는 인코더-디코더 구조로 설계된다. 피처 추출기의 경량화를 위한 일례로, 인코더 네트워크는 성능과 연산량을 고려하여 모바일 환경에서 실시간으로 실행되는 것으로 잘 알려진 MobileNetV2를 기반으로 한다. 인코더 네트워크는 MobileNetV2의 일부를 포함하는 기본 블록(321)을 사용하여 64채널의 병목 블록에 대한 입력을 포함하는 구조로 더욱 가볍게 만들 수 있다. 디코더 네트워크는 하향식 구조의 서로 다른 유형의 블록(322, 323, 324)을 조합하여 설계될 수 있다.
기본 블록(321)은 속도와 경량화를 위해 MobileNetV2의 모든 구조를 사용하는 것이 아닌 MobileNetV2의 일부만을 사용한다. 기본 블록(321)을 제외한 나머지 블록(322, 323, 324)은 MobileNetV2 모델이 압축한 피처를 선분 검출에 용이하게 사용할 수 있도록 해상도를 확장하기 위해 사용되는 블록에 해당된다.
다시 말해, 백본(320)을 구성하는 피처 추출기에서 첫번째 블록부터 11번째 블록까지(block 1~11)는 MobileNetV2의 일부이며, 12번째 블록부터 16번째 블록까지(block 12~16)는 하향식 구조로 설계될 수 있다.
예를 들어, 도 5를 참조하면, 12번째 블록과 14번째 블록을 구성하는 A 타입 블록(322)은 스킵 연결(skip connection)과 업스케일(upscale)의 피처 맵을 연결하는 구조로 구성된다. 13번째 블록과 15번째 블록을 구성하는 B 타입 블록(323)은 중간에 잔류 연결(residual connection)을 사용하여 두 개의 3×3 컨볼루션을 수행하는 구조로 구성된다. 16번째 블록을 구성하는 C 타입 블록(324)은 두 개의 3×3 컨볼루션에 이어 1×1 컨볼루션을 수행하는 구조로 구성되며, 이때 첫번째는 확장된 컨볼루션에 해당된다.
A 타입 블록(322)을 통해 피처의 해상도를 두 배 키우고 B 타입 블록(323)을 통해 피처의 품질을 향상시킬 수 있다. C 타입 블록(324) 또한 B 타입 블록(323)과 마찬가지로 피처의 품질 향상을 위해 사용되는 블록이다.
상기한 구조의 백본(320)은 입력 이미지(310)를 인코딩하여 피처 맵(330)을 추출할 수 있다. 입력 이미지(310)가 H×W×3(여기서, H는 높이, W는 너비, 3은 RGB를 나타냄)일 때, 피처 맵(330)은 H/2×W/2×16(여기서, 16은 피처 맵의 출력 채널을 나타냄) 텐서로 업스케일되어 생성되거나 C 타입 블록(324)의 피처 맵을 H/2×W/2×16와 동일한 크기의 최종 피처 맵으로 사용할 수 있다.
백본(320)을 통해 얻어진 최종 피처 맵(330)은 TP(tri-point) 맵(331), SoL(segments of line segment) 맵(332), 및 분할(segmentation) 맵(333)을 포함할 수 있다.
이때, 선분의 변위를 나타내기 위해서 중심점으로부터 선분의 양 끝점에 대한 각각의 벡터를 사용하는 것이 바람직할 수 있다. 이 경우 선분의 끝점에 대한 2차원 벡터 정보가 2개이기 때문에 양 끝점에 대한 변위 벡터를 추론하기 위해서는 4개의 변위 벡터 맵이 필요하게 된다. 그렇다면, TP 맵(331)은 각각 7개의 피처 맵, 즉 선분의 중심점 위치를 찾기 위한 1개의 중심점 맵(center map), 선분의 변위 벡터를 추론하기 위한 4개의 변위 맵(displacement map), 선분의 기울기(각도)를 추론하기 위한 1개의 기울기 맵(degree map), 및 선분의 길이를 추론하기 위한 1개의 길이 맵(length map) 등을 포함하여 7개의 채널로 구성될 수 있다.
SoL 맵(332)은 TP 맵(331)과 구성이 동일하며, 차이점은 선분 분할에 따른 증강된 선분 정보(SoL Augmented line)를 추론하는 것이다. 이미지에 하나의 선분 A가 있다고 가정한다. TP 맵(331)의 GT(Ground Truth information)를 만들 때 중심점 맵의 경우 선분 A의 중심점 위치에 중심점 맵의 값을 1로 하고 그 외에는 0으로 한다. 반면에, SoL 맵(332)의 경우 선분을 여러 개로 쪼개어 하위 선분을 생성하는데, 예를 들면 선분 A를 3개의 하위 선분(a1, a2, a3)으로 생성한 후 하위 선분(a1, a2, a3)의 중심점 위치에 중심점 맵의 값을 1로 하고 그 외에는 0으로 한다. 다시 말해, 선분 A는 TP 맵(331)의 중심점 맵에 그려지고, SoL 맵(332)의 중심점 맵에는 선분 A가 아닌 선분 A로부터 생성된 하위 선분(a1, a2, a3)이 그려진다. 모델은 TP 맵(331)과 SoL 맵(332)의 GT를 바탕으로 학습되기 때문에 SoL 맵(332)에서는 여러 개의 하위 선분이 검출되고 TP 맵(331)에서는 하나의 선분이 검출될 수 있다. SoL 맵(332)은 선분의 수를 더 늘려서 구성하는 것으로, 모델 학습에만 이용되는 추가 정보에 해당된다.
분할 맵(333)은 선분의 양 끝점을 찾기 위한 1개의 접점 맵(junction map)과 선분의 분할(segmentation) 정보를 추론하기 위한 1개의 선분 맵(line map)을 포함하여 구성될 수 있다.
이상과 같이 최종 피처 맵(330)은 도 6에 도시한 바와 같이 7개의 채널로 구성된 TP(tri-point) 맵(331), 7개의 채널로 구성된 SoL(segments of line segment) 맵(332), 및 2개의 채널로 구성된 분할(segmentation) 맵(333)을 포함할 수 있다.
상기한 최종 피처 맵(330)은 업스케일(upscale)로 생성될 수 있으며, 검출된 선분은 TP 맵(331)에서 중심점(center points)과 변위 벡터(displacement vectors)를 병합하여 생성될 수 있다.
도 7에 도시한 바와 같이, 학습 과정(a)에서는 최종 피처 맵(330)으로 총 16개 채널의 TP 맵(331)과 SoL 맵(332) 및 분할 맵(333)이 이용될 수 있고, 추론 과정(b)에서는 최종 피처 맵(330)으로 TP 맵(331) 중 중심점 맵과 변위 맵으로 구성된 총 5개 채널의 피처 맵이 이용될 수 있다.
따라서, 본 발명에 따른 선분 검출 시스템(300)은 추론 과정에서 TP 맵(331)에 해당되는 1개의 중심점 맵과 4개의 변위 맵을 이용할 수 있으며, 이때 선분의 중심점을 찾고 중심점 위치에 해당하는 변위 벡터를 중심점에 더하여 선분의 양 끝점을 찾는 싱글-모듈 처리(340)를 적용할 수 있다.
다음으로, 선분 검출기의 경량화에 의한 성능 하락을 보상하는 학습 체계를 설명하면 다음과 같다.
선분 표현은 선분 검출이 생성되는 방식을 결정하고 궁극적으로 선분 검출기의 효율성에 영향을 미친다. 본 실시예에서는 실시간 선분 검출을 위해 간단한 선분 생성 프로세스에 기초한 TP 표현을 사용한다.
TP 맵(331)에 해당되는 TP 표현은 선분을 묘사하기 위해 시작점과 중심점 및 끝점을 사용하여 선분을 나타낸다.
도 8을 참조하면, 시작점 와 끝점 는 중심점 에 대해 두 개의 변위 벡터 를 사용하여 수학식 1과 같이 표현될 수 있다.
[수학식 1]
여기서, 는 a점 위치를 나타낸다. 는 중심점 에서 시작점까지의 2D 변위를 나타내고, 는 중심점 에서 끝점까지의 2D 변위를 나타낸다.
중심점과 변위 벡터는 1개의 중심점 맵과 4개의 변위 맵으로 학습된다. 중심점 맵의 GT는 중심점의 위치가 제로 맵에 표시되어 3×3윈도우로 잘린 가우시안(Gaussian) 커널을 사용하여 스케일된다. 선분 생성 프로세스에서는 중심점 맵에서 NMS(non-maximum suppression) 등을 이용하여 정확한 중심점 위치를 추출할 수 있다. 다음으로, 수학식 1에 표현된 간단한 산술 연산을 사용하여 중심점과 해당 변위로 선분을 생성할 수 있다. 따라서, 추론 과정을 효율적이고 빠르게 수행할 수 있다. 다시 말해, 싱글-모듈 처리(340)에서는 최종 피처 맵(330)으로부터 선분 생성을 즉시 수행할 수 있다.
중심점 맵을 훈련시키는 손실 함수로는 WBCE(weighted binary cross-entropy) 손실이 사용될 수 있다. 그러나, 양의(전경) 픽셀 수가 음의(배경) 픽셀 수보다 적기 때문에 전경-배경 클래스의 불균형으로 WBCE 손실의 성능을 저하시킨다. 대부분의 픽셀은 유용한 학습 신호에 기여하지 않는 음수이기 때문이다.
따라서, 본 실시예에서는 동일한 스케일을 가지기 위해 이진 교차 엔트로피 손실의 양과 음의 부분을 분리하고 분리된 이진 분류 손실(binary classification loss)을 수학식 2 내지 수학식 4와 같이 재구성할 수 있다.
[수학식 2]
[수학식 3]
[수학식 4]
여기서, 는 GT 맵의 픽셀 p가 0이 아닌 경우 1을 출력하고 그렇지 않은 경우 0을 출력한다. 는 시그모이드 함수를 나타내고, 는 각각 GT와 피처 맵에서의 픽셀 값을 나타낸다. 중심점 손실을 로 사용하며, 여기서 C는 중심점 맵을 나타내고, 가중치 를 (1, 30)으로 설정한다. 변위 손실 의 경우 회귀 학습을 위해 평활화 손실을 사용한다.
그리고, 본 실시예에서는 선분 검출 모델의 학습을 위해 선분의 수를 늘리고, 크기 더욱 다양하게 만들 수 있는 SoL 증강 방법을 적용한다.
중심점과 변위 벡터가 있는 선분 학습은 수용적 필드 크기 내에서 관리하기에 너무 길거나 개별 선분의 중심점이 서로 너무 가까운 특정 상황에서는 충분하지 않을 수 있다. 이러한 문제를 해결하고 TP 표현에 보조 정보를 제공하기 위해 선분을 서로 겹치는 부분이 있는 여러 개의 하위 부분으로 분할하는 SoL 증강 방법을 이용할 수 있다. 다시 말해, SoL 증강 방법은 선분을 여러 개로 쪼개어 학습에 사용되는 선분의 수를 증가시키는 방법이다. 먼저 k개의 내분점을 찾아 선분의 양 끝점을 포함하여 총 k+2개의 점을 선분 위에 표현할 수 있다. 여기서, 선분을 구성하는 두 점을 조합하면 되는데, SoL 증강 방법은 점을 하나씩 건너가며 서로 겹쳐지도록 k개의 선분을 조합한다.
도 9를 참조하면, 선분 에 대한 내분점 개수 k를 계산하게 되는데, 이때 k는 선분 의 길이에 기초하여 수학식 5를 통해 결정될 수 있다.
[수학식 5]
여기서, 은 선분 의 길이를 의미하고, 는 하위 부분의 기본 길이를 의미한다. 하위 부분의 결과 길이는 보다 짧거나 길 수 있으며, 예를 들어 와 같다. K 값이 0보다 클 때만 해당 선분에 대해 SoL 증강을 수행하게 된다.
도 9에 도시한 바와 같이, 선분 에 대해 k가 3으로 결정됨에 따라 3개의 내분점 을 이용하여 선분 을 세 개의 하위 부분 으로 나눌 수 있다. 이와 같이, 하위 부분이 겹치도록 생성될 때 동일한 로 보다 많은 SoL 증강을 수행할 수 있다.
SoL 맵(332)의 중심점 맵과 변위 맵은 SoL 증강 방법이 적용된 선분 정보로서, 각 하위 부분을 TP 표현을 통해 전형적인 선분처럼 학습할 수 있다. SoL 증강을 적용함으로써 새로 생성된 선분을 통해 학습 과정에 더욱 풍부한 선분 정보를 제공할 수 있다. SoL 맵(332)에 대한 손실 함수 는 수학식 4와 동일하고, 평활화 손실은 하위 부분에서 가져온 것이다. 선분 생성 프로세스는 SoL 맵(332)이 아닌 TP 맵(331)에서만 수행될 수 있다.
선분 검출기의 성능을 보상하기 위해 선분과 관련된 추가적인 기하 정보(geometric information)를 학습 과정에서 사용한다.
본 실시예에서는 선분 검출 품질을 높이기 위해 전체 학습 프로세스에 도움이 되는 다양한 기하 정보를 통합한다.
TP 표현 하에서 선분은 중심점과 변위 벡터로 분리되며, 각각의 손실 함수에 따라 별도로 최적화된다. 본 실시예에서는 매칭 손실을 이용하여 선분에서 분리된 정보를 상호 간에 손실 함수에서 활용할 수 있다. 이때, 매칭 손실은 학습 과정에서 검출되는 선분의 양 끝점과 중심점의 위치가 GT에 가까워지도록 하는 손실이며, 또 다른 목표는 독립적으로 학습되는 중심점의 위치와 변위 벡터의 관계를 서로 융합하여 학습할 수 있게 만드는 손실이다. 이러한 매칭 손실은 TP 맵(331)과 SoL 맵(332)에 모두 사용될 수 있다.
도 10을 참조하면, 매칭 손실(Matching loss)은 생성된 선분이 대응되는 GT와 유사해지도록 안내한다. 선분 생성 프로세스를 통해 검출 선분의 끝점을 계산하고 GT의 끝점과의 유클리드 거리(Euclidean distance) 를 측정한다. 다음으로, 유클리드 거리를 검출 선분 과 임계값 하에 있는 GT 선분 을 일치시키는 데 사용된다.
[수학식 6]
여기서, 는 GT 선분 의 시작점과 끝점, 는 검출 선분 의 시작점과 끝점을 나타내고, 는 예를 들어, 5 픽셀로 설정될 수 있다. 수학식 6의 조건을 만족하는 선분 (, )과 일치하는 집합 을 획득할 수 있다.
수학식 7을 통해 일치하는 선분 간에 시작점, 끝점, 및 중심점의 기하학적 거리를 최소화하는 것을 목표로 하는 매칭 손실을 계산할 수 있다.
[수학식 7]
여기서, 은 중심점 맵에서 검출 선분 의 중심점을 의미한다.
중심점과 변위 벡터는 분할 맵(333)에서 픽셀 단위 접점과 선분과 높은 관련이 있다. 예를 들어, 중심점과 변위 벡터에서 도출된 끝점은 접점이어야 한다. 또한, 중심점은 픽셀 단위 선분에서 위치가 지정되어야 한다. 따라서, 분할 맵(333)을 학습하는 것은 선분 검출기의 공간 주의 신호(spatial attention cue)로 작용될 수 있다.
분할 맵(333)은 접점 맵과 선분 맵을 포함하는 것으로, 본 실시예에서는 선분 GT 맵에 이진 맵을 사용하는 동안 가우시안 커널을 중심점 맵으로 확장하여 접점 GT 맵을 구성할 수 있다. 분리된 이진 분류 손실은 접점 손실 과 선분 손실 에 사용되며, 여기서 J와 E는 각각 접점 맵과 선분 맵을 나타낸다. 분할 맵(333)에 대한 전체 손실은 와 같으며, 여기서 가중치 의 경우 (1, 30), 의 경우 (1, 1)로 설정될 수 있다.
변위 벡터는 선분의 길이와 각에서 도출될 수 있으므로 변위 맵을 지원하는 추가적인 기하학적 단서가 될 수 있다. 본 실시예에서는 GT로부터 길이와 기울기를 계산하고 각 GT 맵에서 선분의 중심점에 해당 값을 표시할 수 있다. 선분의 길이와 기울기를 나타내는 값은 3×3 윈도우에 추정되어 주어진 픽셀의 모든 인접 픽셀이 동일한 값을 포함한다.
TP 맵(331)과 SoL 맵(332) 모두 길이 맵과 기울기 맵을 유지하며, 여기서 TP 맵(331)은 원래 선분을 사용하고 SoL 맵(332)은 증강된 하위 부분을 사용한다. 길이와 기울기 범위가 넓기 때문에 정규화를 위해 입력 이미지의 대각선 길이로 각 길이를 나눌 수 있고, 기울기에 대해서는 와 같이 나눈 후 0.5를 더하는 방식을 적용할 수 있다. 마지막으로, 길이 맵과 기울기 맵은 평활화 손실(, ) 기반 회귀 학습을 위해 사용된다.
도 11에 도시한 바와 같이, 선분과 관련된 추가적인 기하 정보로서 선분의 길이, 기울기, 양 끝점의 위치(접점), 선분 정보를 학습 데이터로 활용할 수 있다.
TP 맵(331)에 대한 손실 함수 는 중심점 손실, 변위 손실, 길이 손실, 기울기 손실, 매칭 손실의 합으로 정의될 수 있다.
[수학식 8]
SoL 맵(332)에 대한 손실 함수 또한 수학식 8과 유사하게 SoL 증강 GT를 적용한 공식을 따른다.
선분 검출 모델의 최종 손실 함수 는 수학식 9와 같이 정의될 수 있다.
[수학식 9]
손실 함수 는 TP 맵(331)을 최적화하고, 손실 함수 은 SoL 맵(332)을 최적화하고, 손실 함수 는 분할 맵(333)을 최적화한다.
도 12는 본 발명의 일실시예에 따른 컴퓨터 장치가 수행할 수 있는 선분 검출 방법의 예를 도시한 순서도이다.
본 실시예에 따른 컴퓨터 장치(100)는 클라이언트를 대상으로 클라이언트 상에 설치된 전용 어플리케이션이나 컴퓨터 장치(100)와 관련된 웹/모바일 사이트 접속을 통해 이미지에 포함된 선분을 검출하는 기능을 활용한 서비스를 제공할 수 있다. 컴퓨터 장치(100)에는 컴퓨터로 구현된 선분 검출 시스템이 구성될 수 있다. 일례로, 선분 검출 시스템은 독립적으로 동작하는 프로그램 형태로 구현되거나, 혹은 특정 어플리케이션의 인-앱(in-app) 형태로 구성되어 상기 특정 어플리케이션 상에서 동작이 가능하도록 구현될 수 있다.
컴퓨터 장치(100)의 프로세서(120)는 도 12에 따른 선분 검출 방법을 수행하기 위한 구성요소로서 적어도 하나 이상의 구성요소를 포함할 수 있다. 실시예에 따라 프로세서(120)의 구성요소들은 선택적으로 프로세서(120)에 포함되거나 제외될 수도 있다. 또한, 실시예에 따라 프로세서(120)의 구성요소들은 프로세서(120)의 기능의 표현을 위해 분리 또는 병합될 수도 있다.
이러한 프로세서(120) 및 프로세서(120)의 구성요소들은 도 12의 선분 검출 방법이 포함하는 단계들(S1210 내지 S1220)을 수행하도록 컴퓨터 장치(100)를 제어할 수 있다. 예를 들어, 프로세서(120) 및 프로세서(120)의 구성요소들은 메모리(110)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.
여기서, 프로세서(120)의 구성요소들은 컴퓨터 장치(100)에 저장된 프로그램 코드가 제공하는 명령에 따라 프로세서(120)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다.
프로세서(120)는 컴퓨터 장치(100)의 제어와 관련된 명령이 로딩된 메모리(110)로부터 필요한 명령을 읽어들일 수 있다. 이 경우, 상기 읽어들인 명령은 프로세서(120)가 이후 설명될 단계들(S1210 내지 S1220)을 실행하도록 제어하기 위한 명령을 포함할 수 있다.
이후 설명될 단계들(S1210 내지 S1220)은 도 12에 도시된 순서와 다른 순서로 수행될 수 있으며, 단계들(S1210 내지 S1220) 중 일부가 생략되거나 추가의 과정이 더 포함될 수 있다.
프로세서(120)는 이미지 내 선분 정보를 검출하기 위해 딥러닝 기반의 선분 검출 모델을 포함한다. 특히, 프로세서(120)는 경량화된 피처 추출 모델과 싱글-모듈 처리를 통해 실시간 동작으로 주어진 입력 이미지에 존재하는 선분들의 위치를 검출할 수 있다.
도 12를 참조하면, 단계(S1210)에서 프로세서(120)는 딥러닝 기반 선분 검출 모델을 통해 입력 이미지에서 피처 맵으로서 중심점 맵과 변위 맵을 추출할 수 있다. 프로세서(120)는 딥러닝 기반 학습 모델로 구성된 피처 추출기를 통해 입력 이미지의 최종 피처 맵에 해당되는 중심점 맵과 변위 맵을 추출할 수 있다. 이때, 피처 추출기는 경량화를 위해 모바일 환경과 실시간 동작에 최적화된 역 잔류 구조(inverted residual structure)의 네트워크, 일례로 MobileNetV2 모델을 기반으로 수정된 모델(MobileNetV2 based feature pyramid network)로 구성될 수 있다. 특히, 피처 추출 성능을 보상하기 위한 학습 체계로서 피처 맵의 16개 출력 채널을 모두 이용하여 피처 추출기를 학습할 수 있다. 16개의 채널은 각각 7개의 피처 맵으로 구성된 TP 맵(331)과 SoL 맵(332), 2개의 피처 맵으로 구성된 분할 맵(333)으로 구성될 수 있다 이때, TP 맵(331)은 TP 기반으로 선분 정보를 추론하기 위한 피처 맵으로, 선분의 중심점 위치를 찾기 위한 1개의 중심점 맵, 선분의 변위 벡터를 추론하기 위한 4개의 변위 맵, 선분의 기울기를 추론하기 위한 1개의 기울기 맵, 및 선분의 길이를 추론하기 위한 1개의 길이 맵으로 구성될 수 있다. SoL 맵(332)은 SoL 기반으로 증강된 선분 정보를 추론하기 위한 피처 맵으로 TP 맵(331)과 동일한 구성으로 이루어질 수 있다. 분할 맵(333)은 선분의 양 끝점을 추론하기 위한 1개의 접점 맵과 선분의 분할 정보를 추론하기 위한 1개의 선분 맵으로 구성될 수 있다. 선분의 중심점과 변위는 물론이고, 선분과 관련된 추가적인 기하 정보로서 선분의 길이, 기울기, 양 끝점의 위치, 분할 정보를 함께 학습하여 성능 향상을 유도할 수 있다. 상기한 16개의 채널을 모두 활용하여 선분 검출 모델을 학습할 수 있고, 학습 이후 실제 서비스되는 선분 검출 모델은 TP 맵(331)의 1개의 중심점 맵과 4개의 변위 맵으로 구성된 5개의 출력 채널을 제외한 나머지 출력 채널이 제거될 수 있다. 다시 말해, 프로세서(120)는 TP 맵(331)과 SoL 맵(332) 및 분할 맵(333)을 이용하여 최적화된 선분 검출 모델을 포함할 수 있고, 실제 추론 과정에서는 입력 이미지에 대한 피처 맵으로 TP 맵(331)의 중심점 맵과 변위 맵을 추출하여 이용할 수 있다.
단계(S1220)에서 프로세서(120)는 입력 이미지에 대한 피처 맵으로 TP 맵(331)의 중심점 맵과 변위 맵을 이용하여 입력 이미지 내 선분을 검출할 수 있다. 프로세서(120)는 중심점 맵과 변위 맵을 이용한 싱글-모듈 처리를 통해 선분의 중심점을 찾은 후 중심점 위치에 해당하는 변위 벡터를 중심점에 더하여 선분의 양 끝점을 찾는 과정을 수행함으로써 입력 이미지에 존재하는 선분들의 위치를 검출할 수 있다. 일례로, 프로세서(120)는 입력 이미지 상에 해당 이미지에서 검출된 선분들을 표시해 줄 수 있다.
이처럼 본 발명의 실시예들에 따르면, 백본 네트워크를 최소화하고 선분 검출 프로세스를 싱글-모듈로 채택하는 모델 경량화를 통해 모바일 장치나 임베디드 장치와 같은 리소스 제약 환경에서 실시간 동작이 가능한 딥러닝 기반 선분 검출기를 제공할 수 있다. 더욱이, 본 발명의 실시예들에 따르면, 선분 검출 모델의 학습 과정에서 SoL 증강 방법과 선분의 다양한 기하 정보를 사용함으로써 경량 네트워크를 통해 경쟁력 있는 성능을 보장할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, 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), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 컴퓨터 장치에서 실행되는 선분 검출 방법에 있어서,
    상기 컴퓨터 장치는 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 선분 검출 방법은,
    상기 적어도 하나의 프로세서에 의해, 딥러닝 기반 학습 모델인 피처 추출기를 통해 입력 이미지에서 피처 맵(feature map)으로서 선분의 중심점 위치를 추론하기 위한 중심점 맵과 상기 선분의 변위 벡터(displacement vector)를 추론하기 위한 변위 맵을 추출하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 중심점 맵과 상기 변위 맵을 이용하여 상기 입력 이미지에 포함된 상기 선분을 검출하는 단계
    를 포함하고,
    상기 피처 추출기는 학습 과정에서 상기 선분의 시작점과 중심점 및 끝점을 표현한 TP(tri-point) 맵과 상기 선분으로부터 나누어진 복수 개의 하위 선분의 시작점과 중심점 및 끝점을 표현한 SoL(Segments of Line segment) 맵으로 구성된 채널 전체가 이용되고,
    학습 이후 실제 서비스에 이용되는 상기 피처 추출기는 상기 TP 맵에 해당되는 상기 중심점 맵과 상기 변위 맵으로 구성된 채널을 제외한 나머지 채널이 제거되고,
    상기 검출하는 단계는,
    상기 중심점 맵과 상기 변위 맵을 이용한 싱글-모듈 처리(single-module processing)를 통해 상기 선분의 중심점 위치를 찾은 후 상기 선분의 중심점 위치에 해당되는 변위 벡터에 따라 상기 선분의 양 끝점을 찾는 선분 검출을 수행하는 것
    을 특징으로 하는 선분 검출 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 피처 추출기는 인코더-디코더 구조로 설계되고,
    상기 피처 추출기의 인코더 네트워크는 역 잔류 구조(inverted residual structure)를 가진 네트워크 모델로 구성되는 것
    을 특징으로 하는 선분 검출 방법.
  4. 제1항에 있어서,
    상기 피처 추출기는 인코더-디코더 구조로 설계되고,
    상기 피처 추출기의 인코더 네트워크는 MobileNetV2 모델의 일부를 이용하여 구성되는 것
    을 특징으로 하는 선분 검출 방법.
  5. 제3항 또는 제4항에 있어서,
    상기 피처 추출기의 디코더 네트워크는 피처의 해상도를 확장하는 서로 다른 유형의 블록 조합으로 구성되는 것
    을 특징으로 하는 선분 검출 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 하위 선분의 개수는 상기 선분의 길이에 기초하여 결정되는 것
    을 특징으로 하는 선분 검출 방법.
  8. 제1항에 있어서,
    상기 하위 선분은 상기 선분의 내분점을 이용하여 서로 겹치도록 상기 선분에서 분할되는 것
    을 특징으로 하는 선분 검출 방법.
  9. 제1항에 있어서,
    상기 피처 추출기는 상기 선분과 관련된 기하 정보(geometric information)로서 상기 선분의 길이(length)와 기울기(degree)를 추가로 표현한 상기 TP 맵과 상기 SoL 맵, 상기 선분의 접점(junction)과 선분 분할(segmentation)을 표현한 분할 맵에 의해 학습되는 것
    을 특징으로 하는 선분 검출 방법.
  10. 제1항에 있어서,
    상기 피처 추출기는 상기 중심점 위치와 상기 변위 벡터의 관계에 따른 매칭 손실(matching loss)로 최적화된 상기 중심점 맵과 상기 변위 맵에 의해 학습되는 것
    을 특징으로 하는 선분 검출 방법.
  11. 삭제
  12. 삭제
  13. 제1항, 제3항, 제4항, 제7항 내지 제10항 중 어느 한 항의 선분 검출 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램.
  14. 컴퓨터 장치에 있어서,
    메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    딥러닝 기반 학습 모델인 피처 추출기를 통해 입력 이미지에서 피처 맵으로서 선분의 중심점 위치를 추론하기 위한 중심점 맵과 상기 선분의 변위 벡터를 추론하기 위한 변위 맵을 추출하고,
    상기 중심점 맵과 상기 변위 맵을 이용한 싱글-모듈 처리를 통해 상기 선분의 중심점 위치를 찾은 후 상기 선분의 중심점 위치에 해당되는 변위 벡터에 따라 상기 선분의 양 끝점을 찾는 선분 검출을 수행하고,
    상기 피처 추출기는 학습 과정에서 상기 선분의 시작점과 중심점 및 끝점을 표현한 TP 맵과 상기 선분으로부터 나누어진 복수 개의 하위 선분의 시작점과 중심점 및 끝점을 표현한 SoL 맵으로 구성된 채널 전체가 이용되고,
    학습 이후 실제 서비스에 이용되는 상기 피처 추출기는 상기 TP 맵에 해당되는 상기 중심점 맵과 상기 변위 맵으로 구성된 채널을 제외한 나머지 채널이 제거되는 것
    을 특징으로 하는 컴퓨터 장치.
  15. 제14항에 있어서,
    상기 피처 추출기는 인코더-디코더 구조로 설계되고,
    상기 피처 추출기의 인코더 네트워크는 MobileNetV2 모델의 일부를 이용하여 구성되고,
    상기 피처 추출기의 디코더 네트워크는 피처의 해상도를 확장하는 서로 다른 유형의 블록 조합으로 구성되는 것
    을 특징으로 하는 컴퓨터 장치.
  16. 삭제
  17. 제14항에 있어서,
    상기 하위 선분의 개수는 상기 선분의 길이에 기초하여 결정되는 것
    을 특징으로 하는 컴퓨터 장치.
  18. 제14항에 있어서,
    상기 하위 선분은 상기 선분의 내분점을 이용하여 서로 겹치도록 상기 선분에서 분할되는 것
    을 특징으로 하는 컴퓨터 장치.
  19. 제14항에 있어서,
    상기 피처 추출기는 상기 선분과 관련된 기하 정보로서 상기 선분의 길이와 기울기를 추가로 표현한 상기 TP 맵과 상기 SoL 맵, 상기 선분의 접점과 선분 분할을 표현한 분할 맵에 의해 학습되는 것
    을 특징으로 하는 컴퓨터 장치.
  20. 제14항에 있어서,
    상기 피처 추출기는 상기 중심점 위치와 상기 변위 벡터의 관계에 따른 매칭 손실로 최적화된 상기 중심점 맵과 상기 변위 맵에 의해 학습되는 것
    을 특징으로 하는 컴퓨터 장치.
KR1020210069321A 2021-05-28 2021-05-28 실시간 및 경량의 딥러닝 기반 선분 검출 방법, 컴퓨터 장치, 및 컴퓨터 프로그램 KR102649612B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210069321A KR102649612B1 (ko) 2021-05-28 2021-05-28 실시간 및 경량의 딥러닝 기반 선분 검출 방법, 컴퓨터 장치, 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210069321A KR102649612B1 (ko) 2021-05-28 2021-05-28 실시간 및 경량의 딥러닝 기반 선분 검출 방법, 컴퓨터 장치, 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20220160990A KR20220160990A (ko) 2022-12-06
KR102649612B1 true KR102649612B1 (ko) 2024-03-21

Family

ID=84406943

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210069321A KR102649612B1 (ko) 2021-05-28 2021-05-28 실시간 및 경량의 딥러닝 기반 선분 검출 방법, 컴퓨터 장치, 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102649612B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102546206B1 (ko) * 2023-03-09 2023-06-22 주식회사 인피닉 멀티 스케일 특징들의 상관관계 및 지역적 연관성을 활용한 시맨틱 세그멘테이션 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111429358A (zh) 2020-05-09 2020-07-17 南京大学 一种基于平面区域一致的图像拼接方法
CN112488128A (zh) 2020-12-10 2021-03-12 武汉大学 一种基于贝塞尔曲线的任意畸变图像线段检测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111429358A (zh) 2020-05-09 2020-07-17 南京大学 一种基于平面区域一致的图像拼接方法
CN112488128A (zh) 2020-12-10 2021-03-12 武汉大学 一种基于贝塞尔曲线的任意畸变图像线段检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문(Siyu Huang 외 5명, TP-LSD: Tri-Points Based Line Segment Detector ,arXiv:2009.05505v1, 2020.09.11.) 1부*

Also Published As

Publication number Publication date
KR20220160990A (ko) 2022-12-06

Similar Documents

Publication Publication Date Title
CN110062934B (zh) 使用神经网络确定图像中的结构和运动
KR102696652B1 (ko) 스테레오 매칭 방법 및 영상 처리 장치
US10672131B2 (en) Control method, non-transitory computer-readable storage medium, and control apparatus
Jiang et al. Self-supervised relative depth learning for urban scene understanding
US10671855B2 (en) Video object segmentation by reference-guided mask propagation
JP7464752B2 (ja) 画像処理方法、装置、機器及びコンピュータプログラム
CN107704866B (zh) 基于新型神经网络的多任务场景语义理解模型及其应用
US11348270B2 (en) Method for stereo matching using end-to-end convolutional neural network
JP5275489B2 (ja) 画像処理装置および方法
EP3686798B1 (en) Learning method and learning device for objet detector based on cnn
CN106462940A (zh) 图像中通用对象检测
KR102497361B1 (ko) 객체 검출 시스템 및 방법
KR101920281B1 (ko) 차량 내에서 입력 영상 데이터로부터 객체를 검출하는 장치 및 방법
KR102143034B1 (ko) 객체의 미래 움직임 예측을 통한 동영상에서의 객체 추적을 위한 방법 및 시스템
US11875490B2 (en) Method and apparatus for stitching images
KR102649612B1 (ko) 실시간 및 경량의 딥러닝 기반 선분 검출 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
JP2019220174A (ja) 人工ニューラルネットワークを用いた画像処理
Ling et al. Scale-flow: Estimating 3d motion from video
KR20150062215A (ko) 블록 기반 고속 센서스 변환을 이용한 스테레오 매칭 방법 및 그 장치
KR102143031B1 (ko) 정지 영상에서 객체의 미래 움직임을 예측하는 방법 및 시스템
KR20220026426A (ko) 비디오 품질 향상 방법 및 장치
KR102130596B1 (ko) Yuv 기반 세그먼테이션 및 오그먼테이션에 따른 자율 주행 시스템 및 그 방법
US11809997B2 (en) Action recognition apparatus, action recognition method, and computer-readable recording medium
KR20220062961A (ko) 자율주행 자동차의 판단에 대한 근거 설명 모델
Fan et al. Hierarchical coherency sensitive hashing and interpolation with RANSAC for large displacement optical flow

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right