KR102608777B1 - Method, apparatus and computer program for providing automated calibration service for user's profile image - Google Patents

Method, apparatus and computer program for providing automated calibration service for user's profile image Download PDF

Info

Publication number
KR102608777B1
KR102608777B1 KR1020220122978A KR20220122978A KR102608777B1 KR 102608777 B1 KR102608777 B1 KR 102608777B1 KR 1020220122978 A KR1020220122978 A KR 1020220122978A KR 20220122978 A KR20220122978 A KR 20220122978A KR 102608777 B1 KR102608777 B1 KR 102608777B1
Authority
KR
South Korea
Prior art keywords
correction
user
tone
face
image
Prior art date
Application number
KR1020220122978A
Other languages
Korean (ko)
Inventor
김시현
Original Assignee
주식회사 레코더즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 레코더즈 filed Critical 주식회사 레코더즈
Priority to KR1020220122978A priority Critical patent/KR102608777B1/en
Application granted granted Critical
Publication of KR102608777B1 publication Critical patent/KR102608777B1/en

Links

Classifications

    • G06T5/001
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06T5/008
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Multimedia (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)

Abstract

사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법, 장치 및 컴퓨터프로그램이 제공된다. 본 발명의 다양한 실시예에 따른 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 사용자의 얼굴을 포함하는 이미지를 획득하는 단계, 상기 획득된 이미지를 분석하여 특징(Feature)을 추출하는 단계 및 상기 추출된 특징을 이용하여, 상기 이미지에 포함된 사용자의 얼굴에 대한 보정을 수행하는 단계를 포함한다.A method, device, and computer program for providing an automated correction service for a user's profile image are provided. A method of providing an automated correction service for a user's profile image according to various embodiments of the present invention is a method performed by a computing device, comprising: acquiring an image including the user's face; analyzing the obtained image; It includes extracting features and performing correction on the user's face included in the image using the extracted features.

Description

