WO2024039047A1 - 영상의 시맨틱 로그 생성 방법 - Google Patents

영상의 시맨틱 로그 생성 방법 Download PDF

Info

Publication number
WO2024039047A1
WO2024039047A1 PCT/KR2023/008933 KR2023008933W WO2024039047A1 WO 2024039047 A1 WO2024039047 A1 WO 2024039047A1 KR 2023008933 W KR2023008933 W KR 2023008933W WO 2024039047 A1 WO2024039047 A1 WO 2024039047A1
Authority
WO
WIPO (PCT)
Prior art keywords
frames
frame
merge
generating
neural network
Prior art date
Application number
PCT/KR2023/008933
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 주식회사 맨드언맨드
Publication of WO2024039047A1 publication Critical patent/WO2024039047A1/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/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
    • G06F16/7844Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using original textual content or text extracted from visual content or transcript of audio data
    • 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
    • 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/7343Query language or query format
    • 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/73Querying
    • G06F16/738Presentation of query results
    • G06F16/739Presentation of query results in form of a video summary, e.g. the video summary being a video sequence, a composite still image or having synthesized frames
    • 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/74Browsing; Visualisation therefor
    • 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/74Browsing; Visualisation therefor
    • G06F16/743Browsing; Visualisation therefor a collection of video files or sequences
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Definitions

  • the present invention relates to a method for generating a semantic log for an image consisting of a plurality of frames.
  • the present invention seeks to provide an unmanned store solution more suitable for small retail.
  • the present invention seeks to make it possible to understand the situation of a store just by acquiring images, and especially to reduce the effort and time required for post-review of images.
  • the present invention provides information about events that occurred in a store in text form, thereby enabling search for images.
  • the present invention seeks to create a log by semantically understanding events that occur in a store using only images.
  • a method of generating a semantic log for an image composed of a plurality of frames includes the steps of acquiring an input image composed of a plurality of frames; selecting two or more merging target frames among the plurality of frames according to a predetermined rule, and generating a merge frame by merging the two or more merging target frames; and generating text depicting the two or more merge target frames used to generate the merge frames from the merge frames using a learned artificial neural network.
  • Generating the merged frame includes selecting N consecutive frames (N is a natural number) among the plurality of frames as the merge target frame; and generating the merge frame such that a pixel value at a first position within the merge frame corresponds to an average value of pixels located at first positions within each of the N frames. .
  • Generating the merged frame includes selecting M consecutive frames (M is a natural number) among the plurality of frames as the merge target frame; generating M alternating frames in which the original frame and the inverted frame alternate by inverting the color of one of the odd-numbered frames and the even-numbered frames of the M frames; and generating the merge frame such that the pixel value at the first position within the merge frame corresponds to the sum of the values of pixels located at the first position within each of the M alternating frames.
  • Generating the merged frame includes selecting K consecutive frames (K is a natural number) among the plurality of frames as the merge target frame; Grouping the K frames into J groups (J is a natural number) in order; For each of the J groups, the pixel value of the first position of the group frame for each of the J groups corresponds to the average value of the values of the pixels located at the first position within each of the plurality of frames belonging to each group. As a step of generating a group frame, the first position is set for each of the J groups so that they do not overlap each other; and generating the merged frame by merging group frames for each of the J groups.
  • the number of pixels constituting the merged frame may be less than or equal to the number of pixels constituting each of the plurality of frames.
  • the method of generating a semantic log of an image according to an embodiment of the present invention may further include training the artificial neural network using training data before generating the text.
  • the artificial neural network may be a neural network trained to output text depicting the plurality of frames used to generate the merged frame according to the input of the merged frame generated by merging the plurality of frames.
  • the learning data may include a learning merge frame created by merging a plurality of learning frames and text describing the plurality of learning frames.
  • the method of generating a semantic log of an image may further include, after generating the merged frame, setting a region of interest within the merged frame.
  • the step of generating the text generates text depicting a region corresponding to the region of interest of the two or more merge target frames used to generate the merge frame from the merge frame and the region of interest using a learned artificial neural network. It may include;
  • the artificial neural network is trained to output text depicting a region corresponding to the region of interest of the plurality of frames used to generate the merge frame according to the input of the merge frame and the region of interest generated by merging the plurality of frames. It is a neural network, and the learning data used for learning of the artificial neural network depicts a learning merge frame created by merging a plurality of learning frames, a region of interest within the merge frame, and a region corresponding to the region of interest of the plurality of learning frames. It can contain text that says:
  • Setting the region of interest may include setting one of an area where blur occurs and an area where a pixel value other than a predetermined value exists in the merge frame as the region of interest.
  • An apparatus for generating a semantic log for an image composed of a plurality of frames acquires an input image composed of a plurality of frames and merges two or more of the plurality of frames according to a predetermined rule.
  • Text describing the two or more merge target frames used to select a target frame create a merge frame by merging the two or more merge target frames, and generate the merge frame from the merge frame using a learned artificial neural network. can be created.
  • the device selects N consecutive frames (N is a natural number) among the plurality of frames as the merge target frame, and the pixel value of the first position within the merge frame is the second frame within each of the N frames.
  • the merged frame can be created to correspond to the average value of the pixels located at position 1.
  • the device selects M consecutive frames (M is a natural number) among the plurality of frames as the merge target frames, and inverts the color of one of the odd-numbered frames and the even-numbered frames of the M frames. Create M alternating frames in which the original frame and the inverted frame alternate, and the pixel value of the first position within the merged frame is the sum of the values of the pixels located at the first position within each of the M alternating frames.
  • the merge frame can be created to correspond to .
  • the device selects K consecutive frames (K is a natural number) among the plurality of frames as the merge target frames, groups the K frames into J groups (J is a natural number) in order, and J Groups for each of the J groups such that the pixel value of the first position of the group frame for each of the groups corresponds to the average value of the values of the pixels located at the first position within each of the plurality of frames belonging to each group.
  • a frame may be generated, the first position may be set so as not to overlap each other for each of the J groups, and the merged frame may be generated by merging group frames for each of the J groups.
  • the number of pixels constituting the merged frame may be less than or equal to the number of pixels constituting each of the plurality of frames.
  • the device trains the artificial neural network using learning data, and the artificial neural network generates text describing the plurality of frames used to generate the merged frame according to the input of the merged frame generated by merging the plurality of frames. It may be a neural network trained to output.
  • the learning data may include a learning merge frame created by merging a plurality of learning frames and text describing the plurality of learning frames.
  • the device sets a region of interest within the merged frame, and uses a learned artificial neural network to select a region of interest from the merged frame and the region of interest in the two or more merged frames used to generate the merged frame. You can generate text that describes an area.
  • the artificial neural network is trained to output text depicting a region corresponding to the region of interest of the plurality of frames used to generate the merge frame according to the input of the merge frame and the region of interest generated by merging the plurality of frames. It is a neural network, and the learning data used for learning of the artificial neural network depicts a learning merge frame created by merging a plurality of learning frames, a region of interest within the merge frame, and a region corresponding to the region of interest of the plurality of learning frames. It can contain text that says:
  • the device may set any one of an area where blur occurs and an area where a pixel value other than a predetermined value exists in the merge frame as the area of interest.
  • an unmanned store solution more suitable for small retail can be provided.
  • events that occurred in the store are provided in text format, and videos can be searched accordingly.
  • the present invention can generate a log by semantically understanding events that occur in a store using only images.
  • Figure 1 is a diagram schematically showing the configuration of an image logging system according to an embodiment of the present invention.
  • Figure 2 is a diagram schematically showing the configuration of the server 100 according to an embodiment of the present invention.
  • 3 and 4 are diagrams for explaining an exemplary structure of an artificial neural network learned by the server 100 according to an embodiment of the present invention.
  • Figure 5 is a diagram for explaining the process of creating a merge frame 530 according to the first embodiment of the present invention.
  • Figure 6 is a diagram showing a frame to be merged according to the first embodiment of the present invention.
  • FIG. 7 is a diagram illustrating a merge frame 530 generated from the merge target frame of FIG. 6.
  • Figure 8 is a diagram for explaining the process of generating a merge frame 570 according to the second embodiment of the present invention.
  • Figure 9 is a diagram showing alternating frames according to a second embodiment of the present invention.
  • FIG. 10 is a diagram illustrating a merge frame 570 generated from the alternating frames of FIG. 9.
  • Figure 11 is a diagram for explaining the process of creating a merge frame 630 according to the third embodiment of the present invention.
  • Figure 12 is a diagram showing a frame to be merged according to a third embodiment of the present invention.
  • FIG. 13 is a diagram illustrating a merge frame 630 generated from the merge target frame of FIG. 12.
  • FIG. 14 is a diagram illustrating a process in which the server 100 learns the first artificial neural network 720 using a plurality of learning data 710 according to an embodiment of the present invention.
  • FIG. 15 is a diagram illustrating a process in which the server 100 generates output data using the learned first artificial neural network 720 according to an embodiment of the present invention.
  • FIG. 16 is a diagram illustrating a process in which the server 100 learns a second artificial neural network 760 using a plurality of learning data 750 according to an embodiment of the present invention.
  • FIG. 17 is a diagram illustrating a process in which the server 100 generates output data using the learned second artificial neural network 760 according to an embodiment of the present invention.
  • FIG. 18 is a flowchart illustrating a semantic log generation method performed by the server 100 according to an embodiment of the present invention.
  • a method of generating a semantic log for an image composed of a plurality of frames includes the steps of acquiring an input image composed of a plurality of frames; selecting two or more merging target frames among the plurality of frames according to a predetermined rule, and generating a merge frame by merging the two or more merging target frames; and generating text depicting the two or more merge target frames used to generate the merge frames from the merge frames using a learned artificial neural network.
  • Figure 1 is a diagram schematically showing the configuration of an image logging system according to an embodiment of the present invention.
  • An image logging system can generate a semantic log for an image composed of a plurality of frames.
  • the image logging system can merge a plurality of frames to create a merge frame, and use a learned artificial neural network to generate text describing the plurality of frames used to generate the merge frame. there is.
  • 'video' may refer to image content consisting of a plurality of frames.
  • 'frame' may refer to a still image depicting an individual scene.
  • the video may have a frame rate of 25fps.
  • this is an example and the spirit of the present invention is not limited thereto.
  • a 'semantic log' for an image may mean an object that explains or depicts the meaning and/or content of the image.
  • a semantic log may refer to text that explains the content of a video, or it may refer to text that describes a situation within the video.
  • this is an example and the spirit of the present invention is not limited thereto.
  • semantic log may sometimes be described as 'text describing a frame to be merged'.
  • the image logging system may include a server 100, an image acquisition device 200, an image storage device 300, and a network 400, as shown in FIG. 1.
  • the server 100 receives an image consisting of a plurality of frames from the image acquisition device 200 and/or the image storage device 300 and generates a semantic log for the received image. You can.
  • the server 100 receives the image acquired by the image acquisition device 200 and stored in the image storage device 300 from the image storage device 300, and creates a semantic log for the received image. can be generated and transmitted to the image storage device 300.
  • FIG. 2 is a diagram schematically showing the configuration of the server 100 according to an embodiment of the present invention.
  • the server 100 may include a communication unit 110, a first processor 120, a memory 130, and a second processor 140.
  • the server 100 according to an embodiment of the present invention may further include an input/output unit, a program storage unit, etc.
  • the communication unit 110 includes hardware and equipment necessary for the server 100 to transmit and receive signals such as control signals or data signals through a wired or wireless connection with other network devices such as the image acquisition device 200 and/or the image storage device 300. It may be a device containing software.
  • the first processor 120 may be a device that controls a series of processes for generating a semantic log from images received from the image acquisition device 200 and/or the image storage device 300.
  • the processor may refer to, for example, a data processing device built into hardware that has a physically structured circuit to perform a function expressed as a code or command included in a program.
  • data processing devices built into hardware include microprocessor, central processing unit (CPU), processor core, multiprocessor, and application-specific integrated (ASIC). Circuit), FPGA (Field Programmable Gate Array), etc., but the scope of the present invention is not limited thereto.
  • the memory 130 functions to temporarily or permanently store data processed by the server 100.
  • Memory may include magnetic storage media or flash storage media, but the scope of the present invention is not limited thereto.
  • the memory 130 may temporarily and/or permanently store images received from the image acquisition device 200 and/or the image storage device 300.
  • the second processor 140 may refer to a device that performs calculations under the control of the above-described first processor 120. At this time, the second processor 140 may be a device with higher computing power than the above-described first processor 120.
  • the second processor 140 may be configured as a GPU (Graphics Processing Unit). However, this is an example and the spirit of the present invention is not limited thereto. In one embodiment of the present invention, the second processors 140 may be plural or single.
  • the second processor 140 may provide resources used by the artificial neural network implemented by the server 100 for calculation.
  • the second processor 140 may provide resources used for calculation by an artificial neural network that generates a semantic log, that is, text describing a merge target frame from merge frames.
  • a semantic log that is, text describing a merge target frame from merge frames.
  • the image acquisition device 200 may be a device that acquires images of the surrounding environment and transmits them to another device (for example, the image storage device 300 and/or the server 100). there is.
  • the image acquisition device 200 may be a type capable of panning, tilting, and zooming, or may be a type with a fixed angle of view. However, this is an example, and any device that acquires and transmits images of the environment may correspond to the image acquisition device 200 described in the present invention.
  • the image storage device 300 may be a device that stores images received from various devices and provides the stored images upon request from a user terminal (not shown).
  • the image storage device 300 may store the semantic log received from the server 100 in correspondence with the image that is the target of the semantic log. Additionally, the server 100 may provide both an image and a semantic log of the image upon request from a user terminal (not shown).
  • the image storage device 300 may provide a search function for stored semantic logs.
  • the video storage device 300 receives a video search request including a keyword from a user terminal (not shown), searches for the keyword in the stored semantic log accordingly, and then retrieves the video and/or part of the video corresponding to the keyword. It can be provided to a user terminal (not shown).
  • the network 400 may refer to a communication network that mediates data transmission and reception between each component of the video logging system.
  • the network 400 may be a wired network such as Local Area Networks (LANs), Wide Area Networks (WANs), Metropolitan Area Networks (MANs), or Integrated Service Digital Networks (ISDNs), or wireless LANs, CDMA, Bluetooth, satellite communication, etc. may cover wireless networks, but the scope of the present invention is not limited thereto.
  • 3 and 4 are diagrams for explaining an exemplary structure of an artificial neural network learned by the server 100 according to an embodiment of the present invention.
  • the artificial neural network may be an artificial neural network based on a convolutional neural network (CNN) model as shown in FIG. 3.
  • CNN convolutional neural network
  • the CNN model may be a hierarchical model used to ultimately extract features of input data by alternately performing a plurality of computational layers (Convolutional Layer, Pooling Layer).
  • the first processor 120 can build or learn an artificial neural network model by processing learning data according to a supervised learning technique. A detailed description of how the first processor 120 trains the artificial neural network will be described later.
  • the first processor 120 uses a plurality of learning data to input one input data into an artificial neural network so that the generated output value is close to the value labeled in the corresponding learning data.
  • An artificial neural network can be trained by repeatedly performing the process of updating the weight of each layer and/or each node.
  • the first processor 120 may update the weight (or coefficient) of each layer and/or each node according to a back propagation algorithm.
  • the first processor 120 includes a convolution layer for extracting feature values of input data, and a pooling layer for forming a feature map by combining the extracted feature values. can be created.
  • the first processor 120 combines the generated feature maps to create a fully connected layer that prepares to determine the probability that the input data corresponds to each of a plurality of items. can be created.
  • the first processor 120 may calculate an output layer including output corresponding to input data.
  • the input data is divided into blocks of 5
  • an artificial neural network contains in the memory 130 the type of artificial neural network model, the coefficient of at least one node constituting the artificial neural network, the weight of the node, and a function that defines the relationship between the plurality of layers constituting the artificial neural network. It can be stored in the form of coefficients.
  • the structure of the artificial neural network may also be stored in the memory 130 in the form of source code and/or program.
  • the artificial neural network may be an artificial neural network based on a Recurrent Neural Network (RNN) model as shown in FIG. 4.
  • RNN Recurrent Neural Network
  • the artificial neural network according to this recurrent neural network (RNN) model includes an input layer (L1) including at least one input node (N1), and a hidden layer (L2) including a plurality of hidden nodes (N2). ) and an output layer (L3) including at least one output node (N3).
  • the hidden layer L2 may include one or more layers that are fully connected as shown.
  • the artificial neural network may include a function (not shown) that defines the relationship between each hidden layer.
  • At least one output node N3 of the output layer L3 may include an output value generated by an artificial neural network from input values of the input layer L1 under the control of the first processor 120.
  • each node of each layer may be a vector. Additionally, each node may include a weight corresponding to the importance of the node.
  • the artificial neural network uses a first function (F1) that defines the relationship between the input layer (L1) and the hidden layer (L2) and a second function (F2) that defines the relationship between the hidden layer (L2) and the output layer (L3). It can be included.
  • the first function (F1) may define a connection relationship between the input node (N1) included in the input layer (L1) and the hidden node (N2) included in the hidden layer (L2).
  • the second function (F2) may define a connection relationship between the hidden node (N2) included in the hidden layer (L2) and the output node (N3) included in the output layer (L3).
  • the functions between the first function (F1), the second function (F2), and the hidden layer may include a recurrent neural network model that outputs a result based on the input of the previous node.
  • the first function (F1) and the second function (F2) may be learned based on a plurality of learning data.
  • functions between a plurality of hidden layers in addition to the above-described first function (F1) and second function (F2) may also be learned.
  • the artificial neural network according to an embodiment of the present invention can be learned using a supervised learning method based on labeled learning data.
  • the first processor 120 uses a plurality of learning data to input any one input data into an artificial neural network so that the generated output value is close to the value labeled in the learning data.
  • An artificial neural network can be trained by repeatedly performing the process of updating one function (F1, F2, functions between hidden layers, etc.).
  • the first processor 120 may update the above-described functions (F1, F2, functions between hidden layers, etc.) according to a back propagation algorithm.
  • F1, F2, functions between hidden layers, etc. may update the above-described functions according to a back propagation algorithm.
  • this is an example and the spirit of the present invention is not limited thereto.
  • FIGS. 3 and 4 The types and/or structures of artificial neural networks described in FIGS. 3 and 4 are exemplary and the scope of the present invention is not limited thereto.
  • the artificial neural network according to an embodiment of the present invention may be composed of a combination of at least some layers constituting each artificial neural network shown in FIGS. 3 and 4.
  • the artificial neural network is a new network that draws a final conclusion from the layers used to interpret the input data of the artificial neural network of FIG. 3, the layers used to interpret the input data of the artificial neural network of FIG. 4, and the analysis results of the two artificial neural networks. It may be composed of layers. However, this is an example and the spirit of the present invention is not limited thereto.
  • the server 100 generates a merge frame from an image consisting of a plurality of frames
  • the process of learning an artificial neural network using the merge frame will be described
  • the process of using the learned artificial neural network will be described.
  • the process of creating a semantic log for an image is explained.
  • the server 100 can generate a merge frame from an input image consisting of a plurality of frames.
  • 'merged frame' may mean a frame that merges at least two or more frames.
  • the number of pixels constituting the merged frame may be less than or equal to the number of pixels constituting each frame subject to merging.
  • the server 100 according to an embodiment of the present invention can generate merged frames of the first resolution that are the same resolution. That is, the server 100 according to an embodiment of the present invention can display the content and/or meaning of a plurality of frames as one frame.
  • Figure 5 is a diagram for explaining the process of creating a merge frame 530 according to the first embodiment of the present invention.
  • the server 100 may select N consecutive frames 520 (N is a natural number) from the plurality of frames 510 constituting the video as frames to be merged. For example, in a situation where the frame rate of the video is 25fps, the server 100 may select 125 consecutive frames corresponding to a period of 5 seconds as frames to be merged.
  • the length of the time period and the number of frames are illustrative and the scope of the present invention is not limited thereto.
  • the server 100 determines that the pixel value of the first position 531 within the merge frame 530 is the first position within each of the N frames 520 selected according to the above-described process.
  • a merge frame 530 may be created to correspond to the average value of the values of pixels located at positions 521, 522, 523, and 524.
  • the server 100 extracts the values of pixels located at the first positions (521, 522, 523, and 524) from each of the N frames 520, calculates the average value, and merges the average value into the merge frame 530. It can be set to the pixel value of the first position 531.
  • 'average' has the meaning of a representative value of a plurality of pixel values, so it not only implies an arithmetic average, but can also mean all values determined according to various methods of determining the representative value.
  • Figure 6 is a diagram showing a frame to be merged according to the first embodiment of the present invention.
  • FIG. 7 is a diagram illustrating a merge frame 530 generated from the merge target frame of FIG. 6.
  • the merged frame 530 is clear in areas where there is no movement, but is not clear in areas where movement occurs. Through such merged frames 530, it may be difficult for humans to accurately grasp the content of a scene that changes over time, but an artificial neural network may be able to accurately grasp it.
  • Figure 8 is a diagram for explaining the process of generating a merge frame 570 according to the second embodiment of the present invention.
  • the server 100 may select M consecutive frames 550 (M is a natural number) from the plurality of frames 540 constituting the video as frames to be merged. For example, in a situation where the frame rate of the video is 25fps, the server 100 may select 125 consecutive frames corresponding to a period of 5 seconds as frames to be merged.
  • the length of the time period and the number of frames are illustrative and the scope of the present invention is not limited thereto.
  • the server 100 inverts the color of any one of the odd-numbered frames and the even-numbered frames of the M frames 550 to create M frames in which the original frame and the inverted frame alternate. Alternating frames 560 may be created. For example, the server 100 may generate alternating frames 560 by inverting the colors of odd-numbered frames as shown in FIG. 8 .
  • the server 100 determines that the pixel value of the first position 571 in the merge frame 570 is the first position 561, 562 in each of the M alternating frames 560.
  • a merge frame 570 can be created to correspond to the sum of the values of pixels located at , 563, and 564).
  • the server 100 extracts the values of pixels located at the first positions (561, 562, 563, and 564) from each of the M alternating frames 560, calculates the sum, and uses the calculated sum as a merge frame. It can be set to the pixel value of the first position (571) of (570). At this time, in the case of the second embodiment, the pixel values of the original color frame and the frame with the inverted color are added, so there is no need to calculate the average value of the pixel values, unlike the first embodiment.
  • Figure 9 is a diagram showing alternating frames according to the second embodiment of the present invention.
  • FIG. 10 is a diagram illustrating a merge frame 570 generated from the alternating frames of FIG. 9.
  • Figure 11 is a diagram for explaining the process of creating a merge frame 630 according to the third embodiment of the present invention.
  • the server 100 may select K consecutive frames 620 (K is a natural number) among the plurality of frames 610 constituting the video as frames to be merged. For example, in a situation where the frame rate of the video is 25fps, the server 100 may select 125 consecutive frames corresponding to a period of 5 seconds as frames to be merged.
  • the length of the time period and the number of frames are illustrative and the scope of the present invention is not limited thereto.
  • the server 100 can group the selected K frames 620 into J groups (J is a natural number) in order.
  • J is a natural number
  • the server 100 may group the four selected frames into two groups as shown in FIG. 11.
  • the number of frames and groups is illustrative and the scope of the present invention is not limited thereto.
  • the server 100 determines that the pixel value of the first position of the group frames 640 and 650 for each of the J groups is the first position within each of the plurality of frames belonging to each group.
  • Group frames 640 and 650 for each of the J groups can be generated to correspond to the average value of pixels located in .
  • each group frame 640 and 650 may include only average values of pixels for positions that do not overlap each other.
  • the server 100 stores the pixel values of the first positions 641, 642, and 643 of the group frame 640 within each of a plurality of frames (Frame 1, Frame 3) belonging to the first group.
  • a group frame 640 may be created to correspond to the average value of pixels located at the first position.
  • the server 100 does the same for the second group, with the pixel values at the first positions 651 and 652 of the group frame 650 within each of the plurality of frames (Frame 2 and Frame 4) belonging to the second group.
  • a group frame 650 may be created to correspond to the average value of pixels located at the first position.
  • the server 100 may generate a merge frame 630 by merging group frames 640 and 650 for each of the J groups. At this time, the pixel values of some positions (631, 633, 365) constituting the merged frame are calculated from frames belonging to the first group, and the pixel values of other positions (632, 634) are calculated from frames belonging to the second group. It may be calculated from .
  • Figure 12 is a diagram showing a frame to be merged according to a third embodiment of the present invention.
  • FIG. 13 is a diagram illustrating a merge frame 630 generated from the merge target frame of FIG. 12.
  • the merged frame 630 is clear in areas where there is no movement, but has unclear characteristics in areas where movement occurs. Such a merge frame 630 can be used to focus on understanding the overall content of the image.
  • the 'artificial neural network' may be a neural network that has been trained to output text depicting the plurality of frames used to generate the merged frame according to the input of the merged frame generated by merging the plurality of frames.
  • Such an artificial neural network can be learned using a supervised learning method based on a plurality of learning data.
  • the artificial neural network may be a concept encompassing the first artificial neural network and the second artificial neural network, which will be described later.
  • FIG. 14 is a diagram illustrating a process in which the server 100 learns the first artificial neural network 720 using a plurality of learning data 710 according to an embodiment of the present invention.
  • the first artificial neural network 720 may refer to a neural network that has learned (or learns) the correlation between input data and output data included in each of the plurality of learning data 710.
  • each of the plurality of learning data 710 may include a learning merge frame created by merging a plurality of learning frames and text describing the plurality of learning frames.
  • a learning merge frame 711A created by merging a plurality of frames depicting the process of a woman wearing a red bag looking at items in a store
  • a text describing it 711B Examples may include “A woman with a red bag is looking at items.”
  • the second learning data 712 and the third learning data 713 may each include the above-described items.
  • the server 100 may train the first artificial neural network 720 using the first processor 120 and/or the second processor 140. For example, the server 100 inputs the learning merge frame 711A to the first artificial neural network 720, and the text output at that time is close to the text 711B depicting the plurality of learning frames used to generate the learning merge frame. At least one coefficient and/or weight constituting the first artificial neural network 720 may be updated to do so.
  • the server 100 may repeat the above-described process using a plurality of learning data 710 to perform learning in the direction of decreasing the error rate.
  • FIG. 15 is a diagram illustrating a process in which the server 100 generates output data using the learned first artificial neural network 720 according to an embodiment of the present invention.
  • the first artificial neural network 720 is based on the plurality of learning data 710 described above, and includes a merge frame generated by merging a plurality of frames and a plurality of merge frames used to generate the merge frame. It may be a neural network that learns correlations between texts depicting frames.
  • the first artificial neural network 720 outputs text 740 depicting the plurality of frames used to create the merge frame 730. can do.
  • the server 100 inputs a merge frame 730 generated by merging a plurality of frames into the first artificial neural network 720, and outputs the merge frame 730 as an output.
  • Text 740 depicting a plurality of frames used to create can be obtained.
  • FIG. 16 is a diagram illustrating a process in which the server 100 learns a second artificial neural network 760 using a plurality of learning data 750 according to an embodiment of the present invention.
  • the second artificial neural network 760 may refer to a neural network that has learned (or learns) the correlation between input data and output data included in each of the plurality of learning data 750.
  • each of the plurality of learning data 750 may include a learning merge frame created by merging a plurality of learning frames, a region of interest within the merge frame, and text depicting an area corresponding to the region of interest of the plurality of learning frames.
  • the first learning data 751 learning generated by merging multiple frames depicting the process of a woman with an orange bag paying for items in a store and the process of multiple customers looking at items in a store.
  • the second learning data 752 and the third learning data 753 may each include the above-described items.
  • the server 100 may train the second artificial neural network 760 using the first processor 120 and/or the second processor 140. For example, the server 100 inputs the learning merge frame 751A and the region of interest 751C to the second artificial neural network 760, and the text output at that time is text depicting the region corresponding to the region of interest of the plurality of learning frames. At least one coefficient and/or weight constituting the second artificial neural network 760 may be updated to approach 751B.
  • the server 100 may repeat the above-described process using a plurality of learning data 750 to perform learning in the direction of decreasing the error rate.
  • FIG. 17 is a diagram illustrating a process in which the server 100 generates output data using the learned second artificial neural network 760 according to an embodiment of the present invention.
  • the second artificial neural network 760 is based on the above-described plurality of learning data 750, a merged frame generated by merging a plurality of frames, a region of interest within the merged frame, and the corresponding merged frame. It may be a neural network that learns correlations between texts depicting areas corresponding to the areas of interest of the plurality of learning frames used to generate the frames.
  • the second artificial neural network 760 inputs the merge frame 770 created by merging a plurality of frames and the region of interest 780 within the merge frame 770, the plurality of frames used in generating the merge frame are input. Text 790 depicting an area corresponding to the area of interest of the learning frame may be output.
  • the server 100 combines a merge frame 770 generated by merging a plurality of frames and a region of interest 780 within the merge frame 770 using a second artificial neural network 760. ), and as an output, text 790 depicting the region corresponding to the region of interest of the plurality of learning frames used to generate the corresponding merge frame can be obtained.
  • the server 100 may generate a semantic log for an image consisting of a plurality of frames.
  • the server 100 can obtain an input image consisting of a plurality of frames.
  • the server 100 may acquire an image from the image storage device 300 or the image acquisition device 200.
  • the server 100 may also acquire images from another external server (not shown).
  • this is an example and the spirit of the present invention is not limited thereto.
  • the server 100 may select two or more frames to be merged among a plurality of frames according to a predetermined rule. Additionally, the server 100 may generate a merge frame that merges two or more selected merge target frames. Since the frame selection and merge frame creation process has been described with reference to FIGS. 5 to 13, detailed description thereof will be omitted.
  • the server 100 may use the learned first artificial neural network 720 to generate text describing two or more merge target frames used to generate the merge frame from the merge frame.
  • the present invention can generate a semantic log for an image composed of multiple frames.
  • the server 100 may set a region of interest within the generated merge frame. For example, the server 100 may set any one of the areas where blur occurs and the area where pixel values other than a predetermined value (for example, a value corresponding to black) exist as the area of interest in the merge frame. there is.
  • the server 100 may set an area of interest based on selection information received from a user terminal (not shown).
  • the server 100 uses the second artificial neural network 760 to select a region corresponding to the region of interest of two or more merge target frames used to generate the merge frame from the merged frame and the set region of interest. You can also create text that describes .
  • the present invention can generate a semantic log for an image composed of a plurality of frames, and in particular, can generate a semantic log that focuses more on the area of interest.
  • FIG. 18 is a flowchart illustrating a semantic log generation method performed by the server 100 according to an embodiment of the present invention. Hereinafter, it will be described with reference to FIGS. 1 to 17.
  • the server 100 can train an artificial neural network (S1810).
  • S1810 an artificial neural network
  • the 'artificial neural network' may be a neural network that has been trained to output text depicting the plurality of frames used to generate the merged frame according to the input of the merged frame generated by merging the plurality of frames.
  • Such an artificial neural network can be learned using a supervised learning method based on a plurality of learning data.
  • the artificial neural network may be a concept encompassing the first artificial neural network and the second artificial neural network, which will be described later.
  • FIG. 14 is a diagram illustrating a process in which the server 100 learns the first artificial neural network 720 using a plurality of learning data 710 according to an embodiment of the present invention.
  • the first artificial neural network 720 may refer to a neural network that has learned (or learns) the correlation between input data and output data included in each of the plurality of learning data 710.
  • each of the plurality of learning data 710 may include a learning merge frame created by merging a plurality of learning frames and text describing the plurality of learning frames.
  • a learning merge frame 711A created by merging a plurality of frames depicting the process of a woman wearing a red bag looking at items in a store
  • a text describing it 711B Examples may include “A woman with a red bag is looking at items.”
  • the second learning data 712 and the third learning data 713 may each include the above-described items.
  • the server 100 may train the first artificial neural network 720 using the first processor 120 and/or the second processor 140. For example, the server 100 inputs the learning merge frame 711A to the first artificial neural network 720, and the text output at that time is close to the text 711B depicting the plurality of learning frames used to generate the learning merge frame. At least one coefficient and/or weight constituting the first artificial neural network 720 may be updated to do so.
  • the server 100 may repeat the above-described process using a plurality of learning data 710 to perform learning in the direction of decreasing the error rate.
  • FIG. 15 is a diagram illustrating a process in which the server 100 generates output data using the learned first artificial neural network 720 according to an embodiment of the present invention.
  • the first artificial neural network 720 is based on the plurality of learning data 710 described above, and includes a merge frame generated by merging a plurality of frames and a plurality of merge frames used to generate the merge frame. It may be a neural network that learns correlations between texts depicting frames.
  • the first artificial neural network 720 outputs text 740 depicting the plurality of frames used to create the merge frame 730. can do.
  • the server 100 inputs a merge frame 730 generated by merging a plurality of frames into the first artificial neural network 720, and outputs the merge frame 730 as an output.
  • Text 740 depicting a plurality of frames used to create can be obtained.
  • FIG. 16 is a diagram illustrating a process in which the server 100 learns a second artificial neural network 760 using a plurality of learning data 750 according to an embodiment of the present invention.
  • the second artificial neural network 760 may refer to a neural network that has learned (or learns) the correlation between input data and output data included in each of the plurality of learning data 750.
  • each of the plurality of learning data 750 may include a learning merge frame created by merging a plurality of learning frames, a region of interest within the merge frame, and text depicting an area corresponding to the region of interest of the plurality of learning frames.
  • the first learning data 751 learning generated by merging multiple frames depicting the process of a woman with an orange bag paying for items in a store and the process of multiple customers looking at items in a store.
  • the second learning data 752 and the third learning data 753 may each include the above-described items.
  • the server 100 may train the second artificial neural network 760 using the first processor 120 and/or the second processor 140. For example, the server 100 inputs the learning merge frame 751A and the region of interest 751C to the second artificial neural network 760, and the text output at that time is text depicting the region corresponding to the region of interest of the plurality of learning frames. At least one coefficient and/or weight constituting the second artificial neural network 760 may be updated to approach 751B.
  • the server 100 may repeat the above-described process using a plurality of learning data 750 to perform learning in the direction of decreasing the error rate.
  • FIG. 17 is a diagram illustrating a process in which the server 100 generates output data using the learned second artificial neural network 760 according to an embodiment of the present invention.
  • the second artificial neural network 760 is based on the above-described plurality of learning data 750, a merged frame generated by merging a plurality of frames, a region of interest within the merged frame, and the corresponding merged frame. It may be a neural network that learns correlations between texts depicting areas corresponding to the areas of interest of the plurality of learning frames used to generate the frames.
  • the second artificial neural network 760 inputs the merge frame 770 created by merging a plurality of frames and the region of interest 780 within the merge frame 770, the plurality of frames used in generating the merge frame are input. Text 790 depicting an area corresponding to the area of interest of the learning frame may be output.
  • the server 100 combines a merge frame 770 generated by merging a plurality of frames and a region of interest 780 within the merge frame 770 using a second artificial neural network 760. ), and as an output, text 790 depicting the region corresponding to the region of interest of the plurality of learning frames used to generate the corresponding merge frame can be obtained.
  • the server 100 may acquire an input image consisting of a plurality of frames. (S1820)
  • the server 100 may acquire an image from the image storage device 300, An image may be acquired from the image acquisition device 200.
  • the server 100 may also acquire images from another external server (not shown). However, this is an example and the spirit of the present invention is not limited thereto.
  • the server 100 may select two or more frames to be merged among a plurality of frames according to a predetermined rule. Additionally, the server 100 may generate a merge frame by merging two or more selected merge target frames (1830). Hereinafter, the description will be made with reference to FIGS. 5 to 13 again.
  • the server 100 can generate a merge frame from an input image consisting of a plurality of frames.
  • 'merged frame' may mean a frame that merges at least two or more frames.
  • the number of pixels constituting the merged frame may be less than or equal to the number of pixels constituting each frame subject to merging.
  • the server 100 according to an embodiment of the present invention can generate merged frames of the first resolution that are the same resolution. That is, the server 100 according to an embodiment of the present invention can display the content and/or meaning of a plurality of frames as one frame.
  • Figure 5 is a diagram for explaining the process of creating a merge frame 530 according to the first embodiment of the present invention.
  • the server 100 may select N consecutive frames 520 (N is a natural number) from the plurality of frames 510 constituting the video as frames to be merged. For example, in a situation where the frame rate of the video is 25fps, the server 100 may select 125 consecutive frames corresponding to a period of 5 seconds as frames to be merged.
  • the length of the time period and the number of frames are illustrative and the scope of the present invention is not limited thereto.
  • the server 100 determines that the pixel value of the first position 531 within the merge frame 530 is the first position within each of the N frames 520 selected according to the above-described process.
  • a merge frame 530 may be created to correspond to the average value of the values of pixels located at positions 521, 522, 523, and 524.
  • the server 100 extracts the values of pixels located at the first positions (521, 522, 523, and 524) from each of the N frames 520, calculates the average value, and merges the average value into the merge frame 530. It can be set to the pixel value of the first position 531.
  • 'average' has the meaning of a representative value of a plurality of pixel values, so it not only implies an arithmetic average, but can also mean all values determined according to various methods of determining the representative value.
  • Figure 6 is a diagram showing a frame to be merged according to the first embodiment of the present invention.
  • FIG. 7 is a diagram illustrating a merge frame 530 generated from the merge target frame of FIG. 6.
  • the merged frame 530 is clear in areas where there is no movement, but is not clear in areas where movement occurs. Through such merged frames 530, it may be difficult for humans to accurately grasp the content of a scene that changes over time, but an artificial neural network may be able to accurately grasp it.
  • Figure 8 is a diagram for explaining the process of generating a merge frame 570 according to the second embodiment of the present invention.
  • the server 100 may select M consecutive frames 550 (M is a natural number) from the plurality of frames 540 constituting the video as frames to be merged. For example, in a situation where the video frame rate is 25fps, the server 100 may select 125 consecutive frames corresponding to a 5-second period as frames to be merged.
  • the length of the time period and the number of frames are illustrative and the scope of the present invention is not limited thereto.
  • the server 100 inverts the color of any one of the odd-numbered frames and the even-numbered frames of the M frames 550 to create M frames in which the original frame and the inverted frame alternate. Alternating frames 560 may be generated. For example, the server 100 may generate alternating frames 560 by inverting the colors of odd-numbered frames as shown in FIG. 8 .
  • the server 100 determines that the pixel value of the first position 571 in the merge frame 570 is the first position 561, 562 in each of the M alternating frames 560.
  • a merge frame 570 can be created to correspond to the sum of the values of pixels located at , 563, and 564).
  • the server 100 extracts the values of pixels located at the first positions (561, 562, 563, and 564) from each of the M alternating frames 560, calculates the sum, and uses the calculated sum as a merge frame. It can be set to the pixel value of the first position (571) of (570). At this time, in the case of the second embodiment, the pixel values of the original color frame and the frame with the inverted color are added, so there is no need to calculate the average value of the pixel values, unlike the first embodiment.
  • Figure 9 is a diagram showing alternating frames according to a second embodiment of the present invention.
  • FIG. 10 is a diagram illustrating a merge frame 570 generated from the alternating frames of FIG. 9.
  • Figure 11 is a diagram for explaining the process of creating a merge frame 630 according to the third embodiment of the present invention.
  • the server 100 may select K consecutive frames 620 (K is a natural number) among the plurality of frames 610 constituting the video as frames to be merged. For example, in a situation where the frame rate of the video is 25fps, the server 100 may select 125 consecutive frames corresponding to a period of 5 seconds as frames to be merged.
  • the length of the time period and the number of frames are illustrative and the scope of the present invention is not limited thereto.
  • the server 100 can group the selected K frames 620 into J groups (J is a natural number) in order.
  • J is a natural number
  • the server 100 may group the four selected frames into two groups as shown in FIG. 11.
  • the number of frames and groups is illustrative and the scope of the present invention is not limited thereto.
  • the server 100 determines that the pixel value of the first position of the group frames 640 and 650 for each of the J groups is the first position within each of the plurality of frames belonging to each group.
  • Group frames 640 and 650 for each of the J groups can be generated to correspond to the average value of pixels located in .
  • each group frame 640 and 650 may include only average values of pixels for positions that do not overlap each other.
  • the server 100 stores the pixel values of the first positions 641, 642, and 643 of the group frame 640 within each of a plurality of frames (Frame 1, Frame 3) belonging to the first group.
  • a group frame 640 may be created to correspond to the average value of pixels located at the first position.
  • the server 100 does the same for the second group, with the pixel values at the first positions 651 and 652 of the group frame 650 within each of the plurality of frames (Frame 2 and Frame 4) belonging to the second group.
  • a group frame 650 may be created to correspond to the average value of pixels located at the first position.
  • the server 100 may generate a merge frame 630 by merging group frames 640 and 650 for each of the J groups. At this time, the pixel values of some positions (631, 633, 365) constituting the merged frame are calculated from frames belonging to the first group, and the pixel values of other positions (632, 634) are calculated from frames belonging to the second group. It may be calculated from .
  • Figure 12 is a diagram showing a frame to be merged according to a third embodiment of the present invention.
  • FIG. 13 is a diagram illustrating a merge frame 630 generated from the merge target frame of FIG. 12.
  • the merged frame 630 is clear in areas where there is no movement, but has unclear characteristics in areas where movement occurs. Such a merge frame 630 can be used to focus on understanding the overall content of the image.
  • the server 100 may use the learned first artificial neural network 720 to generate text describing two or more merge target frames used to generate the merge frame from the merge frame. (S1840)
  • the present invention can generate a semantic log for an image composed of multiple frames.
  • the server 100 may set a region of interest within the generated merge frame. For example, the server 100 may set any one of the areas where blur occurs and the area where pixel values other than a predetermined value (for example, a value corresponding to black) exist as the area of interest in the merge frame. there is.
  • the server 100 may set an area of interest based on selection information received from a user terminal (not shown).
  • the server 100 uses the second artificial neural network 760 to select a region corresponding to the region of interest of two or more merge target frames used to generate the merge frame from the merged frame and the set region of interest. You can also create text that describes .
  • the present invention can generate a semantic log for an image composed of multiple frames, and in particular, can generate a semantic log that focuses more on the area of interest.
  • the embodiments according to the present invention described above may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program may be recorded on a computer-readable medium.
  • the medium may be one that stores a program executable on a computer.
  • Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and ROM, RAM, flash memory, cloud memory, etc., which may be configured to store program instructions.
  • the computer program may be designed and configured specifically for the present invention, or may be known and available to those skilled in the art of computer software.
  • Examples of computer programs may include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • connections or connection members of lines between components shown in the drawings exemplify functional connections and/or physical or circuit connections, and in actual devices, various functional connections or physical connections may be replaced or added. Can be represented as connections, or circuit connections. Additionally, if there is no specific mention such as “essential,” “important,” etc., it may not be a necessary component for the application of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Library & Information Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명의 일 실시예에 따른 복수의 프레임으로 구성되는 영상에 대한 시맨틱 로그를 생성하는 방법은, 복수의 프레임으로 구성되는 입력 영상을 획득하는 단계; 소정의 규칙에 따라 상기 복수의 프레임 중 둘 이상의 병합 대상 프레임을 선정하고, 상기 둘 이상의 병합 대상 프레임을 병합한 병합 프레임을 생성하는 단계; 및 학습된 인공 신경망을 이용하여 상기 병합 프레임으로부터 상기 병합 프레임의 생성에 사용된 상기 둘 이상의 병합 대상 프레임을 묘사하는 텍스트를 생성하는 단계;를 포함할 수 있다.

