KR102410752B1 - 분류모델 생성을 통한 이미지 인식 및 처리 방법, 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 - Google Patents

분류모델 생성을 통한 이미지 인식 및 처리 방법, 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102410752B1
KR102410752B1 KR1020210183369A KR20210183369A KR102410752B1 KR 102410752 B1 KR102410752 B1 KR 102410752B1 KR 1020210183369 A KR1020210183369 A KR 1020210183369A KR 20210183369 A KR20210183369 A KR 20210183369A KR 102410752 B1 KR102410752 B1 KR 102410752B1
Authority
KR
South Korea
Prior art keywords
label
image
classification model
learning
input
Prior art date
Application number
KR1020210183369A
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 KR1020210183369A priority Critical patent/KR102410752B1/ko
Application granted granted Critical
Publication of KR102410752B1 publication Critical patent/KR102410752B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06T5/002
    • 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
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

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

Abstract

본 발명은 이미지 속에 포함된 객체를 용이하게 지정할 수 있는 이미지 인식 및 처리 방법을 제안한다. 상기 방법은 (a) 이미지 처리 장치가 레이블(label)이 부여된 다수의 이미지를 훈련 데이터로서 입력받아 분류기(classifier)를 학습시킴으로써 분류 모델을 생성하는 단계, (b) 상기 이미지 처리 장치가 대상 이미지를 입력받는 단계, (c) 상기 이미지 처리 장치가 입력된 상기 대상 이미지로부터 적어도 하나의 객체를 추출하는 단계, (d) 상기 이미지 처리 장치가 생성된 상기 분류 모델을 참조하여 추출된 상기 객체의 레이블을 검사하는 단계 및 (e) 상기 이미지 처리 장치가 검사 결과에 따른 레이블의 식별 여부에 따라 상기 객체를 분류하거나 선택적으로 해당 객체의 레이블 입력을 유도하는 단계를 포함할 수 있다.

Description

