KR20240077189A - 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법 및 이를 위한 시스템 - Google Patents

객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법 및 이를 위한 시스템 Download PDF

Info

Publication number
KR20240077189A
KR20240077189A KR1020220159422A KR20220159422A KR20240077189A KR 20240077189 A KR20240077189 A KR 20240077189A KR 1020220159422 A KR1020220159422 A KR 1020220159422A KR 20220159422 A KR20220159422 A KR 20220159422A KR 20240077189 A KR20240077189 A KR 20240077189A
Authority
KR
South Korea
Prior art keywords
mask
box
threshold
artificial intelligence
sensitivity
Prior art date
Application number
KR1020220159422A
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 KR1020220159422A priority Critical patent/KR20240077189A/ko
Publication of KR20240077189A publication Critical patent/KR20240077189A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • G06T5/75Unsharp masking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • 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
    • 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)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법으로, 영상 프레임중 기설정된 확신도에 따라 프레임 중 객체박스를 분할하는 단계; 영상 프레임간 비교를 통하여 상기 기설정된 확신도를 업데이트하는 단계; 상기 업데이트되 확신도에 따라 상기 객체박스를 업데이트하여 출력하는 단계; 및 상기 출력된 객체박스에 마스크를 생성하는 단계; 를 포함하는 것을 특징으로 하는, 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법이 제공된다.

Description

