WO2021095979A1 - 비디오 캡션 생성장치 및 방법 - Google Patents

비디오 캡션 생성장치 및 방법 Download PDF

Info

Publication number
WO2021095979A1
WO2021095979A1 PCT/KR2019/017428 KR2019017428W WO2021095979A1 WO 2021095979 A1 WO2021095979 A1 WO 2021095979A1 KR 2019017428 W KR2019017428 W KR 2019017428W WO 2021095979 A1 WO2021095979 A1 WO 2021095979A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
embedding
category
vector
category information
Prior art date
Application number
PCT/KR2019/017428
Other languages
English (en)
French (fr)
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 US17/773,194 priority Critical patent/US20220375221A1/en
Publication of WO2021095979A1 publication Critical patent/WO2021095979A1/ko

Links

Images

Classifications

    • 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/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • 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
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/251Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26603Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for automatically generating descriptors from content, e.g. when it is not made available by its provider, using content analysis techniques
    • 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/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles

Definitions

  • the present invention relates to a video caption generation apparatus, and more particularly, to a video caption generation apparatus and method for generating a natural language sentence describing a video used as an input using a convolution and an attention mechanism. .
  • Video caption generation can be said to be an operation of generating natural language sentences describing video content used as input.
  • the video caption generation generates a sentence through two processes.
  • the first step is to extract features from the input video.
  • the feature extraction process includes a process of generating a video as n frame images per second to extract a feature, and a process of generating a feature as a feature by using the video.
  • the second process is the process of generating sentences using the extracted features.
  • features are extracted using a convolution neural network (CNN).
  • CNN convolution neural network
  • the 3D CNN may have information on a continuous frame and learn to encode time information.
  • the 3D CNN requires a complex processing process and consumes a lot of time in outputting natural language sentences. That is, the 3D CNN method has a slow learning speed and a lot of cost, and it is difficult to learn a network with a deep hidden layer.
  • an object of the present invention is to solve the above problems, and to provide a video caption generation apparatus and method capable of generating a natural language sentence describing a video more simply than a conventional 3D CNN. That is, it is to generate video captions without using a complicated method such as a conventional 3D CNN.
  • the generation of natural language sentences according to the present invention uses a convolution and an attention mechanism.
  • the present invention can be applied to fields such as visual QA in addition to generating video captions.
  • the present invention for achieving the above object is an embedding unit for performing video embedding and category information embedding; A stack embedding encoder block unit for selecting features using the embedded video vector and the category vector; A video-category attention unit for receiving a result of the stack embedding encoder and generating a similarity matrix and a feature matrix for video and category information to provide a final encoding result; It provides a video caption generating apparatus including a sentence generating unit that generates a sentence by using the final encoding result.
  • the embedding unit generates an input video signal into n images and generates a frame vector through convolution.
  • the category information embedding is generated as a distributed expression using word embedding and character embedding.
  • the stack embedding encoder block unit includes position encoding, layer normalization, separable depth-specific convolution layers, self attention, and a feedforward layer.
  • the video-category attention unit calculates a similarity matrix (S), a normalized similarity matrix (S'), a video-category similarity matrix (V2C), and a category-video similarity matrix (C2V) using a video vector and a category information vector. do.
  • S similarity matrix
  • S' normalized similarity matrix
  • V2C video-category similarity matrix
  • C2V category-video similarity matrix
  • the decoder module generates a caption by repeating a process of predicting a next word from the result vector of the encoder module and the last word output.
  • an embedding step of generating an embedding of input video frame processing and category information A stack embedding encoder for selecting useful features using the embedded video vector and the category vector; A video-category information attention step of generating a similarity matrix and a feature matrix for video and category information using the selected feature information; A self-attention step of directly adding the video vector and the category vector to the calculation to finally generate an encoder result; And a decoder step of generating a sentence using the generated encoder result.
  • the stack embedding encoder step may include: a position encoding step of applying a weight according to a position of a frame or word appearing in video category information; Normalizing the distribution of each hidden state and performing layer normalization to enable fast learning; A separable convolution step for each depth repeating as many as a set number of layers; A self-attention step of generating an embedding by finding a video and category information pair capable of expressing oneself well for the video and category information received through each input; And performing a FeedForward layer in which the self-attention generated by each head is uniformly mixed so as not to be biased.
  • the video-category information attention step may include obtaining a similarity matrix (S) using video (V) and category information (C); Obtaining a normalized similarity matrix (S) obtained by taking a soft max for each row using the similarity matrix (S); Calculating a video-category similarity (V2C) using the normalized similarity matrix (S) and a category information vector; And calculating the category-video similarity (C2V) using the similarity matrix (S), the normalized similarity matrix (S'), and the video vector (V).
  • a video caption describing a video used as an input using a convolution and an attention mechanism without performing a complex process such as a 3D CNN ( Natural language sentences) can be generated.
  • FIG. 1 is a block diagram showing a video caption generating apparatus according to a preferred embodiment of the present invention
  • FIG. 2 is a flowchart illustrating a video caption generation method according to a preferred embodiment of the present invention
  • FIG. 3 is a detailed flowchart of a process of the stack embedding encoder of FIG. 2
  • FIG. 4 is a detailed flowchart showing obtaining a matrix in the video-category attention process of FIG. 2
  • the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms.
  • the present embodiments are provided to complete the disclosure of the present invention and to fully inform the scope of the invention to those of ordinary skill in the art, and the present invention is defined by the scope of the claims. It just becomes. Therefore, the definition should be made based on the contents throughout the present specification.
  • FIG. 1 is a block diagram showing a video caption generating apparatus according to a preferred embodiment of the present invention.
  • the video caption generation apparatus 10 includes an encoder module 100 and a decoder module 200.
  • the encoder module 100 includes an embedding unit 110, a stack embedding encoder block 120, a video-category attention unit 130, and a self attention unit 140.
  • the decoder module 200 is a module that generates a sentence by using the result of the encoder module.
  • the embedding unit 110 processes the video into frames by using the video and category information to be used for the video, that is, it can be said to be a component that performs video embedding and category information embedding.
  • the video embedding performs a function of generating a frame vector through convolution after performing a frame dividing step of generating n images of a video signal as an input.
  • the convolution uses a network result of an image net that has been learned in advance.
  • the category information embedding is generated in a distributed representation using word embedding and character embedding.
  • the word embedding and the character embedding may be set at random and then the value of the embedding may be learned according to learning.
  • the learned word and character embedding is used.
  • word embedding is set not to be learned through back-propagation during learning.
  • the character embedding is set to be learned through backpropagation, and a vector is generated through CNN and max-over-time-pooling, and the result vector generated through the highway network and the word vector are connected and used.
  • the max-over-time-pooling a feature map is generated as many as the number of filters by the CNN, and the most important feature is extracted for each filter.
  • a highway network passes through a certain layer in the network, it is possible to obtain fast learning because it does not undergo linear operations and operations such as activation that must be performed in the corresponding layer.
  • the stack embedding encoder block unit 120 performs a total of 5 steps in the embodiment.
  • Step 5 is a step including position encoding, layer normalization, Depthwise separable convolution layer, self attention, and FeedFordward layer, wherein the layer normalization and separable depth
  • the star convolution process is repeated as much as the value set by the user.
  • the function of the stack embedding encoder block unit will be described in detail below.
  • the video-category attention unit 130 obtains four matrices using a video vector and a category information vector, and generates a final encoding result.
  • a self attention unit 140 may be further connected to the video-category attention unit 130.
  • the self-attention unit 140 will generate a final encoding result by using the output vector obtained by the stack embedding encoder block unit 120 repeatedly a predetermined number of times. That is, it can be said that the video vector and the category vector are directly added to the operation to finally generate the encoder result.
  • the four matrices refer to a similarity matrix (S), a normalized similarity matrix (S'), a video-category similarity (V2C), and a category-video similarity (C2V), and these processes will be described in detail below. .
  • the decoder module 200 is a module that generates an actual sentence using the result vector of the encoder module 100. That is, the next word is predicted from the result vector of the encoder and the last word output, and the caption for the video is generated by repetitively proceeding.
  • the decoder module 200 is also set to the initial state of the decoder module 200 by using the result vector of the encoder.
  • the embedding unit 110 performs an embedding process (s100).
  • the embedding process (s100) is to perform video embedding and category information embedding, and video embedding refers to a process of generating n images of an input video through frame division, and then generating a frame vector through convolution.
  • the category information embedding is generated as a distributed expression using word embedding and character embedding. In other words, the video is expressed as a vector and the category information is generated by word embedding to receive input at the same time.
  • word embedding is set not to be learned through back-propagation.
  • character embedding is set to be learned through backpropagation.
  • a vector is generated through CNN and max-over-time-pooling, and the resulting vector and word vector generated through a highway network are connected and used.
  • CNN generates feature maps as many as the number of filters, and extracts the most important features for each filter.
  • the stack embedding encoder block unit 120 performs a stack embedding encoder process (s200) in which useful features are selected using the embedded video vector and the category vector.
  • the stack embedding encoder process (s200) consists of a total of 5 steps.
  • FIG. 3 includes an operation process of a vector used as an input and a vector output as an output.
  • position encoding is performed to apply a weight according to a position of a frame or word appearing in a video category (s210).
  • the distribution of each hidden state is normalized, and layer normalization is performed so that the gradient value has a stable value so that the learning can be performed at a high speed (S220).
  • a separable depthwise convolution network is performed (s230). Separable convolution is repeated for each set number of layers, and this convolution is a new channel with depthwise convolution and 1D CNN that independently performs convolution for each channel. This is a combination of pointwise convolution.
  • the second layer normalization and the third separable depth-specific convolution process are repeated as many times as a set value set by the user.
  • the fourth is the self attention process (s250). This refers to creating an embedding by finding videos and category information that can express themselves well for video and category information coming through each input.
  • the self-attention applies two types of attention, scaled dot-product attention and multi-head attention. Scaled dot-product attention aims to find an important part by dot product of video and category information by dot product between input video and category information, and the attention obtained through softmax.
  • the multi-head attention the attention is applied by dividing by the number of heads of the entire dimension based on the row of the vector, and then the process of combining the attention later proceeds. Thereafter, layer normalization is again performed (S260).
  • a feed forward layer is performed that evenly blends the self-attention created by each head so as not to be biased (s270). That is, this is because if each head self-attentions to the input only from its own point of view, the attention is biased according to each head.
  • a video-category attention process (s300) is performed again to generate a final encoding result as shown in FIG. 2.
  • the video-category attention unit 130 obtains and connects a total of four matrices using a video vector and a category information vector, and the four vectors are a similarity matrix (S) and a normalized similarity matrix (S' ), video-category similarity (V2C), and category-video similarity (C2V).
  • S similarity matrix
  • S' normalized similarity matrix
  • V2C video-category similarity
  • C2V category-video similarity
  • a similarity matrix (S) is obtained using video (V) and category information (C). Then, the similarity matrix S'normalized by taking a softmax for each row is obtained using the similarity matrix S.
  • V2C the video-category similarity
  • S the normalized similarity matrix
  • S' the normalized similarity matrix
  • V the video vector
  • V2V the category-video similarity
  • a self-attention process (s400) is performed on the output vector obtained by repeating the stack embedding encoder block three times to generate a final encoding result.
  • the decoder module 200 After the final encoding result is generated by the encoder module 100 as described above, the decoder module 200 generates an actual sentence using the result vector of the encoder module 100 (s500). In the sentence generation, the result vector of the encoder is set as an initial state of the decoder module 200, the next word is predicted from the result vector of the encoder and the last word output, and the prediction is repeatedly performed to caption the video. Is created.
  • [Table 1] shows statistics on videos and references in the MSR-VTT data set, and there are 20 references for one clip.
  • the basic model compared to other caption generation models in the present invention used the "2D CNN + LSTM" model.
  • 100 key frames are randomly extracted and the result of InceptionV3 is passed through LSTM to generate a 128-dimensional encoder vector.
  • Set the LSTM to its initial state and create a caption for the video. Only word embedding was used, and the dimension of word embedding is 128 dimensions.
  • This basic model used 3,500 training data and the evaluation data were the same. The experiment was carried out according to the experimental parameters of Table 3 by randomly extracting 100 video frames, and the experimental results are shown in Table 4.
  • the composite A sentence is generated by searching for a single context from an image of a context.
  • the case where the sentence is not well generated is a case where a video is recognized incorrectly, or a number of words that do not exist in the dictionary are generated. Comparing the results of the present invention with the basic model, the basic model generated many words that did not exist in the dictionary, and the recognition rate tended to be low with respect to changes in dark screens or scenes. On the other hand, it was found that the proposed model of the present invention outputs fewer words that do not exist in the dictionary compared to the basic model, and the output of the complex context is also relatively good.
  • the proposed model of the present invention was able to obtain good performance without using additional information like 3D CNN, and it was helpful to generate features for expressing video by using 2D CNN and multi-head self-attention.
  • It can be used for a device that generates natural language sentences necessary for explaining a video.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

본 발명은 입력으로 사용되는 비디오에 대해 설명하는 자연어 문장을 생성하는 비디오 캡션 생성장치 및 방법에 관한 것이다. 본 발명은 비디오 임베딩 및 카테고리 정보 임베딩을 진행하는 임베딩부와, 상기 임베딩된 비디오 벡터와 카테고리 벡터를 이용하여 자질을 선택하는 스택 임베딩 인코더 블록부, 상기 스택 임베딩 인코더의 결과를 전달받고 비디오와 카테고리 정보에 대한 유사도 매트릭스와 자질 매트릭스를 생성하여 최종 인코딩 결과물을 제공하는 비디오-카테고리 어텐션부, 및 상기 최종 인코딩 결과물을 이용하여 문장을 생성하는 문장 생성부를 포함하여 구성된다.

Description

비디오 캡션 생성장치 및 방법
본 발명은 비디오 캡션 생성장치에 관한 것으로, 특히 콘볼루션(convolution)과 어텐션 메커니즘(attention mechanism)을 이용하여 입력으로 사용되는 비디오에 대해 설명하는 자연어 문장을 생성하는 비디오 캡션 생성장치 및 방법에 관한 것이다.
비디오 캡션 생성은 입력으로 사용되는 비디오 내용을 설명하는 자연어 문장을 생성하는 작업이라 할 수 있다. 이러한 비디오 캡션 생성은 일반적으로 2가지 과정을 거쳐 문장을 생성한다.
첫 번째 과정은 입력 비디오로부터 특징을 추출하는 과정이다. 상기 특징 추출 과정에는 비디오를 1초당 n개의 프레임 이미지로 생성하여 특징을 추출하는 과정과 이를 이용하여 자질(feature)로 생성하는 과정을 포함한다. 두 번째 과정은 추출한 특징을 이용하여 문장을 생성하는 과정이다. 그리고 이러한 과정에 따라 비디오 캡션을 생성하기 위해서는 각 프레임(frame)으로 분할한 후 콘볼루션 뉴럴 네트워크(CNN: Convolution Neural Network)을 이용하여 특징을 추출한다.
그런데 상기 콘볼루션 뉴럴 네트워크(Convolution Neural Network)을 이용한 2D CNN 방법은 단일 이미지에만 적용되고 비디오와 같은 시간 정보를 사용할 수 없다. 이를 해결하기 위해 3D CNN이 제안된 바 있다.
상기 3D CNN은 연속 프레임에 대한 정보를 가질 수 있으며 시간 정보를 인코딩하는 학습이 가능하다. 그러나 상기 3D CNN은 자연어 문장을 출력함에 있어 복잡한 처리과정이 필요하고 그만큼 시간이 많이 소모되었다. 즉 3D CNN 방법은 학습속도가 느리고 비용 소모가 많이 발생하며, 아울러 은닉층이 깊은 네트워크는 학습하기가 어려웠다.
따라서 본 발명의 목적은 상기한 문제점을 해결하기 위한 것으로, 종래 3D CNN에 비해 간단하게 비디오에 대해 설명하는 자연어 문장을 생성할 수 있는 비디오 캡션 생성장치 및 방법을 제공하는 것이다. 즉 종래 3D CNN과 같은 복잡한 방법을 사용하지 않고서도 비디오 캡션을 생성하기 위함이다.
그리고 본 발명의 자연어 문장의 생성은 콘볼루션(convolution)과 어텐션 메커니즘(attention mechanism)을 이용하고 있다.
아울러 이러한 본 발명은 비디오 캡션를 생성하는 것 이외에도 비쥬얼 QA와같은 분야에도 적용할 수 있도록 하는 것이다.
이와 같은 목적을 달성하기 위한 본 발명은, 비디오 임베딩 및 카테고리 정보 임베딩을 진행하는 임베딩부; 상기 임베딩된 비디오 벡터와 카테고리 벡터를 이용하여 자질을 선택하는 스택 임베딩 인코더 블록부; 상기 스택 임베딩 인코더의 결과를 전달받고 비디오와 카테고리 정보에 대한 유사도 매트릭스와 자질 매트릭스를 생성하여 최종 인코딩 결과물을 제공하는 비디오-카테고리 어텐션부; 상기 최종 인코딩 결과물을 이용하여 문장을 생성하는 문장 생성부를 포함하는 비디오 캡션 생성장치를 제공한다.
상기 임베딩부는, 입력 비디오 신호를 n개의 이미지로 생성하고 콘볼루션을 통해 프레임 벡터를 생성한다.
상기 카테고리 정보 임베딩은, 단어 임베딩과 문자 임베딩을 이용하여 분산 표현으로 생성된다.
상기 스택 임베딩 인코더 블록부는, 포지션 인코딩, 레이어 정규화, 분리 가능한 깊이별 콘볼루션 층, 셀프 어텐션, 순방향 층(FeedForward layer)를 포함한다.
상기 비디오-카테고리 어텐션부는, 비디오 벡터와 카테고리 정보 벡터를 이용하여 유사도 매트릭스(S), 정규화한 유사도 매트릭스(S'), 비디오-카테고리 유사도 매트릭스(V2C), 카테고리-비디오 유사도 매트릭스(C2V)를 계산한다.
상기 디코더 모듈은, 상기 인코더 모듈의 결과 벡터와 마지막으로 출력된 단어로부터 다음 단어를 예측하는 과정을 반복하여 캡션을 생성한다.
본 발명의 다른 특징에 따르면, 입력 비디오의 프레임 처리 및 카테고리 정보의 임베딩을 생성하는 임베딩 단계; 임베딩된 비디오 벡터와 카테고리 벡터를 이용하여 유용한 자질을 선택하는 스택 임베딩 인코더 단계; 상기 선택된 자질 정보를 이용하여 비디오와 카테고리 정보에 대한 유사 매트릭스와 자질 매트릭스를 생성하는 비디오-카테고리 정보 어텐션 단계; 비디오 벡터와 카테고리 벡터를 직접 연산에 추가하여 최종적으로 인코더 결과를 생성하는 셀프 어텐션 단계; 및 상기 생성된 인코더 결과를 이용하여 문장을 생성하는 디코더 단계를 포함하는 비디오 캡션 생성방법을 제공한다.
상기 스택 임베딩 인코더 단계는, 비디오 범주 정보 내 등장하는 프레임 또는 단어 위치에 따라 가중치를 적용하는 포지션 인코딩(Position Encoding) 단계; 각 은닉 상태(hidden state)의 분포를 정규화해주고 빠른 학습이 가능하도록 레이어 정규화(Layer Normalization)을 진행하는 단계; 각 설정한 층수만큼 반복하는 분리 가능한 깊이별 콘볼루션 단계; 각 입력으로 들어오는 비디오와 범주 정보에 대해 자기 자신을 잘 표현할 수 있는 비디오와 카테고리 정보 쌍을 찾아 임베딩을 생성하는 셀프 어텐션 단계; 및 각 헤드가 생성한 셀프 어텐션이 치우치지 않도록 균등하게 섞는 순방향 층(FeedForward layer) 수행단계를 포함한다.
상기 비디오-카테고리 정보 어텐션 단계는, 비디오(V)와 카테고리 정보(C)를 이용하여 유사도 매트릭스(S)를 구하는 단계; 상기 유사도 매트릭스(S)를 이용하여 각 행에 대해 소프트 멕스를 취한 정규화한 유사도 매트릭스(S)를 구하는 단계; 상기 정규화한 유사도 매트릭스(S)와 카테고리 정보 벡터를 이용하여 비디오-카테고리 유사도(V2C)를 계산하는 단계; 및 상기 유사도 매트릭스(S), 정규화한 유사도 매트릭스(S'), 비디오 벡터(V)를 이용하여 카테고리-비디오 유사도(C2V)를 계산하는 단계를 포함하여 수행된다.
이상과 같은 본 발명의 비디오 캡션 생성장치 및 방법에 따르면, 3D CNN과 같은 복잡한 처리를 하지 않고 콘볼루션(Convolution)과 어텐션 메커니즘(Attention Mechanism)을 이용하여 입력으로 사용되는 비디오를 설명하는 비디오 캡션(자연어 문장)을 생성할 수 있다.
따라서 종래보다 덜 번거로울 뿐만 아니라 학습 속도를 빠르게 할 수 있으며, 비용도 절감되는 효과가 있다.
도 1은 본 발명의 바람직한 실시 예에 따른 비디오 캡션 생성장치를 보인 블록 구성도
도 2는 본 발명의 바람직한 실시 예에 따른 비디오 캡션 생성방법을 설명하는 흐름도
도 3은 도 2의 스택 임베딩 인코더 과정의 상세 흐름도
도 4는 도 2의 비디오-카테고리 어텐션 과정에서 매트릭스를 구하는 것을 보인 상세 흐름도
본 발명의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
이하에서는 도면에 도시한 실시 예에 기초하면서 본 발명에 대하여 더욱 상세하게 설명하기로 한다.
도 1은 본 발명의 바람직한 실시 예에 따른 비디오 캡션 생성장치를 보인 구성도이다.
본 실시 예의 비디오 캡션 생성장치(10)는, 인코더 모듈(100)과 디코더 모듈(200)을 포함한다. 인코더 모듈(100)은 임베딩부(Embedding)(110), 스택 임베딩 인코더 블록부(stack embedding encoder block)(120), 비디오-카테고리 어텐션부(130), 셀프 어텐션부(140)를 포함한다. 그리고 디코더 모듈(200)은 인코더 모듈의 결과를 이용하여 문장을 생성하는 모듈이다.
각 구성을 구체적으로 살펴보기로 한다.
임베딩부(110)는 비디오와 그 비디오에 사용할 카테고리 정보를 이용하여 비디오를 프레임으로 처리하는 것으로, 즉 비디오 임베딩과 카테고리 정보 임베딩을 수행하는 구성이라 할 수 있다. 상기 비디오 임베딩은, 입력으로 들어오는 비디오 신호에 대해 n개의 이미지로 생성하는 프레임 분할 단계를 수행한 후, 콘볼루션을 통해 프레임 벡터를 생성하는 기능을 수행한다. 상기 콘볼루션은 미리 학습된 이미지 넷(ImageNet)의 네트워크 결과를 사용한다.
본 실시 예에서 상기 카테고리 정보 임베딩은 단어 임베딩과 문자 임베딩을 이용하여 분산 표현(distributed representation)으로 생성된다. 상기 단어 임베딩과 문자 임베딩은 랜덤으로 설정한 후 학습에 따라 임베딩의 값이 학습되도록 할 수 있으며, 실시 예에서는 학습된 단어 및 문자 임베딩을 사용하게 된다.
본 실시 예에 따르면 단어 임베딩은 학습 시 역전파(back-propagation)을 통해 학습되지 않도록 설정한다. 그리고 문자 임베딩은 역전파를 통해 학습이 되도록 설정하고 CNN과 max-over-time-pooling을 거쳐 벡터를 생성하고 하이웨이 네트워크(Highway Network)를 통해 생성된 결과 벡터와 단어 벡터를 연결하여 사용한다. 상기 max-over-time-pooling은 CNN이 필터 개수만큼 자질 맵(feature map)이 생성되고, 각 filter별로 가장 중요한 특성을 추출한다. 그리고 하이웨이 네트워크는 네트워크 내 어떤 레이어를 통과할 때 해당 레이어에서 수행되어야 하는 선형 연산과 활성화(activation) 같은 연산을 거치치 않기 때문에 빠른 학습을 얻을 수 있다.
스택 임베딩 인코더 블록부(120)는 실시 예에서 총 5단계를 수행한다. 5단계는, 포지션 인코딩, 레이어 정규화(layer normalization), 분리 가능한 깊이별 콘볼루션(Depthwise separable convolution layer), 셀프 어텐션, 순방향 층(FeedFordward layer)를 포함하는 단계이고, 여기서 상기 레이어 정규화 및 분리가능한 깊이별 콘볼루션 과정은 사용자가 설정해준 값만큼 반복하게 된다. 이와같은 스택 임베딩 인코더 블록부의 기능은 아래에서 상세하게 설명할 것이다.
비디오-카테고리 어텐션부(130)는 비디오 벡터와 카테고리 정보 벡터를 이용하여 4개의 매트릭스를 구하고, 최종 인코딩 결과물을 생성하는 역할을 한다.
본 실시 예에서, 상기 비디오-카테고리 어텐션부(130)에는 셀프 어텐션부(140)가 더 연결될 수 있다. 이 경우 셀프 어텐션부(140)가 상기 스택 임베딩 인코더 블록부(120)가 소정 횟수 반복하여 나온 출력 벡터를 이용하여 최종 인코딩 결과물을 생성할 것이다. 즉 비디오 벡터와 카테고리 벡터를 직접 연산에 추가하여 최종적으로 인코더 결과를 생성하는 것이라 할 수 있다.
상기 매트릭스 4개는, 유사도 매트릭스(S), 정규화한 유사도 매트릭스(S'), 비디오-카테고리 유사도(V2C), 카테고리-비디오 유사도(C2V)를 말하며, 이러한 과정은 아래에서 상세하게 설명하기로 한다.
한편, 디코더 모듈(200)은 상기 인코더 모듈(100)의 결과 벡터를 이용하여 실제 문장을 생성하는 모듈이다. 즉 인코더의 결과 벡터와 마지막으로 출력된 단어로부터 다음 단어를 예측하고, 이를 반복적으로 진행하여 비디오에 대한 캡션을 생성한다.
이러한 디코더 모듈(200)은 인코더의 결과 벡터를 이용하여 디코더 모듈(200)의 초기 상태로 설정하기도 한다.
다음에는 이와 같이 구성된 비디오 캡션 생성장치를 이용하여 비디오 캡션을 생성하는 방법에 대해 살펴보기로 한다.
먼저 도 2에 도시된 바와 같이 임베딩부(110)가 임베딩 과정(s100)을 수행하게 된다. 임베딩 과정(s100)은 비디오 임베딩과 카테고리 정보 임베딩을 수행하는 것으로서, 비디오 임베딩은 입력되는 비디오에 대해 프레임 분할작업을 통해 n개의 이미지로 생성한 다음, 콘볼루션을 통해 프레임 벡터를 생성하는 과정을 말한다. 그리고 카테고리 정보 임베딩은 단어 임베딩과 문자 임베딩을 이용하여 분산표현으로 생성된다. 즉 비디오를 벡터로 표현하고 카테고리 정보를 단어 임베딩을 통해 벡터를 생성하여 동시에 입력받는 것이다.
한편, 카테고리 정보 임베딩 시, 단어 임베딩은 역전파(back-propagation)를 통해 학습되지 않도록 설정한다. 반면 문자 임베딩은 역전파를 통해 학습이 되도록 설정한다. 문자 임베딩은 CNN과 max-over-time-pooling을 거쳐 벡터를 생성하고 하이웨이 네트워크(Highway Network)를 통해 생성된 결과 벡터와 단어 벡터를 연결하여 사용한다. 상기 max-over-time-pooling은 CNN이 필터 개수만큼 feature map이 생성되고, 각 filter별로 가장 중요한 특성을 추출한다. 하이웨이 네트워크는 네트워크 내 어떤 레이어를 통과할 때 해당 레이어에서 수행되어야 하는 선형 연산과 활성화(activation) 같은 연산을 거치치 않기 때문에 빠른 학습을 얻을 수 있다. 따라서 본 발명에서는 학습된 단어 및 문자 임베딩을 사용한다.
이러한 임베딩 과정이 완료되면 스택 임베딩 인코더 블록부(120)가 임베딩 된 비디오 벡터와 카테고리 벡터를 이용하여 유용한 자질을 선택하는 스택 임베딩 인코더 과정(s200)을 수행한다. 본 실시 예에서 이러한 스택 임베딩 인코더 과정(s200)은 총 5단계로 이루어진다.
상기 스택 임베딩 인코더 과정(s200)은 도 3을 참고하여 설명한다. 참고로 도 3에서는 입력으로 사용했던 벡터와 출력으로 나온 벡터의 연산과정을 포함하고 있다.
첫 번째로, 포지션 인코딩(Position Encoding)을 수행하여 비디오 카테고리 내 등장하는 프레임 또는 단어 위치에 따라 가중치를 적용한다(s210). 이는 상기 비디오 및 카테고리 정보에 위치 정보가 포함되어 있지 않기 때문에 위치 정보를 이용할 수 있도록 삼각 함수 중 sine, cosine 함수를 통해 위치 정보를 추가하는 과정을 의미한다.
두 번째로, 각 은닉상태(hidden state)의 분포를 정규화해주고 기울기(gradient) 값이 안정적인 값을 가지도록 하여 빠른 속도로 학습할 수 있도록 레이어 정규화(Layer Normalization)을 진행한다(s220).
세 번째로, 분리 가능한 깊이별 콘볼루션(Depthwise convolution Network)을 수행한다(s230). 분리 가능한 콘볼루션은 각 설정한 층 수만큼 반복되어 진행되며, 이러한 콘볼루션은 각 채널마다 독립적으로 콘볼루션을 실행하는 깊이별 콘볼루션(Depthwise convolution)과 1D CNN으로 여러 개의 채널을 하나의 새로운 채널로 합치는 위치별 콘볼루션(Pointwise convolution)을 결합한 것을 말한다.
이처럼 2단계로 진행되는 분리 가능한 깊이별 콘볼루션은 일반 콘볼루션 네트워크에 비해 상대적으로 연산량이 적기 때문에 학습속도가 빨라질 것이다. 이후 레이어 정규화를 다시 진행한다(s240).
그리고 본 실시 예에서 상기 두 번째인 레이어 정규화 및 세 번째인 분리 가능한 깊이별 콘볼루션 과정은 사용자가 셋팅한 설정값만큼 반복하게 된다.
네 번째는, 셀프 어텐션 과정이다(s250). 이는 각 입력으로 들어오는 비디오와 카테고리 정보에 대해 자기 자신을 잘 표현할 수 있는 비디오와 카테고리 정보를 찾아 이를 이용하여 임베딩을 생성하는 것을 말한다. 실시 예에서, 이러한 셀프 어텐션은 스케일드 닷-프로덕트 어텐션(Scaled dot-product attention)과 멀티-헤드 어텐션(multi-head attention)인 두 가지 어텐션을 적용한다. 스케일드 닷-프로덕트 어텐션은 입력으로 들어오는 비디오와 카테고리 정보 사이를 내적하여 어텐션을 소프트맥스(softmax)를 통해 구한 것을 통해 다시 비디오와 카테고리 정보를 내적하여 중요한 부분을 찾는 것이 목적이다. 그리고 멀티-헤드 어텐션은 벡터의 열(row)를 기준으로 전체 차원의 헤드 수만큼 나누어 어텐션을 적용한 후 추후에 어텐션을 합치는 과정을 진행한다. 이후 레이어 정규화를 다시 수행한다(s260).
다섯 번째는, 각 헤드가 만들어낸 셀프 어텐션이 치우치지 않도록 균등하게 섞는 역할을 하는 순방향(Feed Forward Layer)층을 수행한다(s270). 즉, 각 헤드가 자신의 관점으로만 입력에 대해 셀프 어텐션을 하면 각 헤드에 따라 어텐션이 치우치기 때문이다.
이와 같은 5단계를 통해 스택 임베딩 인코더 과정(s200)이 수행된 다음에는 다시 도 2와 같이 최종 인코딩 결과물을 생성하기 위하여 비디오-카테고리 어텐셔 과정(s300)이 수행된다.
이러한 과정은 비디오-카테고리 어텐션부(130)가 비디오 벡터와 카테고리 정보 벡터를 이용하여 총 4개의 매트릭스를 구하여 연결함으로써 가능하고, 상기 4개 벡터는 유사도 매트릭스(S), 정규화한 유사도 매트릭스(S'), 비디오-카테고리 유사도(V2C), 카테고리-비디오 유사도(C2V)를 말한다.
상기 매트릭스를 구하는 과정은 도 4를 참고한다.
먼저 비디오(V)와 카테고리 정보(C)를 이용하여 유사도 매트릭스(S)를 구한다. 그리고 상기 유사도 매트릭스(S)를 이용하여 각 행에 대해 소프트맥스(softmax)를 취하여 정규화한 유사도 매트릭스(S')를 구한다.
다음에는 상기 정규화한 유사도 매트릭스(S')와 카테고리 정보 벡터를 이용하여 비디오-카테고리 유사도(V2C)를 계산하고, 다시 유사도 매트릭스(S), 정규화한 유사도 매트릭스(S'), 비디오 벡터(V)를 이용하여 상기 카테고리-비디오 유사도(C2V)를 구한다.
이후 도 2와 같이 스택 임베딩 인코더 블록을 3번 반복하여 나온 출력 벡터에 셀프 어텐션 과정(s400)을 수행하여 최종 인코딩 결과물을 생성한다.
상기와 같이 인코더 모듈(100)에 의해 최종 인코딩 결과물이 생성된 다음에는 디코더 모듈(200)이 상기 인코더 모듈(100)의 결과 벡터를 이용하여 실제 문장을 생성하게 된다(s500). 문장 생성은, 상기 인코더의 결과 벡터를 디코더 모듈(200)의 초기 상태로 설정하고, 인코더의 결과 벡터와 마지막으로 출력된 단어로부터 다음 단어를 예측하고, 이러한 예측을 반복적으로 진행하여 비디오에 대한 캡션을 생성한다.
다음에는 본 발명의 비디오 캡션 생성장치의 실험 결과를 다른 방법들과 비교하여 살펴보기로 한다. 실험에는 마이크로소프트사에서 2017년 공개한 MSR-VTT 데이터 셋을 이용하였고, 한국어 번역 작업을 통해 한국어 데이터 셋을 구축한 후 실험을 진행하였다.
다음 [표 1]은 MSR-VTT 데이터 셋 내의 비디오와 레퍼런스에 대한 통계로서, 하나의 클립에 대해 20개의 레퍼런스가 존재한다.
비디오 수 클립 수 총 레퍼런스 수
공식 데이터 7,180 10,000 200,000
수집 데이터 5,706 7,825 156,500
한국어 번역 작업 후 형태소 분석을 통해 품사를 제거한 후 사용하였으며, 캡션 내 형태소 갯수를 최대 15개로 설정하였고 형태소 갯수가 15개 이상인 캡션을 제외하였다. 다음 표 2는 실험 데이터 정보이다.
코퍼스 분류 비디오 수 레퍼런스 수
학습 코퍼스 6,329 70,527
검증 코퍼스 713 9,087
평가 코퍼스 783 9,661
총합 7,825 89,275
본 발명에 다른 캡션 생성 모델과 비교되는 기본 모델은 "2D CNN + LSTM" 모델을 사용하였다. 즉, 동일하게 100개의 키 프레임을 임의 추출하고 InceptionV3 의 결과물을 LSTM을 거쳐 128차원의 인코더 벡터를 생성한다. LSTM의 초기 상태로 설정하고 비디오에 대한 캡션을 생성한다. 단어 임베딩만 사용했으며 단어 임베딩의 차원은 128차원이다. 이 기본 모델은 학습 데이터를 3,500개를 사용하였으며 평가 데이터는 동일하다. 실험은 비디오 프레임을 임의로 100개를 추출하여 표 3의 실험 파라미터에 따라 진행하였고, 실험 결과는 표 4에 나타냈다.
파라미터 분류 설정 값
비디오 프레임 수 100
비디오 임베딩 차원 2,048
단어 임베딩 차원 300
문자 임베딩 차원 200
Dropout 0.1
학습률 0.001
사용한 헤드 수 2
분류 B@1 B@2 B@3 B@4 ROUGE_L CIDEr
기본 모델(전체 형태소) 0.631 0.323 0.198 0.121
제안 모델(형태소 15개 이하) 0.640 0.490 0.392 0.313 0.500 0.237
제안 모델(전체 형태소) 0.663 0.506 0.404 0.321 0.494 0.116
실험 결과에 따르면, 본 발명의 실시 예에서 비디오를 설명하는 문장을 잘 생성한 경우는, 부가적 수식을 통해 새로운 단어가 생성된 경우, 영상에 대해 더 포괄적으로 설명해주는 행위를 생성한 경우, 복합 컨텍스트의 영상에서 단일 컨텍스트를 찾아 문장을 생성한 경우이고, 문장의 생성이 잘되지 않은 경우는 비디오를 잘못 인식한 경우, 사전 내 존재하지 않은 단어가 많이 발생한 경우이다. 본 발명과 상기 기본 모델의 결과를 비교하면, 기본 모델이 사전 내 존재하지 않은 단어를 많이 생성했으며 어두운 화면이나 장면의 변화에 대해 인식률이 낮은 경향을 보였다. 반면 본 발명의 제안 모델은 상기 기본 모델에 비해 사전 내 존재하지 않은 단어를 적게 출력하며 복합 컨텍스트에 대한 출력 또한 비교적 잘된 것으로 나타났다.
그리고 본 발명의 제안모델이 3D CNN과 같이 추가 정보를 이용하지 않아도 좋은 성능을 얻을 수 있었고, 2D CNN과 멀티 헤드 셀프 어텐션을 이용함으로써 비디오를 표현하기 위한 자질을 생성하는데 도움이 되었음을 알 수 있었다.
이상과 같이 본 발명의 도시된 실시 예를 참고하여 설명하고 있으나, 이는 예시적인 것들에 불과하며, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자라면 본 발명의 요지 및 범위에 벗어나지 않으면서도 다양한 변형, 변경 및 균등한 타 실시 예들이 가능하다는 것을 명백하게 알 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적인 사상에 의해 정해져야 할 것이다.
비디오의 설명에 필요한 자연어 문장을 생성하는 장치 등에 이용될 수 있다.

Claims (9)

  1. 비디오 임베딩 및 카테고리 정보 임베딩을 진행하는 임베딩부;
    상기 임베딩된 비디오 벡터와 카테고리 벡터를 이용하여 자질을 선택하는 스택 임베딩 인코더 블록부;
    상기 스택 임베딩 인코더의 결과를 전달받고 비디오와 카테고리 정보에 대한 유사도 매트릭스와 자질 매트릭스를 생성하여 최종 인코딩 결과물을 제공하는 비디오-카테고리 어텐션부; 및
    상기 최종 인코딩 결과물을 이용하여 문장을 생성하는 문장 생성부를 포함하는 비디오 캡션 생성장치.
  2. 제 1 항에 있어서,
    상기 임베딩부는,
    입력 비디오 신호를 n개의 이미지로 생성하고 콘볼루션을 통해 프레임 벡터를 생성하는 비디오 캡션 생성장치.
  3. 제 1 항에 있어서,
    상기 카테고리 정보 임베딩은,
    단어 임베딩과 문자 임베딩을 이용하여 분산 표현으로 생성되는 비디오 캡션 생성장치.
  4. 제 1 항에 있어서,
    상기 스택 임베딩 인코더 블록부는,
    포지션 인코딩, 레이어 정규화, 분리 가능한 깊이별 콘볼루션 층, 셀프 어텐션, 순방향 층(FeedForward layer)를 포함하는 비디오 캡션 생성장치.
  5. 제 1 항에 있어서,
    상기 비디오-카테고리 어텐션부는,
    비디오 벡터와 카테고리 정보 벡터를 이용하여 유사도 매트릭스, 정규화한 유사도 매트릭스, 비디오-카테고리 유사도 매트릭스, 카테고리-비디오 유사도 매트릭스를 계산하는 비디오 캡션 생성장치.
  6. 제 1 항에 있어서,
    상기 디코더 모듈은,
    상기 인코더 모듈의 결과 벡터와 마지막으로 출력된 단어로부터 다음 단어를 예측하는 과정을 반복하여 캡션을 생성하는 비디오 캡션 생성장치.
  7. 입력 비디오의 프레임 처리 및 카테고리 정보의 임베딩을 생성하는 임베딩 단계;
    임베딩된 비디오 벡터와 카테고리 벡터를 이용하여 유용한 자질을 선택하는 스택 임베딩 인코더 단계;
    상기 선택된 자질 정보를 이용하여 비디오와 카테고리 정보에 대한 유사 매트릭스와 자질 매트릭스를 생성하는 비디오-카테고리 정보 어텐션 단계;
    비디오 벡터와 카테고리 벡터를 직접 연산에 추가하여 최종적으로 인코더 결과를 생성하는 셀프 어텐션 단계; 및
    상기 생성된 인코더 결과를 이용하여 문장을 생성하는 디코더 단계를 포함하는 비디오 캡션 생성방법.
  8. 제 7 항에 있어서,
    상기 스택 임베딩 인코더 단계는,
    비디오 범주 정보 내 등장하는 프레임 또는 단어 위치에 따라 가중치를 적용하는 포지션 인코딩(Position Encoding) 단계;
    각각 은닉 상태(hidden state)의 분포를 정규화해주고 빠른 학습이 가능하도록 레이어 정규화(Layer Normalization)을 진행하는 단계;
    각각 설정한 층수만큼 반복하는 분리 가능한 깊이별 콘볼루션 단계;
    각각 입력으로 들어오는 비디오와 범주 정보에 대해 자기 자신을 잘 표현할 수 있는 비디오와 카테고리 정보 쌍을 찾아 임베딩을 생성하는 셀프 어텐션 단계; 및
    각각의 헤드가 생성한 셀프 어텐션이 치우치지 않도록 균등하게 섞는 순방향 층(FeedForward layer) 수행단계를 포함하는 비디오 캡션 생성방법.
  9. 제 7 항에 있어서,
    상기 비디오-카테고리 정보 어텐션 단계는,
    비디오와 카테고리 정보를 이용하여 유사도 매트릭스를 구하는 단계;
    상기 유사도 매트릭스를 이용하여 각 행에 대해 소프트 멕스를 취한 정규화한 유사도 매트릭스를 구하는 단계;
    상기 정규화한 유사도 매트릭스와 카테고리 정보 벡터를 이용하여 비디오-카테고리 유사도를 계산하는 단계; 및
    상기 유사도 매트릭스, 정규화한 유사도 매트릭스, 비디오 벡터를 이용하여 카테고리-비디오 유사도를 계산하는 단계를 포함하는 비디오 캡션 생성방법.
PCT/KR2019/017428 2019-11-13 2019-12-11 비디오 캡션 생성장치 및 방법 WO2021095979A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/773,194 US20220375221A1 (en) 2019-11-13 2019-12-11 Video caption generating apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190144855A KR102213385B1 (ko) 2019-11-13 2019-11-13 비디오 캡션 생성장치 및 방법
KR10-2019-0144855 2019-11-13

Publications (1)

Publication Number Publication Date
WO2021095979A1 true WO2021095979A1 (ko) 2021-05-20

Family

ID=74558845

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/017428 WO2021095979A1 (ko) 2019-11-13 2019-12-11 비디오 캡션 생성장치 및 방법

Country Status (3)

Country Link
US (1) US20220375221A1 (ko)
KR (1) KR102213385B1 (ko)
WO (1) WO2021095979A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113611289A (zh) * 2021-08-06 2021-11-05 上海汽车集团股份有限公司 一种语音识别方法和装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023229094A1 (ko) * 2022-05-27 2023-11-30 주식회사 엔씨소프트 행동 예측 방법 및 장치
CN116310984B (zh) * 2023-03-13 2024-01-30 中国科学院微电子研究所 基于Token采样的多模态视频字幕生成方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170127016A1 (en) * 2015-10-29 2017-05-04 Baidu Usa Llc Systems and methods for video paragraph captioning using hierarchical recurrent neural networks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170127016A1 (en) * 2015-10-29 2017-05-04 Baidu Usa Llc Systems and methods for video paragraph captioning using hierarchical recurrent neural networks

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
LI, GUANG ET AL.: "Entangled Transformer for Image Captioning", PROCEEDINGS OF THE IEEE /CVF INTERNATIONAL CONFERENCE ON COMPUTER VISION (ICCV, 2 November 2019 (2019-11-02), pages 8928 - 8937, XP033723151, Retrieved from the Internet <URL:https://openaccess.thecvf.com/content_ICCV_2019/html/Li_Entangled_Transformer_for_Image_Captioning_ICCV_2019_paper.html> [retrieved on 20200728], DOI: 10.1109/ICCV.2019.00902 *
PARK, DA-SOL, JEONG-WOO SON, SUN-JOONG KIM, JEONG-WON CHA: "Video Caption Generation Using Multi-head Self-Attention", PROCEEDINGS OF KOREAN INSTITUTE OF INFORMATION SCIENTISTS AND ENGINEERS ACADEMIC PRESENTATION, 2019, pages 494 - 496, XP055826389, Retrieved from the Internet <URL:http://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE08763231> [retrieved on 20200728] *
WU, YILING ET AL.: "Learning Fragment Self-Attention Embeddings for Image-Text Matching", MM '19: PROCEEDINGS OF THE 27TH ACM INTERNATIONAL CONFERENCE ON MULTIMEDIA, 21 October 2019 (2019-10-21), pages 2088 - 2096, XP058442700, [retrieved on 20200728], DOI: https://doi.org/10.1145/3343031.3350940 *
ZHOU, LUOWEI ET AL.: "End-to-End Dense Video Captioning with Masked Transformer", PROCEEDINGS OF THE I EEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR, 22 June 2018 (2018-06-22), pages 8739 - 8748, XP033473798, Retrieved from the Internet <URL:https://openaccess.thecvf.com/content_cvpr_2018/html/Zhou_End-to-End_Dense_Video_CVPR_2018_paper.html> [retrieved on 20200728], DOI: 10.1109/CVPR.2018.00911 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113611289A (zh) * 2021-08-06 2021-11-05 上海汽车集团股份有限公司 一种语音识别方法和装置

Also Published As

Publication number Publication date
KR102213385B1 (ko) 2021-02-05
US20220375221A1 (en) 2022-11-24

Similar Documents

Publication Publication Date Title
WO2021095979A1 (ko) 비디오 캡션 생성장치 및 방법
CN111488739B (zh) 基于多粒度生成图像增强表示的隐式篇章关系识别方法
WO2017039086A1 (ko) 웹플러그인 기반 딥러닝 모듈화시스템 및 이를 이용한 영상인식방법
Zhang et al. Exploring question understanding and adaptation in neural-network-based question answering
EP0560587A2 (en) Sign language translation system and method
WO2021132797A1 (ko) 반지도 학습 기반 단어 단위 감정 임베딩과 장단기 기억 모델을 이용한 대화 내에서 발화의 감정 분류 방법
CN110750998B (zh) 一种文本输出方法、装置、计算机设备和存储介质
CN112560502B (zh) 一种语义相似度匹配方法、装置及存储介质
CN113870395A (zh) 动画视频生成方法、装置、设备及存储介质
WO2022134793A1 (zh) 视频帧语义信息的提取方法、装置及计算机设备
CN110019749B (zh) 生成vqa训练数据的方法、装置、设备和计算机可读介质
CN104700410B (zh) 基于协同过滤的教学视频标注方法
WO2018212584A2 (ko) 딥 뉴럴 네트워크를 이용하여 문장이 속하는 클래스를 분류하는 방법 및 장치
CN110659392B (zh) 检索方法及装置、存储介质
CN113408619A (zh) 语言模型预训练方法、装置
CN110610006A (zh) 基于笔画和字形的形态学双通道中文词嵌入方法
Yang et al. Multi-intent text classification using dual channel convolutional neural network
WO2022107989A1 (ko) 질의문과 지식 그래프 관계 학습을 이용한 지식 완성 방법 및 장치
CN108460111A (zh) 基于对话的个人性格建模与生成方法及装置
Schmalz Real-time Italian Sign Language Recognition with Deep Learning.
CN113656548A (zh) 基于数据包络分析的文本分类模型解释方法及系统
Rahman et al. Lip reading bengali words
Elbarougy et al. Continuous audiovisual emotion recognition using feature selection and lstm
Zhu et al. A synchronized word representation method with dual perceptual information
WO2024101554A1 (ko) 키워드를 이용한 패러프레이즈 문장 생성장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19952361

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19952361

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19952361

Country of ref document: EP

Kind code of ref document: A1