분류모델 생성을 통한 이미지 인식 및 처리 방법, 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{Method for image recognition and processing through classification model creation, and computer program recorded on record-medium for executing method therefor}
본 발명은 본 발명은 인공지능(Artificial Intelligence, AI) 학습용 데이터 설계에 관한 것이다. 보다 상세하게는, 인공지능(AI) 학습용 데이터를 어노테이션(annotation) 함에 있어, 인공지능(artificial intelligence, AI)을 이용하여 원본 이미지로부터 정보를 추출하여 이미지 내에 존재하는 객체를 분할하거나 식별하는 분류모델 생성을 통한 이미지 인식 및 처리 방법, 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.
인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.
일반적으로, 인공지능(AI) 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장, 및 데이터의 검증 단계로 진행된다.
각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 메타데이터(meta data)를 입력하고 어노테이션(annotation)을 수행하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.
일반적으로, 데이터 가공 단계의 어노테이션은 이미지 속에 포함된 객체에 대하여 바운딩 박스(bounding box) 처리하고, 바운딩 박스 처리된 객체의 속성 정보를 입력하여 진행된다. 이와 같은 어노테이션은 데이터 라벨링(data labeling)이라 지칭되기도 한다. 그리고, 어노테이션의 작업 결과물에 해당되는 데이터셋(dataset)은 JSON(Java Script Object Notation) 파일 형태로 산출된다.
구체적으로, 어노테이션에서 바운딩 박스를 처리하는 과정은 이미지 속 인식하고자 하는 객체 각각에 대하여, 객체의 외곽에 따라 작업자가 일일이 수작업으로 바운딩 박스 처리하여 진행된다.
그러나, 바운딩 박스 처리는 인공지능(AI) 학습 효과(즉, 이미지 속 객체의 인식률)를 보장하기 위하여 사전에 결정된 다양한 규칙에 따라야 한다. 예를 들어, 바운딩 박스 처리는 객체가 인식될 수 있는 영역의 최소 크기 값, 객체의 외곽선으로부터의 최대 이격 픽셀(pixel) 수 등의 규칙에 따라야 한다. 따라서, 작업자가 다수의 객체에 대하여 일일이 수작업으로 바운딩 박스 처리하는 과정에서 사전에 결정된 모든 규칙을 완벽하게 준수하는 것은 쉬운 일이 아니다.
대한민국 공개특허공보 제10-2020-0042629호, ‘인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치’, (2020.04.24. 공개)
본 발명의 일 목적은 인공지능(AI) 학습용 데이터를 어노테이션 함에 있어, 이미지 속에 포함된 객체를 용이하게 지정할 수 있는 분류모델 생성을 통한 이미지 인식 및 처리 방법을 제공하는 것이다.
본 발명의 다른 목적은 인공지능(AI) 학습용 데이터를 어노테이션 함에 있어, 이미지 속에 포함된 객체를 용이하게 지정할 수 있는 분류모델 생성을 통한 이미지 인식 및 처리 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 (a) 이미지 처리 장치가 레이블(label)이 부여된 다수의 이미지를 훈련 데이터로서 입력받아 분류기(classifier)를 학습시킴으로써 분류 모델을 생성하는 단계; (b) 상기 이미지 처리 장치가 대상 이미지를 입력받는 단계; (c) 상기 이미지 처리 장치가 입력된 상기 대상 이미지로부터 적어도 하나의 객체를 추출하는 단계; (d) 상기 이미지 처리 장치가 생성된 상기 분류 모델을 참조하여 추출된 상기 객체의 레이블을 검사하는 단계; 및 (e) 상기 이미지 처리 장치가 검사결과에 따른 레이블의 식별 여부에 따라 상기 객체를 분류하거나 선택적으로 해당 객체의 레이블 입력을 유도하는 단계;를 포함할 수 있다.
객체를 추출하는 상기 (c) 단계는, (c1) 상기 대상 이미지로부터 투명도 채널을 추출하고, 미리 설정된 투명도 임계값보다 낮은 투명도 값을 갖는 영역을 제거하되, 추출된 상기 투명도 채널 의 가장자리를 블러링(blurring)하여 이미지를 전처리하는 단계; 및 (c2) 중요 물체 검출(salient object detection, SOD)을 이용하여 각 픽셀(pixel)들에 중요 물체가 속할 확률을 강도(intensity) 값으로 도출함으로써 상기 대상 이미지 내의 배경으로부터 상기 객체를 분리하여 추출하는 단계;를 포함할 수 있다.
객체의 레이블을 검사하는 상기 (d) 단계는, (d1) 추출된 상기 객체에 대한 바운딩 박스(bounding box)를 제안하는 영역 제안 네트워크(region proposal network, RPN)로부터 관심 영역(region of interest, ROI)를 얻는 단계; (d2) 상기 관심 영역에 대해 쌍선형 보간(bilinear interpolation)을 사용하여 특징 맵(feature map)의 관심 영역과 이미지의 픽셀을 일치시키는 정렬(ROI align)을 수행하는 단계; 및 (d3) 상기 관심 영역에 대해 클래스를 예측하여 레이블을 식별하고, 마스크(mask)를 이용하여 픽셀 단위의 객체 분할을 수행하며, 바운딩 박스를 예측하는 단계;를 포함할 수 있다.
객체를 분류하는 상기 (e) 단계는, (e1) 검사 결과 상기 객체의 레이블이 식별된 경우, 추출된 상기 객체에 식별된 상기 레이블을 매칭하여 분류하는 단계;를 포함할 수 있다.
객체를 분류하는 상기 (e) 단계는, (e2) 검사 결과 상기 객체의 레이블이 식별되지 못한 경우, 추출된 상기 객체에 대한 레이블 입력을 유도하는 단계; 및 (e3) 유도에 따라 추가 입력된 레이블을 추출된 상기 객체에 매칭하여 분류하는 단계;를 포함할 수 있다.
객체를 분류하는 상기 (e) 단계는, (e4) 레이블이 식별되지 못한 객체들을 군집화(clustering)하는 단계; 및 (e5) 레이블이 추가 입력된 객체를 이용하여 군집별로 의사-레이블(pseudolabel)을 예측하는 단계;를 더 포함할 수 있다.
객체를 분류하는 상기 (e) 단계는, (e6) 군집 내에 속하는 객체들에 예측된 상기 의사-레이블을 매칭하여 분류하는 단계; 및 (d7) 분류가 완료된 객체들을 상기 훈련 데이터의 형식(format)으로 변환하여 상기 분류 모델을 재학습시키는 단계;를 더 포함할 수 있다.
상기 기재된 이미지 처리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 이미지 처리 장치는, 레이블(label)이 부여된 다수의 이미지를 훈련 데이터로서 입력받거나 새로운 대상 이미지를 입력받는 입력부; 상기 입력부를 통해 입력된 이미지를 처리하는 프로그램을 저장하는 메모리; 및 상기 메모리에 저장된 프로그램을 로드하여 이미지 처리를 수행하는 프로세서;를 포함하고, 상기 메모리에 저장된 프로그램은, 상기 훈련 이미지를 입력받아 분류기(classifier)를 학습시킴으로써 분류 모델을 생성하고, 새롭게 입력된 상기 대상 이미지로부터 적어도 하나의 객체를 추출하고, 생성된 상기 분류 모델을 참조하여 추출된 상기 객체의 레이블을 검사하며, 검사 결과에 따른 레이블의 식별 여부에 따라 상기 객체를 분류하거나 선택적으로 해당 객체의 레이블 입력을 유도하는 명령어를 포함한다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시 예들에 따르면, 인공 지능(AI)을 이용하여 이미지를 자동으로 처리함으로써, 영상 처리 전문가의 노동력을 절감할 수 있고, 지도 학습을 통한 분류 모델을 활용함과 더불어 비지도 학습과 레이블 입력 유도를 통해 미분류 객체에 대한 자동화된 레이블 예측을 병행함으로써 광범위한 학습 데이터 마련에 따른 과도한 부담을 완화할 수 있을 뿐만 아니라, 신규 객체에 대한 효율적인 데이터 수집과 자동화된 레이블 갱신을 유도할 수 있다.
도 1은 이미지의 시맨틱 분할(semantic segmentation)을 설명하기 위한 예시도이다.
도 2는 본 발명의 실시예들이 구현되는 환경에서 학습 여부에 따른 분류(classification) 결과를 소개하기 위한 예시도이다.
도 3은 본 발명의 실시예들이 제안하는 지도 학습(supervised learning)과 비지도 학습(unsupervised learning)을 함께 병행하여 활용하는 이미지 처리 기법을 소개하는 개략도이다.
도 4는 본 발명의 일 실시예에 따른 인공지능을 이용한 이미지 처리 방법을 도시한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 도 4의 이미지 처리 방법에서 객체를 분류하는 과정을 보다 구체적으로 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 인공지능을 이용한 이미지 처리 장치를 도시한 블록도이다.
도 7은 본 발명의 실시예들이 제안하는 이미지 처리 기법을 구현한 프로토타입(prototype)이 수행하는 처리 흐름을 예시한 도면이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
한편, 인공지능(AI) 학습용 데이터를 가공하기 위한 어노테이션과 관련하여, 작업자가 다수의 객체에 대하여 일일이 수작업으로 바운딩 박스 처리하는 과정에서 사전에 결정된 모든 규칙을 완벽하게 준수하는 것은 쉬운 일이 아니다. 또한, 작업자가 다수의 객체에 대하여 일일이 수작업으로 모든 속성 정보를 정확하게 입력하는 것 또한 쉬운 일이 아니다.
이러한 어려움을 극복하기 위하여, 본 발명은 바운딩 박스를 설정하고, 객체의 속성 정보를 입력하는 과정에서 작업자에게 다양한 편의성을 제공할 수 있는 수단들을 제안하고자 한다.
도 1은 이미지의 시맨틱 분할(semantic segmentation)을 설명하기 위한 예시도이다.
도 1의 (A)에 예시된 원본 사진으로부터 (B)와 같은 각각의 객체별로 분할이 되어 있는 것을 볼 수 있다. 지성을 갖는 인간이 (A)의 원본 사진을 통해 쉽게 개별 객체를 분리하여 인식할 수 있는데 반해, 컴퓨터로 하여금 인간의 시각적 인지 기능을 모방하게 하는 것은 많은 어려움이 있었으며, 특히 분할된 객체별로 해당 객체가 어떠한 유형에 속하는지를 판단하는 것은 딥러닝(deep learning)의 발전 이후에 비로소 의미있는 성과를 내기 시작하였다.
본 발명의 실시예들은 예시된 바와 같이 원본 영상으로부터 개별 객체를 픽셀(pixel) 단위로 분할하고 각각의 객체가 무엇인지를 인식하는 기술에 해당한다. 이를 위해 종래의 딥러닝 기술을 활용하여 식별하고자 하는 객체들을 학습시키고, 이후 새롭게 입력된 영상으로부터 이미 학습된 객체들을 분할 인식할 수 있었다. 따라서, 학습 데이터는 다양한 유형의 객체별로 각각 레이블이 부여된 다수의 훈련 데이터가 요구되었으며, 잘 훈련된 데이터를 활용한 지도 학습의 경우 해당 객체에 대해 준수한 인식 성능을 보여주었다.
그런데, 이러한 방식에 의할 경우 인식하고자 하는 객체의 유형이 많아질수록 더욱 많은 유형의 객체를 학습시켜야 할 필요성이 있었으며, 그로 인해 훈련 데이터의 마련과 학습에 따른 부담이 매우 커지는 문제가 발생하였다. 특히 학습이 부적절할 경우 오히려 인식 성능이 낮아지는 문제도 발생하게 되어 어려움이 가중되었다. 따라서, 지도 학습에 의한 영상 인식의 경우 인식 대상의 유형이 한정된 특정한 영역(domain)에서 활용하는 데에는 적합할 수 있으나, 범용적인 목적의 영상 인식에는 부적합하다는 현실에 맞닥뜨리게 되었다.
도 2는 본 발명의 실시예들이 구현되는 환경에서 학습 여부에 따른 분류(classification) 결과를 소개하기 위한 예시도이다.
앞서 소개한 바와 같이 학습 데이터를 이용하여 원본 영상을 인식한 결과 개별 객체가 차지하는 영역이 분할되었으며 분할된 영역에 객체의 유형을 나타내는 레이블이 부여되었다. 도 2에서 영상 내에 존재하는 대부분의 객체가 분할 인식되었으나, 펜(210)은 미리 학습되지 않았다고 가정하자. 이 경우, 지도 학습 방식에 따르는 영상 인식 기술에서는 학습 데이터가 존재하지 않는 펜(210)에 대한 식별이나 레이블 부여가 불가능하다. 앞서 소개한 바와 같이, 영상 내에 존재하는 모든 객체의 유형에 대해 학습이 이루어지지 않는 한 지도 학습을 따르는 분류기를 통해서는 분류되지 못하는 객체가 존재할 수 밖에 없다.
따라서, 본 발명의 실시예들은 보다 범용적인 목적에서 활용될 수 있는 영상 인식 기술을 제안하고자 한다. 본 발명의 실시예들은 지도 학습에서 누락된 유형의 객체에 대해서도 추가적인 기술적 수단을 도입하여 객체를 분리하고 레이블을 할당하는 것이 가능하도록 구현하고자 한다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 구체적으로 설명하도록 한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 덧붙여, 명세서 전체에서, 어떤 구성 요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구비하다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
특별히 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 3은 본 발명의 실시예들이 제안하는 지도 학습(supervised learning)과 비지도 학습(unsupervised learning)을 함께 병행하여 활용하는 이미지 처리 기법을 소개하는 개략도이다.
본 발명의 실시예들이 제안하는 이미지 처리 시스템은 주요 객체에 대해서는 지도 학습(310)에 기반하여 학습된 데이터를 활용한다. 즉, 올바른 입력과 출력의 쌍으로 구성된 정답의 훈련 데이터로부터 입출력 간의 함수를 학습시키는 지도 학습(310)을 통해 객체의 유형별로 레이블이 분류된 분류 모델(315)이 마련된다. 이미지 처리 시스템에 새로운 대상 이미지(320)가 입력되면 객체 추출(330)을 수행한다. 이때, 추출된 객체가 미리 학습된 분류 모델(315)에 존재할 경우 분류(340) 작업을 진행할 수 있으며, 이는 통상적인 지도 학습 방식에 따른 객체 분할 및 분류에 해당한다. 그런데, 만약 추출된 객체가 분류 모델(315)에 존재하지 않는 경우 비지도 학습(350)을 수행하게 된다. 즉, 정답이 없는 객체들(unlabeled data)로부터 관계를 도출하게 되며, 이를 위해 유사한 객체들끼리 군집화(clustering)를 진행할 수 있다. 한편, 학습이 되지 못하여 분류 모델(315)에 존재하지 않는 객체에 대해서는 사용자로 하여금 레이블 입력(355)을 유도할 수 있다. 이를 통해 적어도 하나의 객체에 대해 입력된 레이블을 활용하여 비지도 학습(350)을 통해 분류된 유사한 유형의 객체들에 대해 자동화된 레이블 획득이 가능하게 된다. 즉, 사용자가 직접 레이블을 입력한 데이터를 바탕으로 미분류된 객체에 대한 레이블 예측 내지 추론이 가능하다. 이와 같이 지도 학습된 데이터와 비지도 학습된 데이터를 함께 활용하되, 유도된 레이블 입력(355)을 통해 레이블 예측을 병행함으로써 학습이 되지 못한 데이터를 분류(360)할 수 있다. 나아가, 레이블 예측을 통해 새롭게 분류(360)된 데이터를 가공하여 최초의 훈련 데이터(370)의 형식(format)으로 변환하여 훈련 데이터(370)를 갱신(update)함으로써 지도 학습(310)의 결과로서 도출된 분류 모델(315)을 재학습시킬 수 있다.
이상과 같이, 본 발명의 실시예들은 주요 객체들에 대한 지도 학습을 통해 분류 모델을 구축하되, 미리 학습되지 못한 객체들을 비지도 학습을 통해 유사한 그룹별로 군집화하고, 레이블 입력을 통해 유도된 입력값을 통해 그룹별로 레이블을 예측, 추론함으로써 유사 그룹에 대한 레이블을 확보하게 된다. 즉, 본 발명의 실시예들은 비지도 학습을 통한 데이터의 군집화와 레이블 입력 유도를 통해 지도 학습의 약점을 상호보완할 수 있다.
도 4는 본 발명의 일 실시예에 따른 인공지능을 이용한 이미지 처리 방법을 도시한 흐름도이다.
이미지 처리 방법은 일련의 단계들을 수행하는 명령어들을 포함하는 이미지 처리 프로그램을 통해 구현되어 적어도 하나의 프로세서 및 메모리를 통해 이미지 처리 프로그램을 실행될 수 있다. 즉, 이하에서 기술되는 일련의 단계들은 이미지 처리 프로그램을 저장하고, 프로세서와 메모리를 구비하는 이미지 처리 장치를 통해 구현될 수 있다.
S410 단계에서, 이미지 처리 장치는 레이블(label)이 부여된 다수의 이미지를 훈련 데이터로서 입력받아 분류기(classifier)를 학습시킴으로써 분류 모델을 생성한다. 이때의 학습은 지도 학습으로서, 분류기를 학습하는데 사용되는 데이터 집합인 학습 데이터(training data), 과적합(overfitting)을 고려하여 학습을 중단할 시점을 결정하기 위해 사용되는 데이터 집합인 검증 데이터(validation data), 및 학습된 분류 모델의 성능을 평가하기 위해 사용되는 데이터 집합인 테스트 데이터(test data)가 활용될 수 있다. 다만, 학습 데이터는 세상에 존재하는 모든 객체에 대해 마련되는 것이 현실적으로 불가능하기 때문에 통계적으로 영상 내에서 인식되어야 하는 빈도가 높은 주요 객체들을 중심으로 구성되는 것이 바람직하다. 따라서, 학습 데이터 내에 포함되지 않는 객체에 대해서는 이후 비지도 학습과 레이블 입력 유도 과정을 통해 해결되어야 할 것이다. 즉, 분류 모델의 성능을 고려할 때, 학습 데이터는 통계적 빈도가 높은 객체를 중심으로 구성되는 반면, 나머지 유형의 객체들에 대해서는 비지도 학습을 통해 보충받는 전략을 채택할 수 있다. 이러한 전략을 통해 광범위한 학습 데이터 마련에 따른 과도한 부담을 완화할 수 있을 것이다.
한편, 이미지의 분할 및 분류에는 다양한 알고리즘이 활용될 수 있으나, 여기서는 일례로서 Mask R-CNN을 활용한 분류기를 예시하도록 한다. 영상 내에서 추출된 객체에 대한 특징 정보로부터 Mask R-CNN에 따른 분류기를 통해 객체의 레이블이 출력될 수 있으나, 이러한 실시예에 한정되는 것이 아님은 당연하다.
S420 단계에서, 상기 이미지 처리 장치는 대상 이미지를 새롭게 입력받는다. 새롭게 입력되는 대상 이미지는 복수 개의 객체를 포함할 수 있으며, 앞서 학습된 분류 모델에 속하지 않는 객체를 포함하는 것도 무방하다.
S430 단계에서, 상기 이미지 처리 장치는 S420 단계를 통해 입력된 상기 대상 이미지로부터 적어도 하나의 객체를 추출한다. 보다 구체적으로, 이미지를 학습시켜 이미지 내의 객체와 배경을 구별하여 배경을 삭제하고 객체만을 인식하여 객체 정보만을 추출하는 배경 제거 과정이 수행될 수 있다. 이 과정을 위해 다양한 객체 추출 알고리즘이 활용될 수 있으나, 배경 제거 알고리즘의 일례로서 U2 net (U-square net)을 예시하였으며, 여기서는 구현 및 성능 보장의 관점에서 크게 데이터의 전처리 과정과 객체 추출 과정을 소개하도록 한다.
영상으로부터 객체를 추출하기에 앞서, 이미지 내에 존재하는 객체들의 경계를 개선하기 위해 상대적으로 투명한 픽셀을 제거한 후 테두리를 부드럽게 처리하는 과정을 수행한다. 이를 위해, 대상 이미지로부터 투명도 채널을 추출하고, 미리 설정된 투명도 임계값보다 낮은 투명도 값을 갖는 영역을 제거하되, 추출된 상기 투명도 채널의 가장자리를 블러링(blurring)하여 이미지를 전처리할 수 있다. 보다 구체적으로, 우선 이미지의 RGBA 이미지로부터 알파 채널(투명도 채널)을 추출하고, 투명도 임계값을 기준으로 그 이상의 영역은 불투명으로 표시하되 투명도 임계값보다 낮은 영역은 완전히 투명하게 변환시킬 수 있다. 그런 다음, 앞서 추출된 알파 채널의 가장자리를 부드럽게 처리(blurring)함으로써 이후의 객체 분리 과정을 보다 용이하게 해준다. 성능 보장의 측면에서 이상의 과정은, 예를 들어 2회 수행될 수 있다.
이제, 중요 물체 검출(salient object detection, SOD)을 이용하여 각 픽셀(pixel)들에 중요 물체가 속할 확률을 강도(intensity) 값으로 도출함으로써 상기 대상 이미지 내의 배경으로부터 상기 객체를 분리하여 추출할 수 있다. 중요 물체 검출에 관한 다양한 알고리즘이 존재하는데, 여기서는 U2 net을 활용하여 구현된 예를 소개한다. 우선, 객체 추출을 위한 손실 함수는 다음의 수학식 1과 같다.
Figure 112021147747186-pat00001
여기서,
Figure 112021147747186-pat00002
은 모델의 각 스테이지마다의 중요 맵 손실(saliency map loss)이고, (r, c)는 픽셀 좌표이고, (H, W)는 이미지의 높이와 너비이고, PG는 픽셀의 ground truth 값이며, PS는 중요 맵(saliency map)을 예측한 값을 나타낸다.
또한, 최종 손실 함수는 다음의 수학식 2와 같다.
Figure 112021147747186-pat00003
여기서,
Figure 112021147747186-pat00004
는 U2 net의 각 스테이지의 중요 맵을 업샘플링하고 1Х1 컨볼루션 및 시그모이드(sigmoid) 함수를 융합해 연산한 결과이고,
Figure 112021147747186-pat00005
는 U2 net의 각 스테이지에서의 중요 맵 손실의 결과이고,
Figure 112021147747186-pat00006
는 sfuse의 손실(loss)이며,
Figure 112021147747186-pat00007
, wfuse는 각 스테이지에서의 가중치, 및 모든 스테이지를 융합한 가중치를 나타낸다.
S440 단계에서, 상기 이미지 처리 장치는 S410 단계를 통해 생성된 상기 분류 모델을 참조하여 추출된 상기 객체의 레이블을 검사한다. 이 과정에서는 U2 net으로 배경이 제거되어 추출된 객체의 특징 정보를 Mask R-CNN을 활용하여 분할(segmentation)하고 분류(classification)한다.
보다 구체적으로, 추출된 상기 객체에 대한 바운딩 박스(bounding box)를 제안하는 영역 제안 네트워크(region proposal network, RPN)로부터 관심 영역(region of interest, ROI)를 얻는다. 그런 다음, 상기 관심 영역에 대해 쌍선형 보간(bilinear interpolation)을 사용하여 입력 이미지의 크기를 변환하고(resize) 특징 맵(feature map)의 관심 영역과 이미지의 픽셀을 일치시키는 정렬(ROI align)을 수행한다. 이를 위해, 입력 사이즈에 맞게 이미지를 패딩(padding) 처리하고, ROI align시 모든 관심 영역(ROI)을 0.5 만큼씩 이동시켜 이미지와 특징 맵(feature map)을 정렬시킬 수 있다. 이제, 상기 관심 영역에 대해 클래스를 예측하여 레이블을 식별하고, 마스크(mask)를 이용하여 픽셀 단위의 객체 분할을 수행하며, 바운딩 박스 회귀 손실(Bbox regression loss)에 L1 loss를 적용하여 바운딩 박스를 예측할 수 있다. 이때, FCN(fully convolutional network)을 이용하여 마스크를 예측하되, 상기 클래스의 예측과 분리되어 병렬적으로 이진(binary) 예측을 수행할 수 있다. 즉, 추출된 이미지의 영역 제안 네트워크(RPN)로부터 얻은 관심 영역(ROI)에 대해 분류 레이블(class Label), 바운딩 박스(Bounding-box), 및 마스크(Mask)의 3개 브랜치로 나누어 처리할 수 있다. 또한, 각 관심 영역에 대해 분류 손실(classification loss), 바운딩 박스 회귀(bounding box regression) 및 마스크 예측 손실(mask prediction loss)의 조합에 의한 손실 함수가 적용되는 것이 바람직하다. 따라서, 이러한 손실 함수는 다음의 수학식 3과 같다.
Figure 112021147747186-pat00008
여기서, Lcls 는 분류 손실을 나타내는 소프트맥스 크로스 엔트로피(Softmax Cross Entropy) 이고, Lbox 는 바운딩 박스 회귀이며, Lmask 는 마스크 예측 손실을 나타내는 이진 크로스 엔트로피(Binary Cross Entropy) 이다.
S450 단계에서, 상기 이미지 처리 장치는 S440 단계의 검사 결과에 따른 레이블의 식별 여부에 따라 상기 객체를 분류하거나 선택적으로 해당 객체의 레이블 입력을 유도한다. 즉, 앞서 수행된 S410 단계의 지도 학습(supervised learning)을 이용하여 상기 분류 모델을 생성하고, 상기 S440 단계를 통해 지도 학습된 상기 분류 모델의 레이블의 유무를 검사하며, 만약 상기 객체의 레이블이 식별된 경우 S450 단계를 통해 객체를 분류할 수 있다. 반면, 만약 상기 객체의 레이블이 식별되지 못한 경우, 상기 S450 단계를 통해 비지도 학습(unsupervised learning)을 이용하여 레이블이 부여되지 않은 객체들을 군집화한 후, 선택적인 레이블 입력 유도를 통해 획득된 레이블에 기반하여 객체를 분류할 수 있다.
앞서 소개한 바와 같이, 객체의 레이블이 식별되지 못한 경우는 추출된 객체가 분류 모델에 존재하지 않는 경우를 의미하며, 사용자로 하여금 레이블 입력을 유도할 수 있으며, 이와 별도로 미분류 객체들에 대해 비지도 학습을 수행할 수 있다. 비지도 학습에서는 정답이 없는 객체들(unlabeled data)로부터 관계를 도출하게 되며, 이를 위해 유사한 객체들끼리 군집화(clustering)를 진행할 수 있다. 또한, 적어도 하나의 객체에 대해 입력된 레이블을 활용하여 비지도 학습을 통해 분류된 유사한 유형의 객체들에 대해 레이블을 예측함으로써, 미분류 객체에 대한 지도 학습의 약점을 보완할 수 있다.
도 5는 본 발명의 일 실시예에 따른 도 4의 이미지 처리 방법에서 객체를 분류하는 과정(S450 단계)을 보다 구체적으로 도시한 도면이다.
즉 도 5는 레이블 검사(S440 단계) 결과 레이블이 식별되었는지 여부를 판단(S451 단계)한 이후의 과정을 보여준다.
검사 결과, S451 단계를 통해 객체의 레이블이 식별되었다면, S452 단계로 진행하여 추출된 상기 객체에 식별된 상기 레이블을 매칭하여 분류를 수행한다. 이에 반해, S451 단계를 통해 객체의 레이블이 식별되지 못하였다면, S453 단계로 진행하여 추출된 상기 객체에 대한 레이블 입력을 유도할 수 있다.
한편, S454 단계에서는 비지도 학습 방법에 따라 레이블이 식별되지 못한 객체들을 군집화(clustering)할 수 있다. 그런 다음, S455 단계에서는 앞서 S453 단계를 통해 레이블이 추가 입력된 객체를 이용하여 군집별로 의사-레이블(pseudo-label)을 예측할 수 있다. 이때, 레이블이 식별되지 못한 객체들 중 상기 분류 모델의 미리 설정된 신뢰도 임계치 이상의 신뢰도를 나타내는 객체에 대하여 엔트로피를 산출하여 손실 함수에 추가함으로써 의사-레이블을 부여할 수 있다.
구현의 관점에서, S453 단계를 통해 유도된 사용자가 입력한 레이블 데이터를 수집하고, 수집된 레이블과 Mask R-CNN으로 추출된 객체의 특징을 바탕으로 의사-레이블 예측을 진행할 수 있다. 이때, 의사-레이블을 예측하기 위한 손실 함수는 다음의 수학식 4와 같이 정의될 수 있다.
Figure 112021147747186-pat00009
여기서, n 은 레이블된 데이터(labeled data)의 배치 크기(batch size) 수이고,
Figure 112021147747186-pat00010
는 m 번째 레이블된 데이터 샘플(labeled data sample)의 출력(output)이고,
Figure 112021147747186-pat00011
는 m 번째 레이블된 데이터에 해당하는 레이블이고,
Figure 112021147747186-pat00012
는 레이블되지 않은 데이터(unlabeled data)의 배치 크기 수이고,
Figure 112021147747186-pat00013
는 m 번째 레이블되지 않은 데이터 샘플(unlabeled data sample)의 출력이고,
Figure 112021147747186-pat00014
는 m번째 레이블되지 않은 데이터에 해당하는 의사 레이블(pseudo label)이고, α는 상기 수학식 4의 2개의 항을 밸런싱(balancing)하는 계수(coefficient)이며, t는 현재 epoch를 나타낸다.
그러면, S456 단계에 이르러 유도에 따라 추가 입력된 레이블을 추출된 상기 객체에 매칭하여 분류할 수 있다. 즉, 비지도 학습을 통해 형성된 군집 내에 속하는 객체들에 예측된 상기 의사-레이블을 매칭하여 분류할 수 있다. 나아가, S457 단계에서는, S456 단계를 통해 분류가 완료된 객체들을 상기 훈련 데이터의 형식(format)으로 변환하여 S410 단계로 피드백함으로써 앞서 구축된 분류 모델을 재학습시킬 수 있다.
이상의 일련의 처리 과정을 반복함으로써, 지도 학습에 의해 구축된 분류 모델에 없는 미분류 객체에 대해서도 유도된 사용자로부터 입력된 레이블과 비지도 학습을 함께 병행하여 신속한 모델 학습을 도모할 수 있으며, 신규 객체에 대한 용이한 데이터 수집과 자동화된 레이블 예측을 가능하게 한다.
도 6은 본 발명의 일 실시예에 따른 인공지능을 이용한 이미지 처리 장치(10)를 도시한 블록도이다.
즉 도 6은 도 4의 이미지 처리 방법을 하드웨어 구성의 관점에서 재구성한 것이다. 따라서, 설명의 중복을 피하고자 여기서는 각 구성의 기능 및 수행 동작을 약술하도록 한다.
이미지 처리 장치(10)는, 레이블(label)이 부여된 다수의 이미지를 훈련 데이터로서 입력받거나 새로운 대상 이미지를 입력받는 입력부(11), 상기 입력부(11)를 통해 입력된 이미지를 처리하는 프로그램을 저장하는 메모리(15) 및 상기 메모리(15)에 저장된 프로그램을 로드하여 이미지 처리를 수행하는 프로세서(13)를 포함한다.
여기서, 상기 메모리(15)에 저장된 프로그램은, 상기 훈련 이미지를 입력받아 분류기(classifier)를 학습시킴으로써 분류 모델을 생성하고, 새롭게 입력된 상기 대상 이미지로부터 적어도 하나의 객체를 추출하고, 생성된 상기 분류 모델을 참조하여 추출된 상기 객체의 레이블을 검사하며, 검사 결과에 따른 레이블의 식별 여부에 따라 상기 객체를 분류하거나 선택적으로 해당 객체의 레이블 입력을 유도하는 명령어를 포함한다. 즉, 상기 메모리(15)에 저장된 프로그램은, 지도 학습(supervised learning)을 이용하여 분류 모델을 생성하고, 지도 학습된 분류 모델의 레이블의 유무를 검사하며, 만약 객체의 레이블이 식별되지 못한 경우, 비지도 학습(unsupervised learning)을 이용하여 레이블이 부여되지 않은 객체들을 군집화한 후, 선택적인 레이블 입력 유도를 통해 획득된 레이블에 기반하여 객체를 분류할 수 있다.
활용의 관점에서, 사용자가 원본 이미지 내에서 처리하고자 하는 영역을 클릭 내지 드래그함으로써 선택하여 입력부(11)를 통해 대상 이미지를 새롭게 입력받으면, 프로세서(13)가 메모리(15)에 저장된 이미지 처리 프로그램을 수행시켜 처리된 결과로서 분할된 객체가 각각 분류된 이미지를 출력할 수 있다. 이때, 미리 지도 학습에 의해 분류되지 않았던 객체도 본 발명의 실시예들이 제안하는 이미지 처리 장치를 통해 레이블이 부여되어 분류될 수 있음은 앞서 설명한 바와 같다.
도 7은 본 발명의 실시예들이 제안하는 이미지 처리 기법을 구현한 프로토타입(prototype)이 수행하는 처리 흐름을 예시한 도면이다.
단계 η에서는, 확보된 데이터 집합을 학습시켜 분류 모델을 구축한다. 이때, 데이터 집합은 지도 학습에 따른 학습 데이터로서 모든 객체를 대상으로 수집된 것이 아닐 수 있다. 도 7에서는 코끼리, 공룡 및 농구공이 학습 데이터로서 예시되었다. 그러나, 이후 새롭게 입력되는 이미지 내에는 3가지 객체(코끼리, 공룡 및 농구공) 외에 2가지 미분류 객체(슈퍼맨 및 로켓)가 더 포함되어 있음을 확인할 수 있다.
단계
Figure 112021147747186-pat00015
에서 만약 추출한 이미지 객체의 클래스(class)를 아는 경우, 이미지로부터 배경을 삭제하고 객체만을 추출하는 분할(segmentation)과 클래스 분류(classification) 기능을 자동으로 수행한다. 예를 들어, 미리 학습된 3가지 객체(코끼리, 공룡 및 농구공)에 대해서는 분할 및 분류를 수행할 수 있다. 반면, 단계
Figure 112021147747186-pat00016
에서 만약 추출한 이미지 객체의 클래스를 모르는 경우, 이미지로부터 배경을 삭제하고 객체만을 추출하는 분할 기능을 자동으로 수행한다. 예를 들어, 학습되지 않은 2가지 객체(슈퍼맨 및 로켓)에 대해서는 분할만을 수행할 수 있다.
한편, 단계
Figure 112021147747186-pat00017
에서는 시스템의 유도에 따라 사용자가 미지정된 클래스에 해당하는 레이블을 입력하여 레이블과 함께 이미지 객체를 추출할 수 있다. 예를 들어, 적어도 2개의 이미지에 대해 각각 '슈퍼맨'과 '로켓'이라는 레이블이 입력될 수 있다. 이와 더불어, 단계
Figure 112021147747186-pat00018
에서는 비지도 학습을 통해 레이블이 지정되지 않은 객체들을 유사한 객체들끼리 군집화한다. 도 7에서는 군집화를 통해 슈퍼맨을 포함하는 그룹과 로켓을 포함하는 그룹으로 2개 그룹이 형성될 수 있다.
단계
Figure 112021147747186-pat00019
에서는 앞서 사용자로부터 지정된 적어도 하나의 이미지에 대한 레이블 데이터를 기반으로 의사 레이블 예측을 통해 분류된 이미지 군집에 레이블을 부여할 수 있다. 즉, 슈퍼맨을 포함하는 그룹에 속하는 1개의 이미지에 대해 유도된 사용자로부터 '슈퍼맨'이라는 레이블이 입력되면 해당 그룹 전체에 대한 자동화된 레이블 할당이 가능하다. 또한, '로켓'에 대해서도 마찬가지 작업이 자동으로 수행될 수 있다.
이제, 단계
Figure 112021147747186-pat00020
에서는 레이블이 지정된 이미지 객체 군집에 대해 데이터의 형식을 규격화하는 작업을 진행하고, 단계
Figure 112021147747186-pat00021
에서는 새롭게 레이블이 부여된 데이터 집합을 기존의 데이터 집합과 함께 갱신하여 분류 모델을 재학습시킬 수 있다. 즉, 슈퍼맨과 로켓 이미지에 대해 최초의 학습 데이터의 형식과 규격을 일치시켜 새로운 학습 데이터로 입력시키게 된다. 이때의 새로운 학습 데이터는 지도 학습을 통해 마련된 학습 데이터가 아님에도 불구하고 비지도 학습의 군집화 결과를 통해 도출된 각각의 클래스별로 자동으로 레이블이 할당된다. 따라서, 재학습되는 분류 모델에는 지도 학습에 따른 학습 데이터와 비지도 학습으로부터 도출된 학습 데이터가 함께 반영될 수 있다.
상기된 본 발명의 실시예들에 따르면, 인공 지능을 이용하여 이미지를 자동으로 처리함으로써 영상 처리 전문가의 노동력을 절감할 수 있고, 지도 학습을 통한 분류 모델을 활용함과 더불어 비지도 학습과 레이블 입력 유도를 통해 미분류 객체에 대한 자동화된 레이블 예측을 병행함으로써 광범위한 학습 데이터 마련에 따른 과도한 부담을 완화할 수 있을 뿐만 아니라, 신규 객체에 대한 효율적인 데이터 수집과 자동화된 레이블 갱신을 유도할 수 있다.
한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
10: 이미지 처리 장치
11: 입력부
13: 프로세서
15: 메모리

