KR102191044B1 - Advertising systems that are provided through contents analytics and recommendation based on artificial intelligence facial recognition technology - Google Patents

Advertising systems that are provided through contents analytics and recommendation based on artificial intelligence facial recognition technology Download PDF

Info

Publication number
KR102191044B1
KR102191044B1 KR1020200072282A KR20200072282A KR102191044B1 KR 102191044 B1 KR102191044 B1 KR 102191044B1 KR 1020200072282 A KR1020200072282 A KR 1020200072282A KR 20200072282 A KR20200072282 A KR 20200072282A KR 102191044 B1 KR102191044 B1 KR 102191044B1
Authority
KR
South Korea
Prior art keywords
face
unit
advertisement
facial
data
Prior art date
Application number
KR1020200072282A
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 KR1020200072282A priority Critical patent/KR102191044B1/en
Application granted granted Critical
Publication of KR102191044B1 publication Critical patent/KR102191044B1/en

Links

Images

Classifications

    • G06K9/00268
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement
    • G06K9/00234
    • G06K9/00288
    • G06K9/481
    • 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
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • 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/161Detection; Localisation; Normalisation
    • G06V40/162Detection; Localisation; Normalisation using pixel segmentation or colour matching
    • 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
    • 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/172Classification, e.g. identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Finance (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

The present invention relates to a system for providing advertisement through adjustment analysis and recommendation based on artificial intelligence facial recognition technology to perform active advertisement and customized advertisement. According to the present invention, the system comprises a facial recognition unit (2) and an advertisement management unit (3) collecting advertisement content and extracting customized advertisements in accordance with a recognized face. The facial recognition unit (2) comprises an image photographing unit (4) for photographing customers in a shop or pedestrians outside the shop to acquiring a video, and a data processing unit (5) analyzing the acquired video to extract one or more pieces of facial data at the same time, converting the facial data into a vector to process a function, and detecting facial feature points to recognize the faces. The data processing unit (5) comprises: an extraction unit (6) analyzing an image inputted in real-time through the image photographing unit (4) to extract one or more pieces of facial data at the same time and converting the facial data into a vector to process a function; a preprocessing unit (7) removing reflected light, the angle of view, dust, and noise from the facial data processed by the extraction unit (6) to perform post-processing; a feature detection unit (10) simultaneously analyzing and detecting one or more facial feature points by a defined feature point parameter defined by determining the similarity of the facial data processed by the preprocessor (7); a facial determination unit (15) registering one or more facial images detected by the feature detection unit (10) in a learned database (13) or comparing and analyzing previously registered facial feature points to recognize a face; and a control unit (9) controlling components to perform facial recognition.

Description

인공지능 얼굴인식 기술을 기반으로 광고 분석 및 추천을 통하여 광고를 제공하는 시스템{Advertising systems that are provided through contents analytics and recommendation based on artificial intelligence facial recognition technology}Advertising systems that are provided through contents analytics and recommendation based on artificial intelligence facial recognition technology

본 발명은 얼굴인식에 의한 광고 제공 시스템에 관한 것으로서, 보다 상세하게는 실시간으로 입력되는 영상에서 얼굴을 인식하고, 인공지능 기술을 기반으로 얼굴의 특성을 분석하고, 수집된 광고 컨텐츠를 매칭함으로써 각 개인에 적합한 광고를 효율적으로 분석 및 추천할 수 있는 광고 제공 기술에 관한 것이다.The present invention relates to a system for providing advertisements by face recognition, and more specifically, by recognizing faces from images input in real time, analyzing facial characteristics based on artificial intelligence technology, and matching collected advertisement contents. It relates to an advertisement providing technology capable of efficiently analyzing and recommending advertisements suitable for individuals.

근래에는 광고의 중요성이 증대되고 있는 추세이다. TV와 같은 방송매체, 신문, 전단지 등을 통하여 다량의 광고가 행해지고 있다.In recent years, the importance of advertising is increasing. A large amount of advertisements are being conducted through broadcast media such as TV, newspapers, and leaflets.

특히, 대형 할인 마트가 많이 들어서고 있고 마트간 또는 코너간에 매출 경쟁 또한 치열해지고 있다. 그에 따라 다양한 전시 및 홍보 방법이 동원되고 있다. In particular, a lot of large discount marts are entering, and competition for sales between marts and corners is also fierce. Accordingly, various exhibition and promotion methods are being mobilized.

또한 기존에는 할인 행사 상품이나 신상품을 알리기 위해서, 일일이 전단지를 제작하는 방식이 주를 이루었다. In addition, in the past, in order to advertise discount event products or new products, the method of creating flyers was the main one.

이렇게 광고 전단지를 제작하는 것은 그 특성상 주로 고급용지와 컬러 인쇄를 하기 때문에 상당한 비용부담이 있으며 그 효과를 측정하기 어려움이 있으며 쓰레기 배출 및 환경파괴 등 다양한 문제를 야기하기도 한다. Producing advertisement flyers in this way has a considerable cost burden because it is mainly printed on high-quality paper and color due to its characteristics, it is difficult to measure its effectiveness, and causes various problems such as waste discharge and environmental destruction.

또는 이 메일이나 문자메시지와 같은 스팸성 정보 데이터를 일괄적으로 발송하는 방식도 많이 이용되고 있으나, 최근에는 너무 많은 스팸성 정보로 인해 다수의 고객들이 읽기 전에 삭제하거나 스팸처리를 하는 문제점이 있다.Alternatively, a method of collectively sending spam information data such as e-mail or text message is widely used, but recently, due to too much spam information, there is a problem in that many customers delete or process spam before reading.

더구나 상술한 종래의 홍보 방법들은 정보가 필요한 고객의 입장에서 자발적으로 접근하는 방식이 아닌 일방적인 정보 전달이기 때문에 소요되는 비용에 대비 효율이 매우 낮다고 할 수 있다. 따라서 정보가 필요한 고객측에서 자발적으로 접근할 수 있는 새로운 맞춤형 홍보 방식이 요구되고 있다.Moreover, since the above-described conventional public relations methods are not a voluntary approach from the point of view of a customer who needs information, but are unilateral information delivery, it can be said that the efficiency compared to the cost required is very low. Therefore, a new customized promotion method that can be voluntarily accessed by customers who need information is required.

특허 공개번호 10-2009-0083643호(사설 방송을 이용하여 홍보 서비스를 제공하는 방법, 시스템 및 장치)Patent Publication No. 10-2009-0083643 (Method, system and apparatus for providing public relations service using private broadcasting)

따라서, 본 발명은 이와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 상점 내의 고객 또는 상점 밖의 보행자들의 얼굴을 인식하여 개별 특성을 파악하고, 수집된 광고 컨텐츠를 매칭하여 각 개인에 적합한 광고 컨텐츠를 제공함으로써 능동적인 광고 및 타겟 맞춤형 광고를 실시할 수 있는 기술을 제공하는 것이다.Accordingly, the present invention was conceived to solve such a problem, and an object of the present invention is to recognize individual characteristics by recognizing the faces of customers in the store or pedestrians outside the store, and matching the collected advertisement contents to each individual. It is to provide a technology that enables active advertisement and targeted customized advertisement by providing appropriate advertisement contents.

본 발명의 다른 목적은 얼굴을 인식할 수 있는 시스템을 스마트폰 App, 개인용 컴퓨터의 웹 서비스, 얼굴인식 Edge 단말기 및 광고 디스플레이 기기에 인공지능 카메라 혹은 인공지능 셋탑박스를 탑재함으로서 각 개인별로 특화된 광고 컨텐츠 혹은 각 개인별 성향에 의한 추천 광고 컨텐츠를 제공할 수 있는 기술을 제공하는 것이다.Another object of the present invention is to provide a system capable of recognizing faces by mounting an artificial intelligence camera or an artificial intelligence set-top box on a smartphone App, a web service of a personal computer, a face recognition edge terminal, and an advertisement display device. Or, it provides a technology that can provide recommended advertisement contents according to individual preferences.

본 발명의 다른 목적은 얼굴 인식을 신속하게 진행할 필요가 있는 경우, 일반모드를 신속모드로 전환함으로써 얼굴의 일부 영역만을 검출하여 특정 얼굴을 검색할 수 있는 얼굴인식에 의한 광고 제공 시스템을 제공하는 것이다.Another object of the present invention is to provide a system for providing an advertisement by face recognition capable of searching for a specific face by detecting only a partial area of the face by switching from the general mode to the quick mode when face recognition needs to be performed quickly. .

상기한 목적을 달성하기 위하여, 본 발명의 일 실시예는, In order to achieve the above object, an embodiment of the present invention,

상점 내의 고객 또는 상점 밖의 보행자들을 촬영한 동영상으로부터 얼굴을 인식하는 얼굴 인식부(2)와, 광고 컨텐츠를 수집하고 인식된 얼굴에 따라 맞춤형 광고를 인출하여 표시하는 광고 관리부(3)를 포함하는 얼굴 인식 기반의 광고 제공 시스템으로서,A face including a face recognition unit (2) that recognizes a face from a video shot of customers in a store or pedestrians outside the store, and an advertisement management unit (3) that collects advertisement contents and draws and displays customized advertisements according to the recognized faces. As a recognition-based advertisement providing system,

얼굴 인식부(2)는, 상점 내의 고객 또는 상점 밖의 보행자들을 촬영하여 동영상을 획득하는 영상 촬영부(4)와; The face recognition unit 2 includes an image capturing unit 4 for obtaining a video by photographing customers in the store or pedestrians outside the store;

획득된 동영상을 분석하여 하나 이상의 얼굴 데이터를 추출하고, 백터화하여 함수처리하고, 얼굴 특징점을 검출하여 얼굴을 인식하는 데이터 처리부(5)를 포함하며,It includes a data processing unit 5 that analyzes the acquired video to extract one or more face data, converts it into a vector, performs function processing, and detects facial feature points to recognize a face,

데이터 처리부(5)는, The data processing unit 5,

영상 촬영부(4)를 통해 실시간 입력되는 영상을 분석하여, 하나 이상의 얼굴 데이터를 동시에 추출하고, 추출된 하나 이상의 얼굴 데이터를 백터화하여 함수처리하는 추출부(6)와; An extracting unit 6 which analyzes an image input in real time through the image capturing unit 4, extracts one or more face data at the same time, and converts the extracted one or more face data into a vector for functional processing;

추출부(6)에서 처리된 얼굴 데이터에서 반사광, 화각, Dust 및 노이즈 제거를 진행함으로써 후처리를 하는 전처리부(7)와; A preprocessor 7 for post-processing by removing reflected light, angle of view, dust and noise from the face data processed by the extraction unit 6;

전처리부(7)에서 처리된 얼굴 데이터의 유사도를 판단함으로써 정의된 특징점 파라미터에 의하여 하나 이상의 얼굴 특징점을 동시에 분석하고 검출하는 특징 검출부(10)와; A feature detection unit 10 that simultaneously analyzes and detects one or more facial feature points according to the defined feature point parameters by determining the similarity of the face data processed by the pre-processing unit 7;

특징 검출부(10)에서 검출된 하나 이상의 얼굴 이미지를 학습된 딥러닝 방식으로 학습된 알고리즘에 입각하여 검출된 얼굴 이미지에서 남녀의 구분 연령대의 구분하여 임의의 데이터베이스(13)에 등록하거나 또는 기존에 등록된 얼굴 특징점과 비교 분석하여 얼굴을 인식하는 얼굴 판별부(15)와; One or more face images detected by the feature detection unit 10 are registered in an arbitrary database 13 by classification of age groups of men and women from the face images detected based on an algorithm learned by a learned deep learning method A face discriminating unit 15 for recognizing a face by comparing and analyzing the facial feature points;

인식된 결과를 출력하는 출력부(11)와; 그리고 An output unit 11 for outputting the recognized result; And

상기 구성요소들을 제어하여 얼굴 인식을 진행하는 제어부(9)를 포함하는 얼굴인식에 의하여 매칭되는 광고 제공 시스템(1)을 제공한다.An advertisement providing system 1 that is matched by face recognition is provided, which includes a control unit 9 that controls the components to perform face recognition.

본 발명의 다른 실시예는,Another embodiment of the present invention,

얼굴 인식부(2)에 의하여 상점 내의 고객 또는 상점 밖의 보행자들을 촬영한 동영상으로부터 얼굴을 인식하고, 인식된 얼굴의 남녀 및 연령별에 따라 최적의 광고를 검색하여 인출하고, 광고를 수집 및 분류함으로써 인출된 광고를 디스플레이를 통하여 표시하는 순서로 진행되는 얼굴 인식 기반 광고 컨텐츠 매칭 및 광고 컨텐츠 추천 방식으로 광고를 제공하는 방법으로서,Face recognition unit (2) recognizes faces from videos taken of customers in the store or pedestrians outside the store, searches for and retrieves the best advertisements according to gender and age of the recognized face, and collects and classifies advertisements to retrieve them. As a method of providing advertisements in a manner of matching advertisement contents based on face recognition and recommending advertisement contents in an order in which the advertisements are displayed through a display,

영상 촬영부(4)에 의하여 동영상을 획득하는 단계(S10)와;Obtaining a moving picture by the image capturing unit 4 (S10);

영상 촬영부(4)를 통해 실시간 입력되는 영상을 추출부(6)에 의하여 분석하여, 하나 이상의 얼굴 데이터를 추출하고 백터화하여 함수처리하는 추출단계(S20)와;An extraction step (S20) of analyzing an image input in real time through the image capturing unit 4 by the extracting unit 6, extracting one or more face data, converting it into a vector, and performing function processing;

추출된 하나 이상의 얼굴 데이터에서 전처리부(7)에 의하여 반사광, 화각, 등의 Dust 및 노이즈 제거를 거치는 전처리 단계(S25)와; A pre-processing step (S25) of removing dust and noise such as reflected light, angle of view, etc. from the extracted one or more face data by the pre-processing unit 7;

제어부(9)에서 일반모드로 설정된 경우, 추출된 하나 이상의 얼굴 데이터의 유사도를 판단함으로써 정의된 특징점 파라미터에 의하여 하나 이상의 얼굴 특징점을 동시에 분석하고 검출하는 특징 검출단계(S30)와;A feature detection step (S30) of simultaneously analyzing and detecting one or more facial feature points according to a defined feature point parameter by determining the similarity of the extracted one or more face data when the controller 9 is set to the general mode;

전처리부(7)에서 검출된 하나 이상의 얼굴 이미지를 얼굴 판별부(15)에 의하여 데이터베이스(13)에 등록된 얼굴 데이터와 비교 분석하거나 또는 임의의 얼굴데이터로 데이터베이스에 임의적으로 아노테이션하여 성별, 나이, 감정상태에 따라 분류하여 출력하는 단계(S40)와;One or more face images detected by the preprocessor 7 are compared and analyzed with face data registered in the database 13 by the face discrimination unit 15, or randomly annotated into the database with random face data to determine gender and age. Classifying and outputting according to the emotional state (S40) and;

광고 관리부(3)에 의하여 광고 컨텐츠를 수집하고 군집화된 고객의 얼굴에 따라 적합한 광고를 인출하여 표시하는 맞춤형 광고단계(S50)와; 그리고A customized advertisement step (S50) of collecting advertisement contents by the advertisement management unit 3 and drawing and displaying suitable advertisements according to the clustered faces of customers; And

매칭되거나 인공지능 알고리즘에 추천하는 광고컨텐츠를 출력하는 단계(S60)를 포함하며, Including the step (S60) of outputting advertising content that is matched or recommended to the artificial intelligence algorithm,

제어부(9)에서 신속모드로 설정된 경우, 얼굴을 복수개의 영역으로 구분하여 단수개의 영역부터 순차적으로 특징을 검출하여 매칭하되, 특정 얼굴에 매칭되지 않는 경우에는 대칭적으로 배치된 영역을 제외한 다른 영역의 특징을 검출하여 매칭되는 얼굴 데이터를 비교함으로써 얼굴 인식을 신속하게 실시할 수 있는 신속 인식단계(S70)를 포함한다.When the control unit 9 is set to the quick mode, the face is divided into a plurality of areas, and features are sequentially detected and matched from a single area, but when not matched to a specific face, other areas except the symmetrically arranged areas And a quick recognition step (S70) capable of quickly performing face recognition by detecting features of and comparing matched face data.

상기한 바와 같이 본 발명의 일 실시예에 따른 얼굴인식에 의한 광고 제공 시스템은 다음과 같은 장점이 있다.As described above, the system for providing advertisements by face recognition according to an embodiment of the present invention has the following advantages.

첫째, 얼굴인식부와 광고 관리부를 연동함으로써 실시간으로 입력되는 영상에서 얼굴을 인식하고, 인공지능 기술을 기반으로 개인의 얼굴 특성을 파악한 후 수집된 광고 컨텐츠와 매칭함으로써 각 개인에 적합한 광고를 효율적으로 제공할 수 있는 장점이 있다.First, by interlocking the face recognition unit and the advertisement management unit, the face is recognized from the image input in real time, and based on artificial intelligence technology, the individual's face characteristics are identified and then matched with the collected advertisement contents to efficiently provide advertisements suitable for each individual. There is an advantage it can provide.

둘째, 건물과 같은 밀폐된 공간이나 야외와 같은 개방된 공간에서 특정 위치로 들어오거나 지나가는 사람의 얼굴을 인식하여, 인공지능 기술을 바탕으로 그 사람의 성별, 나이, 그리고 희로애락과 같은 감정의 상태를 분석하고, 그 상황에 맞는 맞춤형 광고를 광고판에 영상으로 표시할 수 있는 장점이 있다.Second, by recognizing the face of a person entering or passing through a specific location in an enclosed space such as a building or an open space such as outdoors, the person's gender, age, and emotional state such as emotions and sorrows are determined based on artificial intelligence technology. It has the advantage of being able to analyze and display a customized advertisement suitable for the situation as an image on a billboard.

셋째, 광고 컨텐츠 제공 시 성별 연령별로 특정 제품이나 주변 상권에서의 선호도에 따른 추천형 광고를 포함할 수 있는 장점이 있다. Third, when providing advertisement content, there is an advantage in that it may include a recommendation type advertisement according to the preference of a specific product by gender or age in the surrounding commercial district.

넷째, 공익성을 고려한 광고의 제공도 특정 지역의 유동인구 파악에 의한 맞춤형 공공 알림 광고 제공의 장점이 있다. Fourth, provision of advertisements in consideration of public interest also has the advantage of providing customized public notification advertisements by identifying the floating population in a specific area.

도 1은 본 발명의 일 실시예에 따른 얼굴인식에 의한 광고 제공 시스템의 구조를 개략적으로 보여주는 도면이다.
도 2는 도 1에 도시된 데이터 처리부의 구조를 개략적으로 보여주는 블록도이다.
도 3은 도 2에 도시된 추출부의 구조를 개략적으로 보여주는 블록도이다.
도 4는 도 1에 도시된 얼굴인식에 의한 광고 제공 시스템에 의하여 안면을 인식하기 위하여 얼굴 데이터를 1차적으로 영역 분할하는 상태를 보여주는 도면이다.
도 5는 도 4에 도시된 영역 분할된 얼굴 데이터를 2차적으로 연산하여 픽셀별 밝기에 의하여 분석하는 상태를 보여주는 도면이다.
도 6(a)는 얼굴 데이터에서 윤곽에 기준점들을 다수 분포시킴으로써 위치, 크기, 비율을 인식하는 상태를 보여주는 도면이고, 도 6(b)는 얼굴 안쪽에 기준점들을 다수 분포시키는 상태를 보여주는 도면이다.
도 7은 도 1에 도시된 데이터 처리부의 CPU 구조를 보여주는 도면이다.
도 8은 도 1에 도시된 광고 관리부의 구조를 개략적으로 보여주는 블록도이다.
도 9는 본 발명의 다른 실시예에 따른 얼굴인식 기반 광고 제공 방법을 보여주는 순서도이다.
도 10은 도 9의 얼굴인식 기반 광고 제공방법의 순서를 보여주는 플로우챠트이다.
도 11은 도 9에 도시된 얼굴 인식 기반 광고 제공방법중 신속모드에 의하여 얼굴을 인식하는 과정을 보여주는 순서도이다.
1 is a diagram schematically showing the structure of an advertisement providing system based on face recognition according to an embodiment of the present invention.
FIG. 2 is a block diagram schematically showing the structure of the data processing unit shown in FIG. 1.
3 is a block diagram schematically showing the structure of the extracting unit shown in FIG. 2.
FIG. 4 is a diagram illustrating a state in which face data is primarily divided into regions in order to recognize a face by the system for providing an advertisement based on face recognition shown in FIG. 1.
FIG. 5 is a diagram illustrating a state in which face data divided into regions shown in FIG. 4 is secondly calculated and analyzed by brightness for each pixel.
FIG. 6(a) is a diagram showing a state in which position, size, and ratio are recognized by distributing a plurality of reference points on an outline in face data, and FIG. 6(b) is a diagram showing a state in which a plurality of reference points are distributed inside a face.
7 is a diagram showing a CPU structure of the data processing unit shown in FIG. 1.
8 is a block diagram schematically showing the structure of the advertisement management unit shown in FIG. 1.
9 is a flow chart showing a method of providing face recognition-based advertisement according to another embodiment of the present invention.
10 is a flowchart showing the procedure of the method for providing advertisement based on face recognition of FIG. 9.
FIG. 11 is a flow chart showing a process of recognizing a face in a fast mode among the methods for providing advertisements based on face recognition shown in FIG. 9.

이하, 본 발명에 따른 얼굴인식에 의한 광고 제공 시스템에 대하여 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, a system for providing advertisements by face recognition according to the present invention will be described in detail with reference to the accompanying drawings.

도 1 내지 도 8에 도시된 바와 같이, 본 발명이 제안하는 얼굴인식에 의한 광고 제공 시스템(1)은, 상점 내의 고객 또는 상점 밖의 보행자들을 촬영한 동영상으로부터 얼굴을 인식하는 얼굴 인식부(2)와; 광고 컨텐츠를 수집하고 인식된 고객의 얼굴에 따라 적합한 광고를 인출하여 표시하는 광고 관리부(3)로 구성된다.As shown in Figs. 1 to 8, the system 1 for providing advertisements by face recognition proposed by the present invention includes a face recognition unit 2 for recognizing a face from a video shot of customers in a store or pedestrians outside the store. Wow; It is composed of an advertisement management unit 3 that collects advertisement contents and draws and displays appropriate advertisements according to the recognized customer's face.

그리고, 이러한 광고 제공 시스템은 스마트폰, PC, 대형 광고판 등 다양한 형태의 매체에 탑재가능하다.In addition, such an advertisement providing system can be mounted on various types of media such as smartphones, PCs, and large billboards.

보다 상세하게 설명하면,In more detail,

얼굴 인식부(2)는 인공지능 기반의 얼굴인식 단말기로서, 자체 내장 카메라 또는 일반 IP CCTV 카메라를 이용하며, 네트워크는 근거리통신망(LAN) 광역통신망(WAN), 가상사설망(VPN), 이동통신망 또는 위성통신망과 같은 모든 종류의 유/무선 네트워크를 이용한다.The face recognition unit 2 is an artificial intelligence-based face recognition terminal, and uses its own built-in camera or a general IP CCTV camera, and the network is a local area network (LAN) wide area network (WAN), virtual private network (VPN), mobile communication network, or All kinds of wired/wireless networks such as satellite communication networks are used.

이러한 얼굴 인식부(2)는, 상점 내의 고객 또는 상점 밖의 보행자들을 촬영하여 동영상을 획득하는 영상 촬영부(4)와; 획득된 동영상을 분석하여 하나 이상의 얼굴 데이터를 추출하고, 백터화하여 함수처리하고, 얼굴 특징점을 검출하여 얼굴을 인식하는 데이터 처리부(5)를 포함한다.The face recognition unit 2 includes an image photographing unit 4 for obtaining a moving picture by photographing customers in the store or pedestrians outside the store; And a data processing unit 5 that analyzes the acquired video to extract one or more face data, converts it into a vector, performs function processing, and detects facial feature points to recognize a face.

영상 촬영부(4)는 카메라를 포함하는 바, 예를 들면 IP카메라, IR카메라, HD카메라, Depth 카메라 등을 의미하며, 또한 스마트폰에 장착된 카메라일 수도 있다,The image capture unit 4 includes a camera, for example, an IP camera, an IR camera, an HD camera, a depth camera, etc., and may also be a camera mounted on a smartphone.

이와 같이 얻어진 영상 데이터는 데이터 처리부(5)에 의하여 분석됨으로써 얼굴이 인식될 수 있다.The image data thus obtained may be analyzed by the data processing unit 5 to recognize a face.

이러한 데이터 처리부(5)는, 영상 촬영부(4)에 의하여 통해 실시간 입력되는 영상을 분석하여, 하나 이상의 얼굴 데이터를 동시에 추출하고, 추출된 하나 이상의 얼굴 데이터를 백터화하여 함수처리하는 추출부(6)와; 추출부(6)에서 처리된 얼굴 데이터에서 반사광, 화각, Dust 및 노이즈 제거를 진행함으로써 후처리를 하는 전처리부(7)와; 전처리부(7)에서 처리된 얼굴 데이터의 유사도를 판단함으로써 정의된 특징점 파라미터에 의하여 하나 이상의 얼굴 특징점을 동시에 분석하고 검출하는 특징 검출부(10)와; 특징 검출부(10)에서 검출된 하나 이상의 얼굴 이미지를 학습된 데이터베이스(13)에 등록하거나 또는 기존에 등록된 얼굴 특징점과 비교 분석하여 얼굴의 성별, 나이, 감정상태를 인식하는 얼굴 판별부(15)와; 그리고 상기 구성요소들을 제어하여 안면 인식을 진행하는 제어부(9)를 포함한다.The data processing unit 5 analyzes an image input in real time through the image capturing unit 4, extracts one or more face data at the same time, and converts the extracted one or more face data into a vector for functional processing ( 6) and; A preprocessor 7 for post-processing by removing reflected light, angle of view, dust and noise from the face data processed by the extraction unit 6; A feature detection unit 10 that simultaneously analyzes and detects one or more facial feature points according to the defined feature point parameters by determining the similarity of the face data processed by the pre-processing unit 7; A face determination unit 15 that registers one or more face images detected by the feature detection unit 10 in the learned database 13 or compares and analyzes the previously registered facial feature points to recognize the gender, age, and emotional state of the face Wow; In addition, it includes a control unit 9 that controls the components to perform facial recognition.

이러한 데이터 처리부(5)를 보다 상세하게 설명하면,To describe this data processing unit 5 in more detail,

추출부(6)는 입력된 동영상 데이터에서 얼굴 데이터를 추출하게 된다.The extraction unit 6 extracts face data from the input video data.

이러한 추출부(6)는 도 3에 도시된 바와 같이, 얼굴을 다수개의 영역으로 분할하는 얼굴 분할모듈(20)과; 픽셀의 형상을 인식하는 로컬 형상분석모듈(Local feature analysis;22)과; 픽셀의 밝기에 대한 벡터를 연산하는 백터 연산모듈(Vector feature analysis;24)과; 얼굴의 표면에 대한 질감을 분석하는 모듈(Surface texture analysis;26)을 포함한다.The extraction unit 6 includes a face segmentation module 20 for dividing the face into a plurality of regions, as shown in FIG. 3; A local feature analysis module (22) for recognizing a shape of a pixel; A vector operation module (Vector feature analysis; 24) that calculates a vector for the brightness of a pixel; It includes a module (Surface texture analysis; 26) that analyzes the texture of the surface of the face.

이러한 추출과정을 설명하면, 도 4에 도시된 바와 같이, 실시간으로 입력되는 영상에서 얼굴 영역을 사각형 또는 타원형의 모양으로 추출한다.In describing this extraction process, as shown in FIG. 4, a face area is extracted in a shape of a square or an oval from an image input in real time.

그리고, 추출된 얼굴영역을 얼굴 분할모듈(20)에 의하여 다수개의 영역으로 분할한 후, 얼굴 이미지에서 P점(Peak Point)을 추출하고, 이 P점을 중심으로 눈,코,입,귀를 인식하게 된다.And, after dividing the extracted face area into a plurality of areas by the face segmentation module 20, a P point (Peak Point) is extracted from the face image, and eyes, nose, mouth, and ears are extracted around the P point. Become aware.

즉, 영상에서 물체를 추적하거나 인식할 때, 영상에서 주요 특징점(key-point)을 추출하여 매칭하는 바, 이 경우 코너점(Corner point)을 추출하는 것이 중요하다. 코너점을 추출하는 방식은 FAST 기법 등 다양하다.That is, when tracking or recognizing an object in an image, key-points are extracted from the image and matched. In this case, it is important to extract a corner point. There are various methods of extracting corner points, such as the FAST method.

따라서, 임의의 P점이 코너점인지 여부를 판단하여야 하는 바, 아래와 같은 과정에 의하여 판단한다.Therefore, it is necessary to determine whether an arbitrary P point is a corner point, and it is determined by the following process.

도 5에 도시된 바와 같이, 먼저 추출된 얼굴 데이터에서 로컬 형상분석모듈(22)에 의하여 임의의 픽셀을 선택한다. 이때 선택한 픽셀 P의 밝기는 Ip, threshold값은 t로 정의한다.As shown in FIG. 5, a random pixel is first selected by the local shape analysis module 22 from the extracted face data. At this time, the brightness of the selected pixel P is defined as Ip, and the threshold value is defined as t.

그리고, P점을 중심으로 가상의 원을 형성하며, 이때 원의 반지름은 픽셀 3개 정도로 가정하고, 이 원에 접하는 16개 픽셀값을 추출한다. 물론 반지름의 크기를 적절하게 변경될 수 있다.Then, a virtual circle is formed around the point P, and the radius of the circle is assumed to be about 3 pixels, and values of 16 pixels in contact with the circle are extracted. Of course, the size of the radius can be changed accordingly.

그리고, 백터 연산모듈(24)에 의하여 16개 픽셀로 이루어진 원의 내부에 Ip+t 보다 일정값 이상 밝은(>p+t) 픽셀들이 n개 이상 연속되어 있거나, 또는 Ip-t 보다 일정값 이상 어두운 (<p-t) 픽셀들이 n개 이상 연속되어 있으면 p를 코너점으로 판단한다.And, by the vector calculation module 24, n or more pixels that are brighter than Ip+t (>p+t) by a certain value or more (>p+t) are continuously in the circle made of 16 pixels, or are more than a certain value than Ip-t. If n or more dark (<pt) pixels are consecutive, p is determined as a corner point.

예를 들면, 1번 및 9번 픽셀이 P보다 더 밝은지 여부를 먼저 연산하고, 5번 및 13번 픽셀을 연산한다. 만약 P가 코너라면 연산한 4개의 픽셀,즉 1,5,9,13번 픽셀중 적어도 3개는 IP+t 보다 더 밝거나 IP-t보다 더 어둡다.For example, whether pixels 1 and 9 are brighter than P is calculated first, and pixels 5 and 13 are calculated. If P is a corner, then at least three of the four pixels computed, i.e. pixels 1, 5, 9 and 13, are brighter than IP+t or darker than IP-t.

이때, P를 중심으로 연속되는 픽셀의 수는 3개 뿐만 아니라, 4개, 9개, 12개 등 다양하게 변동하여 적용할 수 있다.In this case, the number of consecutive pixels centered on P may vary and be applied in various ways, such as 4, 9, 12, as well as 3.

그리고, 상기한 인식과정에 있어서, n의 수가 적은 경우, 예를 들면 12보다 적은 경우에는 P를 선택하려는 픽셀 후보 수가 적어서 많이 제거하지 못하는 문제점이 있다. 또한, 얼굴 이미지의 특징을 검출하는 경우 코너 모양의 분포 등에 의존적이므로 픽셀 선택이 최적이 아닐 수 있다. Further, in the above recognition process, when the number of n is small, for example, when it is less than 12, there is a problem in that the number of pixel candidates for selecting P is small, and thus a lot of pixel candidates cannot be removed. In addition, when detecting a feature of a face image, since it depends on the distribution of the corner shape, the pixel selection may not be optimal.

그리고, 코너가 아니라고 판단된 픽셀들은 분석에서 제외된다. 또한, 코너 주위에 다중 특징이 검출될 수도 있어서 코너 판단이 어려운 경우도 있다.And, pixels judged not to be corners are excluded from the analysis. In addition, there are cases where it is difficult to determine a corner because multiple features may be detected around the corner.

따라서, 이러한 단점을 보완하기 위하여 다음과 같은 과정을 거치게 된다.Therefore, in order to compensate for these shortcomings, the following process is performed.

즉, 머신 러닝 혹은 딥러닝에 의하여 코너점을 검출한다.That is, corner points are detected by machine learning or deep learning.

보다 상세하게 설명하면, 상기한 바와 같이 얼굴 이미지로부터 코너점을 검출하기 위한 과정을 동일하게 실행한다.In more detail, the process for detecting a corner point from a face image is performed in the same manner as described above.

그리고, 검출된 모든 픽셀에 대해 픽셀 주위로 16개 픽셀의 각픽셀(x)을 벡터로 저장한다. And, for all detected pixels, each pixel (x) of 16 pixels around the pixel is stored as a vector.

이때, 픽셀의 밝기값을 백터 연산모듈(24)에 의하여 아래 수식과 같이 백터(P)로 나타내는 경우, P보다 훨씬 밝은 경우(Pb), P보다 훨씬 어두운 경우(Pd), P와 유사한 경우(Ps)의 3가지 값으로 분류한다. 그리고, 이를 이용하여 원주 상의 픽셀들의 밝기분포를 16차원의 터네리 백터(ternary)로 표현한다.At this time, when the brightness value of the pixel is expressed as a vector (P) as shown in the following equation by the vector calculation module 24, when it is much brighter than P (Pb), when it is much darker than P (Pd), when it is similar to P ( It is classified into three values of Ps). And, using this, the brightness distribution of the pixels on the circumference is expressed as a 16-dimensional ternary.

Figure 112020061218699-pat00001
--식1
Figure 112020061218699-pat00001
--Equation 1

상기 식 1에 새로운 불린변수(Boolean)를 Kp로 정의하는 바, Kp는 P가 코너이면 트루(True), 아니면 폴스(False)이다.A new Boolean variable is defined as Kp in Equation 1, where Kp is True if P is a corner, or False.

따라서, 상기 수식에 Kp변수를 적용하여 의사결정 트리(decision tree)를 기반으로 처리한다.Therefore, the Kp variable is applied to the above equation and processed based on a decision tree.

Kp의 엔트로피가 0이 될 때까지 상기 수식 Pd, Ps, Pb에 반복하여 적용한다.Until the entropy of Kp becomes 0, the above equations Pd, Ps, and Pb are repeatedly applied.

이와 같은 과정을 통하여 각 코너를 검출할 수 있는 의사결정트리가 생성된다.Through this process, a decision tree capable of detecting each corner is created.

이때, 어떤 점 P가 꼭지점으로 인식되면 P와 인접한 주변 점들도 같이 꼭지점으로 검출되는 경우가 많다.At this time, when a point P is recognized as a vertex, points adjacent to P are often detected as vertices.

따라서, 이 문제를 해결하기 위해 비 최대 억제(non-maximal suppression) 방법을 이용하여 전처리 단계를 진행한다.Therefore, to solve this problem, a pre-processing step is performed using a non-maximal suppression method.

비 최대 억제법은 인접한 여러 점들이 꼭지점으로 검출된 경우 그중 피크성이 극대인 점만을 남기고 나머지를 제거하는 방식이다.The non-maximum suppression method is a method in which when several adjacent points are detected as vertices, only the points with the maximum peak are left and the rest are removed.

그리고, 결정트리에 의하여 P를 결정하는 방식은 꼭지점 여부를 온(On)/오프(Off) 방식으로 결정하게 되므로, 깊이(depth) 정도를 수치화 하기 어려운 바, 다음과 같은 별도의 수치화된 스코어 함수(V)를 적용한다.(식2)In the method of determining P by the decision tree, since the vertex is determined in an On/Off method, it is difficult to quantify the degree of depth. A separate numerical score function as follows: (V) is applied (Equation 2)

Figure 112020061218699-pat00002
------식(2)
Figure 112020061218699-pat00002
------Equation (2)

{V: 스코어 함수, x: 픽셀값, P: 코너점}{V: score function, x: pixel value, P: corner point}

상기 비 최대 억제법에 의하여 P점을 산출할 때, 결정트리를 통해 검출된 각각의, 코너점들을 상기 식(2)에 입력하여 V를 연산한다. When calculating the point P by the ratio-maximum suppression method, each of the corner points detected through the decision tree is input into the equation (2) to calculate V.

즉, V는 p와 이를 둘러싼 16개의 픽셀값(x)의 차에 대한 절대값(|x-p|)을 모두 합산한 값을 의미한다. 그리고, 근접한 2개의 p값에 대해 V를 연산하고, V값이 작은쪽을 버리는 방식으로 코너성이 극대인 점들을 파악한다.That is, V denotes a value obtained by summing all the absolute values (|x-p|) of the difference between p and the 16 pixel values (x) surrounding it. Then, V is calculated for two adjacent p-values, and points with the maximum cornerity are identified by discarding the smaller V value.

이러한 방법으로 코너라고 파악된 기준점들에 의하여 눈, 코 끝, 눈썹, 입 양끝, 귀 등의 형상 및 위치가 결정된다. 이런 점들은 개인마다 형태가 크게 다르고 주변 형태도 복잡해 각 개인을 구분하는데 유용하다. In this way, the shape and position of the eyes, nose tips, eyebrows, both ends of the mouth, and ears are determined by the reference points identified as corners. These points are useful in distinguishing each individual because their shape is greatly different for each individual and the surrounding shape is also complex.

그 외의 기준점들은 볼이나 이마의 한가운데 등에 위치시키는데 이런 점들은 개인마다의 특징은 별로 없지만 얼굴 전체 형상을 파악하기 위하여 필요하다.Other reference points are placed on the cheek or in the middle of the forehead, etc. These points do not have many individual characteristics, but are necessary to grasp the overall shape of the face.

이와 같이 얼굴 특징 검출부(10)에서 추출된 하나 이상의 얼굴 데이터는 전처리부(7)에서 처리되는 바, 전처리부(7)는 얼굴 데이터에서 반사광, 화각, 등의 Dust 및 노이즈 제거를 실시한다.As described above, one or more face data extracted by the facial feature detection unit 10 are processed by the preprocessor 7, and the preprocessor 7 removes dust and noise such as reflected light, an angle of view, and the like from the face data.

이와 같이 P점들을 파악한 후, 도 6a 및 도 6b에 도시된 바와 같이, 얼굴의 위치, 크기, 비율을 찾는데 P점들을 세부 기준점들로서 사용하게 된다.After grasping the P points in this way, as shown in FIGS. 6A and 6B, the P points are used as detailed reference points to find the position , size , and ratio of the face.

즉, 얼굴 특징 검출부(10)에 의하여 각 기준점을 무작위 순서로 선택해 백터화 하여 유사도 함수에 적용하되 그 위치를 조금씩 바꿔가며 얼굴 영상 이미지의 유사도를 올린다. 이 과정에서 백터 크기를 focus 1에서 5까지 점진적으로 올린다.That is, the facial feature detection unit 10 selects each reference point in a random order and converts it into a vector, and applies it to the similarity function, but changes the position little by little to increase the similarity of the face image image. In this process, the vector size is gradually increased from focus 1 to 5.

도 6a에 도시된 바와 같이, 얼굴의 형상에 기준점들을 많이 분포시켰고 비교적 기준점의 수가 적다. 도 6b에 도시된 바와 같이, 얼굴 안쪽에 기준점들이 비슷한 간격으로 다수 분포되어 있다. As shown in Fig. 6A, many reference points are distributed in the shape of the face, and the number of reference points is relatively small . As shown in FIG. 6B, a number of reference points are distributed at similar intervals inside the face .

위의 과정에서 focus 1의 경우 앞에서 설정한 수치들을 그대로 쓴다면 8 픽셀이 위치 차이 벡터의 최대 크기가 될 것이다. 다만 training set이나 원하는 성능의 정도에 따라 wavelet의 방향, 주파수들은 사용자가 임의로 설정할 수 있으므로 step 1, 2에서의 픽셀 단위들도 그에 맞춰 조정을 하여 각각의 정의 된 P점들 사이의 픽셀 간격에 의하여 얼굴의 특징점을 검출한다.In the case of focus 1 in the above process, if the previously set values are used as they are, 8 pixels will be the maximum size of the position difference vector. However, the direction and frequencies of the wavelet can be arbitrarily set by the user according to the training set or the degree of performance desired, so the pixel units in steps 1 and 2 are also adjusted accordingly, and the face is faced according to the pixel interval between the defined P points. Detect the feature point of

그리고, 필요시 질감 분석모듈(26)에 의하여 얼굴의 표면에 대한 질감도 분석하게 된다.And, if necessary, the texture analysis module 26 analyzes the texture of the surface of the face.

이와 같이, 얼굴 특징 검출부(10)에 의하여 얼굴 이미지의 다수 픽셀에 대한 형상, 밝기, 질감 등의 특징을 백터화 하여 함수에 의하여 처리하여 추출한 후, 서로 조합함으로써 특징점 파라미터에 의하여 하나 이상의 얼굴 특징점을 동시에 분석하고 검출하게 된다.In this way, features such as shape, brightness, and texture of multiple pixels of the face image are vectorized by the facial feature detection unit 10, processed and extracted by a function, and then combined with each other to obtain one or more facial feature points based on the feature point parameters. Simultaneous analysis and detection.

한편, 전처리부(7)에서 처리된 얼굴 이미지에 대한 인식시간을 단축하기 위하여 얼굴 이미지의 일부만 검출한 후, 특정 얼굴이 매칭되지 않는 경우 나머지 검출하지 않은 얼굴 이미지를 추가로 검출하여 인식과정을 진행할 수도 있다.Meanwhile, in order to shorten the recognition time for the face image processed by the preprocessor 7, after detecting only a part of the face image, if a specific face does not match, the remaining undetected face image is additionally detected and the recognition process is performed. May be.

즉, 제어부(9)에 의하여 일반모드를 신속모드로 변경 설정하는 경우, 얼굴 분할모듈(20)에 의하여 얼굴을 일정 영역씩 분할한 후, 얼굴 특징 검출부(10)에 의하여 해당 영역의 얼굴 특징을 검출한 후, 얼굴 판별부(15)에 의하여 데이터베이스(13)로부터 매칭되는 얼굴 데이터를 인출하여 비교하게 된다.That is, in the case of changing and setting the normal mode to the quick mode by the control unit 9, the face is divided by predetermined regions by the face segmentation module 20, and then the facial features of the corresponding region are determined by the facial feature detection unit 10. After detection, the face determination unit 15 retrieves and compares matched face data from the database 13.

보다 상세하게 설명하면, 얼굴의 코를 중심으로 가로 및 세로선을 형성하여 복수개의 영역, 예를 들면 대칭 가능한 짝수개의 영역인 4구역으로 분할하고, 좌상단 영역에서 시계방향으로 제 1, 제2, 제3, 제4영역으로 설정한다.In more detail, horizontal and vertical lines are formed around the nose of the face and divided into a plurality of areas, for example, 4 areas, which are even numbers of symmetrical areas, and the first, second, and second areas are clockwise from the upper left area. It is set as the 3rd and 4th area.

그리고, 제 1영역인 좌측 눈 부위의 특징을 먼저 검출한다. 그리고, 데이터베이스(13)에서 해당 영역과 매칭되는 부분이 있는지를 연산한다. Then, a feature of the left eye region, which is the first region, is first detected. Then, it is calculated whether there is a part in the database 13 that matches the corresponding area.

만약 매칭되는 부분이 없으면 제 4영역, 즉 좌측 눈 부위의 바로 아래 영역의 특징을 검출하여 매칭되는 얼굴 이미지를 검색한다. If there is no matched part, the feature of the fourth area, that is, the area immediately below the left eye area is detected, and a matching face image is searched.

즉, 제 1영역과 대칭되는 제 2영역은 미러(Mirror) 기법에 의하여 특징을 처리할 수 있음으로 대칭되지 않는 제 4영역의 특징을 검출하는 것이 바람직하다.That is, since features of the second area symmetrical with the first area can be processed using a mirror technique, it is preferable to detect the features of the fourth area that are not symmetrical.

그리고, 제 4영역에서도 검출되지 않는 경우에는 얼굴 전체 영역에 대한 검출을 실시한다.And, when it is not detected in the fourth area, the entire face area is detected.

이와 같이, 얼굴을 복수개의 영역으로 구분하여 단수개의 영역부터 순차적으로 특징을 검출하여 매칭하되, 특정 얼굴이 매칭되지 않는 경우에는 대칭적으로 배치된 영역을 제외한 다른 영역의 특징을 검출하여 매칭되는 얼굴 데이터를 비교함으로써 얼굴 인식을 신속하게 실시할 수 있다.In this way, a face is divided into a plurality of areas, and features are sequentially detected and matched from a single area, but when a specific face is not matched, a matched face is detected by detecting features of other areas except the symmetrically arranged areas. By comparing the data, face recognition can be performed quickly.

그리고, 이러한 제 1 내지 제 4영역에 대한 특징점 검출을 실시하기 전에, 얼굴의 특이 형상에 대한 특징을 먼저 실시함으로써 인식 시간을 신속하게 단축할 수도 있다. 예를 들면, 얼굴의 일정 부분에 큰 점 혹은 흉터, 안면 비대칭 등의 특징이 있어서 얼굴 판별부(15)에 의하여 쉽게 검출할 수 있는 경우, 이러한 특징점을 우선적으로 처리함으로써 인식 시간을 단축할 수 있다.In addition, prior to the detection of the feature points for the first to fourth regions, the recognition time may be quickly shortened by first performing the feature on the specific shape of the face. For example, if a certain part of the face has features such as large dots or scars, facial asymmetry, etc., and can be easily detected by the face discrimination unit 15, the recognition time can be shortened by processing these feature points with priority. .

한편, 얼굴 판별부(15)에서는 전처리부(7)에서 검출된 하나 이상의 얼굴 이미지를 데이터베이스(13)에 등록된 얼굴 데이터와 비교하여 해당 얼굴의 성별, 나이, 감정상태를 인식하게 된다.Meanwhile, the face determination unit 15 compares one or more face images detected by the preprocessor 7 with face data registered in the database 13 to recognize the gender, age, and emotional state of the corresponding face.

보다 상세하게 설명하면,In more detail,

얼굴 판별부(15)는 얼굴의 형상을 분석함으로써 얼굴의 특징을 추출하여 성별, 나이, 감정상태를 인식한다. 이러한 얼굴 판별부(15)는 얼굴인식분석엔진이 탑재된 중앙처리장치(CPU)에 의하여 처리될 수 있다.The face discrimination unit 15 recognizes gender, age, and emotional state by extracting facial features by analyzing the shape of the face. The face determination unit 15 may be processed by a central processing unit (CPU) equipped with a face recognition analysis engine.

참고로, 중앙처리장치는 도 7에 도시된 바와 같이, 얼굴분석엔진과, GPU와, ISP(Image Signal Processor), ALSA(Advanced Linux Sound Architecture), RTSP(Real Time Streaming Protocol), 통신모듈에 의하여 신호를 송수신하게 된다. For reference, the central processing unit is a face analysis engine, GPU, ISP (Image Signal Processor), ALSA (Advanced Linux Sound Architecture), RTSP (Real Time Streaming Protocol), communication module, as shown in FIG. It transmits and receives signals.

이러한 얼굴 판별부(15)에서는 얼굴의 형태 분석을 다양한 알고리즘을 사용할 수 있는 바, 예를 들면 딥러닝(Deep learning) 방식에 의하여 얼굴의 형상 등을 비교하여 그 유사도를 판단함으로써 형태을 분석하는 방식이다.The face determination unit 15 can use various algorithms to analyze the shape of the face. For example, it is a method that analyzes the shape by comparing the shape of the face using a deep learning method and determining the similarity. .

즉, 딥러닝은 컴퓨터가 여러 데이터를 이용해 인간처럼 스스로 학습할 수 있게 하기 위해 인공 신경망(ANN: artificial neural network)을 기반으로 구축한 한 기계 학습방법이다.In other words, deep learning is a machine learning method built on the basis of an artificial neural network (ANN) to enable computers to learn on their own like humans using multiple data.

인공 신경망을 이용하면 얼굴 데이터의 분류(classification) 및 군집화(clustering)가 가능한 바, 분류나 군집화를 원하는 데이터 위에 여러 가지 층(layer)을 얹어서 유사도 판단을 실시할 수 있다.When an artificial neural network is used, classification and clustering of face data is possible, and similarity can be determined by placing various layers on the data desired for classification or clustering.

즉, 인공 신경망으로 얼굴 데이터의 형상 특징을 추출하고 그 특징을 다시 다른 기계학습 알고리즘의 입력값으로 사용하여 형상 별로 분류나 군집화를 함으로써 유사도를 판단할 수 있다. That is, the similarity can be determined by extracting the shape features of the face data with an artificial neural network and then classifying or clustering each shape by using the features as an input value of another machine learning algorithm.

이러한 인공 신경망은 심층 신경망을 포함하는 바, 심층 신경망은 신경망 알고리즘 중에서 여러 개의 층으로 이루어진 신경망을 의미한다. Such an artificial neural network includes a deep neural network, and the deep neural network means a neural network composed of several layers among neural network algorithms.

즉, 인공 신경망은 다층으로 구성되는 바, 각각의 층은 여러 개의 노드로 구성되고, 각 노드에서는 실제로 형상을 분류하는 연산이 일어나며, 이 연산 과정은 인간의 신경망을 구성하는 뉴런에서 일어나는 과정을 모사하도록 설계된다.In other words, the artificial neural network is composed of multiple layers, each layer is composed of several nodes, and each node actually classifies the shape, and this computational process simulates the process that occurs in the neurons constituting the human neural network. Designed to do.

노드는 일정 크기 이상의 자극을 받으면 반응을 하는데, 그 반응의 크기는 입력 값과 노드의 계수(또는 가중치, weights)를 곱한 값과 대략 비례한다. When a node receives a stimulus larger than a certain size, it reacts, and the magnitude of the response is roughly proportional to the product of the input value and the node's coefficient (or weights).

일반적으로 노드는 여러 개의 입력을 받으며 입력 갯수만큼의 계수를 갖는다. 따라서, 이 계수를 조절함으로써 여러 입력에 서로 다른 가중치를 부여할 수 있다. In general, a node receives multiple inputs and has as many coefficients as the number of inputs. Therefore, it is possible to give different weights to different inputs by adjusting this coefficient.

최종적으로 곱한 값들은 전부 더해지고 그 합은 활성 함수(activation function)의 입력으로 들어가게 된다. 활성 함수의 결과가 노드의 출력에 해당하며 이 출력값이 궁극적으로 분류나 회귀 분석에 쓰인다.Finally, all the multiplied values are added and the sum is fed into the input of the activation function. The result of the active function corresponds to the output of the node, and this output is ultimately used for classification or regression analysis.

각 층은 여러 개의 노드로 이루어지며 입력값에 따라 각 노드의 활성화/비활성화 여부가 결정된다. 이때, 입력 데이터는 첫 번째 층의 입력이 되며, 그 이후엔 각 층의 출력이 다시 다음 층의 입력이 되는 방식이다.Each layer consists of several nodes, and whether to activate/deactivate each node is determined according to the input value. At this time, the input data becomes the input of the first layer, and after that, the output of each layer becomes the input of the next layer again.

모든 계수는 얼굴 데이터의 형상 학습 과정에서 계속 조금씩 변하는데, 결과적으로 각 노드가 어떤 입력을 중요하게 여기는지를 반영한다. 그리고 신경망의 학습(training)은 이 계수를 업데이트하는 과정이다.All coefficients change gradually during the shape learning process of the face data, and as a result, each node reflects which inputs are important. And training of neural networks is the process of updating these coefficients.

얼굴 데이터의 형상 학습시 이러한 심층 신경망에서는 각 층마다 서로 다른 층위의 특징이 학습된다.When learning the shape of face data, in this deep neural network, features of different layers are learned for each layer.

즉, 낮은 층위의 특징은 단순하고 구체적인 특징이 학습되며 {예: 얼굴 데이터의 형상을 구성하는 형상}, 높은 층위의 특징은 더욱 복잡하고 추상적인 특징이 학습된다. {예: 코 높이, 눈썹형상, 입꼬리 형상, 눈매}In other words, simple and specific features are learned for features at lower levels, {eg, shapes constituting the shape of face data}, and more complex and abstract features for features at higher levels. {Example: nose height, eyebrow shape, mouth tail shape, eye shape}

이런 추상화 학습과정을 통해 심층 신경망이 고차원의 데이터를 이해하며, 이 과정에는 수 억, 수 십억 개의 계수가 관여하게 된다. (이 과정에서 비선형함수가 사용된다.)Through this abstract learning process, deep neural networks understand high-dimensional data, and hundreds of millions and billions of coefficients are involved in this process. (A nonlinear function is used in this process.)

또한, 심층 신경망은 데이터를 이용해 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 즉, 얼굴 데이터의 윤곽, 코 높이, 눈매, 입술형상, 눈썹 형상, 이마 형상 등 잠재적인 구조를 파악할 수 있다. 이를 통해 데이터가 라벨링되어 있지 않아도 데이터간의 유사성을 효과적으로 파악할 수 있으며, 결과적으로 심층 신경망은 얼굴 데이터의 군집화에 효과적이다.In addition, deep neural networks can use the data to understand the potential structures of the data. In other words, potential structures such as contours of face data, nose height, eye shape, lip shape, eyebrow shape, and forehead shape can be identified. Through this, even if the data is not labeled, the similarity between data can be effectively grasped, and as a result, deep neural networks are effective in clustering face data.

예를 들어, 신경망을 이용해 대량의 얼굴 데이터를 입력받아 비슷한 얼굴 데이터끼리 모아서 분류할 수 있다.For example, a large amount of face data can be input using a neural network, and similar face data can be collected and classified.

이러한 심층 신경망이 일반적인 기계 학습과 다른 점은 특징 추출(feature extraction)이 자동적으로 이루어진다는 점이다. The difference between these deep neural networks from general machine learning is that feature extraction is performed automatically.

기존에는 효과적인 특징을 추출하기 위해 관련 분야 전문가가 오랜 시간동안 직접 특징을 추출하는 수식이나 방법을 고안해서 적용해야 했다. 이 방법은 개발, 평가 및 보완에 많은 시간이 걸리는 문제점이 있다. Previously, in order to extract effective features, experts in related fields had to devise and apply formulas or methods that directly extract features for a long time. This method has a problem that it takes a lot of time to develop, evaluate and supplement.

심층 신경망은 이런 과정을 컴퓨터가 대신 하도록 알고리즘을 짠 것으로, 사람에 비해 훨씬 빠르고 효과적으로 수행하도록 학습시킨다.Deep neural networks are algorithms designed to allow computers to take over these processes, and they learn to perform much faster and more effectively than humans.

라벨링이 되어있지 않은 데이터를 학습하는 경우에도 신경망은 얼굴 데이터의 특징을 자동적으로 추출할 수 있다. 이 자동 추출은 여러 가지 방법이 있는데, 보통 이 과정은 신경망을 통과시켰을 때의 출력이 입력과 같아지도록 학습하게 된다. Even when learning unlabeled data, neural networks can automatically extract features of facial data. There are several methods of this automatic extraction. Usually, this process learns so that the output when passed through the neural network is the same as the input.

라벨이 어떤 종류이든지(입력을 그대로 사용/별도의 라벨을 사용) 신경망은 입력과 출력의 상관관계를 찾는다. 경우에 따라서는 라벨링된 데이터로 신경망을 어느 정도 학습시킨 뒤 라벨링이 되어있지 않은 데이터를 추가하여 계속 학습시킬 수도 있다. 이 방법을 이용하면 신경망의 성능을 극대화할 수 있다.No matter what kind of label (using the input as it is/using a separate label), the neural network finds a correlation between the input and the output. In some cases, a neural network can be trained with labeled data to some extent, and then unlabeled data can be added to continue learning. This method can maximize the performance of the neural network.

심층 신경망의 마지막 층은 출력층이다. 출력층의 활성 함수는 로지스틱(logistic) 혹은 소프트 맥스(softmax)인 경우가 대부분이며 출력층에서는 최종적으로 특정 라벨의 확률을 구할 수 있다. 예를 들어 얼굴 데이터를 입력하였을 때 얼굴 윤곽이 상하로 긴지, 좌우로 긴지, 코의 높낮이, 입꼬리의 처짐, 눈꼬리의 처짐, 주름의 대소, 길이 등을 각각의 확률로 구할 수 있다.The final layer of the deep neural network is the output layer. In most cases, the activation function of the output layer is logistic or softmax. In the output layer, the probability of a specific label can be finally obtained. For example, when the face data is input, whether the face contour is long vertically, horizontally, the height of the nose, the sagging of the corner of the mouth, the sagging of the tail of the eyes, the size and length of wrinkles, etc. can be obtained with each probability.

우선 학습이 시작되기 전에 뉴럴넷의 모든 계수를 초기화한다. 그리고 얼굴 데이터를 반복적으로 입력하여 학습을 진행한다. 만일 학습이 원활하게 진행되었다면 계수는 적절한 값으로 업데이트 되어 있을 것이고, 이 인공 신경망으로 각종 분류와 예측이 가능하다.First, all coefficients of the neural net are initialized before learning starts. Then, the face data is repeatedly input to proceed with learning. If the learning proceeds smoothly, the coefficients will be updated to appropriate values, and various classifications and predictions are possible with this artificial neural network.

학습 과정 내부에선 이러한 계수의 업데이트 과정이 반복적으로 일어난다.Within the learning process, the process of updating these coefficients occurs repeatedly.

계수 업데이트의 원리는 우선 계수를 추정하고 그 계수를 사용했을 때 발생하는 에러를 측정한 뒤 그 에러에 기반해서 계수를 약간씩 업데이트 하는 방식이다.The principle of coefficient update is to first estimate the coefficient, measure the error that occurs when using the coefficient, and then update the coefficient slightly based on the error.

이때, 신경망의 여러 계수를 합쳐서 모델이라고 부르며, 모델은 초기화 된 상태일 수도 있고, 학습이 완료된 상태일 수도 있다.In this case, the coefficients of the neural network are summed and called a model, and the model may be in an initialized state or a state in which training is completed.

초기화된 모델은 의미있는 작업을 못하지만 학습이 진행될수록 모델은 임의의 값이 아닌, 실제와 유사한 결과를 출력하게 된다.The initialized model can't do any meaningful work, but as the learning progresses, the model outputs a result similar to the real thing, not an arbitrary value.

이는 인공 신경망이 데이터가 입력되기 전에는 아무것도 모르는 상태이기 때문이며, 계수를 임의의 값으로 초기화하는 이유도 마찬가지이다. 그리고 데이터를 읽어가면서 계수를 조금씩 올바른 방향으로 업데이트하게 된다.This is because the artificial neural network knows nothing before data is input, and the same is the reason for initializing the coefficients to arbitrary values. And as the data is read, the coefficients are gradually updated in the correct direction.

이러한 업데이트 과정을 통하여 인공 신경망은 입력된 얼굴 데이터들을 분류함으로써 유사한 얼굴 데이터들을 군집화할 수 있다. Through this update process, the artificial neural network can cluster similar face data by classifying the input face data.

이때 얼굴 데이터들은 유형별로 군집화될 수 있는 바, 예를 들면, 성별, 나이, 감정의 상태에 따라 군집화될 수 있다.At this time, the face data may be clustered according to types, for example, according to gender, age, and emotional state.

그리고, 감정은 기쁨, 슬픔, 화남, 우울함 등으로 분류될 수 있다.And, emotions can be classified into joy, sadness, anger, and depression.

이와 같이 군집화된 얼굴 데이터는 데이터 베이스(13)에 등록된다.The face data clustered in this way is registered in the database 13.

한편, 도 8에 도시된 바와 같이, 광고 관리부(3)는 광고 컨텐츠를 수집하고 군집화된 고객의 얼굴에 따라 적합한 광고를 인출하여 표시한다.Meanwhile, as shown in FIG. 8, the advertisement management unit 3 collects advertisement contents and draws and displays appropriate advertisements according to the clustered faces of customers.

이러한 광고 관리부(3)는, 광고 컨텐츠를 수집하고 저장하는 수집모듈(30)과; 수집된 광고 컨텐츠를 분류하는 분류모듈(32)과; 검출된 얼굴 특징에 대응되는 광고 컨텐츠를 선택하기 위한 경로를 탐색하는 탐색모듈(34)과; 탐색된 광고 컨텐츠를 추천하는 추천모듈(36)과; 추천된 광고 컨텐츠를 표시하는 표시모듈(38)과; 사용자 정보를 관리하는 관리모듈(40)을 포함한다.The advertisement management unit 3 includes: a collection module 30 for collecting and storing advertisement contents; A classification module 32 for classifying the collected advertisement content; A search module 34 for searching a path for selecting advertisement content corresponding to the detected facial feature; A recommendation module 36 for recommending the searched advertisement content; A display module 38 for displaying the recommended advertisement content; It includes a management module 40 for managing user information.

보다 상세하게 설명하면,In more detail,

수집모듈(30)은 온라인 혹은 오프라인상에서 다양한 광고 컨텐츠를 수집하고 저장한다. 이때, 온라인상에서 광고 컨텐츠를 수집하는 방식은 다양하며, 예를 들면 크롤러(Crawler)를 이용하거나 스크래핑(Scraping)을 이용하여 광고 컨텐츠를 검색할 수 있다.The collection module 30 collects and stores various advertisement contents online or offline. At this time, there are various methods of collecting advertisement contents online, and advertisement contents may be searched using, for example, a crawler or scraping.

분류모듈(32)은 수집된 광고 컨텐츠를 특징에 따라 분류한다. 예를 들면, 건강관련 광고, 스포츠 관련, 헬스 관련, 재테크 관련 광고 등으로 분류한다.The classification module 32 classifies the collected advertisement content according to characteristics. For example, it is classified into health-related advertisements, sports-related advertisements, health-related advertisements, and financial-related advertisements.

탐색모듈(34)은 얼굴 특징 검출부(10)에 의하여 검출된 얼굴 특징에 대응되는 광고 컨텐츠를 선택하기 위한 경로를 탐색한다.The search module 34 searches for a path for selecting advertisement content corresponding to the facial feature detected by the facial feature detection unit 10.

추천모듈(36)은 경로가 탐색된 광고 컨텐츠를 분류된 얼굴 유형에 따라 데이터 베이스에서 광고 컨텐츠를 인출하여 추천한다. 예를 들면, 나이에 따라 적합한 광고 컨텐츠를 인출하는 바, 나이가 적은 어린층의 경우, 아동용 광고 컨텐츠를 인출하고, 노년층의 경우 건강 관련 컨텐츠를 인출하는 방식이다.The recommendation module 36 recommends the advertisement content for which the path is searched by extracting the advertisement content from the database according to the classified face type. For example, advertisement content appropriate for age is retrieved. In the case of younger people, advertisement content for children is retrieved, and health-related content is retrieved for the elderly.

또한, 청년층의 경우 헬스 관련 광고 컨테츠를 인출하거나, 장년층의 경우 재테크 관련 컨텐츠를 인출하게 된다.In addition, in the case of young people, advertising content related to health is withdrawn, and in the case of the elderly, financial related content is withdrawn.

그리고, 성별에 따라서도 광고 컨텐츠를 인출할 수 있는 바, 남성의 경우는 스포츠 관련 컨텐츠를 인출하고, 여성의 경우는 화장품 관련 컨텐츠를 인출하는 방식이다.In addition, advertisement content can be retrieved according to gender. For men, sports-related content is retrieved, and for females, cosmetic-related content can be retrieved.

또한, 감정에 따라서 광고 컨텐츠를 인출할 수 있는 바, 기쁨상태인 경우에는 여행 컨텐츠를 인출하고, 슬픔인 경우에는 주류 관련 컨텐츠를 인출하며, 성냄상태인 경우에는 여성 관련 광고 컨텐츠를 인출하고, 우울상태인 경우에는 밝은 컨텐츠를 인출하게 된다.In addition, advertising content can be withdrawn according to emotions. In the case of joy, travel content is withdrawn, in case of sadness, alcohol-related content is withdrawn, and in case of anger, female-related advertising content is withdrawn, and depression. In the case of status, bright content is fetched.

이와 같이 추천모듈(36)은 인식된 얼굴 데이터에 따라 적절한 광고 컨텐츠를 선택하여 인출하게 된다.In this way, the recommendation module 36 selects and retrieves appropriate advertisement content according to the recognized face data.

그리고, 표시모듈(38)은 추천된 광고 컨텐츠를 광고 표시창에 표시함으로써 광고를 진행할 수 있다. In addition, the display module 38 may proceed with advertisement by displaying the recommended advertisement content on the advertisement display window.

이때, 광고 표시창(32)은 다양한 방식의 광고 표시창(32)을 포함하며, 예를 들면 엘시디(LCD), 엘이디(LED) 등이 가능하다.At this time, the advertisement display window 32 includes the advertisement display window 32 of various types, for example, an LCD, an LED, and the like.

이하, 본 발명의 바람직한 실시예에 따른 얼굴인식에 의한 광고 제공 시스템의 작동과정을 첨부된 도면에 의하여 더욱 상세하게 설명한다.Hereinafter, an operation process of the advertisement providing system by face recognition according to a preferred embodiment of the present invention will be described in more detail with reference to the accompanying drawings.

도 9 및 도 10에 도시된 바와 같이, 얼굴인식에 의한 광고 제공 시스템(1)에 의하여 얼굴을 인식하는 방법은, 얼굴 인식부(2)에 의하여 상점 내의 고객 또는 상점 밖의 보행자들을 촬영한 동영상으로부터 얼굴을 인식하고, 광고 컨텐츠를 수집하고 인식된 고객의 얼굴에 따라 적합한 광고를 인출하여 표시하는 순서로 진행된다.As shown in FIGS. 9 and 10, the method of recognizing a face by the advertisement providing system 1 by face recognition is from a video of a customer in a store or a pedestrian outside the store by the face recognition unit 2 Faces are recognized, advertisement contents are collected, and appropriate advertisements are drawn out and displayed according to the recognized customer's face.

이러한 얼굴 인식 광고 제공방법에 대하여 상세하게 설명하면,When explaining in detail the method of providing such a face recognition advertisement,

영상 촬영부(4)에 의하여 동영상을 획득하는 단계(S10)와;Obtaining a moving picture by the image capturing unit 4 (S10);

영상 촬영부(4)를 통해 실시간 입력되는 영상을 추출부(6)에 의하여 분석하여, 하나 이상의 얼굴 데이터를 추출하고 백터화하여 함수처리하는 추출단계(S20)와;An extraction step (S20) of analyzing an image input in real time through the image capturing unit 4 by the extracting unit 6, extracting one or more face data, converting it into a vector, and performing function processing;

추출된 하나 이상의 얼굴 데이터에서 전처리부(7)에 의하여 반사광, 화각, 등의 Dust 및 노이즈 제거를 거치는 전처리 단계(S25)와; A pre-processing step (S25) of removing dust and noise such as reflected light, angle of view, etc. from the extracted one or more face data by the pre-processing unit 7;

제어부(9)에서 일반모드로 설정된 경우, 추출된 하나 이상의 얼굴 데이터의 유사도를 판단함으로써 정의된 특징점 파라미터에 의하여 하나 이상의 얼굴 특징점을 동시에 분석하고 검출하는 특징 검출단계(S30)와;A feature detection step (S30) of simultaneously analyzing and detecting one or more facial feature points according to a defined feature point parameter by determining the similarity of the extracted one or more face data when the controller 9 is set to the general mode;

전처리부(7)에서 검출된 하나 이상의 얼굴 이미지를 얼굴 판별부(15)에 의하여 데이터베이스(13)에 등록된 얼굴 데이터와 비교 분석하여 성별, 나이, 감정상태에 따라 분류하여 출력하는 단계(S40)와;Comparing and analyzing one or more face images detected by the preprocessor 7 with face data registered in the database 13 by the face determination unit 15, classifying and outputting them according to gender, age, and emotional state (S40) Wow;

광고 관리부(3)에 의하여 광고 컨텐츠를 수집하고 군집화된 고객의 얼굴에 따라 적합한 광고를 인출하여 표시하는 맞춤형 광고단계(S50)와; 그리고 A customized advertisement step (S50) of collecting advertisement contents by the advertisement management unit 3 and drawing and displaying suitable advertisements according to the clustered faces of customers; And

광고컨텐츠를 출력하는 단계(S60)를 포함한다.And outputting the advertisement content (S60).

이러한 광고 제공방법에 있어서,In this advertisement providing method,

동영상 획득단계(S10)에서는 카메라에 의하여 동영상 등을 촬영함으로써 얼굴 영상을 실시간으로 획득한다.In the video acquisition step (S10), a face image is acquired in real time by photographing a video or the like by a camera.

그리고, 얼굴 데이터 추출 단계(S20)에서는 실시간으로 입력되는 영상에서 얼굴 데이터를 추출한다.In addition, in the face data extraction step S20, face data is extracted from an image input in real time.

즉, 우선 얼굴 데이터를 도 4에 도시된 바와 같이, 사각형 또는 타원형의 모양으로 추출한다.That is, first, face data is extracted in a shape of a square or an oval, as shown in FIG. 4.

그리고, 추출된 얼굴영역에서 P점(Peak Point)을 추출하고, 이 P점을 중심으로 눈,코,입,귀를 인식하게 된다.Then, P point (Peak Point) is extracted from the extracted face area, and eyes, nose, mouth, and ears are recognized around the P point.

즉, 영상에서 물체를 추적하거나 인식할 때, 영상에서 주요 특징점(keypoint)을 추출하여 매칭하는 바, 이 경우 코너점(Corner point)을 추출하는 것이 중요하다.That is, when tracking or recognizing an object in an image, keypoints are extracted from the image and matched. In this case, it is important to extract a corner point.

따라서, 임의의 P점이 코너점인지 여부를 판단하여야 하는 바, 아래와 같은 정에 의하여 판단한다.Therefore, it is necessary to determine whether an arbitrary point P is a corner point, and it is determined according to the following definition.

도 5에 도시된 바와 같이, 먼저 추출된 얼굴 데이터에서 임의의 픽셀을 선택한다. 이때 선택한 픽셀 P의 밝기는 Ip, threshold값은 t로 정의한다.As shown in FIG. 5, a random pixel is first selected from the extracted face data. At this time, the brightness of the selected pixel P is defined as Ip, and the threshold value is defined as t.

그리고, P점을 중심으로 가상의 원을 형성하며, 이때 원의 반지름은 픽셀 3개 정도로 가정하고, 이 원에 접하는 16개 픽셀값을 추출한다. 물론 반지름의 크기를 적절하게 변경될 수 있다.Then, a virtual circle is formed around the point P, and the radius of the circle is assumed to be about 3 pixels, and values of 16 pixels in contact with the circle are extracted. Of course, the size of the radius can be changed accordingly.

그리고, 16개 픽셀로 이루어진 원의 내부에 Ip+t 보다 일정값 이상 밝은(>p+t) 픽셀들이 n개 이상 연속되어 있거나, 또는 Ip-t 보다 일정값 이상 어두운 (<p-t) 픽셀들이 n개 이상 연속되어 있으면 p를 코너점으로 판단한다.In addition, n or more pixels (>p+t) brighter than Ip+t (>p+t) or more (<pt) pixels darker than Ip-t are continuous within a circle consisting of 16 pixels. If more than two are consecutive, p is judged as a corner point.

예를 들면, 1번 및 9번 픽셀이 P보다 더 밝은지 여부를 먼저 연산하고, 5번 및 13번 픽셀을 연산한다. 만약 P가 코너라면 연산한 4개의 픽셀,즉 1,5,9,13번 픽셀중 적어도 3개는 IP+t 보다 더 밝거나 IP-t보다 더 어둡다.For example, whether pixels 1 and 9 are brighter than P is calculated first, and pixels 5 and 13 are calculated. If P is a corner, then at least three of the four pixels computed, i.e. pixels 1, 5, 9 and 13, are brighter than IP+t or darker than IP-t.

이때, P를 중심으로 연속되는 픽셀의 수는 3개 뿐만 아니라, 4개, 9개, 12개 등 다양하게 변동하여 적용할 수 있다.In this case, the number of consecutive pixels centered on P may vary and be applied in various ways, such as 4, 9, 12, as well as 3.

그리고, 상기한 인식과정에 있어서, n의 수가 적은 경우, 예를 들면 12보다 적은 경우에는 P를 선택하려는 픽셀 후보 수가 적어서 많이 제거하지 못하는 문제점이 있다. 또한, 얼굴 이미지의 특징을 검출하는 경우 코너 모양의 분포 등에 의존적이므로 픽셀 선택이 최적이 아닐 수 있다. 그리고, 코너가 아니라고 판단된 픽셀들은 분석에서 제외된다. 또한, 코너 주위에 다중 특징이 검출될 수도 있어서 코너 판단이 어려운 경우도 있다.Further, in the above recognition process, when the number of n is small, for example, when it is less than 12, there is a problem in that the number of pixel candidates for selecting P is small, and thus a lot of pixel candidates cannot be removed. In addition, when detecting a feature of a face image, since it depends on the distribution of the corner shape, the pixel selection may not be optimal. And, pixels judged not to be corners are excluded from the analysis. In addition, there are cases where it is difficult to determine a corner because multiple features may be detected around the corner.

따라서, 이러한 단점을 보완하기 위하여 다음과 같은 과정을 거치게 된다.Therefore, in order to compensate for these shortcomings, the following process is performed.

즉, 머신 러닝 혹은 딥러닝에 의하여 코너점을 검출한다.That is, corner points are detected by machine learning or deep learning.

보다 상세하게 설명하면, 상기한 바와 같이 얼굴 이미지로부터 코너점을 검출하기 위한 과정을 동일하게 실행한다.In more detail, the process for detecting a corner point from a face image is performed in the same manner as described above.

그리고, 검출된 모든 픽셀에 대해 픽셀 주위로 16개 픽셀을 벡터로 저장한다. And, for all detected pixels, 16 pixels around the pixels are stored as vectors.

이때, 픽셀의 밝기값을 아래 수식과 같이 P보다 훨씬 밝은 경우, P보다 훨씬 어두운 경우, P와 유사한 경우의 3가지 값으로 분류한다. 그리고, 이를 이용하여 원주 상의 픽셀들의 밝기분포를 16차원의 터네리 백터(ternary)로 표현한다.At this time, the brightness value of the pixel is classified into three values: when it is much brighter than P, when it is much darker than P, and when it is similar to P as shown in the equation below. And, using this, the brightness distribution of the pixels on the circumference is expressed as a 16-dimensional ternary.

Figure 112020061218699-pat00003
Figure 112020061218699-pat00003

상기 수식에 새로운 불린변수(Boolean)를 Kp로 정의하는 바, Kp는 P가 코너이면 트루(True), 아니면 폴스(False)이다.In the above equation, a new Boolean variable is defined as Kp, where Kp is True if P is a corner, or False otherwise.

따라서, 상기 수식에 Kp변수를 적용하여 의사결정 트리(decision tree)를 기반으로 처리한다.Therefore, the Kp variable is applied to the above equation and processed based on a decision tree.

Kp의 엔트로피가 0이 될 때까지 상기 수식 Pd, Ps, Pb에 반복하여 적용한다.Until the entropy of Kp becomes 0, the above equations Pd, Ps, and Pb are repeatedly applied.

이와 같은 과정을 통하여 각 코너를 검출할 수 있는 의사결정트리가 생성된다.Through this process, a decision tree capable of detecting each corner is created.

이때, 어떤 점 P가 꼭지점으로 인식되면 P와 인접한 주변 점들도 같이 꼭지점으로 검출되는 경우가 많다.At this time, when a point P is recognized as a vertex, points adjacent to P are often detected as vertices.

따라서, 이 문제를 해결하기 위해 비 최대 억제(non-maximal suppression) 방법을 이용하여 후처리를 진행한다.Therefore, in order to solve this problem, post-processing is performed using a non-maximal suppression method.

비 최대 억제법은 인접한 여러 점들이 꼭지점으로 검출된 경우 그중 피크성이 극대인 점만을 남기고 나머지를 제거하는 방식이다.The non-maximum suppression method is a method in which when several adjacent points are detected as vertices, only the points with the maximum peak are left and the rest are removed.

그리고, 결정트리에 의하여 P를 결정하는 방식은 꼭지점 여부를 온(On)/오프(Off) 방식으로 결정하게 되므로, 깊이(depth) 정도를 수치화하기 어려운 바, 다음과 같은 별도의 수치화 함수를 적용한다.In the method of determining P by the decision tree, since the vertex is determined in an On/Off method, it is difficult to quantify the degree of depth, so a separate numerical function as follows is applied. do.

Figure 112020061218699-pat00004
------식(2)
Figure 112020061218699-pat00004
------Equation (2)

상기 비 최대 억제법에 의하여 P점을 산출할 때, 결정트리를 통해 검출된 각각의, 코너점들을 상기 식(2)에 입력하여 V를 연산한다. When calculating the point P by the ratio-maximum suppression method, each of the corner points detected through the decision tree is input into the equation (2) to calculate V.

즉, V는 p와 이를 둘러싼 16개의 픽셀값의 차에 대한 절대값을 모두 합산한 값을 의미한다. 그리고, 근접한 2개의 p값에 대해 V를 연산하고, V값이 작은쪽을 버리는 방식으로 코너성이 극대인 점들을 파악한다.That is, V denotes a value obtained by summing all the absolute values of the difference between p and 16 pixel values surrounding it. Then, V is calculated for two adjacent p-values, and points with the maximum cornerity are identified by discarding the smaller V value.

이러한 방법으로 기준점들을 정의할 때 기본적으로 눈, 코 끝, 눈썹, 입 양끝, 귀 등의 형상 및 위치가 결정된다. 이런 점들은 개인마다 형태가 크게 다르고 주변 형태도 복잡해 각 개인을 구분하는데 유용하다. When defining the reference points in this way, the shape and position of the eyes, the tip of the nose, the eyebrows, the ends of the mouth, and the ears are basically determined. These points are useful in distinguishing each individual because their shape is greatly different for each individual and the surrounding shape is also complex.

그 외의 기준점들은 볼이나 이마의 한가운데 등에 위치시키는데 이런 점들은 개인마다의 특징은 별로 없지만 얼굴 전체 형상을 파악하기 위하여 필요하다.Other reference points are placed on the cheek or in the middle of the forehead, etc. These points do not have many individual characteristics, but are necessary to grasp the overall shape of the face.

전처리 단계(S25)에서는 전처리부(7)에 의하여 얼굴 데이터에서 반사광, 화각, 등의 Dust 및 노이즈 제거, 보정의 전처리 단계를 진행한다.In the pre-processing step S25, the pre-processing unit 7 performs a pre-processing step of removing and correcting dust and noise such as reflected light, angle of view, and the like from the face data.

그리고, 얼굴특징 검출단계(S25)에서는 이와 같이 P점들을 파악한 후, 도 6a 및 도 6b에 도시된 바와 같이, 얼굴의 위치, 크기, 비율을 찾는데 P점들을 세부 기준점들로서 사용하게 된다.Then, in the face feature detection step (S25), after determining the P points, as shown in FIGS. 6A and 6B, the P points are used as detailed reference points to find the position , size , and ratio of the face.

즉, 무작위 순서로 각 기준점을 택해 위치를 조금씩 바꿔가며 얼굴 영상 이미지의 유사도를 올린다. 이 과정에서 focus를 1에서 5까지 점진적으로 올린다.In other words, each reference point is selected in a random order and the position is changed little by little to increase the similarity of the face image image. In this process, the focus is gradually raised from 1 to 5.

도 6a의 경우, 얼굴의 형상에 기준점들을 많이 분포시켰고 비교적 기준점의 수가 적다. 도 6b의 그래프들은 얼굴 안쪽에 기준점들이 비슷한 간격으로 다수 분포되어 있다. In the case of Fig. 6A, many reference points are distributed in the shape of the face, and the number of reference points is relatively small. In the graphs of FIG. 6B, a number of reference points are distributed at similar intervals inside the face .

위의 과정에서 focus 1의 경우 앞에서 설정한 수치들을 그대로 쓴다면 8 픽셀이 위치 차이 벡터의 최대 크기가 될 것이다. 다만 training set이나 원하는 성능의 정도에 따라 wavelet의 방향, 주파수들은 사용자가 임의로 설정할 수 있으므로 step 1, 2에서의 픽셀 단위들도 그에 맞춰 조정을 하여 각각의 정의 된 Peak사이의 픽셀 간격에 의하여 얼굴의 특징점을 검출한다.In the case of focus 1 in the above process, if the previously set values are used as they are, 8 pixels will be the maximum size of the position difference vector. However, the direction and frequencies of the wavelet can be arbitrarily set by the user according to the training set or the degree of performance desired, so the pixel units in steps 1 and 2 are also adjusted accordingly, Detect feature points.

이와 같이 얼굴 특징 검출단계(S25)가 완료되면, 얼굴 판별 단계(S40)가 진행된다.When the facial feature detection step (S25) is completed as described above, the face determination step (S40) proceeds.

얼굴 판별 단계(S40)에서는 전처리부(7)에서 검출된 하나 이상의 얼굴 이미지를 얼굴 판별부(15)에 의하여 데이터베이스(13)에 등록된 얼굴 데이터와 비교하여 해당 얼굴을 특정하고, 성별, 나이, 감정상태에 따라 분류하게 된다.In the face determination step (S40), one or more face images detected by the preprocessor 7 are compared with face data registered in the database 13 by the face determination unit 15 to identify the corresponding face, and They are classified according to their emotional state.

즉, 얼굴 판별부(15)는 얼굴의 형상을 분석함으로써 얼굴의 특징을 추출하여 다른 얼굴과 구분하게 된다. 이러한 얼굴 판별부(15)는 얼굴인식분석엔진이 탑재된 중앙처리장치(CPU)에 의하여 처리될 수 있다.That is, the face determination unit 15 extracts features of the face by analyzing the shape of the face and distinguishes it from other faces. The face determination unit 15 may be processed by a central processing unit (CPU) equipped with a face recognition analysis engine.

이러한 얼굴 판별부(15)에서는 얼굴의 형태 분석을 다양한 알고리즘을 사용할 수 있는 바, 예를 들면 딥러닝(Deep learning) 방식에 의하여 얼굴의 형상 등을 비교하여 그 유사도를 판단함으로써 형태을 분석하는 방식이다.The face determination unit 15 can use various algorithms to analyze the shape of the face. For example, it is a method that analyzes the shape by comparing the shape of the face using a deep learning method and determining the similarity. .

즉, 얼굴 데이터의 형상 학습시 심층 신경망에서는 각 층마다 서로 다른 층위의 특징이 학습된다.In other words, when learning the shape of face data, in the deep neural network, features of different layers are learned for each layer.

즉, 낮은 층위의 특징은 단순하고 구체적인 특징이 학습되며 {예: 얼굴 데이터의 형상을 구성하는 형상}, 높은 층위의 특징은 더욱 복잡하고 추상적인 특징이 학습된다. {예: 코 높이, 눈썹형상, 눈매, 입꼬리}In other words, simple and specific features are learned for features at lower levels, {eg, shapes constituting the shape of face data}, and more complex and abstract features for features at higher levels. {Example: nose height, eyebrow shape, eye shape, mouth tail}

이런 추상화 학습과정을 통해 심층 신경망이 고차원의 데이터를 이해하며, 이 과정에는 수 억, 수 십억 개의 계수가 관여하게 된다. (이 과정에서 비선형함수가 사용된다.)Through this abstract learning process, deep neural networks understand high-dimensional data, and hundreds of millions and billions of coefficients are involved in this process. (A nonlinear function is used in this process.)

또한, 심층 신경망은 데이터를 이용해 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 즉, 얼굴 데이터의 윤곽, 코 높이, 눈매, 입술형상, 눈썹 형상, 이마 형상 등 잠재적인 구조를 파악할 수 있다. 이를 통해 데이터가 라벨링되어 있지 않아도 데이터간의 유사성을 효과적으로 파악할 수 있으며, 결과적으로 심층 신경망은 얼굴 데이터의 군집화에 효과적이다.In addition, deep neural networks can use the data to understand the potential structures of the data. In other words, potential structures such as contours of face data, nose height, eye shape, lip shape, eyebrow shape, and forehead shape can be identified. Through this, even if the data is not labeled, the similarity between data can be effectively grasped, and as a result, deep neural networks are effective in clustering face data.

예를 들어, 신경망을 이용해 대량의 얼굴 데이터를 입력받아 비슷한 얼굴 데이터끼리 모아서 분류할 수 있다.For example, a large amount of face data can be input using a neural network, and similar face data can be collected and classified.

심층 신경망의 마지막 층은 출력층이다. 출력층의 활성 함수는 로지스틱(logistic) 혹은 소프트 맥스(softmax)인 경우가 대부분이며 출력층에서는 최종적으로 특정 라벨의 확률을 구할 수 있다. 예를 들어 얼굴 데이터를 입력하였을 때 얼굴 윤곽이 상하로 긴지, 좌우로 긴지, 코의 높낮이, 눈꼬리의 처짐 등을 각각의 확률로 구할 수 있다.The final layer of the deep neural network is the output layer. In most cases, the activation function of the output layer is logistic or softmax. In the output layer, the probability of a specific label can be finally obtained. For example, when face data is input, whether the contour of the face is long vertically, horizontally, the height of the nose, and the sagging of the tail of the eye can be obtained with each probability.

이러한 방식에 의하여 그리고 얼굴 데이터를 반복적으로 입력하여 학습을 진행한다. 만일 학습이 원활하게 진행되었다면 계수는 적절한 값으로 업데이트 되어 있을 것이고, 이 인공 신경망으로 각종 분류와 예측이 가능하다.In this way and by repeatedly inputting face data, learning is performed. If the learning proceeds smoothly, the coefficients will be updated to appropriate values, and various classifications and predictions are possible with this artificial neural network.

학습 과정 내부에선 이러한 계수의 업데이트 과정이 반복적으로 일어난다.Within the learning process, the process of updating these coefficients occurs repeatedly.

이러한 업데이트 과정을 통하여 인공 신경망은 입력된 얼굴 데이터들을 분류함으로써 성별, 나이, 감정상태에 따라 유사한 얼굴 데이터들을 군집화할 수 있다. 그리고, 군집화된 얼굴 데이터는 데이터 베이스(13)에 등록된다.Through such an update process, the artificial neural network classifies the input face data, thereby clustering similar face data according to gender, age, and emotional state. Then, the clustered face data is registered in the database 13.

한편, 본 발명의 다른 실시예로서, 신속 인식단계(S70)가 진행될 수 있다. 즉, 신속 인식단계(S70)는 추출부(6)에서 추출된 얼굴 이미지에 대한 인식시간을 단축하기 위하여 얼굴 이미지의 일부만 검출한 후, 특정 얼굴이 매칭되지 않는 경우 나머지 검출하지 않은 얼굴 이미지를 추가로 검출하여 인식과정을 신속하게 진행한다.On the other hand, as another embodiment of the present invention, a quick recognition step (S70) may be performed. That is, in the quick recognition step (S70), in order to shorten the recognition time for the face image extracted by the extraction unit 6, only a part of the face image is detected, and if a specific face is not matched, the remaining undetected face images are added. It is detected by and quickly progresses the recognition process.

즉, 제어부(9)에서 신속모드로 설정된 경우, 얼굴을 복수개의 영역으로 구분하여 단수개의 영역부터 순차적으로 특징을 검출하여 매칭하되, 특정 얼굴이 매칭되지 않는 경우에는 대칭적으로 배치된 영역을 제외한 다른 영역의 특징을 검출하여 매칭되는 얼굴 데이터를 비교함으로써 얼굴 인식을 신속하게 실시할 수 있다.That is, when the control unit 9 is set to the fast mode, the face is divided into a plurality of areas, and features are sequentially detected and matched from a single area, but when a specific face is not matched, the symmetrically arranged area is excluded. Face recognition can be quickly performed by detecting features of different regions and comparing matching face data.

이러한 신속 인식단계(S70)는, 도 11에 도시된 바와 같이, 제어부(9)에 의하여 일반모드를 신속모드로 변경 설정하는 제 1단계(S100)와; 얼굴 분할모듈(20)에 의하여 얼굴을 복수개의 짝수 영역으로 분할하는 제 2단계(S110)와; 얼굴 특징 검출부(10)에 의하여 단수개의 영역부터 순차적으로 얼굴 특징을 1차적으로 검출하는 제 3단계(S120)와; 매칭되지 않는 경우 대칭적으로 배치되지 않은 영역의 특징을 2차적으로 검출하는 제 4단계(S130)와; 제 4단계(S130)에서 매칭되지 않았을 경우 3차적으로 얼굴 전체의 특징을 검출하여 매칭하는 제 5단계(S140)를 포함한다.The rapid recognition step (S70) includes a first step (S100) of changing and setting the normal mode to a fast mode by the control unit 9, as shown in FIG. 11; A second step (S110) of dividing the face into a plurality of even areas by the face division module 20; A third step (S120) of primarily detecting facial features sequentially from a singular number of areas by the facial feature detection unit 10; A fourth step (S130) of secondaryly detecting features of regions that are not symmetrically arranged if they do not match; If not matched in the fourth step (S130), a fifth step (S140) of thirdly detecting and matching features of the entire face is included.

보다 상세하게 설명하면, 제 1단계(S100)에서는 사용자가 얼굴 인식을 신속하게 진행할 필요가 있을 경우, 제어부(9)의 모드를 일반모드에서 신속모드로 전환함으로써 얼굴 인식을 신속하게 진행할 수 있다. In more detail, in the first step (S100), if the user needs to quickly perform face recognition, the mode of the control unit 9 can be quickly performed by changing the mode of the controller 9 from the normal mode to the fast mode.

제 2단계(S110)에서는 얼굴 분할모듈(20)에 의하여 얼굴을 복수개의 영역으로 분할한다. 즉, 얼굴의 코를 중심으로 가로 및 세로선을 형성하여 복수개의 영역, 예를 들면 대칭 가능한 짝수개의 영역인 4구역으로 분할하고, 좌상단 영역에서 시계방향으로 제 1, 제2, 제3, 제4영역으로 설정한다.In the second step (S110), the face is divided into a plurality of regions by the face segmentation module 20. That is, horizontal and vertical lines are formed around the nose of the face and divided into a plurality of areas, for example, 4 areas, which are even numbers of symmetrical areas, and the first, second, third, and fourth areas are clockwise from the upper left area. Set to the area.

제 3단계(S120)에서는 얼굴 특징 검출부(10)에 의하여 단수개의 영역부터 순차적으로 얼굴 특징을 1차적으로 검출한다. 즉, 제 1영역인 좌측 눈 부위의 특징을 먼저 검출한다. 그리고, 데이터베이스(13)에서 해당 영역과 매칭되는 부분이 있는지를 연산한다.In the third step (S120), the facial feature detection unit 10 primarily detects facial features sequentially from a singular number of areas. That is, the feature of the left eye region, which is the first region, is first detected. Then, it is calculated whether there is a part in the database 13 that matches the corresponding area.

만약 매칭되는 부분이 없으면 제 4단계(S130)로서, 제 4영역, 즉 좌측 눈 부위의 바로 아래 영역의 특징을 검출하여 매칭되는 얼굴 이미지를 검색한다. If there is no matched part, as a fourth step (S130), a feature of a fourth region, that is, a region immediately below the left eye region is detected to search for a matched face image.

즉, 제 1영역과 대칭되는 제 2영역은 미러(Mirror) 기법에 의하여 특징을 처리할 수 있음으로 대칭되지 않는 제 4영역의 특징을 검출하는 것이 바람직하다.That is, since features of the second area symmetrical with the first area can be processed using a mirror technique, it is preferable to detect the features of the fourth area that are not symmetrical.

그리고, 제 4영역에서도 검출되지 않는 경우에는 제 5단계(S140)로서 얼굴 전체 영역에 대한 검출을 실시한다.In addition, if it is not detected even in the fourth region, the entire face region is detected as a fifth step (S140).

이와 같이, 얼굴을 복수개의 영역으로 구분하여 단수개의 영역부터 순차적으로 특징을 검출하여 매칭하되, 특정 얼굴이 매칭되지 않는 경우에는 대칭적으로 배치된 영역을 제외한 다른 영역의 특징을 검출하여 매칭되는 얼굴 데이터를 비교함으로써 얼굴 인식을 신속하게 실시할 수 있다.In this way, a face is divided into a plurality of areas, and features are sequentially detected and matched from a single area, but when a specific face is not matched, a matched face is detected by detecting features of other areas except the symmetrically arranged areas. By comparing the data, face recognition can be performed quickly.

그리고, 제 3단계(S120)에서, 이러한 제 1 내지 제 4영역에 대한 특징점 검출을 실시하기 전에, 얼굴의 특이 형상에 대한 특징을 먼저 실시하는 단계를 추가함으로써 인식 시간을 신속하게 단축할 수도 있다. 예를 들면, 얼굴의 일정 부분에 큰 점 혹은 흉터, 안면 비대칭 등의 특징이 있어서 얼굴 판별부(15)에 의하여 쉽게 검출할 수 있는 경우, 이러한 특징점을 우선적으로 처리함으로써 인식 시간을 단축할 수 있다.In addition, in the third step (S120), prior to the detection of the feature points for the first to fourth regions, the recognition time may be quickly shortened by adding a step of first performing a feature on the peculiar shape of the face. . For example, if a certain part of the face has features such as large dots or scars, facial asymmetry, etc., and can be easily detected by the face discrimination unit 15, the recognition time can be shortened by processing these feature points with priority. .

이와 같이 얼굴을 인식하는 단계가 완료되면, 광고 관리부(3)에 의하여 광고 컨텐츠를 수집하고 군집화된 고객의 얼굴에 따라 적합한 광고를 인출하여 표시하는 맞춤형 광고단계(S50)가 진행된다.When the step of recognizing faces is completed as described above, a customized advertisement step (S50) of collecting advertisement contents by the advertisement management unit 3 and drawing and displaying suitable advertisements according to the clustered customer's faces is performed.

보다 상세하게 설명하면,In more detail,

먼저 수집모듈(30)이 온라인 혹은 오프라인상에서 다양한 광고 컨텐츠를 수집하고 저장한다. 이때, 온라인상에서 광고 컨텐츠를 수집하는 방식은 다양하며, 예를 들면 크롤러(Crawler)를 이용하거나 스크래핑(Scraping)을 이용하여 광고 컨텐츠를 검색할 수 있다.First, the collection module 30 collects and stores various advertisement contents online or offline. At this time, there are various methods of collecting advertisement contents online, and advertisement contents may be searched using, for example, a crawler or scraping.

광고 컨텐츠가 수집되면, 분류모듈(32)이 수집된 광고 컨텐츠를 특징에 따라 분류한다. 예를 들면, 건강관련 광고, 스포츠 관련, 헬스 관련, 재테크 관련 광고 등으로 분류한다.When advertisement contents are collected, the classification module 32 classifies the collected advertisement contents according to characteristics. For example, it is classified into health-related advertisements, sports-related advertisements, health-related advertisements, and financial-related advertisements.

그리고, 탐색모듈(34)은 얼굴 특징 검출부(10)에 의하여 검출된 얼굴 특징에 대응되는 광고 컨텐츠를 선택하기 위한 경로를 탐색한다.Further, the search module 34 searches for a path for selecting an advertisement content corresponding to the facial feature detected by the facial feature detection unit 10.

경로가 탐색되면 추천모듈(36)은 경로가 탐색된 광고 컨텐츠를 분류된 얼굴 유형에 따라 데이터 베이스에서 광고 컨텐츠를 인출하여 추천한다. 예를 들면, 나이에 따라 적합한 광고 컨텐츠를 인출하는 바, 나이가 적은 어린층의 경우, 아동용 광고 컨텐츠를 인출하고, 노년층의 경우 건강 관련 컨텐츠를 인출하는 방식이다.When the path is searched, the recommendation module 36 recommends the advertisement content for which the path is searched by extracting the advertisement content from the database according to the classified face type. For example, advertisement content appropriate for age is retrieved. In the case of younger people, advertisement content for children is retrieved, and health-related content is retrieved for the elderly.

또한, 청년층의 경우 헬스 관련 광고 컨테츠를 인출하거나, 장년층의 경우 재테크 관련 컨텐츠를 인출하게 된다.In addition, in the case of young people, advertising content related to health is withdrawn, and in the case of the elderly, financial related content is withdrawn.

그리고, 성별에 따라서도 광고 컨텐츠를 인출할 수 있는 바, 남성의 경우는 스포츠 관련 컨텐츠를 인출하고, 여성의 경우는 화장품 관련 컨텐츠를 인출하는 방식이다.In addition, advertisement content can be retrieved according to gender. For men, sports-related content is retrieved, and for females, cosmetic-related content can be retrieved.

또한, 감정에 따라서 광고 컨텐츠를 인출할 수 있는 바, 기쁨상태인 경우에는 여행 컨텐츠를 인출하고, 슬픔인 경우에는 주류 관련 컨텐츠를 인출하며, 성냄상태인 경우에는 여성 관련 광고 컨텐츠를 인출하고, 우울상태인 경우에는 밝은 컨텐츠를 인출하게 된다.In addition, advertising content can be withdrawn according to emotions. In the case of joy, travel content is withdrawn, in case of sadness, alcohol-related content is withdrawn, and in case of anger, female-related advertising content is withdrawn, In the case of status, bright content is fetched.

이와 같이 추천모듈(36)은 인식된 얼굴 데이터에 따라 적절한 광고 컨텐츠를 선택하여 인출하게 된다.In this way, the recommendation module 36 selects and retrieves appropriate advertisement content according to the recognized face data.

그리고, 표시모듈(38)은 추천된 광고 컨텐츠를 광고 표시창에 표시함으로써 광고를 진행할 수 있다. In addition, the display module 38 may perform advertisement by displaying the recommended advertisement content on the advertisement display window.

이때, 광고 표시창(32)은 다양한 방식의 광고 표시창(32)을 포함하며, 예를 들면 엘시디(LCD), 엘이디(LED) 등이 가능하다.At this time, the advertisement display window 32 includes the advertisement display window 32 of various types, for example, an LCD, an LED, and the like.

Claims (10)

상점 내의 고객 또는 상점 밖의 보행자들을 촬영한 동영상으로부터 얼굴을 인식하는 얼굴 인식부(2)와, 광고 컨텐츠를 수집하고 인식된 얼굴에 따라 맞춤형 광고를 인출하여 표시하는 광고 관리부(3)를 포함하는 얼굴 인식 기반의 광고 제공 시스템으로서,
얼굴 인식부(2)는, 상점 내의 고객 또는 상점 밖의 보행자들을 촬영하여 동영상을 획득하는 영상 촬영부(4)와;
획득된 동영상을 분석하여 하나 이상의 얼굴 데이터를 추출하고, 백터화하여 함수처리하고, 얼굴 특징점을 검출하여 얼굴을 인식하는 데이터 처리부(5)를 포함하며,
데이터 처리부(5)는,
영상 촬영부(4)를 통해 실시간 입력되는 영상을 분석하여, 하나 이상의 얼굴 데이터를 동시에 추출하고, 추출된 하나 이상의 얼굴 데이터를 백터화하여 함수처리하는 추출부(6)와;
추출부(6)에서 처리된 얼굴 데이터에서 반사광, 화각, Dust 및 노이즈 제거를 진행함으로써 후처리를 하는 전처리부(7)와;
전처리부(7)에서 처리된 얼굴 데이터의 유사도를 판단함으로써 정의된 특징점 파라미터에 의하여 하나 이상의 얼굴 특징점을 동시에 분석하고 검출하는 특징 검출부(10)와;
특징 검출부(10)에서 검출된 하나 이상의 얼굴 이미지를 학습된 데이터베이스(13)에 등록하거나 또는 기존에 등록된 얼굴 특징점과 비교 분석하여 얼굴을 인식하는 얼굴 판별부(15)와;
인식된 결과를 출력하는 출력부(11)와; 그리고
추출부(6)와, 전처리부(7)와, 특징 검출부(10)와, 얼굴 판별부(15)와, 출력부(11)를 제어하여 안면 인식을 진행하는 제어부(9)를 포함하며,
추출부(6)는, 실시간으로 입력되는 영상에서 얼굴 영역을 다수개의 사각형 또는 타원형의 모양으로 구획하고, 추출된 얼굴영역에서 P점(Peak Point)을 추출하고, 이 P점을 중심으로 눈,코,입,귀를 인식하는 바, P점이 코너점인지 여부를 판단할 때, P점을 중심으로 소정 픽셀 반지름인 가상의 원을 형성하고, 이 원에 접하는 픽셀값에 의하여 판단하는 바,
P점 보다 일정값 이상 밝은(>p+t) 픽셀들이 n개 이상 연속되어 있거나 또는 일정값 이상 어두운 (<p-t) 픽셀들이 n개 이상 연속되어 있으면 p를 코너점으로 판단하며,
P가 꼭지점인지 여부를 판단하기 위해 결정트리(decision tree) 방식에 의하여 판단하는 바,
픽셀의 밝기값을 P보다 훨씬 밝은 경우, P보다 훨씬 어두운 경우, P와 유사한 경우의 3가지 값으로 분류하고, 원주 상의 픽셀들의 밝기분포를 16차원의 터네리 백터(ternary)로 표현한 후, 이 백터를 결정트리에 입력하여 P점 여부를 판단하고,
비 최대 억제(non-maximal suppression) 방법을 이용하여 처리함으로써 꼭지점을 인식하며,
결정트리에 의하여 P를 결정하는 방식은 꼭지점 여부를 온(On)/오프(Off) 방식으로 결정하게 되므로, 아래의 식에 의하여 함수를 적용하며,
비 최대 억제법에 의하여 P점을 산출할 때, 결정트리를 통해 검출된 각각의, 코너점들을 식(1)에 입력하여 V를 연산한 후, 인접한 코너점들 중 해당 P점보다 높은 V값을 갖는 코너점을 순차적으로 제거하는 방식으로 코너성이 극대인 점들을 파악하는 얼굴인식에 의한 광고 제공 시스템(1).
Figure 112020123191519-pat00018
------식 1
{V: 스코어 함수, x: 픽셀값, P: 코너점}
A face including a face recognition unit (2) that recognizes a face from a video shot of customers in a store or pedestrians outside the store, and an advertisement management unit (3) that collects advertisement contents and draws and displays customized advertisements according to the recognized faces. As a recognition-based advertisement providing system,
The face recognition unit 2 includes an image capturing unit 4 for obtaining a video by photographing customers in the store or pedestrians outside the store;
It includes a data processing unit 5 that analyzes the acquired video to extract one or more face data, converts it into a vector, performs function processing, and detects facial feature points to recognize a face,
The data processing unit 5,
An extracting unit 6 which analyzes an image input in real time through the image capturing unit 4, extracts one or more face data at the same time, and converts the extracted one or more face data into a vector for functional processing;
A preprocessor 7 for post-processing by removing reflected light, angle of view, dust and noise from the face data processed by the extraction unit 6;
A feature detection unit 10 that simultaneously analyzes and detects one or more facial feature points according to the defined feature point parameters by determining the similarity of the face data processed by the pre-processing unit 7;
A face determination unit 15 that registers one or more face images detected by the feature detection unit 10 in the learned database 13 or compares and analyzes previously registered facial feature points to recognize a face;
An output unit 11 for outputting the recognized result; And
An extraction unit 6, a pre-processing unit 7, a feature detection unit 10, a face discrimination unit 15, and a control unit 9 that controls the output unit 11 to perform facial recognition,
The extraction unit 6 divides the face area into a plurality of squares or ovals from the image input in real time, extracts a P point (Peak Point) from the extracted face area, and focuses on the P point. The nose, mouth, and ears are recognized, and when determining whether the point P is a corner point, a virtual circle with a predetermined pixel radius is formed around the point P, and the value is determined by the pixel value in contact with the circle.
If there are n or more consecutive (>p+t) pixels brighter than point P (>p+t) or n or more dark (<pt) pixels darker than a certain value, p is determined as a corner point,
To determine whether P is a vertex, it is determined by a decision tree method,
The brightness value of a pixel is classified into three values: a case much brighter than P, a case much darker than P, and a case similar to P. After expressing the brightness distribution of pixels on the circumference as a 16-dimensional ternary, this Enter the vector into the decision tree to determine whether the point P is,
The vertex is recognized by processing using a non-maximal suppression method,
In the method of determining P by the decision tree, since the vertex is determined in an On/Off method, a function is applied according to the following equation,
When calculating the point P by the non-maximum suppression method, input each corner point detected through the decision tree into Equation (1) to calculate V, and then a V value higher than the corresponding point P among adjacent corner points. An advertisement providing system (1) by face recognition that grasps points with the greatest cornerity in a manner that sequentially removes corner points having a.
Figure 112020123191519-pat00018
------Equation 1
{V: score function, x: pixel value, P: corner point}
제 1항에 있어서,
추출부(6)는, 얼굴을 다수개의 영역으로 분할하는 얼굴 분할모듈(20)과; 픽셀의 형상을 인식하는 로컬 형상분석모듈(Local feature analysis;22)과; 픽셀의 밝기에 대한 벡터를 연산하는 백터 연산모듈(Vector feature analysis;24)과; 얼굴의 표면에 대한 질감을 분석하는 모듈(Surface texture analysis;26)을 포함하는 얼굴인식에 의한 광고 제공 시스템(1).
The method of claim 1,
The extraction unit 6 includes a face segmentation module 20 that divides a face into a plurality of regions; A local feature analysis module (22) for recognizing a shape of a pixel; A vector operation module (Vector feature analysis; 24) that calculates a vector for the brightness of a pixel; An advertisement providing system (1) by face recognition including a module (Surface texture analysis; 26) for analyzing the texture of the face of the face.
삭제delete 삭제delete 삭제delete 제 1항에 있어서,
광고 관리부(3)는 광고 컨텐츠를 수집하고 저장하는 수집모듈(30)과; 수집된 광고 컨텐츠를 분류하는 분류모듈(32)과; 검출된 얼굴 특징에 대응되는 광고 컨텐츠를 선택하기 위한 경로를 탐색하는 탐색모듈(34)과; 탐색된 광고 컨텐츠를 인공지능에 의하여 추천하는 추천모듈(36)과; 추천된 광고 컨텐츠를 표시하는 표시모듈(38)과; 사용자 정보를 관리하는 관리모듈(40)을 포함하는 얼굴인식에 의한 광고 제공 시스템(1).
The method of claim 1,
The advertisement management unit 3 includes a collection module 30 for collecting and storing advertisement contents; A classification module 32 for classifying the collected advertisement content; A search module 34 for searching a path for selecting advertisement content corresponding to the detected facial feature; A recommendation module 36 for recommending the searched advertisement content by artificial intelligence; A display module 38 for displaying the recommended advertisement content; Advertisement providing system (1) by face recognition including a management module (40) for managing user information.
제 1항에 있어서,
제어부(9)는 일반모드를 신속모드로 변경 설정하여 얼굴 인식을 실시할 수 있는 바, 얼굴 분할모듈(20)에 의하여 얼굴을 복수개의 짝수 영역으로 분할하고, 얼굴 특징 검출부(10)에 의하여 단수개의 영역부터 순차적으로 얼굴 특징을 1차적으로 검출하고, 매칭되지 않는 경우 대칭적으로 배치되지 않은 영역의 특징을 2차적으로 검출하며, 매칭되지 않았을 경우 3차적으로 얼굴 전체의 특징을 검출하여 매칭하는 얼굴인식에 의한 광고 제공 시스템(1).
The method of claim 1,
The control unit 9 can perform face recognition by changing the normal mode to the quick mode, and the face division module 20 divides the face into a plurality of even areas, and the face feature detection unit 10 First, facial features are detected sequentially from four areas, and if not matched, features of areas that are not symmetrically arranged are secondarily detected, and if not matched, features of the entire face are thirdly detected and matched. Advertisement provision system by face recognition (1).
제 7항에 있어서,
제어부(9)는 제 1 내지 제 4영역에 대한 특징점 검출을 실시하기 전에, 얼굴의 특이 형상에 대한 특징을 먼저 실시함으로써 인식 시간을 단축할 수 있는 얼굴인식에 의한 광고 제공 시스템(1).
The method of claim 7,
The control unit 9 is a system (1) for providing advertisements based on face recognition capable of shortening the recognition time by first performing a feature on a peculiar shape of the face before detecting the feature points for the first to fourth regions.
삭제delete 삭제delete
KR1020200072282A 2020-06-15 2020-06-15 Advertising systems that are provided through contents analytics and recommendation based on artificial intelligence facial recognition technology KR102191044B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200072282A KR102191044B1 (en) 2020-06-15 2020-06-15 Advertising systems that are provided through contents analytics and recommendation based on artificial intelligence facial recognition technology

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200072282A KR102191044B1 (en) 2020-06-15 2020-06-15 Advertising systems that are provided through contents analytics and recommendation based on artificial intelligence facial recognition technology

Publications (1)

Publication Number Publication Date
KR102191044B1 true KR102191044B1 (en) 2020-12-14

Family

ID=73779823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200072282A KR102191044B1 (en) 2020-06-15 2020-06-15 Advertising systems that are provided through contents analytics and recommendation based on artificial intelligence facial recognition technology

Country Status (1)

Country Link
KR (1) KR102191044B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102295776B1 (en) 2021-03-18 2021-08-31 주식회사 스누아이랩 Apparatus for Providing Advertisement Service and Driving Method Thereof
KR102322310B1 (en) * 2020-12-04 2021-11-08 이경세 Advertisement Apparatus based on Visitor at Store and Method thereof
KR102382219B1 (en) * 2021-05-10 2022-04-05 넥스터 주식회사 The settlement method and system of expressing FOD on the road for artificial intelligence autonomous driving and the information usage charge by inferring the information value according to the risk of each abnormal object

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090083643A (en) 2008-01-30 2009-08-04 에스케이 텔레콤주식회사 Method, system and apparatus for providing advertisement service by using private broadcasting
KR20120020006A (en) * 2010-08-27 2012-03-07 엘지전자 주식회사 Method for displaying graphical user interface and portable terminal thereof
KR20120139251A (en) * 2011-06-17 2012-12-27 한국항공대학교산학협력단 Smart digital signage using customer recognition technologies and advertisment method using the same
KR101314293B1 (en) * 2012-08-27 2013-10-02 재단법인대구경북과학기술원 Face recognition system robust to illumination change
KR20130136557A (en) * 2011-04-11 2013-12-12 인텔 코오퍼레이션 Personalized advertisement selection system and method
KR20180037419A (en) * 2016-10-04 2018-04-12 재단법인대구경북과학기술원 Apparatus for age and gender estimation using region-sift and discriminant svm classifier and method thereof
KR102097781B1 (en) * 2013-09-06 2020-05-29 에스케이 텔레콤주식회사 Apparatus and Method for Providing Object Information

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090083643A (en) 2008-01-30 2009-08-04 에스케이 텔레콤주식회사 Method, system and apparatus for providing advertisement service by using private broadcasting
KR20120020006A (en) * 2010-08-27 2012-03-07 엘지전자 주식회사 Method for displaying graphical user interface and portable terminal thereof
KR20130136557A (en) * 2011-04-11 2013-12-12 인텔 코오퍼레이션 Personalized advertisement selection system and method
KR20120139251A (en) * 2011-06-17 2012-12-27 한국항공대학교산학협력단 Smart digital signage using customer recognition technologies and advertisment method using the same
KR101314293B1 (en) * 2012-08-27 2013-10-02 재단법인대구경북과학기술원 Face recognition system robust to illumination change
KR102097781B1 (en) * 2013-09-06 2020-05-29 에스케이 텔레콤주식회사 Apparatus and Method for Providing Object Information
KR20180037419A (en) * 2016-10-04 2018-04-12 재단법인대구경북과학기술원 Apparatus for age and gender estimation using region-sift and discriminant svm classifier and method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102322310B1 (en) * 2020-12-04 2021-11-08 이경세 Advertisement Apparatus based on Visitor at Store and Method thereof
KR102295776B1 (en) 2021-03-18 2021-08-31 주식회사 스누아이랩 Apparatus for Providing Advertisement Service and Driving Method Thereof
KR102382219B1 (en) * 2021-05-10 2022-04-05 넥스터 주식회사 The settlement method and system of expressing FOD on the road for artificial intelligence autonomous driving and the information usage charge by inferring the information value according to the risk of each abnormal object

Similar Documents

Publication Publication Date Title
US11393133B2 (en) Emoji manipulation using machine learning
KR102191044B1 (en) Advertising systems that are provided through contents analytics and recommendation based on artificial intelligence facial recognition technology
US20170330029A1 (en) Computer based convolutional processing for image analysis
US10019653B2 (en) Method and system for predicting personality traits, capabilities and suggested interactions from images of a person
US10540678B2 (en) Data processing methods for predictions of media content performance
US20190172458A1 (en) Speech analysis for cross-language mental state identification
EP3267368A1 (en) Machine learning image processing
JP6267861B2 (en) Usage measurement techniques and systems for interactive advertising
CN112560810B (en) Micro-expression recognition method based on multi-scale space-time characteristic neural network
AU2016266493A1 (en) Method and system for facial recognition
US11580648B2 (en) System and method for visually tracking persons and imputing demographic and sentiment data
KR20040036730A (en) Method and apparatus for assessing interest in a displayed product
US11430561B2 (en) Remote computing analysis for cognitive state data metrics
CN111143615B (en) Short video emotion classification recognition device
KR102189405B1 (en) System for recognizing face in real-time video
CN107146096A (en) A kind of intelligent video advertisement methods of exhibiting and device
TWM558943U (en) Intelligent image information and big data analysis system using deep-learning technology
Farinella et al. Face re-identification for digital signage applications
Micu et al. Assessing an on-site customer profiling and hyper-personalization system prototype based on a deep learning approach
KR102261336B1 (en) Service systems for advertisement contents and revenue sharing that can match advertisement contents by facial recognition based on artificial intelligence technologies
TWI647626B (en) Intelligent image information and big data analysis system and method using deep learning technology
US20140365310A1 (en) Presentation of materials based on low level feature analysis
Priadana et al. An efficient face gender detector on a cpu with multi-perspective convolution
CN113591550B (en) Method, device, equipment and medium for constructing personal preference automatic detection model
Wharton et al. A vision-based transfer learning approach for recognizing behavioral symptoms in people with dementia

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant