KR20220168814A - Privacy protection and evaluation of redetection system using deep learning inference based on query and method thereof - Google Patents

Privacy protection and evaluation of redetection system using deep learning inference based on query and method thereof Download PDF

Info

Publication number
KR20220168814A
KR20220168814A KR1020210078772A KR20210078772A KR20220168814A KR 20220168814 A KR20220168814 A KR 20220168814A KR 1020210078772 A KR1020210078772 A KR 1020210078772A KR 20210078772 A KR20210078772 A KR 20210078772A KR 20220168814 A KR20220168814 A KR 20220168814A
Authority
KR
South Korea
Prior art keywords
image
identification
learning
privacy protection
query
Prior art date
Application number
KR1020210078772A
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 KR1020210078772A priority Critical patent/KR20220168814A/en
Publication of KR20220168814A publication Critical patent/KR20220168814A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/003Deblurring; Sharpening
    • G06T5/004Unsharp masking
    • G06T5/75
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4318Generation of visual interfaces for content selection or interaction; Content or additional data rendering by altering the content in the rendering process, e.g. blanking, blurring or masking an image region

Abstract

The present invention relates to a system for privacy protection and redetection evaluation using a query-based deep learning inference system and a method thereof and, more specifically, to a system for privacy protection and redetection evaluation and a method thereof, which can use a query-based deep learning inference system capable of learning data stored in an information database in a deep learning manner by a request query of a user to infer data corresponding to the query by connecting a deep learning framework to the information database in a plug-in form to provide even a user without expert knowledge on deep learning with required information without difficulty to detect or mask an object to be protected such as a vehicle license plate or the face of a person in an image or a video to protect privacy, reconstruct a specific object to be identified in the masked image, and evaluate how well the object to be identified is detected in the masked image.

Description

쿼리 기반 딥러닝 추론을 이용한 사생활 보호 및 재검출 평가 시스템 및 그 방법{PRIVACY PROTECTION AND EVALUATION OF REDETECTION SYSTEM USING DEEP LEARNING INFERENCE BASED ON QUERY AND METHOD THEREOF}PRIVACY PROTECTION AND EVALUATION OF REDETECTION SYSTEM USING DEEP LEARNING INFERENCE BASED ON QUERY AND METHOD THEREOF}

본 발명은 쿼리 기반 딥러닝 추론 시스템을 이용하여, 안면 검출 및 사생활 보호하고, 사생활 보호된 이미지의 식별 대상 감지 정도의 재검출 평가 시스템 및 그 방법에 관한 것으로서, 더욱 자세하게는 딥러닝에 관한 전문적 지식이 없는 사용자라도 어려움 없이 사용자에게 필요한 정보를 제공할 수 있도록 딥러닝 프레임워크가 정보 데이터베이스에 플러그인 형태로 연결되어, 사용자의 요청 쿼리에 의해 정보 데이터베이스에 저장된 데이터를 딥러닝 방식으로 학습하여 쿼리에 대응하는 데이터를 추론할 수 있도록 하는 쿼리 기반 딥러닝 추론 시스템을 이용하여, 이미지나 동영상의 사람의 안면이나 자동차 번호판 등의 보호 대상을 검출하거나 마스킹 처리하여 사생활을 보호하고, 마스킹된 이미지에서 특정 식별 대상을 복원하며, 마스킹된 이미지에서 식별 대상을 어느 정도로 잘 감지하는지 평가할 수 있는 쿼리 기반 딥러닝 추론을 이용한 사생활 보호 및 재검출 평가 시스템 및 그 방법에 관한 것이다.The present invention relates to a system and method for detecting a face and protecting privacy using a query-based deep learning inference system, and re-detection evaluation of the degree of detection of an identified object in a privacy-protected image, and more specifically, expertise in deep learning. The deep learning framework is connected to the information database in the form of a plug-in so that even users without knowledge can provide the necessary information to the user without difficulty. Using a query-based deep learning inference system that enables inferring data to be protected, privacy is protected by detecting or masking protected objects such as a person's face or license plate in an image or video, and a specific identified target in the masked image It relates to a privacy protection and re-detection evaluation system and method using query-based deep learning inference that can restore and evaluate how well an identification object is detected in a masked image.

블랙 박스, CCTV, 네트워크 카메라 등은 무작위로 대상을 촬영한다. 촬영된 산출물은 법원이나 보도 등 다양하게 사용될 수 있는데, 일반 공중에 공개하기 전에 사람의 얼굴이나 자동차 번호판 등 사생활 보호 대상이 알려져서는 않된다.Black boxes, CCTVs, network cameras, etc. randomly shoot the subject. Filmed products can be used in a variety of ways, such as in courts or reports, but the subject of privacy protection, such as a person's face or car license plate, must not be known before being released to the general public.

사생활을 보호하기 위한 보호 대상 검출은 기계 학습이나 딥러닝 기술이 이용될 수 있다. 딥러닝을 이용한 학습엔진은 기존의 다른 AI 기술에 기반을 둔 학습엔진보다 월등히 뛰어난 지능 성능을 보이고 있다.Detection of protected objects to protect privacy may use machine learning or deep learning technology. Learning engines using deep learning show significantly superior intelligence performance compared to learning engines based on other existing AI technologies.

그러나, 딥러닝 기술 기반의 지능을 제공하는 학습엔진을 생성하기 위해서는 딥 네트워크 설계, 학습 함수 설정, 파라미터 튜닝 등 여러 가지 어려운 난관이 있다. 이러한 문제들은 딥러닝 전문가가 아니면 쉽게 할 수 없어, 누구나 쉽게 딥러닝 기반 학습엔진을 갖기 어렵다.However, in order to create a learning engine that provides intelligence based on deep learning technology, there are various difficulties such as deep network design, learning function setting, and parameter tuning. These problems cannot be easily solved unless you are a deep learning expert, so it is difficult for anyone to easily have a deep learning-based learning engine.

또한 학습엔진을 생성할 때마다, 딥러닝의 공통적인 요소를 중복 사용하게 되어, 동일한 과정을 반복 수행해야 하는 문제가 있다.In addition, whenever a learning engine is created, common elements of deep learning are used repeatedly, and the same process must be repeated.

또한, 사생활 보호를 위해 마스킹된 이미지에서 식별 대상을 다시 검출하거나, 특정 식별 대상을 신속하게 복원할 필요가 있다.In addition, it is necessary to detect an identification object again in an image masked for privacy protection or to quickly restore a specific identification object.

KRKR 10-205812410-2058124 B1B1

전술한 문제점을 해결하기 위한 본 발명의 목적은, 딥러닝에 관한 전문적 지식이 없는 사용자라도 어려움 없이 사용자에게 필요한 정보를 제공할 수 있도록 딥러닝 프레임워크가 정보 데이터베이스에 플러그인 형태로 연결되어, 사용자의 요청 쿼리에 의해 정보 데이터베이스에 저장된 데이터를 딥러닝 방식으로 학습하여 쿼리에 대응하는 데이터를 추론할 수 있도록 하는 쿼리 기반 딥러닝 추론 시스템을 이용하여, 이미지나 동영상으로부터 사생활 보호 대상을 검출하고, 이를 마스킹 처리를 하여 사생활을 보호하고, 마스킹된 이미지에서 특정 식별 대상을 복원하며, 마스킹 처리에 얼마나 식별 대상을 잘 감지하게 하는지의 평가 척도를 정의할 수 있는 쿼리 기반 딥러닝 추론을 이용한 사생활 보호 및 재검출 평가 시스템 및 그 방법을 제공하는데 있다.An object of the present invention for solving the above problems is that a deep learning framework is connected to an information database in the form of a plug-in so that even a user without professional knowledge about deep learning can provide necessary information to the user without difficulty, so that the user's Using a query-based deep learning inference system that enables data corresponding to a query to be inferred by learning data stored in an information database by a request query using a deep learning method, privacy protection objects are detected from images or videos and masked Privacy protection and re-detection using query-based deep learning inference that can protect privacy by processing, restore specific identification objects from masked images, and define evaluation scales of how well identification objects are detected in masking processing It is to provide an evaluation system and its method.

본 발명의 일실시예에 따른 사생활 보호 및 재검출 방법은 단말기(20) 및 데이터베이스 서버(이하, 'DB 서버(10)')와 연동하는 딥러닝 프레임워크의 쿼리 기반 딥러닝 추론 시스템을 이용한 사생활 보호 및 재검출 방법으로서, 상기 단말기(20)로부터 사생활 보호 기능의 추론 쿼리를 입력 받는 단계; 기학습된 사생활 보호 기능의 학습 모델 테이블을 선택하는 단계; 사생활 보호 대상이 기록된 식별 동영상(510)을 입력 받는 단계; 상기 식별 동영상(510)을 복수의 이미지로 디코딩하여 식별 이미지 데이터 셋 테이블(520)으로 변환하는 단계; 상기 사생활 보호 기능의 학습 모델 테이블의 네트워크 테이블을 상기 프레임워크부(300)에 적합한 사생활 보호용 모델 아키텍처로 구성하는 단계; 상기 사생활 보호 기능의 학습 모델 테이블의 학습 파라미터를 상기 사생활 보호용 모델 아키텍처에 할당하는 단계; 및 상기 프레임워크부(300)에서 상기 식별 이미지 데이터 셋 테이블(520)의 원본 이미지를 사생활 보호 대상이 식별되지 않도록 비식별 이미지로 변환하는 추론 단계;를 포함하고, 상기 추론 단계는, 원본 이미지에서 식별 대상 세트 중 제1 식별 대상을 인지하여, 상기 제1 식별 대상을 제1 식별 이미지 박스로 구역을 정의하는 단계; 및 상기 제1 식별 이미지 박스를 마스킹 처리하는 단계;를 구비할 수 있다.Privacy protection and re-detection method according to an embodiment of the present invention uses a query-based deep learning inference system of a deep learning framework that works with a terminal 20 and a database server (hereinafter referred to as 'DB server 10'). A protection and re-detection method comprising the steps of receiving an inference query for a privacy protection function from the terminal 20; selecting a learning model table of a pre-learned privacy protection function; Receiving an identification video 510 in which a subject for privacy protection is recorded; decoding the identification video 510 into a plurality of images and converting them into an identification image data set table 520; configuring a network table of the learning model table of the privacy protection function into a model architecture for privacy protection suitable for the framework unit 300; allocating a learning parameter of the learning model table of the privacy protection function to the privacy protection model architecture; and an inference step of converting an original image of the identification image data set table 520 in the framework unit 300 into a non-identification image so that the subject of privacy protection is not identified. Recognizing a first identification object from among a set of identification objects and defining a zone for the first identification object as a first identification image box; and masking the first identification image box.

또한, 상기 제1 식별 이미지 박스를 마스킹한 제1 마스킹 이미지 박스는 사생활 보호 대상으로 검출 시 검출 대상으로 감지되고, 검출 대상을 특정할 수 있는 특정 특성은 존재하지 않을 수 있다.In addition, the first masking image box masking the first identification image box is detected as a detection target upon detection as a privacy protection target, and a specific characteristic capable of specifying the detection target may not exist.

또한, 상기 마스킹 처리는 상기 제1 식별 이미지 박스 자체를 조작하는 모자이크 처리 및 상기 식별 이미지 박스와 무관한 이미지로 대체하는 대체 처리 중 적어도 어느 하나일 수 있다.Also, the masking process may be at least one of a mosaic process of manipulating the first identification image box itself and a replacement process of replacing the identification image box with an image unrelated to the identification image box.

또한, 상기 제1 마스킹 이미지 박스가 상기 대체 처리된 경우, 상기 제1 마스킹 이미지 박스는 상기 식별 대상으로 감지되도록 하는 이미지, 문자, 및 QR 코드 중 적어도 하나를 구비할 수 있다.In addition, when the replacement process is performed on the first masking image box, the first masking image box may include at least one of an image, a text, and a QR code to be detected as the identification target.

또한, 상기 제1 마스킹 이미지 박스는 상기 식별 대상과 동일한 대상 범주 및 상기 대상 범주 보다 하위 범주의 하위 범주 특성을 구비할 수 있다.In addition, the first masking image box may have the same object category as the identification object and a subcategory characteristic of a lower category than the object category.

또한, 상기 추론 단계는 상기 제1 식별 이미지 박스를 저장하는 단계를 더 포함하고, 상기 저장된 제1 식별 이미지 박스는 상기 제1 마스킹 이미지 박스와 매핑되어 있을 수 있다.In addition, the inference step may further include storing the first identification image box, and the stored first identification image box may be mapped with the first masking image box.

또한, 사용자로부터 상기 비식별 이미지에서 제2 마스킹 이미지 박스를 언마스킹할 대상으로 요청 받는 단계; 및 상기 제2 마스킹 이미지 박스를 상기 제2 마스킹 이미지 박스와 매칭되는 제2 식별 이미지 박스로 언마스킹하여, 상기 비식별 이미지를 복원 이미지로 복원하는 단계를 더 포함할 수 있다.Also, receiving a request from a user as an object to unmask a second masking image box in the non-identification image; and unmasking the second masking image box with a second identification image box matching the second masking image box, thereby restoring the non-identification image into a reconstructed image.

또한, 상기 비식별 이미지에 영상 분석 솔루션을 적용하여, 상기 비식별 이미지로부터 상기 식별 대상 세트를 감지하여 분석 이미지 박스 세트를 도출하는 단계; 및 상기 분석 이미지 박스 세트와 상기 비식별 이미지의 마스킹 이미지 박스 세트를 비교하는 단계를 더 포함할 수 있다.In addition, deriving an analysis image box set by applying an image analysis solution to the non-identified image and detecting the identification target set from the non-identified image; and comparing the analysis image box set with the masking image box set of the de-identified image.

또한, 상기 비교 단계는 대상 감지율 및 감지 에러율 중 적어도 하나를 측정하는 단계를 포함하고, 상기 대상 감지율은 상기 식별 대상 세트의 존재 여부에 대한 정확도이고, 상기 감지 에러율은 상기 분석 이미지 박스 세트와 상기 마스킹 이미지 박스 세트의 위치와 크기의 일치율일 수 있다.In addition, the comparing step includes measuring at least one of a target detection rate and a detection error rate, wherein the target detection rate is an accuracy of whether the identification object set exists or not, and the detection error rate corresponds to the analysis image box set and the detection error rate. It may be the coincidence rate of the position and size of the masking image box set.

또한, 사생활 보호 솔루션으로부터 원본 이미지가 마스킹 처리된 비식별 이미지 및 상기 원본 이미지의 식별 이미지 박스 세트와 대응되는 상기 비식별 이미지의 마스킹 이미지 박스 세트를 입력 받는 단계; 상기 비식별 이미지에 식별 대상 세트를 분석하는 영상 분석 솔루션을 적용시키는 단계; 상기 비식별 이미지로부터 상기 식별 대상 세트를 감지하여 분석 이미지 박스 세트를 입력 받는 단계; 및 상기 분석 이미지 박스 세트와 상기 비식별 이미지의 마스킹 이미지 박스 세트를 비교하는 단계를 더 포함할 수 있다.In addition, receiving a de-identification image in which an original image is masked and a masking image box set of the de-identification image corresponding to the identification image box set of the original image from a privacy protection solution; applying an image analysis solution for analyzing an identification target set to the non-identification image; receiving an analysis image box set by detecting the identification target set from the non-identification image; and comparing the analysis image box set with the masking image box set of the de-identified image.

또한, 상기 기학습된 사생활 보호 기능의 학습 모델 테이블은 학습 단계를 통해 상기 DB 서버(10)에 저장된 것이고, 상기 학습 단계는, 상기 단말기(20)로부터 상기 사생활 보호 기능의 학습 쿼리를 입력받는 단계; 상기 DB 서버(10)에 저장된 복수의 학습 모델 테이블 중 상기 사생할 보호 기능에 적합한 학습 모델 테이블을 선택하는 단계; 상기 학습 모델 테이블에 속한 네트워크 테이블을 상기 DB 서버(10)에 플러그인으로 설치된 프레임워크부(300)에 적합한 포맷으로 변환하여 모델 아키텍처를 구성하는 단계; 상기 모델 아키텍처에 학습 파라미터를 임의로 할당하는 단계; 상기 프레임워크부(300)에서 기저장된 학습용 이미지 데이터와 상기 모델 아키텍처를 이용하여 훈련하는 단계; 및 상기 훈련된 모델 아키텍처 및 훈련된 학습 파라미터를 네트워크 테이블 및 학습 파라미터 테이블로 변환하여 사생활 보호 기능의 학습 모델 테이블로 상기 DB 서버(10)에 저장하는 단계;를 구비할 수 있다.In addition, the pre-learned learning model table of the privacy protection function is stored in the DB server 10 through a learning step, and the learning step includes receiving a learning query of the privacy protection function from the terminal 20. ; selecting a learning model table suitable for the protection function to be saved from among a plurality of learning model tables stored in the DB server 10; Constructing a model architecture by converting a network table belonging to the learning model table into a format suitable for the framework unit 300 installed as a plug-in in the DB server 10; randomly assigning learning parameters to the model architecture; training using the image data for learning previously stored in the framework unit 300 and the model architecture; and converting the trained model architecture and trained learning parameters into a network table and a learning parameter table and storing them in the DB server 10 as a learning model table of a privacy protection function.

또한, 상기 비식별 이미지를 동영상 스트리밍으로 서비스하는 단계를 더 포함할 수 있다.In addition, the step of servicing the de-identified image through video streaming may be further included.

또한, 상기 학습 모델 테이블은 외부 딥러닝 프레임워크에서 생성된 학습 모델이 임포트된 것일 수 있다.Also, the learning model table may be a learning model created in an external deep learning framework imported.

본 발명의 일 실시예에 따른 데이터베이스 서버는 사용자로부터 쿼리를 입력 받고, 사용자에게 상기 쿼리에 따른 결과를 출력하는 입출력부(370); 데이터를 저장하는 저장부(200); 상기 저장된 데이터 및 상기 쿼리에 따라 딥러닝하는 프레임워크부(300); 및 제어부(100)를 포함하는 쿼리 기반 딥러닝 추론 데이터베이스 서버로서, 상기 쿼리는 사생활 보호 기능을 구비하고, 상기 제어부(100)는 카메라(50)에서 촬영한 식별 동영상(510)을 복수의 이미지로 디코딩하여 관계형 데이터 구조인 식별 이미지 데이터 셋 테이블(520)으로 데이터베이스화하는 데이터셋 관리 모듈(120); 학습 모델의 아키텍처를 관계형 데이터 구조인 네트워크 테이블로 저장 및 관리하고, 상기 딥러닝용 데이터셋 테이블과 네트워크 테이블의 관계형 데이터 구조에 기초하여 유사도를 판단하는 학습 모델 관리 모듈(130)를 구비하고, 상기 제어부(100)는 상기 쿼리가 사생활 보호 기능의 추론 쿼리인 경우, 기학습된 사생활 보호 기능의 학습 모델 테이블을 선택하고, 상기 프레임워크부(300)는 상기 기학습된 사생활 보호 기능의 학습 모델 테이블의 네트워크 테이블을 상기 프레임워크부(300)에 적합한 사생활 보호용 모델 아키텍처로 구성하고, 상기 사생활 보호 기능의 학습 모델 테이블의 학습 파라미터를 상기 사생활 보호용 모델 아키텍처에 할당하고, 상기 프레임워크부(300)는 상기 식별 이미지 데이터 셋 테이블(520)의 복수의 이미지를 사생활 보호 대상이 식별되지 않도록 복수의 비식별 이미지로 변환하고, 상기 제어부(100)는 상기 복수의 이미지 중 어느 하나인 원본 이미지의 식별 대상인 제1 식별 이미지 박스를 제1 마스킹 이미지 박스로 마스킹하여 비식별 이미지(920)로 변환하는 이미지 박스(IB) 관리 모듈(170)을 더 구비할 수 있다.A database server according to an embodiment of the present invention includes an input/output unit 370 that receives a query from a user and outputs a result according to the query to the user; a storage unit 200 for storing data; A framework unit 300 for deep learning according to the stored data and the query; and a query-based deep learning inference database server including a control unit 100, wherein the query has a privacy protection function, and the control unit 100 converts the identification video 510 captured by the camera 50 into a plurality of images. A dataset management module 120 that decodes and converts the database into an identification image data set table 520, which is a relational data structure; A learning model management module 130 that stores and manages the architecture of the learning model as a network table, which is a relational data structure, and determines a similarity based on the relational data structure of the deep learning dataset table and the network table, When the query is an inference query of the privacy protection function, the controller 100 selects a pre-learned learning model table of the privacy protection function, and the framework unit 300 selects the pre-learned learning model table of the privacy protection function. The network table of is configured as a model architecture for privacy protection suitable for the framework unit 300, the learning parameters of the learning model table of the privacy protection function are allocated to the model architecture for privacy protection, and the framework unit 300 The plurality of images of the identification image data set table 520 are converted into a plurality of non-identification images so that the subject of privacy protection is not identified, and the controller 100 converts the identification target of the original image, which is one of the plurality of images, into a first It may further include an image box (IB) management module 170 that converts one identification image box into a non-identification image 920 by masking it with a first masking image box.

