WO2020149601A1 - 3d cnn을 이용한 고속 영상 인식 방법 및 장치 - Google Patents
3d cnn을 이용한 고속 영상 인식 방법 및 장치 Download PDFInfo
- Publication number
- WO2020149601A1 WO2020149601A1 PCT/KR2020/000647 KR2020000647W WO2020149601A1 WO 2020149601 A1 WO2020149601 A1 WO 2020149601A1 KR 2020000647 W KR2020000647 W KR 2020000647W WO 2020149601 A1 WO2020149601 A1 WO 2020149601A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- cnn
- input
- image
- clips
- video
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
Definitions
- the present invention relates to a high-speed image recognition method and apparatus using 3D CNN, and more specifically, to perform a network operation for image recognition using 3D CNN on some of the input image clips, and subsequent image clips based on the results It relates to a technique for speeding up the calculation speed by partially omitting the network calculation for.
- Deep Neural Network Convolutional Neural Network
- RNN Recurrent Neural Network
- the convolutional neural network is a network that is attracting attention as exhibiting excellent performance in image classification, and includes one or more convolutional layers.
- the image recognition technology using the convolutional neural network is mainly used to identify an object included in an image or to recognize an object (or a person) behavior.
- a 3D convolutional neural network which is mainly used for recognizing the behavior of an object, uses a 3D image image composed of a plurality of 2D images as input, rather than a single 2D image.
- An object of the present invention for solving the above problems is to provide a high-speed image recognition method using 3D CNN.
- Another object of the present invention for solving the above problems is to provide a high-speed image recognition apparatus using 3D CNN.
- One aspect of the present invention for achieving the above object is to provide a high-speed image recognition method using 3D CNN.
- the high-speed image recognition method using the 3D CNN inputting first image clips among 3D CNNs (3-dimension convolutional neural network) among the image clips constituting the input image, for each of the first image clips Obtaining results obtained by calculating a softmax function through the 3D CNN, calculating score margin using the obtained results, and calculating the calculated score margin with a preset threshold value. In comparison, it may include determining whether to additionally input at least one video clip excluding the first video clips among video clips composing the input video.
- the score margin may be a difference value between the largest value and the second largest value among the result values.
- Determining whether to input the at least one video clip may include determining whether to input the remaining video clips excluding the first video clips to the 3D CNN. At this time, the step of determining whether to input the remaining image clips to the 3D CNN, if the score margin is greater than the threshold, do not input the image clips after the first image clips to the 3D CNN, the The method may include performing image recognition on the input image using only the result values and inputting an image clip after the first image clips to the 3D CNN when the score margin is less than the threshold value.
- determining whether to input the at least one video clip may include determining whether to input the next video clip of the first video clips to the same network as the 3D CNN.
- the step of determining whether to input the next video clip to the same network as the 3D CNN is: if the score margin is greater than the threshold, the next video clip of the first video clips is the same as the 3D CNN or the And inputting to a network shallower than 3D CNN and inputting a next video clip of the first video clip to a network deeper than the 3D CNN when the score margin is less than the threshold.
- the step of determining whether to input the at least one video clip further includes comparing the score margin with a first threshold to determine whether to input the remaining video clips excluding the first video clips into the 3D CNN. And comparing the score margin with a second threshold that is different from the first threshold and determining whether to input the next video clip of the first video clips into the same network as the 3D CNN. have.
- the obtaining of the result values may further include accumulating and storing the result values obtained by calculating the softmax function in a memory.
- the threshold value may be determined according to at least one of a type of a terminal performing image recognition, arithmetic capability, a type of an input image, a resolution of the input image, and the number of frames constituting the input image.
- Each of the image clips constituting the input image may be composed of a preset number of consecutive frames among a plurality of frames constituting the input image.
- Another aspect of the present invention for achieving the above object is to provide a high-speed image recognition apparatus using 3D CNN.
- the high-speed image recognition apparatus using 3D CNN may include at least one processor, and memory storing instructions instructing the at least one processor to perform at least one step. have.
- the at least one step may include inputting first video clips among 3D CNNs (3D CNN) of the video clips constituting the input video to the 3D CNN for each of the first video clips. Obtaining results obtained by calculating a softmax function, calculating score margins using the obtained results, comparing the calculated score margins with a preset threshold, and And determining whether to additionally input at least one video clip excluding the first video clips among video clips constituting the input video.
- 3D CNN 3D CNN
- the score margin may be a difference value between the largest value and the second largest value among the result values.
- Determining whether to input the at least one video clip may include determining whether to input the remaining video clips excluding the first video clips to the 3D CNN.
- determining whether to input the at least one video clip may include determining whether to input the next video clip of the first video clips to the same network as the 3D CNN.
- the step of determining whether to input the next video clip to the same network as the 3D CNN is: if the score margin is greater than the threshold, the next video clip of the first video clips is the same as the 3D CNN or the And inputting to a network shallower than 3D CNN and if the score margin is less than the threshold, inputting a next video clip of the first video clip into a network deeper than the 3D CNN.
- the obtaining of the result values may further include accumulating and storing the result values obtained by calculating the softmax function in a memory.
- the threshold value may be determined according to at least one of a type of a terminal performing image recognition, arithmetic capability, a type of an input image, a resolution of the input image, and the number of frames constituting the input image.
- Each of the image clips constituting the input image may be composed of a preset number of consecutive frames among a plurality of frames constituting the input image.
- Another aspect of the present invention for achieving the above object is to provide a high-speed image recognition apparatus using 3D CNN.
- the high-speed image recognition apparatus using 3D CNN may include at least one processor, and memory storing instructions instructing the at least one processor to perform at least one step. have.
- the at least one step may include inputting first video clips among 3D CNNs (3D CNN) of the video clips constituting the input video to the 3D CNN for each of the first video clips. Obtaining results obtained by calculating a softmax function, calculating score margins using the obtained results, and comparing the calculated score margins with a preset first threshold Determining whether to input the remaining video clips of the video clips composing the input video except the first video clips into the same network as the 3D CNN, and comparing the score margin with a preset second threshold And determining whether to input the next video clip of the first video clips to the same network as the 3D CNN.
- FIG. 1 is an exemplary view for explaining a two-dimensional convolutional neural network according to an embodiment of the present invention.
- FIG. 2 is an exemplary diagram for describing a 3D CNN according to an embodiment of the present invention.
- 3A is a histogram for explaining a score margin value according to an embodiment of the present invention.
- 3B is a histogram for explaining a score margin value according to another embodiment of the present invention.
- FIG. 4 is a flowchart of a fast image recognition method using 3D CNN according to the first embodiment of the present invention.
- FIG. 5 is a flowchart of a fast image recognition method using 3D CNN according to a second embodiment of the present invention.
- FIG. 6 is a flowchart of a fast image recognition method using 3D CNN according to a third embodiment of the present invention.
- FIG. 7 is a block diagram of a high-speed image recognition apparatus using 3D CNN according to the first to third embodiments of the present invention.
- first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from other components.
- first component may be referred to as a second component without departing from the scope of the present invention, and similarly, the second component may be referred to as a first component.
- the term and/or includes a combination of a plurality of related described items or any one of a plurality of related described items.
- FIG. 1 is an exemplary view for explaining a two-dimensional convolutional neural network according to an embodiment of the present invention.
- a 2D convolutional neural network uses a convolutional layer (10), an activation function, that receives an input image as input and performs a convolution operation to output a feature map.
- An activation layer (11) that normalizes the output value of the convolutional layer (10) and a pooling layer (12) that extracts representative features by sampling or pooling the output of the activation layer (11). It can contain.
- the connection structure of the convolutional layer 10, the activation layer 11, and the pooling layer 12 may be repeatedly configured in several sets.
- the convolutional neural network is connected to a full-connected layer (13) that combines several features extracted through the pooling layer 12 at the rear end of the connection structure, and a softmax function It can be connected to a softmax layer (Softmax layer 14) to normalize the output of the pre-combined layer (13).
- the convolutional layer 10 may perform a convolution operation between an input image and a filter.
- the filter may be defined as an area of a pixel unit having component values for performing a convergence operation with each pixel of the input image.
- an area in units of pixels may be referred to as a size of a filter, and the filter may be generally expressed as a matrix.
- the convolutional layer 10 may repeat the convolution operation between the filter and the input image while sliding the filter in the horizontal and vertical directions of the input image.
- the interval at which the filter moves at one time may be defined as a stride. For example, if the stride value is 2, the filter may be moved by 2 pixel intervals to perform a convolution operation with the input image.
- the size of the output image (or feature map) may be reduced.
- the convolutional layer performs a padding process to adjust the size of the output feature map. It can be done.
- the padding process may be a process of filling a specific value (eg, 0) in the outer region of the input image.
- the activation function is a function that replaces a feature extracted with a certain value (or matrix) into a nonlinear value, and a sigmoid function, a ReLU function, and the like can be used.
- the activation layer 11 is illustrated separately from the convolutional layer 10 for convenience of description, but it may be interpreted that the activation layer 11 is included in the convolutional layer 10.
- the pooling layer 12 is a layer that selects features representative of the feature map by performing subsampling or pooling on the extracted feature map, and extracts the largest value for a certain region of the feature map Max pooling, average pooling to extract the average value, and the like can be performed. At this time, the pooling layer 12 is not necessarily performed after the activation layer 11, but may be selectively performed.
- the pre-combination layer 13 is generally located at the end of the CNN, and the pre-combination layer 13 combines features extracted through the convolutional layer 10, the activation layer 11, and the pooling layer 12. You can determine which class it belongs to.
- the pre-combination layer 13 may vectorize all pixels of the input feature map, multiply each parameter value, and synthesize the calculation results to output a class having the largest value as a result.
- the softmax layer 14 may use a softmax function to express the result of the calculation in the pre-combination layer 13 as a probability value between 0 and 1.
- the Softmax function may be a function having a property that normalizes all input values to values between 0 and 1, and the sum of output values is always 1.
- the softmax layer 14 is illustrated separately from the pre-combination layer 13 for convenience of description, but may be interpreted as being included in the pre-combination layer 13.
- FIG. 2 is an exemplary diagram for describing a 3D CNN according to an embodiment of the present invention.
- the 3-dimensional convolutional neural network (hereinafter referred to as 3D CNN) can be interpreted as an artificial neural network in which the 2-dimensional convolutional neural network according to FIG. 1 is extended by one dimension on the time axis.
- the two-dimensional convolutional neural network according to FIG. 1 is generally used as a purpose of receiving an image as an input, classifying an input image through spatial characteristics on the input image, or identifying an object inside the input image. .
- the 2D convolutional neural network has a limitation that it cannot process video data including time information.
- 3D CNN performs convolution and pooling operations by taking into account the temporal components of video data, features can be extracted in consideration of temporal properties of video data.
- input video 20 which is video data composed of a plurality of frames (or pictures) along a time axis, is classified as a plurality of video clips 21, and each video clip is 3D CNN. Can be used as input to (22).
- the video clip 21 is composed of a predetermined number of frames (the number of frames that 3D CNN can process at one time), for example, the video clip 21 may be composed of consecutive frames on the time axis. have.
- the structure of the 3D CNN 22 is basically the same as or similar to the 2D convolutional neural network according to FIG. 1, but may differ in that all of the image data along the time axis are used.
- the convolutional layer of the 3D CNN 22 performs convolution operation as the filter scans an image, as in 2D convolution, and moves by the stride value in the time axis to perform convolution operation. It can be done.
- the pooling layer according to the 3D CNN 22 is a one-dimensional extended form of the pooling layer 12 described in FIG. 1 as a time axis, and all pixel values along the time axis may be used.
- the pre-combination layer according to the 3D CNN 22, like the pre-combination layer 13 according to FIG. 1, vectorizes all the pixels present in the last characteristic map to obtain a weighted sum with the parameters, and the soap according to the 3D CNN 22.
- the Max layer can operate like the Softmax layer 14 according to FIG. 1.
- the 3D CNN 22 performs learning by considering image data on a time axis together, it may be advantageous to learn the motion of a person changing in time.
- the image data on the time axis must be considered together, there is a problem that more parameters and computation amount are needed than the 2D convolutional neural network.
- the present invention proposes a method capable of reducing the computation amount according to 3D CNN and performing image recognition at high speed.
- a softmax value is calculated through the same 3D CNN for all image clips constituting the input image as illustrated in FIG. 2, and an image is recognized using the calculated softmax value.
- the calculation speed is lowered because the calculation amount is large.
- it is difficult to handle an excessive computational amount it is difficult to handle an excessive computational amount, and thus a method for reducing the computational amount and recognizing an image at high speed is required.
- the concept of a score margin can be defined.
- the score margin can be defined by Equation 1 below.
- the score margin is the largest value (V softmax1 ) and the second largest value (V softmax1 ) among the results of calculating the softmax function for each video clip through 3D CNN so far. V softmax2 ). At this time, since the value calculated through the soft max function has a value between 0 and 1, the score margin may also have a value between 0 and 1.
- 3A is a histogram for explaining a score margin value according to an embodiment of the present invention.
- 3B is a histogram for explaining a score margin value according to another embodiment of the present invention.
- FIG. 4 is a flowchart of a fast image recognition method using 3D CNN according to the first embodiment of the present invention.
- each of the first image clips among the image clips constituting the input image is 3D CNN (3-dimension Convolutional Neural Network).
- S100 Inputting to S100, obtaining results obtained by calculating a softmax function through the 3D CNN for each of the first image clips (S110), and scoring using the obtained results
- S120 In response to the step of calculating a margin (S120), comparing the calculated score margin with a preset threshold (S130), and in response to the comparing step, among the image clips constituting the input image, And determining whether to input the remaining image clips except the first image clips to the 3D CNN (S140).
- the first video clips may mean the first one video clip to be input to the 3D CNN, or the first video clip to a plurality of video clips.
- the score margin may be a difference value between the largest value and the second largest value among the result values.
- the score margin can be defined according to Equation 1.
- the video clips after the first video clips are not input to the 3D CNN, And performing image recognition for the input image using only the result values. Accordingly, the result of the image recognition can be finally derived only by analyzing the 3D CNN for the first image clips, and the analysis of the image clips after the first image clips can be omitted.
- Determining whether to input the remaining image clips to the 3D CNN (S140), if the score margin is less than the threshold, inputting the image clips after the first image clips to the 3D CNN. It may include.
- the score margin is repeatedly obtained and threshold comparison is performed to finally derive the image recognition result at the current step whether to input the next image clip and end image recognition. You can decide whether or not to do it.
- the acquiring of the result values (S110) may further include accumulating and storing the result values obtained by calculating the softmax function in a memory. That is, by continuously accumulating and storing the result values, a score margin according to step S120 may be calculated by further including the result value of the calculated softmax function in which the next image clip is input to the 3D CNN as the stored result values. .
- the threshold value may be determined according to at least one of a type of a terminal performing image recognition, arithmetic capability, a type of an input image, a resolution of the input image, and the number of frames constituting the input image.
- Each of the image clips constituting the input image may be composed of a preset number of consecutive frames among a plurality of frames constituting the input image.
- FIG. 5 is a flowchart of a fast image recognition method using 3D CNN according to a second embodiment of the present invention.
- each of the first image clips among the image clips constituting the input image is 3D CNN.
- S200 inputting to a 3-dimension convolutional neural network (S200), obtaining results obtained by calculating a softmax function through the 3D CNN for each of the first image clips (S210), Calculating a score margin using the obtained result values (S220), comparing the calculated score margin with a preset threshold (S230), and in response to the comparing, the input image It may include determining whether to input the next video clip of the first video clip among the video clips constituting the 3D CNN in the same network (S240).
- the first video clips may mean the first one video clip to be input to the 3D CNN, or the first video clip to a plurality of video clips.
- the score margin may be a difference value between the largest value and the second largest value among the result values.
- the score margin can be defined according to Equation 1.
- the next video clip of the first video clips is the same as the 3D CNN or And inputting a network shallower than the 3D CNN. That is, if the score margin is greater than the threshold, it is highly likely that the result of the image recognition deduced from the currently input image clips is correct, so the next image clip is calculated by inputting the same or shallower network to the 3D CNN currently used for inference. Speed can be improved.
- the meaning of a shallow network may mean a network with a small number of convolutional layers or a low computational complexity.
- the next video clip of the first video clips is more than the 3D CNN. And entering into a deep network.
- the score margin is smaller than the threshold, it is highly likely that the result of the image recognition deduced from the currently input image clips is wrong. Therefore, the next image clip improves computational speed by entering the deeper network than the 3D CNN used for the current reasoning. I can do it.
- the term deep network may mean a network having a large number of convolutional layers or a high computational complexity.
- the step of obtaining the result values (S210) may further include accumulating and storing the result values obtained by calculating the softmax function in a memory. That is, the result values are continuously accumulated and stored, and the result value of the softmax function for the next image clip is additionally included in the previously stored result values, so that the score margin according to step S220 can be calculated.
- the threshold value may be determined according to at least one of a type of a terminal performing image recognition, arithmetic capability, a type of an input image, a resolution of the input image, and the number of frames constituting the input image.
- Each of the image clips constituting the input image may be composed of a preset number of consecutive frames among a plurality of frames constituting the input image.
- step S240 by inputting the next video of the first video clips to the network determined in step S240 by repeating the process from step S210 to step S240, all the video clips constituting the input video
- the network for can be dynamically determined.
- next video clip is the last video clip in step S240
- the last video clip is input to the network determined in step S240 to calculate the softmax function, and the result values of the calculated softmax function are combined to finally recognize the video.
- image recognition can be ended.
- FIGS. 4 and 5 may be combined with each other and implemented as a third embodiment.
- both the first embodiment and the second embodiment may omit a subsequent operation or vary a network to be applied based on a score margin defined in the present invention. Therefore, the step S140 according to the first embodiment is applied by comparing the score margin calculated through steps S100 to S120 according to the first embodiment with the first threshold value, and the score margin calculated through steps S100 to S120 is eliminated.
- the third embodiment applying step S240 according to the second embodiment can be performed. At this time, the first threshold value and the second threshold value may be set to different values, but setting the same threshold value is not excluded. The third embodiment will be described in more detail with reference to FIG. 6 below.
- FIG. 6 is a flowchart of a fast image recognition method using 3D CNN according to a third embodiment of the present invention.
- each of the first image clips among the image clips constituting the input image is 3D CNN (3-dimension Convolutional Neural Network).
- Step S300 obtaining results obtained by calculating a softmax function through the 3D CNN for each of the first image clips (S310), and scoring using the obtained results
- Step S320 of calculating a margin, comparing the calculated score margin with a preset first threshold value, and remaining image clips excluding the first image clips among the image clips constituting the input image are the Determining whether to input to the 3D CNN (S330) and comparing the calculated score margin with a preset second threshold, the next video clip of the first video clips among the video clips constituting the input video is the It may include the step of determining whether to enter the same network as the 3D CNN (S340).
- the first video clips may mean the first one video clip to be input to the 3D CNN, or the first video clip to a plurality of video clips.
- the score margin may be a difference value between the largest value and the second largest value among the result values.
- the score margin may be defined according to Equation 1 disclosed above.
- the image clips after the first image clips are not input to the 3D CNN. And performing image recognition on the input image using only the result values. Accordingly, the result of the image recognition can be finally derived only by analyzing the 3D CNN for the first image clips, and the analysis of the image clips after the first image clips can be omitted.
- the score margin is smaller than the first threshold when determining whether to input the remaining video clips to the 3D CNN (S330), the video clips after the first video clips are transferred to the 3D CNN. And inputting. Therefore, each time the image clips after the first image clips are input, the score margin is repeatedly obtained and threshold comparison is performed to finally derive the image recognition result at the current step whether to input the next image clip and end image recognition. You can decide whether or not to do it.
- the next video clip of the first video clips is 3D. And inputting to a network that is the same as the CNN or shallower than the 3D CNN. That is, as previously described with reference to FIG. 5, if the score margin is greater than the second threshold, it is highly likely that the result of the image recognition deduced from the currently input image clips is correct.
- the computation speed can be improved by inputting to the same or shallower network than CNN.
- the meaning of a shallow network may mean a network with a small number of convolutional layers or a low computational complexity.
- the score margin is less than the second threshold, the next video clip of the first video clips is the And entering the network deeper than the 3D CNN.
- the score margin is smaller than the second threshold, it is highly likely that the result of the image recognition deduced from the currently input image clips is wrong, so the next image clip is more than the 3D CNN used for the current reasoning.
- the term deep network may mean a network having a large number of convolutional layers or a high computational complexity.
- the acquiring of the result values (S110) may further include accumulating and storing the result values obtained by calculating the softmax function in a memory. That is, by continuously accumulating and storing the result values, a score margin according to step S120 may be calculated by further including the result value of the calculated softmax function in which the next image clip is input to the 3D CNN as the stored result values. .
- the threshold value may be determined according to at least one of a type of a terminal performing image recognition, arithmetic capability, a type of an input image, a resolution of the input image, and the number of frames constituting the input image.
- Each of the image clips constituting the input image may be composed of a preset number of consecutive frames among a plurality of frames constituting the input image.
- FIG. 7 is a block diagram of a high-speed image recognition apparatus using 3D CNN according to the first to third embodiments of the present invention.
- the high-speed image recognition apparatus 100 using 3D CNN includes at least one processor (processor, 110), and the at least one processor (110). It may include a memory (memory, 120) for storing instructions (instructions) to perform at least one step.
- the at least one processor 110 refers to a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor in which methods according to embodiments of the present invention are performed. Can.
- At least one step performed by the processor 110 of the high-speed image recognition apparatus using 3D CNN according to the first and second embodiments of the present invention includes: among video clips constituting the input image. Inputting 1 image clip into a 3D CNN (3-dimension Convolutional Neural Network), respectively, and obtaining results obtained by calculating a softmax function through the 3D CNN for each of the first image clips , Calculating a score margin using the obtained result values, comparing the calculated score margin with a preset threshold, at least excluding the first image clips among the image clips constituting the input image It may include a step of determining whether to input one video clip additionally.
- 3D CNN 3-dimension Convolutional Neural Network
- the score margin may be a difference value between the largest value and the second largest value among the result values.
- determining whether to input the at least one video clip may include determining whether to input the remaining video clips excluding the first video clips to the 3D CNN.
- the processor 110 determines whether to input the remaining image clips to the 3D CNN, when the score margin is greater than the threshold, the processor 110 does not input image clips after the first image clips to the 3D CNN. Instead, the method may include performing image recognition on the input image using only the result values.
- the processor 110 may include inputting an image clip after the first image clips to the 3D CNN.
- determining whether to input the at least one video clip further includes determining whether to input the next video clip of the first video clips into the same network as the 3D CNN. Can.
- the step of determining whether to input the next video clip to the same network as the 3D CNN is when the score margin is greater than the threshold, the next video clip of the first video clips is the same as the 3D CNN or the It may include entering into a network that is shallower than 3D CNN.
- the step of determining whether to input the next video clip to the same network as the 3D CNN is when the score margin is less than the threshold, the next video clip of the first video clip is a network deeper than the 3D CNN. It may include the step of entering in.
- the obtaining of the result values among at least one step of the processor 110 of the high-speed image recognition apparatus using 3D CNN according to the first and second embodiments of the present invention is obtained by calculating the softmax function
- the method may further include the step of accumulating and storing the obtained result values in a memory.
- the threshold value may be determined according to at least one of the type of a terminal performing image recognition, arithmetic capability, the type of the input image, the resolution of the input image, and the number of frames constituting the input image.
- Each of the image clips constituting the input image may be composed of a preset number of consecutive frames among a plurality of frames constituting the input image.
- each of the first image clips among the image clips constituting the input image is 3D CNN.
- 3-dimension Convolutional Neural Network input step, for each of the first image clip to obtain a result of calculating a softmax function (softmax function) through the 3D CNN, using the obtained result values
- Calculating a score margin by comparing the calculated score margin with a preset first threshold value, and the remaining image clips excluding the first image clips among the image clips composing the input image are 3D. Determining whether to enter the same network as the CNN and comparing the score margin with a preset second threshold value to determine whether to input the next video clip of the first video clips into the same network as the 3D CNN. It may include steps.
- the score margin may be a difference value between the largest value and the second largest value among the result values.
- the score margin is determined whether to input the remaining video clips excluding the first video clips from the video clips constituting the input video into the same network as the 3D CNN.
- the score margin is greater than the first threshold, performing image recognition of the input image with only the result values without inputting the image clips after the first image clips to the 3D CNN. It may include.
- the score margin when the score margin is less than the first threshold value, it may include the step of inputting the video clip after the first video clip to the 3D CNN.
- the next video clip of the first video clips may include the step of determining whether to enter the same network as the 3D CNN.
- the next video clip of the first video clips is the same as the 3D CNN. Or, it may include inputting to a network shallower than the 3D CNN.
- the method may include inputting a next video clip of the first video clip into a network deeper than the 3D CNN.
- Each of the memory 120 and the storage device 160 may be configured as at least one of a volatile storage medium and a non-volatile storage medium.
- the memory 120 may be configured with at least one of read only memory (ROM) and random access memory (RAM).
- the high-speed image recognition device 100 using 3D CNN may include a transceiver 130 that performs communication through a wireless network, and includes an input interface device 140 and an output interface device 150. , May further include a storage device 160. Each component included in the high-speed image recognition device 100 using 3D CNN may be connected by a bus 170 to communicate with each other.
- the high-speed image recognition device 100 using 3D CNN includes, for example, a desktop computer, a laptop computer, a notebook computer, a smart phone, and a tablet PC that can communicate. ), mobile phone, smart watch, smart glass, e-book reader, portable multimedia player (PMP), portable game machine, navigation device, digital camera , Digital multimedia broadcasting (DMB) player, digital audio recorder, digital audio player, digital video recorder, digital video player, PDA (Personal Digital Assistant) ) And the like.
- PMP portable multimedia player
- DMB Digital multimedia broadcasting
- the methods according to the invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium.
- Computer-readable media may include program instructions, data files, data structures, or the like alone or in combination.
- the program instructions recorded on the computer-readable medium may be specially designed and configured for the present invention, or may be known and usable by those skilled in computer software.
- Examples of computer-readable media may include hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
- Examples of program instructions may include machine language codes such as those produced by a compiler, as well as high-level language codes that can be executed by a computer using an interpreter or the like.
- the above-described hardware device may be configured to operate with at least one software module to perform the operation of the present invention, and vice versa.
- the above-described method or apparatus may be implemented by combining all or part of its configuration or function, or may be implemented separately.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
3D CNN(3-dimension Convolutional Neural Network)을 이용한 고속 영상 인식 방법 및 장치가 개시된다. 3D CNN(3-dimension Convolutional Neural Network)을 이용한 고속 영상 인식 방법은, 입력 영상을 구성하는 영상 클립들 중 제1 영상 클립들을 각각 3D CNN에 입력하는 단계, 상기 제1 영상 클립들 각각에 대하여 상기 3D CNN을 통해 소프트맥스 함수(softmax function)를 연산한 결과값들을 획득하는 단계, 획득된 결과값들을 이용하여 스코어 마진(score margin)을 산출하는 단계, 산출된 스코어 마진을 미리 설정된 임계값과 비교하는 단계 및 상기 비교하는 단계에 대한 응답으로, 상기 입력 영상을 구성하는 영상 클립들 중 상기 제1 영상 클립들을 제외한 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계를 포함한다. 따라서, 영상 인식을 위한 연산 속도를 향상시킬 수 있다.
Description
본 발명은 3D CNN을 이용한 고속 영상 인식 방법 및 장치에 관한 것으로, 더욱 상세하게는 입력 영상 클립 중 일부에 대하여 3D CNN을 이용한 영상 인식을 위한 네트워크 연산을 수행하고, 수행 결과를 기초로 후속 영상 클립에 대한 네트워크 연산을 일부 생략함으로써 연산 속도를 고속화하는 기술에 관한 것이다.
인공지능 기술이 발전함에 따라 높은 수준의 추상화(abstraction)를 통해 사람의 사고를 컴퓨터가 수행할 수 있도록 학습시키는 기계학습 알고리즘인 딥러닝 기법이 연구되고 있다. 이러한 딥러닝 기법은 심층 신경망(Deep Neural Network), 합성곱 신경망(Convolutional Neural Network, CNN), 순환 신경망(Recurrent Neural Network, RNN) 등과 같은 다양한 인공신경망을 사용하여 트레이닝셋을 훈련시키고 입력된 데이터에 대한 추론을 수행한다.
특히, 합성곱 신경망은 이미지 분류에서 뛰어난 성능을 나타내는 것으로 주목받고 있는 네트워크로서, 하나 이상의 합성곱 계층(Convolutional layer)을 포함한다.
합성곱 신경망을 이용한 영상 인식 기술은 영상에 포함된 객체를 식별하거나 객체(또는 사람)의 행동을 인식하는 데 주로 사용된다. 그런데, 객체의 행동을 인식하기 위해서 주로 사용되는 3차원 합성곱 신경망(3dimension Convolutional Neural Network)은 단일한 2차원 이미지가 아니라 복수의 2차원 이미지로 구성되는 3차원 영상 이미지를 입력으로 사용한다.
종래의 3차원 합성곱 신경망은 깊은 네트워크를 사용함에 따른 많은 연산량과 변수를 처리하기 위하여 많은 자원을 필요로 하기 때문에 IoT(Internet of Things) 기기를 포함한 소형 기기들의 제한적인 자원으로는 구현이 어려운 문제가 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 3D CNN을 이용한 고속 영상 인식 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 3D CNN을 이용한 고속 영상 인식 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면은, 3D CNN을 이용한 고속 영상 인식 방법을 제공한다.
상기 3D CNN을 이용한 고속 영상 인식 방법은, 입력 영상을 구성하는 영상 클립들 중 제1 영상 클립들을 각각 3D CNN(3-dimension Convolutional Neural Network)에 입력하는 단계, 상기 제1 영상 클립들 각각에 대하여 상기 3D CNN을 통해 소프트맥스 함수(softmax function)를 연산한 결과값들을 획득하는 단계, 획득된 결과값들을 이용하여 스코어 마진(score margin)을 산출하는 단계, 산출된 스코어 마진을 미리 설정된 임계값과 비교하여, 상기 입력 영상을 구성하는 영상 클립들 중 상기 제1 영상 클립들을 제외한 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계를 포함할 수 있다.
상기 스코어 마진은 상기 결과값들 중 가장 큰 값과 두번째로 큰 값 사이의 차분값일 수 있다.
상기 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계는, 상기 제1 영상 클립들을 제외한 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계를 포함할 수 있다. 이때, 상기 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계는, 상기 스코어 마진이 상기 임계값보다 클 경우 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하지 않고, 상기 결과값들만으로 상기 입력 영상에 대한 영상 인식을 수행하는 단계 및 상기 스코어 마진이 상기 임계값보다 작을 경우 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하는 단계를 포함할 수 있다.
한편, 상기 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계는, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계를 포함할 수 있다.
이때, 상기 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계는, 상기 스코어 마진이 상기 임계값보다 클 경우 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일하거나 상기 3D CNN보다 더 얕은 네트워크에 입력하는 단계 및 상기 스코어 마진이 상기 임계값보다 작을 경우 상기 제1 영상 클립의 다음 영상 클립을 상기 3D CNN보다 더 깊은 네트워크에 입력하는 단계를 포함할 수 있다.
또한, 상기 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계는, 상기 스코어 마진을 제1 임계값과 비교하여, 상기 제1 영상 클립들을 제외한 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계 및 상기 스코어 마진을 상기 제1 임계값과 다른 제2 임계값과 비교하여, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계를 포함할 수 있다.
상기 결과값들을 획득하는 단계는, 상기 소프트맥스 함수를 연산하여 획득된 결과값들을 메모리(memory)에 누적하여 저장하는 단계를 더 포함할 수 있다.
상기 임계값은, 영상 인식을 수행하는 단말의 종류, 연산 능력, 입력 영상의 종류, 입력 영상의 해상도, 입력 영상을 구성하는 프레임 수 중 적어도 하나에 따라 결정될 수 있다.
상기 입력 영상을 구성하는 영상 클립들 각각은, 상기 입력 영상을 구성하는 복수의 프레임 중에서 미리 설정된 개수의 시간적으로 연속한 프레임들로 구성될 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, 3D CNN을 이용한 고속 영상 인식 장치를 제공한다.
3D CNN을 이용한 고속 영상 인식 장치는, 적어도 하나의 프로세서(processor), 및 상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함할 수 있다.
상기 적어도 하나의 단계는, 입력 영상을 구성하는 영상 클립들 중 제1 영상 클립들을 각각 3D CNN(3-dimension Convolutional Neural Network)에 입력하는 단계, 상기 제1 영상 클립들 각각에 대하여 상기 3D CNN을 통해 소프트맥스 함수(softmax function)를 연산한 결과값들을 획득하는 단계, 획득된 결과값들을 이용하여 스코어 마진(score margin)을 산출하는 단계, 산출된 스코어 마진을 미리 설정된 임계값과 비교하여, 상기 입력 영상을 구성하는 영상 클립들 중 상기 제1 영상 클립들을 제외한 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계를 포함할 수 있다.
상기 스코어 마진은 상기 결과값들 중 가장 큰 값과 두번째로 큰 값 사이의 차분값일 수 있다.
상기 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계는, 상기 제1 영상 클립들을 제외한 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계를 포함할 수 있다.
이때, 상기 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계는, 상기 스코어 마진이 상기 임계값보다 클 경우 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하지 않고, 상기 결과값들만으로 상기 입력 영상에 대한 영상 인식을 수행하는 단계 및 상기 스코어 마진이 상기 임계값보다 작을 경우, 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하는 단계를 포함할 수 있다.
한편, 상기 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계는, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계를 포함할 수 있다.
여기서, 상기 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계는, 상기 스코어 마진이 상기 임계값보다 클 경우 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일하거나 상기 3D CNN보다 더 얕은 네트워크에 입력하는 단계 및 상기 스코어 마진이 상기 임계값보다 작으면, 상기 제1 영상 클립의 다음 영상 클립을 상기 3D CNN보다 더 깊은 네트워크에 입력하는 단계를 포함할 수 있다.
상기 결과값들을 획득하는 단계는, 상기 소프트맥스 함수를 연산하여 획득된 결과값들을 메모리(memory)에 누적하여 저장하는 단계를 더 포함할 수 있다.
상기 임계값은, 영상 인식을 수행하는 단말의 종류, 연산 능력, 입력 영상의 종류, 입력 영상의 해상도, 입력 영상을 구성하는 프레임 수 중 적어도 하나에 따라 결정될 수 있다.
상기 입력 영상을 구성하는 영상 클립들 각각은, 상기 입력 영상을 구성하는 복수의 프레임 중에서 미리 설정된 개수의 시간적으로 연속한 프레임들로 구성될 수 있다.
상기 목적을 달성하기 위한 본 발명의 또다른 측면은, 3D CNN을 이용한 고속 영상 인식 장치를 제공한다.
3D CNN을 이용한 고속 영상 인식 장치는, 적어도 하나의 프로세서(processor), 및 상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함할 수 있다.
상기 적어도 하나의 단계는, 입력 영상을 구성하는 영상 클립들 중 제1 영상 클립들을 각각 3D CNN(3-dimension Convolutional Neural Network)에 입력하는 단계, 상기 제1 영상 클립들 각각에 대하여 상기 3D CNN을 통해 소프트맥스 함수(softmax function)를 연산한 결과값들을 획득하는 단계, 획득된 결과값들을 이용하여 스코어 마진(score margin)을 산출하는 단계, 산출된 스코어 마진을 미리 설정된 제1 임계값과 비교하여, 상기 입력 영상을 구성하는 영상 클립들 중 상기 제1 영상 클립들을 제외한 나머지 영상 클립들을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계 및 상기 스코어 마진을 미리 설정된 제2 임계값과 비교하여, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계를 포함할 수 있다.
상기와 같은 본 발명에 따른 3D CNN을 이용한 고속 영상 인식 방법 및 장치를 이용할 경우에는 스코어 마진에 따라 후속 영상 클립에 대한 연산을 생략함으로써 연산 속도를 향상시키고 시스템 자원 요구사항을 낮출 수 있다.
또한, 제한적인 자원을 갖는 각종 장치에서도 3D CNN을 이용하여 영상 인식을 수행할 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 2차원 합성곱 신경망을 설명하기 위한 예시도이다.
도 2는 본 발명의 일 실시예에 따른 3D CNN을 설명하기 위한 예시도이다.
도 3a 은 본 발명의 일 실시예에 따른 스코어 마진값을 설명하기 위한 히스토그램이다.
도 3b 는 본 발명의 다른 실시예에 따른 스코어 마진값을 설명하기 위한 히스토그램이다.
도 4는 본 발명의 제1 실시예에 따른 3D CNN을 이용한 고속 영상 인식 방법에 대한 흐름도이다.
도 5는 본 발명의 제2 실시예에 따른 3D CNN을 이용하는 고속 영상 인식 방법에 대한 흐름도이다.
도 6은 본 발명의 제3 실시예에 따른 3D CNN을 이용한 고속 영상 인식 방법에 대한 흐름도이다.
도 7은 본 발명의 제1 내지 제3 실시예에 따른 3D CNN을 이용한 고속 영상 인식 장치에 대한 구성도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 2차원 합성곱 신경망을 설명하기 위한 예시도이다.
도 1을 참조하면, 2차원 합성곱 신경망(Convolutional Neural Network, 이하 CNN)의 기본적인 계층 구조를 확인할 수 있다. 구체적으로, 2차원 합성곱 신경망은 입력 이미지를 입력으로 받아 합성곱 연산을 수행하여 특징맵(feature map)을 출력하는 컨볼루셔널 계층(Convolutional layer, 10), 활성화 함수(activation function)를 이용하여 컨볼루셔널 계층(10)의 출력값을 정규화하는 활성화 계층(activation layer, 11), 활성화 계층(11)의 출력에 대하여 샘플링 또는 풀링을 수행하여 대표적 특징을 추출하는 풀링 계층(pooling layer, 12)를 포함할 수 있다. 이때, 컨볼루셔널 계층(10), 활성화 계층(11), 풀링 계층(12)의 연결 구조는 여러 세트로 반복적으로 구성될 수 있다. 또한, 합성곱 신경망은 상기 연결 구조의 후단에 풀링 계층(12)을 통해 추출된 여러 개의 특징들을 결합하는 전결합층(Fully-Connected layer, 13)과 연결되고, 소프트맥스 함수(softmax function)를 이용하여 전결합층(13)의 출력을 정규화하는 소프트 맥스 계층(Softmax layer, 14)으로 연결될 수 있다.
컨볼루셔널 계층(10)은 입력 이미지와 필터 사이의 컨볼루션 연산을 수행할 수 있다. 필터는 입력 이미지의 각 픽셀들(pixels)과 합성곱 연산을 수행하기 위한 성분값을 갖는 픽셀 단위의 영역으로 정의될 수 있다. 이때, 픽셀 단위의 영역을 필터의 크기로 지칭할 수 있으며, 필터는 일반적으로 행렬로서 표현될 수 있다. 컨볼루셔널 계층(10)은, 필터를 입력 이미지의 가로, 세로 방향으로 이동 (sliding)시키면서, 필터와 입력 이미지 사이의 컨볼루션 연산을 반복할 수 있다. 이때, 필터가 한번에 이동하는 간격을 스트라이드(stride)로 정의할 수 있다. 예를 들어 스트라이드 값이 2라면, 2개의 픽셀 간격만큼 필터가 이동하면서 입력 이미지와의 합성곱 연산을 수행할 수 있다. 또한, 컨볼루셔널 계층(convolutional layer, 10)이 반복됨에 따라 출력되는 이미지(또는 특징맵)의 크기가 작아질 수 있는데, 컨볼루셔널 계층은 출력되는 특징맵의 크기를 조절하기 위하여 패딩 과정을 수행할 수 있다. 여기서 패딩 과정은 입력 이미지의 바깥쪽 영역에 특정 값(예를 들면 0)을 채우는 과정일 수 있다.
활성화 계층(11)에서 활성화 함수는 어떠한 값(또는 행렬)으로 추출된 특징을 비선형 값으로 바꾸는 함수로서, 시그모이드(sigmoid) 함수, ReLU 함수 등이 사용될 수 있다. 도 1에서 활성화 계층(11)은 설명의 편의를 위해 컨볼루셔널 계층(10)과 별도로 도시하였으나 활성화 계층(11)이 컨볼루셔널 계층(10)에 포함되는 것으로 해석할 수도 있다.
풀링 계층(12)은 추출된 특징맵에 대하여 서브 샘플링(subsampling) 또는 풀링(pooling)을 수행하여 특징맵을 대표하는 특징을 선정하는 계층으로서, 특징맵의 일정 영역에 대하여 가장 큰 값을 추출하는 맥스 풀링(max pooling), 평균값을 추출하는 애버리지 풀링(average pooling) 등이 수행될 수 있다. 이때, 풀링 계층(12)은 활성화 계층(11) 이후에 반드시 수행되는 것이 아니라 선택적으로 수행될 수도 있다.
전결합층(13)은 일반적으로 CNN의 마지막에 위치하며, 전결합층(13)에서는 컨볼루셔널 계층(10), 활성화 계층(11), 풀링 계층(12)을 통해 추출된 특징들을 결합하여 어떤 클래스(class)에 해당하는 지를 판단할 수 있다.
구체적으로, 전결합층(13)은 입력된 특징맵의 모든 픽셀을 벡터화하고, 각각의 파라미터 값들을 곱한 후, 연산 결과들을 종합하여 가장 큰 값을 갖는 클래스를 결과로 출력할 수 있다. 소프트맥스 계층(14)은, 소프트맥스 함수를 사용하여 전결합층(13)에서의 연산 결과 값을 0과 1 사이의 확률 값으로 표현할 수 있다. 예를 들어, 소프트맥스 함수는 입력된 값을 0~1사이의 값으로 모두 정규화하며 출력 값들의 총합은 항상 1이 되는 특성을 가진 함수일 수 있다. 도 1에서, 소프트맥스 계층(14)은 설명의 편의를 위해 전결합층(13)과 별도로 도시하였으나 전결합층(13)에 포함되는 것으로 해석할 수도 있다.
도 2는 본 발명의 일 실시예에 따른 3D CNN을 설명하기 위한 예시도이다.
3차원 컨볼루션 신경망(3-dimension Convolutional Neural Network, 이하 3D CNN)은 도 1에 따른 2차원 합성곱 신경망을 시간축으로 한 차원 확장시킨 인공 신경망으로 해석할 수 있다. 도 1에 따른 2차원 합성곱 신경망은 일반적으로 이미지를 입력으로 받고, 입력된 이미지 상의 공간적인 특성을 통해 입력된 이미지를 분류하거나 입력된 이미지 내부의 객체를 식별하는 등과 같은 용도로 주로 사용될 수 있다.
그러나, 2차원 합성곱 신경망은 시간 정보가 포함된 동영상 데이터를 처리할 수 없는 한계를 가진다. 반면 3D CNN은 동영상 데이터의 시간 성분까지 고려하여 합성곱 연산과 풀링 연산 등을 수행하므로, 동영상 데이터의 시간적 속성을 고려하여 특징을 추출할 수 있다.
구체적으로, 도 2를 참조하면, 먼저 시간축에 따른 복수의 프레임(또는 픽쳐)으로 구성되는 동영상 데이터인 입력 영상(20)을 복수의 영상 클립(21)으로 분류하고, 각각의 영상 클립을 3D CNN(22)에 대한 입력으로 사용할 수 있다. 이때, 영상 클립(21)은 미리 설정된 개수(3D CNN이 한번에 처리할 수 있는 프레임의 수)의 프레임으로 구성되는데, 예를 들어 영상 클립(21)은 시간축상으로 연속된 프레임들로 구성될 수 있다. 또한, 각 프레임(도 2에 따른 예시에서 f=0, f=1)은 K개의 채널로 구성되고 각 채널은 W·H의 해상도를 갖는 이미지로 구성될 수 있다. 예를 들어 각 프레임이 RGB 성분의 이미지라면, 채널은 R(Red), G(Green), B(Blue) 각각의 성분에 따라 3개일 수 있다.
3D CNN(22)의 구조는 기본적으로 도 1에 따른 2차원 합성곱 신경망과 동일하거나 유사하지만, 시간축에 따른 영상 데이터들을 모두 이용하는 점에서 차이가 있을 수 있다. 예를 들어, 3D CNN(22)의 컨볼루셔널 계층은 2차원 컨볼루션과 마찬가지로 필터가 이미지를 스캔하듯이 움직이면서 컨볼루션 연산을 하는데, 시간축으로도 스트라이드(stride) 값만큼 이동하여 컨볼루션 연산을 수행할 수 있다. 또한, 3D CNN(22)에 따른 풀링 계층은 도 1에서 설명한 풀링 계층(12)을 시간축으로 한 차원 확장된 형태로, 시간축에 따른 픽셀값들을 모두 이용할 수 있다. 3D CNN(22)에 따른 전결합 계층은 도 1에 따른 전결합 계층(13)과 마찬가지로 마지막 특성맵에 존재하는 모든 픽셀을 벡터화하여 파라미터와의 가중합을 구하며, 3D CNN(22)에 따른 소프맥스 계층은 도 1에 따른 소프트맥스 계층(14)과 마찬가지로 동작할 수 있다.
이처럼, 3D CNN(22)은 시간 축상의 영상 데이터를 함께 고려하여 학습을 수행하기 때문에 시간적으로 변화하는 사람의 동작을 학습하는데 유리할 수 있다. 다만, 시간 축상의 영상 데이터들을 함께 고려해야 하므로, 2차원 합성곱 신경망보다 더 많은 파라미터와 연산량이 필요한 문제가 있다.
따라서, 본 발명에서는 3D CNN에 따른 연산량을 줄이고, 고속으로 영상 인식을 수행할 수 있는 방법을 제안한다.
일반적인 3차원 CNN에서는 도 2와 같이 입력 영상을 구성하는 모든 영상 클립들에 대하여 동일한 3D CNN을 통해 소프트맥스 값을 산출하고, 산출된 소프트맥스 값을 이용하여 영상을 인식한다. 그러나, 모든 영상 클립에 대해서 3D CNN을 통한 소프트맥스 값을 산출할 경우 연산량이 많기 때문에 연산속도가 저하되는 문제가 있다. 특히, 제한적인 연산 자원만을 사용할 수 있는 소형 단말에서는 과도한 연산량을 감당하기 어렵기 때문에 연산량을 줄이고 고속으로 영상을 인식할 수 있는 방법이 요구된다.
본 발명의 일 실시예에서는 이러한 문제점을 해결하기 위한 수단으로서, 스코어 마진(score margin)이라는 개념을 정의할 수 있다. 스코어 마진(score margin)은 다음의 수학식 1로 정의할 수 있다.
상기 수학식 1을 참조하면, 스코어 마진(score margin)은 지금까지 3D CNN을 통해 각 영상 클립에 대하여 소프트맥스 함수를 산출한 결과값들 중에서 가장 큰 값(Vsoftmax1)과 두 번째로 큰 값(Vsoftmax2) 사이의 차분값으로 정의할 수 있다. 이때, 소프트 맥스 함수를 통하여 산출된 값은 0과 1 사이의 값을 가지므로, 스코어 마진도 0과 1 사이의 값을 가질 수 있다.
수학식 1에 따른 스코어 마진이 영상 인식의 성공과 실패에 얼마나 영향이 있는지 파악하기 위하여, 도 3a 및 도 3b와 같이, UCF101 데이터 셋을 대상으로 스코어 마진의 결과 그래프를 산출하였다.
도 3a은 본 발명의 일 실시예에 따른 스코어 마진값을 설명하기 위한 히스토그램이다.
도 3a를 참조하면, 영상 인식이 성공한 경우에 따른 영상 데이터들(세로축)의 스코어 마진값(가로축)에 대한 분포를 확인할 수 있는데, 스코어 마진값이 0.9와 1사이의 값을 갖는 데이터들이 월등히 많은 것을 알 수 있다.
도 3b는 본 발명의 다른 실시예에 따른 스코어 마진값을 설명하기 위한 히스토그램이다.
도 3b를 참조하면, 영상 인식이 실패한 경우에 따른 영상 데이터들(세로축)의 스코어 마진값(가로축)에 대한 분포를 확인할 수 있는데, 스코어 마진값이 작은 쪽에 더 많은 데이터가 분포해 있는 것을 확인할 수 있다.
따라서, 도 3a와 도 3b를 종합하면, 스코어 마진값이 충분히 크다면 현재 3D CNN을 통해 분석한 영상 클립들만으로도 입력 영상에 대한 영상 인식이 성공한 것으로 판단할 수 있어 이후의 영상 클립들에 대해 추가로 영상 인식을 수행할 필요성이 낮다. 이하에서는, 현재까지 3D CNN에 영상 클립들을 입력하여 산출한 스코어 마진값을 평가하여 영상 인식이 성공한 것으로 판단된 경우, 후속 영상 클립들을 3D CNN에 입력하는 과정을 생략하거나, 연산 복잡도가 낮은 3D CNN을 이용하여 후속 영상 클립에 대한 분석을 수행하는 방법을 제안한다.
도 4는 본 발명의 제1 실시예에 따른 3D CNN을 이용한 고속 영상 인식 방법에 대한 흐름도이다.
도 4를 참조하면, 본 발명의 제1 실시예에 따른 3D CNN을 이용한 고속 영상 인식 방법은, 입력 영상을 구성하는 영상 클립들 중 제1 영상 클립들을 각각 3D CNN(3-dimension Convolutional Neural Network)에 입력하는 단계(S100), 상기 제1 영상 클립들 각각에 대하여 상기 3D CNN을 통해 소프트맥스 함수(softmax function)를 연산한 결과값들을 획득하는 단계(S110), 획득된 결과값들을 이용하여 스코어 마진(score margin)을 산출하는 단계(S120), 산출된 스코어 마진을 미리 설정된 임계값과 비교하는 단계(S130) 및 상기 비교하는 단계에 대한 응답으로, 상기 입력 영상을 구성하는 영상 클립들 중 상기 제1 영상 클립들을 제외한 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계(S140)를 포함할 수 있다.
여기서 제1 영상 클립들은, 3D CNN에 입력할 최초 하나의 영상 클립을 의미할 수도 있고, 최초 영상 클립부터 복수 개의 영상 클립을 의미할 수도 있다.
상기 스코어 마진은 상기 결과값들 중 가장 큰 값과 두번째로 큰 값 사이의 차분값일 수 있다. 예를 들어 스코어 마진은 수학식 1에 따라 정의할 수 있다.
상기 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계(S140)는, 상기 스코어 마진이 상기 임계값보다 크면, 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하지 않고, 상기 결과값들만으로 상기 입력 영상에 대한 영상 인식을 수행하는 단계를 포함할 수 있다. 따라서, 제1 영상 클립들에 대한 3D CNN의 분석만으로 영상 인식 결과를 최종적으로 도출하고 제1 영상 클립들 이후의 영상 클립에 대한 분석은 생략할 수 있다.
상기 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계(S140)는, 상기 스코어 마진이 상기 임계값보다 작으면, 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하는 단계를 포함할 수 있다.
따라서, 제1 영상 클립들 이후의 영상 클립들이 입력될 때마다 반복하여 스코어 마진을 구하고 임계값 비교를 수행함으로써, 다음 영상 클립을 입력할지 현재 단계에서 영상 인식 결과를 최종적으로 도출하고 영상 인식을 종료할지 여부를 결정할 수 있다.
상기 결과값들을 획득하는 단계(S110)는, 상기 소프트맥스 함수를 연산하여 획득된 결과값들을 메모리(memory)에 누적하여 저장하는 단계를 더 포함할 수 있다. 즉, 결과값들은 계속하여 누적하여 저장함으로써, 저장된 결과값들에 다음 영상 클립이 3D CNN에 입력되어 연산된 소프트맥스 함수의 결과값을 추가로 포함하여 단계 S120에 따른 스코어 마진을 산출할 수 있다.
상기 임계값은, 영상 인식을 수행하는 단말의 종류, 연산 능력, 입력 영상의 종류, 입력 영상의 해상도, 입력 영상을 구성하는 프레임 수 중 적어도 하나에 따라 결정될 수 있다.
상기 입력 영상을 구성하는 영상 클립들 각각은, 상기 입력 영상을 구성하는 복수의 프레임 중에서 미리 설정된 개수의 시간적으로 연속한 프레임들로 구성될 수 있다.
도 5는 본 발명의 제2 실시예에 따른 3D CNN을 이용하는 고속 영상 인식 방법에 대한 흐름도이다.
도 5를 참조하면, 본 발명의 제2 실시예에 따른 3D CNN(3-dimension Convolutional Neural Network)을 이용하는 고속 영상 인식 방법은, 입력 영상을 구성하는 영상 클립들 중 제1 영상 클립들을 각각 3D CNN(3-dimension Convolutional Neural Network)에 입력하는 단계(S200), 상기 제1 영상 클립들 각각에 대하여 상기 3D CNN을 통해 소프트맥스 함수(softmax function)를 연산한 결과값들을 획득하는 단계(S210), 획득된 결과값들을 이용하여 스코어 마진(score margin)을 산출하는 단계(S220), 산출된 스코어 마진을 미리 설정된 임계값과 비교하는 단계(S230) 및 상기 비교하는 단계에 대한 응답으로, 상기 입력 영상을 구성하는 영상 클립들 중 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계(S240)를 포함할 수 있다.
여기서 제1 영상 클립들은, 3D CNN에 입력할 최초 하나의 영상 클립을 의미할 수도 있고, 최초 영상 클립부터 복수 개의 영상 클립을 의미할 수도 있다.
상기 스코어 마진은 상기 결과값들 중 가장 큰 값과 두번째로 큰 값 사이의 차분값일 수 있다. 예를 들어 스코어 마진은 수학식 1에 따라 정의할 수 있다.
상기 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계(S240)는, 상기 스코어 마진이 상기 임계값보다 크면, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일하거나 상기 3D CNN보다 더 얕은 네트워크에 입력하는 단계를 포함할 수 있다. 즉, 스코어 마진이 임계값보다 크다면 현재 입력된 영상 클립들로 추론한 영상 인식 결과가 옳았을 가능성이 높기 때문에, 다음 영상 클립은 현재 추론에 사용한 3D CNN과 동일하거나 더 얕은 네트워크에 입력함으로써 연산 속도를 향상 시킬 수 있다. 이때, 얕은 네트워크라는 의미는 컨볼루셔널 계층의 개수가 작거나 연산 복잡도가 낮은 네트워크를 의미할 수 있다.
상기 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계(S240)는, 상기 스코어 마진이 상기 임계값보다 작으면, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN보다 더 깊은 네트워크에 입력하는 단계를 포함할 수 있다. 즉, 스코어 마진이 임계값보다 작다면 현재 입력된 영상 클립들로 추론한 영상 인식 결과가 틀렸을 가능성이 높기 때문에, 다음 영상 클립은 현재 추론에 사용한 3D CNN보다 더 깊은 네트워크에 입력함으로써 연산 속도를 향상 시킬 수 있다. 이때, 깊은 네트워크라는 의미는 컨볼루셔널 계층의 개수가 많거나 연산 복잡도가 높은 네트워크를 의미할 수 있다.
상기 결과값들을 획득하는 단계(S210)는, 상기 소프트맥스 함수를 연산하여 획득된 결과값들을 메모리(memory)에 누적하여 저장하는 단계를 더 포함할 수 있다. 즉, 결과값들은 계속하여 누적하여 저장하고, 기존에 저장한 결과값들에 다음 영상 클립에 대한 소프트맥스 함수의 결과값을 추가로 포함함으로써, 단계 S220에 따른 스코어 마진을 산출할 수 있다.
상기 임계값은, 영상 인식을 수행하는 단말의 종류, 연산 능력, 입력 영상의 종류, 입력 영상의 해상도, 입력 영상을 구성하는 프레임 수 중 적어도 하나에 따라 결정될 수 있다.
상기 입력 영상을 구성하는 영상 클립들 각각은, 상기 입력 영상을 구성하는 복수의 프레임 중에서 미리 설정된 개수의 시간적으로 연속한 프레임들로 구성될 수 있다.
단계 S240에서 다음 영상 클립을 입력할 네트워크가 결정되었다면, 제1 영상 클립들의 다음 영상을 단계 S240에서 결정된 네트워크에 입력하여 단계 S210부터 단계 S240에 따른 과정을 반복함으로써, 입력 영상을 구성하는 영상 클립 모두에 대한 네트워크를 동적으로 결정할 수 있다.
또한, 단계 S240에서 다음 영상 클립이 마지막 영상 클립인 경우에는 마지막 영상 클립을 단계 S240에서 결정된 네트워크에 입력하여 소프트맥스 함수를 연산하고, 그동안 연산한 소프트맥스 함수의 결과값들을 종합하여 최종적으로 영상 인식 결과를 도출함으로써 영상 인식을 종료할 수 있다.
한편, 도 4 및 도 5에 따른 제1 실시예와 제2 실시예는 서로 결합되어 제3 실시예로 구현될 수 있다.
실시예에 따라 보다 구체적으로 설명하면, 제1 실시예와 제2 실시예 모두 본 발명에서 정의하는 스코어 마진을 기반으로 이후의 연산을 생략하거나 적용할 네트워크를 달리할 수 있다. 따라서, 제1 실시예에 따른 단계 S100 내지 S120를 통해 산출된 스코어 마진을 제1 임계값과 비교함으로써 제1 실시예에 따른 단계 S140을 적용하고, 단계 S100 내지 S120를 통해 산출된 스코어 마진을 제2 임계값과 비교함으로써 제2 실시예에 따른 단계 S240을 적용하는 제3 실시예를 수행할 수 있다. 이때, 제1 임계값과 제2 임계값은 서로 다른 값으로 설정할 수 있으나, 동일한 값으로 설정하는 것을 배제하지 않는다. 상기 제3 실시예는 하기 도 6을 참조하여 보다 구체적으로 기술하겠다.
도 6은 본 발명의 제3 실시예에 따른 3D CNN을 이용한 고속 영상 인식 방법에 대한 흐름도이다.
도 6을 참조하면, 본 발명의 제3 실시예에 따른 3D CNN을 이용한 고속 영상 인식 방법은, 입력 영상을 구성하는 영상 클립들 중 제1 영상 클립들을 각각 3D CNN(3-dimension Convolutional Neural Network)에 입력하는 단계(S300), 상기 제1 영상 클립들 각각에 대하여 상기 3D CNN을 통해 소프트맥스 함수(softmax function)를 연산한 결과값들을 획득하는 단계(S310), 획득된 결과값들을 이용하여 스코어 마진(score margin)을 산출하는 단계(S320), 산출된 스코어 마진을 미리 설정된 제1 임계값과 비교하여, 상기 입력 영상을 구성하는 영상 클립들 중 상기 제1 영상 클립들을 제외한 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계(S330) 및 산출된 스코어 마진을 미리 설정된 제2 임계값과 비교하여, 상기 입력 영상을 구성하는 영상 클립들 중 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계(S340)를 포함할 수 있다.
여기서 제1 영상 클립들은, 3D CNN에 입력할 최초 하나의 영상 클립을 의미할 수도 있고, 최초 영상 클립부터 복수 개의 영상 클립을 의미할 수도 있다.
또한, 상기 스코어 마진은 상기 결과값들 중 가장 큰 값과 두번째로 큰 값 사이의 차분값일 수 있다. 예를 들어, 스코어 마진은 앞서 개시된 수학식 1에 따라 정의할 수 있다.
상기 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계(S330) 시 상기 스코어 마진이 상기 제1 임계값보다 크면, 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하지 않고, 상기 결과값들만으로 상기 입력 영상에 대한 영상 인식을 수행하는 단계를 포함할 수 있다. 따라서, 제1 영상 클립들에 대한 3D CNN의 분석만으로 영상 인식 결과를 최종적으로 도출하고 제1 영상 클립들 이후의 영상 클립에 대한 분석은 생략할 수 있다.
반면, 상기 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계(S330) 시 상기 스코어 마진이 상기 제1 임계값보다 작으면, 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하는 단계를 포함할 수 있다. 따라서, 제1 영상 클립들 이후의 영상 클립들이 입력될 때마다 반복하여 스코어 마진을 구하고 임계값 비교를 수행함으로써, 다음 영상 클립을 입력할지 현재 단계에서 영상 인식 결과를 최종적으로 도출하고 영상 인식을 종료할지 여부를 결정할 수 있다.
또한, 상기 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계(S340) 시, 상기 스코어 마진이 상기 제2 임계값보다 크면, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일하거나 상기 3D CNN보다 더 얕은 네트워크에 입력하는 단계를 포함할 수 있다. 즉, 앞서 도 5에서 설명한 바와 같이, 스코어 마진이 상기 제2 임계값보다 크다면 현재 입력된 영상 클립들로 추론한 영상 인식 결과가 옳았을 가능성이 높기 때문에, 다음 영상 클립은 현재 추론에 사용한 3D CNN과 동일하거나 더 얕은 네트워크에 입력함으로써 연산 속도를 향상시킬 수 있다. 이때, 얕은 네트워크라는 의미는 컨볼루셔널 계층의 개수가 작거나 연산 복잡도가 낮은 네트워크를 의미할 수 있다.
반면, 상기 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계(S340) 시, 상기 스코어 마진이 상기 제2 임계값보다 작으면, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN보다 더 깊은 네트워크에 입력하는 단계를 포함할 수 있다. 앞서 도 5에서 설명한 바와 마찬가지로, 스코어 마진이 상기 제2 임계값보다 작다면 현재 입력된 영상 클립들로 추론한 영상 인식 결과가 틀렸을 가능성이 높기 때문에, 다음 영상 클립은 현재 추론에 사용한 3D CNN보다 더 깊은 네트워크에 입력함으로써 연산 속도를 향상시킬 수 있다. 이때, 깊은 네트워크라는 의미는 컨볼루셔널 계층의 개수가 많거나 연산 복잡도가 높은 네트워크를 의미할 수 있다.
상기 결과값들을 획득하는 단계(S110)는, 상기 소프트맥스 함수를 연산하여 획득된 결과값들을 메모리(memory)에 누적하여 저장하는 단계를 더 포함할 수 있다. 즉, 결과값들은 계속하여 누적하여 저장함으로써, 저장된 결과값들에 다음 영상 클립이 3D CNN에 입력되어 연산된 소프트맥스 함수의 결과값을 추가로 포함하여 단계 S120에 따른 스코어 마진을 산출할 수 있다.
상기 임계값은, 영상 인식을 수행하는 단말의 종류, 연산 능력, 입력 영상의 종류, 입력 영상의 해상도, 입력 영상을 구성하는 프레임 수 중 적어도 하나에 따라 결정될 수 있다.
상기 입력 영상을 구성하는 영상 클립들 각각은, 상기 입력 영상을 구성하는 복수의 프레임 중에서 미리 설정된 개수의 시간적으로 연속한 프레임들로 구성될 수 있다.
도 7은 본 발명의 제1 내지 제3 실시예에 따른 3D CNN을 이용한 고속 영상 인식 장치에 대한 구성도이다.
도 7을 참조하면, 본 발명의 제1 내지 제3 실시예에 따른 3D CNN을 이용한 고속 영상 인식 장치(100)는, 적어도 하나의 프로세서(processor, 110), 및 상기 적어도 하나의 프로세서(110)가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory, 120)를 포함할 수 있다.
여기서 적어도 하나의 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다.
예를 들어, 본 발명의 제1 실시예 및 제2 실시예에 따른 3D CNN을 이용한 고속 영상 인식 장치의 프로세서(110)가 수행하는 적어도 하나의 단계는, 입력 영상을 구성하는 영상 클립들 중 제1 영상 클립들을 각각 3D CNN(3-dimension Convolutional Neural Network)에 입력하는 단계, 상기 제1 영상 클립들 각각에 대하여 상기 3D CNN을 통해 소프트맥스 함수(softmax function)를 연산한 결과값들을 획득하는 단계, 획득된 결과값들을 이용하여 스코어 마진(score margin)을 산출하는 단계, 산출된 스코어 마진을 미리 설정된 임계값과 비교하여, 상기 입력 영상을 구성하는 영상 클립들 중 상기 제1 영상 클립들을 제외한 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계를 포함할 수 있다.
여기서, 상기 스코어 마진은 상기 결과값들 중 가장 큰 값과 두번째로 큰 값 사이의 차분값일 수 있다.
제1 실시예에 따르면, 상기 적어도 하나의 영상 클립의 추가 입력 여부 결정하는 단계는, 상기 제1 영상 클립들을 제외한 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계를 포함할 수 있다.
상기 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계는 상기 스코어 마진이 상기 임계값보다 클 경우, 프로세서(110)는 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하지 않고, 상기 결과값들만으로 상기 입력 영상에 대한 영상 인식을 수행하는 단계를 포함할 수 있다.
한편, 상기 스코어 마진이 상기 임계값보다 작을 경우, 프로세서(110)는 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하는 단계를 포함할 수 있다.
제2 실시예에 따르면, 상기 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계는, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계를 포함할 수 있다.
여기서, 상기 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계는 상기 스코어 마진이 상기 임계값보다 클 경우, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일하거나 상기 3D CNN보다 더 얕은 네트워크에 입력하는 단계를 포함할 수 있다.
한편, 상기 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계는 상기 스코어 마진이 상기 임계값보다 작을 경우, 상기 제1 영상 클립의 다음 영상 클립을 상기 3D CNN보다 더 깊은 네트워크에 입력하는 단계를 포함할 수 있다.
본 발명의 제1 실시예 및 제2 실시예에 따른 3D CNN을 이용한 고속 영상 인식 장치의 프로세서(110)의 적어도 하나의 단계 중 상기 결과값들을 획득하는 단계는, 상기 소프트맥스 함수를 연산하여 획득된 결과값들을 메모리(memory)에 누적하여 저장하는 단계를 더 포함할 수 있다.
또한, 상기 임계값은, 영상 인식을 수행하는 단말의 종류, 연산 능력, 입력 영상의 종류, 입력 영상의 해상도, 입력 영상을 구성하는 프레임 수 중 적어도 하나에 따라 결정될 수 있다.
상기 입력 영상을 구성하는 영상 클립들 각각은, 상기 입력 영상을 구성하는 복수의 프레임 중에서 미리 설정된 개수의 시간적으로 연속한 프레임들로 구성될 수 있다.
한편, 본 발명의 제3 실시예에 따른 3D CNN을 이용한 고속 영상 인식 장치의 프로세서(110)가 수행하는 적어도 하나의 단계는, 입력 영상을 구성하는 영상 클립들 중 제1 영상 클립들을 각각 3D CNN(3-dimension Convolutional Neural Network)에 입력하는 단계, 상기 제1 영상 클립들 각각에 대하여 상기 3D CNN을 통해 소프트맥스 함수(softmax function)를 연산한 결과값들을 획득하는 단계, 획득된 결과값들을 이용하여 스코어 마진(score margin)을 산출하는 단계, 산출된 스코어 마진을 미리 설정된 제1 임계값과 비교하여, 상기 입력 영상을 구성하는 영상 클립들 중 상기 제1 영상 클립들을 제외한 나머지 영상 클립들을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계 및 상기 스코어 마진을 미리 설정된 제2 임계값과 비교하여, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계를 포함할 수 있다.
여기서, 상기 스코어 마진은 상기 결과값들 중 가장 큰 값과 두번째로 큰 값 사이의 차분값일 수 있다.
또한, 산출된 스코어 마진을 미리 설정된 제1 임계값과 비교하여, 상기 입력 영상을 구성하는 영상 클립들 중 상기 제1 영상 클립들을 제외한 나머지 영상 클립들을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계는 상기 스코어 마진이 상기 제1 임계값보다 클 경우, 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하지 않고, 상기 결과값들만으로 상기 입력 영상에 대한 영상 인식을 수행하는 단계를 포함할 수 있다.
한편, 상기 스코어 마진이 상기 제1 임계값보다 작을 경우, 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하는 단계를 포함할 수 있다.
또한, 상기 스코어 마진을 미리 설정된 제2 임계값과 비교하여, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계 시 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계를 포함할 수 있다.
여기서, 상기 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계 시 상기 스코어 마진이 상기 제2 임계값보다 클 경우, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일하거나 상기 3D CNN보다 더 얕은 네트워크에 입력하는 단계를 포함할 수 있다.
한편, 상기 스코어 마진이 상기 제2 임계값보다 작을 경우, 상기 제1 영상 클립의 다음 영상 클립을 상기 3D CNN보다 더 깊은 네트워크에 입력하는 단계를 포함할 수 있다.
메모리(120) 및 저장 장치(160) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
또한, 3D CNN을 이용한 고속 영상 인식 장치(100)는 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(130)를 포함할 수 있있으며, 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. 3D CNN을 이용한 고속 영상 인식 장치(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다.
3D CNN을 이용한 고속 영상 인식 장치(100)는, 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등으로 제공될 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (20)
- 3D CNN(3-dimension Convolutional Neural Network)을 이용한 고속 영상 인식 방법으로,입력 영상을 구성하는 영상 클립들 중 제1 영상 클립들을 각각 3D CNN에 입력하는 단계;상기 제1 영상 클립들 각각에 대하여 상기 3D CNN을 통해 소프트맥스 함수(softmax function)를 연산한 결과값들을 획득하는 단계;획득된 결과값들을 이용하여 스코어 마진(score margin)을 산출하는 단계; 및산출된 스코어 마진을 미리 설정된 임계값과 비교하여, 상기 입력 영상을 구성하는 영상 클립들 중 상기 제1 영상 클립들을 제외한 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계를 포함하는, 고속 영상 인식 방법.
- 청구항 1에서,상기 스코어 마진은 상기 결과값들 중 가장 큰 값과 두번째로 큰 값 사이의 차분값인, 고속 영상 인식 방법.
- 청구항 1에서,상기 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계는,상기 제1 영상 클립들을 제외한 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계를 포함하는, 고속 영상 인식 방법.
- 청구항 3에서,상기 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계는,상기 스코어 마진이 상기 임계값보다 클 경우, 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하지 않고, 상기 결과값들만으로 상기 입력 영상에 대한 영상 인식을 수행하는 단계; 및상기 스코어 마진이 상기 임계값보다 작을 경우, 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하는 단계를 포함하는, 고속 영상 인식 방법.
- 청구항 1에서.상기 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계는,상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계를 포함하는, 고속 영상 인식 방법.
- 청구항 5에서,상기 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계는,상기 스코어 마진이 상기 임계값보다 클 경우, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일하거나 상기 3D CNN보다 더 얕은 네트워크에 입력하는 단계; 및상기 스코어 마진이 상기 임계값보다 작을 경우, 상기 제1 영상 클립의 다음 영상 클립을 상기 3D CNN보다 더 깊은 네트워크에 입력하는 단계를 포함하는, 고속 영상 인식 방법.
- 청구항 1항에서,상기 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계는,상기 스코어 마진을 제1 임계값과 비교하여, 상기 제1 영상 클립들을 제외한 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계; 및상기 스코어 마진을 상기 제1 임계값과 다른 제2 임계값과 비교하여, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계를 포함하는, 고속 영상 인식 방법.
- 청구항 1에서,상기 결과값들을 획득하는 단계는,상기 소프트맥스 함수를 연산하여 획득된 결과값들을 메모리(memory)에 누적하여 저장하는 단계를 더 포함하는, 고속 영상 인식 방법.
- 청구항 1에서,상기 임계값은,영상 인식을 수행하는 단말의 종류, 연산 능력, 입력 영상의 종류, 입력 영상의 해상도, 입력 영상을 구성하는 프레임 수 중 적어도 하나에 따라 결정되는, 고속 영상 인식 방법.
- 청구항 1에서,상기 입력 영상을 구성하는 영상 클립들 각각은,상기 입력 영상을 구성하는 복수의 프레임 중에서 미리 설정된 개수의 시간적으로 연속한 프레임들로 구성되는, 고속 영상 인식 방법.
- 3D CNN(3-dimension Convolutional Neural Network)을 이용한 고속 영상 인식 장치로서,적어도 하나의 프로세서(processor); 및상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함하고,상기 적어도 하나의 단계는,입력 영상을 구성하는 영상 클립들 중 제1 영상 클립들을 각각 3D CNN에 입력하는 단계;상기 제1 영상 클립들 각각에 대하여 상기 3D CNN을 통해 소프트맥스 함수(softmax function)를 연산한 결과값들을 획득하는 단계;획득된 결과값들을 이용하여 스코어 마진(score margin)을 산출하는 단계;산출된 스코어 마진을 미리 설정된 임계값과 비교하여, 상기 입력 영상을 구성하는 영상 클립들 중 상기 제1 영상 클립들을 제외한 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계를 포함하는, 고속 영상 인식 장치.
- 청구항 11에서,상기 스코어 마진은 상기 결과값들 중 가장 큰 값과 두번째로 큰 값 사이의 차분값인, 고속 영상 인식 장치.
- 청구항 11에서,상기 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계는,상기 제1 영상 클립들을 제외한 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계를 포함하는, 고속 영상 인식 장치.
- 청구항 13에서,상기 나머지 영상 클립들을 상기 3D CNN에 입력할지 여부를 결정하는 단계는,상기 스코어 마진이 상기 임계값보다 클 경우, 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하지 않고, 상기 결과값들만으로 상기 입력 영상에 대한 영상 인식을 수행하는 단계; 및상기 스코어 마진이 상기 임계값보다 작을 경우, 상기 제1 영상 클립들 이후의 영상 클립을 상기 3D CNN에 입력하는 단계를 포함하는, 고속 영상 인식 장치.
- 청구항 11에서,상기 적어도 하나의 영상 클립의 추가 입력 여부를 결정하는 단계는,상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계를 포함하는, 고속 영상 인식 장치.
- 청구항 15에서,상기 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계는,상기 스코어 마진이 상기 임계값보다 클 경우, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일하거나 상기 3D CNN보다 더 얕은 네트워크에 입력하는 단계; 및상기 스코어 마진이 상기 임계값보다 작을 경우, 상기 제1 영상 클립의 다음 영상 클립을 상기 3D CNN보다 더 깊은 네트워크에 입력하는 단계를 포함하는, 고속 영상 인식 장치.
- 청구항 11에서,상기 결과값들을 획득하는 단계는,상기 소프트맥스 함수를 연산하여 획득된 결과값들을 메모리(memory)에 누적하여 저장하는 단계를 더 포함하는, 고속 영상 인식 장치.
- 청구항 11에서,상기 임계값은,영상 인식을 수행하는 단말의 종류, 연산 능력, 입력 영상의 종류, 입력 영상의 해상도, 입력 영상을 구성하는 프레임 수 중 적어도 하나에 따라 결정되는, 고속 영상 인식 장치.
- 청구항 11에서,상기 입력 영상을 구성하는 영상 클립들 각각은,상기 입력 영상을 구성하는 복수의 프레임 중에서 미리 설정된 개수의 시간적으로 연속한 프레임들로 구성되는, 고속 영상 인식 장치.
- 3D CNN(3-dimension Convolutional Neural Network)을 이용한 고속 영상 인식 장치로서,적어도 하나의 프로세서(processor); 및상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함하고,상기 적어도 하나의 단계는,입력 영상을 구성하는 영상 클립들 중 제1 영상 클립들을 각각 3D CNN에 입력하는 단계;상기 제1 영상 클립들 각각에 대하여 상기 3D CNN을 통해 소프트맥스 함수(softmax function)를 연산한 결과값들을 획득하는 단계;획득된 결과값들을 이용하여 스코어 마진(score margin)을 산출하는 단계;산출된 스코어 마진을 미리 설정된 제1 임계값과 비교하여, 상기 입력 영상을 구성하는 영상 클립들 중 상기 제1 영상 클립들을 제외한 나머지 영상 클립들을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계; 및상기 스코어 마진을 미리 설정된 제2 임계값과 비교하여, 상기 제1 영상 클립들의 다음 영상 클립을 상기 3D CNN과 동일한 네트워크에 입력할지 여부를 결정하는 단계를 포함하는, 고속 영상 인식 장치.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/422,161 US12165397B2 (en) | 2019-01-15 | 2020-01-14 | Method and device for high-speed image recognition using 3D CNN |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020190005200A KR102263005B1 (ko) | 2019-01-15 | 2019-01-15 | 동적으로 3d cnn을 이용하는 고속 영상 인식 방법 및 장치 |
| KR1020190005188A KR102263017B1 (ko) | 2019-01-15 | 2019-01-15 | 3d cnn을 이용한 고속 영상 인식 방법 및 장치 |
| KR10-2019-0005188 | 2019-01-15 | ||
| KR10-2019-0005200 | 2019-01-15 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020149601A1 true WO2020149601A1 (ko) | 2020-07-23 |
Family
ID=71613391
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2020/000647 Ceased WO2020149601A1 (ko) | 2019-01-15 | 2020-01-14 | 3d cnn을 이용한 고속 영상 인식 방법 및 장치 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US12165397B2 (ko) |
| WO (1) | WO2020149601A1 (ko) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022217630A1 (zh) * | 2021-04-15 | 2022-10-20 | 华北电力大学扬中智能电气研究中心 | 一种车速确定方法、装置、设备和介质 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102020202964A1 (de) * | 2020-03-09 | 2021-09-09 | Continental Automotive Gmbh | Die Erfindung betrifft ein Verfahren zur Erhöhung der Sicherheit von Fahrfunktionen. |
| US12026942B2 (en) * | 2020-08-20 | 2024-07-02 | Si Analytics Co., Ltd | Method to detect object |
| US11532147B2 (en) * | 2020-09-25 | 2022-12-20 | Microsoft Technology Licensing, Llc | Diagnostic tool for deep learning similarity models |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20160083900A (ko) * | 2013-11-04 | 2016-07-12 | 페이스북, 인크. | 얼굴 표현을 위한 시스템 및 방법 |
| KR20170000748A (ko) * | 2015-06-24 | 2017-01-03 | 삼성전자주식회사 | 얼굴 인식 방법 및 장치 |
| JP2017538999A (ja) * | 2014-12-17 | 2017-12-28 | ノキア テクノロジーズ オーユー | ニューラルネットワークによるオブジェクト検出 |
| US20180232947A1 (en) * | 2017-02-11 | 2018-08-16 | Vayavision, Ltd. | Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types |
| US20180260997A1 (en) * | 2017-03-10 | 2018-09-13 | Siemens Healthcare Gmbh | Consistent 3d rendering in medical imaging |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10402697B2 (en) * | 2016-08-01 | 2019-09-03 | Nvidia Corporation | Fusing multilayer and multimodal deep neural networks for video classification |
| US9836853B1 (en) * | 2016-09-06 | 2017-12-05 | Gopro, Inc. | Three-dimensional convolutional neural networks for video highlight detection |
| KR102433393B1 (ko) * | 2017-12-12 | 2022-08-17 | 한국전자통신연구원 | 동영상 콘텐츠 내의 인물을 인식하는 장치 및 방법 |
-
2020
- 2020-01-14 WO PCT/KR2020/000647 patent/WO2020149601A1/ko not_active Ceased
- 2020-01-14 US US17/422,161 patent/US12165397B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20160083900A (ko) * | 2013-11-04 | 2016-07-12 | 페이스북, 인크. | 얼굴 표현을 위한 시스템 및 방법 |
| JP2017538999A (ja) * | 2014-12-17 | 2017-12-28 | ノキア テクノロジーズ オーユー | ニューラルネットワークによるオブジェクト検出 |
| KR20170000748A (ko) * | 2015-06-24 | 2017-01-03 | 삼성전자주식회사 | 얼굴 인식 방법 및 장치 |
| US20180232947A1 (en) * | 2017-02-11 | 2018-08-16 | Vayavision, Ltd. | Method and system for generating multidimensional maps of a scene using a plurality of sensors of various types |
| US20180260997A1 (en) * | 2017-03-10 | 2018-09-13 | Siemens Healthcare Gmbh | Consistent 3d rendering in medical imaging |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022217630A1 (zh) * | 2021-04-15 | 2022-10-20 | 华北电力大学扬中智能电气研究中心 | 一种车速确定方法、装置、设备和介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20220108545A1 (en) | 2022-04-07 |
| US12165397B2 (en) | 2024-12-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2021107610A1 (en) | Method and system for generating a tri-map for image matting | |
| WO2019050360A1 (en) | ELECTRONIC DEVICE AND METHOD FOR AUTOMATICALLY SEGMENTING TO BE HUMAN IN AN IMAGE | |
| CN111739027A (zh) | 一种图像处理方法、装置、设备及可读存储介质 | |
| WO2022131497A1 (ko) | 이미지 생성을 위한 학습 장치 및 방법과 이미지 생성 장치 및 방법 | |
| WO2018212494A1 (ko) | 객체를 식별하는 방법 및 디바이스 | |
| WO2019231217A1 (en) | Method and system for dnn based imaging | |
| KR102263017B1 (ko) | 3d cnn을 이용한 고속 영상 인식 방법 및 장치 | |
| WO2020116768A1 (ko) | 영상 처리 장치 및 그 동작방법 | |
| CN114926876A (zh) | 图像关键点检测方法、装置、计算机设备和存储介质 | |
| WO2023282569A1 (en) | Method and electronic device for generating optimal neural network (nn) model | |
| US20170116741A1 (en) | Apparatus and Methods for Video Foreground-Background Segmentation with Multi-View Spatial Temporal Graph Cuts | |
| WO2022092620A1 (en) | Method and system operating an imaging system in an image capturing device based on artificial intelligence techniques | |
| US12165397B2 (en) | Method and device for high-speed image recognition using 3D CNN | |
| WO2023277472A1 (ko) | 반려 동물의 식별을 위한 객체를 촬영하기 위한 방법 및 전자 장치 | |
| CN111160240A (zh) | 图像对象的识别处理方法、装置及智能设备、存储介质 | |
| CN111353536A (zh) | 图像的标注方法、装置、可读介质和电子设备 | |
| KR102263005B1 (ko) | 동적으로 3d cnn을 이용하는 고속 영상 인식 방법 및 장치 | |
| WO2024014870A1 (en) | Method and electronic device for interactive image segmentation | |
| WO2023080763A1 (en) | Method and electronic device for segmenting objects in scene | |
| WO2020050550A1 (en) | Methods and systems for performing editing operations on media | |
| WO2024143690A1 (ko) | 특징 벡터 저장 기반 클래스 증분 시멘틱 분할 학습 장치 및 방법 | |
| WO2023090596A1 (ko) | 얼굴 합성 방법 및 시스템 | |
| CN116524532A (zh) | 动作识别方法、装置、存储介质以及电子设备 | |
| WO2023096133A1 (ko) | 경량화된 자세 추정 모델 제공 장치 및 방법 | |
| WO2024010133A1 (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: 20742074 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 20742074 Country of ref document: EP Kind code of ref document: A1 |