KR20220056599A - 화질 개선을 위한 학습데이터 생성 방법 및 그 장치 - Google Patents

화질 개선을 위한 학습데이터 생성 방법 및 그 장치 Download PDF

Info

Publication number
KR20220056599A
KR20220056599A KR1020200141322A KR20200141322A KR20220056599A KR 20220056599 A KR20220056599 A KR 20220056599A KR 1020200141322 A KR1020200141322 A KR 1020200141322A KR 20200141322 A KR20200141322 A KR 20200141322A KR 20220056599 A KR20220056599 A KR 20220056599A
Authority
KR
South Korea
Prior art keywords
frame
image
quality
time
learning data
Prior art date
Application number
KR1020200141322A
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 주식회사 케이티
Priority to KR1020200141322A priority Critical patent/KR20220056599A/ko
Publication of KR20220056599A publication Critical patent/KR20220056599A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치가 학습데이터를 생성하는 방법으로서, 동일한 촬영 조건에서 촬영된 저화질 영상과 고화질 영상을 수집하는 단계, 저화질 영상과 상기 고화질 영상에 대해 각각의 프레임들을 추출하고, 추출된 프레임마다 촬영 시간 정보를 산출하는 단계, 저화질 프레임마다 고화질 프레임들과의 유사도들을 산출하고, 가장 높은 유사도를 가지는 저화질 프레임과 고화질 프레임을 매칭하여 복수 개의 후보 학습데이터들을 생성하는 단계, 그리고 후보 학습데이터들마다 저화질 프레임과 고화질 프레임간의 촬영 시간 정보의 차이값을 추출하고, 차이값들 중에서 빈도수가 가장 많은 차이값을 가지는 후보 학습데이터를 최종 학습데이터로 생성하는 단계를 포함한다.

Description