또한, 상기 이미지 박스 관리 모듈(170)은 사용자로부터 상기 비식별 이미지(920)에서 마스킹된 제2 마스킹 이미지 박스(922)를 언마스킹할 대상으로 요청 받은 경우, 상기 제2 마스킹 이미지 박스(922)와 매칭되는 제2 식별 이미지 박스(912)를 이미지 박스들을 저장하는 이미지 박스 저장 모듈(270)에서 추출한 후, 상기 제2 마스킹 이미지 박스(922)를 상기 제2 식별 이미지 박스(912)로 언마스킹할 수 있다.In addition, when the image box management module 170 receives a request from the user as an object to unmask the second masking image box 922 masked in the non-identifying image 920, the second masking image box 922 After extracting the second identification image box 912 matching the image box from the image box storage module 270 that stores image boxes, the second masking image box 922 is unmasked with the second identification image box 912 can do.

또한, 상기 제어부(100)는 사생활 보호 솔루션(901)의 마스킹된 식별 대상을 영상 분석 솔루션(902)을 통해 얼마나 감지하는 평가하는 평가 모듈(180)을 더 구비할 수 있다.In addition, the control unit 100 may further include an evaluation module 180 that evaluates how much the masked identification target of the privacy protection solution 901 is detected through the image analysis solution 902 .

또한, 특정 형식의 학습 모델을 다른 형식의 학습 모델로 변환하는 변환부를 더 포함하고, 상기 저장부(200)에 저장된 학습 모델 테이블은 외부 딥러닝 프레임워크에서 생성된 학습 모델이 상기 변환부에 의해 임포트된 것일 수 있다.In addition, a conversion unit for converting a learning model of a specific format into a learning model of another format is further included, and the learning model table stored in the storage unit 200 is a learning model generated by an external deep learning framework by the conversion unit. may have been imported.

또한, 상기 제어부(100)는 상기 쿼리가 사생활 보호 기능(딥러닝 기능)의 학습 쿼리인 경우, 상기 저장부(200)에 저장된 복수의 학습 모델 테이블 중 상기 사생할 보호 기능에 적합한 학습 모델 테이블을 선택하고, 상기 변환부(360)는 상기 학습 모델 테이블에 속한 네트워크 테이블을 상기 데이터베이스 서버(10)에 플러그인으로 설치된 프레임워크부(300)에 적합한 포맷으로 변환하고, 상기 프레임워크부(300)는 상기 변환부(360)에서 변환된 적합한 포맷을 이용하여 모델 아키텍처를 구성하고, 상기 모델 아키텍처에 학습 파라미터를 임의로 할당하여 기저장된 학습용 이미지 데이터와 상기 모델 아키텍처를 이용하여 훈련하고, 상기 저장부(200)는 상기 훈련된 모델 아키텍처 및 훈련된 학습 파라미터를 네트워크 테이블 및 학습 파라미터 테이블로 변환하여 사생활 보호 기능의 학습 모델 테이블로 저장할 수 있다.In addition, when the query is a learning query of a privacy protection function (deep learning function), the control unit 100 selects a learning model table suitable for the privacy protection function from among a plurality of learning model tables stored in the storage unit 200. and the conversion unit 360 converts the network table belonging to the learning model table into a format suitable for the framework unit 300 installed as a plug-in in the database server 10, and the framework unit 300 A model architecture is configured using the appropriate format converted by the conversion unit 360, training parameters are arbitrarily assigned to the model architecture, training is performed using pre-stored training image data and the model architecture, and the storage unit 200 ) may convert the trained model architecture and trained learning parameters into a network table and a learning parameter table and store them as a learning model table of a privacy protection function.

또한, 상기 데이터셋 관리 모듈(120)은 상기 복수의 비식별 이미지를 동영상 스트리밍으로 서비스할 수 있다.In addition, the dataset management module 120 may provide the plurality of non-identified images through video streaming.

본 발명에 의하면, 쿼리 기반의 기계학습 기술을 이용함으로써 딥러닝 프레임워크가 데이터베이스에 플러그인 형태로 연결되어 사용자의 요청쿼리에 의해서 데이터베이스에 저장된 데이터를 사용하여 기계학습, 추론 등을 수행하여, 안면이나 자동차 번호판 등의 사생활 보호 대상을 검출할 수 있다.According to the present invention, by using query-based machine learning technology, the deep learning framework is connected to the database in the form of a plug-in and performs machine learning, inference, etc. using data stored in the database by a user's request query, Privacy protection objects such as vehicle license plates can be detected.

따라서, 딥러닝에 관한 전문적 지식이 없는 사용자라도 어려움 없이 필요한 정보를 용이하게 제공할 수 있다.Therefore, even a user without expert knowledge of deep learning can easily provide necessary information without difficulty.

또한, 현재 실행 또는 대기 중인 학습계획의 학습 파라미터를 확인할 수 있으며, 현재 실행 중인 학습 계획의 중간 및 결과를 확인할 수 있다.In addition, it is possible to check the learning parameters of the currently executed or waiting learning plan, and the middle and result of the currently executing learning plan.

또한, 마스킹된 이미지 박스와 대응되는 식별 이미지 박스를 맵핑 정보를 통해 신속히 검색할 수 있어, 이미지의 복원을 신속하며 적은 컴퓨팅 자원으로 가능할 수 있다.In addition, since an identification image box corresponding to a masked image box can be quickly searched through mapping information, an image can be restored quickly and with few computing resources.

또한, 사생활 보호 솔루션의 식별 대상이 인식되지 않되 감지되도록 하는 마스킹 처리의 평가 척도를 제시할 수 있다.In addition, it is possible to present an evaluation scale of the masking process in which the identification object of the privacy protection solution is not recognized but detected.

도 1은 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 데이터베이스 서버의 제어 구성도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 관리 구성도이다.
도 4는 본 발명의 일 실시예에 따른 데이터베이스 구조도이다.
도 5는 본 발명의 일 실시예에 따른 변환부의 제어 구성도이다.
도 6 및 도 7은 본 발명의 일 실시예에 따른 변환부의 변환 동작도이다.
도 8은 본 발명의 실시 예에 따른 쿼리 기반의 기계학습 기술의 수행 흐름을 나타낸 흐름도이다.
도 9는 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 방법을 설명하기 위한 동작 흐름도이다.
도 10은 스트리밍 시스템 및 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론을 이용한 사생활 보호 및 재검출 평가 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다.
도 11은 본 시스템의 일부 구성의 세부 블럭도이다.
도 12는 데이터의 변환을 도시하는 변환도이다.
도 13 및 도 14는 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론을 이용한 사생활 보호 및 재검출 평가 방법의 학습 및 추론에 대한 순서도이다.
도 15는 도 14의 추론 과정을 도시한다.
도 16은 도 14의 평가 과정을 도시한다.
도 17은 추론 및 평가의 전후 이미지를 도시한다.
1 is a configuration diagram schematically showing the overall configuration of a query-based deep learning inference system according to an embodiment of the present invention.
2 is a control configuration diagram of a database server according to an embodiment of the present invention.
3 is a data management configuration diagram according to an embodiment of the present invention.
4 is a database structure diagram according to an embodiment of the present invention.
5 is a control configuration diagram of a conversion unit according to an embodiment of the present invention.
6 and 7 are conversion operation diagrams of a conversion unit according to an embodiment of the present invention.
8 is a flowchart showing the execution flow of a query-based machine learning technique according to an embodiment of the present invention.
9 is an operational flowchart for explaining a query-based deep learning inference method according to an embodiment of the present invention.
10 is a configuration diagram schematically showing the overall configuration of a streaming system and a privacy protection and rediscovery evaluation system using query-based deep learning inference according to an embodiment of the present invention.
11 is a detailed block diagram of some configurations of the present system.
Fig. 12 is a conversion diagram showing conversion of data.
13 and 14 are flowcharts for learning and reasoning of a method for evaluating privacy protection and re-detection using query-based deep learning inference according to an embodiment of the present invention.
FIG. 15 illustrates the inference process of FIG. 14 .
FIG. 16 shows the evaluation process of FIG. 14 .
Figure 17 shows images before and after inference and evaluation.

이하, 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, the present invention will be described in more detail with reference to the drawings.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention. The terms and/or include any combination of a plurality of related recited items or any of a plurality of related recited items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 또한 네트워크 상의 제1 구성요소와 제2 구성요소가 연결되어 있거나 접속되어 있다는 것은, 유선 또는 무선으로 제1 구성요소와 제2 구성요소 사이에 데이터를 주고 받을 수 있음을 의미한다.It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle. In addition, that the first component and the second component on the network are connected or connected means that data can be exchanged between the first component and the second component in a wired or wireless manner.

또한, 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 단순히 본 명세서 작성의 용이함만이 고려되어 부여되는 것으로서, 그 자체로 특별히 중요한 의미 또는 역할을 부여하는 것은 아니다. 따라서, 상기 "모듈" 및 "부"는 서로 혼용되어 사용될 수도 있다.In addition, the suffixes "module" and "unit" for the components used in the following description are simply given in consideration of ease of preparation of this specification, and do not themselves give a particularly important meaning or role. Accordingly, the “module” and “unit” may be used interchangeably.

이와 같은 구성요소들은 실제 응용에서 구현될 때 필요에 따라 2 이상의 구성요소가 하나의 구성요소로 합쳐지거나, 혹은 하나의 구성요소가 2 이상의 구성요소로 세분되어 구성될 수 있다. 도면 전체를 통하여 동일하거나 유사한 구성요소에 대해서는 동일한 도면 부호를 부여하였고, 동일한 도면 부호를 가지는 구성요소에 대한 자세한 설명은 전술한 구성요소에 대한 설명으로 대체되어 생략될 수 있다.When these components are implemented in actual applications, two or more components may be combined into one component, or one component may be subdivided into two or more components as needed. The same reference numerals have been assigned to the same or similar components throughout the drawings, and detailed descriptions of components having the same reference numerals may be omitted as they are replaced with descriptions of the components described above.

또한, 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적이지 않다. 본 명세서에 기술된 특정 형상, 구조, 기능, 및 특성의 일 실시예는 다른 실시예로 구현될 수 있다. 예를 들어, 제1 및 제2 실시예에서 언급되는 구성요소는 제1 및 제2 실시예의 모든 기능을 수행할 수 있다.Furthermore, the present invention covers all possible combinations of the embodiments shown herein. The various embodiments of the present invention are different but not mutually exclusive. One embodiment of the particular shape, structure, function, and characteristic described herein may be implemented in another embodiment. For example, components mentioned in the first and second embodiments may perform all functions of the first and second embodiments.

도 1은 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다. 도 2는 본 발명의 일 실시예에 따른 데이터베이스 서버의 제어 구성도이다. 도 3은 본 발명의 일 실시예에 따른 데이터 관리 구성도이다. 도 4는 본 발명의 일 실시예에 따른 데이터베이스 구조도이다. 도 5는 본 발명의 일 실시예에 따른 변환부의 제어 구성도이다. 도 6 및 도 7은 본 발명의 일 실시예에 따른 변환부의 변환 동작도이다. 도 8은 본 발명의 실시 예에 따른 쿼리 기반의 기계학습 기술의 수행 흐름을 나타낸 흐름도이다. 도 9는 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 방법을 설명하기 위한 동작 흐름도이다.1 is a configuration diagram schematically showing the overall configuration of a query-based deep learning inference system according to an embodiment of the present invention. 2 is a control configuration diagram of a database server according to an embodiment of the present invention. 3 is a data management configuration diagram according to an embodiment of the present invention. 4 is a database structure diagram according to an embodiment of the present invention. 5 is a control configuration diagram of a conversion unit according to an embodiment of the present invention. 6 and 7 are conversion operation diagrams of a conversion unit according to an embodiment of the present invention. 8 is a flowchart showing the execution flow of a query-based machine learning technique according to an embodiment of the present invention. 9 is an operational flowchart for explaining a query-based deep learning inference method according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시 예에 따른 쿼리 기반 딥러닝 추론 시스템(1)은 쿼리 기반의 기계학습 기술을 적용할 수 있다. 이를 위해, 쿼리 기반 딥러닝 추론 시스템(1)은 데이터베이스 서버(10) 및 단말기(20)를 포함할 수 있다.Referring to FIG. 1 , a query-based deep learning inference system 1 according to an embodiment of the present invention may apply query-based machine learning technology. To this end, the query-based deep learning inference system 1 may include a database server 10 and a terminal 20.

여기서, 쿼리 기반의 기계학습 기술은 사용자가 단말기(20)를 통해 데이터베이스 서버(10)로 딥러닝 등의 요청을 쿼리로 전송하면, 데이터베이스 서버(10)가 데이터베이스 서버(10)에 저장된 데이터를 이용하여 데이터베이스 서버(10)에 연결된 딥러닝 프레임워크가 기계학습, 딥러닝, 추론 등이 수행되는 기술을 의미한다.Here, the query-based machine learning technology uses the data stored in the database server 10 when the user transmits a request for deep learning or the like to the database server 10 through the terminal 20 as a query. The deep learning framework connected to the database server 10 means a technology in which machine learning, deep learning, inference, and the like are performed.