Claims (10)

  1. (a) 이미지 처리 장치가 레이블(label)이 부여된 다수의 이미지를 훈련 데이터로서 입력받아 분류기(classifier)를 학습시킴으로써 분류 모델을 생성하는 단계;
    (b) 상기 이미지 처리 장치가 대상 이미지를 입력받는 단계;
    (c) 상기 이미지 처리 장치가 입력된 상기 대상 이미지로부터 적어도 하나의 객체를 추출하는 단계;
    (d) 상기 이미지 처리 장치가 생성된 상기 분류 모델을 참조하여 추출된 상기 객체의 레이블을 검사하는 단계; 및
    (e) 상기 이미지 처리 장치가 검사 결과에 따른 레이블의 식별 여부에 따라 상기 객체를 분류하거나 선택적으로 해당 객체의 레이블 입력을 유도하는 단계;를 포함하고,
    상기 (d) 단계는,
    (d1) 추출된 상기 객체에 대한 바운딩 박스(bounding box)를 제안하는 영역 제안 네트워크(region proposal network, RPN)로부터 관심 영역(region of interest, ROI)를 얻는 단계;
    (d2) 상기 관심 영역에 대해 쌍선형 보간(bilinear interpolation)을 사용하여 특징 맵(feature map)의 관심 영역과 이미지의 픽셀을 일치시키는 정렬(ROI align)을 수행하는 단계; 및
    (d3) 상기 관심 영역에 대해 클래스를 예측하여 레이블을 식별하고, 마스크(mask)를 이용하여 픽셀 단위의 객체 분할을 수행하며, 바운딩 박스를 예측하는 단계;를 포함하는, 이미지 인식 및 처리 방법.
  2. 제1 항에 있어서, 상기 (c) 단계는,
    (c1) 상기 대상 이미지로부터 투명도 채널을 추출하고, 미리 설정된 투명도 임계값보다 낮은 투명도 값을 갖는 영역을 제거하되, 추출된 상기 투명도 채널의 가장자리를 블러링(blurring)하여 이미지를 전처리하는 단계; 및
    (c2) 중요 물체 검출(salient object detection, SOD)을 이용하여 각 픽셀(pixel)들에 중요 물체가 속할 확률을 강도(intensity) 값으로 도출함으로써 상기 대상 이미지 내의 배경으로부터 상기 객체를 분리하여 추출하는 단계;를 포함하는, 이미지 인식 및 처리 방법.
  3. 제1 항에 있어서, 상기 (d3) 단계는,
    FCN(fully convolutional network)을 이용하여 마스크를 예측하되, 상기 클래스의 예측과 분리되어 병렬적으로 이진(binary) 예측을 수행하며, 각 관심 영역에 대해 분류 손실(classification loss), 바운딩 박스 회귀(bounding box regression) 및 마스크 예측 손실(mask prediction loss)의 조합에 의한 손실 함수가 적용되는, 이미지 인식 및 처리 방법.
  4. 제1 항에 있어서, 상기 (e) 단계는,
    (e1) 검사 결과 상기 객체의 레이블이 식별된 경우, 추출된 상기 객체에 식별된 상기 레이블을 매칭하여 분류하는 단계;를 포함하는, 이미지 인식 및 처리 방법.
  5. 제1 항에 있어서, 상기 (e) 단계는,
    (e2) 검사 결과 상기 객체의 레이블이 식별되지 못한 경우, 추출된 상기 객체에 대한 레이블 입력을 유도하는 단계; 및
    (e3) 유도에 따라 추가 입력된 레이블을 추출된 상기 객체에 매칭하여 분류하는 단계;를 포함하는, 이미지 인식 및 처리 방법.
  6. 제5 항에 있어서, 상기 (e) 단계는,
    (e4) 레이블이 식별되지 못한 객체들을 군집화(clustering)하는 단계; 및
    (e5) 레이블이 추가 입력된 객체를 이용하여 군집별로 의사-레이블(pseudo-label)을 예측하는 단계;를 더 포함하는, 이미지 인식 및 처리 방법.
  7. 제6 항에 있어서, 상기 (e5) 단계는,
    레이블이 식별되지 못한 객체들 중 상기 분류 모델의 미리 설정된 신뢰도 임계치 이상의 신뢰도를 나타내는 객체에 대하여 엔트로피를 산출하여 손실 함수에 추가함으로써 의사-레이블을 부여하는, 이미지 인식 및 처리 방법.
  8. 제6 항에 있어서, 상기 (e) 단계는,
    (e6) 군집 내에 속하는 객체들에 예측된 상기 의사-레이블을 매칭하여 분류하는 단계; 및
    (d7) 분류가 완료된 객체들을 상기 훈련 데이터의 형식(format)으로 변환하여 상기 분류 모델을 재학습시키는 단계;를 더 포함하는, 이미지 인식 및 처리 방법.
  9. 제1 항에 있어서,
    상기 (a) 단계의 지도 학습(supervised learning)을 이용하여 상기 분류 모델을 생성하고,
    상기 (d) 단계를 통해 지도 학습된 상기 분류 모델의 레이블의 유무를 검사하며,
    상기 객체의 레이블이 식별되지 못한 경우, 상기 (e) 단계를 통해 비지도 학습(unsupervised learning)을 이용하여 레이블이 부여되지 않은 객체들을 군집화한 후, 선택적인 레이블 입력 유도를 통해 획득된 레이블에 기반하여 객체를 분류하는, 이미지 인식 및 처리 방법.
  10. 삭제