사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법, 장치 및 컴퓨터프로그램{METHOD, APPARATUS AND COMPUTER PROGRAM FOR PROVIDING AUTOMATED CALIBRATION SERVICE FOR USER'S PROFILE IMAGE}Method, device, and computer program for providing automated correction service for user's profile image {METHOD, APPARATUS AND COMPUTER PROGRAM FOR PROVIDING AUTOMATED CALIBRATION SERVICE FOR USER'S PROFILE IMAGE}

본 발명의 다양한 실시예는 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법, 장치 및 컴퓨터프로그램에 관한 것이다.Various embodiments of the present invention relate to a method, device, and computer program for providing an automated correction service for a user's profile image.

프로필 사진이란 자신을 소개하고 알리기 위해 찍은 사진을 의미하며, 대표적으로는 증명사진이 있다.A profile photo is a photo taken to introduce and promote oneself, and a representative example is an ID photo.

증명사진은 사람을 판단하고 다른 사람의 위장 식별 등을 목적으로 신분증과 서류 등에 부착되는 인물 사진이다. 여권이나 운전 면허증 등의 공문서, 이력서 등의 사문서, 입학 시험이나 자격 시험 등의 원서 등에 사용된다. 기본적으로 단색 배경에 어깨에 얼굴 사진으로, 모자와 마스크, 선글라스 등은 착용하지 않고 촬영한다.An ID photo is a portrait that is attached to ID cards and documents for the purpose of judging a person and identifying other people's disguises. It is used for official documents such as passports and driver's licenses, private documents such as resumes, and applications such as entrance exams and qualification tests. Basically, the photo is taken with the face on the shoulder against a solid color background, without wearing a hat, mask, or sunglasses.

종래에는, 증명사진을 촬영하기 위해 전문 사진 스튜디오를 방문하였으나, 스튜디오를 방문하여 증명사진을 촬영하는 방식의 경우, 비용이 비쌀 뿐만 아니라 시간이 많이 소요된다는 단점이 있다.Conventionally, people visited professional photo studios to take ID photos, but visiting a studio to take ID photos has the disadvantage of being expensive and time-consuming.

이러한 종래의 방식(전문 사진 스튜디오를 방문하는 방식)에 대하여, 최근에는 사용자가 직접 증명사진을 촬영하는 방식(예컨대, 셀프 증명사진 촬영 방식) 이 각광받고 있다. 셀프 증명사진 촬영 방식은 타인의 간섭을 받지 않고 자유롭게 촬영이 가능하고, 비용부담과 시간 단축 등이 가능하다는 장점이 있다. 특히 코로나(covid-19)와 같이 전염성이 큰 바이러스로 인해 사회적 거리두기를 시행함에 따라 이와 같은 셀프 증명사진 촬영 방식에 대한 관심이 더욱 높아지고 있다.In contrast to this conventional method (visiting a professional photo studio), recently, a method in which users take their own ID photos (for example, a self-ID photo shooting method) has been in the spotlight. The self-identification photo shooting method has the advantage of being able to take photos freely without interference from others, and reducing cost burden and time. In particular, as social distancing is implemented due to highly contagious viruses such as COVID-19, interest in this method of taking self-identification photos is increasing.

한편, 셀프 증명사진 촬영 방식의 경우, 사용자가 직접 증명사진을 촬영할 뿐만 아니라, 증명사진에 대한 보정 역시 사용자가 직접 수행해야 하기 때문에, 사용자의 보정 능력에 따라 그 결과물의 퀄리티가 천차만별이며, 보정 능력이 부족한 사용자들의 경우 퀄리티 높은 결과물을 얻기 힘들다는 문제가 있다.Meanwhile, in the case of the self-ID photo shooting method, the user not only takes the ID photo himself, but also has to perform corrections to the ID photo himself, so the quality of the result varies greatly depending on the user's correction ability. For users who lack this, the problem is that it is difficult to obtain high-quality results.

본 발명이 해결하고자 하는 과제는 상술된 종래의 셀프 증명사진 촬영 방식의 문제점을 해소하기 위한 목적으로, 사용자의 얼굴을 포함하는 이미지로부터 특징을 추출하고, 추출된 특징을 이용하여 사용자의 얼굴에 대한 보정을 수행하는 자동화된 보정 서비스를 제공함으로써, 사진에 대한 보정 스킬이 부족한 사용자들도 퀄리티 높은 결과물을 얻을 수 있도록 가이드할 수 있는 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법, 장치 및 컴퓨터프로그램을 제공하는 것이다.The problem to be solved by the present invention is to solve the problems of the conventional self-identification photo shooting method described above, by extracting features from an image including the user's face and using the extracted features to identify the user's face. A method, device, and computer program for providing an automated correction service for a user's profile image that can guide users who lack photo correction skills to obtain high-quality results by providing an automated correction service that performs correction is to provide.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned can be clearly understood by those skilled in the art from the description below.

상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법은 컴퓨팅 장치에 의해 수행되는 방법에 있어서, 사용자의 얼굴을 포함하는 이미지를 획득하는 단계, 상기 획득된 이미지를 분석하여 특징(Feature)을 추출하는 단계 및 상기 추출된 특징을 이용하여, 상기 이미지에 포함된 사용자의 얼굴에 대한 보정을 수행하는 단계를 포함할 수 있다.A method of providing an automated correction service for a user's profile image according to an embodiment of the present invention to solve the above-described problem is performed by a computing device, comprising: acquiring an image including the user's face; It may include extracting features by analyzing the obtained image and performing correction on the user's face included in the image using the extracted features.

다양한 실시예에서, 상기 특징을 추출하는 단계는, 상기 획득된 이미지로부터 상기 사용자의 얼굴에 대응되는 얼굴 영역을 식별하는 단계, 상기 식별된 얼굴 영역을 분할하여 복수의 단위 얼굴 영역을 생성하는 단계 및 상기 생성된 복수의 단위 얼굴 영역을 분석하여 특징으로서, 상기 생성된 복수의 단위 얼굴 영역 각각에 대응하는 복수의 톤 값을 추출하는 단계를 포함하며, 상기 사용자의 얼굴에 대한 보정을 수행하는 단계는, 상기 추출된 복수의 톤 값 중 적어도 하나의 톤 값을 이용하여 상기 식별된 얼굴 영역에 대한 톤 보정을 수행하는 단계를 포함할 수 있다.In various embodiments, the step of extracting the features includes identifying a facial area corresponding to the user's face from the acquired image, dividing the identified facial area to generate a plurality of unit facial areas, and Analyzing the plurality of generated unit face areas to extract, as features, a plurality of tone values corresponding to each of the generated plurality of unit face areas, wherein performing correction on the user's face includes: , It may include performing tone correction on the identified facial area using at least one tone value among the plurality of extracted tone values.

다양한 실시예에서, 상기 식별된 얼굴 영역에 대한 톤 보정을 수행하는 단계는, 상기 추출된 복수의 톤 값을 오름차순 정렬하고, 상기 오름차순 정렬된 복수의 톤 값 중 n번째 톤 값을 제1 톤 값으로 선택하는 단계, 상기 추출된 복수의 톤 값을 내림차순 정렬하고, 상기 내림차순 정렬된 복수의 톤 값 중 m번째 톤 값을 제1 톤 값으로 선택하는 단계 및 상기 선택된 제1 톤 값 및 상기 선택된 제2 톤 값 각각을 이용하여 상기 식별된 얼굴 영역에 대한 톤 보정을 수행하는 단계를 포함할 수 있다.In various embodiments, the step of performing tone correction on the identified facial region includes sorting the extracted plurality of tone values in ascending order, and selecting the nth tone value among the plurality of tone values sorted in ascending order as the first tone value. selecting, sorting the extracted plurality of tone values in descending order, selecting the mth tone value among the plurality of tone values sorted in descending order as the first tone value, and the selected first tone value and the selected first tone value. It may include performing tone correction on the identified facial area using each of the two tone values.

다양한 실시예에서, 상기 식별된 얼굴 영역에 대한 톤 보정을 수행하는 단계는, 상기 식별된 얼굴 영역 상에 피부결 방향에 대응하는 톤 보정 방향을 정의하는 단계 및 상기 적어도 하나의 톤 값을 이용하여 상기 정의된 톤 보정 방향에 따라 상기 식별된 얼굴 영역에 대한 톤 보정을 반복 수행하되, 상기 식별된 얼굴 영역에 대한 톤 보정을 반복 수행하는 횟수는 상기 적어도 하나의 톤 값과 상기 적어도 하나의 톤 값을 이용하여 톤 보정되는 위치에 대응하는 톤 값의 차이, 상기 획득된 이미지에 포함된 배경의 속성 중 적어도 하나에 기초하여 결정되는 것인, 단계를 포함할 수 있다.In various embodiments, performing tone correction on the identified facial area includes defining a tone correction direction corresponding to a skin texture direction on the identified facial area and using the at least one tone value. Tone correction for the identified face area is repeatedly performed according to the defined tone correction direction, and the number of times to repeatedly perform tone correction for the identified face area is equal to the at least one tone value and the at least one tone value. It may include a step of being determined based on at least one of a difference in tone values corresponding to a position to be tone corrected using and an attribute of a background included in the acquired image.

다양한 실시예에서, 상기 특징을 추출하는 단계는, 상기 획득된 이미지로부터 상기 사용자의 얼굴에 대응되는 얼굴 영역을 식별하는 단계 및 상기 식별된 얼굴 영역을 분석하여 특징으로서, 상기 사용자의 얼굴형을 판단하는 단계를 포함하며, 상기 사용자의 얼굴에 대한 보정을 수행하는 단계는, 상기 판단된 사용자의 얼굴형에 기초하여, 상기 식별된 얼굴 영역 상에 복수의 제1 영역을 설정하고, 상기 설정된 복수의 제1 영역에 대한 음영 보정을 수행하는 단계 및 상기 판단된 사용자의 얼굴형에 기초하여 상기 식별된 얼굴 영역 상에 복수의 제2 영역을 설정하고, 상기 설정된 복수의 제2 영역에 대한 하이라이팅 보정을 수행하는 단계를 포함할 수 있다.In various embodiments, the step of extracting the feature includes identifying a facial area corresponding to the user's face from the acquired image and analyzing the identified facial area to determine the user's facial shape as a feature. The step of performing correction on the user's face includes setting a plurality of first areas on the identified face area based on the determined face shape of the user, and performing correction on the user's face. Performing shadow correction on a first area, setting a plurality of second areas on the identified face area based on the determined face shape of the user, and performing highlighting correction on the set plurality of second areas. It may include steps to be performed.

다양한 실시예에서, 상기 특징을 추출하는 단계는, 상기 획득된 이미지로부터 상기 사용자의 얼굴에 대응되는 얼굴 영역을 식별하는 단계 및 상기 식별된 얼굴 영역을 분석하여 특징으로서 상기 사용자의 눈썹 영역 및 홍채 색상을 추출하는 단계를 포함하며, 상기 사용자의 얼굴에 대한 보정을 수행하는 단계는, 상기 추출된 홍채 색상을 이용하여 상기 추출된 눈썹 영역에 대한 보정을 수행하는 단계를 포함할 수 있다.In various embodiments, the step of extracting the features includes identifying a facial area corresponding to the user's face from the acquired image and analyzing the identified facial area to use the user's eyebrow area and iris color as features. and performing correction on the user's face. The step of performing correction on the user's face may include performing correction on the extracted eyebrow area using the extracted iris color.

다양한 실시예에서, 상기 특징을 추출하는 단계는, 상기 획득된 이미지로부터 서로 다른 복수의 얼굴 영역이 식별되는 경우, 상기 식별된 복수의 얼굴 영역 각각으로부터 복수의 특징을 추출하는 단계를 포함하며, 상기 사용자의 얼굴에 대한 보정을 수행하는 단계는, 상기 추출된 복수의 특징 중 적어도 하나의 특징을 선택하고, 상기 선택된 적어도 하나의 특징을 이용하여 상기 식별된 복수의 얼굴 영역에 대한 동일한 보정을 수행하는 단계를 포함할 수 있다.In various embodiments, the step of extracting the features includes, when a plurality of different facial regions are identified from the acquired image, extracting a plurality of features from each of the identified plurality of facial regions, The step of performing correction on the user's face includes selecting at least one feature from among the plurality of extracted features and performing the same correction on the identified plurality of facial regions using the selected at least one feature. May include steps.

다양한 실시예에서, 상기 사용자의 얼굴에 대한 보정을 수행하는 단계는, 상기 사용자로부터 복수의 키워드 - 상기 복수의 키워드는 이미지의 성질이나 상태를 나타내는 형용사 키워드임 - 중 적어도 하나의 키워드를 입력받는 단계, 상기 입력된 적어도 하나의 키워드에 기초하여, 상기 이미지에 대한 보정 속성 - 상기 보정 속성은 보정 여부, 보정 정도 및 보정 방향을 포함함 - 을 결정하는 단계 및 살기 결정된 보정 속성에 기초하여 상기 사용자의 얼굴에 대한 보정을 수행하는 단계를 포함할 수 있다.In various embodiments, the step of performing correction on the user's face includes receiving at least one keyword from a plurality of keywords, wherein the plurality of keywords are adjective keywords indicating the nature or state of the image. , based on the inputted at least one keyword, determining correction properties for the image, the correction properties including correction, degree of correction, and direction of correction, and determining correction properties of the user based on the determined correction properties. It may include performing correction on the face.

상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공장치는 프로세서, 네트워크 인터페이스, 메모리 및 상기 메모리에 로드(load) 되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되, 상기 컴퓨터 프로그램은, 사용자의 얼굴을 포함하는 이미지를 획득하는 인스트럭션(instruction), 상기 획득된 이미지를 분석하여 특징(Feature)을 추출하는 인스트럭션 및 상기 추출된 특징을 이용하여, 상기 이미지에 포함된 사용자의 얼굴에 대한 보정을 수행하는 인스트럭션을 포함할 수 있다.An automated correction service providing device for a user's profile image according to another embodiment of the present invention to solve the above-described problem includes a processor, a network interface, a memory, and is loaded into the memory and executed by the processor. It includes a computer program, wherein the computer program includes instructions for acquiring an image including the user's face, instructions for analyzing the obtained image to extract features, and using the extracted features, It may include instructions for performing correction on the user's face included in the image.

상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터프로그램은 컴퓨팅 장치와 결합되어, 사용자의 얼굴을 포함하는 이미지를 획득하는 단계, 상기 획득된 이미지를 분석하여 특징(Feature)을 추출하는 단계 및 상기 추출된 특징을 이용하여, 상기 이미지에 포함된 사용자의 얼굴에 대한 보정을 수행하는 단계를 포함하는 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장될 수 있다.A computer program according to another embodiment of the present invention for solving the above-mentioned problem is combined with a computing device, obtaining an image including the user's face, and extracting features by analyzing the obtained image. readable by a computing device to execute a method of providing an automated correction service for a user's profile image, including performing correction on the user's face included in the image using the extracted features. It can be stored on a recording medium.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

본 발명의 다양한 실시예에 따르면, 사용자의 얼굴을 포함하는 이미지로부터 특징을 추출하고, 추출된 특징을 이용하여 사용자의 얼굴에 대한 보정을 수행하는 자동화된 보정 서비스를 제공함으로써, 사진에 대한 보정 스킬이 부족한 사용자들도 퀄리티 높은 결과물을 얻을 수 있도록 가이드할 수 있다는 이점이 있다.According to various embodiments of the present invention, by providing an automated correction service that extracts features from an image including the user's face and performs correction on the user's face using the extracted features, correction skill for photos is provided. The advantage is that even users with limited skills can be guided to obtain high-quality results.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 본 발명의 일 실시예에 따른 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공시스템을 도시한 도면이다.
도 2는 본 발명의 다른 실시예에 따른 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공장치의 하드웨어 구성도이다.
도 3은 본 발명의 또 다른 실시예에 따른 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법의 순서도이다.
도 4는 다양한 실시예에서, 사용자의 얼굴에 대한 톤 보정을 수행하는 방법을 설명하기 위한 순서도이다.
도 5는 다양한 실시예에 적용 가능한 톤 보정 방향을 예시적으로 도시한 도면이다.
도 6은 다양한 실시예에서, 사용자의 얼굴에 대한 음영 및 하이라이팅 보정을 수행하는 방법을 설명하기 위한 순서도이다.
도 7은 다양한 실시예에 적용 가능한 얼굴형에 따른 제1 영역 및 제2 영역을 예시적으로 도시한 도면이다.
도 8은 다양한 실시예에서, 사용자의 눈썹 영역에 대한 보정을 수행하는 방법을 설명하기 위한 순서도이다.
Figure 1 is a diagram illustrating a system for providing an automated correction service for a user's profile image according to an embodiment of the present invention.
Figure 2 is a hardware configuration diagram of an automated correction service providing device for a user's profile image according to another embodiment of the present invention.
Figure 3 is a flowchart of a method for providing an automated correction service for a user's profile image according to another embodiment of the present invention.
FIG. 4 is a flowchart illustrating a method of performing tone correction on a user's face, according to various embodiments.
FIG. 5 is a diagram illustrating an example of a tone correction direction applicable to various embodiments.
FIG. 6 is a flowchart illustrating a method of performing shading and highlighting correction on a user's face, according to various embodiments.
FIG. 7 is a diagram illustrating first and second regions according to face shape applicable to various embodiments.
FIG. 8 is a flowchart illustrating a method for performing correction on a user's eyebrow area, according to various embodiments.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. The present embodiments are merely provided to ensure that the disclosure of the present invention is complete and to provide a general understanding of the technical field to which the present invention pertains. It is provided to fully inform the skilled person of the scope of the present invention, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for describing embodiments and is not intended to limit the invention. As used herein, singular forms also include plural forms, unless specifically stated otherwise in the context. As used in the specification, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other elements in addition to the mentioned elements. Like reference numerals refer to like elements throughout the specification, and “and/or” includes each and every combination of one or more of the referenced elements. Although “first”, “second”, etc. are used to describe various components, these components are of course not limited by these terms. These terms are merely used to distinguish one component from another. Therefore, it goes without saying that the first component mentioned below may also be a second component within the technical spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings commonly understood by those skilled in the art to which the present invention pertains. Additionally, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless clearly specifically defined.

명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.As used in the specification, the term “unit” or “module” refers to a hardware component such as software, FPGA, or ASIC, and the “unit” or “module” performs certain roles. However, “part” or “module” is not limited to software or hardware. A “unit” or “module” may be configured to reside on an addressable storage medium and may be configured to run on one or more processors. Thus, as an example, a “part” or “module” refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, Includes procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided within components and “parts” or “modules” can be combined into smaller components and “parts” or “modules” or into additional components and “parts” or “modules”. Could be further separated.

공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.Spatially relative terms such as “below”, “beneath”, “lower”, “above”, “upper”, etc. are used as a single term as shown in the drawing. It can be used to easily describe the correlation between a component and other components. Spatially relative terms should be understood as terms that include different directions of components during use or operation in addition to the directions shown in the drawings. For example, if a component shown in a drawing is flipped over, a component described as “below” or “beneath” another component will be placed “above” the other component. You can. Accordingly, the illustrative term “down” may include both downward and upward directions. Components can also be oriented in other directions, so spatially relative terms can be interpreted according to orientation.

본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.In this specification, a computer refers to all types of hardware devices including at least one processor, and depending on the embodiment, it may be understood as encompassing software configurations that operate on the hardware device. For example, a computer can be understood to include, but is not limited to, a smartphone, tablet PC, desktop, laptop, and user clients and applications running on each device.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.

본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.Each step described in this specification is described as being performed by a computer, but the subject of each step is not limited thereto, and depending on the embodiment, at least part of each step may be performed in a different device.

도 1은 본 발명의 일 실시예에 따른 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공시스템을 도시한 도면이다.Figure 1 is a diagram illustrating a system for providing an automated correction service for a user's profile image according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공시스템은 자동화된 보정 서비스 제공장치(100), 사용자 단말(200), 외부 서버(300) 및 네트워크(400)를 포함할 수 있다.Referring to FIG. 1, the automated correction service provision system for a user's profile image according to an embodiment of the present invention includes an automated correction service provision device 100, a user terminal 200, an external server 300, and a network. It may include (400).

여기서, 도 1에 도시된 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공시스템은 일 실시예에 따른 것이고, 그 구성 요소가 도 1에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.Here, the automated correction service provision system for the user's profile image shown in FIG. 1 is according to one embodiment, and its components are not limited to the embodiment shown in FIG. 1, and may be added or changed as necessary. Or it can be deleted.

일 실시예에서, 자동화된 보정 서비스 제공장치(100)(이하, "컴퓨팅 장치(100)")는 이미지에 대한 자동화된 보정 서비스 즉, 사용자의 얼굴을 포함하는 이미지를 획득함에 따라 이미지에 포함된 사용자의 얼굴을 자동적으로 보정하는 서비스를 제공할 수 있다.In one embodiment, the automated correction service providing device 100 (hereinafter, “computing device 100”) provides an automated correction service for the image, that is, by acquiring an image including the user's face, the image included in the image is provided. A service that automatically corrects the user's face can be provided.

여기서, 사용자의 얼굴을 포함하는 이미지는 사용자의 프로필 이미지(예컨대, 증명사진)을 의미하는 것일 수 있으나, 이에 한정되지 않는다.Here, the image including the user's face may refer to the user's profile image (eg, identification photo), but is not limited thereto.

또한, 여기서, 사용자의 얼굴에 대해 수행되는 보정의 종류는 사용자의 얼굴에 대한 톤 보정, 음영 보정(쉐딩 보정), 하이라이팅 보정 및 눈썹 영역 보정 중 적어도 하나를 포함하는 것일 수 있으나, 이에 한정되지 않고, 보정의 종류는 이미지의 배경영역 보정, 사용자의 자세 및 포즈 보정, 이미지의 온도, 노출, 대비 및 채도 보정, 이미지의 형상 보정, 사시 및 홍조 보정, 이미지에 포함된 그림자 보정, RGB 보정 및 노이즈 추가 보정 등을 더 포함할 수 있다.In addition, here, the type of correction performed on the user's face may include, but is not limited to, at least one of tone correction, shadow correction (shading correction), highlighting correction, and eyebrow area correction for the user's face. , The types of corrections include correction of the background area of the image, correction of the user's posture and pose, correction of temperature, exposure, contrast and saturation of the image, correction of the shape of the image, correction of squint and blush, correction of shadows included in the image, RGB correction and noise. Additional corrections, etc. may be included.

다양한 실시예에서, 컴퓨팅 장치(100)가 제공하는 자동화된 보정 서비스는 웹(Web) 또는 애플리케이션(Application) 형태로 구현될 수 있으며, 웹 또는 애플리케이션과 같은 응용 소프트웨어를 실행할 수 있는 운영 체제를 포함하는 다양한 장치에서 적용되어 다양한 형태로 자동화된 보정 서비스가 제공될 수 있으나, 이에 한정되지 않는다.In various embodiments, the automated correction service provided by the computing device 100 may be implemented in the form of a web or application, and includes an operating system capable of running application software such as a web or application. Automated correction services may be applied in various devices and provided in various forms, but are not limited to this.

일례로, 컴퓨팅 장치(100)가 제공하는 응용 소프트웨어 형태의 자동화된 보정 서비스는 응용 소프트웨어 구동이 가능한 운영 체제를 포함하는 사용자 단말(200)(예컨대, 사용자의 스마트폰 단말이나 태블릿 PC, 노트북 및 데스크탑)에서 적용되어, 사용자 단말(200)이 자동화된 보정 서비스를 실행함에 따라 사용자로부터 업로드 되는 이미지(또는 사용자 단말(200)에 구비된 카메라를 통해 촬영된 이미지)를 자동적으로 보정하는 형태로 구현될 수 있다.For example, the automated correction service in the form of application software provided by the computing device 100 is provided by a user terminal 200 (e.g., a user's smartphone terminal, tablet PC, laptop, and desktop) including an operating system capable of running the application software. ), it will be implemented in the form of automatically correcting the image uploaded by the user (or the image taken through the camera provided in the user terminal 200) as the user terminal 200 executes the automated correction service. You can.

다른 예로, 컴퓨팅 장치(100)가 제공하는 응용 소프트웨어 형태의 자동화된 보정 서비스는 응용 소프트웨어 구동이 가능한 운영 체제를 포함하는 컴퓨팅 장치가 구비된 사진 부스, 셀프 스튜디오 등에 적용되어, 사진 부스 또는 셀프 스튜디오의 컴퓨팅 장치가 자동화된 보정 서비스를 실행함에 따라 사진 부스 또는 셀프 스튜디오의 카메라로 촬영된 이미지를 자동적으로 보정하는 형태로 구현될 수 있다.As another example, the automated correction service in the form of application software provided by the computing device 100 is applied to a photo booth, self-studio, etc. equipped with a computing device including an operating system capable of running application software, and is applied to the photo booth or self-studio. As the computing device executes an automated correction service, it can be implemented in the form of automatically correcting images taken with a camera in a photo booth or self-studio.

또 다른 예로, 컴퓨팅 장치(100)가 제공하는 응용 소프트웨어 형태의 자동화된 보정 서비스는 응용 소프트웨어 구동이 가능한 운영 체제를 포함하는 컴퓨팅 장치가 내장된 카메라에 적용되어, 카메라에 내장된 컴퓨팅 장치가 자동화된 보정 서비스를 실행함에 따라 카메라로 촬영된 이미지를 자동적으로 보정하는 형태로 구현될 수 있다.As another example, the automated correction service in the form of application software provided by the computing device 100 is applied to a camera embedded with a computing device including an operating system capable of running application software, so that the computing device embedded in the camera is automated. It can be implemented in the form of automatically correcting images captured by a camera as the correction service is executed.

일 실시예에서, 사용자 단말(200)은 네트워크(400)를 통해 컴퓨팅 장치(100)와 연결될 수 있으며, 사용자는 사용자 단말(200)을 통해 컴퓨팅 장치(100)로부터 제공되는 자동화된 보정 서비스를 이용할 수 있다.In one embodiment, the user terminal 200 may be connected to the computing device 100 through the network 400, and the user may use the automated correction service provided by the computing device 100 through the user terminal 200. You can.

여기서, 사용자 단말(200)은 웹 또는 애플리케이션 형태로 구현된 자동화된 보정 서비스를 구동하기 위한 운영체제를 포함하며, 자동화된 보정 서비스를 실행함에 따라 생성되는 사용자 인터페이스(User Interface, UI)를 출력하기 위한 디스플레이를 포함할 수 있다.Here, the user terminal 200 includes an operating system for driving an automated correction service implemented in the form of a web or application, and is used to output a user interface (UI) generated as the automated correction service is executed. May include a display.

예컨대, 사용자 단말(200)은 스마트폰(Smart-phone)일 수 있으나, 이에 한정되지 않고, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 내비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 태블릿 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.For example, the user terminal 200 may be a smart phone, but is not limited thereto, and is a wireless communication device that guarantees portability and mobility, including navigation, Personal Communication System (PCS), and Global System for Mobile (GSM). communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code) Division Multiple Access), Wibro (Wireless Broadband Internet) terminal, smartphone, smartpad, tablet PC, etc. can include all types of handheld-based wireless communication devices. there is.

여기서, 네트워크(400)는 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미할 수 있다. 예를 들어, 네트워크(400)는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함할 수 있다.Here, the network 400 may mean a connection structure that allows information exchange between nodes, such as a plurality of terminals and servers. For example, the network 400 includes a local area network (LAN), a wide area network (WAN), the World Wide Web (WWW), a wired and wireless data communication network, a telephone network, and a wired and wireless television communication network. can do.

또한, 여기서, 무선 데이터 통신망은 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등을 포함할 수 있으나, 이에 한정되지는 않는다.In addition, here, the wireless data communication network includes 3G, 4G, 5G, 3GPP (3rd Generation Partnership Project), 5GPP (5th Generation Partnership Project), LTE (Long Term Evolution), WIMAX (World Interoperability for Microwave Access), and Wi-Fi (Wi-Fi). Fi), Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), RF (Radio Frequency), Bluetooth network, It may include, but is not limited to, a Near-Field Communication (NFC) network, a satellite broadcasting network, an analog broadcasting network, and a Digital Multimedia Broadcasting (DMB) network.

