WO2019124602A1 - 객체 추적 방법 및 이를 수행하는 장치들 - Google Patents

객체 추적 방법 및 이를 수행하는 장치들 Download PDF

Info

Publication number
WO2019124602A1
WO2019124602A1 PCT/KR2017/015350 KR2017015350W WO2019124602A1 WO 2019124602 A1 WO2019124602 A1 WO 2019124602A1 KR 2017015350 W KR2017015350 W KR 2017015350W WO 2019124602 A1 WO2019124602 A1 WO 2019124602A1
Authority
WO
WIPO (PCT)
Prior art keywords
video frame
particles
candidate
initial
generating
Prior art date
Application number
PCT/KR2017/015350
Other languages
English (en)
French (fr)
Inventor
티안블라디미르
김두현
Original Assignee
건국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 건국대학교 산학협력단 filed Critical 건국대학교 산학협력단
Priority to CN201780097908.0A priority Critical patent/CN111566658A/zh
Priority to US16/069,842 priority patent/US11176680B2/en
Publication of WO2019124602A1 publication Critical patent/WO2019124602A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • the following embodiments are directed to an object tracking method and apparatuses for performing the same.
  • the object tracking algorithm tracks objects through template matching. For example, the scanning window estimates a candidate near the target location of the previous frame by directly comparing the previous frame target patch with the candidate patch of the current frame.
  • CNN convolutional neural networks
  • CNN Convolution Neural Network
  • Embodiments can provide a technique with high accuracy and speed performance for object tracking by tracking an object of a video frame using a particle filter and a learned CNN model.
  • an object tracking method includes generating a plurality of candidate particles corresponding to the object to track an object of the video frame, and generating a plurality of candidate particles in the video frame based on the similarity of the plurality of candidate particles to the object. And tracking the object by creating an optimal particle corresponding to the position of the object.
  • the generating comprises generating a plurality of initial particles corresponding to the object based on the video frame and performing at least one of drift and diffusion on the plurality of initial particles to generate motion of the plurality of initial particles And generating the plurality of candidate particles by prediction.
  • the drift may be performed by varying a motion vector component for the plurality of initial particles.
  • the diffusion may be performed by varying the coordinates of the bounding box for the plurality of initial particles.
  • the generating of the plurality of initial particles may include generating the plurality of initial particles initialized to a random value using a Gaussian distribution when the video frame is an initial video frame.
  • generating the plurality of initial particles comprises generating the plurality of initial particles by resampling a plurality of candidate particles corresponding to an object of a previous video frame of the video frame if the video frame is not an initial video frame .
  • the step of generating the plurality of initial particles by resampling a plurality of candidate particles corresponding to an object of a previous video frame of the video frame comprises: selecting one of the plurality of candidate particles corresponding to the object of the previous video frame, Removing at least one candidate particle having a low weight of a plurality of candidate particles corresponding to the at least one candidate particle; and performing a plurality of substitutions corresponding to an object of the video frame initialized to a random value according to the number of the at least one candidate particle Generating the plurality of candidate particles and the plurality of replacement particles that are not removed in the previous video frame as the plurality of initial particles.
  • the tracking step comprises: calculating a similarity of the plurality of candidate particles to the object using the learned CNN model; determining a weight of the plurality of candidate particles based on the similarity; And tracking the object by generating the optimal particle at an average position of the candidate particles having the highest weight among the candidate particles of the candidate particles.
  • the pre-learned CNN model may be learned in at least one of learning through a video data set and learning through a most recently tracked video frame.
  • Learning through the video data set may be a positive patch for an object of the video data set and a learning through a negative patch for the background of the video data set.
  • Learning through the most recently tracked video frame may be a positive patch for the object of the most recently tracked video frame and a learning through a negative patch for the background of the most recently tracked video frame.
  • the tracking may further include updating the pre-learned CNN model through the tracked object.
  • An object tracking apparatus includes a communication module for receiving a video frame, a plurality of candidate particles corresponding to the object for tracking an object of the video frame, And a controller for tracking the object by generating an optimal particle corresponding to the position of the object in the video frame based on the similarity.
  • the drift may be performed by varying a motion vector component for the plurality of initial particles.
  • the diffusion may be performed by varying the coordinates of the bounding box for the plurality of initial particles.
  • the particle filter may generate the plurality of initial particles initialized to a random value using a Gaussian distribution when the video frame is an initial video frame.
  • the particle filter may generate the plurality of initial particles by resampling a plurality of candidate particles corresponding to an object of a previous video frame of the video frame if the video frame is not an initial video frame.
  • the particle filter removes at least one candidate particle having a low weight of a plurality of candidate particles corresponding to an object of the previous video frame among a plurality of candidate particles corresponding to an object of the previous video frame, Generating a plurality of replacement particles corresponding to an object of the video frame initialized to an arbitrary random value according to the number of particles, and removing a plurality of candidate particles and a plurality of replacement particles of the previous video frame, You can decide by the initial particles.
  • the controller calculates a similarity of the plurality of candidate particles to the object using a pre-learned CNN (convolutional neural network) model, determines a weight of the plurality of candidate particles based on the similarity, And a tracker for tracking the object by generating the optimal particle at an average position of the candidate particles with the highest weight among the candidate particles.
  • a pre-learned CNN convolutional neural network
  • the pre-learned CNN model may be learned in at least one of learning through a video data set and learning through a most recently tracked video frame.
  • Learning through the video data set may be a positive patch for an object of the video data set and a learning through a negative patch for the background of the video data set.
  • Learning through the most recently tracked video frame may be a positive patch for the object of the most recently tracked video frame and a learning through a negative patch for the background of the most recently tracked video frame.
  • the tracker may update the pre-learned CNN model through the tracked object.
  • Figure 1 shows a schematic block diagram of an object tracking system according to one embodiment.
  • Fig. 2 shows a schematic block diagram of the object tracking apparatus shown in Fig.
  • Figure 3 shows a schematic block diagram of the controller shown in Figure 2;
  • FIG. 4 illustrates an example of a CNN model according to an embodiment of the present invention.
  • FIG. 5 illustrates an example for illustrating an object represented by a bounding box according to an embodiment.
  • FIG. 6 is a flowchart illustrating an operation of the object tracking apparatus shown in FIG.
  • first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms.
  • the terms may be named for the purpose of distinguishing one element from another, for example without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, Similarly, the second component may also be referred to as the first component.
  • a module in this specification may mean hardware capable of performing the functions and operations according to the respective names described in this specification and may mean computer program codes capable of performing specific functions and operations , Or an electronic recording medium, e.g., a processor or a microprocessor, equipped with computer program code capable of performing certain functions and operations.
  • a module may mean a functional and / or structural combination of hardware for carrying out the technical idea of the present invention and / or software for driving the hardware.
  • Figure 1 shows a schematic block diagram of an object tracking system according to one embodiment.
  • an object tracking system 10 includes a video providing apparatus 100 and an object tracking apparatus 200.
  • the image providing apparatus 100 can capture and store images.
  • the image providing apparatus 100 photographs an image through a camera (not shown) of the image providing apparatus 100 and stores the captured image in a memory (not shown) of the image providing apparatus 100 Recording).
  • the image may be a video stream including a plurality of video frames.
  • the image providing apparatus 100 may communicate with the object tracking apparatus 200 to provide an image to the object tracking apparatus 200.
  • the image providing apparatus 100 may include an object tracking apparatus 200 based on a variety of Internet communication networks, an intranet, a local area network (LAN), a wireless LAN, Wi-Fi, LF, Xbee, Zigbee, Blue- And provide the image to the object tracking device 200.
  • LAN local area network
  • Wi-Fi wireless LAN
  • LF wireless LAN
  • Xbee Wireless LAN
  • LF local area network
  • Xbee Wireless fidelity
  • Zigbee Zigbee
  • Blue- And provide the image to the object tracking device 200.
  • the image providing apparatus 100 provides the image to the object tracking apparatus 200, but the present invention is not limited thereto.
  • various devices and software such as CCTV and the Internet, can provide images to the object tracking device 200.
  • the object tracking apparatus 200 can track an object of a video frame by generating an optimal particle corresponding to the position of the object in the video frame using the particle filter and the learned CNN model.
  • the object tracking apparatus 200 can provide a technique of tracking the object of the video frame using the particle filter and the learned CNN model, thereby providing excellent accuracy and speed performance for object tracking.
  • FIG. 2 is a schematic block diagram of the object tracking apparatus shown in FIG. 1
  • FIG. 3 is a schematic block diagram of the controller shown in FIG. 2
  • FIG. 4 is a block diagram for explaining a CNN model according to an embodiment
  • FIG. 5 illustrates an example for illustrating an object represented by a bounding box according to an embodiment.
  • the object tracking apparatus 200 includes a communication module 210, a controller 230, and a display 250.
  • the communication module 210 may receive the image and transmit the received image to the controller 230.
  • the communication module 210 may receive an image transmitted from the image providing apparatus 100, and may sequentially transmit a plurality of video frames included in the image to the controller 230.
  • the controller 230 may control the overall operation of the object tracking device 200.
  • the controller 230 may control the operation of each configuration 210 and 250.
  • the controller 230 may generate a plurality of candidate particles corresponding to the object of the video frame to track the object of the video frame.
  • a plurality of candidate particles corresponding to an object of a video frame may be generated near an object of the video frame.
  • the object of the video frame may be pre-displayed, set and recognized in the bounding box.
  • a plurality of candidate particles may be represented by a bounding box.
  • the bounding box may be a box that distinguishes the object of the video frame from the background of the video frame.
  • the controller 230 may track the object of the video frame by generating an optimal particle corresponding to the position of the object in the video frame based on the similarity of the candidate particles to the object of the video frame.
  • the optimal particle can be represented by a bounding box.
  • the controller 230 may include a particle filter 231 and a tracker 233 as shown in FIG.
  • the particle filter 231 may generate a plurality of initial particles corresponding to an object of a video frame based on the video frame.
  • the particle filter 231 may be a filter based on the sequential monte carlo method.
  • a plurality of initial particles may be generated using a state model.
  • the plurality of initial particles may be represented by a bounding box.
  • the state model can be expressed by Equation (1).
  • Equation (1) Is the coordinates of the bounding box, Is a motion vector component, Is the size of the bounding box, w is the width, and h can be the height.
  • the particle filter 231 may generate a plurality of initial particles initialized to random values using the Gaussian distribution.
  • the particle filter 231 can generate 1000 or more initial particles that are initialized to an arbitrary random value using a Gaussian distribution.
  • the Gaussian distribution may be a Gaussian distribution vector of standard deviation.
  • the number of the plurality of initial particles may be the number of Gaussian search densities enough to ensure all directions and transformations.
  • Equation (2) The standard deviation for the initial video frame can be expressed by Equation (2).
  • the Gaussian distribution vector of the standard deviation can be expressed by Equation (3).
  • the particle filter 231 may generate a plurality of initial particles by resampling a plurality of candidate particles corresponding to an object of a previous video frame of the video frame.
  • the particle filter 231 may remove at least one candidate particle having a low weight of a plurality of candidate particles corresponding to an object of a previous video frame among a plurality of candidate particles corresponding to an object of a previous video frame.
  • At least one candidate particle with a low weight may be an unreliable particle.
  • the particle filter 231 may generate a plurality of replacement particles corresponding to an object of a video frame initialized to a random value according to the number of at least one candidate particle.
  • a plurality of replacement particles may be represented by a bounding box.
  • the particle filter 231 may generate a plurality of replacement particles that have been initialized to random values according to the number of at least one candidate particle using a normal distribution with standard deviations.
  • the particle filter 231 can generate a plurality of replacement particles to maintain the trade-off of the particles and reduce the calculation amount for particle creation.
  • the particle filter 231 may determine a plurality of candidate particles and a plurality of replacement particles that have not been removed of the previous video frame as a plurality of initial particles.
  • the particle filter 231 may generate a plurality of candidate particles by predicting the motion of the plurality of initial particles by performing at least one of drift and diffusion on the plurality of initial particles.
  • the particle filter 231 may generate a plurality of candidate particles corresponding to an object of a video frame as shown in FIG.
  • the result (RESULT 1) of the first video frame of Figure 5 is the initial video frame
  • the result (RESULT 2) of the second video frame is the sixth video frame
  • the result (RESULT 4) of the fourth video frame may be the 41st video frame.
  • the drift can be performed by varying the motion vector components for a plurality of initial particles.
  • the drift may be performed by varying the motion vector components for a plurality of initial particles with arbitrary noise.
  • Diffusion can be performed by varying the coordinates of the bounding box for a plurality of initial particles.
  • the spreading may be performed by varying the noise of the coordinates of the bounding box for a plurality of initial particles with arbitrary noise.
  • Equation (4) The standard deviation of any noise for drift and diffusion can be expressed by Equation (4).
  • Equation (4) Lt; / RTI >
  • the tracker 233 may calculate the similarity of the plurality of candidate particles to the object of the video frame using the learned CNN model.
  • the tracker 233 may calculate the similarity using the forward pass of the learned CNN model.
  • the learned CNN model may be a model in which the network is set to a state close to the local minimum value and recognizes a high level characteristic of an object of a video frame.
  • the learned CNN model may be composed of one input network INPUT and five layers LAYER 1 to LAYER 5 as shown in FIG.
  • the first layer LAYER 1 to the third layer LAYER 3 may be a convolution layer initialized by a value of a CNN-PF (convolutional neural network particle filter) network.
  • the dimension of the first layer LAYER 1 is 7 x 7 as the first con- vection layer
  • the dimension of the second layer LAYER 2 is 5 x 5 as the second con- vection layer
  • (LAYER 3) may be 3 x 3 as the third con- vection layer.
  • the first layer (LAYER 1) to the third layer (LAYER 3) are pre-learned through a video data set, and the offline learning time can be greatly reduced.
  • the fourth layer (LAYER 4) and the fifth layer (LAYER 5) are high-level features for the object of the video frame calculated in the first layer (LAYER 1) to the third layer (LAYER 3) May be a layer that is designed to classify.
  • the fourth layer (LAYER 4) and the fifth layer (LAYER 5) may be completely connected layers.
  • the dimensions of the fourth lager (LAYER 4) and the fifth layer (LAYER 5) may be 256.
  • the learned CNN (convolutional neural network) model can be learned in at least one of learning through video data sets and learning through the most recently tracked video frames.
  • Learning through the video data set may be a positive patch for an object in the video data set and an offline learning through a negative patch for the background of the video data set.
  • the video data set may be a VOT 2015 video data set that includes 60 video sequences representing a bounding box on an object of the video frame.
  • the positive patch for an object in the video data set may be 256 positive patches extracted from the video data set.
  • the negative patch for the background of the video data set may be 64 negative patches extracted from the video data set.
  • Learning through the most recently tracked video frame may be an on-line learning through a positive patch on the object of the most recently tracked video frame and a negative patch on the background of the most recently tracked video frame.
  • a positive patch for the object of the most recently tracked video frame may be 32 positive patches extracted from the most recently tracked video frame.
  • the negative patch for the background of the most recently tracked video frame may be 128 negative patches extracted from the most recently tracked video frame.
  • a positive patch is a reference value patch for an object of a video frame and may include a geometric transformation that is at least one of translation, scaling, and affine transformation of an object of a video frame.
  • a positive patch may have an overlap of 90% or more for the bounding box for objects in the video frame.
  • the negative patch may be a reference value patch for the background of the video frame.
  • the negative patch may have an overlap of less than 40% for the bounding box for objects in the video frame.
  • the tracer 233 may determine the weights of the plurality of candidate particles based on the similarity.
  • the tracker 233 may determine the weight of the candidate particles with high similarity among the plurality of candidate particles to be high.
  • a candidate particle with a high degree of similarity may be a particle having a high overlap for an object of a video frame.
  • a candidate particle with a high degree of similarity may not be a candidate particle derived from a plurality of candidate particles corresponding to an object of an old previous video frame.
  • the weights of the plurality of candidate particles can be expressed by Equation (5).
  • Equation 5 Is the CNN measurement score, May be the weight of the ith candidate particle among the plurality of candidate particles.
  • the first equation of equation (5) may be to calculate the weight of the i-th candidate particle that is not normalized.
  • the second equation of equation (5) may be to perform normalization.
  • the tracker 233 can track an object of a video frame by generating an optimal particle at an average position of candidate particles having a higher weight among a plurality of candidate particles.
  • the tracker 233 may recognize positions of candidate particles having a higher weight among a plurality of candidate particles.
  • the tracer 233 may generate one particle at the average position of the positions of the candidate particles having a high weight.
  • the tracker 233 can track the object of the video frame by determining the generated one particle as the optimal particle corresponding to the position of the object in the video frame.
  • the tracer 233 can display the optimal particle with the bounding box.
  • the tracker 233 may display optimal particles in the bounding box as shown in FIG.
  • the bounding box for the optimal particle may be a ground-truth bounding box.
  • the tracker 233 can update the CNN model learned through the tracked object. For example, the tracker 233 may fine-tune and update the pre-learned CNN model through a positive patch for the object of the tracked video frame and a negative patch for the background of the tracked video frame.
  • the positive patch for the object of the tracked video frame may be 128 positive patches extracted from the tracked video frame.
  • the negative patch for the background of the tracked video frame may be 512 negative patches extracted from the tracked video frame.
  • the number of positive patches for the object of the tracked video frame and the number of negative patches for the background of the tracked video frame are positive for the object of the most recently tracked video frame The number of patches and the number of negative patches for the background of the most recently tracked video frame.
  • the display 250 may display an image transmitted from the controller 230.
  • the display 250 may display an image displaying a bounding box on an object of a plurality of video frames transmitted from the controller 230.
  • the display 250 is implemented in the object tracking device 200 and displays the image transmitted from the controller 230, but is not limited thereto.
  • the display 250 may be implemented independently of the object tracking device 200 to display images transmitted from the controller 230.
  • FIG. 6 is a flowchart illustrating an operation of the object tracking apparatus shown in FIG.
  • the particle filter 231 may generate a plurality of initial particles corresponding to an object of a video frame based on a video frame (S310).
  • the particle filter 231 performs at least one of drift and diffusion on a plurality of initial particles S320 and estimates the motion of the plurality of initial particles S330 to generate a plurality of candidate particles corresponding to the object of the video frame (S340).
  • the tracker 233 generates an optimal particle corresponding to the position of the object in the video frame based on the similarity to the object of the video frame of the plurality of candidate particles through the learned CNN model S550 (S560) (S570). ≪ / RTI >
  • the tracker 233 may display the tracked object as a bounding box and update the learned CNN model through the tracked object (S580).
  • the apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components.
  • the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions.
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
  • the processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
  • OS operating system
  • the processing device may also access, store, manipulate, process, and generate data in response to execution of the software.
  • the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG.
  • the processing unit may comprise a plurality of processors or one processor and one controller.
  • Other processing configurations are also possible, such as a parallel processor.
  • the software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded.
  • the software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave.
  • the software may be distributed over a networked computer system and stored or executed in a distributed manner.
  • the software and data may be stored on one or more computer readable recording media.
  • the method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination.
  • the program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software.
  • Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like.
  • program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Signal Processing (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Image Analysis (AREA)

Abstract

객체 추적 방법 및 이를 수행하는 장치들이 개시된다. 일 실시예에 따른 객체 추적 방법은 비디오 프레임의 객체를 추적하기 위해 상기 객체에 대응하는 복수의 후보 파티클들을 생성하는 단계와, 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도에 기초하여 상기 비디오 프레임 내 상기 객체의 위치에 대응하는 최적의 파티클을 생성함으로써 상기 객체를 추적하는 단계를 포함한다.

Description

객체 추적 방법 및 이를 수행하는 장치들
아래 실시예들은 객체 추적 방법 및 이를 수행하는 장치들에 관한 것이다.
객체 추적 알고리즘은 템플릿 매칭을 통해 객체를 추적한다. 예를 들어, 스캐닝 윈도우는 이전 프레임 타겟 패치를 현재 프레임의 후보 패치와 직접 비교함으로써 이전 프레임의 타겟 위치 근처의 후보를 추정한다.
딥 러닝(deep learning) 예를 들어, 컨벌루션 뉴럴 네트워크(convolutional neural networks; CNN)는 최근 주목을 받고 있다.
예를 들어, 컨벌루션 뉴럴 네트워크(CNN)는 이미지 분류, 의미론적 세분화, 물체 탐지 및 사람의 자세 추정 등과 같은 컴퓨터 비전의 다양한 분야에 성공적으로 적용되고 있다.
최근에는 시각적인 객체 추적을 위해 CNN의 차별화된 기능을 이용하고자 한다.
실시예들은 파티클 필터 및 기 학습된 CNN 모델을 이용하여 비디오 프레임의 객체를 추적함으로써, 객체 추적에 대한 정확도 및 속도 성능이 우수한 기술을 제공할 수 있다.
일 실시예에 따른 객체 추적 방법은 비디오 프레임의 객체를 추적하기 위해 상기 객체에 대응하는 복수의 후보 파티클들을 생성하는 단계와, 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도에 기초하여 상기 비디오 프레임 내 상기 객체의 위치에 대응하는 최적의 파티클을 생성함으로써 상기 객체를 추적하는 단계를 포함한다.
상기 생성하는 단계는 상기 비디오 프레임에 기초하여 상기 객체에 대응하는 복수의 초기 파티클들을 생성하는 단계와, 상기 복수의 초기 파티클들에 드리프트 및 확산 중에서 적어도 하나를 수행하여 상기 복수의 초기 파티클들의 모션을 예측함으로써 상기 복수의 후보 파티클들을 생성하는 단계를 포함할 수 있다.
상기 드리프트는 상기 복수의 초기 파티클들에 대한 모션 벡터 컴포넌트를 가변하여 수행될 수 있다.
상기 확산은 상기 복수의 초기 파티클들에 대한 바운딩 박스의 좌표를 가변하여 수행될 수 있다.
상기 복수의 초기 파티클들을 생성하는 단계는 상기 비디오 프레임이 초기 비디오 프레임인 경우, 가우시안 분포를 이용하여 임의의 랜덤값으로 초기화한 상기 복수의 초기 파티클들을 생성하는 단계를 포함할 수 있다.
상기 복수의 초기 파티클들을 생성하는 단계는 상기 비디오 프레임이 초기 비디오 프레임이 아닌 경우, 상기 비디오 프레임의 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 리샘플링함으로써 상기 복수의 초기 파티클들을 생성하는 단계를 포함할 수 있다.
상기 비디오 프레임의 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 리샘플링함으로써 상기 복수의 초기 파티클들을 생성하는 단계는 상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들 중에서 상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들의 가중치가 낮은 적어도 하나의 후보 파티클을 제거하는 단계와, 상기 적어도 하나의 후보 파티클의 수에 따라 임의의 랜덤값으로 초기화한 상기 비디오 프레임의 객체에 대응하는 복수의 대체 파티클들을 생성하는 단계와, 상기 이전 비디오 프레임의 제거되지 않은 복수의 후보 파티클 및 상기 복수의 대체 파티클들을 상기 복수의 초기 파티클들로 결정하는 단계를 포함할 수 있다.
상기 추적하는 단계는기 학습된 CNN 모델을 이용하여 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도를 계산하는 단계와, 상기 유사도에 기초하여 상기 복수의 후보 파티클들의 가중치를 결정하는 단계와, 상기 복수의 후보 파티클들 중에서 상기 가중치가 높은 후보 파티클들의 평균 위치에 상기 최적의 파티클을 생성함으로써 상기 객체를 추적하는 단계를 포함할 수 있다.
상기 기 학습된 CNN 모델은 비디오 데이터 세트를 통한 학습 및 가장 최근에 추적된 비디오 프레임을 통한 학습 중에서 적어도 하나로 학습될 수 있다.
상기 비디오 데이터 세트를 통한 학습은 상기 비디오 데이터 세트의 객체에 대한 포지티브 패치 및 상기 비디오 데이터 세트의 배경에 대한 네거티브 패치를 통한 학습일 수 있다.
상기 가장 최근에 추적된 비디오 프레임을 통한 학습은 상기 가장 최근에 추적된 비디오 프레임의 객체에 대한 포지티브 패치 및 상기 가장 최근에 추적된 비디오 프레임의 배경에 대한 네거티브 패치를 통한 학습일 수 있다.
상기 추적하는 단계는 추적된 객체를 통해 상기 기 학습된 CNN 모델을 업데이트하는 단계를 더 포함할 수 있다.
일 실시예에 따른 객체 추적 장치는 비디오 프레임을 수신하는 통신 모듈과, 상기 비디오 프레임의 객체를 추적하기 위해 상기 객체에 대응하는 복수의 후보 파티클들을 생성하고, 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도에 기초하여 상기 비디오 프레임 내 상기 객체의 위치에 대응하는 최적의 파티클을 생성함으로써 상기 객체를 추적하는 컨트롤러를 포함한다.
상기 컨트롤러는 상기 비디오 프레임에 기초하여 상기 객체에 대응하는 복수의 초기 파티클들을 생성하고, 상기 복수의 초기 파티클들에 드리프트 및 확산 중에서 적어도 하나를 수행하여 상기 복수의 초기 파티클들의 모션을 예측함으로써 상기 복수의 후보 파티클들을 생성하는 파티클 필터를 포함할 수 있다.
상기 드리프트는 상기 복수의 초기 파티클들에 대한 모션 벡터 컴포넌트를 가변하여 수행될 수 있다.
상기 확산은 상기 복수의 초기 파티클들에 대한 바운딩 박스의 좌표를 가변하여 수행될 수 있다.
상기 파티클 필터는 상기 비디오 프레임이 초기 비디오 프레임인 경우, 가우시안 분포를 이용하여 임의의 랜덤값으로 초기화한 상기 복수의 초기 파티클들을 생성할 수 있다.
상기 파티클 필터는 상기 비디오 프레임이 초기 비디오 프레임이 아닌 경우, 상기 비디오 프레임의 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 리샘플링함으로써 상기 복수의 초기 파티클들을 생성할 수 있다.
상기 파티클 필터는 상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들 중에서 상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들의 가중치가 낮은 적어도 하나의 후보 파티클을 제거하고, 상기 적어도 하나의 후보 파티클의 수에 따라 임의의 랜덤값으로 초기화한 상기 비디오 프레임의 객체에 대응하는 복수의 대체 파티클들을 생성하고, 상기 이전 비디오 프레임의 제거되지 않은 복수의 후보 파티클 및 상기 복수의 대체 파티클들을 상기 복수의 초기 파티클들로 결정할 수 있다.
상기 컨트롤러는 기 학습된 CNN(convolutional neural network) 모델을 이용하여 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도를 계산하고, 상기 유사도에 기초하여 상기 복수의 후보 파티클들의 가중치를 결정하고, 상기 복수의 후보 파티클들 중에서 상기 가중치가 높은 후보 파티클들의 평균 위치에 상기 최적의 파티클을 생성함으로써 상기 객체를 추적하는 추적기를 포함할 수 있다.
상기 기 학습된 CNN 모델은 비디오 데이터 세트를 통한 학습 및 가장 최근에 추적된 비디오 프레임을 통한 학습 중에서 적어도 하나로 학습될 수 있다.
상기 비디오 데이터 세트를 통한 학습은 상기 비디오 데이터 세트의 객체에 대한 포지티브 패치 및 상기 비디오 데이터 세트의 배경에 대한 네거티브 패치를 통한 학습일 수 있다.
상기 가장 최근에 추적된 비디오 프레임을 통한 학습은 상기 가장 최근에 추적된 비디오 프레임의 객체에 대한 포지티브 패치 및 상기 가장 최근에 추적된 비디오 프레임의 배경에 대한 네거티브 패치를 통한 학습일 수 있다.
상기 추적기는 추적된 객체를 통해 상기 기 학습된 CNN 모델을 업데이트할 수 있다.
도 1은 일 실시예에 따른 객체 추적 시스템의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 객체 추적 장치의 개략적인 블록도를 나타낸다.
도 3은 도 2에 도시된 컨트롤러의 개략적인 블록도를 나타낸다.
도 4는 일 실시예에 따른 CNN 모델을 설명하기 위한 일 예를 나타낸다.
도 5는 일 실시예에 따른 바운딩 박스로 표시된 객체를 설명하기 위한 일 예를 나타낸다.
도 6은 도 1에 도시된 객체 추적 장치의 동작을 설명하기 위한 순서도를 나타낸다.
본 명세서에서 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에서 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어를 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이나 과도하게 형식적인 의미로 해석되지 않는다.
본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.
다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 객체 추적 시스템의 개략적인 블록도를 나타낸다.
도 1을 참조하면, 객체 추적 시스템(a object tracking system; 10)은 영상 제공 장치(a video providing apparatus; 100) 및 객체 추적 장치(a object tracking apparatus; 200)를 포함한다.
영상 제공 장치(100)는 영상을 촬명 및 저장할 수 있다. 예를 들어, 영상 제공 장치(100)는 영상 제공 장치(100)의 카메라(미도시)를 통해 영상을 촬영하고, 촬영된 영상을 영상 제공 장치(100)의 메모리(미도시)에 저장(또는 녹화)할 수 있다. 이때, 영상은 복수의 비디오 프레임을 포함하는 비디오 스트림일 수 있다.
영상 제공 장치(100)는 객체 추적 장치(200)와 통신을 수행하여 영상을 객체 추적 장치(200)에 제공할 수 있다. 예를 들어, 영상 제공 장치(100)는 인터넷 통신망, 인트라넷, 근거리 통신망(LAN), 무선 LAN, Wi-Fi, LF, Xbee, Zigbee, Blue-Tooth 및 Beacon 등 다양한 기반으로 객체 추적 장치(200)와 통신을 수행하여 영상을 객체 추적 장치(200)에 제공할 수 있다.
상술한 바와 같이 영상 제공 장치(100)가 영상을 객체 추적 장치(200)에 제공하지만, 이에 한정하는 것은 아니다. 예를 들어, CCTV 및 인터넷 등 다양한 장치 및 소프트웨어는 영상을 객체 추적 장치(200)에 제공할 수 있다.
객체 추적 장치(200)는 파티클 필터 및 기 학습된 CNN 모델을 이용하여 비디오 프레임내 객체의 위치에 대응하는 최적의 파티클을 생성함으로써 비디오 프레임의 객체를 추적할 수 있다.
즉, 객체 추적 장치(200)는 파티클 필터 및 기 학습된 CNN 모델을 이용하여 비디오 프레임의 객체를 추적함으로써, 객체 추적에 대한 정확도 및 속도 성능이 우수한 기술을 제공할 수 있다.
도 2는 도 1에 도시된 객체 추적 장치의 개략적인 블록도를 나타내고, 도 3은 도 2에 도시된 컨트롤러의 개략적인 블록도를 나타내고, 도 4는 일 실시예에 따른 CNN 모델을 설명하기 위한 일 예를 나타내고, 도 5는 일 실시예에 따른 바운딩 박스로 표시된 객체를 설명하기 위한 일 예를 나타낸다.
도 2를 참조하면, 객체 추적 장치(200)는 통신 모듈(a communication module; 210), 컨트롤러(a controller; 230) 및 디스플레이(a display; 250)를 포함한다.
통신 모듈(210)은 영상을 수신하여 수신된 영상을 컨트롤러(230)에 전송할 수 있다. 예를 들어, 통신 모듈(210)은 영상 제공 장치(100)로부터 전송된 영상을 수신하여, 영상에 포함된 복수의 비디오 프레임들을 순차적으로 컨트롤러(230)에 전송할 수 있다.
컨트롤러(230)는 객체 추적 장치(200)의 전반적인 동작을 제어할 수 있다. 예를 들어, 컨트롤러(230)는 각 구성(210 및 250)의 동작을 제어할 수 있다.
컨트롤러(230)는 비디오 프레임의 객체를 추적하기 위해 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 생성할 수 있다.
예를 들어, 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들은 비디오 프레임의 객체 근처에 생성될 수 있다.
비디오 프레임이 초기 비디오 프레임인 경우, 비디오 프레임의 객체는 바운딩 박스로 미리 표시 및 설정되어 인식될 수 있다. 복수의 후보 파티클들은 바운딩 박스로 표시될 수 있다. 바운딩 박스는 비디오 프레임의 객체와 비디오 프레임의 배경을 구별하는 박스일 수 있다.
컨트롤러(230)는 복수의 후보 파티클들의 비디오 프레임의 객체에 대한 유사도에 기초하여 비디오 프레임 내 객체의 위치에 대응하는 최적의 파티클을 생성함으로써 비디오 프레임의 객체를 추적할 수 있다. 최적의 파티클은 바운딩 박스로 표시될 수 있다.
컨트롤러(230)는 도 3과 같이 파티클 필터(a particle filter; 231) 및 추적기(a tracker; 233)를 포함할 수 있다.
파티클 필터(231)는 비디오 프레임에 기초하여 비디오 프레임의 객체에 대응하는 복수의 초기 파티클들을 생성할 수 있다. 예를 들어, 파티클 필터(231)는 sequential monte carlo 방법에 기초한 필터일 수 있다. 복수의 초기 파티클들은 스테이트 모델을 이용하여 생성될 수 있다. 복수의 초기 파티클들은 바운딩 박스로 표시될 수 있다.
스테이트 모델은 수학식 1로 나타낼 수 있다.
Figure PCTKR2017015350-appb-I000001
수학식 1의
Figure PCTKR2017015350-appb-I000002
는 바운딩 박스의 좌표이고,
Figure PCTKR2017015350-appb-I000003
은 모션 벡터 컴포넌트이고,
Figure PCTKR2017015350-appb-I000004
는 바운딩 박스의 크기이고, w는 폭(width)이고, h는 높이(height)일 수 있다.
비디오 프레임이 초기 비디오 프레임인 경우, 파티클 필터(231)는 가우시안 분포를 이용하여 임의의 랜덤값으로 초기화한 복수의 초기 파티클들을 생성할 수 있다.
구체적으로, 파티클 필터(231)는 가우시안 분포를 이용하여 임의의 램덤값으로 초기화한 복수의 초기 파티클들을 1000 또는 그 이상 생성할 수 있다. 이때, 가우시안 분포는 표준 편차의 가우시안 분포 벡터일 수 있다. 복수의 초기 파티클들의 수는 가우시안 검색 밀도가 모든 방향과 변환을 충분히 보장하는 수일 수 있다.
초기 비디오 프레임에 대한 표준 편차는 수학식 2로 나타낼 수 있다.
Figure PCTKR2017015350-appb-I000005
수학식 2의
Figure PCTKR2017015350-appb-I000006
는 초기 비디오 프레임의 바운딩 박스의 x 위치에 대한_표준 편차이고,
Figure PCTKR2017015350-appb-I000007
는 초기 비디오 프레임의 바운딩 박스의 y 위치에 대한_표준 편차이고,
Figure PCTKR2017015350-appb-I000008
는 초기 비디오 프레임의 바운딩 박스의 폭에 대한 표준 편차이고,
Figure PCTKR2017015350-appb-I000009
는 초기 비디오 프레임의 바운딩 박스의 높이에 대한 표준 편차이고,
Figure PCTKR2017015350-appb-I000010
는 초기 비디오 프레임의 바운딩 박스의 x 방향 모션 벡터에 대한 표준 편차이고,
Figure PCTKR2017015350-appb-I000011
는 초기 비디오 프레임의 바운딩 박스의 y 방향 모션 벡터에 대한 표준 편차이고,
Figure PCTKR2017015350-appb-I000012
는 초기 비디오 프레임의 Ground Truth 폭이고,
Figure PCTKR2017015350-appb-I000013
는 초기 비디오 프레임의 바운딩 박스의 높이일 수 있다.
표준 편차의 가우시안 분포 벡터는 수학식 3으로 나타낼 수 있다.
Figure PCTKR2017015350-appb-I000014
비디오 프레임이 초기 비디오 프레임이 아닌 경우, 파티클 필터(231)는 비디오 프레임의 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 리샘플링함으로써 복수의 초기 파티클들을 생성할 수 있다.
구체적으로, 파티클 필터(231)는 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들 중에서 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들의 가중치가 낮은 적어도 하나의 후보 파티클을 제거할 수 있다.
예를 들어, 가중치가 낮은 적어도 하나의 후보 파티클은 신뢰할 수 없는 파티클일 수 있다.
파티클 필터(231)는 적어도 하나의 후보 파티클의 수에 따라 임의의 랜덤값으로 초기화한 비디오 프레임의 객체에 대응하는 복수의 대체 파티클들을 생성할 수 있다. 복수의 대체 파티클들은 바운딩 박스로 표시될 수 있다.
예를 들어, 파티클 필터(231)는 표준 편차들을 갖는 정규 분포를 이용하여 적어도 하나의 후보 파티클의 수에 따라 임의의 랜덤값으로 초기화한 복수의 대체 파티클들을 생성할 수 있다. 파티클 필터(231)는 복수의 대체 파티클들을 생성함으로써 파티클의 트레이드 오프를 유지하고, 파티클 생성에 대한 계산양을 줄일 수 있다.
파티클 필터(231)는 이전 비디오 프레임의 제거되지 않은 복수의 후보 파티클 및 복수의 대체 파티클들을 복수의 초기 파티클들로 결정할 수 있다.
파티클 필터(231)는 복수의 초기 파티클들에 드리프트 및 확산 중에서 적어도 하나를 수행하여 복수의 초기 파티클들의 모션을 예측함으로써 복수의 후보 파티클들을 생성할 수 있다.
예를 들어, 파티클 필터(231)는 도 5와 같이 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 생성할 수 있다. 도 5의 제1 비디오 프레임의 결과(RESULT 1)는 초기 비디오 프레임이고, 제2 비디오 프레임의 결과(RESULT 2)는 6 번째 비디오 프레임이고, 제3 비디오 프레임의 결과(RESULT 3)는 21 번째 비디오 프레임이고, 제4 비디오 프레임의 결과(RESULT 4)는 41 번째 비디오 프레임일 수 있다.
드리프트는 복수의 초기 파티클들에 대한 모션 벡터 컴포넌트를 가변하여 수행될 수 있다. 예를 들어, 드리프트는 복수의 초기 파티클들에 대한 모션 벡터 컴포넌트에 임의의 노이즈로 가변하여 수행될 수 있다.
확산은 복수의 초기 파티클들에 대한 바운딩 박스의 좌표를 가변하여 수행될 수 있다. 예를 들어, 확산은 복수의 초기 파티클들에 대한 바운딩 박스의 좌표에 임의의 노이즈로 가변하여 수행될 수 있다.
드리프트 및 확산에 대한 임의의 노이즈의 표준 편차는 수학식 4로 나타낼 수 있다.
Figure PCTKR2017015350-appb-I000015
수학식 4는
Figure PCTKR2017015350-appb-I000016
일 수 있다.
추적기(233)는 기 학습된 CNN 모델을 이용하여 복수의 후보 파티클들의 비디오 프레임의 객체에 대한 유사도를 계산할 수 있다.
예를 들어, 추적기(233)는 기 학습된 CNN 모델의 순방향 패스(forward pass)를 이용하여 유사도를 계산할 수 있다. 기 학습된 CNN 모델은 네트워크가 로컬 최소값에 가까운 상태로 설정되어 비디오 프레임의 객체에 대한 하이 레벨 특징을 인식하는 모델일 수 있다.
기 학습된 CNN 모델은 도 4와 같이 한 개의 입력 네트워크(INPUT) 및 5개의 레이어들(LAYER 1 내지 LAYER 5)로 구성될 수 있다.
제1 레이어(LAYER 1) 내지 제3 레이어(LAYER 3)는 CNN-PF(convolutional neural network particle filter) 네트워크의 값에 의해 초기화되는 콘볼류션레이어일 수 있다. 제1 레이어(LAYER 1)의 치수(dimension)는 제1 콘볼류션레이어로써 7 X 7이고, 제2 레이어(LAYER 2)의 치수는 제2 콘볼류션레이어로써 5 X 5이고, 제3 레이어(LAYER 3)의 치수는 제3 콘볼류션레이어로써 3 X 3일 수 있다. 제1 레이어(LAYER 1) 내지 제3 레이어(LAYER 3)는 비디오 데이터 세트를 통해 사전 학습되어 오프라인 학습 시간을 매우 줄일 수 있다.
제4 레이어(LAYER 4) 및 제5 레이어(LAYER 5)는 제1 레이어(LAYER 1) 내지 제3 레이어(LAYER 3)에서 계산된 비디오 프레임의 객체에 대한 하이 레벨 특징으로 비디오 프레임의 객체와 배경을 분류하기 위해 설계된 레이어일 수 있다. 제4 레이어(LAYER 4) 및 제5 레이어(LAYER 5)는 완전히 연결된 레이어일 수 있다. 제4 레이터(LAYER 4) 및 제5 레이어(LAYER 5)의 치수는 256일 수 있다.
기 학습된 CNN(convolutional neural network) 모델은 비디오 데이터 세트를 통한 학습 및 가장 최근에 추적된 비디오 프레임을 통한 학습 중에서 적어도 하나로 학습될 수 있다.
비디오 데이터 세트를 통한 학습은 비디오 데이터 세트의 객체에 대한 포지티브 패치 및 비디오 데이터 세트의 배경에 대한 네거티브 패치를 통한 오프라인 학습일 수 있다. 예를 들어, 비디오 데이터 세트는 비디오 프레임의 객체에 바운딩 박스를 표시한 60개의 비디오 시퀀스를 포함하는 VOT2015 비디오 데이터 세트일 수 있다. 비디오 데이터 세트의 객체에 대한 포지티브 패치는 비디오 데이터 세트에서 추출된 256 개의 포지티브 패치일 수 있다. 비디오 데이터 세트의 배경에 대한 네거티브 패치는 비디오 데이터 세트에서 추출된 64 개의 네거티브 패치일 수 있다.
가장 최근에 추적된 비디오 프레임을 통한 학습은 가장 최근에 추적된 비디오 프레임의 객체에 대한 포지티브 패치 및 가장 최근에 추적된 비디오 프레임의 배경에 대한 네거티브 패치를 통한 온라인 학습일 수 있다. 예를 들어, 가장 최근에 추적된 비디오 프레임의 객체에 대한 포지티브 패치는 가장 최근에 추적된 비디오 프레임에서 추출된 32 개의 포지티브 패치일 수 있다. 가장 최근에 추적된 비디오 프레임의 배경에 대한 네거티브 패치는 가장 최근에 추적된 비디오 프레임에서 추출된 128 개의 네거티브 패치일 수 있다.
포지티브 패치는 비디오 프레임의 객체에 대한 기준값 패치이고, 비디오 프레임의 객체의 트랜스레이션(translation), 스케일링(scaling) 및 아핀 변환(affine transformation) 중에서 적어도 하나인 기하학적 변환을 포함할 수 있다. 포지티브 패치는 비디오 프레임의 객체에 대한 바운딩 박스에 대한 오버랩이 90 % 이상일 수 있다.
네거티브 패치는 비디오 프레임의 배경에 대한 기준값 패치일 수 있다. 네거티브 패치는 비디오 프레임의 객체에 대한 바운딩 박스에 대한 오버랩이 40 % 이하일 수 있다.
추적기(233)는 유사도에 기초하여 복수의 후보 파티클들의 가중치를 결정할 수 있다.
예를 들어, 추적기(233)는 복수의 후보 파티클들 중에서 유사도가 높은 후보 파티클에 가중치를 높게 결정할 수 있다.
유사도가 높은 후보 파티클은 비디오 프레임의 객체에 대한 오버랩이 높은 파티클 일 수 있다. 유사도가 높은 후보 파티클은 오래된 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들로부터 비롯된 후보 파티클이 아닐 수 있다.
복수의 후보 파티클들의 가중치는 수학식 5로 나타낼 수 있다.
Figure PCTKR2017015350-appb-I000017
수학식 5의
Figure PCTKR2017015350-appb-I000018
는 CNN 측정 점수이고,
Figure PCTKR2017015350-appb-I000019
는 복수의 후보 파티클들 중에서 i번째 후보 파티클의 가중치일 수 있다. 수학식 5의 첫번째 수학식은 정규화 되지 않는 i번째 후보 파티클의 가중치를 계산하는 것일 수 있다. 수학식 5의 두번째 수학식은 정규화를 실시하는 것일 수 있다.
추적기(233)는 복수의 후보 파티클들 중에서 가중치가 높은 후보 파티클들의 평균 위치에 최적의 파티클을 생성함으로써 비디오 프레임의 객체를 추적할 수 있다.
예를 들어, 추적기(233)는 복수의 후보 파티클들 중에서 가중치가 높은 후보 파티클들의 위치을 인식할 수 있다.
추적기(233)는 가중치가 높은 후보 파티클들의 위치의 평균 위치에 하나의 파티클을 생성할 수 있다.
추적기(233)는 생성된 하나의 파티클을 비디오 프레임 내 객체의 위치에 대응하는 최적의 파티클로 결정함으로써 비디오 프레임의 객체를 추적할 수 있다.
추적기(233)는 바운딩 박스로 최적의 파티클을 표시할 수 있다. 예를 들어, 추적기(233)는 도 5와 같이 바운딩 박스로 최적의 파티클을 표시할 수 있다. 최적의 파티클에 대한 바운딩 박스는 기준값 바운딩 박스(ground-truth bounding box)일 수 있다.
추적기(233)는 추적된 객체를 통해 기 학습된 CNN 모델을 업데이트할 수 있다. 예를 들어, 추적기(233)는 추적된 비디오 프레임의 객체에 대한 포지티브 패치 및 추적된 비디오 프레임의 배경에 대한 네거티브 패치를 통해 기 학습된 CNN 모델을 미세 조정하여 업데이트할 수 있다.
추적된 비디오 프레임이 초기 비디오 프레임인 경우, 추적된 비디오 프레임의 객체에 대한 포지티브 패치는 추적된 비디오 프레임에서 추출된 128개의 포지티브 패치일 수 있다. 추적된 비디오 프레임의 배경에 대한 네거티브 패치는 추적된 비디오 프레임에서 추출된 512개의 네거티브 패치일 수 있다.
추적된 비디오 프레임이 초기 비디오 프레임이 아닌 경우, 추적된 비디오 프레임의 객체에 대한 포지티브 패치의 수 및 추적된 비디오 프레임의 배경에 대한 네거티브 패치의 수는 가장 최근에 추적된 비디오 프레임의 객체에 대한 포지티브 패치의 수 및 가장 최근에 추적된 비디오 프레임의 배경에 대한 네거티브 패치의 수 와 동일할 수 있다.
디스플레이(250)는 컨트롤러(230)로부터 전송된 영상을 디스플레이할 수 있다. 예를 들어, 디스플레이(250)는 컨트롤러(230)로부터 전송된 복수의 비디오 프레임들의 객체에 바운딩 박스가 표시된 영상을 디스플레이할 수 있다.
상술한 바와 같이 디스플레이(250)가 객체 추적 장치(200)에 구현되어 컨트롤러(230)로부터 전송된 영상을 디스플레이하지만, 이에 한정하는 것은 아니다. 디스플레이(250)는 객체 추적 장치(200)와 독립적으로 구현되어 컨트롤러(230)로부터 전송된 영상을 디스플레이할 수 있다.
도 6은 도 1에 도시된 객체 추적 장치의 동작을 설명하기 위한 순서도를 나타낸다.
도 6을 참조하면, 파티클 필터(231)는 비디오 프레오에 기초하여 비디오 프레임의 객체에 대응하는 복수의 초기 파티클들을 생성할 수 있다(S310).
파티클 필터(231)는 복수의 초기 파티클들에 드리프트 및 확산 중에서 적어도 하나를 수행하여(S320) 복수의 초기 파티클들의 모션을 예측함으로써(S330), 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 생성할 수 있다(S340).
추적기(233)는 기 학습된 CNN 모델(S550)을 통한 복수의 후보 파티클들의 비디오 프레임의 객체에 대한 유사도에 기초하여 비디오 프레임 내 객체의 위치에 대응하는 최적의 파티클을 생성함으로써(S560) 비디오 프레임의 객체를 추적할 수 있다(S570).
추적기(233)는 추적된 객체를 바운딩 박스로 표시하고, 추적된 객체를 통해 기 학습된 CNN 모델을 업데이트할 수 있다(S580).
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 비디오 프레임의 객체를 추적하기 위해 상기 객체에 대응하는 복수의 후보 파티클들을 생성하는 단계; 및
    상기 복수의 후보 파티클들의 상기 객체에 대한 유사도에 기초하여 상기 비디오 프레임 내 상기 객체의 위치에 대응하는 최적의 파티클을 생성함으로써 상기 객체를 추적하는 단계
    를 포함하는 객체 추적 방법.
  2. 제1항에 있어서,
    상기 생성하는 단계는,
    상기 비디오 프레임에 기초하여 상기 객체에 대응하는 복수의 초기 파티클들을 생성하는 단계; 및
    상기 복수의 초기 파티클들에 드리프트 및 확산 중에서 적어도 하나를 수행하여 상기 복수의 초기 파티클들의 모션을 예측함으로써 상기 복수의 후보 파티클들을 생성하는 단계
    를 포함하는 객체 추적 방법.
  3. 제2항에 있어서,
    상기 드리프트는 상기 복수의 초기 파티클들에 대한 모션 벡터 컴포넌트를 가변하여 수행되고,
    상기 확산은 상기 복수의 초기 파티클들에 대한 바운딩 박스의 좌표를 가변하여 수행되는 객체 추적 방법.
  4. 제2항에 있어서,
    상기 복수의 초기 파티클들을 생성하는 단계는,
    상기 비디오 프레임이 초기 비디오 프레임인 경우, 가우시안 분포를 이용하여 임의의 랜덤값으로 초기화한 상기 복수의 초기 파티클들을 생성하는 단계
    를 포함하는 객체 추적 방법.
  5. 제2항에 있어서,
    상기 복수의 초기 파티클들을 생성하는 단계는,
    상기 비디오 프레임이 초기 비디오 프레임이 아닌 경우, 상기 비디오 프레임의 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 리샘플링함으로써 상기 복수의 초기 파티클들을 생성하는 단계
    를 포함하는 객체 추적 방법.
  6. 제5항에 있어서,
    상기 비디오 프레임의 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 리샘플링함으로써 상기 복수의 초기 파티클들을 생성하는 단계는,
    상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들 중에서 상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들의 가중치가 낮은 적어도 하나의 후보 파티클을 제거하는 단계;
    상기 적어도 하나의 후보 파티클의 수에 따라 임의의 랜덤값으로 초기화한 상기 비디오 프레임의 객체에 대응하는 복수의 대체 파티클들을 생성하는 단계; 및
    상기 이전 비디오 프레임의 제거되지 않은 복수의 후보 파티클 및 상기 복수의 대체 파티클들을 상기 복수의 초기 파티클들로 결정하는 단계
    를 포함하는 객체 추적 방법.
  7. 제1항에 있어서,
    상기 추적하는 단계는,
    기 학습된 CNN 모델을 이용하여 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도를 계산하는 단계;
    상기 유사도에 기초하여 상기 복수의 후보 파티클들의 가중치를 결정하는 단계; 및
    상기 복수의 후보 파티클들 중에서 상기 가중치가 높은 후보 파티클들의 평균 위치에 상기 최적의 파티클을 생성함으로써 상기 객체를 추적하는 단계
    를 포함하는 객체 추적 방법.
  8. 제7항에 있어서,
    상기 기 학습된 CNN 모델은 비디오 데이터 세트를 통한 학습 및 가장 최근에 추적된 비디오 프레임을 통한 학습 중에서 적어도 하나로 학습되는 객체 추적 방법.
  9. 제8항에 있어서,
    상기 비디오 데이터 세트를 통한 학습은 상기 비디오 데이터 세트의 객체에 대한 포지티브 패치 및 상기 비디오 데이터 세트의 배경에 대한 네거티브 패치를 통한 학습이고,
    상기 가장 최근에 추적된 비디오 프레임을 통한 학습은 상기 가장 최근에 추적된 비디오 프레임의 객체에 대한 포지티브 패치 및 상기 가장 최근에 추적된 비디오 프레임의 배경에 대한 네거티브 패치를 통한 학습인 객체 추적 방법.
  10. 제7항에 있어서,
    상기 추적하는 단계는,
    추적된 객체를 통해 상기 기 학습된 CNN 모델을 업데이트하는 단계
    를 더 포함하는 객체 추적 방법.
  11. 비디오 프레임을 수신하는 통신 모듈; 및
    상기 비디오 프레임의 객체를 추적하기 위해 상기 객체에 대응하는 복수의 후보 파티클들을 생성하고, 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도에 기초하여 상기 비디오 프레임 내 상기 객체의 위치에 대응하는 최적의 파티클을 생성함으로써 상기 객체를 추적하는 컨트롤러
    를 포함하는 객체 추적 장치.
  12. 제11항에 있어서,
    상기 컨트롤러는,
    상기 비디오 프레임에 기초하여 상기 객체에 대응하는 복수의 초기 파티클들을 생성하고, 상기 복수의 초기 파티클들에 드리프트 및 확산 중에서 적어도 하나를 수행하여 상기 복수의 초기 파티클들의 모션을 예측함으로써 상기 복수의 후보 파티클들을 생성하는 파티클 필터
    를 포함하는 객체 추적 장치.
  13. 제12항에 있어서,
    상기 드리프트는 상기 복수의 초기 파티클들에 대한 모션 벡터 컴포넌트를 가변하여 수행되고,
    상기 확산은 상기 복수의 초기 파티클들에 대한 바운딩 박스의 좌표를 가변하여 수행되는 객체 추적 장치.
  14. 제12항에 있어서,
    상기 파티클 필터는,
    상기 비디오 프레임이 초기 비디오 프레임인 경우, 가우시안 분포를 이용하여 임의의 랜덤값으로 초기화한 상기 복수의 초기 파티클들을 생성하는 객체 추적 장치.
  15. 제12항에 있어서,
    상기 파티클 필터는,
    상기 비디오 프레임이 초기 비디오 프레임이 아닌 경우, 상기 비디오 프레임의 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들을 리샘플링함으로써 상기 복수의 초기 파티클들을 생성하는 객체 추적 장치.
  16. 제15항에 있어서,
    상기 파티클 필터는,
    상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들 중에서 상기 이전 비디오 프레임의 객체에 대응하는 복수의 후보 파티클들의 가중치가 낮은 적어도 하나의 후보 파티클을 제거하고, 상기 적어도 하나의 후보 파티클의 수에 따라 임의의 랜덤값으로 초기화한 상기 비디오 프레임의 객체에 대응하는 복수의 대체 파티클들을 생성하고, 상기 이전 비디오 프레임의 제거되지 않은 복수의 후보 파티클 및 상기 복수의 대체 파티클들을 상기 복수의 초기 파티클들로 결정하는 객체 추적 장치.
  17. 제11항에 있어서,
    상기 컨트롤러는,
    기 학습된 CNN(convolutional neural network) 모델을 이용하여 상기 복수의 후보 파티클들의 상기 객체에 대한 유사도를 계산하고, 상기 유사도에 기초하여 상기 복수의 후보 파티클들의 가중치를 결정하고, 상기 복수의 후보 파티클들 중에서 상기 가중치가 높은 후보 파티클들의 평균 위치에 상기 최적의 파티클을 생성함으로써 상기 객체를 추적하는 추적기
    를 포함하는 객체 추적 장치.
  18. 제17항에 있어서,
    상기 기 학습된 CNN 모델은 비디오 데이터 세트를 통한 학습 및 가장 최근에 추적된 비디오 프레임을 통한 학습 중에서 적어도 하나로 학습되는 객체 추적 장치.
  19. 제18항에 있어서,
    상기 비디오 데이터 세트를 통한 학습은 상기 비디오 데이터 세트의 객체에 대한 포지티브 패치 및 상기 비디오 데이터 세트의 배경에 대한 네거티브 패치를 통한 학습이고,
    상기 가장 최근에 추적된 비디오 프레임을 통한 학습은 상기 가장 최근에 추적된 비디오 프레임의 객체에 대한 포지티브 패치 및 상기 가장 최근에 추적된 비디오 프레임의 배경에 대한 네거티브 패치를 통한 학습인 객체 추적 장치.
  20. 제17항에 있어서,
    상기 추적기는,
    추적된 객체를 통해 상기 기 학습된 CNN 모델을 업데이트하는 객체 추적 장치.
PCT/KR2017/015350 2017-12-21 2017-12-22 객체 추적 방법 및 이를 수행하는 장치들 WO2019124602A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201780097908.0A CN111566658A (zh) 2017-12-21 2017-12-22 对象跟踪方法及执行该方法的装置
US16/069,842 US11176680B2 (en) 2017-12-21 2017-12-22 Method of tracking object and apparatuses performing the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0177521 2017-12-21
KR1020170177521A KR101982942B1 (ko) 2017-12-21 2017-12-21 객체 추적 방법 및 이를 수행하는 장치들

Publications (1)

Publication Number Publication Date
WO2019124602A1 true WO2019124602A1 (ko) 2019-06-27

Family

ID=66679080

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/015350 WO2019124602A1 (ko) 2017-12-21 2017-12-22 객체 추적 방법 및 이를 수행하는 장치들

Country Status (4)

Country Link
US (1) US11176680B2 (ko)
KR (1) KR101982942B1 (ko)
CN (1) CN111566658A (ko)
WO (1) WO2019124602A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11514632B2 (en) * 2020-11-06 2022-11-29 Adobe Inc. Modifying neural networks for synthetic conditional digital content generation utilizing contrastive perceptual loss
KR102274913B1 (ko) 2021-03-30 2021-07-08 서울대학교 산학협력단 경계박스 중복제거장치 및 그 장치의 구동방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170684A (ja) * 2010-02-19 2011-09-01 Panasonic Corp 対象物追跡装置、対象物追跡方法、および対象物追跡プログラム
JP2011243229A (ja) * 2011-09-05 2011-12-01 Nippon Telegr & Teleph Corp <Ntt> 対象物追跡装置及び対象物追跡方法
JP2012234466A (ja) * 2011-05-09 2012-11-29 Nippon Telegr & Teleph Corp <Ntt> 状態追跡装置、方法、及びプログラム
KR20170061016A (ko) * 2015-11-25 2017-06-02 삼성전자주식회사 데이터 인식 모델 구축 장치 및 방법과 데이터 인식 장치
KR20170070715A (ko) * 2015-12-14 2017-06-22 삼성전자주식회사 딥러닝 기반 영상 처리 장치 및 방법, 학습 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4208898B2 (ja) * 2006-06-09 2009-01-14 株式会社ソニー・コンピュータエンタテインメント 対象物追跡装置および対象物追跡方法
EP2259221A1 (en) * 2009-06-03 2010-12-08 ETH Zurich Computer system and method for tracking objects in video data
KR20150081797A (ko) * 2014-01-07 2015-07-15 한국전자통신연구원 객체 추적 장치 및 방법
AU2014240213B2 (en) * 2014-09-30 2016-12-08 Canon Kabushiki Kaisha System and Method for object re-identification
KR101771044B1 (ko) 2015-11-27 2017-08-24 연세대학교 산학협력단 공간-물체 관계 그래프에 기반한 객체 인식 방법 및 그 장치
KR101735365B1 (ko) 2017-01-19 2017-05-16 (주)나인정보시스템 학습 기반의 영상 내 관심 물체 검지 및 환경 변화에 강인한 물체 추적 방법
CN106815862B (zh) * 2017-01-24 2020-03-10 武汉大学 一种基于卷积轮廓特征的目标跟踪方法
US20190034734A1 (en) * 2017-07-28 2019-01-31 Qualcomm Incorporated Object classification using machine learning and object tracking
US10438371B2 (en) * 2017-09-22 2019-10-08 Zoox, Inc. Three-dimensional bounding box from two-dimensional image and point cloud data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170684A (ja) * 2010-02-19 2011-09-01 Panasonic Corp 対象物追跡装置、対象物追跡方法、および対象物追跡プログラム
JP2012234466A (ja) * 2011-05-09 2012-11-29 Nippon Telegr & Teleph Corp <Ntt> 状態追跡装置、方法、及びプログラム
JP2011243229A (ja) * 2011-09-05 2011-12-01 Nippon Telegr & Teleph Corp <Ntt> 対象物追跡装置及び対象物追跡方法
KR20170061016A (ko) * 2015-11-25 2017-06-02 삼성전자주식회사 데이터 인식 모델 구축 장치 및 방법과 데이터 인식 장치
KR20170070715A (ko) * 2015-12-14 2017-06-22 삼성전자주식회사 딥러닝 기반 영상 처리 장치 및 방법, 학습 장치

Also Published As

Publication number Publication date
US11176680B2 (en) 2021-11-16
US20210217181A1 (en) 2021-07-15
CN111566658A (zh) 2020-08-21
KR101982942B1 (ko) 2019-05-27

Similar Documents

Publication Publication Date Title
CN108985259B (zh) 人体动作识别方法和装置
WO2021085848A1 (ko) 강화학습 기반 신호 제어 장치 및 신호 제어 방법
WO2019098414A1 (ko) 약한 지도 학습에 기초한 뉴럴 네트워크의 계층적 학습 방법 및 장치
WO2017164478A1 (ko) 미세 얼굴 다이나믹의 딥 러닝 분석을 통한 미세 표정 인식 방법 및 장치
WO2012011713A2 (ko) 차선 인식 시스템 및 방법
WO2011052826A1 (ko) 이동 로봇의 위치 인식을 위한 지도 생성 및 갱신 방법
WO2020246655A1 (ko) 상황 인지 방법 및 이를 수행하는 장치
WO2016108327A1 (ko) 차량검출방법, 차량검출을 위한 데이터베이스의 구조, 및 차량검출을 위한 데이터베이스 구축방법
WO2019124602A1 (ko) 객체 추적 방법 및 이를 수행하는 장치들
JP2021163503A (ja) 2次元カメラによる3次元の姿勢推定
WO2021241804A1 (ko) 다중 플로우 기반 프레임 보간 장치 및 방법
WO2021235682A1 (en) Method and device for performing behavior prediction by using explainable self-focused attention
WO2021215710A1 (en) Method for preventing breach of original data for deep learning and data breach preventing device using them
WO2019045147A1 (ko) 딥러닝을 pc에 적용하기 위한 메모리 최적화 방법
WO2019240330A1 (ko) 영상 기반 힘 예측 시스템 및 그 방법
WO2020050456A1 (ko) 설비 데이터의 이상 정도 평가 방법
US11350078B2 (en) 3D pose detection by multiple 2D cameras
WO2020204610A1 (ko) 딥러닝 기반 컬러링 방법, 시스템 및 프로그램
WO2023149603A1 (ko) 다수의 카메라를 이용한 열화상 감시 시스템
WO2016208817A1 (ko) 키 입력을 인터페이스하는 장치 및 방법
WO2023068441A1 (ko) 딥러닝을 이용한 행동 인식 방법 및 그 장치
WO2021235701A1 (en) Method for performing adjustable continual learning on deep neural network model by using selective deep generative replay module and device using the same
WO2022019355A1 (ko) 다중 페이즈 생체 이미지를 이용하여 학습된 뉴럴 네트워크를 이용한 질병 진단 방법 및 이를 수행하는 질병 진단 시스템
WO2020256517A2 (ko) 전방위 화상정보 기반의 자동위상 매핑 처리 방법 및 그 시스템
WO2020209487A1 (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: 17935356

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: 17935356

Country of ref document: EP

Kind code of ref document: A1