단말기(20)는 스마트 폰(Smart Phone), 휴대 단말기(Portable Terminal), 이동 단말기(Mobile Terminal), 개인 정보 단말기(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말기, 텔레매틱스(Telematics) 단말기, 내비게이션(Navigation) 단말기, 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터, 슬레이트 PC(Slate PC), 태블릿 PC(Tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(Wearable Device, 예를 들어, 워치형 단말기(Smartwatch), 글래스형 단말기(Smart Glass), HMD(Head Mounted Display) 등 포함), 와이브로(Wibro) 단말기, IPTV(Internet Protocol Television) 단말기, 스마트 TV, 디지털방송용 단말기, AVN(Audio Video Navigation) 단말기, A/V(Audio/Video) 시스템, 및 플렉시블 단말기(Flexible Terminal) 중 어느 하나이거나 조합된 것일 수 있다.The terminal 20 includes a smart phone, a portable terminal, a mobile terminal, a personal digital assistant (PDA), a portable multimedia player (PMP) terminal, and a telematics terminal. , Navigation terminal, personal computer, notebook computer, slate PC, tablet PC, ultrabook, wearable device (for example, watch type terminal) (Smartwatch), glass-type terminal (Smart Glass), HMD (Head Mounted Display), etc.), Wibro terminal, IPTV (Internet Protocol Television) terminal, smart TV, digital broadcasting terminal, AVN (Audio Video Navigation) terminal , A / V (Audio / Video) system, and a flexible terminal (Flexible Terminal) may be any one or a combination.

단말기(20)는 데이터베이스 서버(10)(이하, DB 서버)에 접속할 수 있다. 사용자나 관리자는 단말기(20)를 통해 DB 서버(10)에 쿼리를 보내거나 쿼리에 따른 결과를 받아볼 수 있다.The terminal 20 can access the database server 10 (hereinafter referred to as DB server). A user or manager may send a query to the DB server 10 through the terminal 20 or receive a result according to the query.

DB 서버(10)는 데이터베이스를 운용하거나 데이터베이스와 연결되어 제어하는 서버일 수 있다. DB 서버(10)는 통합 관리되는 데이터의 집합(데이터베이스) 및, 이를 관리하는 미들웨어가 포함된 개념을 의미할 수 있다. 데이터베이스 서버(10)는 데이터베이스 관리 시스템(DBMS)를 의미할 수 있다. 데이터베이스를 DB 서버(10) 또는 데이터베이스 관리 시스템(DBMS)의 의미로 사용될 수도 있다.The DB server 10 may be a server that operates a database or connects to and controls a database. The DB server 10 may refer to a concept including a set of integratedly managed data (database) and middleware that manages them. The database server 10 may mean a database management system (DBMS). The database may also be used in the sense of a DB server 10 or a database management system (DBMS).

DB 서버(10)는 쿼리에 따라 작업하거나 쿼리에 따른 결과를 생성하는 모든 장치를 의미할 수 있다. 쿼리는 SQL(Structured Query Language) 문법을 따를 수 있다. DB 서버(10)의 데이터베이스는 관계형 데이터베이스인 것이 바람직하다.The DB server 10 may mean any device that works according to a query or generates a result according to a query. The query may follow SQL (Structured Query Language) syntax. The database of the DB server 10 is preferably a relational database.

단말기(20)는 딥러닝 추론 쿼리를 입력하고, DB 서버(10)로부터 쿼리에 대응된 추론 결과를 수신할 수 있다.The terminal 20 may input a deep learning inference query and receive an inference result corresponding to the query from the DB server 10 .

단말기(20)는 쿼리를 통해서 DB 서버(10)에 여러 기능들을 요청하고, DB 서버(10)로부터 결과를 응답 받을 수 있다. 단말기(20)는 쿼리를 통해서 DB 서버(10)에 저장된 데이터를 확인, 또는 수정하거나, 새로운 데이터를 추가할 수 있다. 단말기(20)는 쿼리를 통해서 DB 서버(10)에 저장된 학습 모델을 확인, 또는 수정하고 새로운 학습을 위한 학습 모델을 생성할 수 있다. 단말기(20)는 쿼리를 통해서 데이터와 학습 모델을 선택하고 파라미터를 설정하여 기계학습을 요청하고, 학습 중간 결과 및 최종 결과를 확인할 수 있다. 단말기(20)는 쿼리를 통해서 데이터와 기학습된 학습 모델을 선택하여 기계추론을 요청하고, 추론 결과를 확인할 수 있다.The terminal 20 may request various functions to the DB server 10 through a query and receive a response from the DB server 10 . The terminal 20 may check or modify data stored in the DB server 10 through a query, or may add new data. The terminal 20 may check or modify the learning model stored in the DB server 10 through a query and create a new learning model for learning. The terminal 20 may select data and learning models through a query, set parameters, request machine learning, and check intermediate and final results of learning. The terminal 20 may select data and a pre-learned learning model through a query, request machine inference, and check the inference result.

도 2를 참조하면, DB 서버(10)는 제어부(100), 저장부(200), 프레임워크부(300), 변환부(360), 및 입출력부(370)를 포함할 수 있다.Referring to FIG. 2 , the DB server 10 may include a control unit 100, a storage unit 200, a framework unit 300, a conversion unit 360, and an input/output unit 370.

입출력부(370)은 자체적인 인터페이스 장치일 수 있다. 입출력부(370)은 입력 장치와 출력 장치를 각각 별개로 구비할 수 있다.The input/output unit 370 may be its own interface device. The input/output unit 370 may include an input device and an output device separately.

출력 장치는 비디오 신호 및/또는 오디오 신호를 출력할 수 있다. 출력 장치는 모니터 등의 디스플레이 장치, 및/또는 스피커 등일 수 있다.The output device may output a video signal and/or an audio signal. The output device may be a display device such as a monitor, and/or a speaker.

입력 장치는 유저가 DB 서버(10)의 동작 제어를 위해 입력하는 입력 데이터를 발생시킬 수 있다. 입력 장치는 키보드, 키 패드, 터치 패드, 마우스 등의 사용자 조작 장치를 구비할 수 있다.The input device may generate input data that a user inputs to control the operation of the DB server 10 . The input device may include a user manipulation device such as a keyboard, key pad, touch pad, and mouse.

입력 및 출력 장치는 터치 스크린과 같이 하나로 구현될 수 있다.The input and output device may be implemented as one such as a touch screen.

입력 장치는 오디오 신호 및/또는 비디오 신호를 DB 서버(10)에 입력할 수 있다. 입력 장치는 카메라와 마이크 등을 구비할 수 있다.The input device may input an audio signal and/or a video signal to the DB server 10. The input device may include a camera and a microphone.

입력 장치는 센서 장치를 포함할 수 있다. 센서 장치는 온도 센서, 습도 센서, 밝기 센서, 먼지 센서, 압력 센서, 진동 센서, 전압 센서, 전류 센서, 평행 센서, 자기 센서, 조도 센서, 근접 센서, 거리 센서, 기울기 센서, 가스 센서, 열감지 센서, 불꽃 감지 센서, 금속 감지 센서, 홀 센서 등을 구비할 수 있다. 센서 장치는 온도, 습도, 밝기, 먼지(탄소), 압력, 진동, 전압, 전류, 평행, 자기, 조도, 근접, 거리, 기울기, 가스, 열감지, 불꽃 감지, 금속 감지, 회전량 데이터를 생성할 수 있다.The input device may include a sensor device. Sensor devices include temperature sensor, humidity sensor, brightness sensor, dust sensor, pressure sensor, vibration sensor, voltage sensor, current sensor, parallel sensor, magnetic sensor, light sensor, proximity sensor, distance sensor, inclination sensor, gas sensor, thermal sensor A sensor, a flame detection sensor, a metal detection sensor, a hall sensor, and the like may be provided. The sensor device generates temperature, humidity, brightness, dust (carbon), pressure, vibration, voltage, current, parallel, magnetic, illuminance, proximity, distance, tilt, gas, heat detection, flame detection, metal detection, and rotation amount data. can do.

입출력부(370)는 DB 서버(10)에 연결되는 모든 외부기기와의 인터페이스 역할을 수행할 수 있다. 외부기기의 예로는, 유/무선 데이터 포트, 메모리 카드(Memory card) 등과 같은 카드의 소켓, 오디오 I/O(Input/Output) 단자, 비디오 I/O(Input/Output) 단자 등이 있을 수 있다. 입출력부(370)는 이러한 외부 기기로부터 데이터를 전송받거나 DB 서버(10) 내부의 데이터가 외부 기기로 전송되도록 할 수 있다.The input/output unit 370 may serve as an interface with all external devices connected to the DB server 10 . Examples of the external device may include a wired/wireless data port, a socket of a card such as a memory card, an audio I/O (Input/Output) terminal, and a video I/O (Input/Output) terminal. . The input/output unit 370 may receive data from such an external device or transmit data inside the DB server 10 to an external device.

입출력부(370)는 통신 기능을 수행할 수 있다. 통신은 블루투스(Bluetooth), RFID(Radio Frequency Identification), UWB(Ultra Wideband), 지그비(ZigBee) 등 중 적어도 하나의 근거리 통신 프로토콜이 이용될 수 있다. 통신은 인터넷 접속을 포함할 수 있다. 입출력부(370)는 통신을 통해 외부 장치 예를 들어, 단말기(20)와 데이터를 주고 받을 수 있다.The input/output unit 370 may perform a communication function. For communication, at least one short-range communication protocol such as Bluetooth, Radio Frequency Identification (RFID), Ultra Wideband (UWB), and ZigBee may be used. Communications may include Internet access. The input/output unit 370 may exchange data with an external device, for example, the terminal 20 through communication.

본 명세서에서 단말기(20)를 별도의 장치로 도시하였지만, 입출력부(370)는 단말기(20)의 기능을 수행할 수 있다. 즉, 단말기(20)는 입출력부(370)로 대체(생략)되어, 본 발명이 실시될 수 있다.Although the terminal 20 is shown as a separate device in this specification, the input/output unit 370 may perform the functions of the terminal 20 . That is, the terminal 20 may be replaced (omitted) by the input/output unit 370, and the present invention may be implemented.

입출력부(370)은 사용자의 통신수단(단말기(2))와의 통신을 담당하며, 사용자의 다양한 형태의 접속수단인 통신장비 및 전산장비와의 통신프로토콜 및 네트워크 상의 데이터 포멧을 제어할 수 있다.The input/output unit 370 is in charge of communication with the user's communication means (terminal 2), and can control the communication protocol and data format on the network with communication equipment and computing equipment, which are various types of connection means of the user.

데이터 포멧의 예로 ONNX(Open Neural Network exchange format), NNEF(Neural Network Exchange Format) 또는 CSV(Comma-separated values) 등이 있을 수 있다.Examples of the data format may include Open Neural Network exchange format (ONNX), Neural Network Exchange Format (NNEF), or Comma-separated values (CSV).

입출력부(370)는 사용자로부터 제어 명령이나 쿼리를 입력 받고, 사용자에게 결과를 제공하는 채널일 수 있다.The input/output unit 370 may be a channel that receives a control command or query from a user and provides a result to the user.

저장부(200)는 DB 서버(10)가 동작하는데 필요한 데이터와 프로그램 등을 저장할 수 있다. 저장부(200)는 제어부(110)의 처리 및 제어를 위한 프로그램이 저장될 수 있고, 입력되거나 출력되는 데이터들의 임시 저장을 위한 기능을 수행할 수 있다.The storage unit 200 may store data and programs necessary for the DB server 10 to operate. The storage unit 200 may store programs for processing and control of the control unit 110 and may perform a function for temporarily storing input or output data.

저장부(200)는 데이터를 데이터베이스로 저장하거나, 데이터베이스를 의미할 수 있다.The storage unit 200 may store data as a database or refer to a database.

저장부(200)는 작업수행 및 기 작업이 수행되었던 내역 및 사용자 등에 대한 정보를 저장할 수 있다. 저장부(200)는 외부에 별도로 구비되는 저장 장치 또는 외부 전산망에 구비되는 저장장치 등과의 접속을 통하여 정보 및/또는 데이터를 저장할 수 있다. 빅데이터의 특징을 갖는 딥러닝 결과를 분산저장하거나, 외부에 별도로 저장하여, 요청시 호출하여 적용할 수 있다.The storage unit 200 may store information about job performance, history of previous jobs, and users. The storage unit 200 may store information and/or data through connection with a storage device provided separately from the outside or a storage device provided in an external computer network. Deep learning results with the characteristics of big data can be distributed and stored or stored separately externally, and can be called and applied upon request.

제어부(100)는 DB 서버(10)의 각 부의 동작을 제어하여 DB 서버(10)의 전반적인 제어 기능을 실행할 수 있다.The control unit 100 may execute overall control functions of the DB server 10 by controlling the operation of each unit of the DB server 10 .

제어부(100)는 데이터베이스 내의 데이터를 접근하거나, 데이터를 관리하거나, 데이터를 테이블로 생성할 수 있다. 데이터 관리는 데이터를 조회, 수정, 및/또는 업로드 등을 의미할 수 있다.The control unit 100 may access data in the database, manage data, or create data in a table. Data management may mean inquiring, modifying, and/or uploading data.

제어부(100)는 사용자의 쿼리를 해석하고 실행하거나, 쿼리에 따른 작업이 수행되거나 결과를 제공하기 위한 모든 기능을 제어할 수 있다.The control unit 100 may control all functions for interpreting and executing a user's query, performing a task according to a query, or providing a result.

도 3 및 도 4를 참조하면, 제어부(100)는 데이터셋 관리 모듈(120), 학습 모델 관리 모듈(130), 및 결과 관리 모듈(160)을 구비할 수 있으며, 저장부(200)는 데이터셋(220), 학습 모델(230), 및 학습 결과(260)를 저장할 수 있다.3 and 4, the control unit 100 may include a dataset management module 120, a learning model management module 130, and a result management module 160, and the storage unit 200 stores data The set 220, the learning model 230, and the learning result 260 may be stored.

데이터셋 관리 모듈(120)에서 관리되는 데이터셋(220)은 학습 및 추론에 사용될 동일한 형식을 가진 정보 또는 데이터의 집합을 의미한다. 정보 또는 데이터는 숫자, 문자, 이미지, 영상, 및 음성 등을 포함하며, 기계학습에 사용되는 모든 종류의 정보 또는 데이터일 수 있다.The dataset 220 managed by the dataset management module 120 refers to a set of information or data having the same format to be used for learning and reasoning. Information or data includes numbers, texts, images, videos, and voices, and may be any type of information or data used in machine learning.

데이터셋(220)으로 군집시킬 수 있는 데이터의 동일한 형식이라 함은 확장자를 기준으로 정의할 수 있다. 예로, 이미지 정보의 경우, 그 확장자가 이미지를 나타내는 확장자일 경우 모두 동일한 카테고리의 데이터셋으로 군집하게 되는 것이다.The same format of data that can be clustered into the dataset 220 can be defined based on the extension. For example, in the case of image information, if the extension indicates an image, all of them are clustered in a dataset of the same category.

여기서, 예를 위해 이미지 정보를 예를 들어 설명하고 있으나, 사용되는 데이터는 이미지 뿐만 아니라 앞서 서술한 숫자, 문자, 이미지, 영상, 음성 등 기계 학습에 사용될 수 있는 모든 종류의 데이터가 될 수 있다.Here, image information is described as an example, but the data used may be all kinds of data that can be used for machine learning, such as numbers, texts, images, images, and voices, as described above, as well as images.

데이터셋 관리 모듈(120)은 외부로부터 입력 받은 정보 또는 데이터(이하, '데이터')를 그 형식(예를 들어, 확장자)으로 동일한 데이터셋으로 군집시키거나, 데이터의 내용으로 분류할 수 있다. 데이터의 내용으로 분류되는 경우, 데이터셋 관리 모듈(120)은 동일한 데이터 형식으로 구분하는 데이터 분류 학습 모델을 이용할 수 있다. 데이터 분류 학습 모델은 DB 서버(10)에 저장되어 필요시 호출되어 이용될 수 있다.The dataset management module 120 may cluster information or data (hereinafter referred to as 'data') received from the outside into the same dataset in its format (eg, extension) or classify it by the contents of the data. When the data is classified according to the contents, the dataset management module 120 may use a data classification learning model that classifies data into the same data format. The data classification learning model can be stored in the DB server 10 and called and used when necessary.

데이터셋 관리 모듈(120)은 데이터셋(220)이 학습 모델(230)에 잘 적용되도록 데이터를 전처리할 수 있다. 데이터 전처리는 데이터를 학습 모델의 텐서(벡터)에 맞도록 변환할 수 있다. 데이터 전처리의 예로 단어를 딥러닝에 이용되는 사전의 인덱스 숫자로 변환하는 예가 있을 수 있다.The dataset management module 120 may preprocess data so that the dataset 220 is well applied to the learning model 230 . Data preprocessing can transform the data to fit the tensors (vectors) of the learning model. As an example of data preprocessing, there may be an example of converting words into index numbers of a dictionary used for deep learning.

데이터셋 관리 모듈(120)은 제1 형식의 데이터로부터 제2 형식의 데이터로 변환할 수 있다. 데이터셋 관리 모듈(120)은 제2 형식의 데이터를 1 군의 데이터셋으로 관리할 수 있다. 예를 들어, 데이터셋 관리 모듈(120)은 영상 데이터를 프레임 별로 이미지를 추출하여 일군의 데이터셋으로 변환(decoding)할 수 있다. 데이터셋 관리 모듈(120)은 일련의 이미지를 영상으로 변환(encoding)할 수 있다. 일련의 이미지는 작업된 이미지일 수 있다. 즉, 데이터셋 관리 모듈(120)은 동영상 데이터를 일군의 이미지 데이터셋으로 변환하고, 작업 처리(모자이크)된 일군의 이미지 데이터셋을 영상으로 변환할 수 있다. 데이터셋 관리 모듈(120)은 동영상 스트리밍 서비스를 할 수 있다. -데이터셋 관리 모듈(120)은 일련의 이미지로부터 인코딩하여 동영상 스트리밍 서비스하거나, 저장된 동영상 파일로부터 스트리밍 서비스할 수 있다.The dataset management module 120 may convert data of the first format into data of the second format. The dataset management module 120 may manage data of the second format as one group of datasets. For example, the dataset management module 120 may extract image data for each frame and convert (decode) them into a group of datasets. The dataset management module 120 may encode a series of images into images. The series of images may be worked images. That is, the dataset management module 120 may convert video data into a group of image datasets, and convert a group of image datasets processed (mosaic) into images. The dataset management module 120 may provide a video streaming service. -The dataset management module 120 can encode from a series of images and provide a video streaming service or a streaming service from a stored video file.

데이터셋 관리 모듈(120)은 새로운 데이터셋을 생성할 때 새로운 테이블(데이터셋 테이블)을 생성하고, 데이터셋 테이블에서 데이터를 조회 또는 수정하거나 새로운 데이터를 추가할 수 있다.When a new dataset is created, the dataset management module 120 creates a new table (dataset table), and searches or modifies data or adds new data in the dataset table.

데이터셋 관리 모듈(120)은 데이터베이스의 테이블에 접근하여 데이터를 조회하거나 사용자가 작성한 쿼리를 통해서 데이터베이스의 데이터를 조회한 결과를 보여주며, 사용자에게 부여된 권한에 따라 데이터를 수정할 수 있는 수준을 제한할 수 있다. 데이터셋 관리 모듈(120)은 사용자로부터 수치데이터를 입력받거나, 하나 이상의 파일을 읽어서 데이터 업로드를 진행할 수 있다. 데이터셋 관리 모듈(120)은 학습 데이터의 레이블을 작성할 수 있는 태깅기능을 제공할 수 있다.The dataset management module 120 accesses database tables to retrieve data or displays results of database data search through a query written by a user, and limits the level at which data can be modified according to the authority granted to the user. can do. The dataset management module 120 may receive numerical data from a user or read one or more files to perform data upload. The dataset management module 120 may provide a tagging function capable of labeling training data.

본 명세서에서 데이터셋 테이블과 데이터셋은 서로 동일한 의미로 사용될 수 있다. 특히 관계형 데이터베이스에서 데이터셋은 데이터셋 테이블로 저장된 관계형 데이터 형식의 데이터 집합을 의미한다. 관계형 데이터 형식은 테이블 형식을 이용하여 데이터를 정의하고 설명하는 모델을 의미한다. 이는 후술하는 학습 모델과 학습 모델 테이블, 학습 결과와 학습 결과 테이블 등에서도 동일하게 적용될 수 있다.In this specification, a dataset table and a dataset may be used as the same meaning. In particular, in a relational database, a dataset refers to a data set in relational data format stored as a dataset table. Relational data format refers to a model that defines and describes data using a tabular format. This can be equally applied to a learning model, a learning model table, a learning result, and a learning result table, which will be described later.

학습 모델(Learning Model; LM) 관리 모듈(130)은 기계학습(딥러닝 등)에 사용되는 학습 모델(230)을 관리할 수 있다.The learning model (LM) management module 130 may manage the learning model 230 used for machine learning (deep learning, etc.).

일반적으로 학습 모델(230)(학습 네트워크 모델)은 아키텍처(architecture) 및 파라미터를 포함할 수 있다.In general, the learning model 230 (learning network model) may include an architecture and parameters.

아키텍처(모델 아키텍처)는 기계학습 모델의 구조를 의미한다. 아키텍처는 학습 모델의 구조에 해당하는 층(layer)의 수, 유닛의 수, 레이어의 종류, 유닛이 연결되는 방법 등을 포함할 수 있다.Architecture (model architecture) refers to the structure of a machine learning model. The architecture may include the number of layers corresponding to the structure of the learning model, the number of units, types of layers, and how units are connected.

아키텍처는 네트워크 모델 또는 네트워크로 지칭될 수 있다.An architecture may be referred to as a network model or network.

파라미터는 하이퍼 파라미터와 학습 파라미터를 구비할 수 있다.Parameters may include hyperparameters and learning parameters.

하이퍼 파라미터는 입출력과 모델 내부를 정의하고, 학습률, 최적화 방법(학습 방법; 옵티마이저(optimzer)), 레이어의 종류, 입출력 크기, 계산에 필요한 파라미터 등을 구비할 수 있다. 하이퍼 파라미터는 아키텍처가 구현되도록 할 수 있다. 하이퍼 파라미터는 아키텍처의 일 구성요소로 작동될 수 있다. 최적화 방법은 별도의 옵티마이저 모듈로 구현될 수도 있다.Hyperparameters define the input/output and the inside of the model, and may include a learning rate, an optimization method (learning method; optimizer), a type of layer, an input/output size, parameters required for calculation, and the like. Hyperparameters allow architectures to be implemented. Hyperparameters can act as a component of an architecture. The optimization method may be implemented as a separate optimizer module.

학습 파라미터는 웨이트(weight) 및/또는 바이어스(bias)를 구비할 수 있다. 웨이트는 입력된 데이터와 상호 작용에 사용되는 값으로, 모델 아키텍처에 상응하는 모델 웨이트가 존재할 수 있다. 학습 파라미터는 옵티마이저에 의해 값이 변화될 수 있다.Learning parameters may include weights and/or biases. A weight is a value used for interaction with input data, and a model weight corresponding to a model architecture may exist. A value of the learning parameter may be changed by an optimizer.

옵티마이저는 학습 모델이 원하는 기능을 가지도록 학습 파라미터를 변화시킬 수 있다. 학습(딥러닝) 또는 훈련은 이러한 학습 파라미터의 변화를 의미할 수 있다.The optimizer may change the learning parameters so that the learning model has a desired function. Learning (deep learning) or training can mean changing these learning parameters.

학습 모델의 기능의 예로, 사용자에 의해 입력된 텍스트를 인식하거나, 이미지/오디오/동영상 등에 포함된 음성이나 텍스트를 인식하거나, 인식된 음성이나 텍스트로붙 사용자의 의향을 분석하는 기능 등이 있을 수 있다.Examples of functions of the learning model include a function of recognizing text input by a user, recognizing voice or text included in an image/audio/video, etc., or analyzing the user's intention with the recognized voice or text. there is.

학습 모델 관리 모듈(130)은 지원되는 레이어를 추가하고 레이어 파라미터(레이어의 종류, 입출력 크기, 계산에 필요한 파라미터)를 조정하여 새로운 네트워크 모델을 생성할 수 있다. 학습 모델 관리 모듈(130)은 기존에 작성된 네트워크 모델 리스트를 조회할 수 있으며, 기존에 작성된 네트워크 모델에 새로운 레이어를 추가하여 새로운 네트워크 모델을 생성할 수 있다. 이는 하이퍼 파라미터의 조정을 통해 구현될 수 있다. 이러한 일련이 작업들은 사용자의 쿼리에 의해 착수될 수 있다.The learning model management module 130 may create a new network model by adding a supported layer and adjusting layer parameters (type of layer, input/output size, parameter required for calculation). The learning model management module 130 may search a list of previously created network models, and may create a new network model by adding a new layer to the previously created network models. This can be implemented through tuning of hyperparameters. These series of tasks may be initiated by a user's query.

학습 모델 관리 모듈(130)은 네트워크 모델을 시각화하여 보여주는 기능을 제공할 수 있다. 이를 통해, 사용자가 히든 레이어의 구조를 쉽게 살펴볼 수 있다.The learning model management module 130 may provide a function of visualizing and displaying the network model. Through this, the user can easily check the structure of the hidden layer.

학습 모델(230)은 이외에 학습에 사용할 피드백 신호를 정의하는 손실 함수 및 학습 진행 방식을 결정하는 별도의 옵티마이저 모듈을 더 구비할 수 있다. 손실 함수 및 옵티마이저는 프레임워크부(300)에 구비될 수도 있다.In addition, the learning model 230 may further include a loss function defining a feedback signal to be used for learning and a separate optimizer module for determining a learning progress method. The loss function and optimizer may be included in the framework unit 300 .

학습 모델(230)은 데이터베이스에서 관계형 데이터 형식인 학습 모델 테이블 포맷으로 저장될 수 있다.The learning model 230 may be stored in a database in a learning model table format, which is a relational data format.

도 4를 참조하면, 학습 모델 테이블은 네트워크 테이블(qml_network_t)을 구비할 수 있다. 아키텍처는 데이터베이스에서 관계형 데이터 형식인 네트워크 테이블(qml_network_t) 포맷으로 변환되어 저장될 수 있다. 네트워크 테이블(qml_network_t)은 학습 모델(230)의 아키텍처로 변환될 수 있다. 이는 후술하는 변환부(360)에 의해 변환될 수 있다.Referring to FIG. 4 , the learning model table may include a network table (qml_network_t). The architecture can be converted and stored in the network table (qml_network_t) format, which is a relational data format, in the database. The network table (qml_network_t) may be converted into an architecture of the learning model 230 . This may be converted by a conversion unit 360 to be described later.

네트워크 테이블은 복수의 서브-네트워크 테이블(qml_s_network_t)을 구비할 수 있다. 예를 들어, Multi GPU(N 개)로 네트워크 모델을 학습하는 경우에 N 개의 서브-네트워크 테이블이 구비될 수 있다. 네트워크 모델을 추론하는 경우에 1개의 서브-네트워크 테이블이 구비될 수 있다.The network table may include a plurality of sub-network tables (qml_s_network_t). For example, in the case of learning a network model with Multi GPU (N), N sub-network tables may be provided. In the case of inferring a network model, one sub-network table may be provided.

네트워크 테이블 또는 서브-네트워크 테이블은 네트워크를 구성하는 레이어에 관한 복수의 레이어 테이블(qml_layer_t)을 구비할 수 있다. 학습 모델(230)의 아키텍처를 구성하는 레이어는 레이어 테이블(qml_layer_t)로 변환되어 저장될 수 있다. 레이어 테이블(qml_layer_t)은 학습 모델(230)의 레이어로 변환될 수 있다. 이는 후술하는 변환부(360)에 의해 변환될 수 있다.The network table or sub-network table may include a plurality of layer tables (qml_layer_t) related to layers constituting the network. Layers constituting the architecture of the learning model 230 may be converted into a layer table (qml_layer_t) and stored. The layer table (qml_layer_t) may be converted into a layer of the learning model 230 . This may be converted by a conversion unit 360 to be described later.

레이어 테이블(qml_layer_t)은 복수의 텐서(tensor) 테이블(qml_tensor_t)을 구비할 수 있다. 텐서 테이블은 NCHW 포맷으로 구성된 4차원 텐서일 수 있다. 텐서 테이블은 dtype, qml_shape_t, data, name 등이 구비될 수 있다. 텐서 테이블 및 학습 모델(230)의 텐서는 서로 변환될 수 있다. 이는 후술하는 변환부(360)에 의해 변환될 수 있다.The layer table (qml_layer_t) may include a plurality of tensor tables (qml_tensor_t). The tensor table may be a 4-dimensional tensor in NCHW format. A tensor table may include dtype, qml_shape_t, data, name, and the like. The tensor table and the tensors of the learning model 230 may be converted to each other. This may be converted by a conversion unit 360 to be described later.

학습 모델(230)의 파라미터는 파라미터 테이블로 저장될 수 있다. 학습 모델(230)의 파라미터와 파라미터 테이블은 서로 변환될 수 있다. 이는 후술하는 변환부(360)에 의해 변환될 수 있다.Parameters of the learning model 230 may be stored as a parameter table. Parameters and parameter tables of the learning model 230 may be converted to each other. This may be converted by a conversion unit 360 to be described later.

본 발명에서 미리 설계된 DB 스키마에 따라 모델 아키텍처와 모델 웨이트 등이 DB 테이블에 저장될 수 있다. 기설계된 DB 스키마는 서로 유사한 데이터셋 테이블과 학습 모델 테이블을 쉽게 분류할 수 있다. 이는 DB 서버(10)가 새로운 데이터셋을 입력 받으면, 저장되어 있는 관계형 데이터 형식의 학습 모델 중 유사한 학습 모델을 호출하여 새로운 데이터셋에 적용하게 할 수 있다.According to the DB schema designed in advance in the present invention, the model architecture and model weight may be stored in the DB table. The pre-designed DB schema can easily classify dataset tables and learning model tables that are similar to each other. When the DB server 10 receives a new data set, it can call a similar learning model among stored relational data format learning models and apply it to the new data set.

예를 들어, '속성(attribute), 도메인(domain), 차수(degree), 튜플(tuple), 카리널리티(cardinality), 릴레이션(realtion), 키(key), 후보키(candidate key), 기본키(primary)' 등의 테이블의 구성요소의 외형인 차수, 내용인 속성 및 도메인 등의 유사도에 따라 입력된 데이터셋과 기저장된 학습 모델의 유사도를 정할 수 있다. 이러한 유사도 판단은 학습 모델 관리 모듈(130)이 할 수 있다.For example, 'attribute, domain, degree, tuple, cardinality, relation, key, candidate key, primary The similarity between the input dataset and the pre-stored learning model can be determined according to the similarity of the degree, which is the external form, and the attribute and domain, which are the content, of the elements of the table, such as 'key (primary)'. The similarity determination may be performed by the learning model management module 130 .

이는 최초의 관계형 데이터 형식의 학습 모델이 생성되고 사용되어 데이터베이스에 저장된 후, 유사한 형식의 데이터셋이 입력되어 관계형 데이터 형식의 학습 모델을 생성해야 할 경우, 데이터베이스에 저장되어 있는 기존의 관계형 데이터 형식의 모델 중 유사도가 높은 모델을 검색하여 이를 호출한 후 적용할 수 있다. 이로 인해, 적합한 학습 모델의 생성 시간을 단축하고, 컴퓨팅 자원을 효율적으로 사용할 수 있다.This means that after the first relational data format learning model is created, used, and stored in the database, when a similar format dataset is input to create a relational data format learning model, the existing relational data format stored in the database Among the models, a model with high similarity can be searched for, called, and applied. As a result, the generation time of a suitable learning model can be shortened and computing resources can be efficiently used.

학습 모델 테이블은 구성요소가 관계형 데이터 형식으로 연결되어, 학습 모델 테이블은 사용자 또는 관리자가 작업 수행시 구성요소가 누락되지 않도록 가이드 역할을 할 수 있다.Since components of the learning model table are linked in a relational data format, the learning model table can serve as a guide so that users or administrators do not omit components when performing tasks.

결과 관리 모듈(160)은 기계학습이 진행되는 동안 발생되는 각 레이어의 아웃풋, 중간 출력값, 파라미터 값, 계산이 진행되는 모델의 평가지표 값(딥러닝 함수의 학습 손실값), 및 기계추론 결과값 등의 학습 결과(260)를 데이터베이스에 저장하거나 호출하여 사용자가 확인할 수 있도록 관리할 수 있다.The result management module 160 outputs each layer generated during machine learning, intermediate output values, parameter values, evaluation index values (learning loss values of deep learning functions) of models in which calculations are performed, and machine inference result values. Such learning results 260 may be stored in a database or managed so that the user can check them by calling them.

저장부(200)는 데이터셋(220) 테이블, 학습 모델(230) 테이블, 및 학습 결과(260) 테이블 이외에 프로젝트 테이블(Project Table), 작업 테이블(Job Table), 및 공통 테이블(Common Table)을 더 구비할 수 있다.The storage unit 200 stores a project table, a job table, and a common table in addition to the dataset 220 table, the learning model 230 table, and the learning result 260 table. more can be provided.

작업 테이블은 사용자 정보, 프로젝트의 상태, 로그 등을 포함하고, 공통 테이블은 레이어 타입, 오류 코드 등 룩업 테이블을 포함할 수 있다.The task table may include user information, project status, logs, and the like, and the common table may include a lookup table such as layer type and error code.

프로젝트 테이블은 학습 모델 테이블로부터 복사된 실제 학습 모델이나 추론을 진행할 프로젝트 정보가 저장될 수 있다. 프로젝트가 생성된 후 학습 모델 테이블과 별개의 구성을 가지게 되므로, 프로젝트에 사용된 기반 네트워크가 수정되더라도 기구축된 학습 모델에 영향이 없다.The project table may store actual learning model copied from the learning model table or project information for inference. After the project is created, it has a separate structure from the learning model table, so even if the base network used in the project is modified, the established learning model is not affected.

저장부(200)는 개수가 많고 가변적인 데이터(입출력 데이터 및 가중치 정보)는 BLOB(Binary Large Object) 또는 text 타입으로, 개수가 적고 가변적인 데이터(각 레이어 파라미터 등)는 레코드를 분할하여 저장할 수 있다.The storage unit 200 stores variable data (input/output data and weight information) in a BLOB (Binary Large Object) or text type, and small and variable data (e.g., parameters of each layer) by dividing and storing records. there is.

제어부(100)는 기계학습, 기계추론에 사용된 모든 입출력 데이터가 저장되도록 하고, 기계학습, 기계추론에 사용된 모델이 저장되도록 하며, 사용자의 쿼리 요청에 대응하는 프로시저(procedure)를 제공하여, 사용자 요청에 의한 기계학습을 수행할 수 있다.The controller 100 stores all input/output data used in machine learning and machine reasoning, stores models used in machine learning and machine reasoning, and provides a procedure corresponding to a user's query request. , can perform machine learning by user request.

프로시저는 인서트 네트워크(Insert Network), 인서트 레이어(Insert Layer), 메이크 프로젝트(Make Project), 입력 데이터 로더(Input Data Loader), 네트워크 초기화(Init Network), 트레인(Train), 모델 저장(Save Model) 및 테스트(Test)를 포함할 수 있다.Procedures include Insert Network, Insert Layer, Make Project, Input Data Loader, Init Network, Train, and Save Model. ) and test.