화질 개선을 위한 학습데이터 생성 방법 및 그 장치{LEARNING-DATA GENERATION METHOD AND APPARATUS FOR IMPROVING CCTV IMAGE QUALITY}
본 발명은 화질 개선 모델을 위한 학습데이터 생성 방법 및 장치에 관한 것이다.
다양한 영상 콘텐츠 서비스가 발전하면서 영상의 화질 개선에 대한 요구가 증대되었으며, 특히, 최근 딥러닝이 대두 되면서 고가의 장비 없이 영상의 화질을 개선하기 위한 기술들이 활발히 연구되고 있다.
딥러닝 기반의 시스템 성능을 올리기 위해서는 학습데이터를 잘 구성하여 특성을 반영한 학습을 하는 것이 중요하다. 하지만 화질 개선 기술의 경우 저화질(입력)은 있으나 정답이 되는 고화질이 없으므로 그 특성을 가르치는데 어려움이 있다.
종래의 딥러닝 기반 화질 개선 기술은 상기 문제를 극복하기 위해 저 화질에 대한 정확한 정답이 없으므로, 고화질의 영상을 디지털 변환을 통해 저화질로 변환하여 고화질-저화질의 학습 세트를 만들고 이를 다시 복원하는 방법을 사용한다. 이러한 방법은 규칙적인 변형이 있는 애니메이션/미디어 영상 등에 효과가 있으며 서비스에 적용되어 사용되고 있다.
하지만 CCTV, 블랙박스, 드론, 의료 영상 등 다양한 실생활에서 사용되고 있는 영상에는 조도 변화, 통신 환경 등으로 인한 왜곡 및 열화가 발생하여 일반 콘텐츠와는 다른 특성을 가진다. 이러한 환경의 영상에서는 종래의 화질개선 기술의 효과가 미미하며, 실제 환경에서 사용되는 영상의 고화질로의 화질 개선을 위해서는 실제 영상의 특성을 학습하는 기술이 필요하다.
해결하고자 하는 과제는 유사도에 기초하여 저화질 프레임과 고화질 프레임을 매칭시키고, 매칭된 저화질 프레임과 고화질 프레임간의 촬영 시간 차이 값이 저화질 영상과 고화질 영상간의 딜레이 시간에 해당되는 경우, 매칭된 프레임들을 학습 데이터로 생성하는 방법 및 장치를 제공하는 것이다.
해결하고자 하는 과제는 실제 카메라를 통해 촬영한 고화질 영상과 저화질 영상을 매칭하여 실제 영상의 특성을 반영하면서 영상의 화질을 개선시키는 딥러닝 모델의 학습데이터를 생성하는 기술을 제공하는 것이다.
본 발명의 실시예에 따르면 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치가 학습데이터를 생성하는 방법으로서, 동일한 촬영 조건에서 실제 촬영된 저화질 영상과 고화질 영상을 수집하는 단계, 저화질 영상과 고화질 영상에 대해 각각의 프레임들을 추출하고, 추출된 프레임마다 촬영 시간 정보를 산출하는 단계, 저화질 프레임마다 고화질 프레임들과의 유사도들을 산출하고, 가장 높은 유사도를 가지는 저화질 프레임과 고화질 프레임을 매칭하여 복수 개의 후보 학습데이터들을 생성하는 단계, 그리고 후보 학습데이터들마다 저화질 프레임과 고화질 프레임간의 촬영 시간 정보의 차이값을 추출하고, 차이값들 중에서 빈도수가 가장 많은 차이값을 가지는 후보 학습데이터를 최종 학습데이터로 생성하는 단계를 포함한다.
수집하는 단계는, 저화질 영상과 고화질 영상이 저장된 VOD 정보를 파싱하여, 각 영상의 포맷 정보를 수집하고, 포맷 정보에 기초하여 시작 시간, 영상 주소 전체 영상의 초당 프레임 수를 확인할 수 있다.
촬영 시간 정보를 산출하는 단계는, 포맷 정보에 포함된 영상의 시작 시간을 확인하고, 시작 시간에서부터 추출한 프레임까지의 경과 시간을 산출하여, 경과 시간과 시작 시간을 더한 시간을 프레임에 대한 촬영 시간 정보로 산출할 수 있다.
최종 학습데이터로 생성하는 단계는, 빈도수가 가장 많은 차이값을 저화질 영상과 고화질 영상간의 딜레이 시간으로 추정할 수 있다.
복수 개의 후보 학습데이터들을 생성하는 단계는, 하나의 저화질 프레임에 대한 고화질 프레임들의 평균 유사도를 산출하고, 평균 유사도와 가장 높은 유사도를 비교하여 임계치 이하의 차이 값을 가지는 경우, 저화질 프레임을 후보 학습데이터로부터 제외시킬 수 있다.
본 발명의 실시예에 따르면 학습데이터를 생성하는 장치로서,메모리, 그리고 메모리에 로드된 프로그램의 명령들(instructions)을 실행하는 적어도 하나의 프로세서를 포함하고, 프로그램은 동일한 촬영 조건에서 촬영된 화질이 상이한 실제 영상들로부터 각각 프레임을 추출하고, 동일한 화질을 가지는 프레임들을 그룹화하여 기준 그룹과 비교 그룹으로 분류하는 단계, 기준 그룹의 프레임마다 비교 그룹의 프레임들과의 유사도를 산출하여 유사도가 가장 높은 서로 상이한 화질의 프레임을 매칭하는 단계, 그리고 매칭된 프레임간의 촬영 시간의 시간 차이 값들에 기초하여 화질이 상이한 영상간의 딜레이 시간을 추정하고, 딜레이 시간만큼 시간 차이 값을 가지는 매칭된 프레임을 학습 데이터로 생성하는 단계를 실행하도록 기술된 명령들을 포함한다.
촬영 시간은, 화질이 상이한 영상 각각의 포맷 정보에 포함된 영상의 시작 시간을 확인하고, 시작 시간에서부터 추출한 프레임까지의 경과 시간을 산출하여, 경과 시간과 시작 시간을 더한 시간일 수 있다.
학습 데이터로 생성하는 단계는, 기준 그룹의 프레임마다 매칭된 비교 그룹의 프레임간의 촬영 시간에 대한 시간 차이 값을 산출하고, 산출된 시간 차이 값들 중에서 가장 많은 가장 많은 빈도수를 가지는 시간 차이 값을 딜레이 시간으로 추정할 수 있다.
그룹화하는 단계는, 프레임의 수가 상대적으로 적은 영상의 프레임들을 기준 그룹으로 선정하고, 기준 그룹의 영상의 화질과 상이한 영상의 프레임들을 비교 그룹으로 선정할 수 있다.
학습 데이터로 생성하는 단계는, 기준 그룹의 프레임마다 비교 그룹의 프레임들과의 평균 유사도를 산출하고, 상기 기준 그룹의 프레임마다 평균 유사도와 가장 높은 유사도를 비교하여 비교한 결과가 임계치 이하의 차이 값을 가지면 해당 프레임을 제외시킬 수 있다.
실시예에 따르면 실제 촬영된 영상 화질을 개선시키는 딥러닝 모델을 학습 시키기 위해 고화질 영상과 저화질 영상을 매칭하여 실제 영상의 특성을 반영한 학습데이터를 생성할 수 있다.
실시예에 따르면, 저화질 프레임과 고화질 프레임간의 시간 차이 값에 기초하여 영상 전체 딜레이 시간을 추정하고, 딜레이 시간을 고려하여 높은 유사도를 가지는 학습 데이터를 생성함으로써, 딥러닝 모델에 최적화된 많은 학습데이터를 확보할 수 있다.
도 1은 본 발명의 실시예에 따른 학습데이터 생성 장치의 구조도이다.
도 2는 본 발명의 실시예에 따른 학습데이터를 생성하는 방법을 나타낸 흐름도이다.
도 3은 본 발명의 실시예에 따른 추출된 프레임에 대한 프레임 정보를 생성하는 과정을 설명하는 예시도이다.
도 4는 본 발명의 실시예에 따른 저화질 프레임과 고화질 프레임간의 유사도를 산출하는 과정을 설명하기 위한 예시도이다.
도 5는 본 발명의 실시예에 따른 유사도 측정에 기초하여 산출된 시간차를 나타낸 예시도이다.
도 6은 본 발명의 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.
본 명세서에서 "전송 또는 제공"은 직접적인 전송 또는 제공하는 것뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
도 1은 본 발명의 실시예에 따른 학습데이터 생성 장치의 구조도이다.
도 1에 도시한 바와 같이, 학습데이터 생성 장치(200)는 실제 촬영된 저화질 영상과 고화질 영상을 수집하는 영상 수집기(210), 수집된 영상에서 프레임을 추출하여 저장하는 프레임 추출부(220) 그리고 저화질 영상과 고화질 영상을 매칭하여 학습데이터를 생성하는 학습데이터 생성기(230)를 포함한다.
설명을 위해, 영상 수집기(210), 프레임 추출부(220) 그리고 학습데이터 생성기(230)로 명명하여 부르나, 이들은 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치이다. 여기서, 영상 수집기(210), 프레임 추출부(220) 그리고 학습데이터 생성기(230)는 하나의 컴퓨팅 장치에 구현되거나, 별도의 컴퓨팅 장치에 분산 구현될 수 있다. 별도의 컴퓨팅 장치에 분산 구현된 경우, 영상 수집기(210), 프레임 추출부(220) 그리고 학습데이터 생성기(230)는 통신 인터페이스를 통해 서로 통신할 수 있다. 컴퓨팅 장치는 본 발명을 수행하도록 작성된 소프트웨어 프로그램을 실행할 수 있는 장치이면 충분하고, 예를 들면, 서버, 랩탑 컴퓨터 등일 수 있다.
학습데이터 생성 장치(200)는 영상의 품질(화질)을 개선시키는 딥러닝 모델을 학습하기 위한 학습데이터를 생성하는 장치로, 동일한 촬영 조건하에서 촬영된 서로 상이한 화질을 가지는 영상을 매칭하여 학습데이터로 생성한다.
이때, 딥러닝 모델에 입력하기 위해서는 동일한 촬영 조건하에서 화질만 상이한 영상이 학습데이터로 확보되어야 한다.
하지만, 동일한 촬영 조건에서 촬영된 저화질 영상과 고화질 영상을 요청하더라도 실제 수신되는 저장 영상들은 촬영 시간 정보가 일치하지 않을 수 있다. 예를 들어, 촬영된 저화질 영상과 고화질 영상이 각각 저장되는 저장장치의 성능 차이, 네트워크 성능 차이, 카메라 자체의 성능 차이 등과 같은 원인으로 각각의 촬영 영상의 촬영 시간 정보가 다르게 저장될 수 있다.
학습데이터 생성 장치(200)는 요청한 촬영 시간을 포함한 복수개의 TS(transport stream) 조각으로 저화질 영상과 고화질 영상을 수신한다. 이때 전달되는 TS 정보는 일종의 포맷 형식으로, 각 영상 스트림마다 다르게 구성되므로 TS 정보에 기반하여 촬영 시간 정보를 확인할 수 있다.
이에 학습데이터 생성 장치(200)는 실제 촬영된 저화질 영상과 고화질 영상이 각각 복수개의 TS 조각들로 전달받으므로 각 TS 조각들의 TS 정보에 기초하여 서로 동일한 저화질 영상과 고화질 영상을 매칭하는 과정이 필수적이다.
하지만, 앞서 설명한 바와 같이, 저장된 촬영 시간 정보의 오류로 인해 실제 동일한 촬영 시간 정보라고 하더라도 육안으로 확인하면 서로 상이한 고화질 영상과 저화질 영상일 수 있다.
그러므로 동일한 시간, 동일한 대상, 동일한 카메라 화각 등 동일한 촬영 조건하에서 촬영된 영상들을 학습데이터로 생성하기 위해 학습데이터 생성 장치(200)는 촬영 시간을 산출하고, 저화질 프레임과 고화질 프레임간의 유사도와 촬영 시간차에 기초하여 학습데이터를 생성한다.
먼저, 영상 수집기(210)는 실제 촬영된 영상이 저장된 영상 플랫폼(100)에 녹화된 영상을 요청하여 수신한다.
여기서, 영상 플랫폼(100)은 하나 이상의 카메라들에 의해 촬영된 영상들을 영상 저장소(데이터베이스)에 저장하고 관리하는 플랫폼으로, 영상 저장소의 각 영상들은 촬영된 카메라 고유 ID, 촬영 시간 등의 데이터와 함께 저장된다.
여기서, 카메라 고유 ID는 카메라 종류, 촬영 모듈, 영상의 화질 등에 기초하여 설정되는 ID를 의미한다.
카메라에는 내부에 고화질 영상을 촬영하는 촬영모듈과 저화질 영상을 촬영하는 촬영모듈이 포함되어 실시간으로 동시에 상이한 화질을 가지는 영상을 촬영할 수 있다. 그러므로 동일한 촬영 조건에서 서로 상이한 화질을 가지는 영상들을 확보할 수 있다.
그리고 카메라는 cctv, 블랙박스 내부의 카메라, 드론에 장착된 카메라, 사용자 단말에 장착된 카메라 등을 모두 포함하며, 특정 카메라에 한정하는 것은 아니다.
영상 수집기(210)는 카메라 ID(촬영 모듈 ID), 영상이 촬영된 시간 등을 포함하는 VOD (video on demand) 정보를 요청하면, 영상 플랫폼(100)으로부터 VOD 저장 URL을 수신한다.
영상 수집기(210)는 해당 VOD 저장 URL을 파싱하여 실제 영상의 TS 주소, 시작 시간, 전체 TS 재생 시간 정보 등을 포함하는 TS 정보를 수집한다.
그리고 영상 수집기(210)는 수집한 TS 정보를 실시간으로 프레임 추출부(220)에 전달하거나 수집한 영상 전체에 대한 TS 리스트를 생성한 후, 순차적으로 프레임 추출부(220)에 전달할 수 있다.
프레임 추출부(220)는 전달받은 TS 정보를 수신하여 실제 영상을 TS 주소를 통해 수집하고, 해당 영상에 대한 프레임을 추출한다. 그리고 프레임 추출부(220)는 추출하는 프레임마다 촬영 시간을 산출하여 프레임 정보를 생성할 수 있다.
영상 수집기(210)에서 수집한 시작 시간은 TS에 대한 영상의 시작 시간 정보로, 프레임의 촬영 시간은 TS 시작 시간에서부터 추출한 프레임까지의 경과 시간을 구하고 경과 시간과 TS 시작 시간을 더하여 산출한다.
상세하게는 경과 시간은 하나의 Frame당 소요시간 (1/ FPS)과 현재 프레임 인덱스를 곱하여 구할 수 있으며, 이를 수학식으로 표현하면 다음 수학식 1과 같다.
[수학식 1]
Frame Time = (1/ FPS * Frame idx) + TS 시작 시간
영상 수집기(210)는 수학식 1을 통해 프레임마다 촬영 시간을 산출하여 각 프레임 정보(Frame Info)에 저장한다.
이때, 영상 수집기(210)는 수집되는 카메라 ID에 기초하여 저화질 영상에 대한 프레임들과 고화질 영상에 대한 프레임들을 각각 대응하는 저장소에 저장할 수 있다.
학습데이터 생성기(230)는 추출된 프레임들에 대해서 저화질 영상과 고화질 영상과의 유사성을 판단하고, 유사도가 높은 동일 시점의 저화질 프레임과 고화질 프레임을 매칭하여 학습데이터로 생성할 수 있다.
학습데이터 생성기(230)는 수집한 저화질 프레임들과 고화질 프레임들간에 매칭하여 학습데이터를 생성하기 위해 기준 그룹(A)과 비교 그룹(B)으로 구분할 수 있다.
이에 학습데이터 생성기(230)는 기준 그룹(A)에 포함된 프레임마다 비교 그룹(B)에 포함된 프레임들 간에 유사도를 산출하고, 산출된 유사도가 가장 높은 프레임을 선택한다.
그리고 학습데이터 생성기(230)는 기준 그룹(A)에 포함된 프레임의 촬영 시간과 선택한 유사도가 가장 높은 프레임의 촬영 시간을 비교하여 시간 차이 값을 산출한다.
다시 말해, 기준 그룹(A)에 포함된 프레임마다 선택된 비교 그룹(B)의 프레임과의 시간차이를 산출하기 때문에, 기준 그룹(A)의 프레임 개수에 기초하여 시간 차이 값들이 산출된다.
학습데이터 생성기(230)는 산출된 시간 차이 값들 중에서 빈도수가 가장 많은 시간 차이 값을 선택하여 해당 시간 차이 값을 가지는 저화질 프레임과 고화질 프레임들을 추출하여 학습데이터들로 생성할 수 있다.
다시 말해 학습데이터 생성기(230)는 동일한 촬영 시간차를 가지는 데이터들을 학습데이터로 생성한다. 이처럼 학습데이터 생성기(230)는 기준 그룹의 프레임과 1대 1로 매칭된 비교 그룹의 프레임을 학습데이터를 생성하여 데이터 베이스에 저장할 수 있다.
도 1에는 학습데이터 생성 장치(200) 내에 저장 DB들을 포함하는 것으로 도시하였지만, 반드시 이에 한정하는 것은 아니고, 별도의 장치나 서버에 저장 DB를 구현할 수 있다.
이하에는 도 2 및 3을 이용하여 학습데이터 생성 장치가 학습데이터를 생성하는 방법에 대해서 상세하게 설명한다.
도 2는 본 발명의 실시예에 따른 학습데이터를 생성하는 방법을 나타낸 흐름도이다.
도 2에 도시한 바와 같이, 학습데이터 생성 장치(200)는 동일한 촬영 조건에서 촬영된 저화질 영상과 고화질 영상을 수집한다(S110).
학습데이터 생성 장치(200)는 촬영 시간, 카메라 ID 등 동일한 촬영 조건으로 촬영된 저화질 영상과 고화질 영상을 영상 플랫폼을 통해 수집할 수 있다.
여기서, 영상 플랫폼은 촬영된 영상들을 저장하는 저장소를 관리하는 플랫폼으로, 각 카메라 ID 별 촬영된 영상을 저장하여 관리하며, 사용자가 요청하는 영상을 제공한다.
학습데이터 생성 장치(200)는 영상 플랫폼으로부터 요청한 VOD 정보에 대응한 VOD 저장 URL을 수신할 수 있다. 그리고 학습데이터 생성 장치(200)는 VOD 저장 URL을 파싱하여 실제 영상의 TS 주소, 시작 시간, 전체 TS 재생 시간 정보 등을 포함하는 TS 정보를 획득한다.
학습데이터 생성 장치(200)는 획득된 TS 정보들에 기초하여 순차적으로 실제 영상을 획득하여 영상의 프레임을 추출한다.
이때, 학습데이터 생성 장치(200)는 저화질 영상과 고화질 영상 각각에 대해서 동시에 프레임을 추출하거나 순차적으로 저화질 영상의 프레임들을 추출한 후 고화질 영상의 프레임을 추출할 수 있다.
다음으로 학습데이터 생성 장치(200)는 저화질 영상에서 프레임들과 각 프레임의 촬영 시간 정보를 추출한다(S120).
학습데이터 생성 장치(200)는 추출된 프레임마다 촬영 시간을 산출하여 프레임 정보를 구성한다. 여기서, 프레임 정보는 카메라 ID, 프레임 인덱스(idx), 실제 프레임 영상, 산출된 촬영 시간 등을 포함하여 구성되지만 반드시 이에 한정하는 것은 아니다.
여기서 프레임 인덱스(idx)는 TS의 전체 프레임의 개수를 구하고, 추출한 프레임마다 전체 프레임의 개수에 기초하여 설정된 번호를 나타낸다.
그리고 학습데이터 생성 장치(200)는 각 프레임마다 TS 시작 시간에 경과 시간을 더하여 프레임별 촬영 시간을 산출할 수 있다.
학습데이터 생성 장치(200)는 카메라 ID를 기준으로 확보한 프레임 정보를 데이터베이스에 저장할 수 있다.
S120 단계에서 수행한 방법과 동일하게, 학습데이터 생성 장치(200)는 고화질 영상에서 프레임들과 각 프레임의 촬영 시간 정보를 추출한다(S130).
학습데이터 생성 장치(200)는 고화질 영상에 대해서도 동일한 방법으로 프레임 정보를 구성하고, 이를 카메라 ID를 기준으로 데이터베이스에 저장한다.
설명의 편의상 S120 단계와 S130 단계를 순차적으로 설명하였지만, 해당 단계는 동시에 진행되거나 고화질 영상을 먼저 수행한 후, 저화질 영상을 수행할 수 있다.
학습데이터 생성 장치(200)는 저화질 프레임마다 고화질 프레임들과의 각각의 유사도와 평균 유사도를 산출한다(S140).
이때, 학습데이터 생성 장치(200)는 저화질 영상과 고화질 영상에 대한 기준 그룹을 선정할 수 있다.
학습데이터 생성 장치(200)는 각 영상들의 프레임 정보를 탐색하여 두 영상 간에 동일한 시작 시간과 종료 시간을 수집 시간으로 선정하고 영상 비교에 필요한 기준그룹과 비교그룹을 선정할 수 있다. 그리고 수집 시간 내에 수집 프레임의 수가 상대적으로 적은 영상의 프레임들을 기준 그룹으로 선정한다.
일반적으로 저화질 영상이 같은 시간을 촬영한 고화질 영상에 비해 초당 프레임 수(FPS)가 낮기 때문에, 대체적으로 저화질 영상이 선정된다.
다만, 상황에 따라 고화질 영상에서의 프레임 수가 더 적으면 고화질 영상이 기준 그룹으로 선정될 수 있으나 이하에서는 기준 그룹은 저화질 영상을 가정하여 설명한다.
학습데이터 생성 장치(200)는 복수개의 저화질 프레임마다 복수개의 고화질 프레임간의 유사도를 산출하고, 하나의 저화질 프레임에 대한 복수개의 고화질 프레임간의 유사도들에 기초하여 평균 유사도를 산출한다.
다음으로 학습데이터 생성 장치(200)는 프레임마다 가장 높은 유사도를 가지는 고화질 프레임을 매칭하고 매칭된 프레임에 대해 오탐 구간 여부를 확인하여 제외한다(S150).
학습데이터 생성 장치(200)는 높은 유사도를 가지는 저화질 프레임과 고화질 프레임을 매칭하여 후보 학습데이터로 생성할 수 있다. 학습데이터 생성 장치(200)는 각 저화질 프레임마다 매칭된 고화질 프레임을 통해 복수개의 후보 학습데이터를 생성한다.
이때, 학습데이터 생성 장치(200)는 하나의 저화질 프레임을 기준으로 복수개의 고화질 프레임들의 평균 유사도 그리고 가장 높은 유사도를 비교하여 오탐 구간을 확인할 수 있다.
여기서 오탐 구간은 유효한 학습 데이터들만을 선택하기 위한 조건으로, 평균 유사도와 가장 높은 유사도가 서로 근소한 차이 값을 가지는 경우를 나타낸다.
예를 들어, 변화가 없는 고정 영상인 경우, 일정 시간 동안 동일한 영상이 반복되게 된다. 이러한 경우, 동일하지 않은 시점에서 촬영된 저화질 프레임과 고화질 프레임이라도 유사도가 높게 산출되어 매칭되어 학습 데이터의 정확도가 떨어지며, 오류가 발생할 수 있다.
그러므로 학습데이터 생성 장치(200)는 기준 그룹의 프레임별 평균 유사도와 가장 높은 유사도를 비교하여 임계치 이하의 차이 값을 가지면 오탐 구간으로 추정하여 해당 프레임은 제외할 수 있다.
이때, 임계치 이하의 차이 값에 대한 정의는 추후에 사용자에 의해서 설정 가능하며, 예를 들어 유사도 값의 정수가 같거나 소수점 이하의 차이인 경우를 의미할 수 있다.
다음으로 학습데이터 생성 장치(200)는 매칭된 저화질 프레임과 고화질 프레임간의 촬영 시간 정보에 대한 차이 값을 산출한다(S160).
학습데이터 생성 장치(200)는 후보 학습데이터(매칭된 프레임)들마다 저화질 프레임의 촬영 시간 정보에서 고화질 프레임의 촬영 시간 정보의 차이 값을 산출할 수 있다.
학습데이터 생성 장치(200)는 산출된 차이 값들 중에서 빈도수가 가장 많은 시간 차이 값을 선택하여 해당 시간 차이 값을 가지는 저화질 프레임과 고화질 프레임을 학습 데이터로 생성한다(S170).
학습데이터 생성 장치(200)는 매칭된 데이터마다 산출된 시간 차이 값을 기록하여 동일한 시간 차이 값이 기록되면 카운팅한다. 그에 따라 가장 많이 카운팅된 차이 값을 선택하여 해당 차이 값을 가지는 매칭 데이터를 최종 학습데이터로 생성한다.
이에 따라 최종 학습데이터들은 동일한 시간 차이 값을 가지며, 매칭된 해당 저화질 영상과 고화질 영상 중에서 가장 많은 데이터를 학습데이터로 확보할 수 있다.
이와 같이, 학습데이터 생성 장치(200)는 동일 시점에서 촬영된 저화질 프레임과 고화질 프레임을 서로 매칭하여 최종 학습데이터로 생성할 수 있다.
다시 말해, 학습데이터 생성 장치(200)는 유사도를 기준으로 복수개의 후보 학습데이터들을 생성하고, 복수개의 후보 학습데이터들 중에서 시간 차이값을 기준으로 최종 학습데이터들을 생성할 수 있다.
도 3는 본 발명의 실시예에 따른 추출된 프레임에 대한 프레임 정보를 생성하는 과정을 설명하는 예시도이다.
도 3에 도시한 바와 같이, 학습데이터 생성 장치(200)는 영상 플랫폼(100)으로부터 요청한 VOD 정보에 대응한 VOD 저장 URL을 수신한다.
학습데이터 생성 장치(200)는 VOD 저장 URL을 파싱하여 실제 영상의 TS 주소, 시작 시간, 전체 TS 재생 시간 정보, 전체 FPS 등을 포함하는 TS 정보를 획득한다. 그리고 학습데이터 생성 장치(200)는 TS 주소에 기초하여 실제 영상을 획득한다.
학습데이터 생성 장치(200)는 각 저화질 영상 또는 고화질 영상에서 프레임들을 추출하면서 프레임 정보(Frame Info)를 생성한다.
학습데이터 생성 장치(200)는 획득한 TS 정보는 저화질 영상 또는 고화질 영상에 대한 정보이기 때문에 별도로 각 프레임마다 카메라 ID(camID), 프레임 idx, 실제 프레임, 프레임에 대한 촬영 시간 정보 등을 포함하는 프레임 정보를 생성한다.
여기서, 카메라 ID를 통해 해당 프레임이 고화질 영상에 대한 것인지 저화질 영상에 대한 것인지 분류할 수 있으며, 프레임 idx를 통해 해당 프레임이 몇번째 프레임에 대한 것인지 분류할 수 있다.
프레임에 대한 촬영 시간 정보는 앞서 설명한 수학식 1을 이용하여 산출할 수 있으므로 반복되는 설명은 생략한다.
학습데이터 생성 장치(200)는 각 영상의 프레임마다 프레임 정보를 생성하면, 영상의 고화질 또는 저화질에 따라 A frame 저장 DB 또는 B frame 저장 DB에 분류하여 저장한다.
이와 같이, 학습데이터 생성 장치(200)는 각 영상의 프레임마다 프레임 정보를 생성함으로써, 해당 프레임 정보에 기초하여 저화질 프레임과 고화질 프레임을 서로 매칭할 수 있다.
도 4는 본 발명의 실시예에 따른 저화질 프레임과 고화질 프레임간의 유사도를 산출하는 과정을 설명하기 위한 예시도이고, 도 5는 본 발명의 실시예에 따른 유사도 측정에 기초하여 산출된 시간차를 나타낸 예시도이다.
도 4에 도시한 바와 같이, 기준 그룹에 M개의 프레임이 있고, 각각의 프레임에 대해서는 A1,A2, … , AM에 대한 산출된 촬영 시간이 기재되어 있다.
그리고 비교 그룹에는 N개의 프레임이 있고, 각각의 프레임에 대해서는 B1,B2, … , BN에 대한 산출된 촬영 시간이 기재되어 있다. (M과 N은 서로 다른 자연수)
학습데이터 생성 장치(200)는 상대적으로 적은 프레임 수를 가지는 기준 그룹의 프레임마다 비교 그룹의 프레임들을 비교하여 유사도를 산출한다.
여기서, 프레임들간의 유사도는 최대 신호 대 잡음비(Peak Signal-to-noise ratio, PSNR)의 산출식에 근거하여 산출할 수 있다. 프레임들간의 로그스케일에서 측정하기 때문에 주로 [db]의 단위가 사용되며, 손실이 적을수록 높은 값을 가지므로 높은 값을 가지면 두 프레임이 서로 유사하다고 추정 가능하다.
이러한 유사도 측정 방법은 한 예시로, 반드시 최대 신호 대 잡음비를 사용하는 것은 아니고 평균 제곱 오차(Mean square Error, MSE), 평균 제곱근 편차(Root Mean square Error , RMSE), 구조적 유사 지수(Structural Similarity Index, SSIM) 등 상황에 가장 적합한 프레임 간에 유사도 측정 방법을 사용할 수 있다.
상세하게는 A1에 대해서 B1에서부터 BN의 프레임마다 총 N개의 유사도 점수를 산출하고, N개의 유사도에 대한 평균 유사도와 유사도 점수가 가장 큰 값을 가지는 유사도 값을 산출한다.
그리고 학습데이터 생성 장치(200)는 가장 큰 값을 가지는 유사도의 비교 그룹 프레임의 촬영 시간과 A1의 촬영 시간의 차이 값을 산출한다.
기준 그룹에 포함된 모든 프레임에 대해서 해당 과정을 반복하면 도 5과 같은 결과값을 얻게 된다.
도 5의 매칭된 프레임들은 유사도에 기초하여 매칭된 후보 학습데이터들로, 후보 학습데이터들 중에서 시간차에 기초하여 최종 학습데이터들을 생성한다.
이때, 학습데이터 생성 장치(200)는 평균 유사도와 최고 유사도의 정수 값만을 이용하여 정수 값이 같으면 오탐 구간으로 판단하여 제외한다.
또는 학습데이터 생성 장치(200)는 평균 유사도와 최고 유사도가 임계치 이하의 차이 값을 가지고 있는 경우는 오탐 구간으로 판단하여 제외할 수 있다. 예를 들어, 임계치를 소수점 이하로 설정하면, 평균 유사도와 최고 유사도가 소수점 이하의 차이 값을 가지고 있는 경우를 오탐 구간으로 판단할 수 있다.
이외에도 유사도 값을 소수점 반올림 등과 같이, 오탐 구간을 판단하는 기준을 설정할 수 있다.
학습데이터 생성 장치(200)는 제외하고 남은 프레임들간의 비교 결과에 기초하여 각 기준 그룹의 프레임마다 시간차를 비교하여 가장 빈도수가 많은 시간 차이 값을 전체 딜레이 시간으로 추정할 수 있다.
이에 따라 가장 빈도수가 많은 시간 차이 값을 가지는 매칭 데이터들은 전체 딜레이 시간이 적용된 매칭 데이터로 추정 가능하다.
도 5에서는 0.00423의 빈도수가 3이고 0.00342의 빈도수가 2로 0.00423의 시간차를 딜레이 시간으로 추정한다.
이와 같이, 학습데이터 생성 장치(200)는 시간차를 딜레이 시간으로 추정하여 해당 기준 그룹과 비교 그룹간에 매칭하였던 유사도가 가장 큰 값을 가지는 프레임들 중에서 해당 딜레이 시간을 가지는 데이터들을 학습데이터로 생성할 수 있다.
도 6은 본 발명의 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다
도 6에 도시한 바와 같이, 컴퓨팅 장치(300)의 하드웨어는 적어도 하나의 프로세서(310), 메모리(320), 스토리지(330), 통신 인터페이스(340)를 포함할 수 있고, 버스를 통해 연결될 수 있다. 이외에도 입력 장치 및 출력 장치 등의 하드웨어가 포함될 수 있다. 컴퓨팅 장치(300)는 프로그램을 구동할 수 있는 운영 체제를 비롯한 각종 소프트웨어가 탑재될 수 있다.
프로세서(310)는 컴퓨팅 장치(300)의 동작을 제어하는 장치로서, 프로그램에 포함된 명령들을 처리하는 다양한 형태의 프로세서(310)일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다. 메모리(320)는 본 발명의 동작을 실행하도록 기술된 명령들이 프로세서(310)에 의해 처리되도록 해당 프로그램을 로드한다. 메모리(320)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다. 스토리지(330)는 본 발명의 동작을 실행하는데 요구되는 각종 데이터, 프로그램 등을 저장한다. 통신 인터페이스(340)는 유/무선 통신 모듈일 수 있다.
실시예에 따르면, 실제 촬영된 영상 화질을 개선시키는 딥러닝 모델을 학습 시키기 위해 고화질 영상과 저화질 영상을 매칭하여 실제 영상의 특성을 반영한 학습데이터를 생성할 수 있다.
또한, 저화질 영상과 고화질 영상간에 실제 촬영된 시간을 보정하여 동일 시간에 촬영된 프레임들을 매칭함으로써, 빠른 움직임이 촬영된 영상에서도 매칭된 프레임간의 유사도 정확성을 확보할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (10)

  1. 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치가 학습데이터를 생성하는 방법으로서,
    동일한 촬영 조건에서 실제 촬영된 저화질 영상과 고화질 영상을 수집하는 단계,
    상기 저화질 영상과 상기 고화질 영상에 대해 각각의 프레임들을 추출하고, 추출된 프레임마다 촬영 시간 정보를 산출하는 단계,
    저화질 프레임마다 고화질 프레임들과의 유사도들을 산출하고, 가장 높은 유사도를 가지는 저화질 프레임과 고화질 프레임을 매칭하여 복수 개의 후보 학습데이터들을 생성하는 단계, 그리고
    상기 후보 학습데이터들마다 상기 저화질 프레임과 상기 고화질 프레임간의 촬영 시간 정보의 차이값을 추출하고, 차이값들 중에서 빈도수가 가장 많은 차이값을 가지는 후보 학습데이터를 최종 학습데이터로 생성하는 단계,
    를 포함하는 학습데이터를 생성하는 방법.
  2. 제1항에서,
    상기 수집하는 단계는,
    상기 저화질 영상과 상기 고화질 영상이 저장된 VOD 정보를 파싱하여, 각 영상의 포맷 정보를 수집하고, 상기 포맷 정보에 기초하여 시작 시간, 영상 주소 전체 영상의 초당 프레임 수를 확인하는 학습데이터를 생성하는 방법.
  3. 제2항에서,
    상기 촬영 시간 정보를 산출하는 단계는,
    상기 포맷 정보에 포함된 영상의 시작 시간을 확인하고, 상기 시작 시간에서부터 추출한 프레임까지의 경과 시간을 산출하여, 상기 경과 시간과 상기 시작 시간을 더한 시간을 상기 프레임에 대한 촬영 시간 정보로 산출하는 학습데이터를 생성하는 방법.
  4. 제1항에서,
    상기 최종 학습데이터로 생성하는 단계는,
    상기 빈도수가 가장 많은 차이값을 상기 저화질 영상과 상기 고화질 영상간의 딜레이 시간으로 추정하는 학습데이터를 생성하는 방법.
  5. 제1항에서,
    상기 복수 개의 후보 학습데이터들을 생성하는 단계는,
    하나의 저화질 프레임에 대한 상기 고화질 프레임들의 평균 유사도를 산출하고, 상기 평균 유사도와 상기 가장 높은 유사도를 비교하여 임계치 이하의 차이 값을 가지는 경우, 상기 저화질 프레임을 후보 학습데이터로부터 제외시키는 학습데이터를 생성하는 방법.
  6. 학습데이터를 생성하는 장치로서,
    메모리, 그리고
    상기 메모리에 로드된 프로그램의 명령들(instructions)을 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 프로그램은
    동일한 촬영 조건에서 촬영된 화질이 상이한 실제 영상들로부터 각각 프레임을 추출하고, 동일한 화질을 가지는 프레임들을 그룹화하여 기준 그룹과 비교 그룹으로 분류하는 단계,
    상기 기준 그룹의 프레임마다 상기 비교 그룹의 프레임들과의 유사도를 산출하여 상기 유사도가 가장 높은 서로 상이한 화질의 프레임을 매칭하는 단계, 그리고
    매칭된 프레임간의 촬영 시간의 시간 차이 값들에 기초하여 상기 화질이 상이한 영상간의 딜레이 시간을 추정하고, 상기 딜레이 시간만큼 상기 시간 차이 값을 가지는 매칭된 프레임을 학습 데이터로 생성하는 단계
    를 실행하도록 기술된 명령들을 포함하는 학습데이터 생성 장치.
  7. 제6항에서,
    상기 촬영 시간은,
    화질이 상이한 영상 각각의 포맷 정보에 포함된 영상의 시작 시간을 확인하고, 상기 시작 시간에서부터 추출한 프레임까지의 경과 시간을 산출하여, 상기 경과 시간과 상기 시작 시간을 더한 시간인 학습데이터 생성 장치.
  8. 제7항에서,
    상기 학습 데이터로 생성하는 단계는,
    상기 기준 그룹의 프레임마다 매칭된 비교 그룹의 프레임간의 촬영 시간에 대한 시간 차이 값을 산출하고, 산출된 시간 차이 값들 중에서 가장 많은 가장 많은 빈도수를 가지는 시간 차이 값을 상기 딜레이 시간으로 추정하는 학습데이터 생성 장치.
  9. 제6항에서,
    상기 그룹화하는 단계는,
    프레임의 수가 상대적으로 적은 영상의 프레임들을 기준 그룹으로 선정하고, 상기 기준 그룹의 영상의 화질과 상이한 영상의 프레임들을 비교 그룹으로 선정하는 학습데이터 생성 장치.
  10. 제6항에서,
    상기 학습 데이터로 생성하는 단계는,
    상기 기준 그룹의 프레임마다 상기 비교 그룹의 프레임들과의 평균 유사도를 산출하고, 상기 기준 그룹의 프레임마다 상기 평균 유사도와 가장 높은 유사도를 비교하여 비교한 결과가 임계치 이하의 차이 값을 가지면 해당 프레임을 제외시키는 학습데이터 생성 장치.
