KR102439246B1 - 구형 좌표계 영상의 영상 처리 장치 - Google Patents

구형 좌표계 영상의 영상 처리 장치 Download PDF

Info

Publication number
KR102439246B1
KR102439246B1 KR1020210008747A KR20210008747A KR102439246B1 KR 102439246 B1 KR102439246 B1 KR 102439246B1 KR 1020210008747 A KR1020210008747 A KR 1020210008747A KR 20210008747 A KR20210008747 A KR 20210008747A KR 102439246 B1 KR102439246 B1 KR 102439246B1
Authority
KR
South Korea
Prior art keywords
image
coordinate system
pixel
sample
system image
Prior art date
Application number
KR1020210008747A
Other languages
English (en)
Other versions
KR20220105869A (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 KR1020210008747A priority Critical patent/KR102439246B1/ko
Priority to PCT/KR2022/000684 priority patent/WO2022158796A1/ko
Publication of KR20220105869A publication Critical patent/KR20220105869A/ko
Application granted granted Critical
Publication of KR102439246B1 publication Critical patent/KR102439246B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/12Panospheric to cylindrical image transformations
    • G06T3/0062
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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
    • G06T3/0093
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Neurology (AREA)
  • Medical Informatics (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Position Input By Displaying (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 구형 좌표계 영상의 영상 처리 장치에 관한 것으로, 구형 좌표계 영상을 수신하는 영상 수신부; 상기 구형 좌표계 영상에 있는 픽셀에 관하여 위도 기반의 픽셀 샘플링을 수행하여 샘플 픽셀로 구성된 샘플 영상을 생성하는 샘플 영상 생성부; 동적 커널을 통해 상기 샘플 픽셀을 투영하고 상기 샘플 픽셀을 재배치 하여 신경망 연산을 위한 픽셀 그룹으로 구성된 평면 좌표계 영상을 생성하는 평면 좌표계 영상 생성부; 및 상기 평면 좌표계 영상에 관하여 신경망 연산을 수행하는 신경망 연산 수행부를 포함한다.

Description

구형 좌표계 영상의 영상 처리 장치{IMAGE PROCESSING DEVICE OF SPHERICAL COORDINATE SYSTEM IMAGE}
본 발명은 영상 처리 기술에 관한 것으로, 보다 상세하게는 360도 파노라마 영상에 2차원 합성곱 연산을 적용하기 위한 전처리 방법을 수행하는 구형 좌표계 영상의 영상 처리 장치에 관한 것이다.
인공지능(AI, artificial intelligence), 심층신경망(DNN, deep neural network) 등으로 불리는 기계학습(machine learning) 방법은 대량의 연산을 병렬로 처리할 수 있는 GPGPU(general purpose graphic processing unit), NPU(neural processing unit), TPU(tensor processing unit) 등의 발전과 함께 보편화되고 있다.
영상과 같이 2차원 배열로 표현되는 데이터 형태에서 특정 패턴(영상의 경우 시각적 형태에 따른 분류 계층, 예를 들어, 사람, 자동차, 동물 등)을 찾는 경우 합성곱 신경망(CNN, convolution neural network)라는 기법이 보편적으로 통용된다.
합성곱(convolution)은 영상의 한 점(픽셀, pixel)의 위치에서 주위(3x3, 5x5 등)의 점들의 데이터를 kernel이라고 불리는 파라미터들과 곱하여 총합을 원래 점의 위치에 할당하여 본래의 영상과 같은 크기의 새로운 배열을 만드는 연산에 해당할 수 있다. 예를 들어, 영상 좌표 (2,2)(원영상값 3)를 중심으로, 3x3 크기의 kernel을 이용하여 합성곱을 계산하고 그 결과인 5를 새로운 배열(destination layer)의 (2,2) 좌표에 할당할 수 있으며, kernel을 한칸씩 옮기면서 동일 과정을 반복함으로써 새로운 배열을 완성할 수 있다.
이와 같은 2차원 배열데이터인 영상의 합성곱 신경망 적용은 기본적으로 영상 전영역의 균일성(homogeneity)을 가정하고 있다. 즉, 동일한 합성곱 커널이 영상의 전체 영역에 동일하게 적용되는데, 위치가 균일하지 않다면 같은 모델에서 학습의 효과가 저하될 수 있다.
통상의 카메라로 촬영한 영상의 보행자들은 거의 동일한 특성(가로/세로 비율, 상하체 비율 등)을 보여주는 반면, 360도 카메라로 촬영한 영상은 보행자들의 특성이 제각각이며, 특히 영상의 위아래 끝으로 갈수록 크게 왜곡되어 동일한 객체로 분류하기 어렵고 실제로도 큰 성능 저하를 나타낼 수 있다.
한편, 360도 카메라(sphere camera)라도 영상은 2차원 배열 형태로 저장되며, 이렇게 저장된 영상에만 합성곱 신경망 기법을 사용할 수 있다. 지구를 적도 중심으로 펼쳐서 정방향으로 표현하는 메르카토르 도법에서 양극지방으로 갈수록 실제보다 폭이 넓게 왜곡되어 표시되고 남극과 북극은 실제로는 한점에 불과하지만 적도와 똑같은 폭으로 표시되는 것과 같이, 360도 카메라의 영상은 지평선을 중심으로 펼쳐서 가까운 땅부분과 하늘 부분의 왜곡이 심하게 나타나며, 실제로 이와 같은 형태로 출력된다.
따라서, 이와 같이 왜곡되어 출력되는 360도 카메라의 영상에 합성곱 신경망을 적용하기 위한 구체적 방법이 요구되고 있다.
한국공개특허 제10-2009-0125626호 (2009.12.07)
본 발명의 일 실시예는 360도 파노라마 영상에 2차원 합성곱 연산을 적용하기 위한 전처리 방법을 수행하는 구형 좌표계 영상의 영상 처리 장치를 제공하고자 한다.
본 발명의 일 실시예는 기준점을 기준으로 생성된 접평면상에서 균등한 위치 관계를 가지는 좌표를 구 표면 좌표에 투영하여 2차원 평면 이미지 상에서 왜곡에 따른 커널의 상대적 위치를 효과적으로 산출할 수 있는 구형 좌표계 영상의 영상 처리 장치를 제공하고자 한다.
본 발명의 일 실시예는 동적 커널로 계산된 픽셀값들을 정사각형 형태로 매핑하면서 각 기준점의 커널 위치 별 픽셀값이 공유되지 않도록 하여 일반 합성곱 연산이 가능할 수 있는 구형 좌표계 영상의 영상 처리 장치를 제공하고자 한다.
실시예들 중에서, 구형 좌표계 영상의 영상 처리 장치는 구형 좌표계 영상을 수신하는 영상 수신부; 상기 구형 좌표계 영상에 있는 픽셀에 관하여 위도 기반의 픽셀 샘플링을 수행하여 샘플 픽셀로 구성된 샘플 영상을 생성하는 샘플 영상 생성부; 동적 커널을 통해 상기 샘플 픽셀을 투영하고 상기 샘플 픽셀을 재배치 하여 신경망 연산을 위한 픽셀 그룹으로 구성된 평면 좌표계 영상을 생성하는 평면 좌표계 영상 생성부; 및 상기 평면 좌표계 영상에 관하여 신경망 연산을 수행하는 신경망 연산 수행부를 포함한다.
상기 영상 수신부는 360도 카메라를 통해 획득된 360도 영상을 상기 구형 좌표계 영상으로 수신할 수 있다.
상기 샘플 영상 생성부는 상기 위도를 중심으로 상부 또는 하부로 멀어질수록 샘플링 밀도가 낮아지도록 상기 픽셀 샘플링을 수행할 수 있다.
상기 평면 좌표계 영상 생성부는 상기 위도를 중심으로 상부 또는 하부로 멀어질수록 심사도법을 통해 상기 동적 커널을 조절할 수 있다.
상기 평면 좌표계 영상 생성부는 상기 심사도법 기반의 투영을 통해 상기 동적 커널의 위치에 기반한 상기 샘플 픽셀에 관한 재배치를 수행할 수 있다.
상기 평면 좌표계 영상 생성부는 상기 픽셀 그룹을 폴딩하여 넌-스파스(non-sparse) 픽셀 그룹을 생성할 수 있다.
상기 신경망 연산 수행부는 커널을 통해 상기 넌-스파스 픽셀 그룹에 대하여 CNN (Convolution Neural Network) 연산을 수행하고 언폴딩하여 피처맵을 생성할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 구형 좌표계 영상의 영상 처리 장치는 360도 파노라마 영상에 2차원 합성곱 연산을 적용하기 위한 전처리 방법을 수행할 수 있다.
본 발명의 일 실시예에 따른 구형 좌표계 영상의 영상 처리 장치는 기준점을 기준으로 생성된 접평면상에서 균등한 위치 관계를 가지는 좌표를 구 표면 좌표에 투영하여 2차원 평면 이미지 상에서 왜곡에 따른 커널의 상대적 위치를 효과적으로 산출할 수 있다.
본 발명의 일 실시예에 따른 구형 좌표계 영상의 영상 처리 장치는 동적 커널로 계산된 픽셀값들을 정사각형 형태로 매핑하면서 각 기준점의 커널 위치 별 픽셀값이 공유되지 않도록 하여 일반 합성곱 연산이 가능할 수 있다.
도 1은 본 발명에 따른 영상 처리 시스템을 설명하는 도면이다.
도 2는 도 1의 영상 처리 장치의 시스템 구성을 설명하는 도면이다.
도 3은 본 발명에 따른 360도 영상의 구형 좌표계를 설명하는 도면이다.
도 4는 합성곱 연산 커널 내부이 픽셀간 위치 좌표의 표현 방법을 설명하는 도면이다.
도 5는 도 1의 영상 처리 장치의 기능적 구성을 설명하는 도면이다.
도 6은 본 발명에 따른 구형 좌표계 영상의 영상 처리 방법을 설명하는 순서도이다.
도 7 및 8은 일반 합성곱과 왜곡 반영 합성곱을 설명하는 도면이다.
도 9는 본 발명에 따른 픽셀 샘플링을 통해 샘플 영상을 생성하는 과정을 설명하는 도면이다.
도 10은 본 발명에 따른 샘플 픽셀들에 대한 픽셀 재배치 과정을 설명하는 도면이다.
도 11은 본 발명에 따른 픽셀 그룹에 대한 폴딩 연산을 설명하는 도면이다.
도 12는 본 발명에 따른 구형 좌표계 영상의 영상 처리 과정의 일 실시예를 설명하는 순서도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
360도 카메라의 (왜곡되게 2차원으로 펼쳐진) 영상에 합성곱을 적용하는 방법은 다음의 2가지가 있다. 첫번째는, 일반적인 (균일한) 2차원 영상에 적용하는 것과 같이 일반 합성곱 연산을 왜곡된 영상에 그대로 적용하는 것으로, 이 경우 인식 성능이 저하되며, 실제로는 정보가 많지 않음에도 확대된 부분을 동일하게 처리함으로써 연산량이 과도하게 증가할 수 있다. 두번째는, 동적 위치를 가지는 커널을 사용하는 방법으로, 기준점에서 (-1, 0, 1)의 위치 차이가 있는 일반 합성곱연산과 달리 영상의 왜곡이 고려된 위치를 동적으로 계산하여 커널을 배치하는 방법에 해당할 수 있다. 해당 방법을 사용하면 영상 왜곡으로 인한 성능 저하 문제는 해결되지만, (기준점을 기준으로 한) 커널의 상대 위치가 (위도가 다른) 모든 픽셀에서 다르기 때문에 연산 복잡도가 증가하는 문제와, 일반 합성곱 연산만을 지원하는 환경에서는 사용할 수 없다는 문제가 존재할 수 있다.
본 발명은 종래 방법들의 문제를 해결하고 왜곡되어 출력되는 360도 영상에 있어서 합성곱 연산을 효과적으로 수행할 수 있는 기술에 관한 것이며, 이하, 첨부된 도면들을 참조하여 본 발명에 따른 구형 좌표계 영상의 영상 처리 방법 및 이를 적용한 장치에 대해 구체적으로 설명한다.
도 1은 본 발명에 따른 영상 처리 시스템을 설명하는 도면이다.
도 1을 참조하면, 영상 처리 시스템(100)은 사용자 단말(110), 영상 처리 장치(130) 및 데이터베이스(150)를 포함할 수 있다.
사용자 단말(110)은 영상 처리 장치(130)에 의해 생성된 영상을 재생할 수 있는 컴퓨팅 장치에 해당할 수 있다. 즉, 사용자는 사용자 단말(110)을 통해 360도 영상을 확인할 수 있다. 사용자 단말(110)은 영상 처리 장치(130)와 연결되어 동작 가능한 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, HMD(Head Mounted Display)등 360도 영상 재생을 위한 전용 디바이스로도 구현될 수 있다. 사용자 단말(110)은 영상 처리 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 영상 처리 장치(130)와 동시에 연결될 수도 있다.
한편, 사용자 단말(110)은 영상 처리 장치(130)와 연동하는 전용 프로그램 또는 어플리케이션을 설치하여 실행할 수 있으며, 필요에 따라 영상 처리 장치(130)의 일 구성요소로 포함되어 구현될 수 있음은 물론이다.
영상 처리 장치(130)는 360도 파노라마 영상을 생성할 수 있는 컴퓨터 또는 프로그램에 해당하는 서버로 구현될 수 있다. 영상 처리 장치(130)는 영상 생성을 위한 다양한 연산들을 수행할 수 있으며, 구체적으로 360도 영상에 2차원 합성곱 연산을 적용하기 위한 전처리 동작을 수행할 수 있다. 즉, 영상 처리 장치(130)는 본 발명에 따른 구형 좌표계 영상의 영상 처리 방법을 적용하여 실행할 수 있으며, 이를 통해 신경망 연산을 위한 피처맵을 생성하고 신경망 모델 등을 구축할 수 있다.
또한, 영상 처리 장치(130)는 사용자 단말(110)과 유선 네트워크 또는 블루투스, WiFi 등과 같은 무선 네트워크로 연결될 수 있고, 네트워크를 통해 사용자 단말(110)과 데이터를 송·수신할 수 있다. 또한, 영상 처리 장치(130)는 데이터의 수집 또는 추가 기능의 제공을 위하여 별도의 외부 시스템(도 1에 미도시함)과 연동하여 동작하도록 구현될 수도 있다.
한편, 도 1과 달리 영상 처리 장치(130)는 사용자 단말(110)의 내부에 포함되어 구현될 수도 있다. 이 경우, 영상 처리 장치(130)는 사용자 단말(110)의 일 구성요소로서 구형 좌표계 영상의 영상 처리 방법을 독립적으로 수행하는 모듈로 구현될 수 있다. 여기에서는 보다 명확한 이해를 위하여 영상 처리 장치(130)를 사용자 단말(110)과 독립된 장치로서 설명한다.
데이터베이스(150)는 영상 처리 장치(130)의 동작 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 예를 들어, 데이터베이스(150)는 360도 영상에 관한 정보를 저장할 수 있고, 합성곱 연산 및 전처리 연산을 위한 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 영상 처리 장치(130)가 구형 좌표계 영상의 영상 처리 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.
또한, 도 1에서, 데이터베이스(150)는 영상 처리 장치(130)와 독립적인 장치로서 도시되어 있으나, 반드시 이에 한정되지 않고, 영상 처리 장치(130)의 논리적인 저장장치로서 영상 처리 장치(130)에 포함되어 구현될 수 있음은 물론이다.
도 2는 도 1의 영상 처리 장치의 시스템 구성을 설명하는 도면이다.
도 2를 참조하면, 영상 처리 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함하여 구현될 수 있다.
프로세서(210)는 영상 처리 장치(130)가 동작하는 과정에서의 각 단계들을 처리하는 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(210)는 영상 처리 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 영상 처리 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.
메모리(230)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 영상 처리 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.
사용자 입출력부(250)는 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함할 수 있다. 예를 들어, 사용자 입출력부(250)는 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)는 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 영상 처리 장치(130)는 독립적인 서버로서 수행될 수 있다.
네트워크 입출력부(270)은 네트워크를 통해 외부 장치 또는 시스템과 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다.
도 3은 본 발명에 따른 360도 영상의 구형 좌표계를 설명하는 도면이다.
도 3을 참조하면, 360도 영상은 2차원의 평면 이미지로 변환될 수 있다. 이미지 상의 각 픽셀은 벡터로 표현될 수 있으며, 이를 위해 이미지에 대응되는 좌표계가 사용될 수 있다. 특히, 360도 영상의 경우 구형 좌표계(310)가 사용될 수 있다. 또한, 구형 좌표계(310)는 2차원의 평면 좌표계(330)로 변환되어 표현될 수 있으며, 각각 일대일 대응 관계를 형성할 수 있다.
도 3에서, 360도 영상과 이에 대응하는 평면 영상은 동일한 좌표계로 표현될 수 있다. s는 이미지 상의 좌표 벡터에 해당할 수 있으며, 위도 및 경도로 표현될 수 있다. 즉, s = (Φ,θ)로 표현될 수 있다. 이때, Φ∈[-π/2,π/2]이고, θ∈[-π,π]이다. 360도 영상 처리의 경우, 구형 좌표계(310)와 평면 좌표계(330)는 다양한 영상 처리를 위해 선택적으로 활용될 수 있다.
도 4는 합성곱 연산 커널 내부이 픽셀간 위치 좌표의 표현 방법을 설명하는 도면이다.
도 4를 참조하면, 합성곱 연산 커널 내부의 픽셀간 위치 좌표는 기준점과의 상대적인 위치로서 표현될 수 있다. 도 4의 경우, 기준점 s를 기준으로 (3×3) 크기의 커널을 나타낼 수 있다. 이때, 변수 j, k는 기준점과의 상대적인 위치를 표현할 수 있고, 일반 합성곱 연산의 경우 기준점과의 픽셀 위치 차이와 동일하게 적용될 수 있다.
예를 들어, 기준점 s = s(0,0)인 경우, 기준점 주변의 픽셀들의 위치는 각각 s(1,0), s(1,1), s(0,1), s(-1,1), s(-1,0), s(-1,-1), s(0,-1) 및 s(1,-1)과 같이 표현될 수 있다. 즉, 변수 j는 수평 방향의 상대적 위치에 따라 -1, 0 및 1의 값으로 표현될 수 있고, 변수 k는 수직 방향이 상대적 위치에 따라 -1, 0 및 1의 값으로 표현될 수 있다.
도 5는 도 1의 영상 처리 장치의 기능적 구성을 설명하는 도면이다.
도 5를 참조하면, 영상 처리 장치(130)는 영상 수신부(510), 샘플 영상 생성부(530), 평면 좌표계 영상 생성부(550), 신경망 연산 수행부(570) 및 제어부(590)를 포함할 수 있다.
영상 수신부(510)는 구형 좌표계 영상을 수신할 수 있다. 일 실시예에서, 영상 수신부(510)는 360도 카메라를 통해 획득된 360도 영상을 구형 좌표계 영상으로 수신할 수 있다. 즉, 구형 좌표계 영상은 360도 영상에 해당할 수 있으며, 평면 이미지로 표현되는 경우 일부 영역에서 왜곡된 영역이 존재하는 왜곡 이미지에 해당할 수 있다. 영상 수신부(510)는 사용자 단말(110)을 통해 구형 좌표계 영상을 수신할 수 있으며, 데이터베이스(150)에 저장된 영상 데이터를 입력(input)으로서 수신할 수도 있다.
한편, 영상 수신부(510)는 구형 좌표계 영상으로서 샘플링된 피처맵(feature map) 자체를 수신할 수도 있다. 즉, 영상 수신부(510)는 구형 좌표계 영상으로 샘플링 되지 않은 왜곡 이미지를 수신하는 경우 별도의 샘플링 과정을 위해 해당 영상을 샘플 영상 생성부(530)에 전달할 수 있다. 만약 샘플링된 피처맵을 수신한 경우 영상 수신부(510)는 별도의 샘플링 동작을 생략하기 위해 수신된 데이터를 샘플링 동작의 다음 단계로 직접 전달할 수 있다.
샘플 영상 생성부(530)는 구형 좌표계 영상에 있는 픽셀에 관하여 위도 기반의 픽셀 샘플링을 수행하여 샘플 픽셀로 구성된 샘플 영상을 생성할 수 있다. 샘플 영상 생성부(530)는 구형 좌표계 영상이 샘플링 되지 않은 왜곡 이미지인 경우 해당 왜곡 이미지로부터 샘플링을 통해 샘플링된 피처맵을 생성할 수 있다. 즉, 샘플 영상은 샘핑링된 피처맵에 해당할 수 있고, 샘플링된 샘플 픽셀들로 구성될 수 있다.
일 실시예에서, 샘플 영상 생성부(530)는 위도를 중심으로 상부 또는 하부로 멀어질수록 샘플링 밀도가 낮아지도록 픽셀 샘플링을 수행할 수 있다. 즉, 영상 샘플링의 경우 위도의 절대값에 비례하여 1차원적 또는 선형적으로 샘플링 밀도가 감소할 수 있다. 예를 들어, 360도 영상의 경우 사용자의 시선에 대응되는 중앙의 수평선 라인을 기준으로 상부 또는 하부로 멀어질수록 중요 정보의 비율이 낮아질 수 있고, 이에 따라 샘플링 밀도를 낮추더라도 샘플링에 의해 손실되는 정보량이 크지 않을 수 있다.
따라서, 샘플 영상 생성부(530)는 360도 영상에서 중요 정보가 밀집되는 위도의 중심 영역을 중심으로 고밀도의 샘플링을 수행할 수 있고, 상부 또는 하부로 멀어질수록 샘플링 밀도를 낮춰서 샘플링을 수행할 수 있다. 샘플 영상 생성부(530)를 통해 생성된 샘플 영상의 샘플 픽셀들은 위도를 중심으로 상호 보완적인 배치 관계를 형성할 수 있다. 이에 대해서는, 도 9 및 11에서 보다 자세히 설명한다.
평면 좌표계 영상 생성부(550)는 동적 커널을 통해 샘플 픽셀을 투영하고 샘플 픽셀을 재배치 하여 신경망 연산을 위한 픽셀 그룹으로 구성된 평면 좌표계 영상을 생성할 수 있다. 평면 좌표계 영상 생성부(550)는 동적 커널로 계산된 픽셀값들을 일반적인 합성곱 연산이 가능한 형태로 재배치 할 수 있다. 360도 영상에 대해 일반적인 합성곱 연산을 수행하면 360도 영상에 포함된 왜곡 영역으로 인해 합성곱 연산 결과 역시 왜곡된 정보를 그대로 포함할 수 있다. 평면 좌표계 영상 생성부(550)는 이러한 왜곡된 정보를 제거하고 일반적인 합성곱 연산을 적용할 수 있도록, 부채꼴 모양의 동적 커널을 통해 계산된 픽셀값들을 정사각 형태로 재배치하는 매핑 연산을 수행할 수 있다.
일 실시예에서, 평면 좌표계 영상 생성부(550)는 위도를 중심으로 상부 또는 하부로 멀어질수록 심사도법을 통해 동적 커널을 조절할 수 있다. 보다 구체적으로, 평면 좌표계 영상 생성부(550)는 구형 좌표계 영상의 s(j,k)에 대해 심사도법에 의한 커널 샘플링 위치를 계산할 수 있으며, 동적 커널의 픽셀 위치에 대응하는 픽셀 p는 다음의 수학식 1과 같이 표현될 수 있다.
[수학식 1]
Figure 112021008281310-pat00001
Figure 112021008281310-pat00002
Figure 112021008281310-pat00003
여기에서, p는 평면 좌표계의 픽셀 좌표, φ는 위도(latitude), θ는 경도(longitude), h는 이미지 높이, w는 이미지 너비에 해당할 수 있다.
보다 구체적으로, p = (r,c) = p(0,0)에서의 (3×3) 커널 샘플링 위치 p(j,k)는 다음과 같이 산출될 수 있다.
1) 구형 좌표계에서 s = (0,0)에서의 Ð를 Ð≡Ð0라고 정의할 수 있다.
2) s = (0,0)에서의 s(j,k)는 다음의 수학식 2와 같이 표현될 수 있다.
[수학식 2]
Figure 112021008281310-pat00004
Figure 112021008281310-pat00005
Figure 112021008281310-pat00006
Figure 112021008281310-pat00007
3) Ð0에서의 x(j,k)는 심사도법(Gnomonic Projection)에 의해 다음의 수학식 3 및 4와 같이 표현될 수 있다.
[수학식 3]
Figure 112021008281310-pat00008
Figure 112021008281310-pat00009
[수학식 4]
Figure 112021008281310-pat00010
Figure 112021008281310-pat00011
Figure 112021008281310-pat00012
Figure 112021008281310-pat00013
4) 임의의 Ð에서의 s(φ Ð,θ Ð)는 심사도법(Gnomonic Projection)에 의해 다음의 수학식 5와 같이 표현될 수 있다.
[수학식 5]
Figure 112021008281310-pat00014
Figure 112021008281310-pat00015
여기에서,
Figure 112021008281310-pat00016
,
Figure 112021008281310-pat00017
이다.
5) 따라서, 구 표면의 평면 이미지 픽셀 상의 좌표 p = (r,c)는 다음의 수학식 6과 같이 표현될 수 있다.
[수학식 6]
Figure 112021008281310-pat00018
Figure 112021008281310-pat00019
일 실시예에서, 평면 좌표계 영상 생성부(550)는 심사도법 기반의 투영을 통해 동적 커널의 위치에 기반한 샘플 픽셀에 관한 재배치를 수행할 수 있다. 평면 좌표계 영상 생성부(550)는 동적 커널의 위치에 기초하여 샘플 픽셀을 결정할 수 있으며, 이때 샘플 픽셀들의 위치는 동적 커널의 위치에 대응되어 평면 좌표계 상에서 부채꼴 형태를 형성할 수 있다. 따라서, 평면 좌표계 영상 생성부(550)는 샘플 픽셀들의 재배치(또는 재배열)를 통해 일반 합성곱 연산이 가능하도록 정사각형 형태로 매핑할 수 있다. 이에 대해서는, 도 10에서 보다 자세히 설명한다.
일 실시예에서, 평면 좌표계 영상 생성부(550)는 픽셀 그룹을 폴딩하여 넌-스파스(non-sparse) 픽셀 그룹을 생성할 수 있다. 샘플 픽셀에 관한 재배치를 수행한 결과 일반 합성곱 연산이 가능한 픽셀 그룹이 생성될 수 있으나, 위도에 반비례하는 샘플링으로 인해 재배치된 픽셀 그룹은 공백 픽셀을 포함하는 스파스(sparse) 픽셀 그룹에 해당할 수 있다. 평면 좌표계 영상 생성부(550)는 공백 픽셀의 제거하기 위한 폴딩 연산을 수행할 수 있으며, 폴딩 연산은 위도를 기준으로 상부와 하부의 픽셀 그룹들이 상호 보완적인 배치 구조를 형성하는 특징을 기반으로 수행될 수 있다.
즉, 폴딩 연산을 통해 생성된 넌-스파스(non-sparse) 픽셀 그룹은 공백 픽셀을 포함하지 않는 직사각형 형태의 픽셀 그룹을 형성함으로써 이를 기초로 진행되는 합성곱 연산의 연산량을 효과적으로 줄일 수 있다. 이에 대해서는, 도 11에서 보다 자세히 설명한다.
신경망 연산 수행부(570)는 평면 좌표계 영상에 관하여 신경망 연산을 수행할 수 있다. 여기에서, 신경망 연산은 합성곱(convolution) 연산을 포함할 수 있다. 예를 들어, 신경망 연산 수행부(570)는 평면 좌표계 영상을 기초로 일반적인 합성곱 연산을 수행할 수 있다. 만약 평면 좌표계 영상 생성부(550)에 의해 폴딩 연산이 추가로 수행된 경우라면, 신경망 연산 이후 이를 복원하는 언폴딩 연산이 수행될 수 있다.
일 실시예에서, 신경망 연산 수행부(570)는 커널을 통해 넌-스파스 픽셀 그룹에 대하여 CNN (Convolution Neural Network) 연산을 수행하고 언폴딩하여 피처맵을 생성할 수 있다. 합성곱 연산을 수행하는 대표적인 신경망 연산에는 CNN (Convolution Neural Network) 연산이 포함될 수 있다. 신경망 연산 수행부(570)는 폴딩 연산으로 생성된 넌-스파스 픽셀 그룹에 대해 신경망 연산을 수행한 경우, 신경망 연산의 결과를 기초로 폴딩 전 배치 구조로 복원하는 언폴딩 연산을 수행할 수 있다. 결과적으로, 언폴딩 연산의 결과로서 생성된 피처맵은 다음 단계의 연산을 위해 사용될 수 있다.
제어부(590)는 영상 처리 장치(130)의 전체적인 동작을 제어하고, 영상 수신부(510), 샘플 영상 생성부(530), 평면 좌표계 영상 생성부(550) 및 신경망 연산 수행부(570) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.
도 6은 본 발명에 따른 구형 좌표계 영상의 영상 처리 방법을 설명하는 순서도이다.
도 6을 참조하면, 영상 처리 장치(130)는 영상 수신부(510)를 통해 구형 좌표계 영상을 수신할 수 있다(단계 S610). 영상 처리 장치(130)는 샘플 영상 생성부(530)를 통해 구형 좌표계 영상에 있는 픽셀에 관하여 위도 기반의 픽셀 샘플링을 수행하여 샘플 픽셀로 구성된 샘플 영상을 생성할 수 있다(단계 S630). 영상 처리 장치(130)는 평면 좌표계 영상 생성부(550)를 통해 동적 커널을 통해 샘플 픽셀을 투영하고 샘플 픽셀을 재배치 하여 신경망 연산을 위한 픽셀 그룹으로 구성된 평면 좌표계 영상을 생성할 수 있다(단계 S650). 영상 처리 장치(130)는 신경망 연산 수행부(570)를 통해 평면 좌표계 영상에 관하여 신경망 연산을 수행할 수 있다(단계 S670).
도 7 및 8은 일반 합성곱과 왜곡 반영 합성곱을 설명하는 도면이다.
도 7을 참조하면, 그림 (a)는 이미지에 일반 합성곱 연산을 적용한 경우에 해당하고, 그림 (b)는 왜곡을 고려하여 합성곱 연산의 커널의 위치가 동적으로 계산된 경우에 해당할 수 있다.
그림 (a)의 경우, 2차원 평면 이미지 상에서는 정사각형의 균등한 위치 관계를 가지는 일반 합성곱의 커널은 구 표면 좌표상으로는 고위도로 갈수록 거리가 가까워지는 것을 확인할 수 있다.
그림 (b)의 경우, 기준점을 기준으로 만들어진 접평면상에서 균등한 위치 관계를 가지는 좌표를 구 표면 좌표에 투영하여 커널의 위치를 동적으로 결정할 수 있다. 이 경우, 구 표면 상의 위치 관계는 균등한 반면, 2차원 평면 이미지 상에서는 기준점의 위치에 따라 커널의 상대 위치가 달라지는 것을 확인할 수 있다. 예를 들어, 3×3 크기를 갖는 커널은 북반구의 고위도로 갈수록 역사다리꼴 형태로 변경될 수 있다. 즉, 고위도로 갈수록 동일한 위도 상에서 커널의 길이가 길어질 수 있고, 직선 형태에서 곡선 형태로 변경될 수 있다.
도 8을 참조하면, 그림 (a)는 일반 합성곱 연산의 일 실시예에 해당하고, 그림 (b)는 왜곡 반영 합성곱 연산의 일 실시예에 해당할 수 있다. 즉, 기준점과 커널값은 동일하지만 커널의 위치가 다르기에 결과값에 차이가 있는 것을 확인할 수 있다.
그림 (a)의 경우, 기준점의 픽셀값 1을 기준으로 직사각형 형태의 커널값 {-1, 0, 1, 2, 1, 2, 1, -2, 0}에 대응되는 픽셀값은 {8, 2, 0, 5, 1, 9, 4, 7, 7}에 해당할 수 있다. 따라서, 합성곱 연산은 (-1*8) + (0*2) + (1*0) + (2*5) + (1*1) + (2*9) + (1*4) + (-2*7) + (0*7) = (-8) + 0 + 0 + 10 + 1 + 18 + 4 + (-14) + 0 = 11을 결과값으로 생성할 수 있다.
그림 (b)의 경우, 기준점의 픽셀값 1을 기준으로 부채꼴 형태의 커널값 {-1, 0, 1, 2, 1, 2, 1, -2, 0}에 대응되는 픽셀값은 {4.2, 2, 2.6, 4, 1, 7.2, 4, 7, 6}에 해당할 수 있다. 따라서, 합성곱 연산은 (-1*4.2) + (0*2) + (1*2.6) + (2*4) + (1*1) + (2*7.2) + (1*4) + (-2*7) + (0*6) = (-4.2) + 0 + 2.6 + 8 + 1 + 14.4 + 4 + (-14) + 0 = 11.8을 결과값으로 생성할 수 있다.
도 9는 본 발명에 따른 픽셀 샘플링을 통해 샘플 영상을 생성하는 과정을 설명하는 도면이다.
도 9를 참조하면, 영상 처리 장치(130)는 샘플링이 수행된 피처맵을 입력으로서 수신할 수도 있지만, 샘플링 되지 않은 원본 영상을 수신할 수도 있다. 샘플링 되지 않은 원본 영상의 경우 360도 영상의 특성 상 왜곡 이미지에 해당할 수 있다. 영상 처리 장치(130)는 샘플링된 피처맵을 생성하기 위하여 원본 영상에 대한 픽셀 샘플링을 수행할 수 있다.
이때, 도 9와 같이 위도의 절대값에 반비례하여 원본 영상으로부터 픽셀이 샘플링 될 수 있다. 결과적으로, 위도의 중심 영역의 샘플링 밀도가 높은 반면, 위도의 중심에서 상부 또는 하부로 멀어질수록 샘플링 밀도가 낮아질 수 있다. 이처럼, 영상 처리 장치(130)는 위도에 따른 연산 비효율성 문제를 해결하기 위해 위도에 따라 샘플링 밀도를 동적으로 적용하여 픽셀 샘플링을 수행할 수 있다.
한편, 지도에서 사용되는 도법과는 달리 동일 위도에서는 동일한 간격으로 샘플링이 적용될 수 있다. 일 실시예에서, 샘플 영상 생성부(530)에 의해 생성된 샘플 영상의 샘플 픽셀들은 위도를 중심으로 상호 보완적인 배치 관계를 형성할 수 있다. 도 9에서, 위도의 중심을 기준으로 샘플 픽셀들은 상부(빨간색)와 하부(파란색)로 구분될 수 있다. 상부와 하부의 샘플 픽셀들 각각은 고위도로 갈수록 샘플링 밀도가 낮아질 수 있으며, 구체적으로 8/8, 7/8, 6/8, 5/8, 4/8, 3/8, 2/8, 1/8이 비율로 픽셀 샘플링이 수행될 수 있다. 이때, 7/8은 8개의 픽셀 중 7개의 픽셀을 샘플링 함을 의미할 수 있다.
도 10은 본 발명에 따른 샘플 픽셀들에 대한 픽셀 재배치 과정을 설명하는 도면이다.
도 10을 참조하면, 영상 처리 장치(130)는 동적 커널로 계산된 픽셀값들을 일반 합성곱 형태로 재배열하여 일반 합성곱으로 연산이 가능하게끔 처리할 수 있다. 즉, 영상 처리 장치(130)는 부채꼴 모양의 커널 위치의 픽셀값을 정사각형 형태로 매핑하고 다른 픽셀간의 간섭이 일어나지 않게 배치할 수 있다.
이에 따라, 각 기준점의 커널 위치 별로 픽셀값은 합성곱 연산 과정에서 상호 공유되지 않기에 (3×3) 커널을 사용한 합성곱의 경우 원 이미지의 (3×3)배 크기의 매핑 이미지가 생성될 수 있다. 이를 통해 생성된 이미지에 stride=3 (3픽셀에 한번씩 연산을 적용)를 적용한 일반 합성곱 연산을 수행하면 동적 위치를 가지는 커널을 사용한 결과와 동일한 결과를 획득할 수 있다.
도 10에서, 영상 처리 장치(130)는 제1 단계에서 심사도법에 의한 커널 별 샘플링 위치를 계산할 수 있고, 제2 단계에서 구 표면 이미지의 커널 사이즈 (3×3)배 면적을 갖는 공간에 픽셀값들을 배치할 수 있으며, 제3단계에서 재배치된 픽셀값들을 이용하여 일반 합성곱 연산을 수행할 수 있다. 다만, 다른 픽셀간의 간섭을 방지하기 위하여 합성곱 연산에서 적용되는 스트라이드(stride)의 크기는 커널 사이즈(kernel size)와 동일하게 적용될 수 있다.
도 11은 본 발명에 따른 픽셀 그룹에 대한 폴딩 연산을 설명하는 도면이다.
도 11을 참조하면, 영상 처리 장치(130)는 샘플 픽셀을 재배치 하여 신경망 연산을 위한 픽셀 그룹(1110)으로 구성된 평면 좌표계 영상을 생성할 수 있다. 이때, 평면 좌표계 영상을 구성하는 상부와 하부의 픽셀 그룹(1110)들의 배치는 상호 보완적인 관계로 형성될 수 있다. 즉, 상부와 하부의 픽셀 그룹(1110)들은 이후 합성곱 연산의 효율성을 개선하기 위하여 별도의 폴딩 연산을 통해 하나의 직사각형 형태로 재배열될 수 있다.
도 11에서, 각 빨간 픽셀, 파란 픽셀은 (3×3)크기의 픽셀, 즉 픽셀 그룹(1110)에 해당할 수 있고, 흰 픽셀은 비어 있는 픽셀(즉, 공백 픽셀(1130))에 해당할 수 있다. 해당 픽셀들은 위도에 반비례하여 샘플링 되어 있기 때문에 아래의 이미지와 같이 직사각형 형태로 재배열이 가능할 수 있고, 이를 통해 연산량을 1/2배 감소시킬 수 있다.
일 실시예에서, 영상 처리 장치(130)는 평면 좌표계 영상 생성부(550)를 통해 픽셀 그룹(1110)을 폴딩하여 넌-스파스(non-sparse) 픽셀 그룹을 생성할 수 있다. 보다 구체적으로, 평면 좌표계 영상 생성부(550)는 픽셀 그룹(1110)을 위도를 기준으로 상호 보완적인 배치 구조를 형성하는 상부 픽셀 그룹과 하부 픽셀 그룹으로 분할할 수 있고, 상부 픽셀 그룹 및 하부 픽셀 그룹 중 어느 하나를 기준으로 해당 공백 픽셀(1130)들의 위치에 다른 픽셀 그룹을 정렬하여 넌-스파스 픽셀 그룹을 생성할 수 있다.
즉, 폴딩 연산은 상부 픽셀 그룹과 하부 픽셀 그룹에 포함된 공백 픽셀(1130)을 제거하고 상부 픽셀 그룹과 하부 픽셀 그룹을 하나로 통합하는 연산에 해당할 수 있다. 또한, 폴딩 연산의 경우, 상부 픽셀 그룹 및 하부 픽셀 그룹은 상호 보완적인 배치 관계로 형성되어 있다는 점에서 동일 경도 상의 픽셀 그룹들은 상부 픽셀 그룹 또는 하부 픽셀 그룹 내에서의 정렬 순서를 그대로 유지한 채로 상호 보완적으로 결합되어 공백 픽셀(1130)을 제거할 수 있다.
이를 통해 생성된 넌-스파스 픽셀 그룹은 공백 픽셀(1130)을 포함하지 않으며, 이에 따라 넌-스파스 픽셀 그룹에 대한 합성곱 연산을 수행하면 공백 픽셀(1130)에 대한 불필요한 연산을 제거할 수 있어 연산의 효율성을 증가시킬 수 있다.
도 12는 본 발명에 따른 구형 좌표계 영상의 영상 처리 과정의 일 실시예를 설명하는 순서도이다.
도 12를 참조하면, 단계 S1210에서는 입력으로서 샘플링 되지 않은 왜곡 이미지 또는 샘플링 된 이미지(Feature map)를 수신할 수 있다.
단계 S1220에서는 입력으로 샘플링되지 않은 왜곡 이미지를 수신한 경우 픽셀 샘플링을 수행하여 샘플링 된 이미지를 생성할 수 있다. 이때, 샘플링된 이미지는 각 픽셀 별로 1×1의 크기를 가질 수 있으며, 위도를 중심으로 상부와 하부로 각각 멀어질수록 샘플링 밀도는 낮아질 수 있다.
단계 S1230에서는 샘플링 된 이미지를 기초로 각 픽셀에 해당하는 커널의 위치를 계산할 수 있다. 이때, 심사도법(Gnomonic Projection)이 적용될 수 있으며, 3×3의 크기를 갖는 커널의 경우 평면 좌표계 상에서 부채꼴 모양으로 형성될 수 있다. 이와 달리, 구형 좌표계에서는 정사각형 모양을 유지할 수 있다.
단계 S1240에서는 커널의 위치를 적용하여 도출된 픽셀값들을 하나의 픽셀 그룹으로 생성하고 일반적인 합성곱 연산을 적용하기 위한 배치 구조로 매핑시킬 수 있다. 이때, 매핑에 의해 생성된 이미지는 기존의 샘플링된 이미지보다 크기가 더 확장될 수 있다. 예를 들어, 커널의 사이즈가 (3×3)인 경우, 매핑에 의해 생성된 이미지는 기존의 샘플링된 이미지보다 (3×3)배만큼 면적이 증가될 수 있다.
단계 S1250에서는 단계 S1240에서 생성된 매핑 이미지에서 공백 픽셀들을 제거하고 합성곱 연산의 효율을 증가시키기 위해 픽셀 그룹들을 정렬시킬 수 있다. 이때, 매핑 이미지는 위도를 중심으로 상호 보완적인 배치 관계를 형성하는 상부 픽셀 그룹과 하부 픽셀 그룹으로 구분될 수 있고, 동일 경도 상의 픽셀 그룹들이 상보 보완적으로 결합함으로써 공백 픽셀이 제거될 수 있다. 또한, 상부 픽셀 그룹과 하부 픽셀 그룹 간의 통합에 의하더라도 픽셀 그룹 간의 배치 순서는 그대로 유지될 수 있다.
단계 S1260에서는 픽셀 그룹으로 구성된 평면 좌표계 영상에 대해 신경망 연산으로서 합성곱 연산을 수행할 수 있다. 이때, 합성곱 연산 과정에서 각 픽셀 그룹 간의 픽셀 공유가 발생하지 않도록 커널의 슬라이딩 간격은 커널 사이즈로 설정될 수 있다. 예를 들어, 커널의 크기가 3×3인 경우 커널의 슬라이딩 간격은 3으로 설정될 수 있다.
단계 S1270에서는 신경망 연산의 결과에 대해 픽셀 위치를 복원할 수 있다. 신경망 연산의 효율을 높이기 위하여 단계 S1250에서 픽셀 그룹들을 정렬시킨 경우라면, 신경망 연산이 수행된 후에는 이를 재배치하여 복원하는 연산이 수행될 필요가 있다.
단계 S1280에서는 단계 S1270에서의 픽셀 복원에 따라 피처맵(feature map)을 생성할 수 있다. 이때, 생성된 피처맵은 이후 다른 합성곱 연산에 사용될 수 있으며, 360도 영상으로 생성될 수도 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 영상 처리 시스템
110: 사용자 단말 130: 영상 처리 장치
150: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 구형 좌표계 330: 평면 좌표계
510: 영상 수신부 530: 샘플 영상 생성부
550: 평면 좌표계 영상 생성부 570: 신경망 연산 수행부
590: 제어부
1110: 픽셀 그룹 1130: 공백 픽셀

