KR20200052416A - 객체 영역 추출을 수행하는 인공 신경망을 위한 학습 데이터를 생성하는 방법 및 장치 - Google Patents

객체 영역 추출을 수행하는 인공 신경망을 위한 학습 데이터를 생성하는 방법 및 장치 Download PDF

Info

Publication number
KR20200052416A
KR20200052416A KR1020180127900A KR20180127900A KR20200052416A KR 20200052416 A KR20200052416 A KR 20200052416A KR 1020180127900 A KR1020180127900 A KR 1020180127900A KR 20180127900 A KR20180127900 A KR 20180127900A KR 20200052416 A KR20200052416 A KR 20200052416A
Authority
KR
South Korea
Prior art keywords
image
annotation data
primary
information
source image
Prior art date
Application number
KR1020180127900A
Other languages
English (en)
Other versions
KR102114367B1 (ko
Inventor
서일근
김성진
김태녕
김지영
Original Assignee
카페24 주식회사
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 카페24 주식회사 filed Critical 카페24 주식회사
Priority to KR1020180127900A priority Critical patent/KR102114367B1/ko
Publication of KR20200052416A publication Critical patent/KR20200052416A/ko
Application granted granted Critical
Publication of KR102114367B1 publication Critical patent/KR102114367B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06K9/627

Abstract

컴퓨팅 디바이스에 의해 수행되는, 객체 영역 추출을 수행하는 인공 신경망을 위한 학습 데이터를 생성하는 방법이 제공된다. 방법은, 이미지 분류 모델을 이용하여, 적어도 하나의 소스 이미지들에 대해 상기 소스 이미지들 각각에 포함된 객체의 종류를 분류하고, 객체 인식 모델을 이용하여, 상기 적어도 하나의 소스 이미지들에 각각 포함된 객체의 1 차 주석 (Annotation) 데이터를 추출하며, 사용자 단말로 상기 소스 이미지 및 상기 1 차 주석 데이터를 송신하고, 상기 사용자 단말로부터 수신한 정보를 기반으로 상기 소스 이미지에 대한 최종 주석 데이터를 생성하고, 상기 소스 이미지 및 상기 소스 이미지에 대응하는 상기 최종 주석 데이터를 학습 데이터로서 저장한다.

Description

객체 영역 추출을 수행하는 인공 신경망을 위한 학습 데이터를 생성하는 방법 및 장치{AN APPARATUS FOR GENERATING TRAINING SET FOR ARTIFICIAL NEURAL NETWORK PERFORMING OBJECT AREA EXTRACTION}
본 발명은 학습 데이터를 생성하는 방법 및 장치에 관한 것으로서, 보다 구체적으로는 객체 영역 추출을 수행하는 인공 신경망을 위한 학습 데이터를 생성하는 방법 및 장치에 관한 것이다.
쇼핑몰에서 상품을 판매하기 위해서는 기본적으로 상품에 대한 설명을 필요로 하며, 상품 설명 시에는 보다 명확한 전달을 위해 상품에 대한 이미지를 제공하는 것이 필요하다. 이때 쇼핑몰은 상품 이미지에 대해 객체 영역 추출 작업 (소위, '누끼 작업' 이라고도 지칭됨) 을 수행하여, 예를 들어 도 1 에 도시된 바와 같이 하나의 이미지 내에 존재하는 다수 개의 상품 객체에 대한 누끼 이미지를 생성할 수 있다. 누끼 작업은, 이미지 내에 포함된 전체 (모델) 이미지에 대해서 수행될 수 있으며 (10), 보다 구체적으로 이미지 내에 포함된 상의 이미지에 대한 누끼 처리를 수행하고 (21), 이미지 내에 포함된 하의 이미지에 대한 누끼 처리를 수행하고 (23), 이미지 내에 포함된 신발 이미지에 대한 누끼 처리를 수행 (25) 할 수 있다. 이처럼 각 상품에 대한 누끼 작업이 완료되면, 해당 상품에 대해서 보다 명확하게 상품 설명 및 대응되는 이미지를 함께 제공하는 것이 가능하다.
구체적으로, 누끼 작업은 도 1 에 도시된 바와 같이 이미지 내의 필요한 객체 영역만을 분리하여 구분하는 것을 의미할 수 있다. 이와 같은 누끼 작업을 위해서는 많은 공수와 시간이 소요되며 복잡도가 높은 누끼 작업을 할 경우 큰 어려움이 존재한다.
관련하여, 누끼 작업에 관련된 대표적인 알고리즘으로 시맨틱 분할 (Semantic Segmentation), 그랩컷 (Grabcut) 및 객체 검출 (Object Detection) 알고리즘을 예시할 수 있다.
시맨틱 분할이란 이미지 내에 포함된 객체 위치 정보에 대한 별도의 힌트 없이 자동으로 이미지 내 존재하는 객체 영역을 인식하여 위치 정보 및 객체에 대한 라벨 정보를 같이 제공하는 기술이다. 단, 자동 인식되어 처리된 객체 위치 정보의 정교함 및 정확도가 떨어질 수 있다.
그랩컷 알고리즘은 사용자로부터의 입력을 기반으로, 이미지 내 객체 영역에 대한 위치 정보 힌트 (예를 들어, 박스 처리) 를 제공할 경우, 자동으로 객체의 위치 정보를 잡아준다. 별도의 위치 정보에 대한 힌트를 제공해야 한다는 단점이 있는 반면 배경이 단순할 경우 정확도가 매우 높은 결과물이 출력될 수 있다.
객체 검출 알고리즘은 이미지 내에서 객체의 영역을 인식하는 인공지능 기술로써, 이미지 내 다수 개의 사물 또는 인물이 존재하더라도 각 영역을 자동으로 인식하여 어떤 객체인지 분석해주는 기술을 나타낼 수 있다.
전술한 바와 같이, 누끼 작업을 수작업으로 직접 수행하는 것은 상당한 공수와 시간을 요구하는바, 누끼 작업을 위해서 클래스 (Class) 라고 부르는 객체를 인식하는 인공 신경망이 사용될 수 있다. 따라서, 높은 클래스 인식률을 통한 누끼 결과물을 향상시키기 위해서는 대량의 클래스 정보의 추가가 반드시 필요하다. 즉, 클래스에 대한 인공 신경망의 학습을 위해서는 객체의 위치 정보가 포함되어 있는 이미지와 해당 이미지가 무엇을 의미하는지에 대한 답, 즉 라벨이 필요하다. 이렇게 클래스 정보를 향상시키기 위하여 이미지 내 객체 위치 정보와 해당 이미지 정보에 해당하는 라벨이 매칭되어 만들어진 데이터를 주석 데이터 (Annotation data)라고 지칭할 수 있다. 주석 데이터들이 생성되어 이를 기반으로 인공 신경망을 학습시킴으로써, 인공 신경망을 이용하여 클래스를 다양하고 정확도 높게 인식할 수 있게 되면 누끼 작업에 드는 공수 및 시간을 감소시킬 수 있다.
하지만, 해당 주석 데이터를 만드는데 있어서는 상기 서술된 내용과 같이 많은 공수, 시간, 번거로움이 존재하여 사람이 수동으로 모두 처리하기에는 한계가 존재한다.
한국 공개특허공보 제 2018-0107988 호 ("객체 탐지 장치 및 방법", 한국전자통신연구원)
전술한 문제점을 해결하기 위한 본 발명의 일 예시적인 목적은 이미지로부터 객체 영역 추출을 수행할 수 있는 인공 신경망을 위한 학습 데이터들을 보다 쉽고 빠르게 생성할 수 있도록 하는, 인공 신경망을 위한 학습 데이터의 생성 방법을 제공하는 것이다.
전술한 문제점을 해결하기 위한 본 발명의 다른 예시적인 목적은 이미지로부터 객체 영역 추출을 수행할 수 있는 인공 신경망을 위한 학습 데이터들을 보다 쉽고 빠르게 생성할 수 있도록 하는, 인공 신경망을 위한 학습 데이터의 생성 장치를 제공하는 것이다.
다만, 본 발명의 해결하고자 하는 과제는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 객체 영역 추출을 수행하는 인공 신경망을 위한 학습 데이터를 생성하는 방법은, 이미지 분류 모델을 이용하여, 적어도 하나의 소스 이미지들에 대해 상기 소스 이미지들 각각에 포함된 객체의 종류를 분류하는 단계; 객체 인식 모델을 이용하여, 상기 적어도 하나의 소스 이미지들에 각각 포함된 객체의 1 차 주석 (Annotation) 데이터를 추출하는 단계; 사용자 단말로 상기 소스 이미지 및 상기 1 차 주석 데이터를 송신하고, 상기 사용자 단말로부터 수신한 정보를 기반으로 상기 소스 이미지에 대한 최종 주석 데이터를 생성하는 단계; 및 상기 소스 이미지 및 상기 소스 이미지에 대응하는 상기 최종 주석 데이터를 학습 데이터로서 저장하는 단계를 포함할 수 있다.
일 측면에 따르면, 상기 분류하는 단계 이전에, 원본 이미지를 상기 적어도 하나의 소스 이미지들로 분할하는 단계를 더 포함할 수 있다.
일 측면에 따르면, 상기 원본 이미지는, 인터넷 쇼핑몰 사이트로부터 획득된 것이고, 대표 이미지 및 하나 이상의 상품 설명 이미지를 포함할 수 있다.
일 측면에 따르면, 상기 분할하는 단계는, 상기 원본 이미지 내에서 제 1 방향의 시점과 종점을 연결한 직선이 공백 영역으로만 구성되는 경계선들을 기준으로, 상기 원본 이미지를 제 1 방향으로 분할하는 단계; 및 상기 제 1 방향으로 분할된 이미지들 내에서 상기 제 1 방향과 수직인 제 2 방향의 시점과 종점을 연결한 직선이 공백 영역으로만 구성되는 경계선들을 기준으로, 상기 제 1 방향으로 분할된 이미지들 각각을 제 2 방향으로 분할하는 단계를 포함할 수 있다.
일 측면에 따르면, 상기 분할하는 단계는, 상기 제 1 방향 및 상기 제 2 방향으로 분할된 복수의 이미지들 중 미리 결정한 제 1 크기 이하의 이미지, 공백 영역의 비율이 미리 결정한 제 1 비율 이하인 이미지 및 상품 스펙 정보를 포함한 이미지 중 적어도 하나를 폐기하는 단계를 더 포함할 수 있다.
일 측면에 따르면, 상기 분류하는 단계는, 상기 적어도 하나의 소스 이미지들 중 모델의 전신 영역을 포함하는 이미지를 추출하는 단계; 상기 적어도 하나의 소스 이미지들 중 모델의 상반신 또는 하반신 영역을 포함하는 이미지를 추출하는 단계; 및 기 적어도 하나의 소스 이미지들 중 상품 영역을 포함하는 이미지를 추출하는 단계를 포함할 수 있다.
일 측면에 따르면, 상기 1 차 주석 데이터는, 1 차 객체 위치 정보 및 1 차 객체 라벨 정보를 포함하고, 상기 최종 주석 데이터는, 최종 객체 위치 정보 및 최종 객체 라벨 정보를 포함할 수 있다.
일 측면에 따르면, 상기 1 차 주석 데이터를 추출하는 단계는, 상기 적어도 하나의 소스 이미지들 각각에 대해 객체 검출 (Object Detection) 처리를 수행하여 객체 포함 영역을 인식하고 상기 객체에 대한 1 차 객체 라벨 정보를 인식하며, 상기 인식된 객체 포함 영역에 대해 그랩컷 (Grabcut) 처리를 수행하여 1 차 객체 위치 정보를 결정하거나, 상기 적어도 하나의 소스 이미지들 각각에 대해 시맨틱 분할 (Semantic Segmentation) 처리를 수행하여 상기 1 차 객체 위치 정보 및 1 차 객체 라벨 정보를 결정할 수 있다.
일 측면에 따르면, 상기 1 차 객체 위치 정보 및 상기 최종 객체 위치 정보 중 적어도 하나는, 객체 좌표 정보를 포함하고, 상기 객체 좌표 정보는, 상기 소스 이미지에 포함된 객체의 외곽선을 구성하는 좌표에 대한 정보들의 집합일 수 있다.
일 측면에 따르면, 상기 객체 좌표 정보는, 상기 소스 이미지에 포함된 객체의 외곽선 중 제 1 점의 좌표로부터, 상기 객체의 외곽선 중 상기 제 1 점과 직선으로 연결된 제 2 점의 좌표에 직선 반대 방향을 통해 도달하기까지의 각 점들에 대한 좌표들의 시퀀스를 포함할 수 있다.
일 측면에 따르면, 상기 최종 주석 데이터를 생성하는 단계는, 상기 사용자 단말의 출력부를 통해 상기 적어도 하나의 소스 이미지 및 상기 1 차 주석 데이터를 출력되도록 하고, 상기 사용자 단말의 입력부를 통해 상기 1 차 주석 데이터에 대한 수정 정보 또는 추가 주석 데이터 정보를 입력받도록 할 수 있다.
일 측면에 따르면, 상기 최종 주석 데이터는, 상기 1 차 주석 데이터, 수정 정보 및 추가 주석 데이터 정보 중 적어도 하나를 기반으로 생성될 수 있다.
전술한 문제점을 해결하기 위한 본 발명의 다른 실시예에 따른 장치는, 프로세서, 송수신부 및 메모리를 포함하는, 객체 영역 추출을 수행하는 인공 신경망을 위한 학습 데이터를 생성하는 장치로서, 상기 프로세서는, 이미지 분류 모델을 이용하여, 적어도 하나의 소스 이미지들에 대해 상기 소스 이미지들 각각에 포함된 객체의 종류를 분류하고; 객체 인식 모델을 이용하여, 상기 적어도 하나의 소스 이미지들에 각각 포함된 객체의 1 차 주석 (Annotation) 데이터를 추출하고; 사용자 단말로 상기 소스 이미지 및 상기 1 차 주석 데이터를 송신하고, 상기 사용자 단말로부터 수신한 정보를 기반으로 상기 소스 이미지에 대한 최종 주석 데이터를 생성하고; 그리고 상기 소스 이미지 및 상기 소스 이미지에 대응하는 상기 최종 주석 데이터를 학습 데이터로서 저장하도록 구성될 수 있다.
일 측면에 따르면, 상기 프로세서는, 상기 객체의 종류를 분류하기 전에, 원본 이미지를 상기 적어도 하나의 소스 이미지들로 분할하도록 더 구성될 수 있다.
일 측면에 따르면, 상기 원본 이미지는, 인터넷 쇼핑몰 사이트로부터 획득된 것이고, 대표 이미지 및 하나 이상의 상품 설명 이미지를 포함할 수 있다.
일 측면에 따르면, 상기 분할하는 것은, 상기 원본 이미지 내에서 제 1 방향의 시점과 종점을 연결한 직선이 공백 영역으로만 구성되는 경계선들을 기준으로, 상기 원본 이미지를 제 1 방향으로 분할하는 것; 및 상기 제 1 방향으로 분할된 이미지들 내에서 상기 제 1 방향과 수직인 제 2 방향의 시점과 종점을 연결한 직선이 공백 영역으로만 구성되는 경계선들을 기준으로, 상기 제 1 방향으로 분할된 이미지들 각각을 제 2 방향으로 분할하는 것을 포함할 수 있다.
일 측면에 따르면, 상기 분할하는 것은, 상기 제 1 방향 및 상기 제 2 방향으로 분할된 복수의 이미지들 중 미리 결정한 제 1 크기 이하의 이미지, 공백 영역의 비율이 미리 결정한 제 1 비율 이하인 이미지 및 상품 스펙 정보를 포함한 이미지 중 적어도 하나를 폐기하는 것을 더 포함할 수 있다.
일 측면에 따르면, 상기 분류하는 것은, 상기 적어도 하나의 소스 이미지들 중 모델의 전신 영역을 포함하는 이미지를 추출하는 것; 상기 적어도 하나의 소스 이미지들 중 모델의 상반신 또는 하반신 영역을 포함하는 이미지를 추출하는 것; 및 상기 적어도 하나의 소스 이미지들 중 상품 영역을 포함하는 이미지를 추출하는 것을 포함할 수 있다.
일 측면에 따르면, 상기 1 차 주석 데이터는, 1 차 객체 위치 정보 및 1 차 객체 라벨 정보를 포함하고, 상기 최종 주석 데이터는, 최종 객체 위치 정보 및 최종 객체 라벨 정보를 포함할 수 있다.
일 측면에 따르면, 상기 1 차 주석 데이터를 추출하는 것은, 상기 적어도 하나의 소스 이미지들 각각에 대해 객체 검출 (Object Detection) 처리를 수행하여 객체 포함 영역을 인식하고 상기 객체에 대한 1 차 객체 라벨 정보를 인식하며, 상기 인식된 객체 포함 영역에 대해 그랩컷 (Grabcut) 처리를 수행하여 1 차 객체 위치 정보를 결정하거나, 상기 적어도 하나의 소스 이미지들 각각에 대해 시맨틱 분할 (Semantic Segmentation) 처리를 수행하여 상기 1 차 객체 위치 정보 및 1 차 객체 라벨 정보를 결정할 수 있다.
일 측면에 따르면, 상기 1 차 객체 위치 정보 및 상기 최종 객체 위치 정보 중 적어도 하나는, 객체 좌표 정보를 포함하고, 상기 객체 좌표 정보는, 상기 소스 이미지에 포함된 객체의 외곽선을 구성하는 좌표에 대한 정보들의 집합일 수 있다.
일 측면에 따르면, 상기 객체 좌표 정보는, 상기 소스 이미지에 포함된 객체의 외곽선 중 제 1 점의 좌표로부터, 상기 객체의 외곽선 중 상기 제 1 점과 직선으로 연결된 제 2 점의 좌표에 직선 반대 방향을 통해 도달하기까지의 각 점들에 대한 좌표들의 시퀀스를 포함할 수 있다.
일 측면에 따르면, 상기 최종 주석 데이터를 생성하는 것은, 상기 사용자 단말의 출력부를 통해 상기 적어도 하나의 소스 이미지 및 상기 1 차 주석 데이터를 출력되도록 하고, 상기 사용자 단말의 입력부를 통해 상기 1 차 주석 데이터에 대한 수정 정보 또는 추가 주석 데이터 정보를 입력받도록 할 수 있다.
일 측면에 따르면, 상기 최종 주석 데이터는, 상기 1 차 주석 데이터, 수정 정보 및 추가 주석 데이터 정보 중 적어도 하나를 기반으로 생성될 수 있다.
전술한 문제점을 해결하기 위한 본 발명의 다른 실시예에 따른 컴퓨터 판독 가능한 저장 매체는, 프로세서 실행 가능한 명령어들을 포함하는 컴퓨터 판독 가능한 저장 매체로서, 상기 명령어들은 상기 프로세서에 의해 실행되었을 때 상기 프로세서로 하여금, 이미지 분류 모델을 이용하여, 적어도 하나의 소스 이미지들에 대해 상기 소스 이미지들 각각에 포함된 객체의 종류를 분류하고; 객체 인식 모델을 이용하여, 상기 적어도 하나의 소스 이미지들에 각각 포함된 객체의 1 차 주석 (Annotation) 데이터를 추출하고; 사용자 단말로 상기 소스 이미지 및 상기 1 차 주석 데이터를 송신하고, 상기 사용자 단말로부터 수신한 정보를 기반으로 상기 소스 이미지에 대한 최종 주석 데이터를 생성하고; 그리고 상기 소스 이미지 및 상기 소스 이미지에 대응하는 상기 최종 주석 데이터를 학습 데이터로서 저장하게 하도록 구성될 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
전술한 본 발명의 일 실시예에 따른 인공 신경망을 위한 학습 데이터의 생성 방법 및 장치에 따르면, 이미지로부터 객체 영역 추출을 수행할 수 있는 인공 신경망을 위한 학습 데이터들을 보다 쉽고 빠르게 생성할 수 있다.
구체적으로, 예를 들어 인터넷 쇼핑몰에서 수집될 수 있는 복수의 이미지들로부터 자동으로 소스 이미지들을 추출하고, 자동으로 1 차 주석 데이터를 추출하며, 사용자 단말로 하여금 1 차 주석 데이터를 수정 및 보완하도록 할 수 있어, 빠르고 간편하면서도 더 정확한 훈련 데이터를 생성하도록 할 수 있다.
따라서, 생성된 훈련 데이터를 기반으로 인공 신경망을 훈련시키는 것에 의해, 고 정밀도를 가지고 누끼 작업을 보다 편리하게 수행할 수 있어, 상품에 대한 정확한 설명을 제공하는 것 역시 가능하다.
도 1 은 이미지로부터의 객체 영역 추출 작업의 예시를 나타낸다.
도 2 는 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 구현이 가능한 컴퓨팅 디바이스의 예시도이다.
도 3 은 본 발명의 일 실시예에 따른 학습 데이터 생성을 위한 시스템의 예시도이다.
도 4 는 본 발명의 일 실시예에 따른 학습 데이터 생성 방법의 흐름도이다.
도 5 는 수집된 쇼핑몰 이미지의 예시도이다.
도 6 은 이미지 1 차 전처리 단계의 상세 흐름도이다.
도 7 은 원본 이미지 분할 절차의 예시도이다.
도 8 은 분할된 소스 이미지들의 예시도이다.
도 9 내지 도 11 은 객체 종류 분류 절차의 예시도이다.
도 12 는 분류된 소스 이미지들의 예시도이다.
도 13 은 이미지 파일 테이블의 예시도이다.
도 14 는 이미지 2 차 전처리 단계의 상세 흐름도이다.
도 15 는 객체 검출 및 그랩컷 기법에 따른 1 차 주석 데이터 추출 절차의 예시도이다.
도 16 은 시맨틱 분할에 따른 1 차 주석 데이터 추출 절차의 예시도이다.
도 17 은 1 차 주석 데이터 테이블의 예시도이다.
도 18 은 객체 좌표 정보의 개념도이다.
도 19 는 1 차 주석 데이터의 보정 절차에 대한 예시도이다.
도 20 은 보정 절차에서 사용되는 단축키의 예시도이다.
도 21 은 학습 데이터 저장 단계의 상세 흐름도이다.
도 22 는 객체 위치 정보 테이블, 객체 라벨 정보 테이블 및 최종 주석 데이터 테이블의 예시도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
앞서 설명한 바와 같이, 상품의 설명을 위해서는 상품에 대한 이미지를 제공하는 것이 필요하고, 이미지 내에서 상품 객체에 대해 객체 영역 추출 작업 (누끼 작업) 을 수행하여 해당 상품 객체를 정확히 표시하거나, 해당 상품 객체에 대한 정보를 제공할 수 있으면 더욱 자세하고 직관적인 설명이 가능하다. 여기서, 이미지에 대한 하나 이상의 객체 영역 추출 작업은 큰 공수와 시간을 필요로하여, 인공 신경망을 훈련시켜 자동으로 이미지로부터 객체 영역을 추출하도록 할 수 있지만, 이러한 인공 신경망의 정확도는 훈련에 사용된 데이터의 개수 및 정확도에 의해 좌우된다. 다만, 이러한 훈련 데이터의 생성 역시, 수작업으로 진행할 때 매우 큰 공수와 시간을 요하는 것인 바, 본 발명의 일 실시예에 따른 방법 및 장치는 이미지에서 객체 영역을 추출하기 위해 사용되는 인공 신경망을 학습시키기 위한 학습 데이터를 보다 간편화하고, 그 정확도 역시 향상시키는 유리한 효과를 가진다.
학습 데이터 생성 장치 및 시스템의 구성
도 2 는 본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 구현이 가능한 컴퓨팅 디바이스의 예시도이다. 도 2 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터 생성 장치를 구현할 수 있는, 컴퓨팅 디바이스 (200) 는 송수신부 (210), 프로세서 (220) 및 메모리 (230) 를 포함할 수 있다.
컴퓨팅 디바이스 (200) 는 송수신부 (210) 를 통해 사용자 단말 (100) 과 정보를 주고 받을 수 있으며, 사용자 단말 (100) 은 입력부 (120) 및 출력부 (110) 를 구비하여 컴퓨팅 디바이스 (200) 로부터 수신한 정보를 출력부 (110) 에 표시되도록 하고, 입력부 (120) 를 통해 입력받은 정보를 컴퓨팅 디바이스 (200) 로 송신하도록 구성될 수 있다.
프로세서 (220) 는, 인공 신경망을 위한 학습 데이터의 생성 작업을 수행할 수 있도록 구성된다. 보다 구체적으로, 프로세서 (220) 는 먼저, 예를 들어 인터넷 쇼핑몰로부터 획득될 수 있는 원본 이미지를 적어도 하나의 소스 이미지들로 분할할 수 있다.
이후, 프로세서 (220) 는 이미지 분류 모델을 이용하여, 적어도 하나의 소스 이미지들에 대해 소스 이미지들 각각에 포함된 객체의 종류를 분류할 수 있다. 여기서, 이미지 분류 모델은, 예를 들어 인공 신경망을 훈련시켜 생성되며, 이미지 파일을 입력으로, 해당 이미지에 포함된 객체의 분류명을 출력으로 하는 AI 모델일 수 있다. 이미지 분류 모델을 이용하는 것은, 소정의 엔티티가 제공하는 이미지 분류 API 를 활용하는 것일 수 있다. 상기 이미지 분류 API 를 구동하기 위한 명령어 또는 상기 훈련된 이미지 분류 모델의 소프트웨어 모듈 중 하나 이상은 예를 들어 메모리 (230) 에 저장될 수도 있다. 쇼핑몰 이미지에 대한 객체 검출을 수행할 경우, 이미지의 분류는 예를 들어 전신 컷, 상반신 또는 하반신 컷 및 상품 컷으로 이미지를 분류할 수 있다.
한편, 프로세서 (220) 는, 객체 인식 모델을 이용하여, 적어도 하나의 소스 이미지들에 각각 포함된 객체의 1 차 주석 (Annotation) 데이터를 추출할 수 있다. 1 차 주석 데이터는, 이미지에 포함된 객체의 위치 정보 및 객체 라벨 정보를 포함할 수 있다. 여기서, 객체 인식 모델은, 예를 들어 인공 신경망을 훈련시켜 생성되며, 이미지 파일을 입력으로, 해당 이미지에 포함된 객체의 위치 정보 및 라벨 정보를 출력으로 하는 AI 모델일 수 있다. 객체 인식 모델을 이용하는 것은, 소정의 엔티티가 제공하는 객체 인식 API 를 활용하는 것일 수 있다. 상기 객체 인식 API 를 구동하기 위한 명령어 또는 상기 훈련된 객체 인식 모델의 소프트웨어 모듈 중 하나 이상은 예를 들어 메모리 (230) 에 저장될 수도 있다.
프로세서 (220) 는, 사용자 단말 (100) 로 소스 이미지 및 앞서 추출된 1 차 주석 데이터를 송신하고, 사용자 단말 (100) 로부터 수신한 정보를 기반으로 소스 이미지에 대한 최종 주석 데이터를 생성할 수 있다. 사용자는, 사용자 단말 (100) 을 이용하여 1 차 주석 데이터를 수정 및/또는 보완하여, 1 차 주석 데이터에 비해 더욱 정확성이 향상된 최종 주석 데이터를 생성하도록 할 수 있다. 비록 도 2 에는 사용자 단말 (100) 이 컴퓨팅 디바이스 (200) 와 별개의 엔티티로 도시되었으나, 사용자 단말 (100) 은 컴퓨팅 디바이스 (200) 와 일체로서 형성되어 입력부 (120) 및 출력부 (110) 를 가질 수도 있다.
이후, 프로세서 (220) 는 소스 이미지 및 그 소스 이미지에 대응하는 최종 주석 데이터를 학습 데이터로서 저장할 수 있다. 학습 데이터는, 예를 들어 메모리 (230) 에 저장될 수 있다.
본 발명의 일 실시예에 따른 학습 데이터 생성 장치의 보다 구체적인 동작은, 본 명세서에서 이후 설명하는 본 발명의 일 실시예에 따른 학습 데이터 생성 방법에 따를 수 있다.
한편, 본 발명의 일 실시예에 따른 학습 데이터의 생성은 도 2 에 도시된 바와 달리, 복수의 엔티티들로서 구성되는 시스템에 의해 수행될 수도 있다. 도 3 은 본 발명의 일 실시예에 따른 학습 데이터 생성을 위한 시스템의 예시도이다. 도 3 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터의 생성을 위한 시스템은, 이미지 분류/처리 AI API 서버 (330), 이미지 인식 AI API 서버 (350), 인공지능 학습 서버 (380), 이미지 서버 (320), 이미지 가공 서버 (340), AIPD DB 서버 (360) 및 AIPD 서버 (370) 를 포함할 수 있다.
일 측면에 따르면, 인터넷 (310) 으로부터 인공지능 데이터 학습에 필요한 원본 이미지 (이하, 'raw data 이미지'라고도 지칭될 수 있음) 를 수집할 수 있다.
이미지 서버 (320) 는, 인터넷 (310) 으로부터 수집된 원본 이미지들을 저장할 수 있다.
이미지 분류/처리 AI API 서버 (330) 는, 이미지 서버 (320) 에 저장된 이미지를 스캔, 분석하여 멀티 크롭 및 이미지 종류 분류를 처리하는 AI API 서버일 수 있으며, 주석 데이터 (Annotation data) 의 추출 작업을 수행하기 이전의 데이터 전처리를 수행하여 원본 이미지로부터 하나 이상의 소스 이미지들을 형성하도록 구성되는 서버일 수 있다. 이때, 해당 서버는 처리된 결과물인 소스 이미지들을 이미지 가공 서버 (340) 로 저장할 수 있다.
이미지 가공 서버 (340) 는, 멀티 크롭 및 이미지 종류 분류 처리가 완료된 데이터를 저장하는 서버일 수 있고, 여기서, AIPD DB 서버 (360) 에 이미지 위치에 대한 디렉토리 정보를 함께 저장할 수도 있다.
이미지 인식 AI API 서버 (350) 는, 이미지 가공 서버 (340) 에 저장된 소스 이미지들의 데이터를 2 차 전처리하여, AIPD 서버 (370) 에서 최종 주석 데이터 생성 작업이 용이하게 수행되도록 할 수 있다. 이미지 인식 AI API 서버 (350) 는, 일 측면에 따라 i) 그랩컷 (Grabcut) 기법 및 객체 검출 (Object Detection) 기법을 이용하거나, 또는 시맨틱 분할 (Semantic segmentation) 기법을 이용하여 2 차 전처리를 수행하여, 1 차 주석 데이터 (Raw annotation data) 를 추출할 수 있고, 추출된 1 차 주석 데이터를 AIPD DB 서버 (360) 에 저장할 수 있다.
AIPD 서버 (370) 는, AIPD DB 서버 (360) 로부터의 1 차 주석 데이터를 최종 보정 작업하여, 최종 주석 데이터를 생성할 수 있는, 인공지능 학습 데이터 전처리 툴을 제공할 수 있다. 일 측면에 따르면, AIPD 서버 (370) 는 AIPD 서버 (370) 와 일체로, 또는 별개로서 구비되는 사용자 단말을 통해, 사용자가 1차 주석 데이터 및 소스 이미지를 기반으로 누락된 객체를 추가하여 객체 영역 검출 작업 (누끼 작업) 을 보완하거나, 1 차 주석 데이터를 통해 확인된 영역을 더욱 정확하게 수정하거나, 잘못된 객체 라벨을 수정하는 것과 같이, 1 차 주석 데이터를 수정 및/또는 보완하도록 할 수 있다.
한편, AIPD DB 서버 (360) 에는, AIPD 서버 (370) 를 통해 최종 보정 작업이 완료된 최종 주석 데이터가 저장될 수 있다. 해당 서버에 저장될 때는 이미지 위치 정보와 해당 이미지 정보에 해당하는 라벨이 매칭되어 저장될 수 있다. 일 측면에 따르면, 저장된 주석 데이터 및 소스 이미지를 포함하는 학습 데이터는 인공지능 학습을 위해 인공지능 학습 서버 (380) 로 제공될 수 있다.
인공지능 학습 서버 (380) 는, AIPD DB 서버 (360) 에 저장된 최종 주석 데이터를 기반으로 인공지능 기술을 통해 학습하는 서버이다. 이때, 학습이 완료된 데이터는 이미지 인식 AI API 서버로 다시 제공되어 기존의 인공지능 학습 모델을 업데이트시킬 수 있다.
이하, 도 3 에 도시된 바와 같은 별개의 AI API 서버들 또는 복수의 데이터 서버들을 예시하여 설명되더라도, 본 발명의 실시예에 따른 학습 데이터의 생성은 예를 들어 도 2 에 도시된 바와 같은, 컴퓨팅 디바이스 (200) 의 프로세서 (200), 송수신부 (210) 및 메모리 (230) 를 이용하여 구현될 수도 있음이 해당 기술 분야의 통상의 지식을 가진 자에게 자명할 것이다.
학습 데이터의 생성 방법
도 4 는 본 발명의 일 실시예에 따른 학습 데이터 생성 방법의 흐름도이다. 이하, 도 4 를 참조하여, 본 발명의 일 실시예에 따른 학습 데이터의 생성 방법에 대해서 보다 상세하게 설명한다.
도 4 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터의 생성 방법은, 학습 데이터 생성을 위한 이미지를 준비하고 (단계 410), 준비된 원본 이미지에 대한 1 차 전처리 (단계 420) 를 통해 원본 이미지의 분할 (단계 421) 및 객체 종류 분류 (단계 423) 를 수행하고, 이어서 2 차 전처리 (단계 430) 를 통해 1 차 주석 데이터를 추출할 수 있다. 이후, 2 차 전처리에 따라 생성된 1 차 주석 데이터를 보정하여 (단계 440), 최종 주석 데이터를 결정할 수 있다. 생성된 최종 주석 데이터 및 대응되는 소스 이미지는 인공지능의 학습 데이터로서 저장된다 (단계 450).
이미지 준비 단계 (단계 410) 에서는, 인공 지능 학습에 사용할 이미지를 사전에 수집할 수 있다. 예를 들어, 이미지는 인터넷 쇼핑몰 사이트로부터 획득될 수 있다. 이러한 이미지들은 쇼핑몰 대표 이미지 및 상품 상세 페이지에 포함된 이미지 (이하, '상품 설명 이미지'라고도 지칭될 수 있음) 를 포함할 수 있다.
1 차 전처리 단계 (단계 420) 에서는, 준비 단계에서 수집된 이미지를 대상으로 인공지능 학습 시 사용 가능한 이미지로 사전 멀티 크롭 및 이미지 종류 분류를 처리할 수 있다.
2 차 전처리 단계 (단계 430) 에서는, 1 차 전처리에 의해 선별된 이미지를 대상으로 예를 들어 그랩컷 및 객체 검출 알고리즘의 적용, 또는 시맨틱 분할 알고리즘의 적용을 수행할 수 있다.
보정 작업 단계 (단계 440) 에서는, 2 차 전처리의 결과인 1 차 주석 데이터를 작업자에게 제공하여 Raw annotation data에 대한 보정 작업을 진행할 수 있다.
학습 데이터의 저장 단계 (단계 450) 에서는, 보정의 결과를 최종 주석 데이터로서 저장하여 인공지능 학습에 사용될 수 있게 저장할 수 있다.
이하, 각 단계를 도면을 참조하여 보다 구체적으로 설명한다.
도 5 는 수집된 쇼핑몰 이미지의 예시도이다. 도 5 에 도시된 바와 같이, 이미지 준비 단계 (단계 410) 에서는 인공지능 학습에 사용할 이미지를 사전에 수집할 수 있다. 수집된 이미지를 원본 이미지라 지칭할 수 있으며, 원본 이미지는 인터넷 (310) 을 통해 수집될 수 있으나, 그 수집 방법이 특정 방법으로 제한되는 것은 아니다. 일 측면에 따르면, 원본 이미지의 출처는 쇼핑몰 홈페이지일 수 있다. 쇼핑몰 홈페이지에서는 특정 상품에 대한 이미지를 게시하고 있으며, 원본 이미지는 대표 이미지 및 상품 상세 페이지 이미지 (이하, '상품 설명 이미지' 라고도 함) 를 포함할 수 있다. 따라서, 도 5 에 도시된 바와 같이, 수집된 원본 이미지는 대표 이미지 (510) 및 상품 상세 페이지 이미지 (520) 들을 포함할 수 있다. 상품 설명 이미지들은 모델은 전신을 포함한 이미지, 모델의 상반신 또는 하반신을 포함한 이미지, 또는 상품 자체만을 포함한 이미지들을 포함할 수 있다. 수집된 이미지들은 예를 들어 이미지 서버 (320) 또는 메모리 (230) 에 저장될 수 있다.
도 6 은 이미지 1 차 전처리 단계의 상세 흐름도이다. 앞서 도 4 를 통해 설명한 바와 같이, 이미지 1 차 전처리 단계는 먼저 원본 이미지를 상기 적어도 하나의 소스 이미지들로 분할 (단계 421) 하고, 이미지 분류 모델을 이용하여, 적어도 하나의 소스 이미지들에 대해 소스 이미지들 각각에 포함된 객체의 종류를 분류 (단계 423) 할 수 있다.
도 6 은 이미지 1 차 전처리 단계에 대한 보다 구체적인 예시 흐름도이다. 도 6 에 도시된 바와 같이, 이미지 1 차 전처리 단계에서는 먼저 원본 이미지를 스캔 (단계 605) 하고, 원본 이미지의 사용 가능 여부를 판단 (단계 610) 할 수 있다. 일 측면에 따른 판단 기준은, 공백으로 인식되는 색상 (예를 들어 흰색) 의 영역을 제외한 이미지 존재 영역만을 선별하는 것일 수 있다. 사용가능하지 않다고 판단되면, 해당 이미지는 폐기 (단계 615) 된다. 사용 가능하다고 판단되면, 유효 이미지 멀티 크롭 (단계 620) 에서 원본 이미지를 적어도 하나의 소스 이미지들로 분할한다.
이미지의 분할은, 예를 들어 가로에서 세로의 순서대로 시작점과 끝점이 연결되는 한 줄이 모두 공백으로 이어지는 선을 기준으로 크롭을 계속하여 유효한 이미지들만 남을 때까지 해당 작업을 반복하는 것일 수 있다.
도 7 은 원본 이미지 분할 절차의 예시도이고, 도 8 은 분할된 소스 이미지들의 예시도이다. 도 7 의 이미지 분할 시점 (70-1) 에 도시된 바와 같이, 원본 이미지 내에서 제 1 방향의 시점과 종점을 연결한 직선이 공백 영역으로만 구성되는 경계선들 (710-1, 720-2, 710-3, 710-4, 710-4, 710-5, 710-6) 을 기준으로, 원본 이미지를 제 1 방향으로 분할하고, 이어서 제 1 방향으로 분할된 이미지들 내에서, 제 1 방향과 수직인 제 2 방향의 시점과 종점을 연결한 직선이 공백 영역으로만 구성되는 경계선들 (720-1, 720-2, 720-3) 을 기준으로, 제 1 방향으로 분할된 이미지들 각각을 제 2 방향으로 분할할 수 있다. 분할된 이미지들 내에서 다시 제 1 방향 또는 제 2 방향의 경계선들을 기준으로 이미지가 분할될 수 있다. 경계선들은 도 7 에 도시된 바와 같이, 시점과 종점을 연결한 직선이 전부 공백 영역을 지나다가, 공백 영역이 포함되지 않는 지점을 만나는 위치로 결정될 수 있다. 다시 도 6 을 참조하면, 분할된 이미지들의 사용 가능 여부를 판단 (단계 625) 하되, 예를 들어 상품 또는 모델의 이미지 사이즈가 최소 300 픽셀보다 큰 이미지만 선별하는 것일 수 있다. 즉, 제 1 방향 및 제 2 방향으로 분할된 복수의 이미지들 중 미리 결정한 제 1 크기 이하의 이미지는 사용불가능한 것으로 결정될 수 있다. 또한, 공백 영역의 비율이 미리 결정한 제 1 비율 이하인 이미지 역시 사용 불가능한 것으로 결정될 수 있다. 예를 들어, 공백 영역이 70 % 이상인 이미지는 사용 불가능한 것으로 결정될 수 있다. 사용 불가능한 것으로 판단된 이미지는 폐기 (단계 630) 된다. 도 7 의 이미지 선별 시점 (70-2) 에 도시된 바와 같이, 사용 가능한 이미지 (730) 들과 사용 불가능한 이미지 (740) 들이 구별되면, 도 8 에 도시된 바와 같이 사용 가능한 이미지들만 소스 이미지로서 저장될 수 있다.
사용가능한 소스 이미지들이 선별되면, 해당 이미지들은 각 이미지에 포함된 객체의 종류에 따라 구분될 수 있다. 즉, 도 6 에 도시된 바와 같이, 적어도 하나의 소스 이미지들 중 모델의 전신 영역을 포함하는 이미지를 추출 (단계 640) 하고, 적어도 하나의 소스 이미지들 중 모델의 상반신 또는 하반신 영역을 포함하는 이미지를 추출 (단계 650) 하고, 적어도 하나의 소스 이미지들 중 상품 영역을 포함하는 이미지를 추출 (단계 660) 할 수 있다. 도 9 내지 도 11 은 객체 종류 분류 절차의 예시도이다. 도 9 에 도시된 바와 같이, 크롭된 이미지들 가운데 모델 전신이 모두 존재하는 이미지 (910, 920, 930) 들만 분류할 수 있으며, 도 10 에 도시된 바와 같이, 크롭된 이미지들 중 상반신 또는 하반신이 존재하는 이미지 (1010, 1020, 1030) 들만 분류할 수 있고, 도 11 에 도시된 바와 같이, 크롭된 이미지들 가운데 상품 컷만 존재하는 이미지 (1110, 1120, 1130, 1140) 들만 분류할 수 있다. 도 12 는 분류된 소스 이미지들의 예시도이다. 도 12 에 도시된 바와 같이, 분류 절차를 거쳐 소스 이미지들은 모델 전신컷 (1210), 상반신 / 하반신 컷 (1220) 및 상품컷 (1230) 으로 분류될 수 있다. 도 6 에 도시된 바와 같이, 이미지 1 차 전처리 단계에서의 각 단계들은 예를 들어 이미지 분류/처리 인공지능 API 에 의해 수행될 수 있다. 상기와 같은 객체 종류 분류를 위한 통상의 AI 모델 중 어느 하나가 사용될 수 있다. 또한, 전술한 바와 같이 본 발명이 컴퓨팅 디바이스에 의해 수행될 때 상기 작업은 프로세서 상에서 수행되는 AI 모델에 의해 수행될 수도 있다.
다시 도 6 을 참조하면, 추출된 이미지들에 대해 다시 한번 사용 가능 여부를 판단 (단계 670) 할 수 있다. 예를 들어, 상품 스펙 정보 (사이즈, 소재, 수치 등) 가 포함되지 아니한 이미지들만 선별할 수 있으며, 사용 불가능한 이미지를 폐기 (단계 680) 하고, 사용 가능한 이미지들을 선별하여 1 차 이미지 전처리가 중료될 수 있다. 1 차 전처리를 통해 획득된 결과물은, 이미지 가공 서버 (340) 또는 메모리 (230) 에 저장될 수 있다. 저장될 때에는, 도 13 에 도시된 바와 같은 이미지 파일 테이블을 생성하여 1 차 전처리를 통해 획득된 결과물을 저장할 수 있다.
다시 도 4 를 참조하면, 1 차 전처리를 통해 획득된 결과물은 2 차 이미지 전처리의 대상이 될 수 있다 (단계 430). 도 14 는 이미지 2 차 전처리 단계의 상세 흐름도이다. 이미지 2 차 전처리는, 예를 들어 객체 인식 모델을 이용하여, 적어도 하나의 소스 이미지들에 각각 포함된 객체의 1 차 주석 (Annotation) 데이터를 추출하는 것일 수 있다. 1 차 주석 데이터는, 1 차 객체 위치 정보 및 1 차 객체 라벨 정보를 포함할 수 있다. 도 14 를 참조하여, 이미지 2 차 전처리 단계를 보다 구체적으로 설명한다.
이미지 2 차 전처리를 위해, 먼저 1 차 전처리를 거친 이미지들이 스캔 (단계 1405) 될 수 있다. 도 14 에 도시된 바와 같이, 이미지 2 차 전처리 단계에서의 각 단계들은 예를 들어 이미지 인식 인공지능 API 에 의해 수행될 수 있다. 이미지 내의 객체 인식을 위한 통상의 AI 모델 중 어느 하나가 사용될 수 있다. 또한, 전술한 바와 같이 본 발명이 컴퓨팅 디바이스에 의해 수행될 때 상기 작업은 프로세서 상에서 수행되는 AI 모델에 의해 수행될 수도 있다.
객체 인식 모델을 이용하여, 적어도 하나의 소스 이미지들에 각각 포함된 객체의 1 차 주석 (Annotation) 데이터를 추출하는 것은, 소스 이미지들에 각각 포함된 객체의 영역을 나타내는 객체 위지 정보와, 그 객체가 나타내는 대상에 대한 정보인 객체 라벨 정보를 추출하는 것일 수 있다. 여기서, 1 차 데이터는, 최종 데이터 이전의 모델에 의해 획득된 raw annotation data 일 수 있다.
일 측면에 따라, 2 차 이미지 전처리를 위해 객체 검출 (Object Detection) 처리 및 그랩컷 (Grabcut) 처리가 수행될 수 있다. 도 14 에 도시된 바와 같이, 스캔된 소스 이미지들에 대해 객체 검출 처리 (단계 1410) 을 수행하여 객체가 포함된 영역 (예를 들면, 사각형의 영역) 을 검출하고, 해당 객체의 객체 라벨 정보를 추출 (단계 1415) 한 뒤, 해당 객체가 포함된 영역에 대해서 그랩컷 처리를 수행함으로써 (단계 1420), 객체가 위치하고 있는 영역에 대한 정보인 객체 위치 정보를 추출할 수 있다 (단계 1425). 즉, 적어도 하나의 소스 이미지들 각각에 대해 객체 검출 (Object Detection) 처리를 수행하여 객체 포함 영역을 인식하고 객체에 대한 1 차 객체 라벨 정보를 인식하며, 인식된 객체 포함 영역에 대해 그랩컷 (Grabcut) 처리를 수행하여 1 차 객체 위치 정보를 결정할 수 있다.
도 15 는 객체 검출 및 그랩컷 기법에 따른 1 차 주석 데이터 추출 절차의 예시도이다. 도 15 에 도시된 바와 같이, 먼저 소스 이미지에 대해서 객체 검출을 수행하여, 객체 영역 자동 인식을 하여 라벨 정보 인식 및 정확도 표시를 수행할 수 있다 (1510). 이후, 객체 검출 처리를 통해 제공된 객체 영역 힌트를 기반으로, 객체 포함 영역 (도 15 의 점선 부분) 에 대해서 그랩컷 처리가 가능한 객체 위치 정보 영역 힌트로서 사용할 수 있다 (1520). 이후, 그랩컷 처리를 통해 객체 위치 정보를 자동 인식할 수 있다 (1530).
다시 도 14 를 참조하면, 본 발명의 다른 측면에 따라, 2 차 이미지 전처리를 위해 시맨틱 분할 (Semantic Segmentation) 처리가 수행될 수 있다. 도 14 에 도시된 바와 같이, 스캔된 소스 이미들에 대해 시맨틱 분할 처리를 수행하여 (단계 1430), 객체 위치 정보 및 객체 라벨 정보를 추출할 수 있다 (단계 1435). 도 16 은 시맨틱 분할에 따른 1 차 주석 데이터 추출 절차의 예시도이다. 도 16 에 도시된 바와 같이, 소스 이미지에 대해서 시맨틱 분할 처리를 수행하여, 객체 위치 정보 자동 인식 및 라벨 정보 정확도 표기가 가능하다 (1610).
다시 도 14 를 참조하면, 추출된 객체 위치 정보 및 라벨 정보를 매칭 (단계 1440) 하여, 매칭된 정보들을 포함하여 1 차 주석 데이터로서 저장할 수 있다 (단계 1445). 여기서, 생성된 1 차 주석 데이터는 예를 들어 AIPD DB 서버 (360) 또는 메모리 (230) 에 저장될 수 있으며, 저장을 위해 도 17 에 예시된 바와 같은 1 차 주석 데이터 (Raw annotation data) 테이블이 생성될 수 있다.
한편, 주석 데이터에 포함된 객체 위치 정보는, 객체 좌표 정보를 포함하고, 객체 좌표 정보는, 소스 이미지에 포함된 객체의 외곽선을 구성하는 좌표에 대한 정보들의 집합일 수 있다. 보다 구체적으로, 소스 이미지에 포함된 객체의 외곽선 중 제 1 점의 좌표로부터, 상기 객체의 외곽선 중 상기 제 1 점과 직선으로 연결된 제 2 점의 좌표에 직선 반대 방향을 통해 도달하기까지의 각 점들에 대한 좌표들의 시퀀스를 포함할 수 있다. 도 18 은 객체 좌표 정보의 개념도이다. 도 17 에 도시된 바와 같은, 이미지 내 객체 위치정보의 상세 좌표 정보 (location_info) 는 도 18 에 예시된 바에 따라 추출될 수 있다. 도 18 에 예시된 바와 같이, 민소매 이미지 객체에 대한 위치 정보가 추출되어 있다고 가정하면, 이를 기반으로 상세 좌표 정보를 저장하기 위해서는 제 1 점 (1810) 의 좌표 정보로부터 제 2 점 (1820) 의 좌표 정보까지 점들의 조합으로 이루어진 객체 위치 정보에 대해 한 반향으로 돌며 전체 좌표 정보 (x,y) 를 배열로 저장할 수 있다. 예를 들어, 제 1 점 (1810) 의 좌표 정보가 (364, 62) 일 경우, 다음 연결점 (1840) 의 좌표 정보는 (365, 60) 과 같이 변경된다. 따라서, 상세 좌표 정보는 [(364, 62), (365, 60), (366, 59), ... , (372), 65)] 와 같이 저장될 수 있다. 여기서 제 1 점 (1810) 과 제 2 점 (1820) 은 직선 (1830) 으로 연결되어 있으므로, 제 1 점으로부터 직선 반대 방향으로의 이동 경로에 따른 좌표들만을 저장할 경우에도 최종적으로 제 1 점과 제 2 점을 연결하는 것만으로 객체 영역의 상세 좌표를 결정하도록 할 수 있다.
다시 도 4 를 참조하면, 보정 작업 (단계 440) 를 통해, 생성된 1 차 주석 데이터를 기반으로 보다 정확한 정보를 포함하는 최종 주석 데이터를 결정할 수 있다. 별도로 구비되거나, 컴퓨팅 디바이스 또는 시스템과 일체로서 구비될 수도 있는 사용자 단말로, 생성된 소스 이미지 및 1 차 주석 데이터를 송신하고, 사용자 단말로부터 수신한 정보를 기반으로 소스 이미지에 대한 최종 주석 데이터를 생성할 수 있다.
일 측면에 따르면, 사용자 단말의 출력부를 통해 적어도 하나의 소스 이미지 및 1 차 주석 데이터를 출력되도록 하고, 사용자 단말의 입력부를 통해 1 차 주석 데이터에 대한 수정 정보 또는 추가 주석 데이터 정보를 입력받도록 하여, 이를 기반으로 최종 주석 데이터의 생성이 가능하다. 도 19 는 1 차 주석 데이터의 보정 절차에 대한 예시도이다. 도 19 에 도시된 바와 같이, 사용자 단말의 출력부를 통해 소스 이미지들과 이에 대응하는 1 차 주석 데이터가 표시되도록 할 수 있다. 도 19 의 현황 표시 영역 (1910) 에는 나의 이미지 보정 작업에 대한 처리 현황이 표시되고, 미리보기 영역 (1920) 에는 보정 작업 이미지들의 미리보기가 제공될 수 있다. 작업 파일 표시 영역 (1930) 에는 현재 보정 작업 중인 이미지 파일의 인덱스 (IDX) 가 표시될 수 있고, 완료 표시 영역 (1940) 에 보정 작업의 완료 또는 검수 여부가 체크될 수 있다. 최초 라벨 표시 영역 (1950) 에는 최초 서버에서 이미지인식을 통해 제공한 라벨 정보가 표시된다. 즉, 1 차 내지 2 차 이미지 처리를 통해 형성된 1 차 주석 데이터를 기반으로, 1 차 주석 데이터에 포함된 객체 라벨 정보들이 표시될 수 있다. 자동 추가 라벨 영역 (1960) 에는, 최초 제공되지 않은 이미지 영역에 대해 수동으로 누끼 작업을 수행한 이미지 영역에 대해 API 를 통해 자동 추출된 추가 라벨 정보가 표시될 수 있다. 수동 추가 라벨 영역 (1970) 에는, 자동 추출되지 않은 라벨에 대해서 사용자가 입력부를 통해 수동으로 추가한 라벨 정보가 표시될 수 있다. 즉, 보정 단계 (단계 440) 에서는 추가적인 인공지능 모델을 기반으로 하는 추가 객체 검출이 수행될 수도 있고, 사용자로 하여금 입력부를 통해 신규로 추가 주석 데이터 정보를 생성하도록 할 수 있다. 한편 이미지 영역에서는 자동 처리된 이미지에 대한 보정 작업 처리 진행될 수 있다. 여기서, 마찬 가지로 1 차 객체 위치 정보에 대한 사용자의 입력부를 통한 정밀 보정 작업 진행될 수 있고, 나아가 수동으로 추가한 객체에 대해 추가적인 누끼 작업, 즉 객체 위치 정보에 대한 지정 작업이 수행될 수 있다. 보정 작업을 수행할 때, 작업자의 보정 작업의 편의 및 속도 향상을 위하여, 입력부를 통한 단축기 입력이 가능할 수 있다. 도 20 은 보정 절차에서 사용되는 단축키의 예시도이다. 도 20 에 도시된 바와 같이, 복수의 단축기가 대응되는 기능을 가질 수 있으며, 단축기는 필요에 따라 추가되거나 수정될 수 있다.
다시 도 4 를 참조하면, 보정 작업 (단계 440) 에서 생성되는 최종 주석 데이터는, 1 차 주석 데이터, 수정 정보 및 추가 주석 데이터 정보 중 적어도 하나를 기반으로 생성될 수 있다. 즉, 인공지능 모델을 통해 자동으로 간편하게 수행되는 1 차 이미지 전처리와 2 차 이미지 전처리를 통해 1 차 주석 데이터가 생성될 수 있고, 1 차 주석 데이터와 소스 이미지를 사용자 인터페이스를 통해 작업자에게 제공하여 이에 대한 수정, 보완 작업을 거쳐 생성되는 수정 정보 및 추가 주석 데이터 정보를 더 반영함으로써, 간편하면서도 정확한 최종 주석 데이터의 생성이 가능하다. 최종 주석 데이터는, 1 차 주석 데이터와 유사하게 최종 객체 위치 정보 및 최종 객체 라벨 정보를 포함하고, 최종 객체 위치 정보는 앞서 설명한 객체 좌표 정보를 포함할 수 있다.
다시 도 4 를 참조하면, 작업이 완료된 데이터들을 학습 데이터로서 저장할 수 있다 (단계 450). 소스 이미지 및 이러한 소스 이미지에 대응하는 최종 주석 데이터를 학습 데이터로서 저장할 수 있다. 학습 데이터는, 이미지로부터 자동으로 객체 영역 추출을 수행하여, 이미지에 포함된 객체의 위치 정보와 그 객체의 라벨에 대한 정보를 자동으로 검출할 수 있는 인공 신경망을 학습시키기 위해 사용될 수 있다. 일 측면에 따르면, 본 발명의 일 실시예에 따른 학습 데이터 생성의 2 차 이미지 전처리로서 1 차 주석 데이터를 검출하는 인공 신경망 모델 역시 학습 데이터를 사용하여 훈련된 인공 지능 모델일 수도 있다. 이 경우, 반복되는 학습으로 인공 신경망의 성능이 더욱 향상되어, 보정 작업에 소요되는 시간 및 노력 역시 점점 감소될 수 있다.
도 21 은 학습 데이터 저장 단계의 상세 흐름도이다. 도 21 에 도시된 바와 같이, 데이터의 저장을 위해 작업된 이미지들을 로드하여, 이미지 위치 정보를 검출하고 (단계 2105), 이미지 위치 정보의 존재 여부를 결정 (단계 2110) 할 수 있다. 이미지 위치 정보는 도 22 에 예시된 바와 같은 객체 위치 정보 테이블 (Image location info) 을 기반으로 할 수 있다. 즉, 이미지 위치 정보가 선택되어 있는 데이터만 선별하여, 존재하지 않는 이미지 데이터를 스킵 (단계 2115) 하고, 존재하는 이미지에 대해서 라벨 정보를 추출 (단계 2115) 한다. 라벨 정보의 존재 여부를 판단 (단계 2120) 하되, 도 22 에 예시된 바와 같은 객체 라벨 정보 테이블 (Image label info) 을 기반으로 할 수 있다. 즉, 이미지 위치 정보와 매칭되는 라벨 정보가 있는 데이터만 선별할 수 있다. 라벨 정보가 존재하면, 데이터 매칭 (단계 2160) 을 수행하되, 라벨 정보가 존재하지 않으면, 상품 분류 종류 AI API 호출 매칭 (단계 2125) 을 수행하고, 이는 이미지 인식 AI API 서버 (350) 또는 프로세서 (220) 에 의해 수행될 수 있다. 다시 존재 여부를 결정하여 (단계 2130), AI API 를 통하여 자동으로 매칭된 라벨 정보가 있는 데이터만 선별할 수 있다. 자동으로 매칭된 데이터가 없으면, 수동으로 이를 입력할 수 있고 (단계 1135), 자동으로 매칭된 데이터가 있으면 이를 검수 (단계 2140) 하여, 사용 가능 여부를 결정 (단계 2150) 하되, 사용 가능하다고 결정되면 데이터 매칭을 수행 (단계 2125) 하고, 사용가능하지 않으면 다시 수동으로 라벨 정보를 입력하도록 할 수 있다 (단계 1135). 수동 입력이 완료되면 다시 데이터 매칭 (단계 2160) 을 수행하여, 이미지 위치 정보와 라벨 정보를 매칭하여, 이를 저장할 수 있다 (단계 2165). 저장을 위해서는 도 22 에 예시된 바와 같은 최종 주석 데이터 테이블 (Annotation Data) 이 함께 생성될 수 있다. 일 측면에 따르면 저장은 AIPD DB 서버 (360) 또는 메모리 (230) 에서 수행된다. 또한, 데이터 자장 단계에 포함된 각 단계들은 AIPD 서버 (370) 또는 프로세서 (220) 에 의해 수행될 수 있다.
상술한 본 발명에 따른 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
이상, 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
구체적으로, 설명된 특징들은 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 또는 그들의 조합들 내에서 실행될 수 있다. 특징들은 예컨대, 프로그래밍 가능한 프로세서에 의한 실행을 위해, 기계 판독 가능한 저장 디바이스 내의 저장장치 내에서 구현되는 컴퓨터 프로그램 제품에서 실행될 수 있다. 그리고 특징들은 입력 데이터 상에서 동작하고 출력을 생성함으로써 설명된 실시예들의 함수들을 수행하기 위한 지시어들의 프로그램을 실행하는 프로그래밍 가능한 프로세서에 의해 수행될 수 있다. 설명된 특징들은, 데이터 저장 시스템으로부터 데이터 및 지시어들을 수신하기 위해, 및 데이터 저장 시스템으로 데이터 및 지시어들을 전송하기 위해 결합된 적어도 하나의 프로그래밍 가능한 프로세서, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스를 포함하는 프로그래밍 가능한 시스템 상에서 실행될 수 있는 하나 이상의 컴퓨터 프로그램들 내에서 실행될 수 있다. 컴퓨터 프로그램은 소정 결과에 대해 특정 동작을 수행하기 위해 컴퓨터 내에서 직접 또는 간접적으로 사용될 수 있는 지시어들의 집합을 포함한다. 컴퓨터 프로그램은 컴파일된 또는 해석된 언어들을 포함하는 프로그래밍 언어 중 어느 형태로 쓰여지고, 모듈, 소자, 서브루틴(subroutine), 또는 다른 컴퓨터 환경에서 사용을 위해 적합한 다른 유닛으로서, 또는 독립 조작 가능한 프로그램으로서 포함하는 어느 형태로도 사용될 수 있다.
지시어들의 프로그램의 실행을 위한 적합한 프로세서들은, 예를 들어, 범용 및 특수 용도 마이크로프로세서들 둘 모두, 및 단독 프로세서 또는 다른 종류의 컴퓨터의 다중 프로세서들 중 하나를 포함한다. 또한 설명된 특징들을 구현하는 컴퓨터 프로그램 지시어들 및 데이터를 구현하기 적합한 저장 디바이스들은 예컨대, EPROM, EEPROM, 및 플래쉬 메모리 디바이스들과 같은 반도체 메모리 디바이스들, 내부 하드 디스크들 및 제거 가능한 디스크들과 같은 자기 디바이스들, 광자기 디스크들 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 비휘발성 메모리의 모든 형태들을 포함한다. 프로세서 및 메모리는 ASIC들(application-specific integrated circuits) 내에서 통합되거나 또는 ASIC들에 의해 추가되어질 수 있다.
이상에서 설명한 본 발명은 일련의 기능 블록들을 기초로 설명되고 있지만, 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
전술한 실시 예들의 조합은 전술한 실시 예에 한정되는 것이 아니며, 구현 및/또는 필요에 따라 전술한 실시예들 뿐 아니라 다양한 형태의 조합이 제공될 수 있다.
전술한 실시 예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
전술한 실시 예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (25)

  1. 컴퓨팅 디바이스에 의해 수행되는, 객체 영역 추출을 수행하는 인공 신경망을 위한 학습 데이터를 생성하는 방법으로서,
    이미지 분류 모델을 이용하여, 적어도 하나의 소스 이미지들에 대해 상기 소스 이미지들 각각에 포함된 객체의 종류를 분류하는 단계;
    객체 인식 모델을 이용하여, 상기 적어도 하나의 소스 이미지들에 각각 포함된 객체의 1 차 주석 (Annotation) 데이터를 추출하는 단계;
    사용자 단말로 상기 소스 이미지 및 상기 1 차 주석 데이터를 송신하고, 상기 사용자 단말로부터 수신한 정보를 기반으로 상기 소스 이미지에 대한 최종 주석 데이터를 생성하는 단계; 및
    상기 소스 이미지 및 상기 소스 이미지에 대응하는 상기 최종 주석 데이터를 학습 데이터로서 저장하는 단계를 포함하는, 인공 신경망을 위한 학습 데이터의 생성 방법.
  2. 제 1 항에 있어서,
    상기 분류하는 단계 이전에, 원본 이미지를 상기 적어도 하나의 소스 이미지들로 분할하는 단계를 더 포함하는, 인공 신경망을 위한 학습 데이터의 생성 방법.
  3. 제 2 항에 있어서,
    상기 원본 이미지는, 인터넷 쇼핑몰 사이트로부터 획득된 것이고, 대표 이미지 및 하나 이상의 상품 설명 이미지를 포함하는, 인공 신경망을 위한 학습 데이터의 생성 방법.
  4. 제 2 항에 있어서,
    상기 분할하는 단계는,
    상기 원본 이미지 내에서 제 1 방향의 시점과 종점을 연결한 직선이 공백 영역으로만 구성되는 경계선들을 기준으로, 상기 원본 이미지를 제 1 방향으로 분할하는 단계; 및
    상기 제 1 방향으로 분할된 이미지들 내에서 상기 제 1 방향과 수직인 제 2 방향의 시점과 종점을 연결한 직선이 공백 영역으로만 구성되는 경계선들을 기준으로, 상기 제 1 방향으로 분할된 이미지들 각각을 제 2 방향으로 분할하는 단계를 포함하는, 인공 신경망을 위한 학습 데이터의 생성 방법.
  5. 제 4 항에 있어서,
    상기 분할하는 단계는,
    상기 제 1 방향 및 상기 제 2 방향으로 분할된 복수의 이미지들 중 미리 결정한 제 1 크기 이하의 이미지, 공백 영역의 비율이 미리 결정한 제 1 비율 이하인 이미지 및 상품 스펙 정보를 포함한 이미지 중 적어도 하나를 폐기하는 단계를 더 포함하는, 인공 신경망을 위한 학습 데이터의 생성 방법.
  6. 제 3 항에 있어서,
    상기 분류하는 단계는,
    상기 적어도 하나의 소스 이미지들 중 모델의 전신 영역을 포함하는 이미지를 추출하는 단계;
    상기 적어도 하나의 소스 이미지들 중 모델의 상반신 또는 하반신 영역을 포함하는 이미지를 추출하는 단계; 및
    상기 적어도 하나의 소스 이미지들 중 상품 영역을 포함하는 이미지를 추출하는 단계를 포함하는, 인공 신경망을 위한 학습 데이터의 생성 방법.
  7. 제 1 항에 있어서,
    상기 1 차 주석 데이터는, 1 차 객체 위치 정보 및 1 차 객체 라벨 정보를 포함하고,
    상기 최종 주석 데이터는, 최종 객체 위치 정보 및 최종 객체 라벨 정보를 포함하는, 인공 신경망을 위한 학습 데이터의 생성 방법.
  8. 제 7 항에 있어서,
    상기 1 차 주석 데이터를 추출하는 단계는,
    상기 적어도 하나의 소스 이미지들 각각에 대해 객체 검출 (Object Detection) 처리를 수행하여 객체 포함 영역을 인식하고 상기 객체에 대한 1 차 객체 라벨 정보를 인식하며, 상기 인식된 객체 포함 영역에 대해 그랩컷 (Grabcut) 처리를 수행하여 1 차 객체 위치 정보를 결정하거나,
    상기 적어도 하나의 소스 이미지들 각각에 대해 시맨틱 분할 (Semantic Segmentation) 처리를 수행하여 상기 1 차 객체 위치 정보 및 1 차 객체 라벨 정보를 결정하는, 인공 신경망을 위한 학습 데이터의 생성 방법.
  9. 제 1 항에 있어서,
    상기 1 차 객체 위치 정보 및 상기 최종 객체 위치 정보 중 적어도 하나는, 객체 좌표 정보를 포함하고,
    상기 객체 좌표 정보는, 상기 소스 이미지에 포함된 객체의 외곽선을 구성하는 좌표에 대한 정보들의 집합인, 인공 신경망을 위한 학습 데이터의 생성 방법.
  10. 제 9 항에 있어서,
    상기 객체 좌표 정보는, 상기 소스 이미지에 포함된 객체의 외곽선 중 제 1 점의 좌표로부터, 상기 객체의 외곽선 중 상기 제 1 점과 직선으로 연결된 제 2 점의 좌표에 직선 반대 방향을 통해 도달하기까지의 각 점들에 대한 좌표들의 시퀀스를 포함하는, 인공 신경망을 위한 학습 데이터의 생성 방법.
  11. 제 1 항에 있어서,
    상기 최종 주석 데이터를 생성하는 단계는,
    상기 사용자 단말의 출력부를 통해 상기 적어도 하나의 소스 이미지 및 상기 1 차 주석 데이터를 출력되도록 하고,
    상기 사용자 단말의 입력부를 통해 상기 1 차 주석 데이터에 대한 수정 정보 또는 추가 주석 데이터 정보를 입력받도록 하는, 인공 신경망을 위한 학습 데이터의 생성 방법.
  12. 제 11 항에 있어서,
    상기 최종 주석 데이터는,
    상기 1 차 주석 데이터, 수정 정보 및 추가 주석 데이터 정보 중 적어도 하나를 기반으로 생성되는, 인공 신경망을 위한 학습 데이터의 생성 방법.
  13. 프로세서, 송수신부 및 메모리를 포함하는, 객체 영역 추출을 수행하는 인공 신경망을 위한 학습 데이터를 생성하는 장치로서,
    상기 프로세서는,
    이미지 분류 모델을 이용하여, 적어도 하나의 소스 이미지들에 대해 상기 소스 이미지들 각각에 포함된 객체의 종류를 분류하고;
    객체 인식 모델을 이용하여, 상기 적어도 하나의 소스 이미지들에 각각 포함된 객체의 1 차 주석 (Annotation) 데이터를 추출하고;
    사용자 단말로 상기 소스 이미지 및 상기 1 차 주석 데이터를 송신하고, 상기 사용자 단말로부터 수신한 정보를 기반으로 상기 소스 이미지에 대한 최종 주석 데이터를 생성하고; 그리고
    상기 소스 이미지 및 상기 소스 이미지에 대응하는 상기 최종 주석 데이터를 학습 데이터로서 저장하도록 구성된, 인공 신경망을 위한 학습 데이터의 생성 장치.
  14. 제 13 항에 있어서,
    상기 프로세서는,
    상기 객체의 종류를 분류하기 전에, 원본 이미지를 상기 적어도 하나의 소스 이미지들로 분할하도록 더 구성되는, 인공 신경망을 위한 학습 데이터의 생성 장치.
  15. 제 14 항에 있어서,
    상기 원본 이미지는, 인터넷 쇼핑몰 사이트로부터 획득된 것이고, 대표 이미지 및 하나 이상의 상품 설명 이미지를 포함하는, 인공 신경망을 위한 학습 데이터의 생성 장치.
  16. 제 14 항에 있어서,
    상기 분할하는 것은,
    상기 원본 이미지 내에서 제 1 방향의 시점과 종점을 연결한 직선이 공백 영역으로만 구성되는 경계선들을 기준으로, 상기 원본 이미지를 제 1 방향으로 분할하는 것; 및
    상기 제 1 방향으로 분할된 이미지들 내에서 상기 제 1 방향과 수직인 제 2 방향의 시점과 종점을 연결한 직선이 공백 영역으로만 구성되는 경계선들을 기준으로, 상기 제 1 방향으로 분할된 이미지들 각각을 제 2 방향으로 분할하는 것을 포함하는, 인공 신경망을 위한 학습 데이터의 생성 장치.
  17. 제 16 항에 있어서,
    상기 분할하는 것은,
    상기 제 1 방향 및 상기 제 2 방향으로 분할된 복수의 이미지들 중 미리 결정한 제 1 크기 이하의 이미지, 공백 영역의 비율이 미리 결정한 제 1 비율 이하인 이미지 및 상품 스펙 정보를 포함한 이미지 중 적어도 하나를 폐기하는 것을 더 포함하는, 인공 신경망을 위한 학습 데이터의 생성 장치.
  18. 제 15 항에 있어서,
    상기 분류하는 것은,
    상기 적어도 하나의 소스 이미지들 중 모델의 전신 영역을 포함하는 이미지를 추출하는 것;
    상기 적어도 하나의 소스 이미지들 중 모델의 상반신 또는 하반신 영역을 포함하는 이미지를 추출하는 것; 및
    상기 적어도 하나의 소스 이미지들 중 상품 영역을 포함하는 이미지를 추출하는 것을 포함하는, 인공 신경망을 위한 학습 데이터의 생성 장치.
  19. 제 13 항에 있어서,
    상기 1 차 주석 데이터는, 1 차 객체 위치 정보 및 1 차 객체 라벨 정보를 포함하고,
    상기 최종 주석 데이터는, 최종 객체 위치 정보 및 최종 객체 라벨 정보를 포함하는, 인공 신경망을 위한 학습 데이터의 생성 장치.
  20. 제 19 항에 있어서,
    상기 1 차 주석 데이터를 추출하는 것은,
    상기 적어도 하나의 소스 이미지들 각각에 대해 객체 검출 (Object Detection) 처리를 수행하여 객체 포함 영역을 인식하고 상기 객체에 대한 1 차 객체 라벨 정보를 인식하며, 상기 인식된 객체 포함 영역에 대해 그랩컷 (Grabcut) 처리를 수행하여 1 차 객체 위치 정보를 결정하거나,
    상기 적어도 하나의 소스 이미지들 각각에 대해 시맨틱 분할 (Semantic Segmentation) 처리를 수행하여 상기 1 차 객체 위치 정보 및 1 차 객체 라벨 정보를 결정하는, 인공 신경망을 위한 학습 데이터의 생성 장치.
  21. 제 13 항에 있어서,
    상기 1 차 객체 위치 정보 및 상기 최종 객체 위치 정보 중 적어도 하나는, 객체 좌표 정보를 포함하고,
    상기 객체 좌표 정보는, 상기 소스 이미지에 포함된 객체의 외곽선을 구성하는 좌표에 대한 정보들의 집합인, 인공 신경망을 위한 학습 데이터의 생성 장치.
  22. 제 21 항에 있어서,
    상기 객체 좌표 정보는, 상기 소스 이미지에 포함된 객체의 외곽선 중 제 1 점의 좌표로부터, 상기 객체의 외곽선 중 상기 제 1 점과 직선으로 연결된 제 2 점의 좌표에 직선 반대 방향을 통해 도달하기까지의 각 점들에 대한 좌표들의 시퀀스를 포함하는, 인공 신경망을 위한 학습 데이터의 생성 장치.
  23. 제 13 항에 있어서,
    상기 최종 주석 데이터를 생성하는 것은,
    상기 사용자 단말의 출력부를 통해 상기 적어도 하나의 소스 이미지 및 상기 1 차 주석 데이터를 출력되도록 하고,
    상기 사용자 단말의 입력부를 통해 상기 1 차 주석 데이터에 대한 수정 정보 또는 추가 주석 데이터 정보를 입력받도록 하는, 인공 신경망을 위한 학습 데이터의 생성 장치.
  24. 제 23 항에 있어서,
    상기 최종 주석 데이터는,
    상기 1 차 주석 데이터, 수정 정보 및 추가 주석 데이터 정보 중 적어도 하나를 기반으로 생성되는, 인공 신경망을 위한 학습 데이터의 생성 장치.
  25. 프로세서 실행 가능한 명령어들을 포함하는 컴퓨터 판독 가능한 저장 매체로서, 상기 명령어들은 상기 프로세서에 의해 실행되었을 때 상기 프로세서로 하여금,
    이미지 분류 모델을 이용하여, 적어도 하나의 소스 이미지들에 대해 상기 소스 이미지들 각각에 포함된 객체의 종류를 분류하고;
    객체 인식 모델을 이용하여, 상기 적어도 하나의 소스 이미지들에 각각 포함된 객체의 1 차 주석 (Annotation) 데이터를 추출하고;
    사용자 단말로 상기 소스 이미지 및 상기 1 차 주석 데이터를 송신하고, 상기 사용자 단말로부터 수신한 정보를 기반으로 상기 소스 이미지에 대한 최종 주석 데이터를 생성하고; 그리고
    상기 소스 이미지 및 상기 소스 이미지에 대응하는 상기 최종 주석 데이터를 학습 데이터로서 저장하게 하도록 구성된, 컴퓨터 판독 가능한 저장 매체.