Description

영상의 시맨틱 로그 생성 방법
본 발명은 복수의 프레임으로 구성되는 영상에 대한 시맨틱 로그를 생성하는 방법에 관한 것이다.
기술의 발전과 인건비 상승 등의 변화로, 스마트 리테일 시장은 2025년 625억 달러에 육박하고, 국내외 리테일 테크 기업들이 앞다투어 무인 매장을 오픈하고 있는 추세이다.
Amazon go의 경우 Vision AI, 센서 퓨전 등 첨단 기술 활용으로 물건을 들고 나가기만 하면 되는 Just Walk Out를 구현하였고, 이마트 24의 경우 소형 편의점이 많은 국내 현실에 특화 시킨 무인 매장 기술을 개발하고 있다.
그러나 Amazon 해와 같은 Grab-n-Go 방식의 완전 무인 매장 기술의 경우 수반되는 장치와 인프라의 규모가 방대 하기에 도입비용 회수에 약 30년이 걸리는 것으로 추정되며, 이와 같은 사실은 무인 매장의 주요 수요자인 소형 리테일 점주들에게는 큰 부담으로 다가오는 문제점이 있다.
따라서 소형 리테일 니즈에 맞는 보다 간단하고 간편한 기술 접근이 필요한 상황이다.
본 발명은 소형 리테일에 보다 적합한 무인 매장 솔루션을 제공하고자 한다.
또한 본 발명은 영상의 획득 만으로 매장의 상황 파악이 가능하도록 하고자 하며, 특히 영상의 사후적 검토에 있어서 검토에 소요되는 노력과 시간을 감소시키고자 한다.
또한 본 발명은 매장에서 발생된 이벤트를 텍스트 형태의 정보로 제공하며, 이에 따라 영상에 대한 검색이 가능하도록 하고자 한다.
또한 본 발명은 영상 만으로 매장에서 발생되는 이벤트를 의미적으로 이해하여 로그를 생성하고자 한다.
본 발명의 일 실시예에 따른 복수의 프레임으로 구성되는 영상에 대한 시맨틱 로그를 생성하는 방법은, 복수의 프레임으로 구성되는 입력 영상을 획득하는 단계; 소정의 규칙에 따라 상기 복수의 프레임 중 둘 이상의 병합 대상 프레임을 선정하고, 상기 둘 이상의 병합 대상 프레임을 병합한 병합 프레임을 생성하는 단계; 및 학습된 인공 신경망을 이용하여 상기 병합 프레임으로부터 상기 병합 프레임의 생성에 사용된 상기 둘 이상의 병합 대상 프레임을 묘사하는 텍스트를 생성하는 단계;를 포함할 수 있다.
상기 병합 프레임을 생성하는 단계는 상기 복수의 프레임 중 연속하는 N개(N은 자연수)의 프레임들을 상기 병합 대상 프레임으로 선정하는 단계; 및 상기 병합 프레임 내에서의 제1 위치의 픽셀 값이 상기 N개의 프레임들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 평균 값에 상응하도록 상기 병합 프레임을 생성하는 단계;를 포함할 수 있다.
상기 병합 프레임을 생성하는 단계는 상기 복수의 프레임 중 연속하는 M개(M은 자연수)의 프레임들을 상기 병합 대상 프레임으로 선정하는 단계; 상기 M개의 프레임들의 홀수 번째 프레임들 및 짝수 번째 프레임들 중 어느 하나의 색상을 반전시켜 원본 프레임과 반전된 프레임이 교번하는 M개의 교번 프레임들을 생성하는 단계; 및 상기 병합 프레임 내에서의 제1 위치의 픽셀 값이 상기 M개의 교번 프레임들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 합에 상응하도록 상기 병합 프레임을 생성하는 단계;를 포함할 수 있다.
상기 병합 프레임을 생성하는 단계는 상기 복수의 프레임 중 연속하는 K개(K는 자연수)의 프레임들을 상기 병합 대상 프레임으로 선정하는 단계; 상기 K개의 프레임들을 순서에 따라 J개(J는 자연수)의 그룹으로 그룹화 하는 단계; J개의 그룹 각각에 대한 그룹 프레임의 제1 위치의 픽셀 값이 각각의 그룹에 속하는 복수의 프레임들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 평균 값에 상응하도록 상기 J개의 그룹 각각에 대한 그룹 프레임을 생성하는 단계로써, 상기 제1 위치는 상기 J개의 그룹 별로 서로 중첩되지 않도록 설정되고; 및 상기 J개의 그룹 각각에 대한 그룹 프레임을 병합하여 상기 병합 프레임을 생성하는 단계;를 포함할 수 있다.
상기 병합 프레임을 구성하는 픽셀 수는 상기 복수의 프레임 각각을 구성하는 픽셀수 이하일 수 있다.
본 발명의 일 실시예에 따른 영상의 시맨틱 로그 생성 방법은 상기 텍스트를 생성하는 단계 이전에, 학습 데이터를 이용하여 상기 인공 신경망을 학습시키는 단계;를 더 포함할 수 있다. 상기 인공 신경망은 복수의 프레임을 병합하여 생성된 병합 프레임의 입력에 따라 상기 병합 프레임의 생성에 사용된 상기 복수의 프레임을 묘사하는 텍스트를 출력하도록 학습된 신경망일 수 있다.
상기 학습 데이터는 복수의 학습 프레임을 병합하여 생성된 학습 병합 프레임 및 상기 복수의 학습 프레임을 묘사하는 텍스트를 포함할 수 있다.
본 발명의 일 실시예에 따른 영상의 시맨틱 로그 생성 방법은 상기 병합 프레임을 생성하는 단계 이후에, 상기 병합 프레임 내에서 관심 영역을 설정하는 단계;를 더 포함할 수 있다. 상기 텍스트를 생성하는 단계는 학습된 인공 신경망을 이용하여 상기 병합 프레임 및 상기 관심 영역으로부터 상기 병합 프레임의 생성에 사용된 상기 둘 이상의 병합 대상 프레임의 상기 관심 영역에 상응하는 영역을 묘사하는 텍스트를 생성하는 단계;를 포함할 수 있다.
상기 인공 신경망은 복수의 프레임을 병합하여 생성된 병합 프레임 및 관심 영역의 입력에 따라 상기 병합 프레임의 생성에 사용된 상기 복수의 프레임의 상기 관심 영역에 상응하는 영역을 묘사하는 텍스트를 출력하도록 학습된 신경망이고, 상기 인공 신경망의 학습에 사용되는 학습 데이터는 복수의 학습 프레임을 병합하여 생성된 학습 병합 프레임, 상기 병합 프레임 내에서의 관심 영역 및 상기 복수의 학습 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트를 포함할 수 있다.
상기 관심 영역을 설정하는 단계는 상기 병합 프레임에서 블러(Blur)가 발생한 영역 및 소정의 값이 아닌 픽셀 값이 존재하는 영역 중 어느 하나의 영역을 상기 관심 영역으로 설정하는 단계;를 포함할 수 있다.
본 발명의 일 실시예에 따른 복수의 프레임으로 구성되는 영상에 대한 시맨틱 로그를 생성하는 장치는, 복수의 프레임으로 구성되는 입력 영상을 획득하고, 소정의 규칙에 따라 상기 복수의 프레임 중 둘 이상의 병합 대상 프레임을 선정하고, 상기 둘 이상의 병합 대상 프레임을 병합한 병합 프레임을 생성하고, 학습된 인공 신경망을 이용하여 상기 병합 프레임으로부터 상기 병합 프레임의 생성에 사용된 상기 둘 이상의 병합 대상 프레임을 묘사하는 텍스트를 생성할 수 있다.
상기 장치는 상기 복수의 프레임 중 연속하는 N개(N은 자연수)의 프레임들을 상기 병합 대상 프레임으로 선정하고, 상기 병합 프레임 내에서의 제1 위치의 픽셀 값이 상기 N개의 프레임들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 평균 값에 상응하도록 상기 병합 프레임을 생성할 수 있다.
상기 장치는 상기 복수의 프레임 중 연속하는 M개(M은 자연수)의 프레임들을 상기 병합 대상 프레임으로 선정하고, 상기 M개의 프레임들의 홀수 번째 프레임들 및 짝수 번째 프레임들 중 어느 하나의 색상을 반전시켜 원본 프레임과 반전된 프레임이 교번하는 M개의 교번 프레임들을 생성하고, 상기 병합 프레임 내에서의 제1 위치의 픽셀 값이 상기 M개의 교번 프레임들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 합에 상응하도록 상기 병합 프레임을 생성할 수 있다.
상기 장치는 상기 복수의 프레임 중 연속하는 K개(K는 자연수)의 프레임들을 상기 병합 대상 프레임으로 선정하고, 상기 K개의 프레임들을 순서에 따라 J개(J는 자연수)의 그룹으로 그룹화 하고, J개의 그룹 각각에 대한 그룹 프레임의 제1 위치의 픽셀 값이 각각의 그룹에 속하는 복수의 프레임들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 평균 값에 상응하도록 상기 J개의 그룹 각각에 대한 그룹 프레임을 생성하고, 상기 제1 위치는 상기 J개의 그룹 별로 서로 중첩되지 않도록 설정되고, 상기 J개의 그룹 각각에 대한 그룹 프레임을 병합하여 상기 병합 프레임을 생성할 수 있다.
상기 병합 프레임을 구성하는 픽셀 수는 상기 복수의 프레임 각각을 구성하는 픽셀수 이하일 수 있다.
상기 장치는 학습 데이터를 이용하여 상기 인공 신경망을 학습시키고, 상기 인공 신경망은 복수의 프레임을 병합하여 생성된 병합 프레임의 입력에 따라 상기 병합 프레임의 생성에 사용된 상기 복수의 프레임을 묘사하는 텍스트를 출력하도록 학습된 신경망일 수 있다.
상기 학습 데이터는 복수의 학습 프레임을 병합하여 생성된 학습 병합 프레임 및 상기 복수의 학습 프레임을 묘사하는 텍스트를 포함할 수 있다.
상기 장치는 상기 병합 프레임 내에서 관심 영역을 설정하고, 학습된 인공 신경망을 이용하여 상기 병합 프레임 및 상기 관심 영역으로부터 상기 병합 프레임의 생성에 사용된 상기 둘 이상의 병합 대상 프레임의 상기 관심 영역에 상응하는 영역을 묘사하는 텍스트를 생성할 수 있다.
상기 인공 신경망은 복수의 프레임을 병합하여 생성된 병합 프레임 및 관심 영역의 입력에 따라 상기 병합 프레임의 생성에 사용된 상기 복수의 프레임의 상기 관심 영역에 상응하는 영역을 묘사하는 텍스트를 출력하도록 학습된 신경망이고, 상기 인공 신경망의 학습에 사용되는 학습 데이터는 복수의 학습 프레임을 병합하여 생성된 학습 병합 프레임, 상기 병합 프레임 내에서의 관심 영역 및 상기 복수의 학습 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트를 포함할 수 있다.
상기 장치는 상기 병합 프레임에서 블러(Blur)가 발생한 영역 및 소정의 값이 아닌 픽셀 값이 존재하는 영역 중 어느 하나의 영역을 상기 관심 영역으로 설정할 수 있다.
본 발명에 따르면 소형 리테일에 보다 적합한 무인 매장 솔루션을 제공할 수 있다.
또한 영상의 획득 만으로 매장의 상황 파악이 가능하도록 하고자 하며, 특히 영상의 사후적 검토에 있어서 검토에 소요되는 노력과 시간을 감소시킬 수 있다.
또한 매장에서 발생된 이벤트를 텍스트 형태의 정보로 제공하며, 이에 따라 영상에 대한 검색이 가능하도록 한다.
또한 본 발명은 영상 만으로 매장에서 발생되는 이벤트를 의미적으로 이해하여 로그를 생성할 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 로깅 시스템의 구성을 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 서버(100)의 구성을 개략적으로 도시한 도면이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 서버(100)에 의해 학습된 인공 신경망의 예시적인 구조를 설명하기 위한 도면이다.
도 5는 본 발명의 제1 실시예에 따른 병합 프레임(530) 생성 과정을 설명하기 위한 도면이다.
도 6은 본 발명의 제1 실시예에 따른 병합 대상 프레임을 도시한 도면이다.
도 7은 도 6의 병합 대상 프레임으로부터 생성된 병합 프레임(530)을 도시한 도면이다.
도 8은 본 발명의 제2 실시예에 따른 병합 프레임(570) 생성 과정을 설명하기 위한 도면이다.
도 9는 본 발명의 제2 실시예에 따른 교번 프레임들 도시한 도면이다.
도 10은 도 9의 교번 프레임들로부터 생성된 병합 프레임(570)을 도시한 도면이다.
도 11은 본 발명의 제3 실시예에 따른 병합 프레임(630) 생성 과정을 설명하기 위한 도면이다.
도 12는 본 발명의 제3 실시예에 따른 병합 대상 프레임을 도시한 도면이다.
도 13은 도 12의 병합 대상 프레임으로부터 생성된 병합 프레임(630)을 도시한 도면이다.
도 14는 본 발명의 일 실시예에 따른 서버(100)가 복수의 학습 데이터(710)를 이용하여 제1 인공 신경망(720)을 학습하는 과정을 설명하기 위한 도면이다.
도 15는 본 발명의 일 실시예에 따른 서버(100)가 학습된 제1 인공 신경망(720)을 이용하여 출력 데이터를 생성하는 과정을 설명하기 위한 도면이다.
도 16은 본 발명의 일 실시예에 따른 서버(100)가 복수의 학습 데이터(750)를 이용하여 제2 인공 신경망(760)을 학습하는 과정을 설명하기 위한 도면이다.
도 17은 본 발명의 일 실시예에 따른 서버(100)가 학습된 제2 인공 신경망(760)을 이용하여 출력 데이터를 생성하는 과정을 설명하기 위한 도면이다.
도 18은 본 발명의 일 실시예에 따른 서버(100)에 의해 수행되는 시맨틱 로그 생성 방법을 설명하기 위한 흐름도이다.
본 발명의 일 실시예에 따른 복수의 프레임으로 구성되는 영상에 대한 시맨틱 로그를 생성하는 방법은, 복수의 프레임으로 구성되는 입력 영상을 획득하는 단계; 소정의 규칙에 따라 상기 복수의 프레임 중 둘 이상의 병합 대상 프레임을 선정하고, 상기 둘 이상의 병합 대상 프레임을 병합한 병합 프레임을 생성하는 단계; 및 학습된 인공 신경망을 이용하여 상기 병합 프레임으로부터 상기 병합 프레임의 생성에 사용된 상기 둘 이상의 병합 대상 프레임을 묘사하는 텍스트를 생성하는 단계;를 포함할 수 있다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술 되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 형태는 설명의 편의를 위해 임의로 나타났었음으로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
도 1은 본 발명의 일 실시예에 따른 영상 로깅 시스템의 구성을 개략적으로 도시한 도면이다.
본 발명의 일 실시예에 따른 영상 로깅 시스템은 복수의 프레임으로 구성되는 영상에 대한 시맨틱 로그를 생성할 수 있다. 가령 본 발명의 일 실시예에 따른 영상 로깅 시스템은 복수의 프레임을 병합하여 병합 프레임을 생성하고, 학습된 인공 신경망을 이용하여 병합 프레임을 생성하는데 사용된 복수의 프레임을 묘사하는 텍스트를 생성할 수 있다.
본 발명에서 '영상'은 복수의 프레임으로 구성되는 이미지 콘텐츠를 의미할 수 있다. 이때 '프레임'은 개별 장면을 묘사하는 정지된 영상을 의미할 수 있다. 가령 영상은 25fps의 프레임레이트를 갖는 영상일 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명에서 영상에 대한 '시맨틱 로그'는 해당 영상의 의미 및/또는 내용을 설명하거나 묘사하는 객체를 의미할 수 있다. 가령 시맨틱 로그는 영상의 내용을 설명하는 텍스트를 의미할 수도 있고, 영상 내의 상황을 묘사하는 텍스트를 의미할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 본 명세서에서 시맨틱 로그는 때때로 '병합 대상 프레임을 묘사하는 텍스트'로도 설명될 수 있다.
본 발명의 일 실시예에 따른 영상 로깅 시스템은 도 1에 도시된 바와 같이 서버(100), 영상 획득 장치(200), 영상 저장 장치(300) 및 네트워크(400)를 포함할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 영상 획득 장치(200) 및/또는 영상 저장 장치(300)로부터 복수의 프레임으로 구성되는 영상을 수신하고, 수신된 영상에 대한 시맨틱 로그를 생성할 수 있다. 가령 본 발명의 일 실시예에 따른 서버(100)는 영상 획득 장치(200)가 획득하여 영상 저장 장치(300)에 저장된 영상을 영상 저장 장치(300)로부터 수신하고, 수신된 영상에 대한 시맨틱 로그를 생성하여 영상 저장 장치(300)에 전송할 수 있다.
도 2는 본 발명의 일 실시예에 따른 서버(100)의 구성을 개략적으로 도시한 도면이다. 도 2를 참조하면, 본 발명의 일 실시예에 따른 서버(100)는 통신부(110), 제1 프로세서(120), 메모리(130) 및 제2 프로세서(140)를 포함할 수 있다. 또한 도면에는 도시 되지 않았으나, 본 발명의 일 실시예에 따른 서버(100)는 입/출력부, 프로그램 저장부 등을 더 포함할 수 있다.
통신부(110)는 서버(100)가 영상 획득 장치(200) 및/또는 영상 저장 장치(300)와 같은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
제1 프로세서(120)는 영상 획득 장치(200) 및/또는 영상 저장 장치(300)로부터 수신된 영상으로부터 시맨틱 로그를 생성하는 일련의 과정을 제어하는 장치일 수 있다.
이때 프로세서(Processor)는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(Microprocessor), 중앙처리장치(Central Processing Unit: CPU), 프로세서 코어(Processor Core), 멀티프로세서(Multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
메모리(130)는 서버(100)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 메모리는 자기 저장 매체(Magnetic Storage Media) 또는 플래시 저장 매체(Flash Storage Media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 가령 메모리(130)는 영상 획득 장치(200) 및/또는 영상 저장 장치(300)로부터 수신된 영상을 일시적 및/또는 영구적으로 저장할 수 있다.
제2 프로세서(140)는 전술한 제1 프로세서(120)의 제어에 따라 연산을 수행하는 장치를 의미할 수 있다. 이때 제2 프로세서(140)는 전술한 제1 프로세서(120)보다 높은 연산 능력을 갖는 장치일 수 있다. 가령 제2 프로세서(140)는 GPU(Graphics Processing Unit)로 구성될 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 본 발명의 일 실시예에서, 제2 프로세서(140)는 복수일 수도 있고, 단수일 수도 있다.
본 발명의 일 실시예에서 제2 프로세서(140)는 서버(100)에 의해 구현되는 인공 신경망이 연산에 사용하는 리소스를 제공할 수 있다. 가령 제2 프로세서(140)는 병합 프레임으로부터 병합 대상 프레임을 묘사하는 텍스트, 즉 시맨틱 로그를 생성하는 인공 신경망이 연산에 사용하는 리소스를 제공할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니며, 인공 신경망에 대한 상세한 설명은 후술한다.
본 발명의 일 실시예에 따른 영상 획득 장치(200)는 주변 환경에 대한 영상을 획득하고 이를 다른 장치(예를 들어 영상 저장 장치(300) 및/또는 서버(100))에 전송하는 장치일 수 있다.
도 1에 도시된 바와 같이 영상 획득 장치(200)는 팬, 틸트 및 줌이 가능한 타입일 수도 있고, 화각이 고정된 타입일 수도 있다. 다만 이는 예시적인것으로, 환경에 대한 영상을 획득하고 이를 전송하는 장치라면 본 발명에서 설명하는 영상 획득 장치(200)에 해당할 수 있다.
본 발명의 일 실시예에 따른 영상 저장 장치(300)는 다양한 장치로부터 수신된 영상을 저장하고, 사용자 단말(미도시)의 요청에 따라 저장된 영상을 제공하는 장치일 수 있다.
본 발명의 일 실시예에 따른 영상 저장 장치(300)는 서버(100)로부터 수신된 시맨틱 로그를 해당 시맨틱 로그의 대상이 되는 영상과 대응시켜 저장할 수 있다. 또한 서버(100)는 사용자 단말(미도시)의 요청에 따라 영상과 해당 영상의 시맨틱 로그를 함께 제공할 수 있다.
본 발명의 일 실시예에서 영상 저장 장치(300)는 저장된 시맨틱 로그에 대한 검색 기능을 제공할 수 있다. 가령 영상 저장 장치(300)는 사용자 단말(미도시)로부터 키워드를 포함하는 영상 검색 요청을 수신하고, 그에 따라 저장된 시맨틱 로그에서 키워드를 검색한 뒤 해당 키워드에 상응하는 영상 및/또는 영상의 일부분을 사용자 단말(미도시)에 제공할 수 있다.
본 발명의 일 실시예에 따른 네트워크(400)는 영상 로깅 시스템의 각 구성 간의 데이터 송수신을 매개하는 통신망을 의미할 수 있다. 가령 네트워크(400)는 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 서버(100)에 의해 학습된 인공 신경망의 예시적인 구조를 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 인공 신경망은 도 3에 도시된 바와 같은 합성 곱 신경망(CNN: Convolutional Neural Network) 모델에 따른 인공 신경망일 수 있다. 이때 CNN 모델은 복수의 연산 레이어(Convolutional Layer, Pooling Layer)를 번갈아 수행하여 최종적으로는 입력 데이터의 특징을 추출하는 데 사용되는 계층 모델일 수 있다.
본 발명의 일 실시예에 따른 제1 프로세서(120)는 학습 데이터를 지도학습(Supervised Learning) 기법에 따라 처리하여 인공 신경망 모델을 구축하거나 학습시킬 수 있다. 제1 프로세서(120)가 인공 신경망을 학습시키는 방법에 대한 상세한 설명은 후술한다.
본 발명의 일 실시예에 따른 제1 프로세서(120)는 복수의 학습 데이터를 이용하여, 어느 하나의 입력 데이터를 인공 신경망에 입력하여 생성된 출력 값이 해당 학습 데이터에 표지된 값에 근접하도록 각 레이어 및/또는 각 노드의 가중치를 갱신하는 과정을 반복하여 수행함으로써 인공 신경망을 학습시킬 수 있다.
이때 본 발명의 일 실시예에 따른 제1 프로세서(120)는 역전파(Back Propagation) 알고리즘에 따라 각 레이어 및/또는 각 노드의 가중치(또는 계수)를 갱신할 수 있다.
본 발명의 일 실시예에 따른 제1 프로세서(120)는 입력 데이터의 특징 값을 추출하기 위한 컨볼루션 레이어(Convolution layer), 추출된 특징 값을 결합하여 특징 맵을 구성하는 풀링 레이어(pooling layer)를 생성할 수 있다.
또한 본 발명의 일 실시예에 따른 제1 프로세서(120)는 생성된 특징 맵을 결합하여, 입력 데이터가 복수의 항목 각각에 해당할 확률을 결정할 준비를 하는 풀리 커넥티드 레이어(Fully Conected Layer)를 생성할 수 있다.
본 발명의 일 실시예에 따른 제1 프로세서(120)는 입력 데이터에 대응되는 출력을 포함하는 아웃풋 레이어(Output Layer)를 산출할 수 있다.
도 3에 도시된 예시에서는, 입력 데이터가 5X7 형태의 블록으로 나누어지며, 컨볼루션 레이어의 생성에 5X3 형태의 단위 블록이 사용되고, 풀링 레이어의 생성에 1X4 또는 1X2 형태의 단위 블록이 사용되는 것으로 도시되었지만, 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 따라서 입력 데이터의 종류 및/또는 각 블록의 크기는 다양하게 구성될 수 있다.
한편 이와 같은 인공 신경망은 전술한 메모리(130)에 인공 신경망의 모델의 종류, 인공 신경망을 구성하는 적어도 하나의 노드의 계수, 노드의 가중치 및 인공 신경망을 구성하는 복수의 레이어 간의 관계를 정의하는 함수의 계수들의 형태로 저장될 수 있다. 물론 인공 신경망의 구조 또한 메모리(130)에 소스코드 및/또는 프로그램의 형태로 저장될 수 있다.
본 발명의 일 실시예에 따른 인공 신경망은 도 4에 도시된 바와 같은 순환 신경망(Recurrent Neural Network, RNN) 모델에 따른 인공 신경망일 수 있다.
도 4를 참조하면, 이와 같은 순환 신경망(RNN) 모델에 따른 인공 신경망은 적어도 하나의 입력 노드(N1)를 포함하는 입력 레이어(L1), 복수의 히든 노드(N2)를 포함하는 히든 레이어(L2) 및 적어도 하나의 출력 노드(N3)를 포함하는 출력 레이어(L3)를 포함할 수 있다.
히든 레이어(L2)는 도시된 바와 같이 전체적으로 연결된(Fully Connected) 하나 이상의 레이어를 포함할 수 있다. 히든 레이어(L2)가 복수의 레이어를 포함하는 경우, 인공 신경망은 각각의 히든 레이어 사이의 관계를 정의하는 함수(미도시)를 포함할 수 있다.
출력 레이어(L3)의 적어도 하나의 출력 노드(N3)는 제1 프로세서(120)의 제어에 따라 인공 신경망이 입력 레이어(L1)의 입력 값으로부터 생성한 출력 값을 포함할 수 있다.
한편 각 레이어의 각 노드에 포함되는 값은 벡터일 수 있다. 또한 각 노드는 해당 노드의 중요도에 대응되는 가중치를 포함할 수도 있다.
한편 인공 신경망은 입력 레이어(L1)와 히든 레이어(L2)의 관계를 정의하는 제1 함수(F1) 및 히든 레이어(L2)와 출력 레이어(L3)의 관계를 정의하는 제2 함수(F2)를 포함할 수 있다.
제1 함수(F1)는 입력 레이어(L1)에 포함되는 입력 노드(N1)와 히든 레이어(L2)에 포함되는 히든 노드(N2)간의 연결관계를 정의할 수 있다. 이와 유사하게, 제2 함수(F2)는 히든 레이어(L2)에 포함되는 히든 노드(N2)와 출력 레이어(L3)에 포함되는 출력 노드(N3)간의 연결관계를 정의할 수 있다.
이와 같은 제1 함수(F1), 제2 함수(F2) 및 히든 레이어 사이의 함수들은 이전 노드의 입력에 기초하여 결과물을 출력하는 순환 신경망 모델을 포함할 수 있다.
제1 프로세서(120)에 의해 인공 신경망이 학습되는 과정에서, 복수의 학습 데이터에 기초하여 제1 함수(F1) 및 제2 함수(F2)가 학습될 수 있다. 물론 인공 신경망이 학습되는 과정에서 전술한 제1 함수(F1) 및 제2 함수(F2) 외에 복수의 히든 레이어 사이의 함수들 또한 학습될 수 있다.
본 발명의 일 실시예에 따른 인공 신경망은 표지(Labeled)된 학습 데이터를 기반으로 지도학습(Supervised Learning) 방식으로 학습될 수 있다.
본 발명의 일 실시예에 따른 제1 프로세서(120)는 복수의 학습 데이터를 이용하여, 어느 하나의 입력 데이터를 인공 신경망에 입력하여 생성된 출력 값이 해당 학습 데이터에 표지된 값에 근접하도록 전술한 함수들(F1, F2, 히든 레이어 사이의 함수들 등)을 갱신하는 과정을 반복하여 수행함으로써 인공 신경망을 학습시킬 수 있다.
이때 본 발명의 일 실시예에 따른 제1 프로세서(120)는 역전파(Back Propagation) 알고리즘에 따라 전술한 함수들(F1, F2, 히든 레이어 사이의 함수들 등)을 갱신할 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 3 및 도 4에서 설명한 인공 신경망의 종류 및/또는 구조는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 인공 신경망은 도 3 및 도 4에 도시된 각 인공 신경망을 구성하는 적어도 일부 레이어의 조합으로 구성될 수도 있다. 가령 인공 신경망은 도 3의 인공 신경망의 입력 데이터를 해석하는데 사용되는 레이어들과 도 4의 인공 신경망의 입력 데이터를 해석하는데 사용되는 레이어들 그리고 두 개의 인공 신경망의 해석 결과로부터 최종 결론을 도출하는 신규 레이어들로 구성될 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
이하에서는 서버(100)가 복수의 프레임으로 구성되는 영상으로부터 병합 프레임을 생성하는 과정을 먼저 설명하고, 병합 프레임을 이용하여 인공 신경망을 학습 시키는 과정을 설명하며, 마지막으로 학습된 인공 신경망을 이용하여 영상에 대한 시맨틱 로그를 생성하는 과정을 설명한다.
병합 프레임 생성 과정
본 발명의 일 실시예에 따른 서버(100)는 복수의 프레임으로 구성되는 입력 영상으로부터 병합 프레임을 생성할 수 있다.
본 발명에서 '병합 프레임'은 적어도 2개 이상의 프레임을 병합한 프레임을 의미할 수 있다. 이때 병합 프레임을 구성하는 픽셀 수는 병합의 대상 프레임 각각을 구성하는 픽셀수 이하일 수 있다. 바꾸어 말하면 본 발명의 일 실시예에 따른 서버(100)는 병합 대상 프레임 각각의 해상도가 제1 해상도인 경우, 동일한 해상도인 제1 해상도의 병합 프레임을 생성할 수 있다. 즉 본 발명의 일 실시예에 따른 서버(100)는 복수의 프레임의 내용 및/또는 의미를 하나의 프레임으로 나타낼 수 있다.
도 5는 본 발명의 제1 실시예에 따른 병합 프레임(530) 생성 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 서버(100)는 영상을 구성하는 복수의 프레임(510)에서 연속하는 N개(N은 자연수)의 프레임들(520)을 병합 대상 프레임으로 선정할 수 있다. 가령 서버(100)는 영상의 프레임 레이트가 25fps인 상황에서, 5초 기간에 해당하는 연속하는 125개의 프레임을 병합 대상 프레임으로 선정할 수 있다. 다만 이와 같은 시구간의 길이 및 프레임의 수는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 서버(100)는 병합 프레임(530) 내에서의 제1 위치(531)의 픽셀 값이 상술한 과정에 따라 선정된 N개의 프레임들(520) 각각 내에서 제1 위치(521, 522, 523, 524)에 위치하는 픽셀들의 값의 평균 값에 상응하도록 병합 프레임(530)을 생성할 수 있다.
바꾸어 말하면 서버(100)는 N개의 프레임들(520) 각각에서 제1 위치(521, 522, 523, 524)에 위치하는 픽셀들의 값을 추출하여 평균값을 산출하고, 그 평균값을 병합 프레임(530)의 제1 위치(531)의 픽셀 값으로 설정할 수 있다. 이때 '평균'은 복수의 픽셀 값의 대표값으로써의 의미를 갖는 것이기에 산술적 평균을 내포하는 것은 물론이고, 다양한 방식의 대표값 결정 방식에 따라 결정된 값 모두를 의미할 수 있다.
도 6은 본 발명의 제1 실시예에 따른 병합 대상 프레임을 도시한 도면이다.
도 7은 도 6의 병합 대상 프레임으로부터 생성된 병합 프레임(530)을 도시한 도면이다.
도 6 및 도 7을 함께 참조하면, 병합 프레임(530)이 움직임이 없는 영역은 선명하지만, 움직임이 발생된 영역에 대해서는 선명하지 못한 특성을 가지는 것을 확인할 수 있다. 이와 같은 병합 프레임(530)을 통해 인간은 시간의 흐름에 따라 변화되는 장면의 내용을 정확하게 파악하기 어려울 수 있지만, 인공 신경망은 정확하게 파악이 가능할 수 있다.
도 8은 본 발명의 제2 실시예에 따른 병합 프레임(570) 생성 과정을 설명하기 위한 도면이다.
본 발명의 제2 실시예에 따른 서버(100)는 영상을 구성하는 복수의 프레임(540)에서 연속하는 M개(M은 자연수)의 프레임들(550)을 병합 대상 프레임으로 선정할 수 있다. 가령 서버(100)는 영상의 프레임 레이트가 25fps인 상황에서, 5초 기간에 해당하는 연속하는 125개의 프레임을 병합 대상 프레임으로 선정할 수 있다. 다만 이와 같은 시구간의 길이 및 프레임의 수는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 제2 실시예에 따른 서버(100)는 M개의 프레임들(550)의 홀수 번째 프레임들 및 짝수 번째 프레임들 중 어느 하나의 색상을 반전시켜 원본 프레임과 반전된 프레임이 교번하는 M개의 교번 프레임들(560)을 생성할 수 있다. 가령 서버(100)는 도 8에 도시된 바와 같이 홀수 번째 프레임들의 색상을 반전시키는 방식으로 교번 프레임들(560)을 생성할 수 있다.
본 발명의 제2 실시예에 따른 서버(100)는 병합 프레임(570) 내에서의 제1 위치(571)의 픽셀 값이 M개의 교번 프레임들(560) 각각 내에서 제1 위치(561, 562, 563, 564)에 위치하는 픽셀들의 값의 합에 상응하도록 병합 프레임(570)을 생성할 수 있다.
바꾸어 말하면 서버(100)는 M개의 교번 프레임들(560) 각각에서 제1 위치(561, 562, 563, 564)에 위치하는 픽셀들의 값을 추출하여 그 합을 산출하고, 산출된 합을 병합 프레임(570)의 제1 위치(571)의 픽셀 값으로 설정할 수 있다. 이때 제2 실시예의 경우 원래 색상의 프레임과 색상이 반전된 프레임의 픽셀 값을 합하기에, 제1 실시예와 달리 픽셀 값들의 평균 값을 산출할 필요가 없다.
도 9는 본 발명의 제2 실시예에 따른 교번 프레임들 도시한 도면이다.
도 10은 도 9의 교번 프레임들로부터 생성된 병합 프레임(570)을 도시한 도면이다.
도 9 및 도 10을 함께 참조하면, 병합 프레임(570)이 움직임이 없는 영역은 검은색으로 나타나지만, 움직임이 발생된 영역은 색상(또는 표시)이 존재하는 특성을 갖는 것을 확인할 수 있다. 이와 같은 병합 프레임(570)은 영상 내에서의 객체의 움직임에 보다 초점을 맞출 때 사용 될 수 있다.
도 11은 본 발명의 제3 실시예에 따른 병합 프레임(630) 생성 과정을 설명하기 위한 도면이다.
본 발명의 제3 실시예에 따른 서버(100)는 영상을 구성하는 복수의 프레임(610) 중 연속하는 K개(K는 자연수)의 프레임들(620)을 병합 대상 프레임으로 선정할 수 있다. 가령 서버(100)는 영상의 프레임 레이트가 25fps인 상황에서, 5초 기간에 해당하는 연속하는 125개의 프레임을 병합 대상 프레임으로 선정할 수 있다. 다만 이와 같은 시구간의 길이 및 프레임의 수는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 제3 실시예에 따른 서버(100)는 선정된 K개의 프레임들(620)을 순서에 따라 J개(J는 자연수)의 그룹으로 그룹화 할 수 있다. 가령 서버(100)는 도 11에 도시된 바와 같이 선정된 4개의 프레임을 2개의 그룹으로 그룹화 할 수 있다. 다만 이와 같은 프레임의 수 및 그룹의 수는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 제3 실시예에 따른 서버(100)는 J개의 그룹 각각에 대한 그룹 프레임(640, 650)의 제1 위치의 픽셀 값이 각각의 그룹에 속하는 복수의 프레임들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 평균 값에 상응하도록 상기 J개의 그룹 각각에 대한 그룹 프레임(640, 650)을 생성할 수 있다.
이때 제1 위치는 J개의 그룹 별로 서로 중첩되지 않도록 설정될 수 있다. 바꾸어 말하면 각각에 대한 그룹 프레임(640, 650)은 서로 중첩되지 않는 위치에 대한 픽셀의 평균값들 만을 포함할 수 있다.
가령 서버(100)는 첫 번째 그룹에 대해서, 그룹 프레임(640)의 제1 위치(641, 642, 643)의 픽셀 값이 첫 번째 그룹에 속하는 복수의 프레임(Frame 1, Frame 3)들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 평균 값에 상응하도록 그룹 프레임(640)을 생성할 수 있다.
물론 서버(100)는 두 번째 그룹에 대해서도 마찬가지로, 그룹 프레임(650)의 제1 위치(651, 652)의 픽셀 값이 두 번째 그룹에 속하는 복수의 프레임(Frame 2, Frame 4)들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 평균 값에 상응하도록 그룹 프레임(650)을 생성할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 J개의 그룹 각각에 대한 그룹 프레임(640, 650)을 병합하여 병합 프레임(630)을 생성할 수 있다. 이때 병합 프레임을 구성하는 일부 위치(631, 633, 365)의 픽셀 값은 첫 번째 그룹에 속하는 프레임들로부터 산출된 것이고, 또 다른 위치(632, 634)의 픽셀 값은 두 번째 그룹에 속하는 프레임들로부터 산출된 것 일 수 있다.
도 12는 본 발명의 제3 실시예에 따른 병합 대상 프레임을 도시한 도면이다.
도 13은 도 12의 병합 대상 프레임으로부터 생성된 병합 프레임(630)을 도시한 도면이다.
도 12 및 도 13을 함께 참조하면, 병합 프레임(630)이 움직임이 없는 영역은 선명하지만, 움직임이 발생된 영역에 대해서는 선명하지 못한 특성을 갖는 것을 확인할 수 있다. 이와 같은 병합 프레임(630)은 영상의 전체적 내용을 파악하는 것에 초점을 맞출 때 사용될 수 있다.
이하에서는 인공 도 14 내지 17을 참조하여 인공 신경망을 학습시키는 과정에 대해서 설명한다.
인공 신경망의 학습 과정
본 발명에서 '인공 신경망'은 복수의 프레임을 병합하여 생성된 병합 프레임의 입력에 따라 해당 병합 프레임의 생성에 사용된 복수의 프레임을 묘사하는 텍스트를 출력하도록 학습된 신경망일 수 있다. 이와 같은 인공 신경망은 복수의 학습 데이터에 기반하여 지도학습 방식으로 학습될 수 있다.
한편 본 발명에서 인공 신경망은 후술하는 제1 인공 신경망과 제2 인공 신경망을 포괄하는 개념일 수 있다.
도 14는 본 발명의 일 실시예에 따른 서버(100)가 복수의 학습 데이터(710)를 이용하여 제1 인공 신경망(720)을 학습하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제1 인공 신경망(720)은 복수의 학습 데이터(710) 각각에 포함되는 입력 데이터와 출력 데이터 간의 상관관계를 학습한(또는 학습하는) 신경망을 의미할 수 있다.
이 때 복수의 학습 데이터(710)각각은 복수의 학습 프레임을 병합하여 생성된 학습 병합 프레임 및 복수의 학습 프레임을 묘사하는 텍스트를 포함할 수 있다. 가령 첫 번째 학습 데이터(711)의 경우 빨간색 가방을 맨 여성이 상점 내에서 물건을 구경하는 과정을 묘사하는 복수의 프레임들을 병합하여 생성된 학습 병합 프레임(711A)과 이를 묘사하는 텍스트(711B)인 "빨간색 가방을 맨 여자가 물건을 구경하고 있다."를 포함할 수 있다. 이와 유사하게 두 번째 학습 데이터(712) 및 세 번째 학습 데이터(713)도 각각 상술한 항목들을 포함할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 제1 프로세서(120) 및/또는 제2 프로세서(140)를 이용하여 제1 인공 신경망(720)을 학습시킬 수 있다. 가령 서버(100)는 제1 인공 신경망(720)에 학습 병합 프레임(711A)을 입력하고, 그때 출력되는 텍스트가 학습 병합 프레임의 생성에 사용된 복수의 학습 프레임을 묘사하는 텍스트(711B)에 근접하도록 제1 인공 신경망(720)을 구성하는 적어도 하나의 계수 및/또는 가중치를 갱신할 수 있다. 서버(100)는 복수의 학습 데이터(710)를 이용하여 상술한 과정을 반복하여 오차율이 감속하는 방향으로 학습을 수행할 수 있다.
도 15는 본 발명의 일 실시예에 따른 서버(100)가 학습된 제1 인공 신경망(720)을 이용하여 출력 데이터를 생성하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제1 인공 신경망(720)은 상술한 복수의 학습 데이터(710)에 기반하여, 복수의 프레임을 병합하여 생성된 병합 프레임과 해당 병합 프레임의 생성에 사용된 복수의 프레임을 묘사하는 텍스트 간의 상관관계를 학습한 신경망일 수 있다.
따라서 제1 인공 신경망(720)은 복수의 프레임을 병합하여 생성된 병합 프레임(730)이 입력 됨에 따라, 해당 병합 프레임(730)의 생성에 사용된 복수의 프레임을 묘사하는 텍스트(740)를 출력할 수 있다.
바꾸어 말하면, 본 발명의 일 실시예에 따른 서버(100)는 복수의 프레임을 병합하여 생성된 병합 프레임(730)을 제1 인공 신경망(720)에 입력하고, 그 출력으로써 해당 병합 프레임(730)의 생성에 사용된 복수의 프레임을 묘사하는 텍스트(740)를 획득할 수 있다.
도 16은 본 발명의 일 실시예에 따른 서버(100)가 복수의 학습 데이터(750)를 이용하여 제2 인공 신경망(760)을 학습하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제2 인공 신경망(760)은 복수의 학습 데이터(750) 각각에 포함되는 입력 데이터와 출력 데이터 간의 상관관계를 학습한(또는 학습하는) 신경망을 의미할 수 있다.
이 때 복수의 학습 데이터(750)각각은 복수의 학습 프레임을 병합하여 생성된 학습 병합 프레임, 병합 프레임 내에서의 관심 영역 및 복수의 학습 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트를 포함할 수 있다. 가령 첫 번째 학습 데이터(751)의 경우, 주황색 가방을 맨 여성이 상점 내에서 물건을 계산하는 과정과 다수의 고객이 상점 내에서 물건을 구경하는 과정을 묘사하는 복수의 프레임을 병합하여 생성된 학습 병합 프레임(751A), 학습 병합 프레임(751A) 내에서의 관심 영역(751C) 및 관심 영역(751C)을 묘사하는 텍스트(751B)인 "주황색 가방을 맨 여자가 물건을 계산하고 있다."를 포함할 수 있다. 이와 유사하게 두 번째 학습 데이터(752) 및 세 번째 학습 데이터(753)도 각각 상술한 항목들을 포함할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 제1 프로세서(120) 및/또는 제2 프로세서(140)를 이용하여 제2 인공 신경망(760)을 학습시킬 수 있다. 가령 서버(100)는 제2 인공 신경망(760)에 학습 병합 프레임(751A) 및 관심 영역(751C)을 입력하고, 그때 출력되는 텍스트가 복수의 학습 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트(751B)에 근접하도록 제2 인공 신경망(760)을 구성하는 적어도 하나의 계수 및/또는 가중치를 갱신할 수 있다. 서버(100)는 복수의 학습 데이터(750)를 이용하여 상술한 과정을 반복하여 오차율이 감속하는 방향으로 학습을 수행할 수 있다.
도 17은 본 발명의 일 실시예에 따른 서버(100)가 학습된 제2 인공 신경망(760)을 이용하여 출력 데이터를 생성하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제2 인공 신경망(760)은 상술한 복수의 학습 데이터(750)에 기반하여, 복수의 프레임을 병합하여 생성된 병합 프레임, 병합 프레임 내에서의 관심 영역 및 해당 병합 프레임의 생성에 사용된 복수의 학습 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트 간의 상관관계를 학습한 신경망일 수 있다.
따라서 제2 인공 신경망(760)은 복수의 프레임을 병합하여 생성된 병합 프레임(770) 및 병합 프레임(770) 내에서의 관심 영역(780)이 입력 됨에 따라, 해당 병합 프레임의 생성에 사용된 복수의 학습 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트(790)를 출력할 수 있다.
바꾸어 말하면, 본 발명의 일 실시예에 따른 서버(100)는 복수의 프레임을 병합하여 생성된 병합 프레임(770) 및 병합 프레임(770) 내에서의 관심 영역(780)을 제2 인공 신경망(760)에 입력하고, 그 출력으로써 해당 병합 프레임의 생성에 사용된 복수의 학습 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트(790)를 획득할 수 있다.
이하에서는 도 14 내지 도 17에서 설명한 과정에 따라 인공 신경망(720, 760)이 학습되어 있음을 전제로 설명한다.
영상의 시맨틱 로그 생성 과정
본 발명의 일 실시예에 따른 서버(100)는 복수의 프레임으로 구성되는 영상에 대한 시맨틱 로그를 생성할 수 있다.
먼저 본 발명의 일 실시예에 따른 서버(100)는 복수의 프레임으로 구성되는 입력 영상을 획득할 수 있다. 가령 서버(100)는 영상 저장 장치(300)로부터 영상을 획득할 수도 있고, 영상 획득 장치(200)로부터 영상을 획득할 수도 있다. 물론 서버(100)는 다른 외부 서버(미도시)로부터 영상을 획득할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 서버(100)는 소정의 규칙에 따라 복수의 프레임 중 둘 이상의 병합 대상 프레임을 선정할 수 있다. 또한 서버(100)는 선정된 둘 이상의 병합 대상 프레임을 병합한 병합 프레임을 생성할 수 있다. 프레임의 선정과 병합 프레임의 생성 과정에 대해서는 도 5 내지 도 13을 참조하여 설명하였으므로, 이에 대한 상세한 설명은 생략한다.
본 발명의 일 실시예에 따른 서버(100)는 학습된 제1 인공 신경망(720)을 이용하여 병합 프레임으로부터 병합 프레임의 생성에 사용된 둘 이상의 병합 대상 프레임을 묘사하는 텍스트를 생성할 수 있다.
이로써 본 발명은 복수의 프레임으로 구성되는 영상에 대한 시맨틱 로그를 생성할 수 있다.
본 발명의 선택적 실시예에서, 서버(100)는 병합 프레임을 생성한 이후에, 생성된 병합 프레임 내에서 관심 영역을 설정할 수 있다. 가령 서버(100)는 병합 프레임에서 블러(Blur)가 발생한 영역 및 소정의 값(예를 들어 검은색에 해당하는 값)이 아닌 픽셀 값이 존재하는 영역 중 어느 하나의 영역을 관심 영역으로 설정할 수 있다. 물론 서버(100)는 사용자 단말(미도시)로부터 수신된 선택 정보에 기반하여 관심 영역을 설정할 수도 있다.
본 발명의 선택적 실시예에 따른 서버(100)는 제2 인공 신경망(760)을 이용하여 병합 프레임 및 설정된 관심 영역으로부터, 병합 프레임의 생성에 사용된 둘 이상의 병합 대상 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트를 생성할 수도 있다.
이로써 본 발명은 복수의 프레임으로 구성되는 영상에 대한 시맨틱 로그를 생성할 수 있으며, 특히 관심 영역에 보다 집중하는 시맨틱 로그를 생성할 수 있다.
도 18은 본 발명의 일 실시예에 따른 서버(100)에 의해 수행되는 시맨틱 로그 생성 방법을 설명하기 위한 흐름도이다. 이하에서는 도 1 내지 도 17을 함께 참조하여 설명한다.
본 발명의 일 실싱예에 따른 서버(100)는 인공 신경망을 학습시킬 수 있다.(S1810) 이하에서는 도 14 내지 도 17을 다시 참조하여 설명한다.
본 발명에서 '인공 신경망'은 복수의 프레임을 병합하여 생성된 병합 프레임의 입력에 따라 해당 병합 프레임의 생성에 사용된 복수의 프레임을 묘사하는 텍스트를 출력하도록 학습된 신경망일 수 있다. 이와 같은 인공 신경망은 복수의 학습 데이터에 기반하여 지도학습 방식으로 학습될 수 있다.
한편 본 발명에서 인공 신경망은 후술하는 제1 인공 신경망과 제2 인공 신경망을 포괄하는 개념일 수 있다.
도 14는 본 발명의 일 실시예에 따른 서버(100)가 복수의 학습 데이터(710)를 이용하여 제1 인공 신경망(720)을 학습하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제1 인공 신경망(720)은 복수의 학습 데이터(710) 각각에 포함되는 입력 데이터와 출력 데이터 간의 상관관계를 학습한(또는 학습하는) 신경망을 의미할 수 있다.
이 때 복수의 학습 데이터(710)각각은 복수의 학습 프레임을 병합하여 생성된 학습 병합 프레임 및 복수의 학습 프레임을 묘사하는 텍스트를 포함할 수 있다. 가령 첫 번째 학습 데이터(711)의 경우 빨간색 가방을 맨 여성이 상점 내에서 물건을 구경하는 과정을 묘사하는 복수의 프레임들을 병합하여 생성된 학습 병합 프레임(711A)과 이를 묘사하는 텍스트(711B)인 "빨간색 가방을 맨 여자가 물건을 구경하고 있다."를 포함할 수 있다. 이와 유사하게 두 번째 학습 데이터(712) 및 세 번째 학습 데이터(713)도 각각 상술한 항목들을 포함할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 제1 프로세서(120) 및/또는 제2 프로세서(140)를 이용하여 제1 인공 신경망(720)을 학습시킬 수 있다. 가령 서버(100)는 제1 인공 신경망(720)에 학습 병합 프레임(711A)을 입력하고, 그때 출력되는 텍스트가 학습 병합 프레임의 생성에 사용된 복수의 학습 프레임을 묘사하는 텍스트(711B)에 근접하도록 제1 인공 신경망(720)을 구성하는 적어도 하나의 계수 및/또는 가중치를 갱신할 수 있다. 서버(100)는 복수의 학습 데이터(710)를 이용하여 상술한 과정을 반복하여 오차율이 감속하는 방향으로 학습을 수행할 수 있다.
도 15는 본 발명의 일 실시예에 따른 서버(100)가 학습된 제1 인공 신경망(720)을 이용하여 출력 데이터를 생성하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제1 인공 신경망(720)은 상술한 복수의 학습 데이터(710)에 기반하여, 복수의 프레임을 병합하여 생성된 병합 프레임과 해당 병합 프레임의 생성에 사용된 복수의 프레임을 묘사하는 텍스트 간의 상관관계를 학습한 신경망일 수 있다.
따라서 제1 인공 신경망(720)은 복수의 프레임을 병합하여 생성된 병합 프레임(730)이 입력 됨에 따라, 해당 병합 프레임(730)의 생성에 사용된 복수의 프레임을 묘사하는 텍스트(740)를 출력할 수 있다.
바꾸어 말하면, 본 발명의 일 실시예에 따른 서버(100)는 복수의 프레임을 병합하여 생성된 병합 프레임(730)을 제1 인공 신경망(720)에 입력하고, 그 출력으로써 해당 병합 프레임(730)의 생성에 사용된 복수의 프레임을 묘사하는 텍스트(740)를 획득할 수 있다.
도 16은 본 발명의 일 실시예에 따른 서버(100)가 복수의 학습 데이터(750)를 이용하여 제2 인공 신경망(760)을 학습하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제2 인공 신경망(760)은 복수의 학습 데이터(750) 각각에 포함되는 입력 데이터와 출력 데이터 간의 상관관계를 학습한(또는 학습하는) 신경망을 의미할 수 있다.
이 때 복수의 학습 데이터(750)각각은 복수의 학습 프레임을 병합하여 생성된 학습 병합 프레임, 병합 프레임 내에서의 관심 영역 및 복수의 학습 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트를 포함할 수 있다. 가령 첫 번째 학습 데이터(751)의 경우, 주황색 가방을 맨 여성이 상점 내에서 물건을 계산하는 과정과 다수의 고객이 상점 내에서 물건을 구경하는 과정을 묘사하는 복수의 프레임을 병합하여 생성된 학습 병합 프레임(751A), 학습 병합 프레임(751A) 내에서의 관심 영역(751C) 및 관심 영역(751C)을 묘사하는 텍스트(751B)인 "주황색 가방을 맨 여자가 물건을 계산하고 있다."를 포함할 수 있다. 이와 유사하게 두 번째 학습 데이터(752) 및 세 번째 학습 데이터(753)도 각각 상술한 항목들을 포함할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 제1 프로세서(120) 및/또는 제2 프로세서(140)를 이용하여 제2 인공 신경망(760)을 학습시킬 수 있다. 가령 서버(100)는 제2 인공 신경망(760)에 학습 병합 프레임(751A) 및 관심 영역(751C)을 입력하고, 그때 출력되는 텍스트가 복수의 학습 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트(751B)에 근접하도록 제2 인공 신경망(760)을 구성하는 적어도 하나의 계수 및/또는 가중치를 갱신할 수 있다. 서버(100)는 복수의 학습 데이터(750)를 이용하여 상술한 과정을 반복하여 오차율이 감속하는 방향으로 학습을 수행할 수 있다.
도 17은 본 발명의 일 실시예에 따른 서버(100)가 학습된 제2 인공 신경망(760)을 이용하여 출력 데이터를 생성하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제2 인공 신경망(760)은 상술한 복수의 학습 데이터(750)에 기반하여, 복수의 프레임을 병합하여 생성된 병합 프레임, 병합 프레임 내에서의 관심 영역 및 해당 병합 프레임의 생성에 사용된 복수의 학습 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트 간의 상관관계를 학습한 신경망일 수 있다.
따라서 제2 인공 신경망(760)은 복수의 프레임을 병합하여 생성된 병합 프레임(770) 및 병합 프레임(770) 내에서의 관심 영역(780)이 입력 됨에 따라, 해당 병합 프레임의 생성에 사용된 복수의 학습 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트(790)를 출력할 수 있다.
바꾸어 말하면, 본 발명의 일 실시예에 따른 서버(100)는 복수의 프레임을 병합하여 생성된 병합 프레임(770) 및 병합 프레임(770) 내에서의 관심 영역(780)을 제2 인공 신경망(760)에 입력하고, 그 출력으로써 해당 병합 프레임의 생성에 사용된 복수의 학습 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트(790)를 획득할 수 있다.
이하에서는 도 14 내지 도 17에서 설명한 과정에 따라 인공 신경망(720, 760)이 학습되어 있음을 전제로 설명한다.
본 발명의 일 실시예에 따른 서버(100)는 복수의 프레임으로 구성되는 입력 영상을 획득할 수 있다.(S1820) 가령 서버(100)는 영상 저장 장치(300)로부터 영상을 획득할 수도 있고, 영상 획득 장치(200)로부터 영상을 획득할 수도 있다. 물론 서버(100)는 다른 외부 서버(미도시)로부터 영상을 획득할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 서버(100)는 소정의 규칙에 따라 복수의 프레임 중 둘 이상의 병합 대상 프레임을 선정할 수 있다. 또한 서버(100)는 선정된 둘 이상의 병합 대상 프레임을 병합한 병합 프레임을 생성할 수 있다.(1830) 이하에서는 도 5 내지 도 13을 다시 참조하여 설명한다.
본 발명의 일 실시예에 따른 서버(100)는 복수의 프레임으로 구성되는 입력 영상으로부터 병합 프레임을 생성할 수 있다.
본 발명에서 '병합 프레임'은 적어도 2개 이상의 프레임을 병합한 프레임을 의미할 수 있다. 이때 병합 프레임을 구성하는 픽셀 수는 병합의 대상 프레임 각각을 구성하는 픽셀수 이하일 수 있다. 바꾸어 말하면 본 발명의 일 실시예에 따른 서버(100)는 병합 대상 프레임 각각의 해상도가 제1 해상도인 경우, 동일한 해상도인 제1 해상도의 병합 프레임을 생성할 수 있다. 즉 본 발명의 일 실시예에 따른 서버(100)는 복수의 프레임의 내용 및/또는 의미를 하나의 프레임으로 나타낼 수 있다.
도 5는 본 발명의 제1 실시예에 따른 병합 프레임(530) 생성 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 서버(100)는 영상을 구성하는 복수의 프레임(510)에서 연속하는 N개(N은 자연수)의 프레임들(520)을 병합 대상 프레임으로 선정할 수 있다. 가령 서버(100)는 영상의 프레임 레이트가 25fps인 상황에서, 5초 기간에 해당하는 연속하는 125개의 프레임을 병합 대상 프레임으로 선정할 수 있다. 다만 이와 같은 시구간의 길이 및 프레임의 수는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 서버(100)는 병합 프레임(530) 내에서의 제1 위치(531)의 픽셀 값이 상술한 과정에 따라 선정된 N개의 프레임들(520) 각각 내에서 제1 위치(521, 522, 523, 524)에 위치하는 픽셀들의 값의 평균 값에 상응하도록 병합 프레임(530)을 생성할 수 있다.
바꾸어 말하면 서버(100)는 N개의 프레임들(520) 각각에서 제1 위치(521, 522, 523, 524)에 위치하는 픽셀들의 값을 추출하여 평균값을 산출하고, 그 평균값을 병합 프레임(530)의 제1 위치(531)의 픽셀 값으로 설정할 수 있다. 이때 '평균'은 복수의 픽셀 값의 대표값으로써의 의미를 갖는 것이기에 산술적 평균을 내포하는 것은 물론이고, 다양한 방식의 대표값 결정 방식에 따라 결정된 값 모두를 의미할 수 있다.
도 6은 본 발명의 제1 실시예에 따른 병합 대상 프레임을 도시한 도면이다.
도 7은 도 6의 병합 대상 프레임으로부터 생성된 병합 프레임(530)을 도시한 도면이다.
도 6 및 도 7을 함께 참조하면, 병합 프레임(530)이 움직임이 없는 영역은 선명하지만, 움직임이 발생된 영역에 대해서는 선명하지 못한 특성을 가지는 것을 확인할 수 있다. 이와 같은 병합 프레임(530)을 통해 인간은 시간의 흐름에 따라 변화되는 장면의 내용을 정확하게 파악하기 어려울 수 있지만, 인공 신경망은 정확하게 파악이 가능할 수 있다.
도 8은 본 발명의 제2 실시예에 따른 병합 프레임(570) 생성 과정을 설명하기 위한 도면이다.
본 발명의 제2 실시예에 따른 서버(100)는 영상을 구성하는 복수의 프레임(540)에서 연속하는 M개(M은 자연수)의 프레임들(550)을 병합 대상 프레임으로 선정할 수 있다. 가령 서버(100)는 영상의 프레임 레이트가 25fps인 상황에서, 5초 기간에 해당하는 연속하는 125개의 프레임을 병합 대상 프레임으로 선정할 수 있다. 다만 이와 같은 시구간의 길이 및 프레임의 수는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 제2 실시예에 따른 서버(100)는 M개의 프레임들(550)의 홀수 번째 프레임들 및 짝수 번째 프레임들 중 어느 하나의 색상을 반전시켜 원본 프레임과 반전된 프레임이 교번하는 M개의 교번 프레임들(560)을 생성할 수 있다. 가령 서버(100)는 도 8에 도시된 바와 같이 홀수 번째 프레임들의 색상을 반전시키는 방식으로 교번 프레임들(560)을 생성할 수 있다.
본 발명의 제2 실시예에 따른 서버(100)는 병합 프레임(570) 내에서의 제1 위치(571)의 픽셀 값이 M개의 교번 프레임들(560) 각각 내에서 제1 위치(561, 562, 563, 564)에 위치하는 픽셀들의 값의 합에 상응하도록 병합 프레임(570)을 생성할 수 있다.
바꾸어 말하면 서버(100)는 M개의 교번 프레임들(560) 각각에서 제1 위치(561, 562, 563, 564)에 위치하는 픽셀들의 값을 추출하여 그 합을 산출하고, 산출된 합을 병합 프레임(570)의 제1 위치(571)의 픽셀 값으로 설정할 수 있다. 이때 제2 실시예의 경우 원래 색상의 프레임과 색상이 반전된 프레임의 픽셀 값을 합하기에, 제1 실시예와 달리 픽셀 값들의 평균 값을 산출할 필요가 없다.
도 9는 본 발명의 제2 실시예에 따른 교번 프레임들 도시한 도면이다.
도 10은 도 9의 교번 프레임들로부터 생성된 병합 프레임(570)을 도시한 도면이다.
도 9 및 도 10을 함께 참조하면, 병합 프레임(570)이 움직임이 없는 영역은 검은색으로 나타나지만, 움직임이 발생된 영역은 색상(또는 표시)이 존재하는 특성을 갖는 것을 확인할 수 있다. 이와 같은 병합 프레임(570)은 영상 내에서의 객체의 움직임에 보다 초점을 맞출 때 사용 될 수 있다.
도 11은 본 발명의 제3 실시예에 따른 병합 프레임(630) 생성 과정을 설명하기 위한 도면이다.
본 발명의 제3 실시예에 따른 서버(100)는 영상을 구성하는 복수의 프레임(610) 중 연속하는 K개(K는 자연수)의 프레임들(620)을 병합 대상 프레임으로 선정할 수 있다. 가령 서버(100)는 영상의 프레임 레이트가 25fps인 상황에서, 5초 기간에 해당하는 연속하는 125개의 프레임을 병합 대상 프레임으로 선정할 수 있다. 다만 이와 같은 시구간의 길이 및 프레임의 수는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 제3 실시예에 따른 서버(100)는 선정된 K개의 프레임들(620)을 순서에 따라 J개(J는 자연수)의 그룹으로 그룹화 할 수 있다. 가령 서버(100)는 도 11에 도시된 바와 같이 선정된 4개의 프레임을 2개의 그룹으로 그룹화 할 수 있다. 다만 이와 같은 프레임의 수 및 그룹의 수는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 제3 실시예에 따른 서버(100)는 J개의 그룹 각각에 대한 그룹 프레임(640, 650)의 제1 위치의 픽셀 값이 각각의 그룹에 속하는 복수의 프레임들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 평균 값에 상응하도록 상기 J개의 그룹 각각에 대한 그룹 프레임(640, 650)을 생성할 수 있다.
이때 제1 위치는 J개의 그룹 별로 서로 중첩되지 않도록 설정될 수 있다. 바꾸어 말하면 각각에 대한 그룹 프레임(640, 650)은 서로 중첩되지 않는 위치에 대한 픽셀의 평균값들 만을 포함할 수 있다.
가령 서버(100)는 첫 번째 그룹에 대해서, 그룹 프레임(640)의 제1 위치(641, 642, 643)의 픽셀 값이 첫 번째 그룹에 속하는 복수의 프레임(Frame 1, Frame 3)들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 평균 값에 상응하도록 그룹 프레임(640)을 생성할 수 있다.
물론 서버(100)는 두 번째 그룹에 대해서도 마찬가지로, 그룹 프레임(650)의 제1 위치(651, 652)의 픽셀 값이 두 번째 그룹에 속하는 복수의 프레임(Frame 2, Frame 4)들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 평균 값에 상응하도록 그룹 프레임(650)을 생성할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 J개의 그룹 각각에 대한 그룹 프레임(640, 650)을 병합하여 병합 프레임(630)을 생성할 수 있다. 이때 병합 프레임을 구성하는 일부 위치(631, 633, 365)의 픽셀 값은 첫 번째 그룹에 속하는 프레임들로부터 산출된 것이고, 또 다른 위치(632, 634)의 픽셀 값은 두 번째 그룹에 속하는 프레임들로부터 산출된 것 일 수 있다.
도 12는 본 발명의 제3 실시예에 따른 병합 대상 프레임을 도시한 도면이다.
도 13은 도 12의 병합 대상 프레임으로부터 생성된 병합 프레임(630)을 도시한 도면이다.
도 12 및 도 13을 함께 참조하면, 병합 프레임(630)이 움직임이 없는 영역은 선명하지만, 움직임이 발생된 영역에 대해서는 선명하지 못한 특성을 갖는 것을 확인할 수 있다. 이와 같은 병합 프레임(630)은 영상의 전체적 내용을 파악하는 것에 초점을 맞출 때 사용될 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 학습된 제1 인공 신경망(720)을 이용하여 병합 프레임으로부터 병합 프레임의 생성에 사용된 둘 이상의 병합 대상 프레임을 묘사하는 텍스트를 생성할 수 있다.(S1840)
이로써 본 발명은 복수의 프레임으로 구성되는 영상에 대한 시맨틱 로그를 생성할 수 있다.
본 발명의 선택적 실시예에서, 서버(100)는 병합 프레임을 생성한 이후에, 생성된 병합 프레임 내에서 관심 영역을 설정할 수 있다. 가령 서버(100)는 병합 프레임에서 블러(Blur)가 발생한 영역 및 소정의 값(예를 들어 검은색에 해당하는 값)이 아닌 픽셀 값이 존재하는 영역 중 어느 하나의 영역을 관심 영역으로 설정할 수 있다. 물론 서버(100)는 사용자 단말(미도시)로부터 수신된 선택 정보에 기반하여 관심 영역을 설정할 수도 있다.
본 발명의 선택적 실시예에 따른 서버(100)는 제2 인공 신경망(760)을 이용하여 병합 프레임 및 설정된 관심 영역으로부터, 병합 프레임의 생성에 사용된 둘 이상의 병합 대상 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트를 생성할 수도 있다.
이로써 본 발명은 복수의 프레임으로 구성되는 영상에 대한 시맨틱 로그를 생성할 수 있으며, 특히 관심 영역에 보다 집중하는 시맨틱 로그를 생성할 수 있다
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 저장하는 것일 수 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리, 클라우드 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (10)

  1. 복수의 프레임으로 구성되는 영상에 대한 시맨틱 로그를 생성하는 방법에 있어서,
    복수의 프레임으로 구성되는 입력 영상을 획득하는 단계;
    소정의 규칙에 따라 상기 복수의 프레임 중 둘 이상의 병합 대상 프레임을 선정하고, 상기 둘 이상의 병합 대상 프레임을 병합한 병합 프레임을 생성하는 단계; 및
    학습된 인공 신경망을 이용하여 상기 병합 프레임으로부터 상기 병합 프레임의 생성에 사용된 상기 둘 이상의 병합 대상 프레임을 묘사하는 텍스트를 생성하는 단계;를 포함하는, 영상의 시맨틱 로그 생성 방법.
  2. 청구항 1에 있어서
    상기 병합 프레임을 생성하는 단계는
    상기 복수의 프레임 중 연속하는 N개(N은 자연수)의 프레임들을 상기 병합 대상 프레임으로 선정하는 단계; 및
    상기 병합 프레임 내에서의 제1 위치의 픽셀 값이 상기 N개의 프레임들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 평균 값에 상응하도록 상기 병합 프레임을 생성하는 단계;를 포함하는, 영상의 시맨틱 로그 생성 방법.
  3. 청구항 1에 있어서
    상기 병합 프레임을 생성하는 단계는
    상기 복수의 프레임 중 연속하는 M개(M은 자연수)의 프레임들을 상기 병합 대상 프레임으로 선정하는 단계;
    상기 M개의 프레임들의 홀수 번째 프레임들 및 짝수 번째 프레임들 중 어느 하나의 색상을 반전시켜 원본 프레임과 반전된 프레임이 교번하는 M개의 교번 프레임들을 생성하는 단계; 및
    상기 병합 프레임 내에서의 제1 위치의 픽셀 값이 상기 M개의 교번 프레임들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 합에 상응하도록 상기 병합 프레임을 생성하는 단계;를 포함하는, 영상의 시맨틱 로그 생성 방법.
  4. 청구항 1에 있어서
    상기 병합 프레임을 생성하는 단계는
    상기 복수의 프레임 중 연속하는 K개(K는 자연수)의 프레임들을 상기 병합 대상 프레임으로 선정하는 단계;
    상기 K개의 프레임들을 순서에 따라 J개(J는 자연수)의 그룹으로 그룹화 하는 단계;
    J개의 그룹 각각에 대한 그룹 프레임의 제1 위치의 픽셀 값이 각각의 그룹에 속하는 복수의 프레임들 각각 내에서 제1 위치에 위치하는 픽셀들의 값의 평균 값에 상응하도록 상기 J개의 그룹 각각에 대한 그룹 프레임을 생성하는 단계로써, 상기 제1 위치는 상기 J개의 그룹 별로 서로 중첩되지 않도록 설정되고; 및
    상기 J개의 그룹 각각에 대한 그룹 프레임을 병합하여 상기 병합 프레임을 생성하는 단계;를 포함하는, 영상의 시맨틱 로그 생성 방법.
  5. 청구항 1에 있어서
    상기 병합 프레임을 구성하는 픽셀 수는 상기 복수의 프레임 각각을 구성하는 픽셀수 이하인, 영상의 시맨틱 로그 생성 방법.
  6. 청구항 1에 있어서
    상기 영상의 시맨틱 로그 생성 방법은 상기 텍스트를 생성하는 단계 이전에,
    학습 데이터를 이용하여 상기 인공 신경망을 학습시키는 단계;를 더 포함하고,
    상기 인공 신경망은
    복수의 프레임을 병합하여 생성된 병합 프레임의 입력에 따라 상기 병합 프레임의 생성에 사용된 상기 복수의 프레임을 묘사하는 텍스트를 출력하도록 학습된 신경망인, 영상의 시맨틱 로그 생성 방법.
  7. 청구항 6에 있어서
    상기 학습 데이터는
    복수의 학습 프레임을 병합하여 생성된 학습 병합 프레임 및 상기 복수의 학습 프레임을 묘사하는 텍스트를 포함하는, 영상의 시맨틱 로그 생성 방법.
  8. 청구항 1에 있어서
    상기 영상의 시맨틱 로그 생성 방법은 상기 병합 프레임을 생성하는 단계 이후에,
    상기 병합 프레임 내에서 관심 영역을 설정하는 단계;를 더 포함하고,
    상기 텍스트를 생성하는 단계는
    학습된 인공 신경망을 이용하여 상기 병합 프레임 및 상기 관심 영역으로부터 상기 병합 프레임의 생성에 사용된 상기 둘 이상의 병합 대상 프레임의 상기 관심 영역에 상응하는 영역을 묘사하는 텍스트를 생성하는 단계;를 포함하는, 영상의 시맨틱 로그 생성 방법.
  9. 청구항 8에 있어서
    상기 인공 신경망은
    복수의 프레임을 병합하여 생성된 병합 프레임 및 관심 영역의 입력에 따라 상기 병합 프레임의 생성에 사용된 상기 복수의 프레임의 상기 관심 영역에 상응하는 영역을 묘사하는 텍스트를 출력하도록 학습된 신경망이고,
    상기 인공 신경망의 학습에 사용되는 학습 데이터는
    복수의 학습 프레임을 병합하여 생성된 학습 병합 프레임, 상기 병합 프레임 내에서의 관심 영역 및 상기 복수의 학습 프레임의 관심 영역에 상응하는 영역을 묘사하는 텍스트를 포함하는, 영상의 시맨틱 로그 생성 방법.
  10. 청구항 8에 있어서
    상기 관심 영역을 설정하는 단계는
    상기 병합 프레임에서 블러(Blur)가 발생한 영역 및 소정의 값이 아닌 픽셀 값이 존재하는 영역 중 어느 하나의 영역을 상기 관심 영역으로 설정하는 단계;를 포함하는, 영상의 시맨틱 로그 생성 방법.
PCT/KR2023/008933 2022-08-16 2023-06-27 영상의 시맨틱 로그 생성 방법 WO2024039047A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0102184 2022-08-16
KR1020220102184A KR20240023904A (ko) 2022-08-16 2022-08-16 영상의 시맨틱 로그 생성 방법

Publications (1)

Publication Number Publication Date
WO2024039047A1 true WO2024039047A1 (ko) 2024-02-22

Family

ID=89942029

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/008933 WO2024039047A1 (ko) 2022-08-16 2023-06-27 영상의 시맨틱 로그 생성 방법

Country Status (2)

Country Link
KR (1) KR20240023904A (ko)
WO (1) WO2024039047A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060091563A (ko) * 2005-02-15 2006-08-21 엘지전자 주식회사 동영상의 요약 제공이 가능한 이동통신 단말기 및 이를 이용한 요약 제공 방법
KR101138922B1 (ko) * 2010-07-07 2012-05-14 중앙대학교 산학협력단 복원된 비디오 프레임의 프레임율을 향상 시키기 위한 프레임율 향상 장치 및 방법
KR20200040097A (ko) * 2018-10-08 2020-04-17 삼성전자주식회사 전자 장치 및 그 제어 방법
KR20210122496A (ko) * 2020-04-01 2021-10-12 한국전자통신연구원 벡터를 이용한 장면 묘사 기반의 메타데이터 생성 방법 및 이를 위한 장치
KR20210132300A (ko) * 2020-04-27 2021-11-04 주식회사 코난테크놀로지 인공 지능을 이용한 스포츠 동영상 검색 방법 및 검색 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060091563A (ko) * 2005-02-15 2006-08-21 엘지전자 주식회사 동영상의 요약 제공이 가능한 이동통신 단말기 및 이를 이용한 요약 제공 방법
KR101138922B1 (ko) * 2010-07-07 2012-05-14 중앙대학교 산학협력단 복원된 비디오 프레임의 프레임율을 향상 시키기 위한 프레임율 향상 장치 및 방법
KR20200040097A (ko) * 2018-10-08 2020-04-17 삼성전자주식회사 전자 장치 및 그 제어 방법
KR20210122496A (ko) * 2020-04-01 2021-10-12 한국전자통신연구원 벡터를 이용한 장면 묘사 기반의 메타데이터 생성 방법 및 이를 위한 장치
KR20210132300A (ko) * 2020-04-27 2021-11-04 주식회사 코난테크놀로지 인공 지능을 이용한 스포츠 동영상 검색 방법 및 검색 시스템

Also Published As

Publication number Publication date
KR20240023904A (ko) 2024-02-23

Similar Documents

Publication Publication Date Title
WO2020159232A1 (en) Method, apparatus, electronic device and computer readable storage medium for image searching
WO2021141361A1 (en) Method for keyword extraction and electronic device implementing the same
WO2019132518A1 (en) Image acquisition device and method of controlling the same
WO2019151735A1 (en) Vision inspection management method and vision inspection system
WO2021085757A1 (ko) 예외적 움직임에 강인한 비디오 프레임 보간 방법 및 그 장치
WO2022114731A1 (ko) 딥러닝 기반 비정상 행동을 탐지하여 인식하는 비정상 행동 탐지 시스템 및 탐지 방법
WO2022005060A1 (ko) 유해 동영상 파일을 필터링 하기 위한 장치 및 방법
WO2023171981A1 (ko) 감시카메라 관리 장치
EP4367628A1 (en) Image processing method and related device
WO2022124607A1 (en) Depth estimation method, device, electronic equipment and computer readable storage medium
WO2022092451A1 (ko) 딥러닝을 이용한 실내 위치 측위 방법
WO2022080517A1 (ko) 학습 데이터를 생성하는 인공 지능 장치 및 방법
WO2021167210A1 (ko) 서버, 전자 장치 및 그들의 제어 방법
WO2024039047A1 (ko) 영상의 시맨틱 로그 생성 방법
WO2023068821A1 (ko) 자기-지도 학습 기반의 다중 객체 추적 장치 및 방법
WO2022225375A1 (ko) 병렬처리 파이프라인을 이용한 다중 dnn 기반 얼굴 인식 방법 및 장치
WO2022045613A1 (ko) 비디오 품질 향상 방법 및 장치
WO2023121408A1 (ko) 인공신경망을 이용한 희소 데이터 기반의 컨볼루션 연산 방법 및 장치
WO2023058812A1 (ko) 영상 전환 방법, 장치 및 컴퓨터 프로그램
WO2024096453A1 (ko) 비디오 인페인팅을 수행하는 전자 장치 및 그 동작 방법
WO2022065561A1 (ko) 문자열의 의도 분류 방법 및 컴퓨터 프로그램
WO2023085862A1 (en) Image processing method and related device
WO2023224428A1 (en) Cooperative architecture for unsupervised learning of causal relationships in data generation
WO2023219275A1 (ko) 영상 처리 장치 및 그 동작 방법
WO2023058813A1 (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: 23855018

Country of ref document: EP

Kind code of ref document: A1