일 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 컴퓨팅 장치(100)와 연결될 수 있으며, 컴퓨팅 장치(100)가 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법을 수행하기 위해 필요한 각종 정보 및 데이터를 저장 및 관리하거나, 컴퓨팅 장치(100)가 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법을 수행함에 따라 생성되는 각종 정보 및 데이터를 수집하여 저장 및 관리할 수 있다.In one embodiment, the external server 300 may be connected to the computing device 100 through the network 400, and may be necessary for the computing device 100 to perform a method of providing an automated correction service for the user's profile image. Various information and data can be stored and managed, or various information and data generated as the computing device 100 performs a method of providing an automated correction service for the user's profile image can be collected, stored, and managed.

예컨대, 외부 서버(300)는 컴퓨팅 장치(100)의 외부에 별도로 구비되는 저장 서버일 수 있으나, 이에 한정되지 않는다. 이하, 도 2를 참조하여 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법을 수행하는 컴퓨팅 장치(100)의 하드웨어 구성에 대해 설명하도록 한다.For example, the external server 300 may be a storage server separately provided outside the computing device 100, but is not limited thereto. Hereinafter, the hardware configuration of the computing device 100 that performs a method of providing an automated correction service for a user's profile image will be described with reference to FIG. 2.

도 2는 본 발명의 다른 실시예에 따른 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공장치의 하드웨어 구성도이다.Figure 2 is a hardware configuration diagram of an automated correction service providing device for a user's profile image according to another embodiment of the present invention.

도 2를 참조하면, 컴퓨팅 장치(100)는 하나 이상의 프로세서(110), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램(151)을 로드(Load)하는 메모리(120), 버스(130), 통신 인터페이스(140) 및 컴퓨터 프로그램(151)을 저장하는 스토리지(150)를 포함할 수 있다. 여기서, 도 2에는 본 발명의 실시예와 관련 있는 구성요소들만 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 2에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.Referring to FIG. 2, the computing device 100 includes one or more processors 110, a memory 120 that loads a computer program 151 executed by the processor 110, a bus 130, and a communication interface. It may include a storage 150 that stores 140 and a computer program 151. Here, only components related to the embodiment of the present invention are shown in Figure 2. Accordingly, anyone skilled in the art to which the present invention pertains will know that other general-purpose components may be included in addition to the components shown in FIG. 2.

프로세서(110)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다.The processor 110 controls the overall operation of each component of the computing device 100. The processor 110 includes a Central Processing Unit (CPU), Micro Processor Unit (MPU), Micro Controller Unit (MCU), Graphic Processing Unit (GPU), or any other type of processor well known in the art of the present invention. It can be.

또한, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있으며, 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.Additionally, the processor 110 may perform operations on at least one application or program for executing methods according to embodiments of the present invention, and the computing device 100 may include one or more processors.

다양한 실시예에서, 프로세서(110)는 프로세서(110) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(110)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.In various embodiments, the processor 110 includes random access memory (RAM) (not shown) and read memory (ROM) that temporarily and/or permanently store signals (or data) processed within the processor 110. -Only Memory, not shown) may be further included. Additionally, the processor 110 may be implemented in the form of a system on chip (SoC) that includes at least one of a graphics processing unit, RAM, and ROM.

메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(120)는 본 발명의 다양한 실시예에 따른 방법/동작을 실행하기 위하여 스토리지(150)로부터 컴퓨터 프로그램(151)을 로드할 수 있다. 메모리(120)에 컴퓨터 프로그램(151)이 로드되면, 프로세서(110)는 컴퓨터 프로그램(151)을 구성하는 하나 이상의 인스트럭션들을 실행함으로써 상기 방법/동작을 수행할 수 있다. 메모리(120)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.Memory 120 stores various data, commands and/or information. Memory 120 may load a computer program 151 from storage 150 to execute methods/operations according to various embodiments of the present invention. When the computer program 151 is loaded into the memory 120, the processor 110 can perform the method/operation by executing one or more instructions constituting the computer program 151. The memory 120 may be implemented as a volatile memory such as RAM, but the technical scope of the present disclosure is not limited thereto.

버스(130)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(130)는 주소 버스(address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.Bus 130 provides communication functionality between components of computing device 100. The bus 130 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.

통신 인터페이스(140)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(140)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(140)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 몇몇 실시예에서, 통신 인터페이스(140)는 생략될 수도 있다.The communication interface 140 supports wired and wireless Internet communication of the computing device 100. Additionally, the communication interface 140 may support various communication methods other than Internet communication. To this end, the communication interface 140 may be configured to include a communication module well known in the technical field of the present invention. In some embodiments, communication interface 140 may be omitted.

스토리지(150)는 컴퓨터 프로그램(151)을 비 임시적으로 저장할 수 있다. 컴퓨팅 장치(100)를 통해 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공 프로세스를 수행하는 경우, 스토리지(150)는 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공 프로세스를 제공하기 위하여 필요한 각종 정보를 저장할 수 있다.Storage 150 may store the computer program 151 non-temporarily. When performing an automated correction service provision process for the user's profile image through the computing device 100, the storage 150 stores various information necessary to provide an automated correction service provision process for the user's profile image. You can.

스토리지(150)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The storage 150 is a non-volatile memory such as Read Only Memory (ROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), flash memory, a hard disk, a removable disk, or a device well known in the technical field to which the present invention pertains. It may be configured to include any known type of computer-readable recording medium.

컴퓨터 프로그램(151)은 메모리(120)에 로드될 때 프로세서(110)로 하여금 본 발명의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(110)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 다양한 실시예에 따른 상기 방법/동작을 수행할 수 있다.The computer program 151, when loaded into the memory 120, may include one or more instructions that cause the processor 110 to perform methods/operations according to various embodiments of the present invention. That is, the processor 110 can perform the method/operation according to various embodiments of the present invention by executing the one or more instructions.

일 실시예에서, 컴퓨터 프로그램(151)은 사용자의 얼굴을 포함하는 이미지를 획득하는 단계, 획득된 이미지를 분석하여 특징(Feature)을 추출하는 단계 및 추출된 특징을 이용하여, 이미지에 포함된 사용자의 얼굴에 대한 보정을 수행하는 단계를 포함하는 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.In one embodiment, the computer program 151 includes the steps of acquiring an image including the user's face, analyzing the obtained image to extract features, and using the extracted features to identify the user included in the image. It may include one or more instructions for performing an automated correction service providing method for a user's profile image, including the step of performing correction on the face of the user.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of the method or algorithm described in connection with embodiments of the present invention may be implemented directly in hardware, implemented as a software module executed by hardware, or a combination thereof. The software module may be RAM (Random Access Memory), ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), Flash Memory, hard disk, removable disk, CD-ROM, or It may reside on any type of computer-readable recording medium well known in the art to which the present invention pertains.

본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 이하, 도 3 내지 도 8을 참조하여, 컴퓨팅 장치(100)에 의해 수행되는 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법에 대해 설명하도록 한다.The components of the present invention may be implemented as a program (or application) and stored in a medium in order to be executed in conjunction with a hardware computer. Components of the invention may be implemented as software programming or software elements, and similarly, embodiments may include various algorithms implemented as combinations of data structures, processes, routines or other programming constructs, such as C, C++, , may be implemented in a programming or scripting language such as Java, assembler, etc. Functional aspects may be implemented as algorithms running on one or more processors. Hereinafter, with reference to FIGS. 3 to 8, a method for providing an automated correction service for a user's profile image performed by the computing device 100 will be described.

도 3은 본 발명의 또 다른 실시예에 따른 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법의 순서도이다.Figure 3 is a flowchart of a method for providing an automated correction service for a user's profile image according to another embodiment of the present invention.

도 3을 참조하면, S110 단계에서, 컴퓨팅 장치(100)는 사용자의 얼굴을 포함하는 이미지를 획득할 수 있다.Referring to FIG. 3, in step S110, the computing device 100 may acquire an image including the user's face.

다양한 실시예에서, 컴퓨팅 장치(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결될 수 있으며, 사용자 단말(200)로 이미지 획득을 위한 UI를 제공할 수 있고, UI를 통해 사용자로부터 보정하고자 하는 이미지를 업로드받을 수 있다.In various embodiments, the computing device 100 may be connected to the user terminal 200 through the network 400, may provide a UI for image acquisition to the user terminal 200, and may receive correction from the user through the UI. You can upload the image you want.

다양한 실시예에서, 컴퓨팅 장치(100)는 네트워크(400)를 통해 카메라 모듈과 직접 연결될 수 있으며, 카메라 모듈이 동작함에 따라 이미지가 생성되는 경우, 카메라 모듈로부터 생성된 이미지를 자동적으로 수집할 수 있다.In various embodiments, the computing device 100 may be directly connected to the camera module through the network 400, and when images are generated as the camera module operates, the computing device 100 may automatically collect images generated from the camera module. .

여기서, 이미지는 사용자의 얼굴을 포함하는 이미지로, 예컨대, 프로필 사진을 의미하는 것일 수 있으나, 이에 한정되지 않는다.Here, the image is an image including the user's face, and may mean, for example, a profile photo, but is not limited thereto.

S120 단계에서, 컴퓨팅 장치(100)는 S110 단계를 거쳐 획득된 이미지로부터 특징(Feature)을 추출할 수 있다.In step S120, the computing device 100 may extract a feature from the image acquired through step S110.

다양한 실시예에서, 컴퓨팅 장치(100)는 기 학습된 인공지능 모델을 이용하여 이미지를 분석함으로써, 이미지로부터 특징을 추출할 수 있다.In various embodiments, the computing device 100 may extract features from the image by analyzing the image using a previously learned artificial intelligence model.

여기서, 기 학습된 인공지능 모델은 이미지 분석 모델로서, 하나 이상의 특징 정보가 레이블링(Labeling)된 복수의 이미지(프로필 이미지)를 학습 데이터로 하여 학습된 모델이며, 특정 이미지를 입력 데이터로 하여 특정 이미지에 대한 하나 이상의 특징을 추출하는 모델일 수 있다.Here, the previously learned artificial intelligence model is an image analysis model, which is a model learned using a plurality of images (profile images) labeled with one or more feature information as learning data, and a specific image as input data. It may be a model that extracts one or more features.

인공지능 모델(예: 신경망)은 하나 이상의 네트워크 함수로 구성되며, 하나 이상의 네트워크 함수는 일반적으로 ‘노드’라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 ‘노드’들은 ‘뉴런(neuron)’들로 지칭될 수도 있다. 하나 이상의 네트워크 함수는 적어도 하나 이상의 노드들을 포함하여 구성된다. 하나 이상의 네트워크 함수를 구성하는 노드(또는 뉴런)들은 하나 이상의 ‘링크’에 의해 상호 연결될 수 있다.An artificial intelligence model (e.g. a neural network) consists of one or more network functions, and one or more network functions may consist of a set of interconnected computational units, which can generally be referred to as ‘nodes’. These ‘nodes’ may also be referred to as ‘neurons’. One or more network functions are composed of at least one or more nodes. Nodes (or neurons) that make up one or more network functions may be interconnected by one or more ‘links’.

인공지능 모델 내에서, 링크를 통해 연결된 하나 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 전술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다. Within an artificial intelligence model, one or more nodes connected through a link can form a relative input node and output node relationship. The concepts of input node and output node are relative, and any node in an output node relationship with one node may be in an input node relationship with another node, and vice versa. As described above, input node to output node relationships can be created around links. One or more output nodes can be connected to one input node through a link, and vice versa.

하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호 연결하는 노드는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 인공지능 모델이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.In a relationship between an input node and an output node connected through one link, the value of the output node may be determined based on data input to the input node. Here, the nodes connecting the input node and the output node may have a weight. Weights may be variable and may be varied by the user or algorithm in order for the artificial intelligence model to perform the desired function. For example, when one or more input nodes are connected to one output node by respective links, the output node is set to the values input to the input nodes connected to the output node and the links corresponding to each input node. The output node value can be determined based on the weight.

전술한 바와 같이, 인공지능 모델은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호연결 되어 인공지능 모델 내에서 입력 노드 및 출력 노드 관계를 형성한다. 인공지능 모델 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 인공지능 모델의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 인공지능 모델이 존재하는 경우, 두 개의 인공지능 모델들은 서로 상이한 것으로 인식될 수 있다.As described above, in an artificial intelligence model, one or more nodes are interconnected through one or more links to form an input node and output node relationship within the artificial intelligence model. The characteristics of the artificial intelligence model can be determined according to the number of nodes and links within the artificial intelligence model, the correlation between nodes and links, and the weight value assigned to each link. For example, if there are two artificial intelligence models with the same number of nodes and links and different weight values between the links, the two artificial intelligence models may be recognized as different from each other.

인공지능 모델을 구성하는 노드들 중 일부는, 최초 입력 노드로부터의 거리들에 기초하여, 하나의 레이어(layer)를 구성할 수 있다. 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는, 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나, 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 인공지능 모델 내에서 레이어의 차수는 전술한 것과 상이한 방법으로 정의될 수 있다. 예를 들어, 노드들의 레이어는 최종 출력 노드로부터 거리에 의해 정의될 수도 있다.Some of the nodes constituting the artificial intelligence model may form one layer based on the distances from the initial input node. For example, a set of nodes with a distance n from the initial input node may constitute n layers. The distance from the initial input node can be defined by the minimum number of links that must be passed to reach the node from the initial input node. However, this definition of the layer is arbitrary for explanation purposes, and the order of the layer within the artificial intelligence model may be defined in a different way than described above. For example, a layer of nodes may be defined by distance from the final output node.

최초 입력 노드는 인공지능 모델 내의 노드들 중 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 하나 이상의 노드들을 의미할 수 있다. 또는, 인공지능 모델 네트워크 내에서, 링크를 기준으로 한 노드 간의 관계에 있어서, 링크로 연결된 다른 입력 노드들 가지지 않는 노드들을 의미할 수 있다. 이와 유사하게, 최종 출력 노드는 인공지능 모델 내의 노드들 중 다른 노드들과의 관계에서, 출력 노드를 가지지 않는 하나 이상의 노드들을 의미할 수 있다. 또한, 히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 인공지능 모델을 구성하는 노드들을 의미할 수 있다. 본 발명의 일 실시예에 따른 인공지능 모델은 입력 레이어의 노드가 출력 레이어에 가까운 히든 레이어의 노드보다 많을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하는 형태의 인공지능 모델일 수 있다.The initial input node may refer to one or more nodes in the artificial intelligence model into which data is directly input without going through links in relationships with other nodes. Alternatively, in an artificial intelligence model network, in the relationship between nodes based on links, it may mean nodes that do not have other input nodes connected by links. Similarly, the final output node may refer to one or more nodes that do not have an output node in their relationship with other nodes among the nodes in the artificial intelligence model. Additionally, hidden nodes may refer to nodes that constitute an artificial intelligence model rather than the first input node and the last output node. The artificial intelligence model according to an embodiment of the present invention may have more nodes in the input layer than the nodes in the hidden layer close to the output layer, and is an artificial intelligence model in which the number of nodes decreases as it progresses from the input layer to the hidden layer. You can.

인공지능 모델은 하나 이상의 히든 레이어를 포함할 수 있다. 히든 레이어의 히든 노드는 이전의 레이어의 출력과 주변 히든 노드의 출력을 입력으로 할 수 있다. 각 히든 레이어 별 히든 노드의 수는 동일할 수도 있고 상이할 수도 있다. 입력 레이어의 노드의 수는 입력 데이터의 데이터 필드의 수에 기초하여 결정될 수 있으며 히든 노드의 수와 동일할 수도 있고 상이할 수도 있다. 입력 레이어에 입력된 입력 데이터는 히든 레이어의 히든 노드에 의하여 연산될 수 있고 출력 레이어인 완전 연결 레이어(FCL: fully connected layer)에 의해 출력될 수 있다.An artificial intelligence model may include one or more hidden layers. The hidden node of the hidden layer can take the output of the previous layer and the output of surrounding hidden nodes as input. The number of hidden nodes for each hidden layer may be the same or different. The number of nodes in the input layer may be determined based on the number of data fields of the input data and may be the same as or different from the number of hidden nodes. Input data input to the input layer can be operated by the hidden node of the hidden layer and output by the fully connected layer (FCL), which is the output layer.

다양한 실시예에서, 인공지능 모델은 딥러닝(Deep learning) 모델일 수 있다.In various embodiments, the artificial intelligence model may be a deep learning model.

딥러닝 모델(예: 딥 뉴럴 네트워크(DNN: deep neural network, 심층신경망)는 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 인공지능 모델을 의미할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 즉, 사진, 글, 비디오, 음성, 음악의 잠재적인 구조(예를 들어, 어떤 물체가 사진에 있는지, 글의 내용과 감정이 무엇인지, 음성의 내용과 감정이 무엇인지 등)를 파악할 수 있다.A deep learning model (e.g., deep neural network (DNN)) may refer to an artificial intelligence model that includes multiple hidden layers in addition to the input layer and output layer. Using a deep neural network, data Latent structures can be identified, that is, the latent structures of photos, text, video, voice, and music (e.g., what objects are in the photo, what the content and emotion of the text are, and what the sound of the voice is like). content, emotions, etc.).

딥 뉴럴 네트워크는 컨벌루셔널 뉴럴 네트워크(CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrent neural network), 오토 인코더(auto encoder), GAN(Generative Adversarial Networks), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크 등을 포함할 수 있으나, 이에 한정되지 않는다.Deep neural networks include convolutional neural networks (CNN), recurrent neural networks (RNN), auto encoders, generative adversarial networks (GAN), and restricted Boltzmann machines (RBMs). Boltzmann machine), deep belief network (DBN), Q network, U network, Siamese network, etc., but are not limited to these.