인서트 네트워크는 네트워크(아키텍처) 이름, 네트워크 타입, 데이터셋 이름, 옵티마이저 타입, 옵티마이저 파라미터, 학습률, 배치 크기, 학습 횟수, 출력 레이어 인덱스를 포함하는 네트워크 테이블을 생성할 수 있다.The insert network may create a network table including network (architecture) name, network type, dataset name, optimizer type, optimizer parameters, learning rate, batch size, number of trainings, and output layer index.

인서트 레이어는 네트워크 아이디, 레이어 이름, 레이어 타입, 레이어 인덱스, 레이어 파라미터, 입력 레이어 인덱스를 포함하는 레이어 테이블을 등록할 수 있다.The insert layer may register a layer table including network ID, layer name, layer type, layer index, layer parameter, and input layer index.

메이크 프로젝트는 프로젝트 이름, 데이터셋 이름, 네트워크 이름, 학습 또는 추론 플래그, GPU 개수를 포함하는 프로젝트를 생성할 수 있다.A make project can create a project that includes the project name, dataset name, network name, training or inference flags, and number of GPUs.

입력 데이터 로더는 사용자 입력의 선택(레이어 인덱스, 쿼리 타입(학습 테이블, 학습 데이터, 검증 테이블, 검증 데이터)에 따라 데이터를 입력할 수 있다.The input data loader may input data according to user input selection (layer index, query type (learning table, learning data, verification table, verification data)).

네트워크 초기화는 네트워크 모델을 구성할 수 있다.Network initialization may construct a network model.

트레인은 프로젝트 아이디, 학습 세대 수, 배치 사이즈, 이어서 학습 여부, 저장 간격, 검증 간격, GPU 동기화 간격을 포함하는 학습을 시작할 수 있다.A train can start training, including project ID, number of training generations, batch size, whether to train later, storage interval, verification interval, and GPU synchronization interval.

모델 저장은 프로젝트 테이블의 네트워크 정보를 네트워크 테이블로 복사(프로젝트 이름, 네트워크 이름)할 수 있다.Save model can copy the network information of the project table to the network table (project name, network name).

테스트는 프로젝트 아이디, 모든 레이어의 결과 저장 여부 플래그를 포함하는 추론을 시작할 수 있다.Tests can initiate inferences that include the project ID and a flag whether to save results from all layers.

프레임워크부(300)는 다양한 기계학습 프레임워크 또는 딥러닝 프레임워크을 이용하여 기계학습을 수행할 수 있다.The framework unit 300 may perform machine learning using various machine learning frameworks or deep learning frameworks.

프레임워크는 응용 프로그램을 개발하기 위한 여러 라이브러리나 모듈 등을 효율적으로 사용할 수 있도록 하나로 묶어 놓은 일종의 패키지일 수 있다. 개발자 또는 관리자는 이미 검증된 수많은 라이브러리와 사전 학습이 완료된 다양한 딥러닝 알고리즘을 프레임워크를 통해 빠르고 손쉽게 사용할 수 있다.A framework may be a kind of package in which various libraries or modules for application program development are bundled into one for efficient use. Developers or administrators can quickly and easily use numerous libraries that have already been verified and various deep learning algorithms that have been pre-trained through the framework.

딥러닝 프레임워크는 TensoFlow, Torch/PyTorch, Deeplearing4j, CNTK(MICROSOFT COGNITIVE TOOLKIT), Keras, ONNX(Open Neural Network Exchange), MXNet, Caffe, QML(Quantum Machine Learning) 등이 있을 수 있다.Deep learning frameworks may include TensoFlow, Torch/PyTorch, Deeplearing4j, CNTK (MICROSOFT COGNITIVE TOOLKIT), Keras, ONNX (Open Neural Network Exchange), MXNet, Caffe, QML (Quantum Machine Learning), and the like.

프레임워크부(300)는 DB 서버(10)에 플러그 인으로 설치된 딥러닝 프레임워크일 수 있다. 프레임워크부(300)는 DB 서버(10)의 제어부(100)의 호출로 실행될 수 있다.The framework unit 300 may be a deep learning framework installed as a plug-in in the DB server 10. The framework unit 300 may be executed by calling the control unit 100 of the DB server 10.

프레임워크부(300)는 호출될 때 제어부(100)로부터 각종 데이터를 인자로 받아 수행결과를 반환할 수 있다. 프레임워크부(300)는 관계형 데이터 포맷으로 정의된 네트워크 모델을 해석하여 프레임워크 내부에 네트워크를 구성할 수 있다. 이러한 해석은 후술하는 변환부(360)에서 실행될 수도 있다.When called, the framework unit 300 may receive various data as arguments from the control unit 100 and return execution results. The framework unit 300 may construct a network within the framework by interpreting a network model defined in a relational data format. This analysis may be performed by a conversion unit 360 to be described later.

프레임워크부(300)는 제어부(100)로부터 학습 파라미터와 학습 데이터를 인자로 받아 프레임워크 내부에 구성된 네트워크의 학습을 수행하고 학습결과를 반환할 수 있다. 프레임워크부(300)는 제어부(100)로부터 입력 데이터를 인자로 받아 프레임워크 내부에 구성된 네트워크를 이용하여 기계추론을 수행하고 결과를 반환할 수 있다.The framework unit 300 may receive learning parameters and learning data from the control unit 100 as factors, perform learning of the network configured inside the framework, and return a learning result. The framework unit 300 may receive input data from the control unit 100 as a factor, perform machine inference using a network configured inside the framework, and return a result.

프레임워크부(300)는, 쿼리를 입력받으면, DB 서버(10)에 저장된 학습 모델에 대한 확인, 수정, 및 새로운 학습을 위한 학습 모델을 생성하며, 입력된 쿼리에 따라 정보 또는 데이터와 학습 모델을 선택하고 학습 파라미터를 설정하여 기계학습을 실행하고, 학습 중간 결과 및 최종 결과를 제공하며, 입력된 쿼리를 통하여 데이터와 기 학습된 학습 네트워크 모델을 선택하여 기계추론을 실행하고, 그 추론 결과를 제공할 수 있다.When a query is input, the framework unit 300 checks and corrects the learning model stored in the DB server 10 and creates a learning model for new learning, and generates information or data and a learning model according to the input query. Select and set learning parameters to execute machine learning, provide intermediate and final results of learning, select data and pre-learned learning network models through input queries to execute machine inference, and perform inference results can provide

본 실시예에서 프레임워크부(300)는 내부 프레임워크로 QML 모듈(310)을 구비할 수 있다. 내부 프레임워크는 QML 모듈(310) 이외에 다른 프레임워크를 구비하거나 더 구비할 수 있다. 이는 사용자에게 사용하고자 하는 다양한 선택지를 제공할 수 있다.In this embodiment, the framework unit 300 may include the QML module 310 as an internal framework. The internal framework may include or include other frameworks in addition to the QML module 310 . This may provide the user with various options to use.

QML 모듈(310)은 QML 플러그인 기능을 구현할 수 있다. QML 모듈(310)은 딥러닝을 수행할 수 있는 프레임워크인 QML을 탑재할 수 있다. QML 모듈(310)은 데이터베이스와 UDF(User Defined Function)를 통해 연결되며 호출에 의해 실행될 수 있다.The QML module 310 may implement QML plug-in functions. The QML module 310 may be equipped with QML, which is a framework capable of performing deep learning. The QML module 310 is connected to the database through a User Defined Function (UDF) and can be executed by a call.

프레임워크에 정의된 함수들은 각각 UDF를 통해 데이터베이스에 등록되고, 등록된 UDF 호출을 통해서 프레임워크가 실행될 수 있다.Each function defined in the framework is registered in the database through UDF, and the framework can be executed through the registered UDF call.

UDF에서 사용할 수 있는 인자 변수의 타입은 integer, real number, string으로 정해져 있다. 이러한 변수들은 QML에서 각각 사용될 수 있다. 예를 들어, 정수(integer) 타입은 네트워크 모델을 구성하는 필수 파라미터 중 정수값, QML 내부에 정의된 구조체 메모리의 주소값 등에 이용될 수 있다. Real number 타입은 네트워크 모델을 구성하는 필수 파라미터 중 실수값 등에 이용될 수 있으며, string 타입은 개수가 가변적인 파라미터들과 binary데이터인 blob 데이터에 이용될 수 있다.The types of argument variables that can be used in UDF are defined as integer, real number, and string. Each of these variables can be used in QML. For example, the integer type can be used as an integer value among essential parameters constituting a network model, an address value of a structure memory defined inside QML, and the like. The real number type can be used for real values among essential parameters constituting the network model, and the string type can be used for parameters with a variable number and blob data that is binary data.

QML 프레임워크는 채널 우선 데이터 포멧인 NCHW(N:batch, C:channel, H:height, W:width) 포멧을 따를 수 있다. 레이어 종류는 ONNX에서 사용되는 레이어를 지원하며, 각 레이어에 정의된 파라미터들도 ONNX 포맷을 따를 수 있다.The QML framework may follow the NCHW (N:batch, C:channel, H:height, W:width) format, which is a channel-first data format. The layer type supports layers used in ONNX, and parameters defined in each layer may also follow the ONNX format.

QML 프레임워크는 네트워크 모델을 학습가능하도록 백프로퍼케이션(Back-Propagation)알고리즘을 탑재할 수 있다. QML 프레임워크는 그라디언트 계산 알고리즘과 모델파라미터(weight, bias)를 업데이트 시키기 위한 옵티마제이션 알고리즘을 탑재할 수 있다.The QML framework can be equipped with a back-propagation algorithm to learn the network model. The QML framework can be loaded with gradient calculation algorithms and optimization algorithms to update model parameters (weights, biases).

QML 모듈(310)은 네트워크 모델(아키텍처)을 학습하는 방식중 네트워크 모델를 처음부터 학습시킨 후 각 레이어의 가중치에 따라 초기화 알고리즘을 통하여 결정하는 Train from scratch 기법과 기 학습된 모델의 가중치(import 기능을 통해 데이터베이스에 저장되거나, 이전 학습시도를 통해서 구한 가중치)를 읽어와서 레이어의 초기 가중치를 설정하고 학습을 진행하는 Fine tuning 기법을 지원할 수 있다.The QML module 310, among the methods of learning the network model (architecture), trains the network model from scratch and then determines it through an initialization algorithm according to the weight of each layer, using the train from scratch technique and the weight of the previously learned model (import function). It is possible to support a fine-tuning technique that sets the initial weight of the layer by reading the weight stored in the database or obtained through previous learning attempts through

QML 모듈(310)은 데이터베이스(DB 서버(10), 서버의 제어부(100) 또는 저장부(200)를 의미하며, 이하 동일)로부터 받은 정보를 통하여 학습 및 추론을 수행할 수 있다. 데이터베이스로부터 받은 정보는 사용자 Query 질의를 통하여 받은 데이터 조합을 통하여 획득할 수 있다.The QML module 310 may perform learning and inference through information received from a database (DB server 10, the control unit 100 or the storage unit 200 of the server, and the same below). Information received from the database can be obtained through data combinations received through user queries.

변환부(360)는 특정 학습 모델을 다른 형식의 학습 모델로 변환할 수 있다. 구체적으로, 변환부(360)는 특정 학습 모델을 데이터베이스의 관계형 데이터 형식으로 변환하거나, 관계형 데이터 형식의 학습 모델을 특정 학습 모델이나 다른 학습 모델로 변환할 수 있다. 예를 들어, 변환부(360)는 데이터베이스에 테이블 타입으로 저장된 학습 모델 테이블을 내부 프레임워크인 QML 프레임워크로 변환하거나, 그 역으로도 가능하다. 변환부(360)는 학습 모델(230)의 아키텍처, 레이어, 및 파라미터를 관계형 데이터 형식인 네트워크 테이블, 레이어 테이블, 및 파라미터 테이블로 변환하거나, 역변환할 수 있다.The conversion unit 360 may convert a specific learning model into another type of learning model. Specifically, the conversion unit 360 may convert a specific learning model into a relational data format of a database or convert a relational data format learning model into a specific learning model or another learning model. For example, the conversion unit 360 converts a learning model table stored in a table type in a database into a QML framework, which is an internal framework, or vice versa. The conversion unit 360 may convert the architecture, layers, and parameters of the learning model 230 into relational data formats such as a network table, a layer table, and a parameter table, or vice versa.

도 6을 참조하면, 변환부(360)는 QML 학습 모델 테이블을 QML 모듈(310)에 적합하게 학습 모델로 변환할 수 있다. 변환부(360)은 필요시 데이터셋 테이블을 QML 모듈(310)에서 사용하기 적합하게 변환할 수 있다. QML 모듈(310)(또는 프레임워크부(300))은 데이터셋과 변환된 QML 학습 모델을 이용하여 학습 및/또는 추론을 하여, 학습 결과를 출력할 수 있다. 변환부(360)는 QML 모듈(310)에서 출력한 학습 결과를 관계형 데이터 형식으로 변환하여 학습 결과(output) 테이블로 저장할 수 있다. 이러한 기능은 QML 모듈(310) 및/또는 데이터셋 관리 모듈(120) 중 적어도 어느 하나가 대신 수행하거나, 서로 분담하여 수행할 수 있다.Referring to FIG. 6 , the conversion unit 360 may convert the QML learning model table into a learning model suitable for the QML module 310. The conversion unit 360 may convert the dataset table to be suitable for use in the QML module 310, if necessary. The QML module 310 (or the framework unit 300) may perform learning and/or inference using the dataset and the converted QML learning model, and output a learning result. The conversion unit 360 may convert the learning result output from the QML module 310 into a relational data format and store it as a learning result (output) table. These functions may be performed by at least one of the QML module 310 and/or the dataset management module 120 instead, or may be performed separately from each other.

변환부(360)는 외부 프레임워크와의 호환성을 위해 사용될 수 있다. 변환부(360)는 기존 프레임워크의 기학습된 모델을 가져오거나 데이터베이스에서 정보 또는 데이터를 외부로 내보낼 때 ONNX(Open Neural Network Exchange) 모델 포맷 등의 다른 프레임워크 포맷으로 변환할 수 있다.The conversion unit 360 may be used for compatibility with an external framework. The conversion unit 360 may convert a pretrained model of an existing framework into another framework format such as an ONNX (Open Neural Network Exchange) model format when exporting information or data from a database to the outside.

도 7을 참조하면, 변환부(360)는 ONNX 모델 포맷에 정의된 망 구조(network structure) 및 모델 데이터(model data)를 데이터베이스의 네트워크 모델 포맷으로 변환(임포트; import)하거나, 반대로 데이터베이스의 네트워크 모델을 ONNX 모델을 포함하는 구조화딘 포맷이나 CSV 파일로 변환(엑스포트; export)할 수 있다.Referring to FIG. 7 , the conversion unit 360 converts (imports) the network structure and model data defined in the ONNX model format into the network model format of the database, or vice versa. You can convert (export) the model to a structured format or CSV file containing the ONNX model.

변환부(360)는 ONNX 모델 포맷 이외에 Open Network Exchange(ONNX), Neural Network Exchange Format(NNEF) 및 하이퍼 파라미터와 학습 파라미터 파일을 구조화된 포맷으로 변환할 수 있다.The conversion unit 360 may convert Open Network Exchange (ONNX), Neural Network Exchange Format (NNEF), and hyperparameter and learning parameter files into structured formats in addition to the ONNX model format.

사용자는 변환된 ONNX 모델 및 구조화된 포맷을 사용자가 원하는 target 프레임 워크로 변환하여 사용할 수 있다.The user can convert the converted ONNX model and structured format into the target framework desired by the user and use it.

변환부(360)를 통한 컨버팅 작업을 통하여 다른 형태의 딥러닝 프레임 워크에 네트워크 모델을 적용할 수 있다. 이를 통해, 데이터베이스에 저장되어 있는 관계형 데이터 형식의 모델을 호출하여 이와 유사한 형태의 데이터셋에 적용할 수 있다.The network model can be applied to other types of deep learning frameworks through a conversion operation through the conversion unit 360 . Through this, it is possible to call a relational data type model stored in the database and apply it to a similar type of dataset.

변환부(360)는 이러한 변환 작업을 통해, 작업에 소요되는 시간을 최소화 할 수 있다.The conversion unit 360 can minimize the time required for the work through this conversion work.

도 8은 본 발명의 실시 예에 따른 쿼리 기반의 기계학습 기술의 수행 흐름을 나타낸 흐름도이다.8 is a flowchart showing the execution flow of a query-based machine learning technique according to an embodiment of the present invention.

도 8을 참조하면, 본 발명의 실시 예에 따른 쿼리 기반의 기계학습 기술은 ONNX 포맷 또는 ONNX 포맷으로 변환된 기학습된 모델을 컨버터를 통해서 QML 포맷으로 변환하고, 단말기(20)로부터 학습 또는 추론 쿼리를 입력받으며, 데이터베이스에서 정보를 QML 모듈(310)로 전송하여, QML 모듈(310)에서 학습 및 추론을 수행할 수 있다. 그리고, 학습 또는 추론 결과를 데이터베이스에 저장하면, 단말기(20)는 데이터베이스에 저장된 결과를 확인할 수 있다. 이하, 구체적으로 설명한다.Referring to FIG. 8 , the query-based machine learning technology according to an embodiment of the present invention converts an ONNX format or a pre-learned model converted to the ONNX format into a QML format through a converter, and learns or infers from the terminal 20. A query is received, information is transmitted from the database to the QML module 310, and learning and inference can be performed in the QML module 310. And, if the results of learning or reasoning are stored in the database, the terminal 20 can check the results stored in the database. Hereinafter, it demonstrates concretely.

단말기(20)는 학습 모델을 입력(Import)하거나, 데이터베이스로부터 출력(Export)받을 수 있다(①).The terminal 20 may input (Import) a learning model or receive an output (Export) from a database (①).

학습 모델을 입력 또는 출력할 때, 변환부(360)를 통하여 데이터베이스의 스키마 구조에 맞게 변환할 수 있다(②).When inputting or outputting a learning model, it can be converted to suit the schema structure of the database through the conversion unit 360 (②).

데이터베이스는 쿼리를 해석하여 적절한 작업을 수행할 수 있다(③).The database can interpret the query and take appropriate action (③).

제어부(100)는 단말기(20)로부터 입력되는 쿼리의 QML의 유형을 분석하고, 이에 따른 결과를 QML 모듈(310)로 전송할 수 있다. 보다 상세하게 설명하면, 입력된 쿼리의 언어 종류를 분석하고, 호환여부 또는 유사한 작업내역이 저장부(200)에 있는지 파악하는 등의 작업을 수행할 수 있다.The control unit 100 may analyze the QML type of the query input from the terminal 20 and transmit a result thereof to the QML module 310 . In more detail, it is possible to perform operations such as analyzing the language type of the input query and determining compatibility or whether similar work details are stored in the storage unit 200 .

제어부(100)는 각각의 운영체제 또는 기계학습 프레임워크(S/W) 별로 최적의 성능을 구현할 수 있는 프로그램을 선별하고, QML 모듈(310)에 학습 및 추론을 요청할 수도 있다. 예를 들어, 제어부(100)는 학습이 요구되는 데이터셋이 이미지일 경우 이미지 학습에 최적의 성능을 발휘할 수 있는 기계학습 S/W를 선별하고, 선별된 S/W에 학습을 요청할 수 있다.The control unit 100 selects a program capable of implementing optimal performance for each operating system or machine learning framework (S/W), and may request learning and inference to the QML module 310. For example, when a dataset requiring learning is an image, the controller 100 selects a machine learning S/W capable of exhibiting optimal performance for image learning, and may request learning from the selected S/W.

이와 함께, 제어부(100)는 현재 학습을 위해, 사용중인 서버의 자원을 확인하여, 자원의 규모에 맞게 학습을 위한 프레임워크를 적용하거나, 프레임워크 적용시 구성요소의 선택적 적용을 시행할 수 있다.In addition, the control unit 100 can check the resources of the server currently in use for learning, apply a framework for learning according to the scale of the resources, or selectively apply components when the framework is applied. .

QML 모듈(310)는 데이터베이스에서 플러그인을 수행하고, 데이터베이스로부터 받은 정보를 통해 학습 및 추론을 수행할 수 있다(④).The QML module 310 may perform a plug-in in the database and perform learning and reasoning through information received from the database (④).

단말기(20)는 쿼리를 통해 데이터베이스로 학습 또는 추론을 요청할 수 있다(⑤).The terminal 20 may request learning or inference to the database through a query (⑤).

단말기(20)는 데이터베이스의 테이블을 조회하여 학습 관련 정보를 조회할 수 있다(⑥).The terminal 20 may search a table of the database to search learning-related information (⑥).

학습 모델 데이터는 데이터베이스에 QML 스키마로 저장될 수 있다(⑦).Learning model data can be stored as a QML schema in a database (⑦).

도 9는 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 방법을 설명하기 위한 동작 흐름도이다.9 is an operational flowchart for explaining a query-based deep learning inference method according to an embodiment of the present invention.

도 9를 참조하면, 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 시스템은, 단말기(2) 및 DB 서버(10)와 연동하는 프레임워크부(300)에서 쿼리 기반 딥러닝 추론 방법을 실행할 수 있다.Referring to FIG. 9 , in the query-based deep learning inference system according to an embodiment of the present invention, the query-based deep learning inference method can be executed in the framework unit 300 that works with the terminal 2 and the DB server 10. there is.

제어부(100)는 사용자 단말기로부터 학습 쿼리(Call Train) 또는 추론 쿼리(Call Test)를 입력 받을 수 있다(S410).The control unit 100 may receive an input of a learning query (Call Train) or an inference query (Call Test) from the user terminal (S410).

제어부(100)는 쿼리를 분석하여, 데이터셋과 적합한 학습 모델을 프레임워크부(300)로 전송할 수 있다.The control unit 100 may analyze the query and transmit a dataset and a suitable learning model to the framework unit 300 .

프레임워크부(300)는 학습 쿼리 또는 추론 쿼리에 따라 네트워크 초기화(Init Network), 네트워크 구성(Construct Network) 및 네트워크 갱신(Update Network)을 실행할 수 있다(S420).The framework unit 300 may execute network initialization (Init Network), network configuration (Construct Network), and network update (Update Network) according to the learning query or inference query (S420).

프레임워크부(300)는 모든 층에 대한 초기화(Initialize all layers)가 이루어지면 학습(Train) 또는 추론(Test)을 실행할 수 있다(S430).When all layers are initialized, the framework unit 300 may execute training or inference (Test) (S430).

프레임워크부(300)는 학습 종료시까지 배치 데이터를 획득하고(Get Batch Data) 반복(Iteration)하여 결과 및 모델을 저장 (Store Result & Model)할 수 있다.The framework unit 300 may acquire batch data (Get Batch Data) and store results and models (Store Result & Model) by repeating (Iteration) until the end of learning.

프레임워크부(300)는 테스트(Test)를 실행하고, 테스트 데이터를 획득하여(Get Test Data) 피드 포워드(feedforward)하고 추론 결과를 저장(Store Result)할 수 있다.The framework unit 300 may execute tests, obtain test data (Get Test Data), feed forward, and store inference results (Store Result).

프레임워크부(300)는 학습 또는 추론의 종료시 학습 결과 또는 추론 결과를 사용자 단말기(130)로 제공할 수 있다(S440).The framework unit 300 may provide a learning result or reasoning result to the user terminal 130 when learning or reasoning is finished (S440).

한편, 본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 시스템(1)은 다음과 같이 클라이언트, 회원, 데이터셋, 네트워크, 학습 모델, 학습 실행 등을 관리할 수 있다.Meanwhile, the query-based deep learning inference system 1 according to an embodiment of the present invention may manage clients, members, datasets, networks, learning models, and learning execution as follows.

[클라이언트 관리][Client Management]

본 발명의 실시 예에 따른 쿼리 기반 딥러닝 추론 시스템(1)은 사용자 단말기(130)로 데이터셋과 기계학습 과정을 관리하고 결과를 확인하기 위하여 기능을 제공할 수 있다.The query-based deep learning inference system 1 according to an embodiment of the present invention may provide the user terminal 130 with a function to manage a dataset and a machine learning process and check the result.

[회원 관리][Member Management]

쿼리 기반 딥러닝 추론 시스템(1)은 회원관리를 통해서 데이터베이스(110)의 데이터, 네트워크 모델의 생성, 수정 권한을 부여하고 변경 이력을 남길 수 있다.The query-based deep learning reasoning system 1 may grant authority to create and modify data in the database 110 and network models through member management, and may leave a history of changes.

[데이터셋 관리][Dataset Management]

쿼리 기반 딥러닝 추론 시스템(1)은 데이터셋을 관리하기 위하여 새로운 테이블을 생성하고, 데이터를 조회, 수정, 업로드하기 위한 기능을 제공할 수 있다. 새로운 데이터셋을 생성할 때 자동으로 새로운 테이블을 생성하고, 데이터를 업로드할 수 있다. 데이터베이스의 테이블에 접근하여 데이터를 조회거나 사용자가 작성한 쿼리를 통해서 데이터베이스의 데이터를 조회한 결과를 보여줄 수 있다. 권한에 따라 데이터를 수정할 수 있다. 사용자로부터 수치데이터를 입력 받거나, 하나 이상의 파일을 읽어서 데이터 업로드를 진행할 수 있다. 학습 데이터의 레이블을 작성(tagging)하는 기능을 제공할 수 있다.The query-based deep learning inference system 1 can create a new table to manage datasets and provide functions for searching, modifying, and uploading data. When you create a new dataset, you can automatically create a new table and upload the data. You can view data by accessing a table in the database or display the result of searching the database data through a query written by the user. Data can be modified according to authority. Data upload may be performed by receiving numerical data from the user or by reading one or more files. A function of labeling training data may be provided.

[네트워크 관리][Network Management]

쿼리 기반 딥러닝 추론 시스템(1)은 다음과 같이 네트워크 모델을 관리하기 위한 기능을 제공할 수 있다. 지원되는 레이어를 추가하고 레이어 파라미터를 조정하여 새로운 네트워크 모델을 생성할 수 있다. 기존에 작성된 네트워크 모델 리스트를 조회할 수 있다. 기존에 작성된 네트워크 모델에 새로운 레이어를 추가하여 새로운 네트워크 모델을 생성할 수 있다. 네트워크 모델을 시각화하여 보여주는 기능을 제공할 수 있다.The query-based deep learning inference system 1 may provide functions for managing network models as follows. New network models can be created by adding supported layers and adjusting layer parameters. A list of previously created network models can be queried. A new network model can be created by adding a new layer to an existing network model. A function to visualize and show the network model can be provided.

[학습 모델 관리][Manage Learning Model]

쿼리 기반 딥러닝 추론 시스템(1)은 다음과 같이 학습을 관리하기 위한 기능을 제공할 수 있다. 네트워크 모델과 데이터셋, 학습 파라미터를 조절하여 학습 모델을 생성 또는 수정할 수 있다. 학습이 끝난 네트워크 모델을 컨버터 기능을 통해 출력할 수 있다. 현재 사용중인 서버의 자원을 확인할 수 있다.The query-based deep learning inference system 1 may provide functions for managing learning as follows. You can create or modify a learning model by adjusting the network model, dataset, and learning parameters. The trained network model can be output through the converter function. You can check the resources of the server currently in use.

[학습 실행 관리][Manage Learning Run]

쿼리 기반 딥러닝 추론 시스템(1)은 다음과 같이 학습 및 추론을 수행하고 결과를 확인하기 위한 기능을 제공할 수 있다. 서버의 자원을 확인할 수 있다. 학습 및 추론 수행이 가능한지 여부를 사용자에게 알려줄 수 있다. 현재 실행 또는 대기 중인 학습계획 리스트를 조회할 수 있다. 등록된 네트워크 모델과 데이터셋, 학습 파라미터를 설정하여 학습계획을 생성할 수 있다. 현재 실행 또는 대기 중인 학습계획의 학습 파라미터를 확인할 수 있다. 현재 실행 중인 학습계획의 중간 및 결과를 확인할 수 있다. 현재 실행 중인 학습계획을 멈출 수 있다. 대기 중인 학습계획을 시작할 수 있다. 등록된 네트워크 모델과 데이터셋을 설정하여 추론계획을 생성할 수 있다. 실행된 추론 계획의 결과를 확인할 수 있다.The query-based deep learning inference system 1 may provide functions for performing learning and inference and checking results as follows. You can check server resources. The user may be notified whether learning and inference performance is possible. You can search the list of currently running or waiting learning plans. You can create a learning plan by setting the registered network model, dataset, and learning parameters. You can check the learning parameters of the currently running or waiting learning plan. You can check the middle and results of the currently running learning plan. You can stop the currently running learning plan. You can start a pending study plan. An inference plan can be created by setting the registered network model and dataset. You can check the results of the executed reasoning plan.

전술한 바와 같이 본 발명에 의하면, 딥러닝에 관한 전문적 지식이 없는 사용자라도 어려움 없이 사용자에게 필요한 정보를 제공할 수 있도록 딥러닝 프레임워크가 정보 데이터베이스에 플러그인 형태로 연결되어, 사용자의 요청 쿼리에 의해 정보 데이터베이스에 저장된 데이터를 딥러닝 방식으로 학습하여 쿼리에 대응하는 데이터를 추론할 수 있도록 하는, 쿼리 기반 딥러닝 추론 시스템을 실현할 수 있다.As described above, according to the present invention, the deep learning framework is connected to the information database in the form of a plug-in so that even a user without expert knowledge of deep learning can provide the user with necessary information without difficulty, It is possible to realize a query-based deep learning inference system that enables inference of data corresponding to a query by learning data stored in an information database using a deep learning method.

도 10은 스트리밍 시스템 및 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론을 이용한 사생활 보호 및 재검출 평가 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다. 도 11은 본 시스템의 일부 구성의 세부 블럭도이다. 도 12는 데이터의 변환을 도시하는 변환도이다. 도 13 및 도 14는 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론을 이용한 사생활 보호 및 재검출 평가 방법의 학습 및 추론에 대한 순서도이다. 도 15는 도 14의 추론 과정을 도시한다. 도 16은 도 14의 평가 과정을 도시한다. 도 17은 추론 및 평가의 전후 이미지를 도시한다. 도 1 내지 도 9를 참고한다..10 is a configuration diagram schematically showing the overall configuration of a streaming system and a privacy protection and rediscovery evaluation system using query-based deep learning inference according to an embodiment of the present invention. 11 is a detailed block diagram of some configurations of the present system. Fig. 12 is a conversion diagram showing conversion of data. 13 and 14 are flowcharts for learning and reasoning of a method for evaluating privacy protection and re-detection using query-based deep learning inference according to an embodiment of the present invention. FIG. 15 illustrates the inference process of FIG. 14 . FIG. 16 shows the evaluation process of FIG. 14 . Figure 17 shows images before and after inference and evaluation. See Figures 1 to 9.

영상 녹화물 등은 공개대상 정보에 해당하거나, 일반인에게 열람 가능한 대상이 되는 경우 등에 민감한 사생활 보호 대상을 제외하고 공개해야 한다. 사생활 보호 방법은 기계학습으로, 영상 분석하여 식별 대상을 감지하여 마스킹하는 개인 정보 보호에 관한 기술이다. 본 명세서 전반에서 '식별 대상', '검출 대상', '사생활 보호 대상', 및 '개인 정보 보호 대상' 등은 동일한 의미로 이용된다.Video recordings, etc., must be disclosed except for sensitive privacy protection subjects, such as when they fall under disclosure target information or when they are subject to public viewing. The privacy protection method is machine learning, which is a technology related to personal information protection that detects and masks identification objects through image analysis. Throughout this specification, 'identification target', 'detection target', 'privacy protection target', and 'personal information protection target' are used with the same meaning.

구체적으로 개인 정보 보호 기술은 영상 녹화물 등의 원본 이미지에서 식별 대상을 감지하고, 원본 이미지의 감지된 식별 이미지 박스를 마스킹하여, 식별 대상을 인식하지 못하도록 하는 기술을 의미한다.Specifically, the personal information protection technology means a technology for detecting an identification target in an original image such as a video recording and masking the detected identification image box of the original image so as not to recognize the identification target.

이하, 용어를 구체적으로 설명한다.Hereinafter, terms will be described in detail.

본 명세서에서, 식별 대상은 CCTV, 네트워크 카메라, 블랙박스와 같은 이용형 기기 등에서 생성된 영상 녹화물(또는 '원본 영상 녹화물')에서 사람의 안면이나 자동차 번호판과 같은 프라이버시 침해나 개인정보 노출 등이 될 수 있는 보호 대상을 의미한다.In this specification, the subject of identification may be privacy invasion or personal information exposure, such as a person's face or license plate in video recordings (or 'original video recordings') generated by CCTVs, network cameras, and useable devices such as black boxes. means the subject of protection.

지능형 영상 분석 기술은 감지(detection)과 인식(recognition)으로 나눌 수 있다. 감지는 식별 대상이 있는지 분석하는 것이고, 인식은 특정 대상과 일치하는지 판단하는 것이다. 예를 들어, 얼굴 감지는 이미지 또는 비디오 프레임에서 얼굴의 존재, 위치, 및 크기를 분석하며, 추가적인 정보(예를 들어, 얼굴의 방향 등)을 분석할 수 있다. 얼굴 인식은 이미지 안의 얼굴이 다른 이미지의 얼굴과 일치하는 지 판단하는 것이다. 특히, 본 명세서에서 인식 가능은 이미지 안의 식별 대상을 특정할 수 있는 특정 특성, 즉, 보호 대상이 되는 정보가 있음을 의미할 수 있다. 즉, 식별 대상이 있는 것으로 추정되는 어떤 이미지, 예를 들어, 인물 사진으로 추정되는 이미지는 얼굴이 존재하지 않는 이미지, 얼굴이 존재(감지)하며 특정인으로 인식할 수 있는 이미지, 및 얼굴이 존재하며 특정인으로 인식할 수 없는 이미지로 분류될 수 있다.Intelligent image analysis technology can be divided into detection and recognition. Detection is to analyze whether there is an identified object, and recognition is to determine whether it matches a specific object. For example, face detection analyzes the presence, location, and size of faces in an image or video frame, and may analyze additional information (eg, face orientation, etc.). Face recognition is to determine whether a face in an image matches a face in another image. In particular, in the present specification, recognizable may mean that there is a specific characteristic capable of specifying an identification target in an image, that is, information to be protected. That is, an image estimated to have an identification target, for example, an image estimated to be a portrait, has an image in which a face does not exist, an image in which a face exists (detected) and can be recognized as a specific person, and a face. It can be classified as an image that cannot be recognized as a specific person.

식별 이미지 박스는 원본 이미지(식별 이미지) 중 식별 대상 부분을 의미한다.The identification image box means a part to be identified among original images (identification images).

마스킹은 원본 이미지의 식별 대상에서 특정 특성이 나타나지 않도록 조작하여, 적어도 식별 대상을 인식하지 못하도록 하는 것을 의미한다. 마스킹된 식별 이미지 박스는 마스킹 이미지 박스(비식별 이미지 박스)를 의미한다. 변환 이미지(비식별 이미지, 마스킹 이미지)는 원본 이미지를 마스킹한 이미지를 의미한다.Masking refers to manipulating an object of identification in an original image so that a specific characteristic does not appear, so that at least the object of identification is not recognized. The masked identification image box means a masking image box (non-identification image box). A converted image (non-identification image, masking image) refers to an image obtained by masking an original image.

식별 이미지 박스 및 마스킹 이미지 박스의 박스는 사각형만을 의미하지 않고, 다각형이나 타원형 또는 비정형 모양일 수 있다. 서로 대응되는 식별 이미지 박스 및 마스킹 이미지 박스는 동일한 모양인 것이 바람직하다.The boxes of the identification image box and the masking image box do not mean only rectangles, but may have polygonal, elliptical, or irregular shapes. It is preferable that the identification image box and the masking image box corresponding to each other have the same shape.

마스킹 처리는 모자이크 처리 및 대체 처리 중 어느 하나 또는 그 조합일 수 있다.The masking process may be any one or a combination of a mosaic process and a replacement process.

모자이크 처리는 식별 이미지 박스를 조작하는 것을 의미할 수 있다. 예를 들어, 식별 이미지 박스를 저해상도로 변환하거나 블러 등 처리하여, 마스킹 이미지 박스에 원래의 이미지의 모양이나 색상이 어느 정도 대응되도록 처리하는 것이다.Mosaic processing may mean manipulating the identification image box. For example, the identification image box is converted to a low resolution or processed such as blur, so that the shape or color of the original image corresponds to some extent to the masking image box.

대체 처리는 식별 이미지 박스와 무관한 이미지로 덮어 쓰는 것을 의미할 수 있다. 예를 들어, 식별 이미지 박스 대신 이모지나 다른 이미지로 대체 것으로, 원래의 이미지의 모양이나 색상이 남아 있지 않도록 하는 것이다.Substitution processing may mean overwriting with an image unrelated to the identification image box. For example, an emoji or other image is substituted for the identification image box so that the shape or color of the original image is not retained.

사생활 보호를 위해 식별 대상이 감지되지 않도록 할 수 있으나, 데이터의 정보 분석 등을 위해 식별 대상이 감지되나 특정 특성을 알 수 없도록 인식 불가능한 정도로 이미지를 마스킹하는 것이 바람직하다. 예를 들어, 변환 이미지에서 인물이나 번호판 등의 검출 대상이 있는지 분석할 필요가 있을 수 있다. 이 때, 마스킹 이미지의 검출 대상을 감지하지 못할 정도로 식별 대상이 마스킹되어 있는 경우, 해당 변환 이미지에 영상 분석 기술 특히, 딥러닝 방식 등을 적용하기 어려울 수 있다. 즉, 어떤 이미지를 식별 대상의 특정 특성이 사라지도록 마스킹하는 것은 어떤 특정 대상인지 인식은 불가능하도록 하되, 검출 대상이 있는지 감지되도록 하는 것이 바람직하다.For privacy protection, it is possible to prevent an identification object from being detected, but it is preferable to mask the image to an unrecognizable level so that a specific characteristic cannot be known even though the identification object is detected for information analysis of data. For example, it may be necessary to analyze whether there is a detection target such as a person or license plate in the converted image. At this time, when the identification target is masked to the extent that the detection target of the masking image cannot be detected, it may be difficult to apply an image analysis technique, particularly a deep learning method, to the corresponding converted image. That is, it is preferable to mask an image so that a specific characteristic of an identification target disappears so that it is impossible to recognize a specific target, but to detect whether there is a detection target.

본 발명의 일 실시예는 사생활 보호 솔루션에 대한 검출 대상의 감지에 대한 정확도를 제시할 수 있다. 사생활 보호 솔루션의 정확도는 특정 회사의 특정 모델이나, 특정 기계학습된 아키텍처 등 각각의 솔루션에 대해 개별적으로 측정할 수 있다.An embodiment of the present invention may suggest accuracy of detection of a detection target for a privacy protection solution. The accuracy of a privacy protection solution can be measured individually for each solution, such as a specific model from a specific company, or a specific machine-learned architecture.

정확도는 대상 감지율 및 감지 에러율이 있을 수 있다.Accuracy may include a target detection rate and a detection error rate.

대상 감지율은 마스킹 이미지에서 식별 대상의 존재 여부에 대한 정확도를 의미한다. 감지 에러율은 마스킹 이미지에서 감지된 식별 대상(검출 대상)의 원래 위치 및 크기와의 일치율을 의미한다. 대상 감지율 및 감지 에러율은 추가 적인 요소나 다항목 요소가 있을 수 있으며, 최종적인 대상 감지율 및 감지 에러율은 추가 요소나 다항목 요소의 종합적인 결과이거나 개별적인 지표들의 나열일 수 있다.The target detection rate means the accuracy of whether a target to be identified exists in the masking image. The detection error rate means a matching rate with the original position and size of an identification object (detection object) detected in the masking image. The target detection rate and detection error rate may have additional elements or multi-item elements, and the final target detection rate and detection error rate may be a comprehensive result of additional elements or multi-item elements or a list of individual indicators.

예를 들어, 대상 감지율은 검출 대상으로 판정한 개수 대비 판정된 것들 중 실제로 검출한 대상 개수와 같은 정밀도, 본래의 전체 검출 대상 개수 대비 검출 대상으로 판정한 개수와 같은 재현율 등 여러 지표들이 있을 수 있다. 대상 감지율의 범위는 하나의 정지 이미지 및/또는 전체 프레임일 수 있다.For example, the target detection rate may include various indices such as precision, such as the number of objects actually detected among the number of detected objects compared to the number of objects determined as detection objects, and recall rate, such as the number of objects determined as detection objects compared to the total number of original detection objects. there is. The range of target detection rates may be one still image and/or an entire frame.

감지 에러율은 비식별 이미지 박스의 위치 및 크기에 대한 검출 대상으로 판정된 이미지 박스의 위치 및 크기를 통계적인 수치로 나타낸 것일 수 있다. 예를 들어, 감지 에러율의 측정 모델은 픽셀 정확도(Pixel Accuracy), 평균 정확도(Mean Accuracy), Mean IU(Intersection over Union), 및 Frequency Weighted IU 등이 있을 수 있다. 각 측정 모델의 수식은 다음과 같다.The detection error rate may represent the position and size of the image box determined as a detection target relative to the position and size of the non-identified image box as statistical values. For example, the detection error rate measurement model may include pixel accuracy, mean accuracy, mean intersection over union (IU), and frequency weighted IU. The formula for each measurement model is as follows.

- 픽셀 정확도(Pixel Accuracy) = (검출 대상 맞춘 픽셀수 + 비검출 대상 맞춘 픽셀수) / 전체 픽셀수}- Pixel Accuracy = (number of pixels aligned with detection target + number of pixels aligned with non-detection target) / total number of pixels}

