[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20230080667A - 동영상 내 인물 고속 탐색 방법 및 서버 - Google Patents

동영상 내 인물 고속 탐색 방법 및 서버 Download PDF

Info

Publication number
KR20230080667A
KR20230080667A KR1020210168047A KR20210168047A KR20230080667A KR 20230080667 A KR20230080667 A KR 20230080667A KR 1020210168047 A KR1020210168047 A KR 1020210168047A KR 20210168047 A KR20210168047 A KR 20210168047A KR 20230080667 A KR20230080667 A KR 20230080667A
Authority
KR
South Korea
Prior art keywords
video
frame
face
frames
feature vector
Prior art date
Application number
KR1020210168047A
Other languages
English (en)
Inventor
이정영
문광
장재훈
최훈제
윤상범
최범기
Original Assignee
대한민국(관리부서 대검찰청)
(주)에이펙스 이에스씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 대한민국(관리부서 대검찰청), (주)에이펙스 이에스씨 filed Critical 대한민국(관리부서 대검찰청)
Priority to KR1020210168047A priority Critical patent/KR20230080667A/ko
Publication of KR20230080667A publication Critical patent/KR20230080667A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/732Query formulation
    • G06F16/7328Query by example, e.g. a complete video frame or video sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/738Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 동영상 내 인물 고속 탐색에 관한 것으로서, 보다 상세하게는 동영상 내 이미지에서 얼굴 추출 시 리소스를 최소화 하기 위해 프레임을 줄이는 작업을 먼저 한 후 얼굴 탐색을 진행함으로써, 인물 탐지에 필요한 데이터 연산량을 최소화할 수 있는 방법 및 서버이다.

Description

동영상 내 인물 고속 탐색 방법 및 서버 {A high-speed search method for a person in a video and a server that performs the method.}
본 발명은 동영상 내 인물 고속 탐색에 관한 것으로서, 보다 상세하게는 동영상 내 이미지에서 얼굴 추출 시 리소스를 최소화 하기 위해 프레임을 줄이는 작업을 먼저 한 후 얼굴 탐색을 진행함으로써, 인물 탐지에 필요한 데이터 연산량을 최소화할 수 있는 방법 및 서버에 관한 것이다.
영상 프레임이란, 연속적으로 재생되면서 동영상을 이루는 영상 매체 내의 한 장 한 장의 이미지를 의미한다. 또한, 초당 프레임 수 (FPS: Frame per second)는 1초 동안 보여주는 화면의 수를 가리킨다. 일반적으로 동영상의 초당프레임(fps) 수는 30이므로, 1초에 30장의 이미지들이 연속적으로 화면에 출력되면서 동영상이 되는 것이다.
종래 동영상 내의 얼굴 인식을 위해서는 동영상의 각 프레임에서 사람의 얼굴을 감지하고 해당 얼굴 이미지를 따로 저장하는 과정을 거쳐야 했는데, 동영상 내의 모든 개별 프레임들을 대상으로 얼굴 탐색을 하는 것으로 인해 많은 시간이 소요되는 문제점이 있었다.
대한민국 등록특허공보 제 10-1087765 호(2011.11.22.)
본 발명이 해결하고자 하는 기술적 과제는, 동영상에서 얼굴을 추출할 때 인물 탐지에 필요한 데이터 연산량을 최소화할 수 있도록 하는 것이다.
상기 과제를 해결하기 위해 안출된 본 발명의 일 실시예에 따른 동영상 내 인물 고속 탐색 방법은, 동영상을 소정 프레임 수 단위의 그룹으로 분할하는 단계와, 각 그룹의 프레임들을 대상으로 현재 프레임의 이전 프레임에 대한 유사 여부를 판단하여 유사한 현재 프레임을 삭제하는 단계와, 삭제되지 않은 프레임들을 대상으로 프레임 내 얼굴의 존재 여부를 판단하는 단계와, 프레임 내 얼굴이 존재하는 경우 얼굴의 특징점을 추출하고 특징 벡터를 산출하는 단계 및 산출된 특징 벡터를 저장하는 단계를 포함할 수 있다.
일 실시예에서, 삭제되지 않은 프레임들을 대상으로 프레임 내 얼굴의 존재 여부를 판단하는 단계 전에, 삭제되지 않은 프레임들을 대상으로 이전 프레임과 현재 프레임의 유사 여부를 판단하여 유사한 현재 프레임을 추가 삭제하는 단계를 더 포함할 수 있다.
일 실시예에서, 산출된 특징 벡터를 저장하는 단계 전에, 산출된 특징 벡터를 기 저장된 특징 벡터들과 비교하여 중복 여부를 확인하는 단계를 더 포함할 수 있다.
일 실시예에서, 산출된 특징 벡터를 타겟 이미지의 특징 벡터와 비교하는 단계를 더 포함할 수 있다.
상기 현재 프레임의 이전 프레임에 대한 유사 여부를 판단함에는 phash를 이용할 수 있다.
상기 얼굴의 특징점을 추출하고 특징 벡터를 산출하는 단계는 경량화된 모듈인 dnn을 이용할 수 있다.
본 발명의 다른 실시예에 따른 동영상 내 인물의 고속 탐색을 위한 서버는, 하나 이상의 프로세서와, 하나 이상의 메모리 및 하나 이상의 스토리지를 포함하고, 상기 스토리지에는 상기 일 실시예에 따른 방법의 각 단계를 처리하기 위한 명령어들을 포함하는 프로그램이 저장될 수 있다.
본 발명은 동영상 내 얼굴 추출 시 대상 리소스를 최소화 하기 위해 프레임 수를 줄이는 전처리 단계를 선행시킴으로써 불필요한 데이터를 제거할 수 있다.
본 발명은 인물 탐지에 필요한 데이터만을 연산하므로 데이터 연산 시간을 단축시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 동영상 내 인물 고속 탐색 방법을 설명하기 위한 순서도이다.
도 2는 각 그룹의 프레임들을 대상으로 현재 프레임의 이전 프레임에 대한 유사 여부를 판단하여 유사한 현재 프레임을 삭제하는 단계를 설명하기 위한 사진이다.
도 3은 저장된 특징 벡터와 타겟 이미지의 특징 벡터를 비교하는 단계를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 동영상 내 인물 고속 탐색 서버를 설명하기 위한 도면이다.
전술한, 그리고 추가적인 발명의 태양들은 첨부된 도면을 참조하여 설명하는 실시 예들을 통해 구체화된다. 그러나 이하에서 기술하는 실시 예들은 단지 예시적인 것일 뿐이며, 본 발명의 범위를 기술된 실시 예들로만 제한하고자 하는 것은 아니다.
또한, 각 실시 예들의 구성 요소들은 다른 언급이나 상호간에 모순이 없는 한 실시 예 내에서 또는 실시 예 상호 간에 다양한 조합이 가능할 수 있으며, 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성요소에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략할 것이다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다.
상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함하다" 또는 "이루어진다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 도면에 도시된 순서도들은 본 발명을 실시함에 있어서 가장 바람직한 결과를 얻기 위해 예시적으로 도시한 순서에 불과하며, 다른 단계들이 더 추가되거나 일부 단계들이 삭제될 수 있음은 물론이다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 동영상 내 인물 고속 탐지 방법을 설명하기 위한 순서도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 동영상 내 인물 고속 탐지 방법은, 동영상을 소정 프레임 수 단위의 그룹으로 분할하는 단계(S100), 각 그룹의 프레임들을 대상으로 현재 프레임의 이전 프레임에 대한 유사 여부를 판단하여 유사한 현재 프레임을 삭제하는 단계(S200), 삭제되지 않은 프레임들을 대상으로 프레임 내 얼굴의 존재 여부를 판단하는 단계(S300), 프레임 내 얼굴이 존재하는 경우, 얼굴의 특징점들을 추출하고 이 특징점들에서의 특징 벡터(벡터 값을 의미함)을 산출하는 단계(S400), 산출된 특징 벡터를 저장하는 단계(S500) 및 저장된 특징 벡터와 타겟 이미지의 특징 벡터를 비교하는 단계(S600)를 포함할 수 있다.
동영상을 소정 프레임 수 단위의 그룹으로 분할하는 단계(S100)에서는, 오픈소스인 ffmpeg와 OpenCV를 통해 영상을 읽고 쓰기를 진행하여 동영상의 초당프레임(fps)에 따라 동영상을 분할하여 그룹화 하며, 동영상 전체를 추출할 수 있다.
ffmpeg은 디지털 음성 스트림과 영상 스트림에 대해서 다양한 종류의 형태로 기록하고 변환하는 컴퓨터 프로그램으로써, 명령어를 직접 입력하는 방식으로 동작하며 여러가지 자유 소프트웨어와 오픈 소스 라이브러리로 구성되어 있고, OpenCV은 실시간 컴퓨터 비전을 목적으로 한 프로그래밍 라이브러리이며, 실시간 이미지 프로세싱에 중점을 둔 라이브러리이다. 본 발명은 두 프로그램에 한정되지 않으며, 영상 및 이미지 프로세싱과 관련된 프로그램이라면 상기 동영상 소정 프레임 수 단위의 그룹으로 분할하는 단계(S100)에 적용될 수 있다.
각 그룹의 프레임들을 대상으로 현재 프레임의 이전 프레임에 대한 유사 여부를 판단하여 유사한 현재 프레임을 삭제하는 단계(S200)에서는, 상기 분할하여 그룹화 된 프레임들을 대상으로 현재 프레임의 이전 프레임에 대한 유사 여부를 판단한다. 현재 프레임과 이전 프레임의 유사한 정도를 미리 설정한 기준에 따라 판별하였을 때 유사하거나 동일한 것으로 판단되는 경우, 현재 프레임을 삭제하며, 이 과정을 그룹화 된 전체 프레임들(일 실시예에 따르면 30프레임)에 적용하여 이전 프레임과 유사하지 않은 프레임들만을 추출할 수 있다.
도 1 및 도 2를 참조하면, 각 그룹의 프레임들을 대상으로 현재 프레임의 이전 프레임에 대한 유사 여부를 판단하여 유사한 현재 프레임을 삭제하는 단계(S200)를 통해 중복되거나 유사한 프레임들을 제거하는 과정을 거치기 때문에, 프레임을 삭제하기 이전보다 데이터 량이 축소될 수 있다.
현재 프레임의 이전 프레임에 대한 유사 여부를 판단하기 위해 지각해싱(phash)을 이용하여 유사도를 비교할 수 있다. 지각해싱(phash)은 이미지의 DCT(Discrete Cosine Transform, 이산 코사인 변환) 값을 기반으로 이미지 해시를 계산하는 알고리즘이며, 알고리즘에는 아래의 단계들이 포함될 수 있다.
·이미지 크기를 8*8, 32*32 등과 같이 4의 배수로 조정한다
·그레이 스케일 이미지로 변환한다.
·크기가 4의 배수로 조정된 이미지에 대한 DCT 블록을 계산한다.
·(0, 0)의 값을 제외한 평균 DCT 값은 평균 계산에서 편차가 더 크므로 계산한다.
·평균 값을 비교하여 항목을 0 또는 1로 설정하여 이진 DCT 블록을 계산한다
·이진 DCT 블록을 왼쪽에서 오른쪽으로, 위에서 아래로 순회하여 해시를 구성한다.
DCT(이산 코사인 변환)는 해당 프레임만을 이용해서 영상을 압축할 수 있는 기법이며, 영상을 DCT변환하면 공간 영역(Spetial Domain)에서 주파수 영역(Frequency Domain)으로 변한다.
DCT는 해당 프레임의 화소를 블록화하여, 블록 내 집중적인 정보 중복도를 제거할 수 있으므로 압축률을 높일 수 있으며, 이 때의 중복도는 화질에 영향을 거의 주지 않는 잉여(과잉) 성질을 의미한다.
DCT 변환된 값을 기반으로 지각해싱(phash)을 이용하여 순차적으로 현재 프레임의 이전 프레임에 대한 유사 여부를 판단할 수 있으며, 유사한 프레임을 삭제함으로써 그룹화된 프레임의 데이터 량이 최대 1/30로 축소될 수 있다.
또한, 그룹화 되어 축소된 프레임 상호 간에 유사한 프레임이 존재할 경우, 유사한 프레임을 추가 삭제함으로써 그룹화된 프레임의 데이터 량을 더욱 축소시킬 수 있다.
삭제되지 않은 프레임들을 대상으로 프레임 내 얼굴의 존재 여부를 판단하는 단계(S300)에서는 상기 단계들을 통해 선별된 프레임들을 대상으로 프레임 내 얼굴의 존재 여부를 판단할 수 있다. 프레임 내 얼굴의 존재 여부를 판단하는 방법으로써, 얼굴 인식을 위한 프로세스보다 상대적으로 경량화된 심층 신경망(Deep Neural Network, DNN) 모듈을 이용하여 얼굴이 있는 프레임 이미지에 대해서만 특징점을 찾는 프로세스를 진행시켜, 삭제되지 않은 프레임 이미지들 중 얼굴이 없는 프레임 이미지는 연산하지 않는 방식으로 불필요한 연산 작업을 줄일 수 있다.
심층 신경망(Deep Neural Network, DNN)은 입력층(input layer)과 출력층(output layer) 사이에 여러 개의 은닉층(hidden layer)들로 이뤄진 인공신경망(Artificial Neural Network, ANN)이다. 심층 신경망(DNN)은 일반적인 인공신경망(ANN)과 마찬가지로 복잡한 비선형 관계(non-linear relationship)들을 모델링할 수 있다. 예를 들어, 물체 식별 모델을 위한 심층 신경망 구조에서는 각 물체가 영상의 기본적 요소들의 계층적 구성으로 표현될 수 있다. 이때, 추가 계층들은 점진적으로 모여진 하위 계층들의 특징들을 규합시킬 수 있다.
심층 신경망의 이러한 특징은, 비슷하게 수행된 인공신경망에 비해 더 적은 수의 유닛(unit, node)들 만으로도 복잡한 데이터를 모델링할 수 있게 해주며, 프레임 내 얼굴의 존재 여부를 판단하는 방법으로 사용하기에 적합하다.
상기 단계들을 거쳐 얼굴이 인식된 프레임 이미지들을 추출할 수 있으며, 추출된 프레임에서 얼굴의 특징점을 추출하고 특징 벡터를 산출한다(S400). 이 단계에서는 Deepface 프레임워크를 기반으로 FaceNet 알고리즘을 이용하여 얼굴이 인식된 프레임 이미지들의 얼굴 특징 벡터값을 산출할 수 있다.
Deepface 프레임워크에서 제공하는 모델들은 VGG-Face, Google FaceNet, OpenFace, Facebook DeepFace로 다양하지만, 본 발명의 일 실시예에 따라 Google FaceNet모델을 사용할 경우, Elasticsearch에서 지원하는 벡터값 저장 크기에 부합하게 특징 벡터를 추출 할 수 있다.
FaceNet은 얼굴 사진이 주어지면 얼굴로부터 고 퀄리티의 특징들을 추출하여 이 특징을 표현하는 128개 원소를 갖는 특징 벡터를 만들어낸다. 각 원소가 1바이트를 가지므로 각 벡터가 단지 128바이트만으로 얼굴을 표현하는 것이 가능해진다. 이 특징 벡터를 통하여 얼굴 사진을, 거리가 얼굴 유사도를 뜻하는 유클리드 공간에 매핑시킬 수 있다. FaceNet은 특징 벡터를 직접적으로 만드는 것에 초첨을 두었기에, 본 발명의 일 실시예에 따라 얼굴 특징 벡터값을 추출하는 알고리즘으로 사용하기에 적합하다.
Elasticsearch는 아파치 루신(Apache lucene)기반의 검색 엔진으로서 데이터를 저장할 수 있으며, NoSQL저장소로도 활용할 수 있다. 또한 웹 서버나 데이터베이스(DB) 서버에 수정 및 삭제를 요청하고 결과를 받을 수 있는 응용 프로그래밍 엔터페이스(API)를 지원할 수 있어, Deepface 프레임 워크에서 추출한 얼굴 특징 벡터값을 저장하는 서버로 사용하기에 적합하다.
Deepface 프레임워크 기반 FaceNet 모델을 통해 특징점을 추출하는 경우, 나이(age), 성별(gender), 인종(race), 표정 및 감정(facial expression)을 감지할 수 있지만, 데이터 연산 시간을 최소화 하기 위해 표정 및 감정(facial expression) 감지를 제외하고 특징을 검출할 수 있다.
gRPC를 사용하여 Elasticsearch서버와 Deepface 프레임워크 통신을 할 수 있다.
gRPC는 오픈소스 원격 프로시저 호출(RPC)시스템으로서, 원격 프로시저 호출(RPC)은 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게 하는 프로세스 간 통신 기술이다. 원격 프로시저 호출(RPC)을 이용하면 프로그래머는 함수가 실행 프로그램에 로컬 위치에 있든 원격 위치에 있든 동일한 코드를 이용할 수 있으며, gRPC를 사용하여 Elasticsearch 서버와 deepface 프레임워크간 통신을 통해 모듈화 및 데이터 처리 시스템을 개선할 수 있다. 또한, 추후 불법 촬영물 유포탐지 시스템 연동 시, gRPC에 불법 촬영물 유포탐지 시스템 모듈을 추가하는 방식을 통해 별도의 수정 없이 연동할 수 있다.
상기 단계들을 통해 모듈화된 시스템을 통해 Deepface 프레임워크에서 사람 얼굴의 특징 벡터 값을 추출해 Elasticsearch에 저장하는 방식으로 비교 특징벡터 데이터를 경량화 할 수 있다.
산출된 특징 벡터를 저장하는 단계(S500)는 Elasticsearch에 인덱스를 생성하고 상기 프레임 내 얼굴이 존재하는 경우, 얼굴의 특징점을 추출하고 특징 벡터를 산출하는 단계(S400)에서 산출된 특징 벡터 및 영상 정보 등을 저장할 수 있다.
또한, 산출된 특징 벡터를 저장하기 전에, 산출된 특징 벡터를 기 저장된 특징 벡터들과 비교하여 중복 여부를 확인하는 단계를 더 포함할 수 있으며, 특징 벡터가 중복되는 경우에는 저장을 생략할 수 있다.
Elasticsearch에서 데이터를 가져오는 방법은 다양하나, 키바나(Kibana)를 통해 가져오는 것이 가장 쉽고 편리하다. 키바나(Kibana)는 Elasticsearch의 대시보드 어플리케이션으로서, 키바나를 통해 데이터를 가져오기 위해, 우선 키바나 쿼리를 이용해 원하는 데이터를 화면에 표시한 후, 화면에 표시된 데이터가 실시간일 필요가 없는 경우 CSV로 데이터를 내보낸다. 또한 실시간 데이터를 분석할 경우에는 현재 데이터를 볼 수 있는 쿼리(Qurey)를 생성해 Elasticsearch에 직접 데이터를 요청할 수 있다.
저장된 특징 벡터와 타겟 이미지의 특징 벡터를 비교하는 단계(S600)는 동일 인물 여부를 판별하기 위해, 타겟 이미지와 Elasticsearch에 축적한 특징벡터를 비교하는 단계이다.
도 1 및 도 3을 참조하면, 타겟 인물과의 동일 인물 여부를 판별하기 위해, 타겟 인물의 이미지(타겟 이미지)를 Deepface 프레임워크 기반 FaceNet 알고리즘을 통해 특징벡터를 추출한 후, Elasticsearch에 축적된 특징벡터와 타겟 이미지로부터 추출된 특징 벡터와 유사한 특징 벡터를 선별하여 비교할 수 있다. 특징 벡터를 상호 비교한 후, 비교 결과, 프레임 정보, 영상 정보 등을 제공할 수 있다.
지금까지 설명한 동영상 내 인물 고속 탐지 방법은 컴퓨터 프로그램으로 구현되어 이 방법의 각 단계들을 처리하는 프로그램 명령어들에 의해 서버에서 수행될 수 있다.
도 4는 본 발명의 일 실시예에 따른 동영상 내 인물 고속 탐색 서버(100)의 세부 구성을 설명하기 위한 도면이다.
도 4를 참조하면, 발명의 일 실시 예에 따른 동영상 내 인물 고속 탐색 서버(100)는 프로세서(110), 메모리(120), 스토리지(130) 및 통신 인터페이스(140)를 포함한다.
상기 스토리지(130)에는 앞서 설명한 본 발명의 일 실시예에 따른 동영상 내 인물 고속 탐색 방법의 각 단계들을 처리하기 위한 명령어들을 포함하는 프로그램들이 저장되어 있다.
상기 프로그램은 하나의 단일 프로그램일 수도 있고, 처리 단계들을 몇 개의 기능으로 구분하여 분할한 복수개의 프로그램들일 수도 있다.
상기 프로그램은 프로세서(110)에 의해 실행되고, 프로세서(110)에 의해 실행되는 과정에서 상기 메모리(120)에 일부 명령어들 또는 데이터들이 임시로 저장될 수 있다.
상기와 같이 본 발명의 실시예에 따른 동영상 내 인물 고속 탐색 방법은 프로그램으로 작성이 가능하며, 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 본 발명의 각 실시예에 따른 동영상 내 인물 고속 탐색 방법에 관한 프로그램은 컴퓨터와 같은 전자장치가 읽을 수 있는 정보저장매체(이하, 컴퓨터 판독 가능 저장매체)에 저장되고, 전자장치에 의하여 읽혀지고 실행될 수 있다.
상기 컴퓨터 판독 가능 저장매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 저장 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 및 롬(ROM), 램(RAM), 플래시 메리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.
이상과 같이 본 발명을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 발명의 기술적 사상과 필수적 특징을 유지한 채로 다른 형태로도 실시될 수 있음을 인지할 수 있을 것이다.
본 발명의 권리범위는 특허청구범위에 의하여 규정되어질 것이지만, 특허청구범위 기재사항으로부터 직접적으로 도출되는 구성은 물론 그와 등가인 구성으로부터 도출되는 모든 변경 또는 변형된 형태 또한 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.
100 : 서버
110 : 프로세서
120 : 메모리
130 : 스토리지
140 : 통신 인터페이스

Claims (7)

  1. 동영상 내 인물을 탐색하는 시스템에 의한 인물 고속 탐색 방법으로서,
    동영상을 소정 프레임 수 단위의 그룹으로 분할하는 단계;
    각 그룹의 프레임들을 대상으로 현재 프레임의 이전 프레임에 대한 유사 여부를 판단하여 유사한 현재 프레임을 삭제하는 단계;
    삭제되지 않은 프레임들을 대상으로 프레임 내 얼굴의 존재 여부를 판단하는 단계;
    프레임 내 얼굴이 존재하는 경우, 얼굴의 특징점을 추출하고 특징 벡터를 산출하는 단계; 및
    산출된 특징 벡터를 저장하는 단계;
    를 포함하는, 동영상 내 인물 고속 탐색 방법.
  2. 제 1항에 있어서,
    삭제되지 않은 프레임들을 대상으로 프레임 내 얼굴의 존재 여부를 판단하는 단계 전에,
    삭제되지 않은 프레임들을 대상으로 이전 프레임과 현재 프레임의 유사 여부를 판단하여 유사한 현재 프레임을 추가 삭제하는 단계를 더 포함하는, 동영상 내 인물 고속 탐색 방법.
  3. 제 1항에 있어서,
    산출된 특징 벡터를 저장하는 단계 전에,
    산출된 특징 벡터를 기 저장된 특징 벡터들과 비교하여 중복 여부를 확인하는 단계를 더 포함하는, 동영상 내 인물 고속 탐색 방법.
  4. 제 1항에 있어서,
    산출된 특징 벡터를 타겟 이미지의 특징 벡터와 비교하는 단계를 더 포함하는, 동영상 내 인물 고속 탐색 방법.
  5. 제 1항에 있어서,
    상기 현재 프레임의 이전 프레임에 대한 유사 여부를 판단함에는 phash를 이용하는 것을 특징으로 하는, 동영상 내 인물 고속 탐색 방법.
  6. 제 1항에 있어서,
    상기 얼굴의 특징점을 추출하고 특징 벡터를 산출하는 단계는 경량화된 모듈인 dnn을 이용하는, 동영상 내 인물 고속 탐색 방법.
  7. 동영상 내 인물의 고속 탐색을 위한 서버로서,
    하나 이상의 프로세서;
    하나 이상의 메모리; 및
    하나 이상의 스토리지;
    를 포함하고,
    상기 스토리지는, 상기 제 1항 내지 제 6항 중 어느 한 항의 각 단계를 처리하기 위한 명령어들을 포함하는 프로그램이 저장되어 있는, 동영상 내 인물 고속 탐색 서버.
KR1020210168047A 2021-11-30 2021-11-30 동영상 내 인물 고속 탐색 방법 및 서버 KR20230080667A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210168047A KR20230080667A (ko) 2021-11-30 2021-11-30 동영상 내 인물 고속 탐색 방법 및 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210168047A KR20230080667A (ko) 2021-11-30 2021-11-30 동영상 내 인물 고속 탐색 방법 및 서버

Publications (1)

Publication Number Publication Date
KR20230080667A true KR20230080667A (ko) 2023-06-07

Family

ID=86761607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210168047A KR20230080667A (ko) 2021-11-30 2021-11-30 동영상 내 인물 고속 탐색 방법 및 서버

Country Status (1)

Country Link
KR (1) KR20230080667A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101087765B1 (ko) 2010-10-22 2011-11-30 고려대학교 산학협력단 얼굴 인식 기반의 범죄 용의자 탐지 및 식별 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101087765B1 (ko) 2010-10-22 2011-11-30 고려대학교 산학협력단 얼굴 인식 기반의 범죄 용의자 탐지 및 식별 시스템

Similar Documents

Publication Publication Date Title
US20210357625A1 (en) Method and device for generating video, electronic equipment, and computer storage medium
Zanardelli et al. Image forgery detection: a survey of recent deep-learning approaches
US11861816B2 (en) System and method for detecting image forgery through convolutional neural network and method for providing non-manipulation detection service using the same
KR102354692B1 (ko) 규칙 기반 비디오 중요도 분석
CN111581437A (zh) 一种视频检索方法及装置
CN112749608A (zh) 视频审核方法、装置、计算机设备和存储介质
KR20140108180A (ko) 멀티미디어 컨텐츠에 접속하기 위한 시스템 및 방법
CN113572981B (zh) 视频配乐方法及装置、电子设备、存储介质
WO2019089097A1 (en) Systems and methods for generating a summary storyboard from a plurality of image frames
US20210211575A1 (en) Adjusting image capture parameters via machine learning
KR102606734B1 (ko) 생체 검출 방법 및 장치
WO2023231182A1 (zh) 图像处理方法、装置、计算机设备、存储介质及程序产品
Kono et al. Passive video forgery detection considering spatio-temporal consistency
KR20090014754A (ko) 영상 정보 기반의 동영상 파일 중복 검사와 관리를 위한시스템 및 방법
KR20230080667A (ko) 동영상 내 인물 고속 탐색 방법 및 서버
WO2024160178A1 (zh) 图像翻译模型的训练、图像翻译方法、设备及存储介质
CN113011254A (zh) 一种视频数据处理方法、计算机设备及可读存储介质
CN112669244A (zh) 人脸图像增强方法、装置、计算机设备以及可读存储介质
CN116205726B (zh) 一种贷款风险预测方法、装置、电子设备及存储介质
CN116129502B (zh) 人脸伪造视频检测模型的训练方法、装置及计算设备
CN114299074B (zh) 一种视频分割方法、装置、设备及存储介质
CN117557689A (zh) 图像处理方法、装置、电子设备及存储介质
CN118675215B (zh) 人脸图像生成模型的训练方法、装置和计算机设备
US20250046343A1 (en) Video redaction
Kuznetsov et al. Convolutional neural networks to protect against spoofing attacks on biometric face authentication

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20211130

PA0201 Request for examination
PN2301 Change of applicant

Patent event date: 20220406

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20241128

Patent event code: PE09021S01D