KR1020210183369A 2021-12-21 2021-12-21 분류모델 생성을 통한 이미지 인식 및 처리 방법, 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 KR102410752B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210183369A KR102410752B1 (ko) 2021-12-21 2021-12-21 분류모델 생성을 통한 이미지 인식 및 처리 방법, 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210183369A KR102410752B1 (ko) 2021-12-21 2021-12-21 분류모델 생성을 통한 이미지 인식 및 처리 방법, 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR102410752B1 true KR102410752B1 (ko) 2022-06-22

Family

ID=82216260

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210183369A KR102410752B1 (ko) 2021-12-21 2021-12-21 분류모델 생성을 통한 이미지 인식 및 처리 방법, 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102410752B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101979654B1 (ko) * 2018-01-15 2019-05-17 주식회사 비엔인더스트리 차량번호 인식 장치 및 그 방법
KR102019208B1 (ko) * 2019-01-29 2019-11-14 (주)그리드원 딥 러닝 기반의 오류 분류 방법 및 장치
KR20200042629A (ko) 2018-10-16 2020-04-24 주식회사 키센스 인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치
KR102204829B1 (ko) * 2020-06-12 2021-01-19 인하대학교 산학협력단 딥러닝 기반의 어노테이션 툴을 제공하는 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101979654B1 (ko) * 2018-01-15 2019-05-17 주식회사 비엔인더스트리 차량번호 인식 장치 및 그 방법
KR20200042629A (ko) 2018-10-16 2020-04-24 주식회사 키센스 인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치
KR102019208B1 (ko) * 2019-01-29 2019-11-14 (주)그리드원 딥 러닝 기반의 오류 분류 방법 및 장치
KR102204829B1 (ko) * 2020-06-12 2021-01-19 인하대학교 산학협력단 딥러닝 기반의 어노테이션 툴을 제공하는 방법 및 시스템