- 평균 정확도(Mean Accuracy) = (검출 대상 맞춘 픽셀수 / 전체 검출 대상 픽셀수 + 비검출 대상 맞춘 픽셀수 / 전체 비검출 대상 픽셀수) / 2}- Mean Accuracy = (Number of pixels aligned with detection targets / Number of pixels with total detection targets + Number of pixels aligned with non-detection targets / Total number of pixels with non-detection targets) / 2}

- Mean IU(Intersection over Union) = (검출 대상 픽셀 IU + 비검출 대상 픽셀 IU) / 2- Mean IU (Intersection over Union) = (Detection target pixel IU + Non-detection target pixel IU) / 2

- 검출 대상 픽셀 IU = 마스킹 이미지 박스와 판정 이미지 박스의 교집합 픽셀수 / 마스킹 이미지 박스와 판정 이미지 박스의 합집합 픽셀수- Detection target pixel IU = Number of intersection pixels of masking image box and decision image box / Number of union pixels of masking image box and decision image box

- Frequency Weighted IU = (본래 검출 대상 픽셀수 * 검출 대상 픽셀 IU + 본래 비검출 대상 픽셀수 * 비검출 대상 픽셀 IU) / 전체 픽셀수- Frequency Weighted IU = (Original number of detection target pixels * Detection target pixel IU + Original number of non-detection target pixels * Non-detection target pixel IU) / Total number of pixels