KR1020180127900A 2018-10-25 2018-10-25 객체 영역 추출을 수행하는 인공 신경망을 위한 학습 데이터를 생성하는 방법 및 장치 KR102114367B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180127900A KR102114367B1 (ko) 2018-10-25 2018-10-25 객체 영역 추출을 수행하는 인공 신경망을 위한 학습 데이터를 생성하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180127900A KR102114367B1 (ko) 2018-10-25 2018-10-25 객체 영역 추출을 수행하는 인공 신경망을 위한 학습 데이터를 생성하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200052416A true KR20200052416A (ko) 2020-05-15
KR102114367B1 KR102114367B1 (ko) 2020-05-22

Family

ID=70679127

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180127900A KR102114367B1 (ko) 2018-10-25 2018-10-25 객체 영역 추출을 수행하는 인공 신경망을 위한 학습 데이터를 생성하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102114367B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102204829B1 (ko) * 2020-06-12 2021-01-19 인하대학교 산학협력단 딥러닝 기반의 어노테이션 툴을 제공하는 방법 및 시스템
KR102213291B1 (ko) * 2020-07-30 2021-02-04 배도연 웹사이트 제작 시스템
KR102348852B1 (ko) * 2021-04-27 2022-01-11 김천윤 오브젝트를 추출하는 방법 및 이를 위한 장치
KR102352942B1 (ko) * 2021-01-13 2022-01-19 셀렉트스타 주식회사 객체 경계정보의 주석을 입력하는 방법 및 장치
KR20220073242A (ko) * 2020-11-26 2022-06-03 한국전력공사 전력설비의 기계학습을 위한 학습 데이터 구축장치 및 그 방법
KR20220081520A (ko) * 2020-12-09 2022-06-16 청주대학교 산학협력단 객체 인식을 위한 학습 데이터셋 구성 방법 및 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140111806A (ko) * 2013-03-12 2014-09-22 주식회사 와이디어 클리핑 이미지 생성 및 공유 시스템
JP2015191426A (ja) * 2014-03-28 2015-11-02 セコム株式会社 学習データ生成装置
KR20160022407A (ko) * 2014-08-19 2016-03-02 (주)에이디79 하나의 이미지 내에 포함된 다수의 제품 이미지 영역의 자동분할을 통한 다수의 정보제공방법
KR20160078929A (ko) * 2014-12-04 2016-07-05 구글 인코포레이티드 이미지들에 대한 자동 프로세싱
KR20180107988A (ko) 2017-03-23 2018-10-04 한국전자통신연구원 객체 탐지 장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140111806A (ko) * 2013-03-12 2014-09-22 주식회사 와이디어 클리핑 이미지 생성 및 공유 시스템
JP2015191426A (ja) * 2014-03-28 2015-11-02 セコム株式会社 学習データ生成装置
KR20160022407A (ko) * 2014-08-19 2016-03-02 (주)에이디79 하나의 이미지 내에 포함된 다수의 제품 이미지 영역의 자동분할을 통한 다수의 정보제공방법
KR20160078929A (ko) * 2014-12-04 2016-07-05 구글 인코포레이티드 이미지들에 대한 자동 프로세싱
KR20180107988A (ko) 2017-03-23 2018-10-04 한국전자통신연구원 객체 탐지 장치 및 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102204829B1 (ko) * 2020-06-12 2021-01-19 인하대학교 산학협력단 딥러닝 기반의 어노테이션 툴을 제공하는 방법 및 시스템
KR102213291B1 (ko) * 2020-07-30 2021-02-04 배도연 웹사이트 제작 시스템
KR20220073242A (ko) * 2020-11-26 2022-06-03 한국전력공사 전력설비의 기계학습을 위한 학습 데이터 구축장치 및 그 방법
KR20220081520A (ko) * 2020-12-09 2022-06-16 청주대학교 산학협력단 객체 인식을 위한 학습 데이터셋 구성 방법 및 장치
KR102352942B1 (ko) * 2021-01-13 2022-01-19 셀렉트스타 주식회사 객체 경계정보의 주석을 입력하는 방법 및 장치
KR102348852B1 (ko) * 2021-04-27 2022-01-11 김천윤 오브젝트를 추출하는 방법 및 이를 위한 장치