Claims (7)

  1. 구형 좌표계 영상을 수신하는 영상 수신부;
    상기 구형 좌표계 영상에 있는 픽셀에 관하여 위도 기반의 픽셀 샘플링을 수행하여 샘플 픽셀로 구성된 샘플 영상을 생성하는 샘플 영상 생성부;
    동적 커널을 통해 상기 샘플 픽셀을 투영하고 상기 샘플 픽셀을 재배치 하여 신경망 연산을 위한 픽셀 그룹으로 구성된 평면 좌표계 영상을 생성하고, 상기 픽셀 그룹을 폴딩하여 넌-스파스(non-sparse) 픽셀 그룹을 생성하는 평면 좌표계 영상 생성부; 및
    상기 평면 좌표계 영상에 관하여 신경망 연산을 수행하는 신경망 연산 수행부를 포함하는 구형 좌표계 영상의 영상 처리 장치.
  2. 제1항에 있어서, 상기 영상 수신부는
    360도 카메라를 통해 획득된 360도 영상을 상기 구형 좌표계 영상으로 수신하는 것을 특징으로 하는 구형 좌표계 영상의 영상 처리 장치.
  3. 제1항에 있어서, 상기 샘플 영상 생성부는
    상기 위도를 중심으로 상부 또는 하부로 멀어질수록 샘플링 밀도가 낮아지도록 상기 픽셀 샘플링을 수행하는 것을 특징으로 하는 구형 좌표계 영상의 영상 처리 장치.
  4. 제1항에 있어서, 상기 평면 좌표계 영상 생성부는
    상기 위도를 중심으로 상부 또는 하부로 멀어질수록 심사도법을 통해 상기 동적 커널을 조절하는 것을 특징으로 하는 구형 좌표계 영상의 영상 처리 장치.
  5. 제4항에 있어서, 상기 평면 좌표계 영상 생성부는
    상기 심사도법 기반의 투영을 통해 상기 동적 커널의 위치에 기반한 상기 샘플 픽셀에 관한 재배치를 수행하는 것을 특징으로 하는 구형 좌표계 영상의 영상 처리 장치.
  6. 삭제
  7. 제1항에 있어서, 상기 신경망 연산 수행부는
    커널을 통해 상기 넌-스파스 픽셀 그룹에 대하여 CNN (Convolution Neural Network) 연산을 수행하고 언폴딩하여 피처맵을 생성하는 것을 특징으로 하는 구형 좌표계 영상의 영상 처리 장치.