검출 대상의 인식을 GAN(Generative Adversarial Networks)을 이용하는 경우, 감지 에러율의 픽셀 대신에 GAN의 특성 포인트를 대신할 수 있다.In the case of using generative adversarial networks (GAN) for recognition of a detection target, characteristic points of the GAN may be substituted for pixels of the detection error rate.

도 10(a)를 참조하면, 스트리밍 시스템은 일반적인 스트리밍 서비스를 제공하는 시스템으로 서버(11), 카메라(50), 및 사용자 단말기(30)를 포함할 수 있다.Referring to FIG. 10 (a), the streaming system is a system providing a general streaming service and may include a server 11, a camera 50, and a user terminal 30.

카메라(50)는 CCTV, 네트워크 카메라 등을 의미할 수 있다. 카메라(50)는 서버(11)와 통신할 수 있다.The camera 50 may mean a CCTV, a network camera, and the like. The camera 50 may communicate with the server 11 .

서버(11)는 카메라(50)가 촬영한 신호 또는 촬영 데이터를 수신하여 사용자 단말기(30)에게 동영상 스트리밍 서비스를 제공할 수 있다. 촬영된 산출물은 무작위로 대상을 촬영하여, 사람의 얼굴이나 자동차 번호판 등의 프라이버시 대상이 스트리밍 서비스될 수 있다. 프라이버시 대상 즉, 타인이 식별할 수 있는 식별 대상은 타인이 식별 불가능하게 비식별 대상으로 변환할 필요가 있다.The server 11 may provide a video streaming service to the user terminal 30 by receiving a signal or data captured by the camera 50 . The photographed product randomly shoots an object, and a privacy object such as a person's face or license plate can be provided as a streaming service. A privacy object, that is, an identification object that can be identified by others needs to be converted into a non-identification object so that others cannot identify it.

도 10(b)를 참조하면, 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론을 이용한 사생활 보호 및 재검출 평가 시스템은 DB 서버(10), 관리자 단말기(20), 사용자 단말기(30), 및 카메라(50)를 포함할 수 있다. 동일한 요소의 내용은 도 1 내지 도 9에서 기술한 내용을 참고한다.Referring to FIG. 10(b) , the privacy protection and re-detection evaluation system using query-based deep learning inference according to an embodiment of the present invention includes a DB server 10, an administrator terminal 20, a user terminal 30, and a camera 50. For contents of the same elements, refer to the contents described in FIGS. 1 to 9 .

카메라(50)는 CCTV, 네트워크 카메라 등을 의미할 수 있다. 다만 이에 한정되지 않으며 블랙박스 등 다양한 매체일 수 있다. 또한, 카메라(50)는 본 시스템에서 생략되어 실시될 수 있다. 생략된 경우, 산출된 이미지는 DB 서버(10)에 미리 저장된 것으로 볼 수 있다.The camera 50 may mean a CCTV, a network camera, and the like. However, it is not limited thereto and may be various media such as a black box. In addition, the camera 50 may be implemented by omitting the present system. If omitted, the calculated image can be regarded as pre-stored in the DB server 10.

단말기(20)는 관리자를 의미할 수 있다. 단말기(20)는 DB 서버(10)에 입출력하는 장치일 수 있다.The terminal 20 may mean a manager. The terminal 20 may be a device that inputs and outputs to the DB server 10.

사용자 단말기(30)은 시청자를 의미할 수 있다. 단말기(20)와 사용자 단말기(30)는 동일한 요소일 수 있다.The user terminal 30 may mean a viewer. The terminal 20 and the user terminal 30 may be the same element.

사용자 단말기(30)는 일 실시예에 따른 스트리밍을 시청하는 사용자를 표시하기 위한 것으로, 본 실시예에 따른 시스템에서 생략될 수 있다.The user terminal 30 is for displaying a user watching streaming according to an embodiment, and may be omitted in the system according to the present embodiment.

DB 서버(10)는 데이터베이스를 운용하거나 데이터베이스와 연결되어 제어하는 서버일 수 있다. 단말기(20)는 딥러닝 추론 쿼리를 입력하고, DB 서버(10)로부터 쿼리에 대응된 추론 결과를 수신할 수 있다.The DB server 10 may be a server that operates a database or connects to and controls a database. The terminal 20 may input a deep learning inference query and receive an inference result corresponding to the query from the DB server 10 .

도 2를 참조하면, DB 서버(10)는 제어부(100), 저장부(200), 프레임워크부(300), 변환부(360), 및 입출력부(370)를 포함할 수 있다. 자세한 설명은 도 2를 참조한다.Referring to FIG. 2 , the DB server 10 may include a control unit 100, a storage unit 200, a framework unit 300, a conversion unit 360, and an input/output unit 370. See FIG. 2 for a detailed description.

저장부(200)는 DB 서버(10)가 동작하는데 필요한 데이터와 프로그램 등을 저장할 수 있다. 저장부(200)는 제어부(110)의 처리 및 제어를 위한 프로그램이 저장될 수 있고, 입력되거나 출력되는 데이터들의 임시 저장을 위한 기능을 수행할 수 있다.The storage unit 200 may store data and programs necessary for the DB server 10 to operate. The storage unit 200 may store programs for processing and control of the control unit 110 and may perform a function for temporarily storing input or output data.

제어부(100)는 DB 서버(10)의 각 부의 동작을 제어하여 DB 서버(10)의 전반적인 제어 기능을 실행할 수 있다.The control unit 100 may execute overall control functions of the DB server 10 by controlling the operation of each unit of the DB server 10 .

도 11을 참조하면, 제어부(100)는 데이터셋 관리 모듈(120), 학습 모델 관리 모듈(130), 결과 관리 모듈(160), 이미지 박스 관리 모듈(170), 및 평가 모듈(180)을 구비할 수 있으며, 저장부(200)는 데이터셋(220), 학습 모델(230), 학습 결과(260), 이미지 박스 저장 모듈(270), 및 평가 결과(280)를 저장할 수 있다. 데이터셋 관리 모듈(120), 학습 모델 관리 모듈(130), 결과 관리 모듈(160), 데이터셋(220), 학습 모델(230), 및 학습 결과(260)는 도 1 내지 도 9, 특히, 도 3의 설명을 참조한다.Referring to FIG. 11 , the controller 100 includes a dataset management module 120, a learning model management module 130, a result management module 160, an image box management module 170, and an evaluation module 180. The storage unit 200 may store the dataset 220, the learning model 230, the learning result 260, the image box storage module 270, and the evaluation result 280. The dataset management module 120, the learning model management module 130, the result management module 160, the dataset 220, the learning model 230, and the learning result 260 are illustrated in FIGS. 1 to 9, in particular, See the description of FIG. 3 .

이미지 박스(IB) 관리 모듈(170)은 원본 이미지의 식별 대상인 식별 이미지 박스를 마스킹 이미지 박스로 마스킹할 수 있다. 이미지 박스 관리 모듈(170)은 식별 이미지 박스를 이미지 박스(IB) 저장 모듈(270)에 저장할 수 있다. 이미지 박스 관리 모듈(170)은 식별 이미지 박스를 암호화하여 저장할 수 있다.The image box (IB) management module 170 may mask an identification image box, which is an identification target of an original image, with a masking image box. The image box management module 170 may store the identification image box in the image box (IB) storage module 270 . The image box management module 170 may encrypt and store the identification image box.

이미지 박스 관리 모듈(170)은 식별 이미지 박스와 마스킹 이미지 박스를 서로 대응되도록 매핑할 수 있다. 이를 위해, 이미지 박스 저장 모듈(270)은 마스킹 이미지 박스에 관련된 식별 이미지 박스의 파일 명, 프레임, 시간, 원본 이미지에서의 배치 위치, 및 크기 중 적어도 하나인 매핑 정보를 저장할 수 있다. 이미지 박스 저장 모듈(270)은 이러한 매핑 정보를 마스킹 이미지 박스의 메타 정보로 저장할 수 있다.The image box management module 170 may map the identification image box and the masking image box to correspond to each other. To this end, the image box storage module 270 may store mapping information that is at least one of the file name, frame, time, arrangement position in the original image, and size of the identification image box related to the masking image box. The image box storage module 270 may store such mapping information as meta information of the masking image box.

이미지 박스 관리 모듈(170)은 프레임워크부(300)의 내부 프레임워크로서 기능하거나, QML 모듈(310)에 합쳐질 수 있다. 즉, QML 모듈(310) 또는 프레임워크부(300)는 이미지 박스 관리 모듈(170)의 기능을 수행할 수 있다.The image box management module 170 may function as an internal framework of the framework unit 300 or be incorporated into the QML module 310. That is, the QML module 310 or the framework unit 300 may perform the function of the image box management module 170.

평가 모듈(180)은 사생활 보호 솔루션의 마스킹된 식별 대상을 영상 분석 솔루션을 통해 얼마나 감지(재검출)할 수 있는지 평가할 수 있다.The evaluation module 180 may evaluate how much the masked identification object of the privacy protection solution can be detected (redetected) through the image analysis solution.

본 실시예에서 사생활 보호 솔루션(901) 및/또는 영상 분석 솔루션(902)은 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론을 이용한 사생활 보호 및 재검출 평가 시스템 또는 방법이 적용된 솔루션이거나, 다른 사생활 보호용 마스킹 솔루션 및/또는 영상 분석 솔루션일 수 있다.In this embodiment, the privacy protection solution 901 and/or the image analysis solution 902 is a solution to which the privacy protection and re-detection evaluation system or method using query-based deep learning inference according to an embodiment of the present invention is applied, or other It may be a masking solution for privacy and/or an image analysis solution.

솔루션은 장치나 프로그램, 앱 등을 통칭한다. 솔루션은 명시된 코드로 작성된 프로그램, 또는 학습 및/또는 추론하여 실행할 수 있는 기계학습, 딥러닝, 인공지능에 의한 시스템(알고리즘의 집합)을 통칭하기로 한다.A solution collectively refers to a device, program, or app. The solution shall collectively refer to a program written in the specified code or a system (set of algorithms) based on machine learning, deep learning, and artificial intelligence that can be executed by learning and/or reasoning.

사생활 보호 솔루션(901)은 원본 이미지의 식별 대상을 감지하여, 감지된 식별 대상의 특정 특성이 인식되지 않도록 마스킹 등의 처리를 하는 솔루션을 의미한다. 추가로, 사생활 보호 솔루션은 원본 이미지를 마스킹 처리하여 비식별 이미지로 변환할 수 있다.The privacy protection solution 901 refers to a solution that detects an identification object of an original image and processes such as masking so that a specific characteristic of the detected identification object is not recognized. In addition, the privacy protection solution can convert the original image into a non-identifying image by masking it.

영상 분석 솔루션(902)은 특정 이미지에서 식별 대상을 감지할 수 있는 솔루션을 의미한다. 영상 분석 솔루션은 사생활 보호 솔루션을 그대로 이용하거나, 다른 알고리즘에 적용된 솔루션일 수 있다.The image analysis solution 902 refers to a solution capable of detecting an identification target in a specific image. The video analysis solution may use the privacy protection solution as it is or may be a solution applied to other algorithms.

평가 모듈(180)은 본 실시예에 따른 식별 대상이 마스킹된 이미지, 또는 다른 기술에 의해 식별 대상이 마스킹된 이미지에서 식별 대상을 잘 감지하는지 그 정확도인 대상 감지율 및/또는 식별 대상이 원래 위치와 크기에 있는지의 일치율인 감지 에러율을 평가할 수 있다.The evaluation module 180 determines whether the identification target is well detected in an image in which the identification target according to the present embodiment is masked or an image in which the identification target is masked by another technology, the target detection rate and / or the original position of the identification target It is possible to evaluate the detection error rate, which is the coincidence rate of being in the size of .

평가 모듈(180)은 대상 감지율 및 감지 에러율 중 적어도 하나를 구비하는 평가 결과(280)를 저장부(200)에 저장할 수 있다.The evaluation module 180 may store the evaluation result 280 including at least one of a target detection rate and a detection error rate in the storage unit 200 .

도 12를 참조하면, 카메라(50)는 대상을 촬영하여 녹화 영상물인 식별 동영상(510)을 생성하여 DB 서버(10)에 전송할 수 있다. 식별 동영상(510)은 사생활 보호 대상을 구비할 수 있다.Referring to FIG. 12 , the camera 50 may photograph an object to generate an identification video 510 that is a recorded video object and transmit it to the DB server 10 . The identification video 510 may include a privacy protection target.

DB 서버(10)의 데이터셋 관리 모듈(120)은 식별 동영상(510)을 디코딩하여 데이터베이스 형식에 적합하도록 식별 이미지 데이터 셋 테이블(520)로 변환할 수 있다. 식별 이미지 데이터 셋 테이블(520)은 식별 동영상(510)의 프레임별 이미지들의 집합일 수 있다.The dataset management module 120 of the DB server 10 may decode the identification video 510 and convert it into an identification image data set table 520 suitable for a database format. The identification image data set table 520 may be a set of images for each frame of the identification video 510 .

식별 이미지 데이터 셋 테이블(520)의 이미지들은 DB 서버(10)에서 보호 대상이 마스킹 처리되어 비식별 이미지 데이터 셋 테이블(530)로 변환될 수 있다. 이러한 마스킹 처리는 딥러닝에 의해 수행될 수 있다.The images of the identification image data set table 520 may be converted into the non-identification image data set table 530 by masking the protection target in the DB server 10 . This masking process may be performed by deep learning.

데이터셋 관리 모듈(120)은 비식별 이미지 데이터 셋 테이블(530)을 인코딩하여 비식별 동영상(540)으로 변환할 수 있다. 데이터셋 관리 모듈(120)은 비식별 이미지 데이터 셋 테이블(530)을 인코딩하여 비식별 동영상 스트리밍(550) 서비스를 제공할 수 있다. 이 경우, 비식별 동영상(540)은 저장하지 않을 수 있다.The dataset management module 120 may encode the non-identified image data set table 530 and convert it into a non-identified video 540 . The dataset management module 120 may encode the non-identified image data set table 530 to provide a non-identified video streaming 550 service. In this case, the non-identified video 540 may not be stored.