Also Published As

Publication number Publication date
KR102114367B1 (ko) 2020-05-22

Similar Documents

Publication Publication Date Title
KR102114367B1 (ko) 객체 영역 추출을 수행하는 인공 신경망을 위한 학습 데이터를 생성하는 방법 및 장치
CN110163198B (zh) 一种表格识别重建方法、装置和存储介质
US20210192202A1 (en) Recognizing text in image data
US10496695B2 (en) Automated data extraction from scatter plot images
US9495583B2 (en) Organizing images by correlating faces
KR101469398B1 (ko) 텍스트 기반 3d 증강 현실
CN114641753A (zh) 使用机器学习从楼层平面图图纸进行合成数据生成和建筑信息模型(bim)要素提取
CN105930159A (zh) 一种基于图像的界面代码生成的方法及系统
KR101719088B1 (ko) 영역 분할 방법 및 검사 장치
AU2018202767B2 (en) Data structure and algorithm for tag less search and svg retrieval
CN110737785B (zh) 一种图片标注的方法及装置
CN111612012A (zh) 健康码的识别方法及装置
RU2605078C2 (ru) Сегментация изображения для верификации данных
CN111104813A (zh) 二维码图像关键点检测方法、装置、电子设备及存储介质
CN115828874A (zh) 基于图像识别技术的行业表格数字化处理方法
CN112883926A (zh) 表格类医疗影像的识别方法及装置
CN113935339A (zh) 翻译方法、装置、电子设备及存储介质
CN114782974A (zh) 表格识别方法、系统、智能终端及计算机可读存储介质
CN116935418B (zh) 一种三维图文模板自动重组方法、设备及系统
RU2597163C2 (ru) Сравнение документов с использованием достоверного источника
CN117280339A (zh) 动态图像手册制作装置、动态图像手册制作方法和动态图像手册制作程序
EP3992923A2 (en) System and method for identifying non-standard user interface object
CN108874360B (zh) 全景内容定位方法和装置
RU2571379C2 (ru) Интеллектуальная обработка электронного документа
CN112836510A (zh) 一种产品图片文字识别方法和系统

Legal Events

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