KR1020210008747A 2021-01-21 2021-01-21 구형 좌표계 영상의 영상 처리 장치 KR102439246B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210008747A KR102439246B1 (ko) 2021-01-21 2021-01-21 구형 좌표계 영상의 영상 처리 장치
PCT/KR2022/000684 WO2022158796A1 (ko) 2021-01-21 2022-01-13 구형 좌표계 영상의 영상 처리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210008747A KR102439246B1 (ko) 2021-01-21 2021-01-21 구형 좌표계 영상의 영상 처리 장치

Publications (2)

Publication Number Publication Date
KR20220105869A KR20220105869A (ko) 2022-07-28
KR102439246B1 true KR102439246B1 (ko) 2022-09-02

Family

ID=82549841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210008747A KR102439246B1 (ko) 2021-01-21 2021-01-21 구형 좌표계 영상의 영상 처리 장치

Country Status (2)

Country Link
KR (1) KR102439246B1 (ko)
WO (1) WO2022158796A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4355535B2 (ja) * 2003-08-07 2009-11-04 株式会社岩根研究所 360度画像変換処理装置
KR100952045B1 (ko) 2008-06-02 2010-04-07 한국전자통신연구원 왜곡 없는 3차원 영상을 표시하기 위한 장치 및 방법
KR101854612B1 (ko) * 2016-12-19 2018-05-04 인천대학교 산학협력단 구면 파노라마 영상을 위한 표본 기반 영상 인페인팅 장치 및 방법
KR20200052441A (ko) * 2018-10-29 2020-05-15 삼성전자주식회사 뉴럴 네트워크를 이용하여 3d 미세구조를 생성하는 방법 및 장치
KR102162451B1 (ko) * 2018-11-15 2020-10-06 이화여자대학교 산학협력단 학습네트워크 기반의 비디오 보간 방법 및 비디오 보외 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Benjamin Coors et al., ‘SphereNet: Learning Spherical Representations for Detection and Classification in Omnidirectional Images’, ECCV, pp.518~533, 2018.*