도 13을 참조하면, 제어부(100)는 사용자(단말기(20))로부터 사생활 보호 기능(딥러닝 기능)을 훈련하라는 쿼리를 입력 받을 수 있다(S610). 처리할 데이터는 저장부(200)에 미리 저장되어 있거나, 카메라(50)를 입력 받거나, 쿼리와 함께 입력 받을 수 있다. 본 실시예에서 딥러닝 기능은 쿼리로부터 그 내용인 사생활 보호 기능을 도출할 수 있다. 딥러닝 기능은 사생활 보호, 안면(얼굴), 모자이크(블러, 이모지, 저해상), 마스킹, 이미지, 동영상 등과 같은 키워드들의 조합을 이용할 수 있다. 학습용 이미지는 데이터셋 테이블 형식으로 데이터베이스화되어 있을 수 있다.Referring to FIG. 13 , the controller 100 may receive a query requesting training of a privacy protection function (deep learning function) from a user (terminal 20) (S610). The data to be processed may be pre-stored in the storage unit 200, received through the camera 50, or received along with a query. In this embodiment, the deep learning function may derive the content of the privacy protection function from the query. The deep learning function may use a combination of keywords such as privacy protection, face (face), mosaic (blur, emoji, low resolution), masking, image, video, and the like. Images for training may be databased in the form of a dataset table.

제어부(100)는 사생활 보호 기능에 적합한 학습 모델 테이블을 선택할 수 있다(S620). 사생활 보호 기능의 학습 모델 테이블은 저장부(200)에 저장된 복수의 학습 모델 테이블 중에서 선택될 수 있다. 제어부(100)는 학습 모델 테이블과 학습용 데이터셋 테이블을 비교하여, 학습용 데이터셋 테이블과 유사도가 높은 데이터 형식의 학습 모델 테이블을 사생활 보호용 학습 모델 테이블로 선택할 수 있다. 다만 이에 한정되지 않고, 사생활 보호 기능의 학습 모델 테이블은 사용자에 의해 선택될 수 있다.The controller 100 may select a learning model table suitable for the privacy protection function (S620). The learning model table of the privacy protection function may be selected from among a plurality of learning model tables stored in the storage unit 200 . The control unit 100 may compare the learning model table and the learning dataset table and select a learning model table having a data format having a high similarity to the learning dataset table as the privacy protection learning model table. However, it is not limited thereto, and the learning model table of the privacy protection function may be selected by the user.

학습 모델 테이블은 외부 프레임워크에서 생성된 학습 모델을 임포트(import)한 것일 수 있다.The learning model table may be an imported learning model created in an external framework.

제어부(100)는 사생활 보호 기능의 학습 모델 테이블에 속한 네트워크 테이블을 DB 서버(10)에 플러그인으로 설치된 프레임워크부(300)에 적합한 포맷으로 변환하여 모델 아키텍처를 구성할 수 있다(S630).The control unit 100 may configure a model architecture by converting the network table belonging to the learning model table of the privacy protection function into a format suitable for the framework unit 300 installed as a plug-in in the DB server 10 (S630).

제어부(100)는 구성된 모델 아키텍처에 임의의 학습 파라미터를 할당(S640)하여, 학습 모델을 훈련할 준비를 할 수 있다. 훈련 내용은 식별 대상을 검출하는 것일 수 있다. 훈련 내용은 식별 대상 검출 외에 검출된 식별 대상을 식별되지 못하도록 변환하는 내용을 더 포함할 수 있다. 본 실시예에서 식별 대상의 검출은 식별 대상은 감지하는 정도면 족하다. 또한 이미지의 변환은 식별 대상을 감지하되, 특정 특성을 인식하지 못하도록 하는 것이 바람직하다.The control unit 100 may prepare to train the learning model by allocating arbitrary learning parameters to the configured model architecture (S640). The training content may be to detect an identification target. The training content may further include content for converting the detected identification object so that it cannot be identified in addition to detection of the identification object. In the present embodiment, detection of an identification target is enough to detect the identification target. In addition, it is preferable to detect the identification target in the conversion of the image, but not to recognize a specific characteristic.

프레임워크부(300), 예를 들어, QML 모듈(310)은 학습용 이미지와 학습 파라미터가 할당된 모델 아키텍처를 이용하여 훈련할 수 있다(S650).The framework unit 300, for example, the QML module 310 may train using a model architecture to which learning images and learning parameters are assigned (S650).

제어부(100)는 QML 모듈(310)로부터 훈련 결과를 수신할 수 있다. 제어부(100)는 훈련 결과를 저장부(200)에 저장할 수 있다. 제어부(100)는 훈련된 모델 아키텍처 및 훈련된 학습 파라미터를 네트워크 테이블 및 학습 파라미터 테이블로 변환하여 사생활 보호 기능의 학습 모델 테이블로 DB 서버(10)에 저장할 수 있다.The controller 100 may receive training results from the QML module 310 . The control unit 100 may store training results in the storage unit 200 . The control unit 100 may convert the trained model architecture and the trained learning parameters into a network table and a learning parameter table, and store them in the DB server 10 as a learning model table of a privacy protection function.

도 14를 참조하면, 제어부(100)는 사용자(단말기(20))로부터 쿼리를 입력 받아 이를 해석하여 사생활 보호 기능을 딥러닝 추론하라는 명령를 입력 받을 수 있다(S710). 처리할 데이터는 저장부(200)에 미리 저장되어 있거나, 카메라(50)를 통해 입력 받거나, 쿼리를 통해 입력될 수 있다. 본 실시예에서 딥러닝 기능은 사생활 보호, 안면(얼굴), 모자이크(블러, 이모지, 저해상), 마스킹, 이미지, 동영상 등과 같은 키워드들의 조합에서 사생활 보호 기능을 도출할 수 있다.Referring to FIG. 14 , the control unit 100 may receive a query input from a user (terminal 20), interpret it, and receive a command to infer a privacy protection function by deep learning (S710). Data to be processed may be pre-stored in the storage unit 200, received through the camera 50, or input through a query. In this embodiment, the deep learning function may derive a privacy protection function from a combination of keywords such as privacy protection, face (face), mosaic (blur, emoji, low resolution), masking, image, video, and the like.

DB 서버(10)는 사생활 보호 대상이 기록된 식별 동영상(510)을 입력 받을 수 있다. 식별 동영상(510)은 카메라(50)로부터 수신된 것일 수 있다.The DB server 10 may receive an identification video 510 in which privacy protection subjects are recorded. The identification video 510 may be received from the camera 50 .

제어부(100)는 데이터셋 관리 모듈(120)을 이용하여 처리 대상 데이터(입력 받은 데이터)를 데이터 전처리할 수 있다(S720). 데이터 전처리는 도 12의 디코딩에 대응될 수 있다. 이하, 본 실시예에서 데이터 전처리된 처리 대상은 추론용 데이터셋(DS)이라 지칭될 수 있다. 본 데이터셋 또는 데이터는 딥러닝용 데이터셋 또는 딥러닝용 데이터와 같이 일반적으로 지칭될 수 있다. 추론용 데이터셋은 식별 동영상(510)이 복수의 식별 이미지로 디코딩되어 식별 이미지 데이터 셋 테이블(520)로 변환되어 데이터베이스화될 수 있다.The control unit 100 may pre-process data to be processed (input data) using the dataset management module 120 (S720). Data pre-processing may correspond to the decoding of FIG. 12 . Hereinafter, in this embodiment, the data pre-processed processing target may be referred to as a data set for inference (DS). This dataset or data may be generically referred to as a dataset for deep learning or data for deep learning. A dataset for inference may be converted into an identification image data set table 520 by decoding an identification video 510 into a plurality of identification images, and then databased.

제어부(100)는 기학습된 사생활 보호 기능의 학습 모델 테이블을 선택할 수 있다(S730). 기학습된 사생활 보호 기능의 학습 모델 테이블은 도 13을 통해 생성될 수 있다.The controller 100 may select the learning model table of the previously learned privacy protection function (S730). A learning model table of the pre-learned privacy protection function may be created through FIG. 13 .

제어부(100)는 선택된 사생활 보호 기능의 학습 모델 테이블의 네트워크 테이블을 프레임워크부(300), 예를 들어, QML 모듈(310)에 적합한 사생활 보호용 모델 아키텍처로 구성할 수 있다(S740).The control unit 100 may configure the network table of the learning model table of the selected privacy protection function into a model architecture for privacy protection suitable for the framework unit 300, for example, the QML module 310 (S740).

제어부(100)는 사생활 보호 기능의 학습 모델 테이블의 학습 파라미터 테이블을 이용하여 사생활 보호용 모델 아키텍처에 학습 파라미터를 할당할 수 있다(S750).The control unit 100 may allocate learning parameters to the model architecture for privacy protection by using the learning parameter table of the learning model table of the privacy protection function (S750).

QML 모듈(310)은 식별 이미지 데이터 셋 테이블(520)의 이미지를 사생활 보호 대상이 식별되지 않도록 비식별 이미지로 변환하는 추론을 할 수 있다(S760). 추론 내용은 식별 대상을 검출하고, 검출된 식별 대상을 식별되지 못하도록 이미지를 변환하는 내용일 수 있다. 본 실시예에서 식별 대상의 검출은 식별 대상은 감지하는 정도면 족하다. 또한 이미지의 변환은 식별 대상을 감지하되, 특정 특성을 인식하지 못하도록 하는 것이 바람직하다.The QML module 310 may infer that the image of the identification image data set table 520 is converted into a non-identification image so that the subject of privacy protection is not identified (S760). The inference content may be content for detecting an identification object and converting an image so that the detected identification object is not identified. In the present embodiment, detection of an identification target is enough to detect the identification target. In addition, it is preferable to detect the identification target in the conversion of the image, but not to recognize a specific characteristic.

QML 모듈(310)이 식별 이미지 데이터 셋 테이블(520)의 복수의 식별 이미지 중 어느 이미지인 원본 이미지(910)에서 식별 대상이 있는지 추론할 수 있다. QML 모듈(310)은 식별 대상을 감지하면 식별 대상의 위치와 크기를 지정할 수 있다.The QML module 310 may infer which of the plurality of identification images of the identification image data set table 520, which is the original image 910, has an identification target. When the QML module 310 detects an identification target, it may designate the location and size of the identification target.

도 15를 참조하면, QML 모듈(310)은 원본 이미지(910)에서 감지된 식별 대상을 제1 식별 이미지 박스(911) 및 제2 식별 이미지 박스(912)로 정의(지정,구역화)할 수 있다.Referring to FIG. 15 , the QML module 310 may define (designate, zone) the identification target detected in the original image 910 into a first identification image box 911 and a second identification image box 912. .

이미지 박스 관리 모듈(170)은 제1 및 제2 식별 이미지 박스(911, 912) 각각을 제1 및 제2 마스킹 이미지 박스(921, 922)로 치환하여 마스킹 처리할 수 있다.The image box management module 170 may replace the first and second identification image boxes 911 and 912 with the first and second masking image boxes 921 and 922 to perform masking processing.

이미지 박스 관리 모듈(170)은 마스킹 처리를 위해, 모자이크 처리 및 대체 처리 중 어느 하나로 하거나, 각기 달리 처리하는 조합 처리할 수 있다. 예를 들어, 제1 및 제2 식별 이미지 박스(911, 912) 모두에 모자이크 처리 및 대체 처리 중 어느 하나로 하거나, 제1 식별 이미지 박스(911)은 모자이크 처리하고 제2 식별 이미지 박스(912)는 대체 처리할 수 있다. 조합 처리시, 식별 대상의 범주에 따라 처리 방식이 정해질 수 있다. 예를 들어, 인물의 경우에는 모자치크 처리하고, 자동차 번호판의 경우에는 대체 처리하도록, 설정되거나 학습될 수 있다.For the masking process, the image box management module 170 may perform one of mosaic processing and replacement processing, or a combination process of different processing. For example, both of the first and second identification image boxes 911 and 912 may be mosaic-processed or replaced, or the first identification image box 911 may be mosaic-processed and the second identification image box 912 may be mosaic-processed. can be treated as an alternative. In combination processing, a processing method may be determined according to the category of the identification target. For example, it may be set or learned to perform mosaic processing in the case of a person and substitute processing in the case of a vehicle license plate.

이미지 박스 관리 모듈(170)은 제1 및 제2 마스킹 이미지 박스(921, 922)가 사생활 보호 대상으로 검출 시 검출 대상으로 감지되고, 검출 대상의 특정 특성은 존재하지 않도록 마스킹 처리하는 것이 바람직하다. 영상 분석 솔루션에서 비식별 이미지(920), 또는 후술할 비식별 동영상(540)의 식별 대상을 검출하는 작업이 필요할 수 있기 때문이다.The image box management module 170 preferably performs a masking process so that the first and second masking image boxes 921 and 922 are detected as detection targets when they are detected as privacy protection targets, and specific characteristics of the detection targets do not exist. This is because an operation of detecting an identification target of the de-identification image 920 or the de-identification video 540 to be described later may be required in the video analysis solution.

위와 같이 조합 처리로 설정된 경우, 이미지 박스 관리 모듈(170)는 제1 식별 이미지 박스(911)를 제1 마스킹 이미지 박스(921)로 모자이크 처리할 수 있다. 제1 마스킹 이미지 박스(921)은 제1 식별 이미지 박스(911)의 검출 대상의 특정 특성이 사라지도록 모자이크 처리되되, 검출 대상으로 감지되도록 모자이크 처리되는 것이 바람직하다.When the combination process is set as above, the image box management module 170 may mosaic the first identification image box 911 into the first masking image box 921 . The first masking image box 921 is mosaic-processed so that a specific characteristic of the detection target of the first identification image box 911 disappears, but is preferably mosaic-processed so that it is detected as a detection target.

이미지 박스 관리 모듈(170)는 제2 식별 이미지 박스(912)를 기저장되어 있거나 새로운 이미지를 생성된, 제2 식별 이미지 박스(912)와 무관한 제2 마스킹 이미지 박스(922)로 치환할 수 있다.The image box management module 170 may replace the second identification image box 912 with a second masking image box 922 unrelated to the second identification image box 912, which is pre-stored or a new image is created. there is.

제2 마스킹 이미지 박스(922)는 제2 식별 이미지 박스(912)와 동일한 대상 범주로 감지되도록 하는 이미지, 문자, 및 QR 코드 중 적어도 하나일 수 있다. 예를 들어, 제2 식별 이미지 박스(912)의 대상 범주가 인물인 경우, 인물을 나타내는 이미지, '인물' 문자, 및 인물이라는 정보를 구비하는 QR 코드 중 어느 하나일 수 있다. 문자는 텍스트 코드이거나 이미지화된 것일 수 있다. 텍스트 코드인 경우, 비식별 이미지(920)에 레이어 형태로 병합될 수 있다.The second masking image box 922 may be at least one of an image, text, and QR code to be detected as the same target category as the second identification image box 912 . For example, when the target category of the second identification image box 912 is a person, it may be any one of an image representing a person, a 'person' character, and a QR code having information about a person. The characters may be text codes or images. In the case of a text code, it may be merged with the non-identification image 920 in a layered form.

제2 마스킹 이미지 박스(922)는 동일한 하위 범주 특성을 구비할 수 있다. 하위 범주 특성은 대상 범주의 다양한 하위 범주 중 적어도 하나일 수 있다.The second masking image box 922 may have the same subcategory characteristics. The subcategory characteristics may be at least one of various subcategories of the target category.

예를 들어, 대상 범주가 인물인 경우, 하위 범주 특성은 성별, 나이대, 동일 얼굴 표시 등이 있을 수 있다. 구체적으로, 제2 마스킹 이미지 박스(922)가 문자일 경우, 제2 마스킹 이미지 박스(922)는 "남자A-40대"와 같이 표시될 수 있다. '남자A'는 '남자B'와 다른 사람임을 의미한다.For example, if the target category is a person, the sub-category characteristics may include gender, age group, same face display, and the like. Specifically, when the second masking image box 922 is a text, the second masking image box 922 may be displayed as “A man in his 40s”. 'Man A' means that he is different from 'Man B'.

이러한 과정을 거쳐, 이미지 박스 관리 모듈(170)은 원본 이미지(910)를 입력받아 비식별 이미지(920)으로 출력할 수 있다. 비식별 이미지(920)는 비식별 이미지 데이터 셋 테이블(530)로 저장될 수 있다.Through this process, the image box management module 170 may receive the original image 910 and output it as a non-identified image 920 . The de-identified image 920 may be stored as the de-identified image data set table 530 .

이미지 박스 관리 모듈(170)은 제1 및 제2 식별 이미지 박스(911, 912)를 이미지 박스 저장 모듈(270)에 저장할 수 있다. 이미지 박스 관리 모듈(170)은 제1 및 제2 식별 이미지 박스(911, 912)를 암호화하여 저장할 수 있다.The image box management module 170 may store the first and second identification image boxes 911 and 912 in the image box storage module 270 . The image box management module 170 may encrypt and store the first and second identification image boxes 911 and 912 .

이미지 박스 관리 모듈(170)은 제1 및 제2 식별 이미지 박스(911, 912)와 제1 및 제2 마스킹 이미지 박스(921, 922)를 서로 대응되도록 매핑할 수 있다. 이를 위해, 이미지 박스 저장 모듈(270)은 마스킹 이미지 박스에 관련된 식별 이미지 박스의 파일 명, 프레임, 시간, 원본 이미지에서의 배치 위치, 및 크기 중 적어도 하나인 매핑 정보(m1, m2)를 저장할 수 있다. 이미지 박스 저장 모듈(270)은 이러한 매핑 정보를 마스킹 이미지 박스의 메타 정보(m1, m2)로 저장할 수 있다.The image box management module 170 may map the first and second identification image boxes 911 and 912 and the first and second masking image boxes 921 and 922 to correspond to each other. To this end, the image box storage module 270 may store mapping information (m1, m2) that is at least one of the file name, frame, time, arrangement position in the original image, and size of the identification image box related to the masking image box. there is. The image box storage module 270 may store this mapping information as meta information (m1, m2) of the masking image box.

복수의 식별 이미지는 비식별 이미지로 순차적으로 변환되거나 임의의 순서대로 변환될 수 있다. 임의 변환이 되는 경우는 복수의 프로세스로 분산 처리되는 경우에 유리할 수 있다.A plurality of identification images may be sequentially converted to non-identification images or may be converted in an arbitrary order. In the case of arbitrary conversion, it may be advantageous in the case of distributed processing in a plurality of processes.

제어부(100)는 복수의 비식별 이미지를 인코딩하여 비식별 동영상(540)으로 저장하거나, 비식별 동영상 스트리밍(550)으로 작업하여 단말기(20) 또는 사용자 단말기(30)에게 스트리밍 서비스할 수 있다. 복수의 비식별 이미지는 비식별 이미지 데이터 셋 테이블(530)로 저장된 것일 수 있다. 사용자 단말기(30)의 사용자는 실시간에 가깝게 사생활 보호 처리된 동영상을 시청할 수 있다. 단말기(20)의 유저인 관리자는 비식별화 작업이 순조롭게 진행되는지 실시간으로 확인할 수 있다.The controller 100 may encode a plurality of de-identified images and store them as de-identified video 540 or work as non-identified video streaming 550 to provide a streaming service to the terminal 20 or the user terminal 30. A plurality of de-identified images may be stored as the de-identified image data set table 530 . A user of the user terminal 30 can watch a video processed for privacy protection in near real time. An administrator who is a user of the terminal 20 can check in real time whether the de-identification operation proceeds smoothly.

제어부(100)는 사용자 단말기(30) 또는 관리자 단말기(20)로부터 비식별 이미지(920) 중 언마스킹할 대상을 요청 받아, 이를 복원할 수 있다(S780). 비식별 이미지(920)에 한정되지 않고, 유저는 비식별 동영상(540) 또는 비식별 동영상 스트리밍(550)에서 언마스킹할 대상을 선택할 수 있다.The control unit 100 may receive a request for an object to be unmasked from among the non-identification image 920 from the user terminal 30 or the manager terminal 20 and restore it (S780). Not limited to the de-identification image 920, the user may select an object to be unmasked from the de-identification video 540 or the de-identification video streaming 550.

예를 들어, 이미지 박스 관리 모듈(170)은 사용자로부터 비식별 이미지(920)에서 제2 마스킹 이미지 박스(922)를 언마스킹할 대상으로 요청 받을 수 있다. 이미지 박스 관리 모듈(170)은 제2 마스킹 이미지 박스(922)와 매칭되는 제2 식별 이미지 박스(912)를 이미지 박스 저장 모듈(270)에서 추출한 후, 제2 마스킹 이미지 박스(922)를 제2 식별 이미지 박스(912)로 대체(언마스킹)할 수 있다. 이를 통해, 이미지 박스 관리 모듈(170)은 비식별 이미지(920)를 복구 이미지(930)로 복원할 수 있다. 이러한 맵핑 정보를 통해, 제어부(100)는 비식별 이미지(920)에서 복구 이미지(930)로 빠르게 복원할 수 있다.For example, the image box management module 170 may receive a request for unmasking the second masking image box 922 from the non-identifying image 920 from the user. The image box management module 170 extracts the second identification image box 912 matching the second masking image box 922 from the image box storage module 270, and stores the second masking image box 922 in the second It can be replaced (unmasked) with the identification image box 912. Through this, the image box management module 170 may restore the non-identifying image 920 to the recovery image 930 . Through this mapping information, the control unit 100 can quickly restore the recovery image 930 from the non-identification image 920 .

도 16 및 도 17을 참조하면, 평가 모듈(180)은 사생활 보호 솔루션(901)의 마스킹된 식별 대상을 영상 분석 솔루션(902)을 통해 얼마나 감지(재검출)할 수 있는지 평가할 수 있다(S790).16 and 17, the evaluation module 180 may evaluate how much the masked identification target of the privacy protection solution 901 can be detected (redetected) through the image analysis solution 902 (S790) .