다양한 실시예에서, 네트워크 함수는 오토 인코더를 포함할 수도 있다. 여기서, 오토 인코더는 입력 데이터와 유사한 출력 데이터를 출력하기 위한 인공 신경망의 일종일 수 있다.In various embodiments, a network function may include an autoencoder. Here, the autoencoder may be a type of artificial neural network for outputting output data similar to input data.

오토 인코더는 적어도 하나의 히든 레이어를 포함할 수 있으며, 홀수 개의 히든 레이어가 입출력 레이어 사이에 배치될 수 있다. 각각의 레이어의 노드의 수는 입력 레이어의 노드의 수에서 병목 레이어(인코딩)라는 중간 레이어로 축소되었다가, 병목 레이어에서 출력 레이어(입력 레이어와 대칭)로 축소와 대칭되어 확장될 수도 있다. 차원 감소 레이어와 차원 복원 레이어의 노드는 대칭일 수도 있고 아닐 수도 있다. 또한, 오토 인코더는 비선형 차원 감소를 수행할 수 있다. 입력 레이어 및 출력 레이어의 수는 입력 데이터의 전처리 이후에 남은 센서들의 수와 대응될 수 있다. 오토 인코더 구조에서 인코더에 포함된 히든 레이어의 노드의 수는 입력 레이어에서 멀어질수록 감소하는 구조를 가질 수 있다. 병목 레이어(인코더와 디코더 사이에 위치하는 가장 적은 노드를 가진 레이어)의 노드의 수는 너무 작은 경우 충분한 양의 정보가 전달되지 않을 수 있으므로, 특정 수 이상(예를 들어, 입력 레이어의 절반 이상 등)으로 유지될 수도 있다.The autoencoder may include at least one hidden layer, and an odd number of hidden layers may be placed between input and output layers. The number of nodes in each layer may be reduced from the number of nodes in the input layer to an intermediate layer called the bottleneck layer (encoding), and then expanded symmetrically and reduced from the bottleneck layer to the output layer (symmetrical to the input layer). The nodes of the dimensionality reduction layer and dimensionality restoration layer may or may not be symmetric. Additionally, autoencoders can perform non-linear dimensionality reduction. The number of input layers and output layers may correspond to the number of sensors remaining after preprocessing of the input data. In an auto-encoder structure, the number of nodes in the hidden layer included in the encoder may have a structure that decreases as the distance from the input layer increases. If the number of nodes in the bottleneck layer (the layer with the fewest nodes located between the encoder and decoder) is too small, not enough information may be conveyed, so if it is higher than a certain number (e.g., more than half of the input layers, etc.) ) may be maintained.

뉴럴 네트워크는 교사 학습(supervised learning), 비교사 학습(unsupervised learning), 및 반교사학습(semi supervised learning) 중 적어도 하나의 방식으로 학습될 수 있다. 뉴럴 네트워크의 학습은 출력의 오류를 최소화하기 위한 것이다. 보다 구체적으로, 뉴럴 네트워크의 학습은 반복적으로 학습 데이터를 뉴럴 네트워크에 입력시키고 학습 데이터에 대한 뉴럴 네트워크의 출력과 타겟의 에러를 계산하고, 에러를 줄이기 위한 방향으로 뉴럴 네트워크의 에러를 뉴럴 네트워크의 출력 레이어에서부터 입력 레이어 방향으로 역전파(backpropagation)하여 뉴럴 네트워크의 각 노드의 가중치를 업데이트 하는 과정이다.A neural network may be trained in at least one of supervised learning, unsupervised learning, and semi-supervised learning. Learning of a neural network is intended to minimize errors in output. More specifically, learning of a neural network repeatedly inputs learning data into the neural network, calculates the output of the neural network and the error of the target for the learning data, and converts the error of the neural network into the output of the neural network in a way to reduce the error. This is the process of updating the weight of each node in the neural network by backpropagating from the layer to the input layer.

먼저, 교사 학습의 경우 각각의 학습 데이터에 정답이 레이블링 되어있는 학습 데이터를 사용하며(즉, 레이블링된 학습 데이터), 비교사 학습의 경우는 각각의 학습 데이터에 정답이 레이블링 되어 있지 않을 수 있다. 즉, 예를 들어 데이터 분류에 관한 교사 학습의 경우의 학습 데이터는 학습 데이터 각각에 카테고리가 레이블링 된 데이터 일 수 있다. 레이블링된 학습 데이터가 뉴럴 네트워크에 입력되고, 뉴럴 네트워크의 출력(카테고리)과 학습 데이터의 레이블을 비교함으로써 오류(error)가 계산될 수 있다.First, in the case of teacher learning, learning data in which the correct answer is labeled for each learning data is used (i.e., labeled learning data), and in the case of non-teacher learning, the correct answer may not be labeled in each learning data. That is, for example, in the case of teacher learning regarding data classification, the learning data may be data in which each learning data is labeled with a category. Labeled training data is input to the neural network, and the error can be calculated by comparing the output (category) of the neural network with the label of the training data.

다음으로, 데이터 분류에 관한 비교사 학습의 경우 입력인 학습 데이터가 뉴럴 네트워크 출력과 비교됨으로써 오류가 계산될 수 있다. 계산된 오류는 뉴럴 네트워크에서 역방향(즉, 출력 레이어에서 입력 레이어 방향)으로 역전파 되며, 역전파에 따라 뉴럴 네트워크의 각 레이어의 각 노드들의 연결 가중치가 업데이트 될 수 있다. 업데이트 되는 각 노드의 연결 가중치는 학습률(learning rate)에 따라 변화량이 결정될 수 있다. 입력 데이터에 대한 뉴럴 네트워크의 계산과 에러의 역전파는 학습 사이클(epoch)을 구성할 수 있다. 학습률은 뉴럴 네트워크의 학습 사이클의 반복 횟수에 따라 상이하게 적용될 수 있다. 예를 들어, 뉴럴 네트워크의 학습 초기에는 높은 학습률을 사용하여 뉴럴 네트워크가 빠르게 일정 수준의 성능을 확보하도록 하여 효율성을 높이고, 학습 후기에는 낮은 학습률을 사용하여 정확도를 높일 수 있다.Next, in the case of non-teachable learning for data classification, the error can be calculated by comparing the input training data with the neural network output. The calculated error is backpropagated in the reverse direction (i.e., from the output layer to the input layer) in the neural network, and the connection weight of each node in each layer of the neural network can be updated according to backpropagation. The amount of change in the connection weight of each updated node may be determined according to the learning rate. The neural network's calculation of input data and backpropagation of errors can constitute a learning cycle (epoch). The learning rate may be applied differently depending on the number of repetitions of the learning cycle of the neural network. For example, in the early stages of neural network training, a high learning rate can be used to increase efficiency by allowing the neural network to quickly achieve a certain level of performance, and in the later stages of training, a low learning rate can be used to increase accuracy.

뉴럴 네트워크의 학습에서 일반적으로 학습 데이터는 실제 데이터(즉, 학습된 뉴럴 네트워크를 이용하여 처리하고자 하는 데이터)의 부분집합일 수 있으며, 따라서, 학습 데이터에 대한 오류는 감소하나 실제 데이터에 대해서는 오류가 증가하는 학습 사이클이 존재할 수 있다. 과적합(overfitting)은 이와 같이 학습 데이터에 과하게 학습하여 실제 데이터에 대한 오류가 증가하는 현상이다. 예를 들어, 노란색 고양이를 보여 고양이를 학습한 뉴럴 네트워크가 노란색 이외의 고양이를 보고는 고양이임을 인식하지 못하는 현상이 과적합의 일종일 수 있다. 과적합은 머신러닝 알고리즘의 오류를 증가시키는 원인으로 작용할 수 있다. 이러한 과적합을 막기 위하여 다양한 최적화 방법이 사용될 수 있다. 과적합을 막기 위해서는 학습 데이터를 증가시키거나, 레귤라이제이션(regularization), 학습의 과정에서 네트워크의 노드 일부를 생략하는 드롭아웃(dropout) 등의 방법이 적용될 수 있다.In the learning of neural networks, the training data can generally be a subset of real data (i.e., the data to be processed using the learned neural network), and thus the error for the training data is reduced, but the error for the real data is reduced. There may be an incremental learning cycle. Overfitting is a phenomenon in which errors in actual data increase due to excessive learning on training data. For example, a phenomenon in which a neural network that learned a cat by showing a yellow cat fails to recognize that it is a cat when it sees a non-yellow cat may be a type of overfitting. Overfitting can cause errors in machine learning algorithms to increase. To prevent such overfitting, various optimization methods can be used. To prevent overfitting, methods such as increasing the learning data, regularization, or dropout, which omits some of the network nodes during the learning process, can be applied.

S130 단계에서, 컴퓨팅 장치(100)는 S120 단계를 거쳐 추출된 특징을 이용하여 이미지에 포함된 사용자의 얼굴에 대한 보정을 수행할 수 있다. 이하, 도 4 내지 도 8을 참조하여, 사용자의 얼굴에 대한 보정을 수행하는 구체적인 방법에 대해 설명하도록 한다.In step S130, the computing device 100 may perform correction on the user's face included in the image using the features extracted through step S120. Hereinafter, with reference to FIGS. 4 to 8, a specific method of performing correction on the user's face will be described.

도 4는 다양한 실시예에서, 사용자의 얼굴에 대한 톤 보정을 수행하는 방법을 설명하기 위한 순서도이다.FIG. 4 is a flowchart illustrating a method of performing tone correction on a user's face, according to various embodiments.

도 4를 참조하면, S210 단계에서, 컴퓨팅 장치(100)는 이미지를 분석함에 따라 사용자의 얼굴에 대응하는 얼굴 영역을 식별할 수 있다.Referring to FIG. 4 , in step S210, the computing device 100 may identify a facial area corresponding to the user's face by analyzing the image.

다양한 실시예에서, 컴퓨팅 장치(100)는 얼굴 영역을 포함하는 복수의 이미지를 학습 데이터로 하여 기 학습된 얼굴 식별 모델을 이용하여 이미지를 분석함으로써, 이미지에 포함된 얼굴 영역을 식별할 수 있다. 여기서, 기 학습된 얼굴 식별 모델은 상기의 인공지능 모델과 동일 또는 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.In various embodiments, the computing device 100 may identify the face area included in the image by analyzing the image using a previously learned face identification model using a plurality of images including the face area as learning data. Here, the previously learned face identification model may be implemented in the same or similar form as the above artificial intelligence model, but is not limited to this.

S220 단계에서, 컴퓨팅 장치(100)는 S210 단계를 거쳐 식별된 얼굴 영역을 분석함으로써, 톤 보정을 수행하기 위한 특징으로서, 얼굴 영역에 대한 톤 값을 추출할 수 있다.In step S220, the computing device 100 may extract a tone value for the face region as a feature for performing tone correction by analyzing the face region identified through step S210.

다양한 실시예에서, 컴퓨팅 장치(100)는 얼굴 영역을 격자화함에 따라 얼굴 영역을 분할함으로써, 복수의 단위 얼굴 영역을 생성할 수 있고, 복수의 단위 얼굴 영역 각각을 분석함으로써, 복수의 단위 얼굴 영역 각각에 대응하는 복수의 톤 값을 추출할 수 있다.In various embodiments, the computing device 100 may generate a plurality of unit face areas by dividing the face area by gridding the face area, and may generate a plurality of unit face areas by analyzing each of the plurality of unit face areas. A plurality of tone values corresponding to each can be extracted.

여기서, 복수의 단위 얼굴 영역 각각에 대응하는 톤 값은 복수의 단위 얼굴 영역 각각에 대한 색상 값 및 밝기 값을 포함하는 것일 수 있으나, 이에 한정되지 않는다.Here, the tone value corresponding to each of the plurality of unit face areas may include a color value and a brightness value for each of the plurality of unit face areas, but is not limited to this.

다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 단위 얼굴 영역 중 상호 인접한 둘 이상의 단위 얼굴 영역에 대응하는 톤 값이 동일하거나, 기 설정된 범위 이내의 차이 값을 가지는 경우, 동일한 톤 값을 가지거나 기 설정된 범위 이내의 차이를 가지는 둘 이상의 단위 얼굴 영역을 하나의 그룹으로 그룹화할 수 있다.In various embodiments, the computing device 100 has the same tone value when the tone value corresponding to two or more adjacent unit face areas among the plurality of unit face areas is the same or has a difference value within a preset range. Two or more unit face areas with differences within a preset range can be grouped into one group.

다양한 실시예에서, 컴퓨팅 장치(100)는 피부결 방향(예컨대, 도 5)에 기초하여, 복수의 단위 얼굴 영역 중 동일한 방향에 대응하는 둘 이상의 단위 얼굴 영역을 하나의 그룹으로 그룹화할 수 있다.In various embodiments, the computing device 100 may group two or more unit face areas corresponding to the same direction among a plurality of unit face areas into one group based on the skin texture direction (eg, FIG. 5).