객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법 및 이를 위한 시스템{ Artificial intelligence-based masking method using object detection and segmentation model and system therefor}
본 발명은 마스킹 방법 및 이를 위한 시스템에 관한 것으로, 보다 상세하게는 딥러닝 객체식별, 객체분리 기술을 이용하여 분류 영상 내 비식별화가 필요한 정보를 안정적으로 실시간 비식별화 처리할 수 있는 마스킹 방법 및 이를 위한 시스템에 관한 것이다.
CCTV와 같은 카메라를 이용한 감시, 영상 저장은 특정 구역의 보안과 안전을 위해 꼭 필요한 기술이다. 그리고 그와 동시에 이러한 감시와 녹화영상에 의한 개인정보의 보호 또한 동시에 해결해야 할 문제이다. 최근에는 개인정보 보호 등을 위해 영상 속 인체, 안면, 차량번호 등의 영역에 블러, 모자이크 등 비식별화 마스킹 처리를 하는 기술이 있다.
기 녹화된 영상의 경우 처리속도로 인한 문제가 없으며 사후보정을 통해 누락된 대상을 처리하여 빠짐없이 비식별화할 수 있다. 하지만 이 경우 처리를 위해 원본을 노출해야하는 문제와 실시간 감시에 이용하는 것이 불가능하다는 문제가 있다.
따라서, 영상내 비식별화가 필요한 객체와 객체의 영역을 자동으로 인식하여 처리하면 원본의 노출 방지와 실시간성의 두가지 요구사항을 만족시킬 수 있다.
기존의 처리 방법 중 하나는 영상을 전경과 배경으로 분리하여 전경에 해당하는 모든 객체를 비식별화가 필요한 것으로 규정해 마스킹 하는 것이었다. 픽셀값을 바탕으로 프레임 간 변화가 있는 영역은 전경, 고정된 영역은 배경으로 인식해 전경을 비식별화하는 기술이 사용된다. 이는 움직임이 있는 객체는 잘 탐지하지만 정지해있는 객체는 미탐하여 비식별화하지 않고, 또 움직이는 배경에 대해서는 쓰일 수 없다는 단점이 있어 고정된 배경에 대한 이동 객체 마스킹으로만 쓸 수 있다.
최근에는 딥러닝을 이용한 객체검출(object detection), 혹은 객체분할(instance segmentation) 등의 기술을 이용하여 비식별화가 필요한 객체를 이동 여부와 상관없이 식별하고 그 영역을 마스킹할 수 있다.
객체 검출은 이미지에서 특징을 추출해 이를 바탕으로 대상 객체가 존재하는 위치와 각 위치에서의 대상에 대한 박스 확신도(box confidence. 해당 박스 내 이미지가 원하는 대상일 확률)를 출력해내도록 학습된 딥러닝 신경망 모델을 이용한다. 신경망 모델의 출력은 객체의 종류와 위치정보, 확신도 등의 속성을 가지고 있는 박스이고 모델의 설계 시 정해진 수가 출력된다. 일반적으로 동일 객체에 대해 중복되는 박스가 검출되고 이들 중 가장 정확한 것을 골라내기 위한 후처리 과정으로 NMS (non-maximum suppression) 단계가 있다. NMS 단계에서는 확신도가 일정한 문턱값(threshold) 이하인 출력을 제거하며 IoU (intersection over union) 등의 정보를 이용하여 동일 객체에 대해 중복된 출력을 하나로 융합한다.
객체 분할 모델은 영상 내 특정 종류의 객체를 탐지하며 해당 객체의 영역에 해당하는 픽셀을 분리하는 기능을 한다. 구조적으로 객체 검출 기능을 포함하며 검출한 박스 영역 내 각 픽셀 별로 객체에 속하는지 여부를 0-1 사이의 확신도로 출력한다. 이에 문턱값을 설정하여 영상 내 특정 객체 영역에 대한 이진 마스크를 생성할 수 있다. 객체분할 모델에 포함된 객체검출 기능도 객체 영역의 박스를 얻기 위해 NMS 과정을 사용한다.
딥러닝 객체분할 모델을 마스킹에 이용하면 입력 프레임과 배경과의 차이를 이용한 마스킹과는 달리, 객체의 움직임 여부와 상관없이, 원하는 종류의 대상을 마스킹할 수 있다는 장점이 있다. 즉, 단순히 동적변화를 바탕으로 전경-배경을 분리하는 방식에서는 누락되던 정지 객체를, 딥러닝 객체 분할 모델에서는 탐지가 가능한 이점이 있다.
이러한 딥러닝 모델은 내재된 학습의 불완전성에 의해 누락되는 대상이 발생하는 문제나 성능을 위해 복잡한 모델을 사용하는 경우 빠른 처리가 어렵다는 문제점이 있다.
일부 마스킹 시스템은 이를 보완하기 위해 인접 프레임의 마스크를 융합하여 이용한다. 특정 프레임의 마스크가 누락 되더라도 이전 혹은 이후 프레임의 마스크를 사용하여 대상 객체의 일부를 가리는 마스크를 생성하는 방법이다.
이 방법은 해당 프레임의 마스크가 누락된 상황에서 인접 프레임의 마스크로 실제 대상의 일부와 함께 주변을 마스킹하여 마스크 품질의 한계가 있으며 미세한 보완과 조절이 불가능하며 전후 프레임 수의 조절만 가능한 한계가 있다.
객체 분할 모델 등을 이용해 생성된 마스크를 영상에 적용하여 비식별화하는 방법으로는 색상 마스킹, 블러/모자이크 처리, 투명 마스크 등이 있다. 색상 마스킹은 대상의 위치에 단일 색상을 덮어 씌워 완전히 비식별 처리하는 방법으로 배경에 대한 정보도 사라져 감시 영역의 상황 파악이 어려운 단점이 있다. 통상적인 블러/모자이크는 대상의 해상도를 낮추어 식별을 어렵게 하는 방법으로 완전한 비식별화는 아니다. 투명 마스크는 인용된 특허 문서 4,5등에서 언급됐듯이 전체, 혹은 일부 투과성을 가져 뒷 배경이 보이는 마스크인데 영상 내 마스크 영역을 배경 정보로 대치하여 정확한 상황 모니터링이 가능하면서도 객체 정보를 완전히 가려준다는 장점이 있다. 마스크 영역의 픽셀에 색상 및 투과율 등에 변화를 주어 다양한 형태로 구현할 수 있다.
투명마스크 구현에는 마스킹 영역에 적용할 배경 이미지의 생성이 필수적이다. 대상체가 없는 환경에서 고정된 배경 이미지를 획득하여 그 위에 마스킹 영역을 표시하는 방법과 영상 내 마스크 영역에 이 배경 이미지가 투과되도록 해주는 방법이 있지만 전자는 영상 영역의 상황 변화를 감지할 수 없고, 후자는 투과되는 배경의 상황 변화를 반영할 수 없다. 그리고 배경이 전경에 비해 상대적으로 변화가 없는 점을 이용하여 동영상 내 여러 프레임을 시간축에 대해 평균을 내거나 영상 변화로부터 전경-배경을 분리하여 사용하는 방법이 있다. 이 경우 배경이 아님에도 정지상태이거나 움직임이 적은 객체가 배경에 포함되는 문제가 있다.
인용된 특허문서 5와 같이 입력되는 영상의 마스크 부분을 제외하고 나머지 부분을 배경으로 생성하여 사용하는 방법이 있다. 이 경우에는 대상 식별이 누락되어 마스크 영역이 불완전한 상황에서 대상이 배경에 포함되어 노출되는 문제가 발생할 수 있다.
마스크 누락의 경우에 대비해 이동 객체 마스킹과 객체 분할 마스킹를 복합 적용하여 갱신제외영역을 설정하고 배경을 갱신하는 방법이 있다. (특허문서 6). 제외 영역으로 설정된 부분에 대해서는 갱신 시간을 지연시키는 등 추가 안전 장치를 고안하기도 했다. 이 방법은 배경 갱신에 필요한 시스템 자원 요구량이 크고 배경의 갱신 속도가 지연되어 배경 갱신에 사용되는 이동 객체의 마스킹 성능을 저하시킬 수 있다.
이상 상술한 문제점을 정리하면 다음과 같다.
1. 일반적인 객체분할 모델의 검출 누락 문제
일반적인 영상 AI 객체분할 모델은 내부에 객체검출 모델을 포함한다. 대상객체를 먼저 검출한 후 내부에 객체영역을 분할하거나 대상에 해당하는 영역을 마스크한 후 별도로 탐지된 객체영역 박스로 영역을 제안하는 방식을 사용한다.
객체 검출 모델은 입력 영상을 프레임별로 처리하여 대상 객체의 박스 영역 정보를 확신도와 함께 출력한다. 모델을 통해 1차적으로 출력된 박스 영역의 정보는 NMS 처리과정을 거쳐 특정 객체에 가장 적절한 것으로 선택되며 객체 분할 모델은 추가로 박스 영역 내의 해당 대상 영역의 확신도를 픽셀별로 출력한다. 해당 박스 안 특정 픽셀의 확신도가 사전에 설정된 일정한 문턱값(threshold) 이상인 경우 객체의 영역으로 분류된다. NMS 처리과정에서 초래된 객체 박스 누락은 객체 분할 모델의 픽셀의 확신도에 상관없이 마스크 누락으로 이어진다.
NMS 단계에서 박스 누락은 크게 두 가지 경우에 발생한다. 첫째, 심하게 겹쳐진 대상 객체들이 등장하는 경우 IoU 계산에서 일부분이 가려진 객체가 억제되는 경우가 발생한다. 둘째, 모델 학습이 불완전하거나 생소한 환경에서 객체 박스 영역의 확신도가 낮아지는 경우가 있다. 전자의 경우 IoU의 문턱값을 정밀하게 제어하거나 soft NMS를 써서 첫번째 오류 가능성을 줄일 수 있다. 두번째 경우에도 확신도 문턱값을 낮춰 억제되는 박스를 줄일 수 있지만, 오탐 발생이 증가되어 결국 마스크 품질 저하를 초래한다.
특히 본 발명은 두번째 문제에 대한 해결 방법을 제공하며, 또한 후에 첫번째 문제에 대해서도 IoU 문턱값을 감도 변수와 연결시켜 조절할 수 있는데, 이는 이하 설명한다.
본 발명은 더 나아가 전후 프레임의 마스크와 현재 프레임의 마스크를 단순히 더하여 합성하는 방법의 단점을 보완하여 객체분할 모델로부터 마스크를 생성하는 새로운 방식을 제안한다.
2. 객체분할 모델을 이용한 투명 마스크 구현의 필요
실시간 투명 마스킹을 구현하기 위해서는 상시로 대상 객체가 없는 영역을 수집해 배경을 갱신해야 하는데 대상 객체가 미탐되어 대상객체가 생성된 배경에 포함되는 경우가 발생할 수 있다. 이 경우 대상 객체가 탐지됨에도 기존 생성된 배경에 남아있는 대상 객체의 이미지 때문에 객체가 노출된다. 대상 객체의 미탐 발생을 최소화하는 것이 문제의 근본적인 해결책이지만 딥러닝 모델의 특성상 미탐의 발생을 완벽하게 억제하는 것은 불가능하다.따라서 순간적인 미탐이 발생하는 경우에도 비식별화 기능이 유지되고, 실시간 처리를 위해 최소한의 시스템 자원을 이용하는 배경 생성 및 갱신 방법이 필요한데, 본 발명은 이러한 배경 생성과 갱신이 가능한 방법과 시스템을 제공한다
3. 사용자 친화적인 UI - 민감도 설정의 자유도 필요
종래의 경우 적응되지 않은 환경이나 과다하게 적응된 환경에 대응하여 여러 방법 속 문턱값들을 변화시켜 마스킹 성능을 미세 조절하기 어려웠으며, 다는 것이를 적절히 조정하기 위해서는 각각의 문턱값에 대한 지식과 정보가 필요하다는 어려움이 있다. 또한, 일부 확신도 문턱값은 객체 검출 감도와 반비례 관계에 있지만 또 다른 문턱값은 감도와 비례 관계에 있다. 따라서 사용자의 편의를 위해 감도와 여러 문턱값에 대한 적절한 자동 변환 공식과 이를 적용한 UI가 필요하며, 각 확신도의 역할에 따라 비례와 반비례 성격이 결정된다.
1. 미국등록특허 US 10595060 B2 2. 한국등록특허 KR 10-1928858 B1 3. 미국공개특허 US 2018-0359449 A1 4. 일본공개특허 JP 2009-225398 A 5. 일본공개특허 JP 2017-011759 A 6. 한국공개특허 10-2019-0010438
따라서, 본 발명이 해결하고자 하는 과제는 상술한 문제를 해결할 수 있는 마스킹 방법 및 이를 위한 시스템을 제공하는 것이다.
상기 과제를 해결하기 위하여, 본 발명은 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법으로, 영상 프레임중 기설정된 확신도에 따라 프레임 중 객체박스를 분할하는 단계; 영상 프레임간 비교를 통하여 상기 기설정된 확신도를 업데이트하는 단계; 상기 업데이트되 확신도에 따라 상기 객체박스를 업데이트하여 출력하는 단계; 및 상기 출력된 객체박스에 마스크를 생성하는 단계; 를 포함하는 것을 특징으로 하는, 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법을 제공한다.
본 발명의 일 실시예에서, 상기 영상 프레임간 비교는 이전 또는 이후 프레임 또는 이 둘 다에 대하여 수행된다.
본 발명의 일 실시예에서, 상기 객체는 이동하는 객체인 경우, 상기 영상 프레임간 비교는 객체의 이동에 따라 발생하는 인접 프레임에 대하여 수행된다.
본 발명의 일 실시예에서, 상기 마스크 생성은, 인접한 두 영상의 차이를 계산하고 절대값을 취하여 기설정된 문턱값 이상의 차이가 발생한 부분을 객체박스로 출력하여, 상기 객체박스에 마스크를 생성한다.
본 발명의 일 실시예에서 상기 인공지능기반 마스킹 방법은, 인접 프레임의 픽셀별 마스크 확신도를 간단한 가중치 합으로 업데이트 시켜주며, 상기 가중치 합은 0~1사이 확신도 값을 갖는 마스크의 하기 식에 따른 픽셀별 가중치의 합이 된다.
본 발명의 일 실시예에서, 상기 방법은 상기 마스크 생성 민감도를 조절하는 단계를 더 포함하며, 상기 민감도(S)를 조절하는 단계는 상기 민감도를 문턱값(T)으로 변환하는 방식이며, 상기 문턱값(T)은 0 내지 1의 범위에서 설정되고, 상기 문턱값이 작아지면 민감도가 커져서 보다 넓은 영역을 마스킹하고 문턱값이 커지면 민감도가 작아져서 보다 작은 영역을 마스킹하는 반비례 관계이다.
본 발명의 일 실시예에서, 상기 문턱값으로 변환되는 민감도는 하기 식에 의하여 계산된다.
(여기에서 S는 민감도, T는 문턱값이며, T O 는 기설정된 문턱값의 최적치, T max T min 은 문턱값 범위 최대 및 최소값임)
본 발명에서는 AI 객체 분할 모델을 이용한 마스킹 시 마스크 누락 방지 방법을 제공하여 딥러닝 모델 사용시의 단점을 보완한다. 또한, 본 발명은 AI 객체 분할을 이용하여 투명 마스크 구현시에 필요한 배경 생성-갱신 방법을 제공하며, 본 발명에서 제안하는 방법은 일시적인 모델의 오류에 의해 마스크 누락의 경우에도 비식별화 대상이 노출되지 않도록 설계되며 동시에 적은 양의 연산만을 필요로 하여 실시간 마스킹에 적용이 가능하다. 더 나아가, 사용자의 편의와 적용 환경에 따른 조절의 필요에 대응하여 미세 조정이 가능하며, 본 발명에 따른 방법을 조합하여 실시간으로 영상이 발생하는 CCTV 등의 환경에서 작동할 수 있다.
도1은 본 발명의 실시간 마스킹 시스템의 구조도이다.
도2는 현재 프레임에 대한 일반 NMS 후처리 과정과 이전 프레임 이용 박스 확신도 업데이트 적용된 NMS 후처리 과정을 비교 설명하기 위한 그림으로, 윗 줄은 이전 프레임에서의 최종 검출 박스, 아랫줄은 현재 프레임을 나타낸다.
도3은 이전 프레임 최종 박스 B -1 와 미래의 NMS 결과 N 1 을 이용한 NMS 결과 박스 N 0 의 박스 확신도 업데이트 과정을 보여주는, 이미지에 따른, 그리고 시간에 따른 순서도이다.
도4는 현재 프레임에 대해 이전 프레임 이용 박스 확신도 업데이트와 이후 프레임 이용 박스 확신도 업데이트를 적용해 최종 검출 박스 B 0 를 얻는 과정을 설명하는 그림. 맨 윗 줄은 이전 프레임에서의 흐름, 가운데는 현재 프레임, 아랫줄은 이후 프레임을 나타낸다.
도5는 인접 프레임의 차를 이용한 박스 확신도 업데이트 설명을 위한 그림. 인접 프레임 Img1과 Img2속 인물이 이동했음을 보여준다.
도6은 인접 프레임의 픽셀별 값의 차이를 이용해 생성한 이진 마스크를 보여주는 그림이다.
도7은 도6의 그림 속 박스 A와 이진 마스크와의 겹치는 정도를 보여주는 그림으로 작은 네모 하나하나가 픽셀 하나를 나타낸다
도8은 가중치 0.3, 0.8, 0.5가 곱해진 이전 프레임 마스크(-1), 현재 프레임 마스크(0), 이후 프레임 마스크(1)의 픽셀별 확신도를 더해준 것을 보여준다. 그림 속 마스크의 진하기는 확신도를 반영한다.
도9는 이전 프레임 마스크(-1), 현재 프레임 마스크(0), 이후 프레임 마스크(1)를 이진 마스크로 만든 후 세 마스크의 영역을 합해준 것을 보여주는 그림이다.
도10은 현재, 이후 프레임에서 마스크 누락이 일어났으나 이전 프레임 마스크에 의해 대상이 가려진 것을 보여주는 그림이다.
도11은 마스크 업데이트 문턱값을 조절할 때의 효과를 보여주는 그림이다.
도12는 세로로 나눈 분할 영역을 6번에 걸쳐 나누어 갱신하는 방법에 대한 그림이다.
도13은 움직임이 없는 객체에 대해 중간에 마스크 누락이 있었을 경우 본 발명의 일 실시예에 대한 노출 정도를 보여주는 그림이다.
도14는 또다른 배경 분할에 의한 배경 업데이트. 시간에 따라 갱신된 총 영역을 보여준다.
도15는 값이 커질수록 감도가 낮아지는 문턱값에 대한 함수이다.
도16은 값이 커질수록 감도가 높아지는 문턱값에 대한 함수이다.
도17은 본 발명의 마스킹 소프트웨어가 사용하는 UI의 기본 구조이다.
이하, 첨부한 도면을 참고로 하여 본 발명의 바람직한 실시예에 대하여 상세히 설명하면 다음과 같다.
본 발명을 상세하게 설명하기 전에, 본 명세서에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 무조건 한정하여 해석되어서는 아니되며, 본 발명의 발명자가 자신의 발명을 가장 최선의 방법으로 설명하기 위해서 각종 용어의 개념을 적절하게 정의하여 사용할 수 있다.
더 나아가 이들 용어나 단어는 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 함을 알아야 한다.
즉, 본 명세서에서 사용된 용어는 본 발명의 바람직한 실시예를 설명하기 위해서 사용되는 것일 뿐이고, 본 발명의 내용을 구체적으로 한정하려는 의도로 사용된 것이 아니다.
이들 용어는 본 발명의 여러 가지 가능성을 고려하여 정의된 용어임을 알아야 한다.
또한, 본 명세서에 있어서, 단수의 표현은 문맥상 명확하게 다른 의미로 지시하지 않는 이상, 복수의 표현을 포함할 수 있다.
또한, 유사하게 복수로 표현되어 있다고 하더라도 단수의 의미를 포함할 수 있음을 알아야 한다.
본 명세서의 전체에 걸쳐서 어떤 구성 요소가 다른 구성 요소를 "포함"한다고 기재하는 경우에는, 특별히 반대되는 의미의 기재가 없는 한 임의의 다른 구성 요소를 제외하는 것이 아니라 임의의 다른 구성 요소를 더 포함할 수도 있다는 것을 의미할 수 있다.
더 나아가서, 어떤 구성 요소가 다른 구성 요소의 "내부에 존재하거나, 연결되어 설치된다"고 기재한 경우에는, 이 구성 요소가 다른 구성 요소와 직접적으로 연결되어 있거나 접촉하여 설치되어 있을 수 있다.
또한, 일정한 거리를 두고 이격되어 설치되어 있을 수도 있으며, 일정한 거리를 두고 이격되어 설치되어 있는 경우에 대해서는 해당 구성 요소를 다른 구성 요소에 고정 내지 연결시키기 위한 제 3의 구성 요소 또는 수단이 존재할 수 있다.
한편, 상기 제 3의 구성 요소 또는 수단에 대한 설명은 생략될 수도 있음을 알아야 한다.
반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결"되어 있다거나, 또는 "직접 접속"되어 있다고 기재되는 경우에는, 제 3의 구성 요소 또는 수단이 존재하지 않는 것으로 이해하여야 한다.
마찬가지로, 각 구성 요소 간의 관계를 설명하는 다른 표현들, 즉 " ~ 사이에"와 "바로 ~ 사이에", 또는 " ~ 에 이웃하는"과 " ~ 에 직접 이웃하는" 등도 마찬가지의 취지를 가지고 있는 것으로 해석되어야 한다.
또한, 본 명세서에 있어서 "일면", "타면", "일측", "타측", "제 1", "제 2" 등의 용어는, 하나의 구성 요소에 대해서 이 하나의 구성 요소가 다른 구성 요소로부터 명확하게 구별될 수 있도록 하기 위해서 사용된다.
하지만, 이와 같은 용어에 의해서 해당 구성 요소의 의미가 제한적으로 사용되는 것은 아님을 알아야 한다.
또한, 본 명세서에서 "상", "하", "좌", "우" 등의 위치와 관련된 용어는, 사용된다면, 해당 구성 요소에 대해서 해당 도면에서의 상대적인 위치를 나타내고 있는 것으로 이해하여야 한다.
또한, 이들의 위치에 대해서 절대적인 위치를 특정하지 않는 이상은, 이들 위치 관련 용어가 절대적인 위치를 언급하고 있는 것으로 이해하여서는 아니 된다.
더욱이, 본 발명의 명세서에서는, "…부", "…기", "모듈", "장치" 등의 용어는, 사용된다면, 하나 이상의 기능이나 동작을 처리할 수 있는 단위를 의미한다.
이는 하드웨어 또는 소프트웨어, 또는 하드웨어와 소프트웨어의 결합으로 구현될 수 있음을 알아야 한다.
본 명세서에 첨부된 도면에서 본 발명을 구성하는 각 구성 요소의 크기, 위치, 결합 관계 등은 본 발명의 사상을 충분히 명확하게 전달할 수 있도록 하기 위해서 또는 설명의 편의를 위해서 일부 과장 또는 축소되거나 생략되어 기술되어 있을 수 있고, 따라서 그 비례나 축척은 엄밀하지 않을 수 있다.
또한, 이하에서, 본 발명을 설명함에 있어서, 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 구성, 예를 들어, 종래 기술을 포함하는 공지 기술에 대한 상세한 설명은 생략될 수도 있다.
본 발명에서는 AI 객체 분할 모델을 이용한 마스킹 시 마스크 누락 방지 방법을 제공하여 딥러닝 모델 사용시의 단점을 보완한다. 또한, 본 발명은 AI 객체 분할을 이용하여 투명 마스크 구현시에 필요한 배경 생성-갱신 방법을 제공하며, 본 발명에서 제안하는 방법은 일시적인 모델의 오류에 의해 마스크 누락의 경우에도 비식별화 대상이 노출되지 않도록 설계되며 동시에 적은 양의 연산만을 필요로 하여 실시간 마스킹에 적용이 가능하다.
더 나아가, 사용자의 편의와 적용 환경에 따른 조절의 필요에 대응하여 미세 조정이 가능하며, 본 발명에 따른 방법을 조합하여 실시간으로 영상이 발생하는 CCTV 등의 환경에서 작동할 수 있도록 고안된 소프트웨어와 이에 의하여 구동되는 시스템을 제공하는데, 본 발명에서는 상기 제기된 문제의 해결을 위해 아래와 같은 방법을 이용한다.
1, 객체분할 모델을 이용한 마스크 생성시 마스크 누락 개선 방법
상술한 객체 분할 모델이 갖고 있는 마스크 누락 문제 해결을 위해 다음과 같은 방법으로 해결한다.
1) 인접 프레임의 객체 박스 검출 결과를 이용한 박스 확신도 업데이트
기존의 모델을 단순히 이용하는 경우 프레임별로 처리된 객체 검출 또는 객체 분할 모델 결과를 통해 프레임별로 마스킹하여 누락이 발생하는 경우가 있다.
본 발명은 낮은 확신도의 박스에 대해서, 대상의 박스 검출 실패에 의한 마스크 누락 문제는 인접 프레임에서 얻어진 객체 박스 검출 결과를 조합하여 확신도를 업데이트하여 해결하며, 인접 프레임들의 맥락정보를 통해 박스 확신도를 개선하는 방법을 제시한다.
즉, 일시적으로 특정 객체 박스의 확신도가 낮아져 탐지가 누락되는 경우에 이전 혹은 이후 프레임에서 대상의 탐지 결과를 반영한 가중치를 부여하여 최종 확신도를 증가시켜 해당 객체 박스의 탐지가 누락되는 상황을 개선하며, 보다 구체적으로 동영상 내 연이은 프레임들이 객체 검출, 및 분할 모델을 통과하며 출력한 박스들을 서로 비교해, 거기에서 얻은 정보로 박스 확신도를 업데이트하는 것이다.
객체 탐지 박스의 확신도를 개선하기 위한 이전 프레임 검출 결과를 이용한 업데이트는 독립적으로 쓰일 수도 있고 이후 프레임 검출 결과를 이용한 업데이트와 함께 쓰일 수도 있다. 본 발명에서는 이전 프레임 박스 검출 결과를 이용하는 방법과, 전후 프레임의 박스를 함께 이용하는 방법을 모두 제공한다.
추가적으로 본 발명에서 제시한 전후 프레임 동시 이용의 순서도에서 이전 프레임에 의한 업데이트를 빼면 이후 프레임만 이용한 업데이트 역시 구현이 가능하다.
2) 객체의 이동에 따른 프레임 간의 차이를 이용한 박스 확신도 업데이트
영상 내 이동하는 객체의 경우 이미지가 객체 검출 및 분할 모델을 통과하기 전, 객체의 이동에 따라 발생하는 인접 프레임 간 차이로부터 박스 확신도를 업데이트하는 방법을 사용한다. 인접한 두 프레임 간의 차이를 통해 이동하는 대상의 영역을 탐지하고 해당 영역에서 검출된 박스의 확신도를 증가시켜 주는 방법이다. 좀 더 구체적으로는 다음과 같이 적을 수 있다. 먼저 인접한 두 영상의 차이를 계산하고 절대값을 취하여 적당한 문턱값 이상의 차이가 발생한 부분을 이진 마스크로 생성할 수 있다. 해당 영역과 일정 비율 이상 겹치게 탐지된 박스에 대해서 확신도를 업데이트한다. 이 방법을 이용하면 영상 내에서 변화가 있는 모든 대상이 검출되는 것을 방지하며 탐지 대상에 대해서만 확신도를 증가시켜 누락되는 문제에 대응할 수 있다.
3) 인접 프레임의 분할 모델 결과를 이용한 픽셀 별 마스크 확신도 업데이트
위의 방법들은 모두 박스 확신도를 업데이트시켜 박스 누락을 막고 더불어 마스크 누락을 막는 방법이다. 여기에 인접 프레임의 픽셀별 마스크 확신도를 간단한 가중치 합으로 업데이트 시켜주는 방법을 추가적으로 제시한다. 이전 혹은 이후 프레임의 박스들을 이용한 박스 확신도 업데이트는 현재의 박스 확신도를 높이는데 도움을 주지만 그럼에도 불구하고 박스가 누락되는 경우나 분할 모델의 결과로 얻어진 마스크의 품질이 불량한 경우가 발생할 수 있기 때문이다.
기존 방법은 인접 프레임의 이진 마스크 합집합을 이용하는 것인 반면, 본 발명에서는 0~1사이 확신도 값을 갖는 마스크의 가중치 합을 이용한다.
즉, 가중치를 a(-1),a(0),a(1)라 놓고 각각의 0~1사이 마스크를 Mask(-1),Mask(0),Mask(1)이라 놓으면 a(-1)Mask(-1)+a(0)Mask(0)+a(1)Mask(1)이 가중치의 합이 된다.
이는 현재 마스크가 누락됐을 때에도 전후 마스크를 이용해 부분적으로라도 마스킹이 되게 한다는 기존의 장점 외에도, 겹쳐지는 부분에서도 확신도가 증가해, 감도 조절을 통해 현재 마스크만 남기는 경우에도, 보다 안정적인 마스크를 생성한다.
2. 객체 갱신영역분할을 이용한 투명 마스크 배경 갱신 방법
본 발명에서는 객체 분할 모델을 이용한 투명 마스킹 구현 시에 마스크 누락이 야기할 수 있는 문제를 해결하기 위한 방법으로 배경을 여러 영역으로 분할하여 갱신하는 방법을 제시한다. 객체분할모델을 이용하여 단순히 객체 영역에 해당하지 않는 부분만 배경으로 생성하는 방법은 객체탐지 및 객체분할모델의 오류가 발생하는 경우 객체 영역이 배경으로 포함되어 노출되는 경우가 있다. 다음과 같은 배경 갱신 방법을 통하면 마스크 누락이 발생하는 경우에도 대상 전체가 배경에 포함되는 것을 억제할 수 있다.
먼저, 전체 화면 영역을 n개의 영역, A1,A2,...,An으로 분리한다. 객체 분할 모델의 출력을 이용하여 객체 영역에 포함되지 않는 부분을 탐지하고 순차적으로 A1부터 An까지 객체영역에 속하지 않는 부분에 한하여 새로운 배경으로 갱신한다. 이 과정을 계속 반복하여 실행하면 순차적으로 배경 영역을 갱신하게 된다. 이 방법을 사용하면 일시적으로 객체 영역 탐지가 누락되어 배경에 포함되더라도 대상 객체의 1/n 이하로 노출된다. 객체영역 탐지의 오류가 발생하는 확율에 따라 영역의 개수 n을 조절하면 배경의 갱신 속도를 희생하여 원하는 수준의 안전성을 확보할 수 있다. 그리고 한 번에 제외영역 전체를 갱신하는 방법보다 적은 연산량을 필요로 하여 실시간으로 구현하기에 유리한 장점이 있다.
3. 마스킹 감도 사용자 조작 방법
마지막으로, 위 방법들을 갖춘 소프트웨어에서 하나의 변수를 통해 상황에 따라 마스킹 감도를 쉽게 조절할 수 있는 감도 함수를 정의한다. 이 같은 함수를 이용하면 사용자의 편의를 위해 하나의 변수로 마스킹 감도를 조절할 수 있다.
위에서 나온 박스 확신도 업데이트, 마스크 확신도 업데이트 등, 여러가지 업데이트 방법이 쓰일 경우 사용자에게는 문턱값 등의 여러 변수 조절이 어려울 수 있다. 따라서 감도 조절을 위한 변수 통합을 위해 본 발명에서는 여러 요인이 있는 소프트웨어의 감도 조절 시 각 변수의 권장값, min, max값을 이용해 여러 요인들을 통합해서 조절하는 방법을 제시한다.
보다 구체적으로, 확신도 문턱값과 같이 값이 낮아질수록 더 많은 객체 혹은 더 넓은 범위를 마스킹하는 변수의 경우, 감도 S와 문턱값 변수 T가 반비례관계이다. 사용자의 조작성을 위해 감도 0.5가 최적의 문턱값에 대응되도록, 0≤S≤0.5에서는 (S,T)=(0,max)와 (0.5,권장값)을 잇는 선형 함수, 0.5<S≤1에서는 (1,min)과 (0.5,권장값)을 잇는 선형함수로 정의한 부분 선형함수(piecewise linear function)으로 표현해 감도 S를 입력값으로 받아 변수 T를 계산할 수 있다.
반면 IoU 문턱값과 같이 값이 높아질 수록 더 많은 객체를 마스킹하는 변수 TI는, 감도와 변수가 비례관계이다. 이런 경우 감도S를 입력값으로 받아 0≤S≤0.5에서는 (S,TI)=(0,min)과 (0.5,권장값)을 잇는 선형 함수, 0.5<S≤1에서는 (1,max)와 (0.5,권장값)을 잇는 선형함수로 정의한 함수를 해당 변수를 출력값으로 갖는 함수로 놓고 입력받은 감도S에 대해 각 변수TI에 대응되는 함수값을 구해서 적용시켜주면 된다. 문턱값이 커질수록 더 마스킹을 잘하면 (즉, 감도가 높으면) 비례이고 아니면 반비례가 되고,TI도 입력변수는 S이다. (TI= T(threshold)+I(IoU))
감도가 높으면 보다 많은 영역이나 객체가 마스킹되고 감도가 낮으면 보다 적은 영역이나 객체가 마스킹된다. 이때 문턱값을 낮춤으로써 보다 많은 영역/객체가 마스킹되면(즉, 감도가 높아지면) 반비례, 문턱값을 높임으로써 보다 많은 영역/객체가 마스킹되면 (즉 감도가 낮아지면) 비례관계가 되는데, 이는 각 확신도의 역할에 따라 비례와 반비례 성격이 결정된다.
보다 자세한 설명은 발명을 실시하기 위한 구체적인 내용에서 제시한다.
본 발명의 일실시예로 구현된 소프트웨어는 입력된 영상을 객체 분할 모델로 처리한 결과물을 이용하여 이진 마스크를 생성하고, 원본 영상에 다양한 방식으로 비식별화하는 처리하여 출력하는 기능을 가진다. 투명마스크를 구현하기 위한 배경 생성 기능과 각 기능을 사용자가 손쉽게 조절하기 위한 UI 설계를 포함한다.
도 1은 본 발명의 일 실시예에 따른 인공지능 기반 실시간 마스킹 방법을 구현하기 위한 시스템의 구조도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 인공지능 기반 실시간 마스킹 방법을 구현하기 위한 시스템과 이를 구현하는 소프트웨어는, 마스크 생성부(도 1(a))와 마스킹 처리부(도 1 (b)), 그리고 이들의 각 기능을 제어하는 제어부(도 1(c))가 있다.
마스크 생성부(1(a))는 입력 영상을 객체 검출 및 분할 모델로 처리한 결과를 이용하여 이진 마스크를 출력하는 부분이다. 인접 프레임의 정보를 이용하여 박스 확신도를 개선하는 방법 및 분할 모델을 이용해 확신도를 개선하는 기능 또한 수행할 수 있다.
마스크 처리부(1(b))는 원본 영상프레임과 마스크 생성부의 출력으로 나오는 마스크를 입력받아 원본의 영상프레임에 마스크 처리를 하는 부분이다. 제어부로부터 마스크 패턴과 방식, 감도 설정 등의 옵션값을 전달받아 마스크 처리방식을 결정하며, 투명마스크 적용을 위한 배경생성부 또한 포함한다.
제어부(1(c))는 마스크 생성부와 마스크 처리부의 동작 방식을 결정하는 다양한 옵션들, 예를 들어 마스크 패턴, 감도 등을 선택, 조절하는 기능부이다.
뒤이어, 각 부분에 대한 보다 구체적인 설명과 함께 본 발명이 각각에 대해 고안하는 새로운 방법들을 일 실시예를 들어 자세히 설명한다.
1) 마스크 생성부
마스크 생성부는 입력영상을 프레임 별로 객체 검출 및 객체 분할 모델로 처리하여 마스킹 대상 객체에 대한 박스 및 영역 탐지를 수행한다.
객체 검출 및 객체 분할 모델의 처리 결과를 일정한 시간 동안 시스템의 버퍼(미도시)에 저장하여 이후 프레임의 최종 마스크 생성에 사용한다.
본 발명에서는 프레임 별 처리 뿐 아니라 객체 검출의 누락에 의한 마스크 누락을 방지하기 위해 이전 및 이후 프레임의 박스와 확신도의 검출 결과를 이용하여 동일 위치에서 탐지된 해당 객체의 확신도를 높여준다.
이를 보다 상세히 설명하면 다음과 같다.
이전 프레임의 처리결과를 이용하는 경우는 동일위치에서 탐지된 객체 검출 박스의 확신도를 높이기 위해 기존 설정된 문턱값(sTh2)보다 낮은 문턱값(sTh1)을 적용하고 NMS(비최대억제, Non-maximum Suppression)) 알고리즘을 통해 누락되는 객체를 포함시키고 중복된 박스를 제거하는 과정을 거친다.
여기서 검출된 박스에 대해 이전 프레임의 확신도를 적당한 공식으로 가중치를 부여하여 확신도를 업데이트한다. 이후 별도로 설정한 높은 문턱값 sTh2'을 적용하여 이보다 낮은 확신도를 가진 박스는 제거한다.
이하, 본 발명의 일실시예를 다음과 같은 표기를 이용해 설명한다. 객체 검출부를 통과해 나온 박스들 중 1차적으로 낮은 박스 확신도 문턱값 sTh1을 적용한 박스들을 M으로 표기하고 (예:M -1 , M 0 , M 1 ...), M에 NMS 적용해 중복을 제거한 박스들은 N을 이용해 표기한다(예. N -1 , N 0 , N 1 ). 그리고 편의상 sTh2'=sTh2로 놓고, 최종 박스들은 B를 이용해 표기한다. (예:B -1 , B 0 , B 1 ...) 또한 박스 확신도 업데이트가 한 번 적용될 때마다 박스들에 작은 따옴표(')를 하나씩 붙여준다. (예:N 0' )
또한 위의 M 0, N 0 , B 0 등은 모두 박스와 그에 대응되는 박스 확신도값이 묶인 것들이다. 또한 N, B, M에 붙는 -1,0,1은 각각 이전 프레임(T=-1), 현재 프레임(T=0), 이후 프레임(T=1)을 뜻한다.
일 실시예의 도면2(a)를 보면 처음부터 sTh2적용시 이전 프레임 도 2(g)의 박스 C가 현재 프레임에서 부족한 확신도로 인해 NMS 적용 이전에 누락되고, 따라서 후처리 후 최종 검출박스에서도 누락되는 경우를 보여준다.
한편 도 2(b)에서는, 낮은 확신도를 갖는 박스를 누락시키는 문턱값 적용과는 달리 NMS 적용은 중복박스를 누락시킬 뿐이므로, 1차적으로 낮은 문턱값 sTh1를 통해 살아남은 박스들(도 2(j)) 중 sTh2보다 낮은 확신도의 박스들은 NMS 적용에서도 중복만 걸러진다(도 2(k)).
이때 남은 박스들 중 확신도는 낮지만 이전 프레임의 박스(도 2(g))와 겹쳐지는 박스는 아래 수식 (1)에 따라 박스 확신도 업데이트를 받는다(도 2(e)).
(1)
여기에서 은 각각 현재 프레임의 NMS직후의 박스들 (N o ) 1, 2, 3, 4과 이전 프레임의 최종 박스들 (B-1), A,B,C에 대한 박스 확신도이고, 여기서의 박스 C는 이전 프레임 최종박스 B_{-1}에 포함되는 A,B,C 중 하나이며, 현재 프레임에서 누락되는 박스이다. 또한 IoU(x,y)는 박스 x와 y의 IoU를 뜻하며 는 테스트를 통해 적절한 값을 구해줄 수 있다.
는 상술한 방식으로 업데이트된 확신도 를 갖는 박스 1,2,3,4인데, 즉, 박스 1,2,3,4가 갖는 확신도가 원래 c1,c2,c3,c4였는데 이 확신도를 갖는 박스가 N 0 였다면 업데이트 후 확신도 c1',c2',c3',c4'를 갖는 박스 1,2,3,4는 N O '가 된다.
여기서는 이전 프레임의 모든 최종 박스 B -1 에 대한 IoU를 계산하고 그 값들을 더하였는데, 이와 달리 최대 IoU값을 가지는 박스에 대해서만 계산해 줄 수도 있다. 즉, 위 식을 보면 매 줄마다 모든 과거박스에 대한 IoU를 계산해 더했는데 그 중 max값을 갖는 항만 남기는 것도 가능하다.
이 업데이트로 인해 일시적으로 누락될 뻔했던 박스(도 2(l)의 박스(3))가 다시 원래 기준이 되는 문턱값 sTh2를 적용했을 때에도 누락되지 않고 남을 수 있게 된다(도 2(i),(m)). 보다 정확히는, 이전 프레임에서 같은 자리에 박스가 있었다면 이번 프레임에서도 그 자리에 박스가 있는 확률이 높을테니 iou값과 확신도로 이뤄진 저 값을 가산점처럼 더해줘 확신도를 높여줄 수 있다.
단순히 확신도 문턱값을 낮추는 경우와는 달리 일시적으로 잡힌 원치않는 객체들 (예를 들어 도 2(k)(l)의 박스(4))은 확신도 업데이트 시 값이 커지지 않아 문턱값 적용과 함께 다시 누락됨을 알 수 있다.
이전 이후 프레임 정보 동시 이용하는 방법
이전 프레임 (I -1 )과 이후 프레임 (I 1 )의 처리결과를 동시에 이용하여 누락되는 박스의 확신도를 높이는 경우, 대상 프레임 I 0 의 NMS 처리 결과 N 0 에 이전 프레임의 최종 출력 B -1 과 이후 프레임의 N 1 을 이용하여 순차적으로 업데이트한다.
도 3은 이전 프레임 최종 박스 B -1 와 미래의 NMS 결과 N 1 를 이용한 현재 NMS 결과 박스 N 0 의 박스 확신도 업데이트 과정을 보여주는, 이미지에 따른, 그리고 시간에 따른 순서도이다.
도 4는 현재 프레임에 대해 이전 프레임 이용 박스 확신도 업데이트와 이후 프레임 이용 박스 확신도 업데이트를 적용해 최종 검출 박스 B 0 를 얻는 과정을 설명하는 그림으로, 맨 윗 줄은 이전 프레임에서의 흐름, 가운데는 현재 프레임, 아랫줄은 이후 프레임을 나타낸다.
도 3 및 4를 참조하면, 대상 프레임 I 0 의 객체 검출 모델 출력에 낮은 확신도 문턱값 sTh1을 적용하여 1차적으로 객체 검출 박스 후보군 M 0 을 얻고 이후 NMS를 적용하여 중복된 박스를 제거해 N 0 (도 4(d))를 얻는다. 그 후 이전 프레임의 최종 출력 B -1 (도 4(c))를 이용하여 N 0 의 확신도를 N 0' (도 4(e))로 업데이트(N 0 →N 0' ) 하려면 그 이전에 이전 프레임 내에서 N 0 를 이용해 N -1 '(도 4(a))를 N -1 ''(도 4(b))로 업데이트 하고 여기에 문턱값 sTh2를 적용해 B -1 (도 4(c))을 구하는 과정이 선행돼야 한다. 다음으로, 이후 프레임 I 1 의 출력 객체 검출 모델 탐지 후 sTh1과 NMS를 적용하여 처리한 결과 N -1 (도 4(h))을 이용하여, N 0 ' (도 4(e))를 N 0 '' (도 4(f))로 업데이트 (N 0 'N0'') 한다. 마지막으로, 별도로 설정한 높은 문턱값 sTh2 혹은 sTh2'을 N0''에 적용하여 최종 박스 탐지결과 B 0 을 출력한다.
이전 프레임을 이용해 박스 확신도를 업데이트 했을때 썼던 공식을 이용해, 도 4 일 실시예에서 N 0 →N 0' 단계의 업데이트 공식을 하기 식 (2)와 같이 얻을 수 있다.
(2)
그리고 같은 방법으로 이후 프레임에 의한 업데이트(N 0 'N0'')역시 하기 식 3과 같이 비슷한 형태로 표현될 수 있다.
(3)
여기에 쓰인 등의 기호는 이전 프레임 박스 A,B,C, 현재 프레임 박스 1,2,3,4, 이후 프레임 박스, 가,나,다,라,마 등의 확신도를 뜻하며, 박스 확신도 업데이트 한 번에 따옴표()가 하나씩 붙는다.
즉, ... 등은 두 업데이트 후의 박스 1,2의 확신도이며 이 확신도에 문턱값 sTh2를 취해 최종 박스 B o 를 구할 수 있다.
이와 같이 구해진 최종 형태에서 α와 β는 모델의 성능에 따라 다르며 테스트를 통해 적절한 값을 구해줄 수 있다. Iou를 계산해 업데이트를 해 줄 때에 이전 프레임 이용 업데이트에서와 마찬가지로 maximum Iou값만을 이용할 수도 있다.
이동 물체에 확신도를 높이는 방법
본 발명은 영상의 차이를 이용해 박스 확신도를 업데이트 하는 방법을 또다른 실시예를 통해 보여준다.
도 5는 인접 프레임의 차를 이용한 박스 확신도 업데이트 설명을 위한 그림. 인접 프레임 Img1과 Img2속 인물이 이동했음을 보여준다.
도 6은 인접 프레임의 픽셀별 값의 차이를 이용해 생성한 이진 마스크를 보여주는 그림이다.
도 7은 도 6의 그림 속 박스 A와 이진 마스크와의 겹치는 정도를 보여주는 그림으로 작은 네모 하나하나가 픽셀 하나를 나타낸다
도 5 내지 7을 참조하면, 영상 내의 검출 대상이 이동하여 도 5의 Img1(T=-1)의 위치에서 Img2(T=0)의 위치로 이동했을 때 픽셀 별로 두 프레임의 차이값 |Img1-Img2|을 구한 후, RGB채널 중 가장 큰 값을 선택하고 average pooling 을 통해 노이즈를 없앨 수 있다. 여기에 적당한 문턱값으로 분류하여 도 6의 이진 마스크를 생성한다. 해당 프레임에서 객체 검출 모델을 통해 얻어진 박스에 낮은 문턱값 sTh1을 적용하여 후보군을 생성하고 앞에서 얻어진 이진마스크와 박스 마스크가 일정 픽셀 수 이상 겹치는 경우 해당 박스의 확신도를 업데이트한다. (도 7 참조) 일례로 박스 A 내부의 픽셀 수가 390이고 앞에서 얻어진 박스 내의 이진마스크 픽셀 수가 175인 경우 업데이트 후 박스 A의 확신도 uc A 는 아래 식 4로 구해진다.
(4)
여기서 γ 는 이동 대상 영역을 탐지한 이진마스크를 이용하여 대상 박스의 확신도를 업데이트하는 비율로 테스트를 통해 적당한 값을 설정하여 사용한다. 업데이트 된 확신도에 다시 높은 확신도 문턱값 sTh2 를 적용하여 최종 객체 검출 박스를 출력하며, 출력 후 변화가 감지된 영역에서 일시적, 혹의 장기적으로 확신도가 낮아져 마스크가 누락되는 문제를 해결할 수 있다.
위와 같이 업데이트 된 확신도는 이전 프레임/이후 프레임 이용 박스 확신도 업데이트와 같이, 혹은 독립적으로 사용해 줄 수 있다. 전자는 전후 프레임 내 검출박스와의 IoU 에 의존하므로 전후 프레임과 많이 겹쳐지는 상황, 즉 움직임 속도가 크지 않은 상황에 유리하다. 반면 후자는 움직임이 있을 때 유리한 방법이며 속도에 제한이 없다. 따라서, 이와 같은 특성을 고려해 상황에 맞게 αβγ값을 선택해 사용할 수 있다. 또한 이와 같이 구해진 박스는 소프트웨어 구성에 따라 박스자체로 마스킹 될 수도 있고 각각에 대응되는 외곽선 분할에 대해 마스킹 되도록 쓰일 수도 있다. 소프트웨어에 대한 보다 자세한 설명은 배경 영역 갱신방법에 대한 설명 후 다시 하겠다.
인접 프레임 분할 모델 결과 이용한 픽셀별 확신도 업데이트 방법
본 발명의 마스크 업데이트는 상기 박스 확신도 개선부분을 적용하여 객체 탐지가 누락되지 않은 경우 출력된 마스크 영역의 픽셀별 확신도를 개선하여 마스크 영역의 가장자리 등 확신도가 낮은 부분의 노출이 방지되도록 하는 기능을 수행한다. 또한 마스크 누락이 일어나도 전후 프레임의 마스크가 노출을 일부 막아준다는 장점이 있다.
도 8의 일 실시예를 보면 0~1 사이값을 갖는 이전/이후 프레임의 (-1, +1) 픽셀별 객체 영역 마스크 확신도를, 적절히 설정된 가중치를 반영하여 현재 프레임(0)의 마스크 확신도에 더해줘 업데이트한다. 그림 내 마스크 명암은 마스크 확신도 1에 가까울 수록 어두워지고, 확신도 0에 가까울 수록 밝아진다. 픽셀별로 얻어진 마스크 영역 확신도에 적절히 설정된 문턱값을 적용한 후 이진 마스크를 생성하여 마스크 처리부(도 1(b)로 전달하는 마스크 생성부의 최종 출력을 생성한다.
기존에도 이전 프레임 마스크, 현재 마스크, 이후 프레임 마스크를 다 합해 마스킹하는 방법은 있었으나 그 경우 0~1사이의 픽셀별 확신도를 더한 것이 아니라 0 또는 1 값을 갖는 이진 마스크 영역의 합집합을 사용한 것이었다. (도 9)
도 10에서 보듯이, 기존의 방법과 본 발명의 방법 모두 박스 확신도 업데이트 등 다른 방법을 사용하지 않았을 때 마스크 누락이 일어나도 전후 프레임의 마스크가 노출을 일부 막아준다는 장점이 있다.
그러나 본 방법의 장점은, 도 8에서 볼 수 있듯, 현재 마스크와 전후 프레임 마스크가 겹쳐지는 부분에서 픽셀별 확신도가 높아지기 때문에 가중치 값과 문턱값 조절을 통해 현재 프레임의 마스크만 남도록 할 경우에도 보다 안정적인 성능의 이진 마스크를 제공하는 것이다.
또한 도 11에서 보듯이, 필요에 따라 문턱값 조절을 통해 이전 프레임, 이후 프레임, 현재 프레임의 마스크를 선택적으로 남길 수 있으며, 이 뿐 아니라, 0~1사이의 확신도를 이용한 업데이트이므로 사용자의 감도 미세조정이 가능하다.
반면 기존의 이진 마스크 합집합을 사용하는 경우, 마스크를 선택적으로 남기기 위해서는 문턱값 조절이 아닌 마스크 업데이트 방식 자체를 조절하는 기능이 필요하다. 이 방식으로 현재 프레임의 마스크만 남겼을 경우, 픽셀별 확신도를 개선할 수 없다.
이 마스크 확신도 업데이트의 문턱값의 조절은 아래에 나올 감도 조절 버튼에 통합시킬 수 있다.
2) 마스크 처리부
발명을 구현하는 소프트웨어에는, 마스크 생성부의 출력인 이진 마스크를 입력받고, 제어부에 의해 선택된 마스크 패턴값을 입력받아, 원본 영상에 원하는 패턴의 마스크를 만들어주는 마스크 처리부가 있다.
본 발명의 일실시예에서는 표준적인 블러, 모자이크 뿐 아니라 투명 마스크까지, 세가지 패턴 중 선택된 패턴값에 따라 마스크 처리부에서 해당 마스크를 만들어낸다.
이때, 블러, 모자이크는 이진 마스크에 원본 영상 프레임을 이용하는 표준적인 방법으로 원하는 마스크를 만들어내고 투명 마스크는 이진 마스크에 배경 프레임을 합해 마스크를 만들어낸다.
따라서 본 발명의 일 실시예 내 마스크 처리부는 투명마스킹에 필요한 배경을 생성하고 수시로 갱신하는 기능을 구현한 배경 갱신부도 포함한다.
배경갱신부는 원본 프레임 영상과 함께 마스크 생성부에서 얻어진 영역의 마스킹 정보를 입력받는다. 대상 객체의 이미지가 배경에 포함이 되지 않도록 입력받은 마스크 정보를 이용하여 분할된 영역 중 대상 객체의 영역에 포함되지 않는 부분만을 갱신하는데, 이때 영상을 n개의 영역 A_1,...,A_n으로 나누어 순차적으로 갱신하는 방법을 사용한다. 배경을 분할 갱신시 영상 영역은 임의의 형태로 분할할 수 있으며 한가지로 고정되지 않는다.
투명마스크 처리 부분은 배경 갱신부에서 전달받은 배경 이미지를 이용하여 원본 영상 중 마스크 영역을 적절히 처리된 배경 이미지로 교체한다. 일실시예에서는 배경이미지의 처리를 배경의 특정 채널에 특정한 색상을 블랜딩하여 표시한다. 배경 영상 중 투명 마스크 처리를 위한 채널의 선택은 일부 혹은 전부 가능하며 시스템의 자원을 절약하기 위해 생성된 배경 영상의 해상도를 적당히 낮출 수 있다.
도 12와 도 14에 배경갱신 방법의 두가지 실시예가 있다. 도 12에서 보듯이 전체 화면을 가로 혹은 세로로 잘게 나눈 후, 몇 번에 걸쳐 업데이트 할 것인지 결정해 그에 맞게 첫번째 영역(도 12(a))은 1, 1+n, 1+2n, ..번째 줄, 두번째 영역(도 12-(b))은 2,2+n,2+2n,??번째 줄, 등으로 n개의 영역을 만들어주는 것이다. 본 일 실시예에서는 화면을 18등분하고 n=6으로 놔 여섯번에 걸쳐 업데이트 하는 방법을 상세히 설명한다.
이 때 원본 영상(도 13(a))이 분할 영역 도 12(a) 갱신 시 마스크가 누락됐다 하더라도 일부만 노출된 형태가 되므로 투명 마스크를 적용했을 때 도 13(b)와 같이 정보의 누출이 거의 없다.
위의 방법은 업데이트시 한 영상의 n분의 1 화면에 대해서만 계산해주면 되므로 연산량이 적고 실시간 마스킹에 용이하다. 게다가 언급했듯이 세로 뿐 아니라 가로 길이에 대해서도 m분의 1씩 업데이트 해줄 수 있는데 영상 속 인물들의 크기에 따라 n,m의 입력값을 달리 해줄 수 있고 n,m의 선택과 무관하게 각 격자의 너비를 조절할 수도 있다.
일 실시예로, 가로와 세로를 각각 필요 간격에 따라 등분 후, 예를 들어 가로는 3줄에 하나씩, 세로는 2줄에 하나씩, 배경 갱신 영역을 지정해 각 영역을 1초에 한번씩 갱신해주면 약 6초 후 전체 배경이 갱신되는 것을 볼 수 있다 (도 14).
전체를 한꺼번에 갱신하는 기존의 방법에 비해 갱신 속도가 느리지만 대신 중간에 마스크 누락에 의해 개인 정보가 노출되는 경우에도 한번에 배경화 되어버릴 우려가 없다.
3) 제어부
도 1(c)는 사용자가 조작하여 마스크 생성부와 마스크 처리부의 기능을 제어하는 설정 변수값을 전달하는 부분이다. 제어부는 세부적으로 대상선택부, 범위선택부, 패턴선택부, 감도조절부로 구성되어 있다.
(대상선택부)
대상선택부의 조작을 통해 마스크 생성부의 객체 검출 모델과 객체 분할 모델에서 탐지할 객체의 종류를 지정할 수 있다. 일실시예의 대상선택부는 마스크 대상을 인체 전신 혹은 안면 중에서 선택하는 기능을 제공한다.
(범위선택부)
범위선택부는 마스킹 대상의 수가 많을 시 속도 저하를 방지하기 위해 객체 분할 모델을 쓰는 경우에도 외곽선 내부가 아닌 객체 검출 박스의 내부를 마스킹하는 방법을 고를 수 있게 해준다.
(패턴선택부)
패턴선택부는 마스크 처리 패턴의 종류를 지정하여 마스크 처리부에서 원본 영상을 마스킹하는 방식을 선택하는 제어변수를 전달한다. 일실시예는 모자이크와 블러 마스크, 그리고 투명 마스크 중에서 선택할 수 있는 기능을 제공한다.
(감도조절부)
감도조절부를 통해 마스크 생성부가 객체를 검출과 픽셀별 확신도에 적용되는 문턱값을 조절하는 기능을 제공한다. 감도조절부는 사용자 입장에서 설정된 마스크의 민감도를 설정하는 것을 여러 문턱값으로 변환하는 부분을 포함하며 계산된 각 문턱값들을 마스크 생성부에 제어변수로 제공한다. 일실시예는 사용자의 민감도 설정 범위를 0~1 사이에서 조절하게 범위를 정한다.
도 15의 함수는 문턱값이 작아지면 민감도가 커져서 보다 넓은 영역을 마스킹하고 문턱값이 커지면 민감도가 작아져서 보다 작은 영역을 마스킹하는 반비례 관계에 대한 함수이다. 마스크 확신도 문턱값, 박스 확신도 문턱값 sTh1, sTh2 등이 여기에 속한다.
사전에 설정된 문턱값의 최적치를 T _0 로 하고 설정 가능한 문턱값의 범위를 최소값 T min 과 최대값 T nmaz 로 제한하는 경우에 T 0 ,T nmaz,, T min 등이 각각 민감도 0.5, 0, 1에 대응하도록 한다. (도 15)
민감도를 문턱값으로 변환하기 위해 문턱값을 민감도 S에 대한 함수로 변환하는 공식은 하기 식 5와 같다.
(5)
도 16의 함수는 NMS IoU 문턱값처럼 제어변수와 민감도가 비례관계인 경우이다. NMS IoU 문턱값이 작아지면 조금만 겹쳐진 경우에도 박스가 억제되므로 결과적으로 보다 적은 마스킹이 이뤄진다. TI 0 ,TI nmaz,, TI min 를 비례 제어변수의 최적치, 최소값, 최대값이라 하고 각각을 민감도 0.5,0,1에 대응하도록 하면 문턱값은 민감도 S에 대해 다음과 같은 함수인 식 6으로 표현될 수 있다.
(6)
본 발명의 일 실시예는 감도 조절부의 UI를 슬라이더로 구현한다.
본 발명에서는 이와 같은 방식으로 감도 조절부를 하나의 S값에 대한 함수값들로 통일시켜 사용자가 직관적으로 이용할 수 있게 돕는다.
도 17에서 보듯이 일실시예는 감도 조절부의 UI를 슬라이더로 구현하지만 슬라이더로 제한되는 것은 아니며 민감도 범위 내의 숫자를 직접 입력 받도록 구현하는 것도 가능하다.
본 발명에서는 박스 확신도 업데이트와 마스크 확신도 업데이트, 배경 분할 갱신 방법을 다루는 소프트웨어의 구조, 그리고 그 안에 구현된 손쉬운 감도조절 방법을 보여줬다. 하지만 위에서 제안한 방법들은 이를 포함한 소프트웨어를 보여줌으로써 보다 구체적으로 어떻게 활용 가능한지 보여주려 했을 뿐, 독립적으로 차용 가능한 기능으로 상기 실시예에 제한되지 않는다.

Claims (9)

  1. 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법으로,
    영상 프레임중 기설정된 확신도에 따라 프레임 중 객체박스를 분할하는 단계; 및
    영상 프레임간 비교를 통하여 상기 기설정된 확신도를 업데이트하는 단계; 및
    상기 업데이트되 확신도에 따라 상기 객체박스를 업데이트하여 출력하는 단계;
    상기 출력된 객체박스에 마스크를 생성하는 단계; 를 포함하는 것을 특징으로 하는, 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법.
  2. 제 1항에 있어서,
    상기 영상 프레임간 비교는 이전 또는 이후 프레임 또는 이 둘 다에 대하여 수행되는 것을 특징으로 하는, 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법.
  3. 제 1항에 있어서,
    상기 객체는 이동하는 객체인 경우, 상기 영상 프레임간 비교는 객체의 이동에 따라 발생하는 인접 프레임에 대하여 수행되는 것을 특징으로 하는, 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법.
  4. 제 3항에 있어서,
    상기 마스크 생성은, 인접한 두 영상의 차이를 계산하고 절대값을 취하여 기설정된 문턱값 이상의 차이가 발생한 부분을 객체박스로 출력하여, 상기 객체박스에 마스크를 생성하는 것을 특징으로 하는, 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법.
  5. 제 1항 내지 제 4항 중 어느 한 항에 따른 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법은,
    인접 프레임의 픽셀별 마스크 확신도를 간단한 가중치 합으로 업데이트 시켜주는 단계를 더 포함하는 것을 특징으로 하는 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법.
  6. 제 5항에 있어서,
    상기 가중치 합은 0~1사이 확신도 값을 갖는 마스크의 하기 식에 따른 픽셀별 가중치의 합인 것을 특징으로 하는 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법.
  7. 제 1항 내지 제 6항 중 어느 한 항에 따른 인공지능기반 마스킹 방법으로,
    상기 방법은 상기 마스크 생성 민감도를 조절하는 단계를 더 포함하는 것을 특징으로 하는 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법.
  8. 제 7항에 있어서,
    상기 민감도(S)를 조절하는 단계는 상기 민감도를 문턱값(T)으로 변환하는 방식이며, 상기 문턱값(T)은 0 내지 1의 범위에서 설정되고, 상기 문턱값이 작아지면 민감도가 커져서 보다 넓은 영역을 마스킹하고 문턱값이 커지면 민감도가 작아져서 보다 작은 영역을 마스킹하는 반비례 관계인 것을 특징으로 하는 인공지능기반 마스킹 방법.
  9. 제 7항에 있어서,
    상기 문턱값으로 변환되는 민감도는 하기 식에 의하여 계산되는 것을 특징으로 하는 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법.

    (여기에서 S는 민감도, T는 문턱값이며, T O 는 기설정된 문턱값의 최적치, T max T min 은 문턱값 범위 최대 및 최소값임)


KR1020220159422A 2022-11-24 2022-11-24 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법 및 이를 위한 시스템 KR20240077189A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220159422A KR20240077189A (ko) 2022-11-24 2022-11-24 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법 및 이를 위한 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220159422A KR20240077189A (ko) 2022-11-24 2022-11-24 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법 및 이를 위한 시스템

Publications (1)

Publication Number Publication Date
KR20240077189A true KR20240077189A (ko) 2024-05-31

Family

ID=91330605

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220159422A KR20240077189A (ko) 2022-11-24 2022-11-24 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법 및 이를 위한 시스템

Country Status (1)

Country Link
KR (1) KR20240077189A (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009225398A (ja) 2008-03-19 2009-10-01 Secom Co Ltd 画像配信システム
JP2017011759A (ja) 2016-09-26 2017-01-12 パナソニックIpマネジメント株式会社 撮像装置、録画装置および映像出力制御装置
KR101928858B1 (ko) 2018-08-10 2018-12-13 황영복 객체 외곽선을 경계로 마스킹하는 방법
US20180359449A1 (en) 2015-11-27 2018-12-13 Panasonic Intellectual Property Management Co., Ltd. Monitoring device, monitoring system, and monitoring method
KR20190010438A (ko) 2017-07-21 2019-01-30 가부시기가이샤 디스코 연삭 장치
US10595060B2 (en) 2017-03-03 2020-03-17 Canon Kabushiki Kaisha Image generation apparatus, control method therefor, and computer-readable storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009225398A (ja) 2008-03-19 2009-10-01 Secom Co Ltd 画像配信システム
US20180359449A1 (en) 2015-11-27 2018-12-13 Panasonic Intellectual Property Management Co., Ltd. Monitoring device, monitoring system, and monitoring method
JP2017011759A (ja) 2016-09-26 2017-01-12 パナソニックIpマネジメント株式会社 撮像装置、録画装置および映像出力制御装置
US10595060B2 (en) 2017-03-03 2020-03-17 Canon Kabushiki Kaisha Image generation apparatus, control method therefor, and computer-readable storage medium
KR20190010438A (ko) 2017-07-21 2019-01-30 가부시기가이샤 디스코 연삭 장치
KR101928858B1 (ko) 2018-08-10 2018-12-13 황영복 객체 외곽선을 경계로 마스킹하는 방법

Similar Documents

Publication Publication Date Title
KR101926490B1 (ko) 이미지 처리 장치 및 방법
EP2816527B1 (en) Method and device for processing digital image, and computer-readable recording medium
CN110889410B (zh) 浅景深渲染中语义分割的稳健用途
KR102153607B1 (ko) 영상에서의 전경 검출 장치 및 방법
CN110473185B (zh) 图像处理方法和装置、电子设备、计算机可读存储介质
US5960111A (en) Method and apparatus for segmenting images prior to coding
KR101471199B1 (ko) 영상을 전경과 배경으로 분리하는 방법 및 장치, 영상을전경과 배경으로 분리하여 배경을 대체하는 방법 및 장치
CN113888437A (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
CN106708084A (zh) 复杂环境下无人机自动障碍物检测和避障方法
KR100845969B1 (ko) 동적객체 영역 추출방법 및 장치
Qian et al. Video background replacement without a blue screen
KR20160110019A (ko) 화상 생성 장치 및 화상 생성 방법
CN113658197B (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
KR101146417B1 (ko) 무인 감시 로봇에서 중요 얼굴 추적 장치 및 방법
KR20240077189A (ko) 객체 검출 및 분할 모델을 이용한 인공지능기반 마스킹 방법 및 이를 위한 시스템
JP7208823B2 (ja) 映像補正装置及びそのプログラム
JP4780564B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
KR101729536B1 (ko) 이동 물체 검출 장치 및 그 방법
US10872229B2 (en) Image processing device, image processing method, and recording medium
CN109118546A (zh) 一种基于单帧图像的景深等级估计方法
KR101715247B1 (ko) 적응적으로 저조도를 개선하는 영상 처리 장치 및 방법, 그리고 그를 이용한 객체 검출 장치
JP2008234619A (ja) 顔認証装置および顔認証方法
JP4049116B2 (ja) 画像処理装置
KR100558383B1 (ko) 움직임 블록 검출 방법 및 이에 기초한 움직이는 물체추적 방법
KR101905128B1 (ko) 빛의 불규칙성을 기반으로 하는 동작영역 검출 제어 방법 및 그 방법을 이용한 동작영역 검출 장치