Similar Documents

Publication Publication Date Title
Xu et al. Augmenting strong supervision using web data for fine-grained categorization
US8379994B2 (en) Digital image analysis utilizing multiple human labels
CA3124358C (en) Method and system for identifying citations within regulatory content
JP2019091443A (ja) オープンセット認識方法と装置及びコンピュータ可読記憶媒体
US10867169B2 (en) Character recognition using hierarchical classification
CN107506796A (zh) 一种基于深度森林的阿尔兹海默病分类方法
JP7117934B2 (ja) 画像分類装置及びプログラム
US11600088B2 (en) Utilizing machine learning and image filtering techniques to detect and analyze handwritten text
KR20220122455A (ko) 영상 데이터에 포함된 객체 분할 방법 및 이를 수행하는 장치
KR102325347B1 (ko) 머신러닝 기반 결함 분류 장치 및 방법
KR102410752B1 (ko) 분류모델 생성을 통한 이미지 인식 및 처리 방법, 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR20230053272A (ko) 인공 지능을 이용한 이미지 처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
CN117437647A (zh) 基于深度学习和计算机视觉的甲骨文字检测方法
KR102475004B1 (ko) 그림 상 객체 분석을 기반으로 한 심리 분석 방법 및 이러한 방법을 수행하는 장치
Oh et al. Scribble-supervised cell segmentation using multiscale contrastive regularization
Castillo et al. Object detection in digital documents based on machine learning algorithms
Qin et al. Laba: Logical layout analysis of book page images in arabic using multiple support vector machines
CN113903025A (zh) 场景文本检测方法、装置和模型及其训练方法和训练装置
CN113837167A (zh) 一种文本图像识别方法、装置、设备及存储介质
Lapertot et al. Supervised Learning of Hierarchical Image Segmentation
Uzair et al. Electronet: An enhanced model for small-scale object detection in electrical schematic diagrams
Tamrin et al. Simultaneous detection of regular patterns in ancient manuscripts using GAN-Based deep unsupervised segmentation
CN114329472B (zh) 基于双重嵌入与模型剪枝的bios恶意程序检测方法及装置
Afreen et al. Handwritten Digit Recognition using Ensemble learning techniques: A Comparative performance Analysis
CN111583288B (zh) 一种视频多目标关联与分割方法及系统

Legal Events

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