이와 같이, 하나의 그룹으로 그룹화된 둘 이상의 단위 얼굴 영역에 대해서는 동일한 톤 보정이 수행될 수 있으나, 이에 한정되지 않는다.In this way, the same tone correction may be performed on two or more unit face areas grouped into one group, but the present invention is not limited to this.

S230 단계에서, 컴퓨팅 장치(100)는 S220 단계를 거쳐 추출된 복수의 톤 값 중 적어도 하나의 톤 값을 이용하여 사용자의 얼굴에 대한 톤 보정을 수행할 수 있다.In step S230, the computing device 100 may perform tone correction on the user's face using at least one tone value among the plurality of tone values extracted through step S220.

다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 톤 값을 오름차순으로 정렬하고, 오름차순으로 정렬된 복수의 톤 값 중 n번째 톤 값을 선택할 수 있으며, 선택된 n번째 톤 값을 이용하여 사용자의 얼굴에 대한 톤 보정을 수행할 수 있다.In various embodiments, the computing device 100 may sort a plurality of tone values in ascending order, select an n-th tone value from among the plurality of tone values sorted in ascending order, and use the selected n-th tone value to display the user's face. Tone correction can be performed.

예컨대, 컴퓨팅 장치(100)는 복수의 톤 값을 오름차순으로 정렬하고, 오름차순으로 정렬된 복수의 톤 값 중 n번째 톤 값(예컨대, 2번째 또는 3번째 톤 값)을 선택함으로써, 얼굴 영역 상에서 2번째 또는 3번째로 어두운 톤 값을 제1 톤 값으로 선택할 수 있고, 선택한 제1 톤 값을 이용하여 사용자의 얼굴에 대한 톤 보정을 수행할 수 있다.For example, the computing device 100 sorts a plurality of tone values in ascending order and selects the nth tone value (e.g., the 2nd or 3rd tone value) among the plurality of tone values sorted in ascending order, thereby selecting 2 tone values in the face area. The second or third darkest tone value can be selected as the first tone value, and tone correction on the user's face can be performed using the selected first tone value.

이때, 컴퓨팅 장치(100)는 제1 톤을 이용하여 사용자의 얼굴에 대한 톤 보정을 수행함으로써, 사용자의 얼굴을 어둡게 보정하되, 제1 톤보다 큰 크기의 톤 값을 가지는 단위 얼굴 영역에 대해서만 톤 보정을 수행할 수 있으나, 이에 한정되지 않는다.At this time, the computing device 100 darkens the user's face by performing tone correction on the user's face using the first tone, but only applies the tone to the unit face area having a tone value larger than the first tone. Correction may be performed, but is not limited to this.

다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 톤 값을 내림차순으로 정렬하고, 내림차순으로 정렬된 복수의 톤 값 중 m번째 톤 값을 선택할 수 있으며, 선택된 m번째 톤 값을 이용하여 사용자의 얼굴에 대한 톤 보정을 수행함으로써, 사용자의 얼굴을 어둡게 보정할 수 있다.In various embodiments, the computing device 100 may sort a plurality of tone values in descending order, select an m-th tone value from among the plurality of tone values sorted in descending order, and use the selected m-th tone value to display the user's face. By performing tone correction for , the user's face can be darkened.

예컨대, 컴퓨팅 장치(100)는 복수의 톤 값을 내림차순으로 정렬하고, 내림차순으로 정렬된 복수의 톤 값 중 m번째 톤 값(예컨대, 2번째 또는 3번째 톤 값)을 선택함으로써, 얼굴 영역 상에서 2번째 또는 3번째로 밝은 톤 값을 제2 톤 값으로 선택할 수 있고, 선택한 제2 톤 값을 이용하여 사용자의 얼굴에 대한 톤 보정을 수행함으로써 사용자의 얼굴을 밝게 보정할 수 있다.For example, the computing device 100 sorts a plurality of tone values in descending order and selects the mth tone value (e.g., the 2nd or 3rd tone value) among the plurality of tone values sorted in descending order, thereby selecting 2 tone values in the face area. The second or third brightest tone value can be selected as the second tone value, and the user's face can be brightened by performing tone correction on the user's face using the selected second tone value.

이때, 컴퓨팅 장치(100)는 제2 톤을 이용하여 사용자의 얼굴에 대한 톤 보정을 수행함으로써, 사용자의 얼굴을 밝게 보정하되, 제2 톤보다 작은 크기의 톤 값을 가지는 단위 얼굴 영역에 대해서만 톤 보정을 수행할 수 있으나, 이에 한정되지 않는다.At this time, the computing device 100 brightens the user's face by performing tone correction on the user's face using the second tone, but only applies the tone to the unit face area having a tone value smaller than the second tone. Correction may be performed, but is not limited to this.

다양한 실시예에서, 컴퓨팅 장치(100)는 얼굴 영역 상에 피부결 방향에 대응하는 톤 보정 방향을 정의할 수 있고, 적어도 하나의 톤 값을 이용하여, 얼굴 영역 상에 정의된 톤 보정 방향에 따라 얼굴 영역에 대한 톤 보정을 수행할 수 있다. 예컨대, 컴퓨팅 장치(100)는 도 5에 도시된 바와 같이, 이미지로부터 식별된 얼굴 영역에 대하여, 피부결에 따라 톤 보정 방향을 정의할 수 있고, 적어도 하나의 톤 값을 이용하여 피부결에 따른 톤 보정 방향에 따라 톤 보정을 수행할 수 있다.In various embodiments, the computing device 100 may define a tone correction direction corresponding to the skin texture direction on the face area, using at least one tone value, according to the tone correction direction defined on the face area. Tone correction can be performed on the face area. For example, as shown in FIG. 5, the computing device 100 may define a tone correction direction according to skin texture for the facial area identified from the image, and perform tone correction according to skin texture using at least one tone value. Tone correction can be performed depending on the direction.

이때, 컴퓨팅 장치(100)는 기 설정된 톤 보정 도구(예컨대, 포토샵의 붓, 페인트 등)를 이용하여, 톤 보정 방향에 따라 적어도 하나의 톤 값을 반복 터치함으로써, 얼굴 영역에 대한 톤 보정을 수행하되, 얼굴 영역에 대한 톤 보정을 반복 수행하는 횟수 즉, 기 설정된 톤 보정 도구를 이용하여 적어도 하나의 톤 값을 반복 터치하는 횟수는 적어도 하나의 톤 값과 적어도 하나의 톤 값을 이용하여 톤 보정되는 위치에 대응하는 톤 값의 차이, 이미지에 포함된 배경의 속성 중 적어도 하나에 기초하여 결정될 수 있다.At this time, the computing device 100 performs tone correction on the face area by repeatedly touching at least one tone value according to the tone correction direction using a preset tone correction tool (e.g., Photoshop brush, paint, etc.). However, the number of times to repeatedly perform tone correction for the face area, that is, the number of times to repeatedly touch at least one tone value using a preset tone correction tool, is to perform tone correction using at least one tone value and at least one tone value. It may be determined based on at least one of the difference in tone values corresponding to the location and the properties of the background included in the image.

일례로, 컴퓨팅 장치(100)는 제1 톤 값을 이용하여 특정 위치에 대한 톤 보정을 수행하고자 하는 경우, 제1 톤 값과 특정 위치에서 추출된 톤 값의 차이에 기초하여 특정 위치에 대한 반복 보정 횟수(반복 터치 횟수)를 결정할 수 있고, 결정된 반복 보정 횟수만큼 특정 위치에 제1 톤 값을 반복 적용시킴으로써 특정 위치에 대한 톤 보정을 수행할 수 있다.For example, when the computing device 100 wants to perform tone correction for a specific location using the first tone value, the computing device 100 repeats the process for the specific location based on the difference between the first tone value and the tone value extracted from the specific location. The number of corrections (number of repeated touches) can be determined, and tone correction for a specific position can be performed by repeatedly applying the first tone value to the specific position as many times as the determined number of repeated corrections.

다른 예로, 컴퓨팅 장치(100)는 제1 톤 값을 이용하여 특정 위치에 대한 톤 보정을 수행하고자 하는 경우, 제1 톤 값과 이미지에 포함된 배경 영역으로부터 추출된 톤 값의 차이에 기초하여 특정 위치에 대한 반복 보정 횟수(반복 터치 횟수)를 결정할 수 있고, 결정된 반복 보정 횟수만큼 특정 위치에 제1 톤 값을 반복 적용시킴으로써 특정 위치에 대한 톤 보정을 수행할 수 있다.As another example, when the computing device 100 wishes to perform tone correction for a specific location using the first tone value, the computing device 100 may perform a specific location based on the difference between the first tone value and the tone value extracted from the background area included in the image. The number of repetition corrections (number of repeated touches) for a position can be determined, and tone correction for a specific position can be performed by repeatedly applying the first tone value to the specific position as many times as the determined repetition correction number.

다양한 실시예에서, 컴퓨팅 장치(100)는 얼굴 영역을 분석함에 따라 복수의 단위 얼굴 영역 각각에 대응하는 복수의 톤 값을 추출할 수 있고, 추출된 복수의 톤 값 중 최대 값과 최소 값을 선택할 수 있으며, 선택된 최대 값과 최소 값의 차이가 기 설정된 기준 이상인 경우 즉, 얼굴 영역에 있어서 가장 어두운 부분과 가장 밝은 부분의 차이가 큰 경우에만 얼굴 영역에 대한 톤 보정을 수행할 수 있고, 최대 값과 최소 값의 차이가 기 설정된 기준 미만인 경우 즉, 얼굴 영역에 있어서 가장 어두운 부분과 가장 밝은 부분의 차이가 작은 경우에는 얼굴 영역에 대한 톤 보정을 수행하지 않을 수 있다.In various embodiments, the computing device 100 may extract a plurality of tone values corresponding to each of a plurality of unit face regions as the facial area is analyzed, and select a maximum value and a minimum value among the plurality of extracted tone values. Tone correction for the face area can be performed only when the difference between the selected maximum and minimum values is greater than a preset standard, that is, when the difference between the darkest and brightest parts of the face area is large, and the maximum value is If the difference between and the minimum value is less than a preset standard, that is, if the difference between the darkest part and the brightest part of the face area is small, tone correction for the face area may not be performed.

다양한 실시예에서, 컴퓨팅 장치(100)는 얼굴 영역을 분석함에 따라 추출된 복수의 톤 값 중 적어도 하나의 톤 값을 이용하여 얼굴에 대한 톤 보정을 수행하되, 기 설정된 조건이 만족될 때까지 톤 보정을 반복적으로 수행할 수 있다.In various embodiments, the computing device 100 performs tone correction on the face using at least one tone value among a plurality of tone values extracted by analyzing the face area, and performs tone correction on the face until a preset condition is satisfied. Calibration can be performed repeatedly.

여기서, 기 설정된 조건이 만족되는 것은 얼굴 영역의 평균 톤 값과 적어도 하나의 톤 값의 차이가 오차범위 이내인 경우를 의미할 수 있으나, 이에 한정되지 않는다.Here, satisfying the preset condition may mean that the difference between the average tone value of the face area and at least one tone value is within an error range, but is not limited to this.

보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 복수의 톤 값 중 적어도 하나의 톤 값을 선택할 수 있고, 선택된 적어도 하나의 톤 값을 이용하여 얼굴에 대한 톤 보정을 수행할 수 있다.More specifically, first, the computing device 100 may select at least one tone value from among a plurality of tone values and perform tone correction on the face using the at least one selected tone value.

이후, 컴퓨팅 장치(100)는 적어도 하나의 톤 값을 이용하여 보정된 얼굴 영역을 재 분석하여 복수의 톤 값을 재추출할 수 있고, 재추출된 복수의 톤 값의 평균 값과 적어도 하나의 톤 값의 차이가 오차범위 이내인지 여부를 판단함으로써, 기 설정된 조건이 만족되는지 여부를 판단할 수 있다.Thereafter, the computing device 100 may re-analyze the corrected facial area using at least one tone value to re-extract a plurality of tone values, and the average value of the plurality of re-extracted tone values and at least one tone By determining whether the difference in values is within the error range, it is possible to determine whether preset conditions are satisfied.

이후, 컴퓨팅 장치(100)는 기 설정된 조건이 만족되는 것으로 판단되는 경우 즉, 재추출된 복수의 톤 값의 평균 값과 적어도 하나의 톤 값의 차이가 오차범위 이내인 것으로 판단되는 경우, 얼굴 영역에 대한 톤 보정을 중지하여 더 이상의 톤 보정을 수행하지 않도록 할 수 있다.Thereafter, when it is determined that the preset condition is satisfied, that is, when it is determined that the difference between the average value of the plurality of re-extracted tone values and at least one tone value is within the error range, the computing device 100 determines that the facial area You can stop tone correction for to prevent further tone correction from being performed.

한편, 컴퓨팅 장치(100)는 기 설정된 조건이 만족되지 않은 것으로 판단되는 경우 즉, 재추출된 복수의 톤 값의 평균 값과 적어도 하나의 톤 값의 차이가 오차범위를 벗어난 것으로 판단되는 경우, 적어도 하나의 톤 값을 이용하여 기 보정된 얼굴 영역에 대한 톤 보정을 재 수행할 수 있다.Meanwhile, when it is determined that the preset condition is not satisfied, that is, when the difference between the average value of the plurality of re-extracted tone values and at least one tone value is determined to be outside the error range, the computing device 100 determines that the preset condition is not satisfied, at least Tone correction for a previously corrected face area can be re-performed using a single tone value.

즉, 컴퓨팅 장치(100)는 복수의 톤 값 중 적어도 하나의 톤 값을 이용하여 얼굴 영역에 대한 톤 보정을 수행하되, 얼굴 영역에 대한 평균 톤 값과 적어도 하나의 톤 값의 차이가 오차범위 이내가 될 때까지 반복적으로 톤 보정을 수행할 수 있다.That is, the computing device 100 performs tone correction for the face area using at least one tone value among a plurality of tone values, but the difference between the average tone value for the face area and the at least one tone value is within the error range. Tone correction can be performed repeatedly until .

도 6은 다양한 실시예에서, 사용자의 얼굴에 대한 음영 및 하이라이팅 보정을 수행하는 방법을 설명하기 위한 순서도이다.FIG. 6 is a flowchart illustrating a method of performing shading and highlighting correction on a user's face, according to various embodiments.

도 6을 참조하면, S310 단계에서, 컴퓨팅 장치(100)는 이미지를 분석함에 따라 사용자의 얼굴에 대응하는 얼굴 영역을 식별할 수 있다. 여기서, 이미지로부터 얼굴 영역을 식별하는 동작은, 도 4의 S210 단계와 동일 또는 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.Referring to FIG. 6 , in step S310, the computing device 100 may identify a facial area corresponding to the user's face by analyzing the image. Here, the operation of identifying the face area from the image may be implemented in the same or similar form as step S210 of FIG. 4, but is not limited thereto.

S320 단계에서, 컴퓨팅 장치(100)는 S310 단계를 거쳐 식별된 얼굴 영역을 분석하여 특징으로서, 사용자의 얼굴형을 판단할 수 있다.In step S320, the computing device 100 may determine the user's face shape as a feature by analyzing the facial area identified through step S310.