KR1020200141322A 2020-10-28 2020-10-28 화질 개선을 위한 학습데이터 생성 방법 및 그 장치 KR20220056599A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200141322A KR20220056599A (ko) 2020-10-28 2020-10-28 화질 개선을 위한 학습데이터 생성 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200141322A KR20220056599A (ko) 2020-10-28 2020-10-28 화질 개선을 위한 학습데이터 생성 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20220056599A true KR20220056599A (ko) 2022-05-06

Family

ID=81584779

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200141322A KR20220056599A (ko) 2020-10-28 2020-10-28 화질 개선을 위한 학습데이터 생성 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR20220056599A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102604448B1 (ko) * 2023-08-28 2023-11-20 우수연 타로 서비스를 제공하기 위한 무인 장치 및 이를 이용한 타로 서비스 제공 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102604448B1 (ko) * 2023-08-28 2023-11-20 우수연 타로 서비스를 제공하기 위한 무인 장치 및 이를 이용한 타로 서비스 제공 방법

Similar Documents

Publication Publication Date Title
KR102082815B1 (ko) 인공지능 기반 해상도 개선 시스템
US10499056B2 (en) System and method for video processing based on quantization parameter
US20100131445A1 (en) Method of data transmission with differential data fusion
US20100141810A1 (en) Bad Pixel Detection and Correction
US20230360437A1 (en) Training system and data collection device
US20220198609A1 (en) Modifying sensor data using generative adversarial models
CN115022675B (zh) 一种视频播放检测的方法和系统
US20230169691A1 (en) Method of providing image storage service, recording medium and computing device
CN111369548A (zh) 一种基于生成对抗网络的无参考视频质量评价方法及装置
KR20220056599A (ko) 화질 개선을 위한 학습데이터 생성 방법 및 그 장치
CN115861210A (zh) 一种基于孪生网络的变电站设备异常检测方法和系统
US7907668B2 (en) Method and apparatus for calculating moving-image correction-coefficient, moving-image correcting apparatus, and computer product
Ding et al. Image and video quality assessment using neural network and SVM
CA3225097A1 (en) Automatic visual media transmission error assessment
US10764578B2 (en) Bit rate optimization system and method
KR102314990B1 (ko) 머신러닝 기반으로 비디오를 분류하는 장치, 방법 및 컴퓨터 프로그램
CN111209057B (zh) 一种快速调整感知终端的方法以及装置
KR20220021495A (ko) Ai에 기반하여 스트리밍 파일의 해상도를 개선하는 방법
KR20220070866A (ko) 딥러닝 기술이 적용된 영상 개선 방법, 장치 및 프로그램
KR20220021494A (ko) Ai 기반 해상도 개선 시스템
JP6699707B2 (ja) 画像圧縮装置、及びプログラム
CN111818338A (zh) 一种异常显示检测方法、装置、设备及介质
KR102540817B1 (ko) 머신러닝 기반 실시간 비디오 방송 품질 평가 방법, 장치 및 프로그램
CN114079777A (zh) 视频处理方法和装置
Ahn et al. No-reference video quality assessment based on convolutional neural network and human temporal behavior

Legal Events

Date Code Title Description
A201 Request for examination