본 실시예에서 사생활 보호 솔루션 및/또는 영상 분석 솔루션은 본 발명의 일 실시예에 따른 쿼리 기반 딥러닝 추론을 이용한 사생활 보호 및 재검출 평가 시스템 또는 방법이 적용된 솔루션이거나, 다른 사생활 보호용 마스킹 솔루션 및/또는 영상 분석 솔루션일 수 있다. 이하, 임의의 사생활 보호 솔루션(901)을 통해, 원본 이미지(910)가 마스킹 이미지(950)로 변환된 것으로 가정하여 설명한다. 마스킹 이미지(950)의 마스킹된 마스킹 이미지 박스들의 세트인 마스킹 이미지 박스 세트(955)는 이미지 박스 저장 모듈(270)에 저장될 수 있다.In this embodiment, the privacy protection solution and / or image analysis solution is a solution to which the privacy protection and re-detection evaluation system or method using query-based deep learning inference according to an embodiment of the present invention is applied, or another privacy masking solution and / Alternatively, it may be an image analysis solution. Hereinafter, it is assumed that the original image 910 is converted into the masking image 950 through an arbitrary privacy protection solution 901 and described. A masking image box set 955 , which is a set of masked masking image boxes of the masking image 950 , may be stored in the image box storage module 270 .

평가 모듈(180)은 마스킹 이미지(950)에서 식별 대상을 잘 감지하는지 그 정확도인 대상 감지율(281) 및/또는 식별 대상이 원래 위치와 크기에 있는지의 일치율인 감지 에러율(282)을 평가할 수 있다.The evaluation module 180 may evaluate an object detection rate 281, which is an accuracy of whether or not an identification object is well detected in the masking image 950, and/or a detection error rate 282, which is a coincidence rate of whether the identification object is in its original position and size. there is.

평가 모듈(180)은 대상 감지율(281) 및 감지 에러율(282) 중 적어도 하나를 구비하는 평가 결과(280)를 저장부(200)에 저장할 수 있다.The evaluation module 180 may store the evaluation result 280 including at least one of a target detection rate 281 and a detection error rate 282 in the storage unit 200 .

구체적으로, 평가 모듈(180)은 영상 분석 솔루션(902)을 통해 마스킹 이미지(950)로부터 식별 대상 세트를 감지하여 분석 이미지 박스 세트(965)를 도출할 수 있다.Specifically, the evaluation module 180 may derive an analysis image box set 965 by detecting an identification target set from the masking image 950 through the image analysis solution 902 .

평가 모듈(180)은 분석 이미지 박스 세트(965)와 마스킹 이미지 박스 세트(955)를 비교할 수 있다.The evaluation module 180 may compare the analysis image box set 965 and the masking image box set 955 .

평가 모듈(180)은 대상 감지율(281) 및/또는 감지 에러율(282)를 측정할 수 있다.The evaluation module 180 may measure a target detection rate 281 and/or a detection error rate 282 .

대상 감지율(281)은 식별 대상 세트의 존재 여부에 대한 정확도를 의미할 수 있다. 평가 모듈(180)은 마스킹 이미지 박스와 분석 이미지 박스의 합집합 대비 교집합의 비율이 기설정 값 이상일 경우에, 해당 마스킹 이미지 박스를 식별 대상으로 감지했다고 판단할 수 있다.The target detection rate 281 may mean accuracy of whether an identification target set exists or not. The evaluation module 180 may determine that the corresponding masking image box has been detected as an identification target when the ratio of the union to the intersection of the masking image box and the analysis image box is greater than or equal to a preset value.

감지 에러율(282)은 분석 이미지 박스 세트(965)와 마스킹 이미지 박스 세트(955)의 서로 대비되는 이미지 박스들 각각의 위치와 크기의 일치율을 의미할 수 있다. 도 17 (c) 및 (d)를 참조하면, 제1 마스킹 이미지 박스(921) 대 제11 분석 이미지 박스(941-1)와 같이 대응되는 이미지 박스가 일부분 겹치는 경우, 제2 마스킹 이미지 박스(922)와 제22 분석 이미지 박스(942-2) 또는 제1 마스킹 이미지 박스(921)와 제21분석 이미지 박스(942-1)과 같이 어느 한 이미지 박스가 다른 이미지 박스를 포함하는 경우, 및 제2 마스킹 이미지 박스(922)와 제22 분석 이미지 박스(942-2)와 같이 겹치는 부분이 없는 경우 등 각각의 경우에 대해, 평가 모듈(180)은 일치율을 감지 에러율(282)로 제시할 수 있다.The detection error rate 282 may refer to a rate of agreement between positions and sizes of image boxes of the analysis image box set 965 and the masking image box set 955 that contrast with each other. Referring to (c) and (d) of FIG. 17 , when corresponding image boxes partially overlap, such as the first masking image box 921 and the eleventh analysis image box 941-1, the second masking image box 922 ) and the 22nd analysis image box 942-2 or the first masking image box 921 and the 21st analysis image box 942-1, when one image box includes another image box, and the second For each case, such as a case in which there is no overlap between the masking image box 922 and the twenty-second analysis image box 942-2, the evaluation module 180 may present the coincidence rate as the detection error rate 282.

상기 본 발명은 하드웨어 또는 소프트웨어에서 구현될 수 있다. 구현은 상기 본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 즉, 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터가 읽을 수 있는 명령어, 데이터 구조, 프로그램 모듈, 및 기타 데이터 등 정보 저장을 위한 임의의 방법 또는 기술로서 구현된 모든 저장 가능한 매체를 포함하는 것으로, 휘발성/비휘발성/하이브리드형 메모리 여부, 분리형/비분리형 여부 등에 한정되지 않는다. 통신 저장 매체 는 반송파와 같은 변조된 데이터 신호 또는 전송 메커니즘, 임의의 정보 전달 매체 등을 포함한다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The present invention may be implemented in hardware or software. In implementation, the present invention can also be implemented as computer readable codes on a computer readable recording medium. That is, it may be implemented in the form of a recording medium including instructions executable by a computer. Computer readable media includes all types of media in which data that can be read by a computer system is stored. Computer readable media may include computer storage media and communication storage media. Computer storage media includes all storable media implemented in any method or technology for storing information, such as computer readable instructions, data structures, program modules, and other data, and includes volatile/nonvolatile/hybrid memory. It is not limited to whether or not, separable/non-separable. Communication storage media includes modulated data signals or transport mechanisms such as carrier waves, any information delivery media, and the like. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.In addition, although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the claims. Of course, various modifications are possible by those skilled in the art, and these modifications should not be individually understood from the technical spirit or perspective of the present invention.

10: DB 서버 20: 단말기
100: 제어부 120: 데이터셋 관리 모듈
130: 학습 모델 관리 모듈 160: 결과 관리 모듈
200: 저장부 220: 데이터셋
230: 학습 모델 260: 학습 결과
300: 프레임워크부 360: 변환부
370: 입출력부
10: DB server 20: terminal
100: control unit 120: dataset management module
130: learning model management module 160: result management module
200: storage unit 220: data set
230: learning model 260: learning result
300: framework unit 360: conversion unit
370: input/output unit

Claims (12)

단말기 및 데이터베이스 서버(이하, 'DB 서버')와 연동하는 딥러닝 프레임워크의 쿼리 기반 딥러닝 추론 시스템을 이용한 사생활 보호 및 재검출 방법으로서,
상기 단말기로부터 사생활 보호 기능의 추론 쿼리를 입력 받는 단계;
기학습된 사생활 보호 기능의 학습 모델 테이블을 선택하는 단계;
사생활 보호 대상이 기록된 식별 동영상을 입력 받는 단계;
상기 식별 동영상을 복수의 이미지로 디코딩하여 식별 이미지 데이터 셋 테이블으로 변환하는 단계;
상기 사생활 보호 기능의 학습 모델 테이블의 네트워크 테이블을 상기 프레임워크부에 적합한 사생활 보호용 모델 아키텍처로 구성하는 단계;
상기 사생활 보호 기능의 학습 모델 테이블의 학습 파라미터를 상기 사생활 보호용 모델 아키텍처에 할당하는 단계; 및
상기 프레임워크부에서 상기 식별 이미지 데이터 셋 테이블의 원본 이미지를 사생활 보호 대상이 식별되지 않도록 비식별 이미지로 변환하는 추론 단계;를 포함하고,
상기 추론 단계는,
원본 이미지에서 식별 대상 세트 중 제1 식별 대상을 인지하여, 상기 제1 식별 대상을 제1 식별 이미지 박스로 구역을 정의하는 단계; 및
상기 제1 식별 이미지 박스를 마스킹 처리하는 단계;를 구비하는, 사생활 보호 및 재검출 평가 방법.
As a privacy protection and re-detection method using a query-based deep learning inference system of a deep learning framework that works with a terminal and a database server (hereinafter referred to as 'DB server'),
receiving an inference query for a privacy protection function from the terminal;
selecting a learning model table of a pre-learned privacy protection function;
Receiving an identification video in which a subject for privacy protection is recorded;
decoding the identification video into a plurality of images and converting them into an identification image data set table;
configuring a network table of the learning model table of the privacy protection function into a model architecture for privacy protection suitable for the framework unit;
allocating a learning parameter of the learning model table of the privacy protection function to the privacy protection model architecture; and
Including, an inference step of converting the original image of the identification image data set table into a non-identification image so that the privacy protection target is not identified by the framework unit,
The inference step is
Recognizing a first identification object among a set of identification objects in an original image, and defining a region for the first identification object as a first identification image box; and
A method for evaluating privacy protection and re-detection comprising: masking the first identification image box.
제 1 항에 있어서,
상기 제1 식별 이미지 박스를 마스킹한 제1 마스킹 이미지 박스는 사생활 보호 대상으로 검출 시 검출 대상으로 감지되고, 검출 대상을 특정할 수 있는 특정 특성은 존재하지 않는, 사생활 보호 및 재검출 평가 방법.
According to claim 1,
The first masking image box masking the first identification image box is detected as a detection target when detected as a privacy protection target, and a specific characteristic capable of specifying the detection target does not exist.
제 2 항에 있어서,
상기 마스킹 처리는 상기 제1 식별 이미지 박스 자체를 조작하는 모자이크 처리 및 상기 식별 이미지 박스와 무관한 이미지로 대체하는 대체 처리 중 적어도 어느 하나인, 사생활 보호 및 재검출 평가 방법.
According to claim 2,
The masking process is at least one of a mosaic process for manipulating the first identification image box itself and a replacement process for replacing the identification image box with an image unrelated to the privacy protection and re-detection evaluation method.
제 3 항에 있어서,
상기 제1 마스킹 이미지 박스가 상기 대체 처리된 경우, 상기 제1 마스킹 이미지 박스는 상기 식별 대상으로 감지되도록 하는 이미지, 문자, 및 QR 코드 중 적어도 하나를 구비하는, 사생활 보호 및 재검출 평가 방법.
According to claim 3,
When the first masking image box is subjected to the replacement process, the first masking image box includes at least one of an image, a text, and a QR code to be detected as the identification target.
제 4 항에 있어서,
상기 제1 마스킹 이미지 박스는 상기 식별 대상과 동일한 대상 범주 및 상기 대상 범주 보다 하위 범주의 하위 범주 특성을 구비하는, 사생활 보호 및 재검출 평가 방법.
According to claim 4,
The privacy protection and redetect evaluation method of claim 1 , wherein the first masking image box has the same object category as the identification object and a subcategory characteristic of a lower category than the object category.
제 1 항에 있어서,
상기 추론 단계는 상기 제1 식별 이미지 박스를 저장하는 단계를 더 포함하고,
상기 저장된 제1 식별 이미지 박스는 상기 제1 마스킹 이미지 박스와 매핑되어 있는, 사생활 보호 및 재검출 평가 방법.
According to claim 1,
The reasoning step further includes storing the first identification image box,
Wherein the stored first identification image box is mapped with the first masking image box.
제 6 항에 있어서,
사용자로부터 상기 비식별 이미지에서 제2 마스킹 이미지 박스를 언마스킹할 대상으로 요청 받는 단계; 및
상기 제2 마스킹 이미지 박스를 상기 제2 마스킹 이미지 박스와 매칭되는 제2 식별 이미지 박스로 언마스킹하여, 상기 비식별 이미지를 복원 이미지로 복원하는 단계를 더 포함하는, 사생활 보호 및 재검출 평가 방법.
According to claim 6,
Receiving a request from a user as an object to unmask a second masking image box in the non-identifying image; and
The step of unmasking the second masking image box with a second identification image box matching the second masking image box and restoring the non-identification image into a reconstruction image.
제 1 항에 있어서,
상기 비식별 이미지에 영상 분석 솔루션을 적용하여, 상기 비식별 이미지로부터 상기 식별 대상 세트를 감지하여 분석 이미지 박스 세트를 도출하는 단계; 및
상기 분석 이미지 박스 세트와 상기 비식별 이미지의 마스킹 이미지 박스 세트를 비교하는 단계를 더 포함하는, 사생활 보호 및 재검출 평가 방법.
According to claim 1,
deriving an analysis image box set by applying an image analysis solution to the de-identification image and detecting the identification target set from the de-identification image; and
Further comprising the step of comparing the analysis image box set with the masking image box set of the de-identified image, the privacy protection and redetect evaluation method.
제 8 항에 있어서,
상기 비교 단계는 대상 감지율 및 감지 에러율 중 적어도 하나를 측정하는 단계를 포함하고,
상기 대상 감지율은 상기 식별 대상 세트의 존재 여부에 대한 정확도이고,
상기 감지 에러율은 상기 분석 이미지 박스 세트와 상기 마스킹 이미지 박스 세트의 위치와 크기의 일치율인, 사생활 보호 및 재검출 평가 방법.
According to claim 8,
The comparison step includes measuring at least one of a target detection rate and a detection error rate,
The target detection rate is the accuracy of whether the identification target set exists or not,
The detection error rate is a coincidence rate of positions and sizes of the analysis image box set and the masking image box set.
사용자로부터 쿼리를 입력 받고, 사용자에게 상기 쿼리에 따른 결과를 출력하는 입출력부;
데이터를 저장하는 저장부;
상기 저장된 데이터 및 상기 쿼리에 따라 딥러닝하는 프레임워크부; 및
제어부를 포함하는 쿼리 기반 딥러닝 추론 데이터베이스 서버로서,
상기 쿼리는 사생활 보호 기능을 구비하고,
상기 제어부는
카메라에서 촬영한 식별 동영상을 복수의 이미지로 디코딩하여 관계형 데이터 구조인 식별 이미지 데이터 셋 테이블으로 데이터베이스화하는 데이터셋 관리 모듈;
학습 모델의 아키텍처를 관계형 데이터 구조인 네트워크 테이블로 저장 및 관리하고, 상기 딥러닝용 데이터셋 테이블과 네트워크 테이블의 관계형 데이터 구조에 기초하여 유사도를 판단하는 학습 모델 관리 모듈를 구비하고,
상기 제어부는 상기 쿼리가 사생활 보호 기능의 추론 쿼리인 경우, 기학습된 사생활 보호 기능의 학습 모델 테이블을 선택하고,
상기 프레임워크부는 상기 기학습된 사생활 보호 기능의 학습 모델 테이블의 네트워크 테이블을 상기 프레임워크부에 적합한 사생활 보호용 모델 아키텍처로 구성하고, 상기 사생활 보호 기능의 학습 모델 테이블의 학습 파라미터를 상기 사생활 보호용 모델 아키텍처에 할당하고,
상기 프레임워크부는 상기 식별 이미지 데이터 셋 테이블의 복수의 이미지를 사생활 보호 대상이 식별되지 않도록 복수의 비식별 이미지로 변환하고,
상기 제어부는
상기 복수의 이미지 중 어느 하나인 원본 이미지의 식별 대상인 제1 식별 이미지 박스를 제1 마스킹 이미지 박스로 마스킹하여 비식별 이미지로 변환하는 이미지 박스 관리 모듈을 더 구비하는, 쿼리 기반 딥러닝 추론을 이용한 사생활 보호 및 재검출 평가하는 데이터베이스 서버.
an input/output unit that receives a query from a user and outputs a result according to the query to the user;
a storage unit for storing data;
a framework unit for deep learning according to the stored data and the query; and
A query-based deep learning inference database server including a control unit,
The query has a privacy protection function,
The control unit
A dataset management module that decodes the identification video captured by the camera into a plurality of images and converts them into a database into an identification image data set table, which is a relational data structure;
A learning model management module that stores and manages the architecture of the learning model as a network table, which is a relational data structure, and determines a similarity based on the relational data structure of the deep learning dataset table and the network table,
When the query is an inference query of the privacy protection function, the control unit selects a pre-learned learning model table of the privacy protection function;
The framework unit configures the network table of the previously learned privacy protection function learning model table into a privacy model architecture suitable for the framework unit, and sets the learning parameters of the privacy protection function learning model table to the privacy protection model architecture. assigned to,
The framework unit converts the plurality of images of the identification image data set table into a plurality of non-identification images so that the subject of privacy protection is not identified,
The control unit
Further comprising an image box management module for masking a first identification image box, which is one of the plurality of images, an identification target of an original image, with a first masking image box and converting it into a non-identification image Privacy using query-based deep learning inference A database server that evaluates protection and re-detection.
제 10 항에 있어서,
상기 이미지 박스 관리 모듈은 사용자로부터 상기 비식별 이미지에서 마스킹된 제2 마스킹 이미지 박스를 언마스킹할 대상으로 요청 받은 경우, 상기 제2 마스킹 이미지 박스와 매칭되는 제2 식별 이미지 박스를 이미지 박스들을 저장하는 이미지 박스 저장 모듈에서 추출한 후, 상기 제2 마스킹 이미지 박스를 상기 제2 식별 이미지 박스로 언마스킹하는, 데이터베이스 서버.
According to claim 10,
When the image box management module receives a request from a user as an object to unmask a second masking image box masked in the non-identification image, storing a second identification image box matching the second masking image box as image boxes After extracting from the image box storage module, unmasking the second masking image box with the second identification image box.
제 10 항에 있어서,
상기 제어부는 사생활 보호 솔루션의 마스킹된 식별 대상을 영상 분석 솔루션을 통해 얼마나 감지하는 평가하는 평가 모듈을 더 구비하는, 데이터베이스 서버.
According to claim 10,
The control unit further comprises an evaluation module for evaluating how much the masked identification object of the privacy protection solution is detected through the image analysis solution, the database server.
KR1020210078772A 2021-06-17 2021-06-17 Privacy protection and evaluation of redetection system using deep learning inference based on query and method thereof KR20220168814A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210078772A KR20220168814A (en) 2021-06-17 2021-06-17 Privacy protection and evaluation of redetection system using deep learning inference based on query and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210078772A KR20220168814A (en) 2021-06-17 2021-06-17 Privacy protection and evaluation of redetection system using deep learning inference based on query and method thereof

Publications (1)

Publication Number Publication Date
KR20220168814A true KR20220168814A (en) 2022-12-26

Family

ID=84547536

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210078772A KR20220168814A (en) 2021-06-17 2021-06-17 Privacy protection and evaluation of redetection system using deep learning inference based on query and method thereof

Country Status (1)

Country Link
KR (1) KR20220168814A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102058124B1 (en) 2019-01-25 2019-12-23 (주)비아이매트릭스 A system for adding deep-learning forecaset data by using an OLAP data with pivot table

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102058124B1 (en) 2019-01-25 2019-12-23 (주)비아이매트릭스 A system for adding deep-learning forecaset data by using an OLAP data with pivot table

Similar Documents

Publication Publication Date Title
US11119980B2 (en) Self-learning operational database management
US8959082B2 (en) Context-sensitive query enrichment
US20130106893A1 (en) Context-sensitive query enrichment
JP2022537170A (en) Cognitive video and voice search aggregation
US20220385977A1 (en) Media asset rating prediction for geographic region
US11594043B1 (en) People and vehicle analytics on the edge
US11928095B2 (en) Image analysis interface
US20210216777A1 (en) Almost unsupervised cycle and action detection
KR102568011B1 (en) Face detection and privacy protection system using deep learning inference based on query and method thereof
Nguyen et al. Learning discrete matrix factorization models
Aved Scene understanding for real time processing of queries over big data streaming video
US11204953B2 (en) Generation of lineage data subset based upon business role
KR20220168814A (en) Privacy protection and evaluation of redetection system using deep learning inference based on query and method thereof
KR20230060354A (en) Video recoding apparatus for private information de-identification
KR102641532B1 (en) Computing apparatus using deep learning framework privacy protection and method thereof
KR20230065038A (en) Deep learning distribution system for connectivity of database based on query, and method there of
KR20220165391A (en) Deep learning distribution system based on query and distribute training method
KR20220007007A (en) Matching between client device and provider device method for providing a legal content
US20220138593A1 (en) Real-Time Predictive Knowledge Pattern Machine
Sun et al. Spatial-temporal attention network for crime prediction with adaptive graph learning
KR20210063171A (en) Device and method for image translation
US20240112080A1 (en) Methods and computer devices for signal modulation
KR20230065037A (en) Database server applicated deep learning framework for classifying gender and age, and method thereof
Bhatnagar et al. YouTube Video Popularity Analysis& Prediction Using Deep Learning
US20240080371A1 (en) System for use-case classification

Legal Events

Date Code Title Description
E902 Notification of reason for refusal