다양한 실시예에서, 컴퓨팅 장치(100)는 이미지에 포함된 얼굴 영역에 대하여, 얼굴 영역의 윤곽선을 가리키는 벡터를 추출할 수 있고, 추출된 벡터를 기반으로 얼굴 영역의 형태를 결정할 수 있으며, 결정된 얼굴 영역의 형태에 기초하여 사용자의 얼굴형을 판단할 수 있다. 그러나, 이에 한정되지 않는다.In various embodiments, the computing device 100 may extract a vector indicating the outline of the face area with respect to the face area included in the image, determine the shape of the face area based on the extracted vector, and determine the shape of the face area. The user's face shape can be determined based on the shape of the area. However, it is not limited to this.

여기서, 사용자의 얼굴형은 계란형, 긴형, 둥근형, 광대형 및 각진형을 포함할 수 있으나, 이에 한정되지 않는다.Here, the user's face shape may include, but is not limited to, oval shape, long shape, round shape, cheek shape, and angular shape.

S330 단계에서, 컴퓨팅 장치(100)는 S320 단계를 거쳐 판단된 사용자의 얼굴형에 기초하여, 음영 보정 및 하이라이팅 보정을 위한 복수의 영역을 설정할 수 있다.In step S330, the computing device 100 may set a plurality of areas for shading correction and highlighting correction based on the user's face shape determined through step S320.

예컨대, 도 7에 도시된 바와 같이, 얼굴형(예컨대, 계란형, 긴형, 둥근형, 광대형, 각진형 등)에 따라 음영 보정이 필요한 위치와 하이라이팅 보정을 위한 위치가 상이할 수 있는 바, 컴퓨팅 장치(100)는 사용자의 얼굴형에 따라 얼굴 영역 상에 음영 보정을 위한 복수의 제1 영역(10)과 하이라이팅 보정을 위한 복수의 제2 영역(20)을 설정할 수 있다.For example, as shown in FIG. 7, the position where shading correction is required and the position for highlighting correction may be different depending on the face shape (e.g., oval, long, round, cheek, angular, etc.), and the computing device 100 may set a plurality of first areas 10 for shading correction and a plurality of second areas 20 for highlighting correction on the face area according to the user's face shape.

다양한 실시예에서, 컴퓨팅 장치(100)는 얼굴형에 따른 보정 위치 데이터에 기초하여, 사용자의 얼굴형에 따른 복수의 제1 영역(10)과 복수의 제2 영역(20)을 이미지에 포함된 얼굴 영역 상에 설정할 수 있다.In various embodiments, the computing device 100 includes a plurality of first areas 10 and a plurality of second areas 20 according to the user's face shape based on correction position data according to the face shape. It can be set on the face area.

여기서, 얼굴형에 따른 보정 위치 데이터 복수의 얼굴형 각각에 대하여, 음영 보정을 위한 제1 영역에 관한 정보와 하이라이팅 보정을 위한 제2 영역에 관한 정보가 매칭되어 저장된 데이터를 의미할 수 있으며, 관리자에 의해 사전에 정의 및 저장된 데이터를 의미할 수 있으나, 이에 한정되지 않는다.Here, correction position data according to face shape may refer to data stored by matching information about the first area for shading correction and information about the second area for highlighting correction for each of a plurality of face shapes, and may refer to data stored by the administrator. It may mean data defined and stored in advance, but is not limited to this.

S340 단계에서, 컴퓨팅 장치(100)는 S330 단계를 거쳐 설정된 복수의 제1 영역(10)에 대한 음영 보정을 수행할 수 있고, 복수의 제2 영역(20)에 대한 하이라이팅 보정을 수행할 수 있다.In step S340, the computing device 100 may perform shading correction for the plurality of first areas 10 set through step S330 and highlighting correction for the plurality of second areas 20. .

여기서, 음영 보정은 음영 보정 도구(예컨대, 포토샵의 번(burn) 기능)을 이용하여 특정 영역을 어둡게 처리하는 보정을 의미하며, 하이라이팅 보정은 하이라이팅 보정 도구(예컨대, 포토샵의 닷지(dodge) 기능)을 이용하여 특정 영역을 밝게 처리하는 보정을 의미하는 것일 수 있으나, 이에 한정되지 않는다.Here, shading correction refers to correction of darkening a specific area using a shadow correction tool (e.g., Photoshop's burn function), and highlighting correction refers to a highlighting correction tool (e.g., Photoshop's dodge function). This may mean correction of brightening a specific area using , but is not limited to this.

도 8은 다양한 실시예에서, 사용자의 눈썹 영역에 대한 보정을 수행하는 방법을 설명하기 위한 순서도이다.FIG. 8 is a flowchart illustrating a method for performing correction on a user's eyebrow area, according to various embodiments.

도 8을 참조하면, S410 단계에서, 컴퓨팅 장치(100)는 이미지를 분석함에 따라 사용자의 얼굴에 대응하는 얼굴 영역을 식별할 수 있다.Referring to FIG. 8 , in step S410, the computing device 100 may identify a facial area corresponding to the user's face by analyzing the image.

S420 단계에서, 컴퓨팅 장치(100)는 S410 단계를 거쳐 식별된 얼굴 영역을 분석하여 특징으로서, 사용자의 눈썹 영역과 사용자의 홍채 색상을 추출할 수 있다.In step S420, the computing device 100 may analyze the face area identified through step S410 and extract the user's eyebrow area and the user's iris color as features.

S430 단계에서, 컴퓨팅 장치(100)는 S420 단계를 거쳐 추출된 눈썹 영역에 대한 보정을 수행하되, 사용자의 홍채 색상을 이용하여 사용자의 눈썹 영역을 보정할 수 있다. 그러나, 이에 한정되지 않는다.In step S430, the computing device 100 performs correction on the eyebrow area extracted through step S420, and may correct the user's eyebrow area using the user's iris color. However, it is not limited to this.

다시, 도 3을 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 이미지의 성질 및 상태에 기초하여, 이미지에 포함된 사용자의 얼굴에 대한 보정을 수행할 수 있다.Referring again to FIG. 3 , in various embodiments, computing device 100 may perform correction on the user's face included in the image based on the nature and state of the image.

보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 사용자에 대한 하나 이상의 키워드를 결정할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 복수의 키워드를 포함하는 키워드 리스트를 출력하는 UI를 제공할 수 있고, UI를 통해 사용자로부터 복수의 키워드 중 하나 이상의 키워드를 선택받을 수 있다.More specifically, first, computing device 100 may determine one or more keywords for the user. For example, the computing device 100 may provide a UI that outputs a keyword list including a plurality of keywords, and may allow the user to select one or more keywords among the plurality of keywords through the UI.

여기서, 키워드는 프로필 이미지의 성질이나 상태를 나타내는 형용사 키워드(예컨대, 로맨틱, 페미닌, 엘레강스, 섹시, 메니쉬, 클래식, 모던, 소피스티케이티드, 아방가르드, 퓨처리스틱, 사이버 테크노, 키치, 내추럴, 에스닉, 스포티, 캐주얼, 엑티브, 레트로, 럭셔리 등)를 의미할 수 있으나, 이에 한정되지 않는다. Here, the keyword is an adjective keyword that indicates the nature or state of the profile image (e.g., romantic, feminine, elegant, sexy, menish, classic, modern, sophisticated, avant-garde, futuristic, cyber-techno, kitsch, natural, It may mean (ethnic, sporty, casual, active, retro, luxury, etc.), but is not limited to this.

다양한 실시예에서, 컴퓨팅 장치(100)는 사용자의 계정으로 업로드된 복수의 소셜 데이터를 분석하여 사용자에 대한 속성(예: 성격, 성향, 취향 등)을 판단할 수 있고, 판단된 사용자에 속성에 기초하여 사용자에 대한 하나 이상의 키워드를 선택할 수 있다.In various embodiments, the computing device 100 may determine attributes (e.g., personality, inclination, taste, etc.) for the user by analyzing a plurality of social data uploaded to the user's account, and may determine the attributes of the determined user. You can select one or more keywords for your users based on:

일반적으로, SNS계정은 자신의 성격, 성향, 취향, 가치관 등을 표현하고 드러낼 수 있는 자신만의 공간인 바, SNS 상에 업로드되는 게시물(예: 게시글 또는 이미지 등)들은 이러한 사용자의 성격, 성향, 취향 및 가치관을 명확하게 드러내는 중요한 요소일 수 있다.In general, SNS accounts are one's own space where one can express and reveal one's personality, inclinations, tastes, values, etc., and posts (e.g. posts or images, etc.) uploaded on SNS reflect the user's personality, It can be an important element that clearly reveals inclinations, tastes, and values.

이러한 점을 고려하여, 컴퓨팅 장치(100)는 외부 서버(300)(예: SNS 운영 서버)로부터 사용자의 계정으로 업로드된 복수의 소셜 데이터를 수집하고, 이를 분석할 수 있고, 이를 통해 사용자의 속성(예: 성격, 성향, 취향 및 가치관)을 판단할 수 있으며, 이에 따라 판단된 속성에 따라 사용자에 대한 하나 이상의 키워드를 추출함으로써, 사용자의 성격, 성향, 취향 및 가치관에 대응되는 키워드를 정확하게 추출할 수 있다는 이점이 있다.Considering this, the computing device 100 can collect a plurality of social data uploaded to the user's account from the external server 300 (e.g., SNS operation server), analyze the data, and determine the user's attributes through this. (e.g. personality, inclination, taste and values) can be determined, and by extracting one or more keywords for the user according to the determined attributes, keywords corresponding to the user's personality, inclination, taste and values can be accurately extracted. There is an advantage to being able to do it.

여기서, 복수의 소셜 데이터를 분석하여 사용자의 속성을 판단하는 방법은, 문자열 분석을 통해 사용자가 업로드한 텍스트 형태의 게시글로부터 하나 이상의 속성 키워드를 추출하는 동작 및 기 저장된 사용자의 속성별 키워드 데이터에 기초하여 추출된 속성 키워드에 대응하는 사용자의 속성을 판단하는 동작을 포함하는 방법이 적용될 수 있으나, 이에 한정되지 않는다.Here, the method of determining a user's attributes by analyzing a plurality of social data is based on the operation of extracting one or more attribute keywords from text-type posts uploaded by the user through string analysis and keyword data for each attribute of the user that is already stored. A method including an operation of determining the user's attributes corresponding to the extracted attribute keywords may be applied, but is not limited to this.

다양한 실시예에서, 컴퓨팅 장치(100)는 MBTI 검사 기반의 질의 내용에 대한 답변 내용으로 사용자에 대한 성격 유형(예: 에너지방향(외향(E), 내향(I)), 인식기능(감각(S), 직관(N)), 판단기능(사고(T), 감정(F)), 생활 양식(판단(J), 인식(P)))을 판단할 수 있고, 판단된 사용자에 대한 성격 유형에 기초하여 사용자의 성격 유형에 적합한 하나 이상의 형용사 키워드를 추출할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 사용자가 외향적인 성격(E)을 가진 것에 응답하여 사용자 자신을 적극적으로 드러내고 표현하는 것과 관련된 형용사 키워드(예: 과감한, 도발적인, 정열적인, 노출적인 등)를 선택할 수 있고, 사용자가 내향적인 성격(I)을 가진 것에 응답하여 사용자 자신을 적극적으로 드러내지 않고, 우회적으로 드러내고 표현하는 것과 관련된 형용사 키워드(예: 단정한, 부드러운, 은은한, 자연스러운, 차분한, 침착한 등)를 선택할 수 있다.In various embodiments, the computing device 100 provides answers to questions based on the MBTI test, such as personality type (e.g., energy direction (extroversion (E), introversion (I))), cognitive function (sensing (S)) for the user. ), intuition (N)), judgment function (thinking (T), emotion (F)), and lifestyle (judgment (J), perception (P))), and determine the personality type of the determined user. Based on this, one or more adjective keywords suitable for the user's personality type can be extracted. For example, in response to the user having an extroverted personality (E), the computing device 100 may include adjective keywords (e.g., bold, provocative, passionate, revealing, etc.) related to the user actively revealing and expressing himself. adjective keywords related to revealing and expressing oneself indirectly, without actively revealing oneself, in response to the user having an introverted personality (I) (e.g. neat, gentle, subtle, natural, calm, composed) etc.) can be selected.

이후, 컴퓨팅 장치(100)는 상기의 방법에 따라 결정된 키워드를 기반으로 이미지에 대한 보정 여부, 보정 정도 및 보정 방향을 포함하는 보정 속성을 결정할 수 있고, 결정된 보정 속성에 따라 사용자의 얼굴에 대한 보정을 수행할 수 있다.Thereafter, the computing device 100 may determine correction properties including whether or not to correct the image, correction degree, and correction direction based on the keyword determined according to the above method, and correct the user's face according to the determined correction properties. can be performed.

예컨대, 컴퓨팅 장치(100)는 사전에 정의된 키워드별 보정 속성 정보(복수의 키워드 각각에 대하여 사전에 정의된 정보로서, 복수의 키워드 각각에 대한 보정의 종류별 수행 여부, 톤 보정 범위(톤 값 범위), 제1 영역 및 제2 영역의 위치 및 개수 등의 정보를 포함함)에 기초하여, 사용자의 얼굴에 대한 보정 여부, 보정 정도 및 보정 방향을 결정할 수 있고, 결정된 보정 여부, 보정 정도 및 보정 방향에 따라 사용자의 얼굴에 대한 보정을 수행할 수 있다.For example, the computing device 100 may provide correction attribute information for each keyword defined in advance (information defined in advance for each of a plurality of keywords, such as whether to perform correction by type for each of the plurality of keywords, and a tone correction range (tone value range). ), including information such as the location and number of the first area and the second area), it is possible to determine whether or not to correct the user's face, the correction degree, and the direction of correction, and the determined correction, correction degree, and correction direction. Correction of the user's face can be performed depending on the direction.

다양한 실시예에서, 컴퓨팅 장치(100)는 이미지에 포함된 사용자의 얼굴을 분석하여 특징으로서 사용자의 표정에 관한 정보를 추출할 수 있고, 추출된 사용자의 표정에 기초하여 이미지에 대한 보정 여부, 보정 정도 및 보정 방향을 포함하는 보정 속성을 결정할 수 있으며, 결정된 보정 속성에 따라 사용자의 얼굴에 대한 보정을 수행할 수 있다.In various embodiments, the computing device 100 may extract information about the user's facial expression as a feature by analyzing the user's face included in the image, and determine whether or not the image is corrected based on the extracted user's facial expression. Correction properties including degree and correction direction can be determined, and correction of the user's face can be performed according to the determined correction properties.