Also Published As

Publication number Publication date
KR20220105869A (ko) 2022-07-28
WO2022158796A1 (ko) 2022-07-28

Similar Documents

Publication Publication Date Title
CN108694700B (zh) 用于深度学习图像超分辨率的***和方法
US10650490B2 (en) Environmental map generation from a digital image
US9710898B2 (en) Image synthesis utilizing an active mask
US10643382B2 (en) Application of convolutional neural networks to object meshes
US11151780B2 (en) Lighting estimation using an input image and depth map
US20190222862A1 (en) Encoding apparatus and method, and decoding apparatus and method
WO2020146911A2 (en) Multi-stage multi-reference bootstrapping for video super-resolution
US20200126184A1 (en) Training and upscaling of large size image
CN109996023B (zh) 图像处理方法和装置
US20160027159A1 (en) Low memory content aware image modification
GB2585645A (en) Computer vision method and system
US8818135B1 (en) Low memory content aware fill
US8976169B1 (en) Rendering terrain patches
US20210118109A1 (en) Image processing method, image processing device, image processing system and medium
Powell et al. A scalable image processing framework for gigapixel mars and other celestial body images
KR20090065204A (ko) 모바일 기기에서의 이미지 변환 장치 및 방법
CN115082322B (zh) 图像处理方法和装置、图像重建模型的训练方法和装置
CN112243518A (zh) 获取深度图的方法、装置及计算机存储介质
CN112675545A (zh) 地表仿真画面的显示方法和装置、存储介质及电子设备
WO2013021525A1 (ja) 画像処理装置、画像処理方法、プログラム、及び集積回路
CN114742940A (zh) 构建虚拟形象纹理图的方法、装置、设备及存储介质
WO2022216521A1 (en) Dual-flattening transformer through decomposed row and column queries for semantic segmentation
KR102439246B1 (ko) 구형 좌표계 영상의 영상 처리 장치
US9811945B2 (en) On-demand transformation aware shape tessellation
US20150278636A1 (en) Image processing apparatus, image processing method, and recording medium

Legal Events

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