예컨대, 컴퓨팅 장치(100)는 사전에 정의된 표정별 보정 속성 정보(복수의 표정 각각에 대하여 사전에 정의된 정보로서, 복수의 표정 각각에 대한 보정의 종류별 수행 여부, 톤 보정 범위(톤 값 범위), 제1 영역 및 제2 영역의 위치 및 개수 등의 정보를 포함함)에 기초하여, 사용자의 얼굴에 대한 보정 여부, 보정 정도 및 보정 방향을 결정할 수 있고, 결정된 보정 여부, 보정 정도 및 보정 방향에 따라 사용자의 얼굴에 대한 보정을 수행할 수 있다.\For example, the computing device 100 may provide predefined correction attribute information for each facial expression (information defined in advance for each of a plurality of facial expressions, such as whether or not to perform correction by type for each of the plurality of facial expressions, and a tone correction range (tone value range). ), including information such as the location and number of the first area and the second area), it is possible to determine whether or not to correct the user's face, the correction degree, and the direction of correction, and the determined correction, correction degree, and correction direction. Correction of the user's face can be performed depending on the direction.\

다양한 실시예에서, 컴퓨팅 장치(100)는 이미지를 분석하여 특징으로서 사용자의 자세에 관한 정보를 추출할 수 있고, 추출된 사용자의 자세에 기초하여 이미지에 대한 보정 여부, 보정 정도 및 보정 방향을 포함하는 보정 속성을 결정할 수 있으며, 결정된 보정 속성에 따라 사용자의 얼굴에 대한 보정을 수행할 수 있다.In various embodiments, the computing device 100 may analyze the image to extract information about the user's posture as a feature, including whether the image is corrected, the degree of correction, and the direction of correction based on the extracted user's posture. Correction properties can be determined, and correction of the user's face can be performed according to the determined correction properties.

예컨대, 컴퓨팅 장치(100)는 사전에 정의된 자세(또는 포즈)별 보정 속성 정보(복수의 자세(포즈) 각각에 대하여 사전에 정의된 정보로서, 복수의 자세(포즈) 각각에 대한 보정의 종류별 수행 여부, 톤 보정 범위(톤 값 범위), 제1 영역 및 제2 영역의 위치 및 개수 등의 정보를 포함함)에 기초하여, 사용자의 얼굴에 대한 보정 여부, 보정 정도 및 보정 방향을 결정할 수 있고, 결정된 보정 여부, 보정 정도 및 보정 방향에 따라 사용자의 얼굴에 대한 보정을 수행할 수 있다.For example, the computing device 100 may provide predefined correction attribute information for each posture (or pose) (information defined in advance for each of a plurality of postures (poses), and each type of correction for each of the plurality of postures (poses). Based on information such as whether to perform the correction, the tone correction range (tone value range), and the location and number of the first area and the second area, it is possible to determine whether to correct the user's face, the degree of correction, and the direction of correction. And, correction of the user's face can be performed according to the determined correction, degree of correction, and direction of correction.

다양한 실시예에서, 컴퓨팅 장치(100)는 이미지에 포함된 사용자의 나이 및 성별에 기초하여, 이미지에 대한 보정 여부, 보정 정도 및 보정 방향을 포함하는 보정 속성을 결정할 수 있고, 결정된 보정 속성에 따라 사용자의 얼굴에 대한 보정을 수행할 수 있다.In various embodiments, the computing device 100 may determine correction properties including whether to correct the image, correction degree, and correction direction, based on the age and gender of the user included in the image, and according to the determined correction properties. Correction can be performed on the user's face.

다양한 실시예에서, 컴퓨팅 장치(100)는 이미지의 사용 용도(또는 사용 목적)(예컨대, 소장용, 증명서 발급용 등)에 기초하여 이미지에 대한 보정 여부, 보정 정도 및 보정 방향을 포함하는 보정 속성을 결정할 수 있고, 결정된 보정 속성에 따라 사용자의 얼굴에 대한 보정을 수행할 수 있다.In various embodiments, the computing device 100 may provide correction properties including whether to correct the image, the degree of correction, and the direction of correction based on the use (or purpose of use) of the image (e.g., for collection, for issuing certificates, etc.). can be determined, and correction of the user's face can be performed according to the determined correction properties.

다양한 실시예에서, 컴퓨팅 장치(100)는 하나의 이미지 내에 복수의 얼굴 영역이 식별되는 경우, 복수의 얼굴 영역 각각을 분석하여 복수의 얼굴 영역 각각에 대한 특징을 개별적으로 추출할 수 있고, 개별적으로 추출된 특징을 이용하여 복수의 얼굴 영역 각각에 대한 보정을 개별적으로 수행할 수 있다.In various embodiments, when a plurality of face regions are identified in one image, the computing device 100 may individually extract features for each of the plurality of face regions by analyzing each of the plurality of face regions, and individually Correction for each of the plurality of face regions can be performed individually using the extracted features.

다양한 실시예에서, 컴퓨팅 장치(100)는 하나의 이미지 내에 복수의 얼굴 영역이 식별되는 경우, 복수의 얼굴 영역 각각을 분석하여 복수의 특징을 추출할 수 있고, 추출된 복수의 특징 중 적어도 하나의 특징을 이용하여 복수의 얼굴 영역에 대한 동일한 보정을 수행할 수 있다.In various embodiments, when a plurality of facial regions are identified in one image, the computing device 100 may extract a plurality of features by analyzing each of the plurality of facial regions, and at least one of the plurality of extracted features The same correction can be performed on multiple facial areas using features.

예컨대, 컴퓨팅 장치(100)는 하나의 이미지 내에 둘 이상의 얼굴 영역이 식별되는 경우, 둘 이상의 얼굴 영역을 분석하여 둘 이상의 얼굴 영역 각각에 대한 복수의 톤 값을 추출할 수 있고, 추출된 복수의 톤 값 각각을 이용하여, 둘 이상의 얼굴 영역의 톤 보정을 수행하기 위한 둘 이상의 톤 값을 개별적으로 선택할 수 있으며, 개별적으로 선택된 둘 이상의 톤 값 중 어느 하나의 톤 값을 이용하여 둘 이상의 얼굴 영역에 대한 동일한 톤 보정을 수행함으로써, 둘 이상의 얼굴 영역이 유사한 톤을 가지도록 할 수 있다.For example, when two or more face regions are identified in one image, the computing device 100 may analyze the two or more face regions to extract a plurality of tone values for each of the two or more face regions, and may extract a plurality of tone values for each of the two or more face regions. Using each value, you can individually select two or more tone values to perform tone correction of two or more face areas, and you can use any one of the two or more individually selected tone values to perform tone correction for two or more face areas. By performing the same tone correction, two or more facial areas can have similar tones.

다양한 실시예에서, 컴퓨팅 장치(100)는 하나의 이미지 내에 복수의 얼굴 영역이 식별되는 경우, 복수의 얼굴 영역 중 어느 하나의 얼굴 영역을 기준으로 설정할 수 있고, 기준으로 설정된 얼굴 영역을 분석함에 따라 추출된 특징을 이용하여 복수의 얼굴 영역에 대한 동일한 보정을 수행할 수 있다. 예컨대, 컴퓨팅 장치(100)는 하나의 이미지 내에 복수의 얼굴 영역이 식별되는 경우, 복수의 얼굴 영역의 크기에 기초하여 가장 크기가 큰 얼굴 영역을 기준으로 설정할 수 있고, 기준으로 설정된 얼굴 영역을 분석함에 따라 추출된 특징을 이용하여 복수의 얼굴 영역에 대한 동일한 보정을 수행할 수 있다.In various embodiments, when a plurality of face areas are identified in one image, the computing device 100 may set any one of the plurality of face areas as a reference, and by analyzing the face area set as a reference. The same correction can be performed on multiple face areas using the extracted features. For example, when a plurality of face regions are identified in one image, the computing device 100 may set the largest face region as a standard based on the sizes of the plurality of face regions, and analyze the face region set as the standard. Accordingly, the same correction can be performed on multiple face areas using the extracted features.

이때, 보정의 종류에 따라 서로 다른 얼굴 영역이 기준으로 설정될 수 있다. 예컨대, 컴퓨팅 장치(100)는 하나의 이미지 내에 제1 얼굴 영역, 제2 얼굴 영역 및 제3 얼굴 영역이 식별되는 경우, 제1 얼굴 영역을 기준으로 추출된 톤 값을 이용하여 제1 내지 제3 얼굴 영역에 대한 톤 보정을 수행할 수 있고, 제2 얼굴 영역을 기준으로 추출된 얼굴형에 기초하여 제1 내지 제3 얼굴 영역에 대한 음영 및 하이라이트 보정을 수행할 수 있다.At this time, different facial areas may be set as standards depending on the type of correction. For example, when a first face area, a second face area, and a third face area are identified in one image, the computing device 100 uses the tone value extracted based on the first face area to create the first to third facial areas. Tone correction may be performed on the face area, and shadow and highlight correction may be performed on the first to third face areas based on the face shape extracted based on the second face area.

다양한 실시예에서, 컴퓨팅 장치(100)는 하나의 이미지 내에 복수의 얼굴 영역이 식별되는 경우, 복수의 얼굴 영역 각각을 분석함에 따라 복수의 특징을 추출할 수 있고, 추출된 특징의 평균을 이용하여 복수의 얼굴 영역에 대한 동일한 보정을 수행할 수 있다. 예컨대, 컴퓨팅 장치(100)는 하나의 이미지 내에 제1 내지 제3 얼굴 영역이 식별되는 경우, 제1 내지 제3 얼굴 영역 각각을 분석함에 따라 복수의 톤 값을 개별적으로 추출할 수 있고, 개별적으로 추출된 복수의 톤 값을 이용하여 톤 보정을 위한 톤 값을 개별적으로 선택할 수 있으며, 선택된 톤 값의 평균 값을 이용하여 제1 내지 제3 얼굴 영역에 대한 톤 보정을 동일하게 수행할 수 있다.In various embodiments, when a plurality of face regions are identified in one image, the computing device 100 may extract a plurality of features by analyzing each of the plurality of face regions, and use the average of the extracted features. The same correction can be performed on multiple face areas. For example, when first to third facial regions are identified in one image, the computing device 100 may individually extract a plurality of tone values by analyzing each of the first to third facial regions, and individually Tone values for tone correction can be individually selected using a plurality of extracted tone values, and tone correction for the first to third facial regions can be performed in the same way using the average value of the selected tone values.

전술한 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법은 도면에 도시된 순서도를 참조하여 설명하였다. 간단한 설명을 위해 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법은 일련의 블록들로 도시하여 설명하였으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 본 명세서에 도시되고 시술된 것과 상이한 순서로 수행되거나 또는 동시에 수행될 수 있다. 또한, 본 명세서 및 도면에 기재되지 않은 새로운 블록이 추가되거나, 일부 블록이 삭제 또는 변경된 상태로 수행될 수 있다.The method of providing an automated correction service for the user's profile image described above was explained with reference to the flow chart shown in the drawing. For simple explanation, the method of providing an automated correction service for a user's profile image is illustrated and described as a series of blocks, but the present invention is not limited to the order of the blocks, and some blocks are similar to those shown and performed herein. They may be performed in different orders or simultaneously. Additionally, new blocks not described in this specification and drawings may be added, or some blocks may be deleted or changed.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.Above, embodiments of the present invention have been described with reference to the attached drawings, but those skilled in the art will understand that the present invention can be implemented in other specific forms without changing its technical idea or essential features. You will be able to understand it. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive.

100 : 자동화된 보정 서비스 제공장치(컴퓨팅 장치)
200 : 사용자 단말
300 : 외부 서버
400 : 네트워크
100: Automated correction service provision device (computing device)
200: user terminal
300: external server
400: Network

Claims (10)

컴퓨팅 장치에 의해 수행되는 방법에 있어서,
사용자의 얼굴을 포함하는 이미지를 획득하는 단계;
상기 획득된 이미지를 분석하여 특징(Feature)을 추출하는 단계; 및
상기 추출된 특징을 이용하여, 상기 이미지에 포함된 사용자의 얼굴에 대한 보정을 수행하는 단계를 포함하고,
상기 특징을 추출하는 단계는,
상기 획득된 이미지로부터 상기 사용자의 얼굴에 대응되는 얼굴 영역을 식별하는 단계;
상기 식별된 얼굴 영역을 분할하여 복수의 단위 얼굴 영역을 생성하는 단계; 및
상기 생성된 복수의 단위 얼굴 영역을 분석하여 특징으로서, 상기 생성된 복수의 단위 얼굴 영역 각각에 대응하는 복수의 톤 값을 추출하는 단계를 포함하며,
상기 사용자의 얼굴에 대한 보정을 수행하는 단계는,
상기 추출된 복수의 톤 값 중 적어도 하나의 톤 값을 이용하여 상기 식별된 얼굴 영역에 대한 톤 보정을 수행하는 단계를 포함하고,
상기 식별된 얼굴 영역에 대한 톤 보정을 수행하는 단계는,
상기 추출된 복수의 톤 값을 오름차순 정렬하고, 상기 오름차순 정렬된 복수의 톤 값 중 n번째 톤 값을 제1 톤 값으로 선택하는 단계;
상기 추출된 복수의 톤 값을 내림차순 정렬하고, 상기 내림차순 정렬된 복수의 톤 값 중 m번째 톤 값을 제2 톤 값으로 선택하는 단계; 및
상기 선택된 제1 톤 값 및 상기 선택된 제2 톤 값 각각을 이용하여 상기 식별된 얼굴 영역에 대한 톤 보정을 수행하는 단계를 포함하는,
사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법.
In a method performed by a computing device,
Obtaining an image including the user's face;
Analyzing the acquired image to extract features; and
Comprising: performing correction on the user's face included in the image using the extracted features,
The step of extracting the features is,
Identifying a facial area corresponding to the user's face from the acquired image;
dividing the identified face area to create a plurality of unit face areas; and
Analyzing the generated plurality of unit face regions and extracting, as features, a plurality of tone values corresponding to each of the generated plurality of unit face regions,
The step of performing correction on the user's face is,
Comprising: performing tone correction on the identified facial area using at least one tone value among the plurality of extracted tone values,
The step of performing tone correction on the identified facial area includes:
Sorting the extracted plurality of tone values in ascending order and selecting an nth tone value among the plurality of tone values sorted in ascending order as a first tone value;
Sorting the extracted plurality of tone values in descending order and selecting an mth tone value among the plurality of tone values sorted in descending order as a second tone value; and
Comprising performing tone correction on the identified facial area using each of the selected first tone value and the selected second tone value,
A method of providing an automated correction service for a user's profile image.
삭제delete 삭제delete 제1항에 있어서,
상기 식별된 얼굴 영역에 대한 톤 보정을 수행하는 단계는,
상기 식별된 얼굴 영역 상에 피부결 방향에 대응하는 톤 보정 방향을 정의하는 단계; 및
상기 적어도 하나의 톤 값을 이용하여 상기 정의된 톤 보정 방향에 따라 상기 식별된 얼굴 영역에 대한 톤 보정을 반복 수행하되, 상기 식별된 얼굴 영역에 대한 톤 보정을 반복 수행하는 횟수는 상기 적어도 하나의 톤 값과 상기 적어도 하나의 톤 값을 이용하여 톤 보정되는 위치에 대응하는 톤 값의 차이, 상기 획득된 이미지에 포함된 배경의 속성 중 적어도 하나에 기초하여 결정되는 것인, 단계를 포함하는,
사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법.
According to paragraph 1,
The step of performing tone correction on the identified facial area includes:
defining a tone correction direction corresponding to a skin texture direction on the identified facial area; and
Tone correction for the identified face area is repeatedly performed according to the defined tone correction direction using the at least one tone value, and the number of times to repeatedly perform tone correction for the identified face area is the at least one tone correction. Determined based on at least one of a tone value, a difference between a tone value corresponding to a position to be tone corrected using the at least one tone value, and an attribute of a background included in the acquired image, comprising:
A method of providing an automated correction service for a user's profile image.
제1항에 있어서,
상기 특징을 추출하는 단계는,
상기 획득된 이미지로부터 상기 사용자의 얼굴에 대응되는 얼굴 영역을 식별하는 단계; 및
상기 식별된 얼굴 영역을 분석하여 특징으로서, 상기 사용자의 얼굴형을 판단하는 단계를 포함하며,
상기 사용자의 얼굴에 대한 보정을 수행하는 단계는,
상기 판단된 사용자의 얼굴형에 기초하여, 상기 식별된 얼굴 영역 상에 복수의 제1 영역을 설정하고, 상기 설정된 복수의 제1 영역에 대한 음영 보정을 수행하는 단계; 및
상기 판단된 사용자의 얼굴형에 기초하여 상기 식별된 얼굴 영역 상에 복수의 제2 영역을 설정하고, 상기 설정된 복수의 제2 영역에 대한 하이라이팅 보정을 수행하는 단계를 포함하는,
사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법.
According to paragraph 1,
The step of extracting the features is,
Identifying a facial area corresponding to the user's face from the acquired image; and
Analyzing the identified facial area to determine the user's facial shape as a feature,
The step of performing correction on the user's face is,
Based on the determined face shape of the user, setting a plurality of first areas on the identified face area and performing shadow correction on the set plurality of first areas; and
Comprising the step of setting a plurality of second areas on the identified face area based on the determined face shape of the user and performing highlighting correction on the set plurality of second areas,
A method of providing an automated correction service for a user's profile image.
제1항에 있어서,
상기 특징을 추출하는 단계는,
상기 획득된 이미지로부터 상기 사용자의 얼굴에 대응되는 얼굴 영역을 식별하는 단계; 및
상기 식별된 얼굴 영역을 분석하여 특징으로서 상기 사용자의 눈썹 영역 및 홍채 색상을 추출하는 단계를 포함하며,
상기 사용자의 얼굴에 대한 보정을 수행하는 단계는,
상기 추출된 홍채 색상을 이용하여 상기 추출된 눈썹 영역에 대한 보정을 수행하는 단계를 포함하는,
사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법.
According to paragraph 1,
The step of extracting the features is,
Identifying a facial area corresponding to the user's face from the acquired image; and
Analyzing the identified facial area to extract the user's eyebrow area and iris color as features,
The step of performing correction on the user's face is,
Comprising the step of performing correction on the extracted eyebrow area using the extracted iris color,
A method of providing an automated correction service for a user's profile image.
제1항에 있어서,
상기 특징을 추출하는 단계는,
상기 획득된 이미지로부터 서로 다른 복수의 얼굴 영역이 식별되는 경우, 상기 식별된 복수의 얼굴 영역 각각으로부터 복수의 특징을 추출하는 단계를 포함하며,
상기 사용자의 얼굴에 대한 보정을 수행하는 단계는,
상기 추출된 복수의 특징 중 적어도 하나의 특징을 선택하고, 상기 선택된 적어도 하나의 특징을 이용하여 상기 식별된 복수의 얼굴 영역에 대한 동일한 보정을 수행하는 단계를 포함하는,
사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법.
According to paragraph 1,
The step of extracting the features is,
When a plurality of different facial regions are identified from the acquired image, extracting a plurality of features from each of the identified plurality of facial regions,
The step of performing correction on the user's face is,
Comprising the step of selecting at least one feature from among the plurality of extracted features and performing the same correction on the identified plurality of facial regions using the selected at least one feature,
A method of providing an automated correction service for a user's profile image.
제1항에 있어서,
상기 사용자의 얼굴에 대한 보정을 수행하는 단계는,
상기 사용자로부터 복수의 키워드 - 상기 복수의 키워드는 이미지의 성질이나 상태를 나타내는 형용사 키워드임 - 중 적어도 하나의 키워드를 입력받는 단계;
상기 입력된 적어도 하나의 키워드에 기초하여, 상기 이미지에 대한 보정 속성 - 상기 보정 속성은 보정 여부, 보정 정도 및 보정 방향을 포함함 - 을 결정하는 단계; 및
살기 결정된 보정 속성에 기초하여 상기 사용자의 얼굴에 대한 보정을 수행하는 단계를 포함하는,
사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법.
According to paragraph 1,
The step of performing correction on the user's face is,
Receiving at least one keyword from a plurality of keywords - the plurality of keywords being adjective keywords indicating the nature or state of an image - from the user;
Based on the at least one input keyword, determining correction properties for the image, the correction properties including correction status, correction degree, and correction direction; and
Comprising: performing correction on the user's face based on the determined correction attribute,
A method of providing an automated correction service for a user's profile image.
프로세서;
네트워크 인터페이스;
메모리; 및
상기 메모리에 로드(load) 되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되,
상기 컴퓨터 프로그램은,
사용자의 얼굴을 포함하는 이미지를 획득하는 인스트럭션(instruction);
상기 획득된 이미지를 분석하여 특징(Feature)을 추출하는 인스트럭션; 및
상기 추출된 특징을 이용하여, 상기 이미지에 포함된 사용자의 얼굴에 대한 보정을 수행하는 인스트럭션을 포함하고,
상기 특징을 추출하는 인스트럭션은,
상기 획득된 이미지로부터 상기 사용자의 얼굴에 대응되는 얼굴 영역을 식별하는 인스트럭션;
상기 식별된 얼굴 영역을 분할하여 복수의 단위 얼굴 영역을 생성하는 인스트럭션; 및
상기 생성된 복수의 단위 얼굴 영역을 분석하여 특징으로서, 상기 생성된 복수의 단위 얼굴 영역 각각에 대응하는 복수의 톤 값을 추출하는 인스트럭션을 포함하며,
상기 사용자의 얼굴에 대한 보정을 수행하는 인스트럭션은,
상기 추출된 복수의 톤 값 중 적어도 하나의 톤 값을 이용하여 상기 식별된 얼굴 영역에 대한 톤 보정을 수행하는 인스트럭션을 포함하고,
상기 식별된 얼굴 영역에 대한 톤 보정을 수행하는 인스트럭션은,
상기 추출된 복수의 톤 값을 오름차순 정렬하고, 상기 오름차순 정렬된 복수의 톤 값 중 n번째 톤 값을 제1 톤 값으로 선택하는 인스트럭션;
상기 추출된 복수의 톤 값을 내림차순 정렬하고, 상기 내림차순 정렬된 복수의 톤 값 중 m번째 톤 값을 제2 톤 값으로 선택하는 인스트럭션; 및
상기 선택된 제1 톤 값 및 상기 선택된 제2 톤 값 각각을 이용하여 상기 식별된 얼굴 영역에 대한 톤 보정을 수행하는 인스트럭션을 포함하는,
사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공장치.
processor;
network interface;
Memory; and
Includes a computer program loaded into the memory and executed by the processor,
The computer program is,
Instructions for obtaining an image including the user's face;
Instructions for extracting features by analyzing the acquired image; and
Includes instructions for performing correction on the user's face included in the image using the extracted features,
The instructions for extracting the above features are:
Instructions for identifying a facial area corresponding to the user's face from the acquired image;
Instructions for generating a plurality of unit face areas by dividing the identified face area; and
Includes instructions for analyzing the generated plurality of unit face regions and extracting, as features, a plurality of tone values corresponding to each of the generated plurality of unit face regions,
The instruction for performing correction on the user's face is,
Includes instructions for performing tone correction on the identified facial area using at least one tone value among the plurality of extracted tone values,
The instruction for performing tone correction for the identified facial area is:
an instruction for sorting the extracted plurality of tone values in ascending order and selecting an nth tone value among the plurality of tone values sorted in ascending order as a first tone value;
an instruction for sorting the extracted plurality of tone values in descending order and selecting an mth tone value among the plurality of tone values sorted in descending order as a second tone value; and
Comprising instructions for performing tone correction on the identified facial region using each of the selected first tone value and the selected second tone value,
An automated correction service provider for a user's profile image.
컴퓨팅 장치와 결합되어,
사용자의 얼굴을 포함하는 이미지를 획득하는 단계;
상기 획득된 이미지를 분석하여 특징(Feature)을 추출하는 단계; 및
상기 추출된 특징을 이용하여, 상기 이미지에 포함된 사용자의 얼굴에 대한 보정을 수행하는 단계를 포함하고,
상기 특징을 추출하는 단계는,
상기 획득된 이미지로부터 상기 사용자의 얼굴에 대응되는 얼굴 영역을 식별하는 단계;
상기 식별된 얼굴 영역을 분할하여 복수의 단위 얼굴 영역을 생성하는 단계; 및
상기 생성된 복수의 단위 얼굴 영역을 분석하여 특징으로서, 상기 생성된 복수의 단위 얼굴 영역 각각에 대응하는 복수의 톤 값을 추출하는 단계를 포함하며,
상기 사용자의 얼굴에 대한 보정을 수행하는 단계는,
상기 추출된 복수의 톤 값 중 적어도 하나의 톤 값을 이용하여 상기 식별된 얼굴 영역에 대한 톤 보정을 수행하는 단계를 포함하고,
상기 식별된 얼굴 영역에 대한 톤 보정을 수행하는 단계는,
상기 추출된 복수의 톤 값을 오름차순 정렬하고, 상기 오름차순 정렬된 복수의 톤 값 중 n번째 톤 값을 제1 톤 값으로 선택하는 단계;
상기 추출된 복수의 톤 값을 내림차순 정렬하고, 상기 내림차순 정렬된 복수의 톤 값 중 m번째 톤 값을 제2 톤 값으로 선택하는 단계; 및
상기 선택된 제1 톤 값 및 상기 선택된 제2 톤 값 각각을 이용하여 상기 식별된 얼굴 영역에 대한 톤 보정을 수행하는 단계를 포함하는 사용자의 프로필 이미지에 대한 자동화된 보정 서비스 제공방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장된, 컴퓨터프로그램.
Combined with a computing device,
Obtaining an image including the user's face;
Analyzing the acquired image to extract features; and
Comprising: performing correction on the user's face included in the image using the extracted features,
The step of extracting the features is,
Identifying a facial area corresponding to the user's face from the acquired image;
dividing the identified face area to create a plurality of unit face areas; and
Analyzing the generated plurality of unit face regions and extracting, as features, a plurality of tone values corresponding to each of the generated plurality of unit face regions,
The step of performing correction on the user's face is,
Comprising: performing tone correction on the identified facial area using at least one tone value among the plurality of extracted tone values,
The step of performing tone correction on the identified facial area includes:
Sorting the extracted plurality of tone values in ascending order and selecting an nth tone value among the plurality of tone values sorted in ascending order as a first tone value;
Sorting the extracted plurality of tone values in descending order and selecting an mth tone value among the plurality of tone values sorted in descending order as a second tone value; and
Computing to execute a method of providing an automated correction service for a user's profile image, including performing tone correction on the identified facial area using each of the selected first tone value and the selected second tone value. A computer program stored on a recording medium that can be read by a device.
KR1020220122978A 2022-09-28 2022-09-28 Method, apparatus and computer program for providing automated calibration service for user's profile image KR102608777B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220122978A KR102608777B1 (en) 2022-09-28 2022-09-28 Method, apparatus and computer program for providing automated calibration service for user's profile image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220122978A KR102608777B1 (en) 2022-09-28 2022-09-28 Method, apparatus and computer program for providing automated calibration service for user's profile image

Publications (1)

Publication Number Publication Date
KR102608777B1 true KR102608777B1 (en) 2023-12-04

Family

ID=89165088

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220122978A KR102608777B1 (en) 2022-09-28 2022-09-28 Method, apparatus and computer program for providing automated calibration service for user's profile image

Country Status (1)

Country Link
KR (1) KR102608777B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100067408A (en) * 2008-12-11 2010-06-21 삼성전자주식회사 Method and apparatus for correcting skin color, and digital photographing apparatus using thereof
KR20180051367A (en) * 2016-11-08 2018-05-16 삼성전자주식회사 method and device for adjusting an image
KR20180109217A (en) * 2017-03-27 2018-10-08 삼성전자주식회사 Method for enhancing face image and electronic device for the same
KR102310714B1 (en) * 2021-04-27 2021-10-08 주식회사 레코더즈 Method, apparatus and computer program for creating customized profile image for user

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100067408A (en) * 2008-12-11 2010-06-21 삼성전자주식회사 Method and apparatus for correcting skin color, and digital photographing apparatus using thereof
KR20180051367A (en) * 2016-11-08 2018-05-16 삼성전자주식회사 method and device for adjusting an image
KR20180109217A (en) * 2017-03-27 2018-10-08 삼성전자주식회사 Method for enhancing face image and electronic device for the same
KR102310714B1 (en) * 2021-04-27 2021-10-08 주식회사 레코더즈 Method, apparatus and computer program for creating customized profile image for user

Similar Documents

Publication Publication Date Title
US20170300785A1 (en) Deep convolutional neural network prediction of image professionalism
US20170300811A1 (en) Dynamic loss function based on statistics in loss layer of deep convolutional neural network
US20210182613A1 (en) Image aesthetic processing method and electronic device
US11409994B2 (en) Methods for image segmentation, computer devices, and storage mediums
KR20190103097A (en) Beauty counseling information providing device and beauty counseling information providing method
US10043240B2 (en) Optimal cropping of digital image based on professionalism score of subject
JP6908302B2 (en) Learning device, identification device and program
US10043254B2 (en) Optimal image transformation based on professionalism score of subject
CN111598213A (en) Network training method, data identification method, device, equipment and medium
CN112037179A (en) Method, system and equipment for generating brain disease diagnosis model
CN108830782A (en) Image processing method, device, computer equipment and storage medium
US10380480B2 (en) Changeover from one neural network to another neural network
WO2017210174A1 (en) Training a neural network using another neural network
KR102608777B1 (en) Method, apparatus and computer program for providing automated calibration service for user's profile image
KR102310714B1 (en) Method, apparatus and computer program for creating customized profile image for user
US11347966B2 (en) Electronic apparatus and learning method of electronic apparatus
KR20220147246A (en) Method for providing profile image creating service based on user's personality, propensity and feelings
KR102366534B1 (en) Method, apparatus and computer program for creating standardized brainwave image for learning artificial intelligence model
US11682143B2 (en) System and method for hair analysis of user
CN111260623B (en) Picture evaluation method, device, equipment and storage medium
KR20230140617A (en) Method, apparatus and computer program for transforming character according to contents environment
KR20230140618A (en) Method, apparatus and computer program for transforming purchase item according to contents environment
KR20240047905A (en) Method, apparatus and computer program for improving recognition ratio of artificial intelligence model through image histogram analysis and recognizing object using artificial intelligence model with improved recognition ratio
CN117437249B (en) Segmentation method, terminal equipment and storage medium for fundus blood vessel image
KR102548478B1 (en) Digital phenotyping method, apparatus and computer program for classifying and predicting reactivity of drug

Legal Events

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