WO2013077562A1 - Apparatus and method for setting feature points, and apparatus and method for object tracking using same - Google Patents

Apparatus and method for setting feature points, and apparatus and method for object tracking using same Download PDF

Info

Publication number
WO2013077562A1
WO2013077562A1 PCT/KR2012/008896 KR2012008896W WO2013077562A1 WO 2013077562 A1 WO2013077562 A1 WO 2013077562A1 KR 2012008896 W KR2012008896 W KR 2012008896W WO 2013077562 A1 WO2013077562 A1 WO 2013077562A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
block
feature point
sad
sum
Prior art date
Application number
PCT/KR2012/008896
Other languages
French (fr)
Korean (ko)
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
Priority claimed from KR1020110123372A external-priority patent/KR101700276B1/en
Priority claimed from KR1020110123376A external-priority patent/KR101624182B1/en
Application filed by 에스케이플래닛 주식회사, 시모스 미디어텍(주) filed Critical 에스케이플래닛 주식회사
Publication of WO2013077562A1 publication Critical patent/WO2013077562A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments

Definitions

  • a block having a predetermined size is formed around the specified feature point in an input image, and a block corresponding to the size of the formed block within a preset movement range is provided.
  • each block defined in the moving range is frequency-transformed to obtain the gradient representative value, respectively, and the center point of the block having the largest gradient representative value in the movement range is reassigned to the final feature point.
  • the present invention divides the frame of the input image into a predetermined number of blocks, calculates the sum of absolute difference (SAD) between the current frame and the adjacent frame for each block, and then calculates the SADs between the adjacent frames for each frame. It is related to selecting a frame having the smallest tracking error value as a key frame after calculating the total SAD by calculating the total sum, obtaining the tracking error value for each frame using the total SAD for each frame.
  • SAD sum of absolute difference
  • the object tracking technique is performed by extracting feature points and tracking these feature points in the next image. Extraction of the feature points becomes a strong edge component or corner component of the image because these positions can be maintained and scored even if there is motion. And each feature point is expressed by scoring that expresses value to feature point because of the feature of these components.
  • key frame extraction, highlighting, and indexing of video can be found in digital video search, recognition, tracking, monitoring, and blocking systems that specialize in various video camcorders, recorders, and video players that can be privately owned. To support the function, etc., scene change detection must be performed.
  • the object tracking technology attempts to keep track of the shape or direction while searching for the shape of the same object in the continuous video as much as possible.
  • an object in an image may move or move while maintaining or deforming shape.
  • the error in order to track the shape of a specific object for three-dimensional transformation, the error should be minimized for the shape of the outline representing the object.
  • the error of the shape of the outline in the tracking process for each scene becomes larger.
  • the tracking of the object with the starting point of the scene 9 can reduce the errors in the generation of the depth map required for the stereoscopic transformation, so it is most reasonable to select the frame 9 as the "key frame" corresponding to the starting point of the tracking.
  • an object of the present invention is to obtain a representative value of the change degree for each block in consideration of the peripheral pixel matrix of the feature point specified by the user when the user manually specifies the feature point,
  • a feature point setting device and method for resetting feature points specified by a user based on the representative value and increasing the accuracy of feature point tracking of an object's outline in terms of stereoscopic transformation, and an object tracking device and method using the same are provided. It is.
  • Another object of the present invention is to find a frame with the smallest sum of errors by simple calculations without performing tracking for each frame, and easily select a key frame, and to detect errors generated by the movement of an object.
  • the present invention provides an apparatus and method for setting a feature point that can select a key frame that minimizes a cumulative error using the estimation factor.
  • a feature point defining unit for receiving and storing a feature point corresponding to the initial position of the object from the user with respect to the input image;
  • a block forming unit forming a block having a predetermined size around the designated feature point, and defining blocks corresponding to the size of the formed block within a predetermined moving range;
  • a gradient representative value calculator for frequency transforming each block defined within the moving range to obtain a gradient representative value, respectively;
  • a feature point determiner for reassigning the center point of the block having the largest gradient representative value to the final feature point within the movement range.
  • the SAD calculation unit for dividing the frame of the input image into a predetermined number of blocks, and for each block to obtain a sum of absolute difference (SAD) between the current frame and the adjacent frame for each block;
  • a SAD total calculation unit that calculates a total SAD for each frame by adding up all SADs between adjacent frames;
  • a tracking error calculator which calculates a tracking error value for each frame by using the sum of SADs for each frame;
  • a key frame selecting unit configured to select a frame having the smallest tracking error value as a key frame.
  • a feature point setting unit for setting the feature point of the object by checking the validity of the feature point corresponding to the initial position of the object specified by the user with respect to the input image;
  • An image analyzer extracting motion vector information and residual signal information of each frame from the input image; And generating forward motion vector information for each unit block from the extracted motion vector information, restoring pixel information for a predetermined block from the extracted residual signal, and then positioning information of the set feature point and the forward motion vector information.
  • an object tracking unit for generating optimal position information of the object in each frame from the reconstructed pixel information.
  • the method for setting a feature point provides a recording medium recorded by the program and readable by the electronic device.
  • the key frame selection method provides a recording medium recorded by the program and readable by the electronic device.
  • An object tracking method using the feature point is provided by a program and provides a recording medium that can be read by an electronic device.
  • a variation degree representative value for each block is obtained in consideration of the surrounding pixel matrix of the feature point designated by the user, and the characteristic point designated by the user is determined based on the variation degree representative value. You can reset it.
  • a key frame can be easily selected by finding a frame having the smallest sum of errors by a simple operation without performing tracking for each frame.
  • 1 and 2 are views for explaining a cumulative tracking error relationship for a conventional stereoscopic transformation
  • FIG. 3 is a block diagram schematically showing the configuration of a feature point setting apparatus according to the present invention.
  • FIG. 4 is a view for explaining a method for forming a block according to the present invention.
  • FIG. 5 is a view showing a frequency-converted block according to the present invention.
  • FIG. 6 is an exemplary view for explaining a method for obtaining an inter-frame SAD according to the present invention.
  • FIG. 7 is a graph showing the total SAD of each frame in a scene to be tracked according to the present invention.
  • Figure 3 is a block diagram schematically showing the configuration of a feature point setting apparatus according to the present invention
  • Figure 4 is a view for explaining a method for forming a block according to the present invention
  • Figure 5 shows a frequency-converted block according to the present invention Drawing.
  • the feature point setting device 300 includes a feature point defining unit 310, a block forming unit 320, a gradient representative value calculating unit 330, a feature point determining unit 340, and a sum of absolute difference.
  • a calculator 350 a SAD total calculator 360, a tracking error calculator 370, and a key frame selector 380.
  • the feature point definer 310 receives and stores a feature point corresponding to the initial position of the object from the user with respect to the input image. That is, the user designates a feature point corresponding to the initial position of the object in the input image, and the feature point defining unit 310 stores the feature point specified by the user.
  • the feature points refer to edges or corners.
  • the block forming unit 320 forms a block having a predetermined size based on the feature point specified by the feature point defining unit 310 and defines blocks corresponding to the size of the formed block within a preset movement range.
  • the block forming unit 320 forms an arbitrary block including peripheral pixels around the designated feature point in the input image, and sets a moving range in which the formed block can move to the front, back, left, and right.
  • the moving range of the block may be a range previously defined by the user.
  • blocks that can be formed within the movement range are defined.
  • the block forming unit 420 may block an arbitrary block around the feature point.
  • Block (n) 410 is formed.
  • Block (n) 410 is an arbitrary block including peripheral pixels corresponding to the feature point n.
  • the feature point coordinates (i, j) 400 of block (n) 410 are user defined coordinates, which are before, after, and left by a predefined movable size of d (x), d (y). , You can move right. Therefore, the upper left block 420 and the lower right block 430 refer to a moving range in which the block (n) 410 can move back, forth, left and right. As a result, block (n) has a spatial coordinate that can move by (2 * dx + 2 * dy), that is, a moving range of the block, and a total of (2 * dx + 2 * dy) blocks within the moving range. (n) may be defined.
  • the gradient representative value calculator 330 obtains the gradient representative value of each block by frequency converting all the blocks defined in the moving range set by the block forming unit 320, respectively. If (2 * dx + 2 * dy) blocks are defined in the moving range, the gradient representative value calculator 330 frequency-converts each of the (2 * dx + 2 * dy) blocks and changes the gradient representative value. Obtain each.
  • the gradient representative value calculator 330 performs frequency conversion on each block, and obtains a gradient representative value of each block by summing pixel values corresponding to a high frequency region in the frequency-converted block.
  • a score that gives a value of a feature point in a space that can be moved based on a feature point of a user specified (i, j) coordinates, that is, reliability of the feature point uses an FFT or DFT transform representing a frequency characteristic of the corresponding block (n).
  • a two-dimensional fast fourier transform (FFT) or discrete fourier transform (DFT) in space corresponds to the low-frequency region in the upper left as shown in FIG. 3 in the case of a flat simple image according to the characteristics of the image pixel of the block (n).
  • FFT fast fourier transform
  • DFT discrete fourier transform
  • the gradient representative value calculator 330 calculates a gradient representative value for each block defined in a 2 * dx + 2 * dy space in which an arbitrary block (n) can move in space, that is, a moving range.
  • the feature point determiner 340 reassigns the center point of the block having the largest change representative value within the movement range as the final feature point.
  • the periphery selected as a feature point is simply a flat image or if the change is not large (that is, the change is not large), it is usually not easy to distinguish it from the following image, and if there is a characteristic that can be differentiated (that is, the change between pixels). It is easy to compare this change in the next image. In other words, the part with a large degree of change is easy to track, and tracking error becomes small. If a specific part is selected as a feature point according to the user's intention for this reason, the feature point setting device 300 may reselect the feature point as a feature point that is more easily tracked within a preset movement range.
  • the SAD calculator 350 divides the frame of the input image into a predetermined number of blocks, and then obtains SAD between the current frame and the previous frame, and the current frame and the subsequent frame, for each block.
  • the block is an N ⁇ N sized block, for example, a 16 ⁇ 16 size block, an 8 ⁇ 8 size block, or a 4 ⁇ 4 sized block.
  • Each block is called Macro Block and is divided into small blocks of appropriate size according to the size of the whole image. Generally, each block is divided into 16x16 ⁇ 32x32.
  • SAD sum of absolute difference
  • the SAD calculator 350 calculates SADs between the current frame and the adjacent frame for each block by using Equation 1, respectively.
  • the adjacent frame refers to a previous frame of the current frame and a subsequent frame of the current frame.
  • fn is the number of frames
  • bm is the m-th block of the frame
  • i is the order of the pixels of the block
  • abs is the absolute value.
  • the SAD calculator 350 obtains SAD between the current frame and the previous frame, and SAD between the current frame and the subsequent frame, for each block.
  • the SAD calculator 350 performs SAD between blocks bm at the same position in each frame, that is, SAD (fn-1, bm) between the current frame block bm and the previous frame block bm, and SAD between the current frame and the next frame block bm ( fn, bm) are obtained respectively.
  • the SAD total calculation unit 350 obtains the SAD total by adding up all the SADs of each block for each frame.
  • the SAD sum calculator 360 obtains a first SAD sum by adding the SADs for all blocks between the current frame and the previous frame, and adds the SADs for all blocks between the current frame and the next frame and adds a second SAD sum. After the calculation, the first SAD sum and the second SAD sum are summed to obtain a total SAD for each frame.
  • the SAD sum calculating unit 360 obtains a second SAD sum SAD (fn) by adding the SADs of all blocks between the current frame and subsequent frames as shown in Equation 2.
  • j is an index of the block number.
  • the SAD (fn) obtained in Equation 2 is the sum of SADs between the current frame and the subsequent frame, and the SAD total calculation unit 360 should consider the previous frame as well as the subsequent frame to obtain the SAD total in the current frame.
  • the SAD sum calculator 360 calculates the sum SAD for each frame t SAD (fn) by using Equation 3 below.
  • SAD (fn-1) is a first SAD sum obtained by adding the SADs of all blocks between the current frame and the previous frame
  • SAD (fn) is a sum obtained by adding the SADs of all blocks between the current frame and the next frame. 2 means SAD sum.
  • the SAD sum calculated by the SAD sum calculation unit 360 is a representative value representing the magnitude of the inter-frame variability, that is, the difficulty of tracking.
  • the SAD total calculation unit 360 represents the total SAD obtained for each frame in a graph, it is as shown in FIG. 7. Referring to FIG. 7, the total SAD (tSAD (fn)) of each frame in a scene to be tracked is shown.
  • the tracking error calculator 370 calculates a tracking error value for each frame by using the SAD total for each frame obtained by the SAD total calculator 360.
  • the tracking error calculator 370 calculates a tracking error value by accumulating the SAD total and its SAD total obtained up to the previous frame for each frame of the scene to be tracked.
  • a tracking error value between a current frame (fn) and a subsequent frame (frame (fn + 1)) may be obtained by using Equation 3, but in frame (fn + 1) The sum of consecutive errors between the next frame (fn + 2) must take into account the error reflected in the previous frame. Consequently, the tracking error value from frame (fn + 1) to frame (fn + 2) is compared with the previous tracking error value. Add up.
  • the tracking error value in frame fn is tSAD (fn).
  • the tracking error value for each frame obtained by the tracking error calculator 370 is represented by a graph as shown in FIG. 8.
  • the tracking error value of the frame f (n + 1) is a result of accumulating the sum of its own SADs on the tracking error value of the frame fn.
  • the tracking error value of the frame f (n + 2) is a result of accumulating the sum of its own SADs on the tracking error value of f (n + 1).
  • the key frame selecting unit 380 selects a frame having the smallest tracking error value as the key frame among the tracking error values obtained by the tracking error calculating unit 370.
  • the key frame selector 380 selects fn as a key frame of the scene.
  • the precondition that the feature point setting device 300 configured as described above selects a key frame by using the SAD is that the tracking of a specific object from one image to another image including motion is more relative to the motion of the image. This increases the tracking error of the image. Of course, a lot of movement does not increase tracking error, but on the average, a lot of movement means that there is a lot of volatility of a specific object to be tracked, which makes tracking difficult.
  • the feature point setting device 300 obtains SAD between frames and selects a key frame using the SAD.
  • FIG. 9 is a block diagram schematically illustrating a configuration of an object tracking apparatus using feature points according to an embodiment of the present invention.
  • the object tracking apparatus 900 using the feature points includes a feature point setter 910, an image analyzer 920, and an object tracker 930.
  • the feature point setting unit 910 sets the feature point of the object by checking whether the feature point corresponding to the initial position of the object designated by the user is valid.
  • the feature point setting unit 910 forms an arbitrary block around a feature point designated by a user in the input image, sets a moving range of the formed block, and then frequency-converts each block within the moving range of the block. Representative values of gradients are obtained for each block. Then, the feature point setting unit 910 sets the center point of the block having the largest gradient representative value within the movement range as the final feature point. Description of the method for setting the feature point by the feature point setting unit 910 is the same as the operation of the feature point setting apparatus in FIG. 3, and thus a detailed description thereof will be omitted.
  • the image analyzer 920 extracts motion vector information and residual signal information of each frame from the input image.
  • the object tracker 930 generates forward motion vector information for each unit block from the extracted motion vector information, restores pixel information of a predetermined block from the extracted residual signal, and then stores the feature points.
  • the optimum position information of the object in each frame is generated from the position information of the feature point, the forward motion vector information, and the reconstructed pixel information set by the setting unit 910.
  • the object tracking unit 930 determines the object feature point candidate of the current frame by using the pixel value difference between the current frame and the previous frame, and includes the feature point set by the feature point setting unit 910. A template similar to a predetermined template is searched in a predetermined area surrounding the object feature point candidate of the current frame to determine an object feature point of the current frame.
  • the object tracking unit 930 calculates an optical flow according to the object feature point set by the feature point setting unit 910 by using the pixel value difference between the previous frame and the current frame, and uses the calculated light flow.
  • An object feature point candidate is determined in the current frame.
  • the object tracker 930 uses a template matching to obtain a template similar to a template including the object feature point set by the feature point setter 910 around the determined object feature point candidate of the current frame. Search in the area.
  • the object tracking unit 930 divides the object tracking method using the feature point into two methods, but various conventional methods may be used.
  • FIG. 10 is a flowchart illustrating a method of resetting a feature point designated by a user by the apparatus for setting a feature point according to the present invention
  • FIG. 11 is an exemplary diagram for describing a case in which a feature point according to the present invention is reassigned.
  • the feature point setting apparatus 300 receives and stores a feature point corresponding to an initial position of an object from a user with respect to an input image in operation S1002.
  • the feature point setting apparatus 300 After performing S1002, the feature point setting apparatus 300 forms an arbitrary block around the designated feature point in the input image (S1004), and sets a moving range of the formed block (S1006).
  • Setting the moving range by the feature point setting apparatus 300 means that the formed block is moved within the moving range so that a plurality of blocks are defined. For example, when a moving range is defined as (2 * dx + 2 * dy), (2 * dx + 2 * dy) blocks may be defined in the moving range.
  • the feature point setting apparatus 300 After the operation of S1006, the feature point setting apparatus 300 obtains a representative value of the degree of change of each block by frequency converting each block defined in the movement range (S1008). That is, the feature point setting apparatus 300 frequency-transforms each block, and obtains a representative value of change degree for each block by adding values of a high frequency region in the frequency-converted image.
  • the feature point setting device 300 reassigns the center point of the block having the largest change representative value among the blocks defined in the movement range as the final feature point (S1010).
  • a method of resetting the feature point set by the user by the feature point setting apparatus 300 will be described with reference to FIG. 11.
  • the feature point setting device searches for the surroundings as shown in b to reassign a feature point having a better score.
  • the feature point may be set to use the original designated location.
  • the resolution is 1920x1080 or 1280x720, so it is practically feasible to reassign feature points near 3x3 and 5x5 pixels.
  • FIG. 12 is a flowchart illustrating a method for tracking an object using a feature point in the object tracking device according to the present invention.
  • the object tracking apparatus 900 sets a feature point of an object by checking whether a feature point corresponding to an initial position of an object designated by a user is valid (S1202). That is, the object tracking device 900 forms an arbitrary block around a user-specified feature point in the input image, sets a moving range of the formed block, and then frequency-converts each block defined within the moving range. Representative values of gradients are obtained for each block. Then, the object tracking device 900 sets the center point of the block having the largest change representative value within the moving range as the final feature point.
  • the object tracking device 900 After performing S1202, the object tracking device 900 extracts motion vector information and residual signal information of each frame from the input image (S1204).
  • the object tracking device 900 After the operation of S1204, the object tracking device 900 generates the optimal position information of the object in each frame by using the position information of the set feature point, the motion vector information, and the residual signal information (S1206). That is, the object tracking device 900 generates forward motion vector information for each unit block from the extracted motion vector information, restores pixel information for a predetermined block from the extracted residual signal, and then stores the set feature points.
  • the optimal position information of the object in each frame is generated from the position information, the forward motion vector information, and the reconstructed pixel information.
  • the object tracking apparatus 900 predicts the position coordinates of each feature point in the next frame from the feature point initial position information and the forward motion vector information of the previous frame.
  • the object tracking device 900 extracts at least one candidate position coordinate from the position coordinate of the predicted feature point in order to find the position coordinate of the feature point more accurately. That is, the object tracking device 900 selects and extracts candidate position coordinates within a predetermined range based on the position coordinates of the predicted feature points. Then, the object tracking device 900 measures texture similarity energy, shape similarity energy, and motion similarity energy of each feature point candidate position coordinate, respectively.
  • the present invention can be embodied as computer readable codes on a computer readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.
  • FIG. 13 is a flowchart illustrating a method for selecting a key frame by a feature point setting apparatus according to the present invention.
  • the feature point setting apparatus 300 divides the frame of the input image into a predetermined number of blocks (S1302).
  • the feature point setting apparatus 300 obtains SAD between the current frame and the adjacent frame for each block (S1304).
  • the feature point setting apparatus 300 obtains SAD between the current frame and the previous frame, and SAD between the current frame and the subsequent frame, for each block.
  • the SAD is a sum of absolute differences of all pixels in a block, and as a result, represents a difference of blocks at the same position between frames.
  • the feature point setting apparatus 300 obtains the total SAD by adding the SADs of each block for each frame (S1306).
  • the feature point setting apparatus 300 obtains a first SAD sum by adding the SADs of all blocks between the current frame and the previous frame, obtains a second SAD sum by adding the SADs of all blocks between the current frame and the subsequent frame, and then, The sum of the first SAD and the second SAD is obtained to obtain a total SAD for each frame.
  • the feature point setting apparatus 300 calculates a tracking error value for each frame using the total SAD for each frame (S1308).
  • the feature point setting apparatus 300 calculates a tracking error value by accumulating the total SAD obtained up to the previous frame and its total SAD for each frame of the scene to be tracked.
  • the feature point setting apparatus 300 calculates a tracking error value for each frame of a scene to be tracked using Equation 4 described with reference to FIG. 3.
  • the feature point setting apparatus 300 selects a frame having the smallest tracking error value as a key frame (S1310).
  • the feature point setting apparatus 300 selects a key frame through the above process, but the above process looks complicated but is a simple sum operation and traces because it corresponds to an extremely small amount of operation compared to an operation for tracking an object. You can predict the most optimal key frame before.
  • the feature point setting apparatus 300 may easily select a key frame through a simple inspection and calculation without performing tracking for each frame through the above process.
  • the key frame selection method of the feature point setting apparatus 300 described above can be written in a program, and codes and code segments constituting the program can be easily inferred by a programmer in the art.
  • the program related to the key frame selection method of the feature point setting device 300 is stored in a readable media that can be read by the electronic device, and is tracked by the key frame selection device by being read and executed by the electronic device.
  • a key frame can be selected from the frames in the scene.
  • a representative value of change degree for each block is obtained in consideration of the surrounding pixel matrix of the feature point designated by the user, and the feature point designated by the user is reset based on the change degree representative value. It can be applied to a feature point setting apparatus and method and an object tracking apparatus and method using the same.
  • the present invention can easily select a key frame by finding the frame with the smallest sum of errors by simple calculations without performing tracking for each frame, and estimates the error of the SAD generated by the movement of the object. It can be applied to a feature point setting apparatus and method that can select a key frame that minimizes the cumulative error using.

Abstract

The present invention relates to an apparatus and method for setting feature points, and to an apparatus and method for object tracking using same. According to the present invention, when a user designates feature points, a representative value of variability for each block is obtained in consideration of the pixel matrix surrounding the user-designated feature points, and the user-designated feature points are reset on the basis of the representative value of the variability. Accordingly, in terms of a stereoscopic conversion, the accuracy of feature point tracking for the outer contour of the object may be increased. In addition, a key frame whose total sum of errors is at the minimum can be easily found and selected through only simple calculation without having to track each frame.

Description

특징점 설정 장치 및 방법과 이를 이용한 객체 추적 장치 및 방법Feature point setting device and method and object tracking device and method using same
본 발명은 사용자가 객체의 초기 위치에 해당하는 특징점을 지정한 경우, 입력 영상에서 상기 지정된 특징점을 중심으로 미리 정해진 크기의 블록을 형성하고, 기 설정된 이동범위 내에서 상기 형성된 블록의 크기에 해당하는 블록들을 정의한 후, 상기 이동범위 내에서 정의된 각 블록을 각각 주파수 변환하여 변화도 대표값을 각각 구하고, 상기 이동범위 내에서 변화도 대표값이 가장 큰 블록의 중심점을 최종 특징점으로 재지정하는 것에 관한 것이다.According to an embodiment of the present invention, when a user designates a feature point corresponding to an initial position of an object, a block having a predetermined size is formed around the specified feature point in an input image, and a block corresponding to the size of the formed block within a preset movement range is provided. After the definitions are given, each block defined in the moving range is frequency-transformed to obtain the gradient representative value, respectively, and the center point of the block having the largest gradient representative value in the movement range is reassigned to the final feature point. .
또한, 본 발명은 입력 영상의 프레임을 미리 정해진 일정 개수의 블록으로 나누고, 각각의 블록에 대해 현재 프레임과 인접 프레임간의 SAD(sum of absolute difference)를 각각 구한 후, 각 프레임별로 인접 프레임간의 SAD들을 모두 합하여 SAD 총합을 구하고, 상기 각 프레임별 SAD 총합을 이용하여 프레임별 추적 오류값을 구한 후, 상기 추적 오류값이 가장 작은 프레임을 키 프레임으로 선정하는 것에 관한 것이다.In addition, the present invention divides the frame of the input image into a predetermined number of blocks, calculates the sum of absolute difference (SAD) between the current frame and the adjacent frame for each block, and then calculates the SADs between the adjacent frames for each frame. It is related to selecting a frame having the smallest tracking error value as a key frame after calculating the total SAD by calculating the total sum, obtaining the tracking error value for each frame using the total SAD for each frame.
비디오 영상에서 특정 객체를 검출하고 이를 추적하는 기술은 보안 분야, 얼굴 인식 분야를 중심으로 발전해 왔다. 보안 시스템의 경우, 감시 구역 내에 들어오는 사람을 자동적으로 감시하기 위해서 감시 구역 내로 진입한 객체를 검출하고, 객체의 움직임을 추적하는 것이 필요하다. Techniques for detecting and tracking specific objects in video images have been developed around security and face recognition. In the case of a security system, it is necessary to detect an object entering the surveillance area and to track the movement of the object in order to automatically monitor a person entering the surveillance area.
일반적인 객체추적 기술로는 통상적으로 특징점을 추출하고 다음 영상에서 이러한 특징점을 추적하는 방식으로 수행된다. 특징점의 추출은 영상의 강한 edge 성분이나 corner 성분이 되는데 이런 부분은 움직임이 있더라도 그 위치가 유지되고 또한 점수화가 가능하기 때문이다. 그리고 각 특징점들은 이런 성분의 특징 때문에 모두 특징점으로의 가치를 표현하는 점수화로 표현이 된다. In general, the object tracking technique is performed by extracting feature points and tracking these feature points in the next image. Extraction of the feature points becomes a strong edge component or corner component of the image because these positions can be maintained and scored even if there is motion. And each feature point is expressed by scoring that expresses value to feature point because of the feature of these components.
자동으로 특징점을 찾는다고 하면 바로 이런 점수를 기준으로 높은 점수를 가지는 특징점을 선정하는 것이 가능하지만 수동으로 특징점을 선택한다면 이런 점수화와 무관하게 사용자에 의해 특징점이 선정이 될 수 있고, 사용자에 의해 지정된 특징점을 추적할 경우에는 오류 발생 가능성이 높아진다.Automatically finding feature points makes it possible to select feature points with high scores based on these scores.However, if feature points are manually selected, feature points can be selected by the user regardless of the scoring. Tracking feature points increases the likelihood of errors.
한편, 개인적으로 소장이 가능한 다양한 비디오 캠코더, 녹화기 및 비디오 재생기로부터 전문적인 기능을 담당하는 디지털 비디오 검색, 인식, 추적, 모니터링, 차단 시스템 등에서도 비디오의 대표 프레임(key frame) 추출, 하이라이트 기능 및 인덱싱 기능 등을 지원하려면 장면 전환 검출을 수행해야만 한다.Meanwhile, key frame extraction, highlighting, and indexing of video can be found in digital video search, recognition, tracking, monitoring, and blocking systems that specialize in various video camcorders, recorders, and video players that can be privately owned. To support the function, etc., scene change detection must be performed.
연속적인 동영상에서 특정 객체가 주어지거나 검출하였을 경우 이 객체를 연속적인 영상 내에서 최대한 동일한 객체의 형태를 찾으면서 그 형태 또는 방향 등을 추적하여 유지해 나가고자 하는 것이 객체 추적 기술이다. 일반적으로 영상내의 객체는 형태를 유지하거나 또는 변형되면서 이동 또는 움직일 수 있다.When a specific object is given or detected in a continuous video, the object tracking technology attempts to keep track of the shape or direction while searching for the shape of the same object in the continuous video as much as possible. In general, an object in an image may move or move while maintaining or deforming shape.
통상적으로 카메라내 사람의 움직임 추적 등과 같은 응용분야는 그 객체의 움직임과 관련된 움직임 검출이나 움직임의 방향을 추적하며 그 형태는 중요하지 않지만 입체변환을 위한 객체의 추적은 해당 객체의 형태를 최대한 유지하여야 해당 객체를 표현하는 정확한 외곽 또는 형태를 얻을 수 있다. In general, application fields such as motion tracking of a person in a camera track motion detection or direction of motion related to the motion of the object. Although the shape is not important, the tracking of an object for stereoscopic conversion should maintain the shape of the object as much as possible. You can get the exact outline or shape that represents the object.
따라서 일반 객체 추적 기능과는 다르게 입체 변환을 위해 특정 객체의 형태를 추적하기 위해서는 객체를 표현하는 외곽의 형태에 대해서 그 오류가 최소화되어야 한다. 일반적으로 연속적인 영상에서 객체의 움직임이 증가할수록 각 장면마다의 추적과정에서의 외곽의 형태에 대한 오류는 점점 커진다. Therefore, unlike the general object tracking function, in order to track the shape of a specific object for three-dimensional transformation, the error should be minimized for the shape of the outline representing the object. In general, as the motion of an object increases in successive images, the error of the shape of the outline in the tracking process for each scene becomes larger.
이하, 도 1 및 도 2를 참조하여 입체 변환을 위한 추적 오류 누적 관계를 설명하기로 한다. Hereinafter, a tracking error accumulation relationship for stereoscopic transformation will be described with reference to FIGS. 1 and 2.
도 1과 같이 단방향의 객체 움직임에 대한 추적을 고려한다면, 각 장면마다의 오류가 누적되면서 전체적인 오류의 합은 점점 증가하고, 일정 이상의 오류가 생성되면 더 이상 입체변환을 위한 추적을 할 수가 없다. Considering the tracking of unidirectional object movement as shown in FIG. 1, as the errors accumulate for each scene, the sum of the overall errors gradually increases, and when more than a predetermined error is generated, the tracking for three-dimensional transformation is no longer possible.
그러나, 일반적인 객체의 방향을 추적하기 위한 분야는 이런 오류와 무관하게 방향의 유무만을 알면 되기 때문에 객체의 추적에 영향을 받지 않는다. However, the field for tracking the general object's direction is not affected by the object's tracking because it only needs to know the direction of the object regardless of this error.
그리고 오류를 좀 더 최소화시키기 위해서 양방향의 객체 추적을 고려하여, 도 2와 같이 7번 프레임에서 특정 객체를 추적하면서 발생되는 누적오류와 9번 프레임에서 특정 객체를 추적하면서 발생되는 누적 오류를 비교해 보면 양 방향의 총 오류의 합, 즉 그래프에서 곡선 밑면 면적의 총합은 9번 프레임이 더 작다.In addition, in order to minimize the error further, in consideration of bidirectional object tracking, comparing the cumulative error generated while tracking a specific object in frame 7 and the cumulative error generated by tracking a specific object in frame 9 as shown in FIG. The sum of the total errors in both directions, the sum of the area under the curve in the graph, is less than frame 9.
즉, 일반적인 카메라의 객체 추적과 같은 경우는 어떤 경우든 객체를 찾아내고 방향의 위치를 추적하였다면 7번 프레임이나 9번 프레임에서 특정 객체를 지정하고 이를 추적하는 결과에 대해서는 같지만, 입체변환을 위한 객체의 추적에서는 9번 장면을 시작점으로 객체를 추적하는 것이 입체변환에 필요한 깊이 맵의 생성에서 오류를 줄일 수 있음으로 9번 프레임을 추적의 시작점에 해당하는 "key Frame"으로 선정하여야만 가장 합리적이다.That is, in the case of tracking an object of a general camera, if the object is found and the position of the direction is tracked in any case, the result of designating and tracking a specific object in frame 7 or frame 9 is the same, but the object for stereo conversion In the tracking of the object, the tracking of the object with the starting point of the scene 9 can reduce the errors in the generation of the depth map required for the stereoscopic transformation, so it is most reasonable to select the frame 9 as the "key frame" corresponding to the starting point of the tracking.
그러나, 상기와 같이 선정된 장면(Scene) 내에서 각 프레임마다 매번 좌, 우를 전체적으로 추적(tracking)해 보고 이렇게 해서 얻어진 오류의 총합이 작은 것을 키 프레임으로 선정하는 경우는 모든 가능한 조합을 수행하는 것으로 현실적으로 불가능한 단점이 있다. However, in each of the frames selected as described above, the left and right tracks are tracked for each frame as a whole, and when selecting a key frame having a small sum of the errors obtained in this way, all possible combinations are performed. There is a disadvantage which is impossible in reality.
본 발명은 전술한 단점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 수동으로 사용자가 특징점을 지정할 경우에 사용자에 의해 지정된 특징점의 주변 화소 매트릭스를 고려하여 각 블록별 변화도 대표값을 구하고, 그 변화도 대표값을 근거로 사용자에 의해 지정된 특징점을 재설정하며, 입체 변환의 관점에서 객체의 외곽선에 대한 특징점 추적의 정확도를 높일 수 있는 특징점 설정 장치 및 방법과 이를 이용한 객체 추적 장치 및 방법을 제공하는데 있다.The present invention has been made to solve the above-mentioned disadvantages, an object of the present invention is to obtain a representative value of the change degree for each block in consideration of the peripheral pixel matrix of the feature point specified by the user when the user manually specifies the feature point, A feature point setting device and method for resetting feature points specified by a user based on the representative value and increasing the accuracy of feature point tracking of an object's outline in terms of stereoscopic transformation, and an object tracking device and method using the same are provided. It is.
또한, 본 발명의 다른 목적은 각 프레임마다 추적(tracking)을 수행하지 않고 간단한 연산만으로 오류의 총합이 가장 작은 프레임을 찾아서 손쉽게 key frame을 선정할 수 있고, 객체의 움직임으로 발생하는 SAD를 오류를 추정하는 인자로 사용하여 누적오류를 최소화하는 키 프레임을 선정할 수 있는 특징점 설정 장치 및 방법을 제공하는데 있다. In addition, another object of the present invention is to find a frame with the smallest sum of errors by simple calculations without performing tracking for each frame, and easily select a key frame, and to detect errors generated by the movement of an object. The present invention provides an apparatus and method for setting a feature point that can select a key frame that minimizes a cumulative error using the estimation factor.
전술한 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 입력 영상에 대해 사용자로부터 객체의 초기 위치에 해당하는 특징점을 지정받아 저장하는 특징점 정의부; 상기 지정된 특징점을 중심으로 미리 정해진 크기의 블록을 형성하고, 기 설정된 이동범위 내에서 상기 형성된 블록의 크기에 해당하는 블록들을 정의하는 블록 형성부; 상기 이동범위 내에서 정의된 각 블록을 각각 주파수 변환하여 변화도 대표값을 각각 구하는 변화도 대표값 계산부; 및 상기 이동범위 내에서 변화도 대표값이 가장 큰 블록의 중심점을 최종 특징점으로 재지정하는 특징점 결정부를 포함하는 특징점 설정 장치가 제공된다.According to an aspect of the present invention for achieving the above object, a feature point defining unit for receiving and storing a feature point corresponding to the initial position of the object from the user with respect to the input image; A block forming unit forming a block having a predetermined size around the designated feature point, and defining blocks corresponding to the size of the formed block within a predetermined moving range; A gradient representative value calculator for frequency transforming each block defined within the moving range to obtain a gradient representative value, respectively; And a feature point determiner for reassigning the center point of the block having the largest gradient representative value to the final feature point within the movement range.
여기서, 상기 입력 영상의 프레임을 미리 정해진 일정 개수의 블록으로 나눈 후, 각각의 블록에 대해 현재 프레임과 인접 프레임간의 SAD(sum of absolute difference)를 각각 구하는 SAD 계산부; 상기 인접 프레임간의 SAD를 모두 합하여 각 프레임별 SAD 총합을 구하는 SAD 총합 계산부; 상기 각 프레임별 SAD 총합을 이용하여 프레임별 추적 오류값을 구하는 추적 오류 계산부; 및 상기 추적 오류값이 가장 작은 프레임을 키 프레임(Key Frame)으로 선정하는 키 프레임 선정부를 더 포함할 수 있다.Here, the SAD calculation unit for dividing the frame of the input image into a predetermined number of blocks, and for each block to obtain a sum of absolute difference (SAD) between the current frame and the adjacent frame for each block; A SAD total calculation unit that calculates a total SAD for each frame by adding up all SADs between adjacent frames; A tracking error calculator which calculates a tracking error value for each frame by using the sum of SADs for each frame; And a key frame selecting unit configured to select a frame having the smallest tracking error value as a key frame.
한편, 전술한 목적을 달성하기 위한 본 발명의 다른 측면에 따르면, 입력 영상에 대해 사용자에 의해 지정된 객체의 초기 위치에 해당하는 특징점의 타당 여부를 검사하여 객체의 특징점을 설정하는 특징점 설정부; 상기 입력 영상에서 각 프레임의 움직임 벡터 정보 및 잔차 신호 정보를 추출하는 영상 분석부; 및 상기 추출된 움직임 벡터 정보로부터 각 단위 블록에 대한 순방향 움직임 벡터 정보를 생성하고, 상기 추출된 잔차 신호로부터 일정 블록에 대한 픽셀 정보를 복원한 후, 상기 설정된 특징점의 위치정보, 상기 순방향 움직임 벡터 정보 및 상기 복원된 픽셀 정보로부터 각 프레임에서의 객체의 최적위치정보를 생성하는 객체 추적부를 포함하는 특징점을 이용한 객체 추적 장치가 제공된다.On the other hand, according to another aspect of the present invention for achieving the above object, a feature point setting unit for setting the feature point of the object by checking the validity of the feature point corresponding to the initial position of the object specified by the user with respect to the input image; An image analyzer extracting motion vector information and residual signal information of each frame from the input image; And generating forward motion vector information for each unit block from the extracted motion vector information, restoring pixel information for a predetermined block from the extracted residual signal, and then positioning information of the set feature point and the forward motion vector information. And an object tracking unit for generating optimal position information of the object in each frame from the reconstructed pixel information.
한편, 전술한 목적을 달성하기 위한 본 발명의 또 다른 측면에 따르면, (a)입력영상에 대해 사용자로부터 객체의 초기 위치에 해당하는 특징점을 지정받아 저장하는 단계; (b)상기 입력영상에서 상기 지정된 특징점을 중심으로 미리 정해진 크기의 블록을 형성하고, 기 설정된 이동범위 내에서 상기 형성된 블록의 크기에 해당하는 블록들을 정의하는 단계; (c)상기 이동범위 내에서 정의된 각 블록을 각각 주파수 변환하여 변화도 대표값을 각각 구하는 단계; 및 (d)상기 이동범위 내에서 변화도 대표값이 가장 큰 블록의 중심점을 최종 특징점으로 재지정하는 단계를 포함하는 특징점 설정 장치의 특징점 설정 방법이 제공된다.On the other hand, according to another aspect of the present invention for achieving the above object, (a) receiving a feature point corresponding to the initial position of the object from the user with respect to the input image; (b) forming a block having a predetermined size based on the designated feature point in the input image, and defining blocks corresponding to the size of the formed block within a preset movement range; (c) obtaining frequency representative values by frequency converting each of the blocks defined within the moving range; And (d) reassigning the center point of the block having the largest gradient representative value within the movement range as the final feature point.
또한, 상기 특징점 설정 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체를 제공한다.In addition, the method for setting a feature point provides a recording medium recorded by the program and readable by the electronic device.
한편, 전술한 목적을 달성하기 위한 본 발명의 또 다른 측면에 따르면, (a) 입력영상의 프레임을 미리 정해진 일정 개수의 블록으로 나누는 단계; (b) 상기 일정 개수의 각각의 블록에 대해 현재 프레임과 인접 프레임간의 SAD를 각각 구하는 단계; (c) 상기 인접 프레임간의 SAD들을 모두 합하여 각 프레임별 SAD 총합을 구하는 단계; (d) 상기 각 프레임별 SAD 총합을 이용하여 프레임별 추적 오류값을 구하는 단계; 및 (e) 상기 추적 오류값이 가장 작은 프레임을 키 프레임으로 선정하는 단계를 포함하는 특징점 설정 장치의 키 프레임 선정 방법이 제공된다.On the other hand, according to another aspect of the present invention for achieving the above object, (a) dividing the frame of the input image into a predetermined number of blocks; (b) obtaining SADs between a current frame and an adjacent frame for each of the predetermined number of blocks; (c) summing all SADs between adjacent frames to obtain a sum of SADs for each frame; (d) obtaining a tracking error value for each frame using the total SAD for each frame; And (e) selecting a frame having the smallest tracking error value as a key frame.
또한, 상기 키 프레임 선정 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체를 제공한다.In addition, the key frame selection method provides a recording medium recorded by the program and readable by the electronic device.
한편, 전술한 목적을 달성하기 위한 본 발명의 또 다른 측면에 따르면, (a) 입력영상에 대해 사용자에 의해 지정된 객체의 초기 위치에 해당하는 특징점의 타당 여부를 검사하여 객체의 특징점을 설정하는 단계; (b) 상기 입력영상에서 각 프레임의 움직임 벡터 정보 및 잔차 신호 정보를 추출하는 단계; 및 (c) 상기 추출된 움직임 벡터 정보로부터 각 단위 블록에 대한 순방향 움직임 벡터 정보를 생성하고, 상기 추출된 잔차 신호로부터 일정 블록에 대한 픽셀 정보를 복원한 후, 상기 설정된 특징점의 위치정보, 상기 순방향 움직임 벡터 정보 및 상기 복원된 픽셀 정보로부터 각 프레임에서의 객체의 최적위치정보를 생성하는 단계를 포함하는 객체 추적 장치의 특징점을 이용한 객체 추적 방법이 제공된다.Meanwhile, according to another aspect of the present invention for achieving the above object, (a) setting the feature point of the object by checking the validity of the feature point corresponding to the initial position of the object specified by the user for the input image ; (b) extracting motion vector information and residual signal information of each frame from the input image; And (c) generating forward motion vector information for each unit block from the extracted motion vector information, restoring pixel information for a predetermined block from the extracted residual signal, and then positioning information of the set feature point and the forward direction. There is provided an object tracking method using feature points of an object tracking apparatus, the method comprising generating optimal position information of an object in each frame from motion vector information and the reconstructed pixel information.
그리고, 상기 특징점을 이용한 객체 추적 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체를 제공한다.An object tracking method using the feature point is provided by a program and provides a recording medium that can be read by an electronic device.
본 발명에 따르면, 수동으로 사용자가 특징점을 지정할 경우에 사용자에 의해 지정된 특징점의 주변 화소 매트릭스를 고려하여 각 블록별 변화도 대표값을 구하고, 그 변화도 대표값을 근거로 사용자에 의해 지정된 특징점을 재설정할 수 있다. According to the present invention, when a user manually designates a feature point, a variation degree representative value for each block is obtained in consideration of the surrounding pixel matrix of the feature point designated by the user, and the characteristic point designated by the user is determined based on the variation degree representative value. You can reset it.
또한, 입체 변환의 관점에서 객체의 외곽선에 대한 특징점 추적의 정확도를 높일 수 있다. In addition, it is possible to increase the accuracy of feature point tracking on the outline of the object in terms of stereoscopic transformation.
또한, 각 프레임마다 추적(tracking)을 수행하지 않고 간단한 연산만으로 오류의 총합이 가장 작은 프레임을 찾아서 손쉽게 key frame을 선정할 수 있다. In addition, a key frame can be easily selected by finding a frame having the smallest sum of errors by a simple operation without performing tracking for each frame.
그리고, 객체의 움직임으로 발생하는 SAD를 오류를 추정하는 인자로 사용하여 누적오류를 최소화하는 키 프레임을 선정할 수 있다.And, using the SAD generated by the movement of the object as a factor for estimating the error can be selected a key frame that minimizes the cumulative error.
도 1 및 도 2는 종래의 입체 변환을 위한 추적 오류 누적 관계를 설명하기 위한 도면,1 and 2 are views for explaining a cumulative tracking error relationship for a conventional stereoscopic transformation,
도 3은 본 발명에 따른 특징점 설정 장치의 구성을 개략적으로 나타낸 블록도, 3 is a block diagram schematically showing the configuration of a feature point setting apparatus according to the present invention;
도 4는 본 발명에 따른 블록을 형성하는 방법을 설명하기 위한 도면, 4 is a view for explaining a method for forming a block according to the present invention;
도 5는 본 발명에 따른 주파수 변환된 블록을 나타낸 도면,5 is a view showing a frequency-converted block according to the present invention;
도 6은 본 발명에 따른 프레임간 SAD를 구하는 방법을 설명하기 위한 예시도, 6 is an exemplary view for explaining a method for obtaining an inter-frame SAD according to the present invention;
도 7은 본 발명에 따른 추적하고자 하는 장면(Scene)내의 각 프레임의 SAD 총합을 나타낸 그래프, 7 is a graph showing the total SAD of each frame in a scene to be tracked according to the present invention;
도 8은 본 발명에 따른 프레임별 추적 오류값을 그래프로 표현한 도면,8 is a graph representing a tracking error value for each frame according to the present invention;
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 보다 상세히 설명하기로 한다. 첨부 도면을 참조하여 설명함에 있어 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the description with reference to the accompanying drawings, the same or corresponding components will be given the same reference numerals and redundant description thereof will be omitted.
도 3은 본 발명에 따른 특징점 설정 장치의 구성을 개략적으로 나타낸 블록도, 도 4는 본 발명에 따른 블록을 형성하는 방법을 설명하기 위한 도면, 도 5는 본 발명에 따른 주파수 변환된 블록을 나타낸 도면이다. Figure 3 is a block diagram schematically showing the configuration of a feature point setting apparatus according to the present invention, Figure 4 is a view for explaining a method for forming a block according to the present invention, Figure 5 shows a frequency-converted block according to the present invention Drawing.
도 3을 참조하면, 특징점 설정 장치(300)는 특징점 정의부(310), 블록 형성부(320), 변화도 대표값 계산부(330), 특징점 결정부(340), SAD(sum of absolute difference) 계산부(350), SAD 총합 계산부(360), 추적 오류 계산부(370), 키 프레임(Key Frame) 선정부(380)를 포함한다.Referring to FIG. 3, the feature point setting device 300 includes a feature point defining unit 310, a block forming unit 320, a gradient representative value calculating unit 330, a feature point determining unit 340, and a sum of absolute difference. ) A calculator 350, a SAD total calculator 360, a tracking error calculator 370, and a key frame selector 380.
특징점 정의부(310)는 입력 영상에 대해 사용자로부터 객체의 초기 위치에 해당하는 특징점을 지정받아 저장한다. 즉, 사용자는 입력 영상에서 객체의 초기 위치에 해당하는 특징점을 지정하고, 특징점 정의부(310)는 사용자에 의해 지정된 특징점을 저장한다. 여기서, 특징점은 에지 또는 코너 등을 말한다. The feature point definer 310 receives and stores a feature point corresponding to the initial position of the object from the user with respect to the input image. That is, the user designates a feature point corresponding to the initial position of the object in the input image, and the feature point defining unit 310 stores the feature point specified by the user. Here, the feature points refer to edges or corners.
블록 형성부(320)는 특징점 정의부(310)에서 지정된 특징점을 중심으로 미리 정해진 크기의 블록을 형성하고, 기 설정된 이동범위 내에서 상기 형성된 블록의 크기에 해당하는 블록들을 정의한다. The block forming unit 320 forms a block having a predetermined size based on the feature point specified by the feature point defining unit 310 and defines blocks corresponding to the size of the formed block within a preset movement range.
즉, 블록 형성부(320)는 입력영상에서 상기 지정된 특징점을 중심으로 주변 화소들을 포함하는 임의의 블록을 형성하고, 상기 형성된 블록이 전, 후, 좌, 우로 이동 가능한 이동 범위를 설정한다. 여기서, 상기 블록의 이동 범위는 사전에 사용자에 의해 정의된 범위일 수 있다. 상기 이동범위의 설정에 의해 상기 이동범위 내에서 형성될 수 있는 블록들이 정의된다. That is, the block forming unit 320 forms an arbitrary block including peripheral pixels around the designated feature point in the input image, and sets a moving range in which the formed block can move to the front, back, left, and right. Here, the moving range of the block may be a range previously defined by the user. By the setting of the movement range, blocks that can be formed within the movement range are defined.
블록 형성부(320)가 블록을 형성하는 방법에 대해 도 4를 참조하면, 영상 내에서 특징점 (i,j)(400)가 주어지면, 블록 형성부(420)는 특징점을 중심으로 임의의 블록 block(n)(410)을 형성한다. block(n)(410)은 특징점 n에 해당하는 주변 화소를 포함하는 임의의 block이다.Referring to FIG. 4 for how the block forming unit 320 forms a block, when the feature point (i, j) 400 is given in the image, the block forming unit 420 may block an arbitrary block around the feature point. Block (n) 410 is formed. Block (n) 410 is an arbitrary block including peripheral pixels corresponding to the feature point n.
block(n)(410)의 특징점 좌표(i,j)(400)는 사용자가 정의한 좌표로, 이것은 사전에 정의된 움직일 수 있는 크기인 d(x), d(y)만큼 전,후, 좌, 우로 이동이 가능하다. 따라서, 최좌상단 블록(420) 및 최우하단 블록(430)은 block(n)(410)이 전후좌우로 이동 가능한 이동범위를 말한다. 결과적으로 block(n)은 (2*dx + 2*dy)만큼 움직일 수 있는 공간상의 좌표 즉, 블록의 이동범위가 정해지고, 상기 이동범위 내에는 총 (2*dx + 2*dy)개의 block(n)이 정의될 수 있다.The feature point coordinates (i, j) 400 of block (n) 410 are user defined coordinates, which are before, after, and left by a predefined movable size of d (x), d (y). , You can move right. Therefore, the upper left block 420 and the lower right block 430 refer to a moving range in which the block (n) 410 can move back, forth, left and right. As a result, block (n) has a spatial coordinate that can move by (2 * dx + 2 * dy), that is, a moving range of the block, and a total of (2 * dx + 2 * dy) blocks within the moving range. (n) may be defined.
변화도 대표값 계산부(330)는 블록 형성부(320)에서 설정된 이동범위에서 정의된 모든 블록을 각각 주파수 변환하여 각 블록의 변화도 대표값을 각각 구한다. 상기 이동범위에 (2*dx + 2*dy)개의 블록이 정의된다면, 변화도 대표값 계산부(330)는 (2*dx + 2*dy)개의 블록 각각을 주파수 변환하고 변화도 대표값을 각각 구한다. The gradient representative value calculator 330 obtains the gradient representative value of each block by frequency converting all the blocks defined in the moving range set by the block forming unit 320, respectively. If (2 * dx + 2 * dy) blocks are defined in the moving range, the gradient representative value calculator 330 frequency-converts each of the (2 * dx + 2 * dy) blocks and changes the gradient representative value. Obtain each.
즉, 변화도 대표값 계산부(330)는 상기 각 블록에 대해 주파수 변환을 수행하고, 상기 주파수 변환된 블록에서 고주파 영역에 해당하는 픽셀 값들을 합하여 각 블록의 변화도 대표값을 구한다. That is, the gradient representative value calculator 330 performs frequency conversion on each block, and obtains a gradient representative value of each block by summing pixel values corresponding to a high frequency region in the frequency-converted block.
사용자가 지정한 (i,j)좌표의 특징점을 기준으로 움직일 수 있는 공간상에서 특징점의 가치를 부여하는 점수, 즉 특징점의 신뢰성은 해당 block(n)의 주파수 특성을 표현하는 FFT 또는 DFT 변환을 이용한다. A score that gives a value of a feature point in a space that can be moved based on a feature point of a user specified (i, j) coordinates, that is, reliability of the feature point, uses an FFT or DFT transform representing a frequency characteristic of the corresponding block (n).
즉 공간상에서의 2차원 FFT(Fast Fourier Transform) 또는 DFT(Discrete Fourier Transform)는 해당 block(n)의 영상 화소의 특징에 따라서 밋밋한 단순한 영상의 경우는 도 3과 같이 왼쪽 상단의 저주파 영역에 해당하는 값들이 커지고, 변화도가 큰 경우(즉, 화소간의 변화가 큰 경우)는 오른쪽 하단의 고주파 영역에 해당하는 값들이 커진다.That is, a two-dimensional fast fourier transform (FFT) or discrete fourier transform (DFT) in space corresponds to the low-frequency region in the upper left as shown in FIG. 3 in the case of a flat simple image according to the characteristics of the image pixel of the block (n). When the values become large and the degree of change is large (that is, when the change between pixels is large), the values corresponding to the high frequency region at the lower right become large.
주파수 영역으로 변환된 FFT 또는 DFT표에서 변화도의 강도를 표현할 수 있는 고주파 영역의 값을 이용하면 결과적으로 영상의 변화도와 비례하는 대표값을 얻을 수 있으므로, 고주파 영역에 해당하는 화소 값들의 총합을 해당 block(n)의 변화도 대표값으로 구한다. Using the values of the high frequency range that can express the intensity of the gradient in the FFT or DFT table converted to the frequency domain, a representative value proportional to the change of the image can be obtained. Therefore, the sum of the pixel values corresponding to the high frequency range is obtained. The change in the block (n) is also obtained as a representative value.
즉, 변화도 대표값 계산부(330)는 임의 block(n)이 공간상으로 움직일 수 있는 2*dx + 2*dy 공간 즉, 이동범위 내에 정의된 각각의 블록에 대해서 변화도 대표값을 각각 구한다.That is, the gradient representative value calculator 330 calculates a gradient representative value for each block defined in a 2 * dx + 2 * dy space in which an arbitrary block (n) can move in space, that is, a moving range. Obtain
특징점 결정부(340)는 상기 이동범위 내에서 변화도 대표값이 가장 큰 블록의 중심점을 최종 특징점으로 재지정한다. The feature point determiner 340 reassigns the center point of the block having the largest change representative value within the movement range as the final feature point.
영상간의 특징점 추적을 위한 중요한 요소는 특징점의 주변이 얼마나 다른 부분들과 차별화되어 있느냐에 큰 영향을 받는다. 즉 특징점으로 선정된 주변이 단순하게 밋밋한 영상이거나 변화가 크지 않다면(즉 변화도가 크지 않으면), 통상적으로 다음 영상에서 추적하여 구별하기가 쉽지 않고, 차별화가 가능한 특징이 있으면(즉, 화소간의 변화가 크다면) 다음 영상에서 이러한 변화된 부분과의 비교가 쉽다. 즉 변화도가 큰 부분은 그만큼 추적이 용이하고 추적 오류도 작아진다. 이러한 근거를 이유로 사용자의 의도에 따라서 특정 부분을 특징점으로 선정을 하였다면, 특징점 설정 장치(300)는 이 특징점을 사전에 설정된 이동 범위 내에서 좀더 추적이 용이한 특징점으로 재선정할 수 있다. An important factor for tracking feature points between images is greatly influenced by how different the periphery of feature points is from other parts. In other words, if the periphery selected as a feature point is simply a flat image or if the change is not large (that is, the change is not large), it is usually not easy to distinguish it from the following image, and if there is a characteristic that can be differentiated (that is, the change between pixels). It is easy to compare this change in the next image. In other words, the part with a large degree of change is easy to track, and tracking error becomes small. If a specific part is selected as a feature point according to the user's intention for this reason, the feature point setting device 300 may reselect the feature point as a feature point that is more easily tracked within a preset movement range.
SAD 계산부(350)는 입력 영상의 프레임을 미리 정해진 일정 개수의 블록(block)으로 나눈 후, 각각의 블록에 대해 현재 프레임과 이전 프레임간, 현재 프레임과 이후 프레임간의 SAD를 각각 구한다.The SAD calculator 350 divides the frame of the input image into a predetermined number of blocks, and then obtains SAD between the current frame and the previous frame, and the current frame and the subsequent frame, for each block.
이때, 상기 블록은 N x N 크기의 블록으로, 예를 들면, 16 x 16 크기의 블록, 8 x 8 크기의 블록, 4 x 4 크기의 블록 중 어떠한 크기의 블록도 될 수 있다. 각각의 블록을 Macro Block이라고 부르며 전체 영상의 크기에 따라서 적절한 크기의 작은 블록으로 나누는데, 통상적으로 16x16 ~ 32x32 정도의 크기로 구분한다.In this case, the block is an N × N sized block, for example, a 16 × 16 size block, an 8 × 8 size block, or a 4 × 4 sized block. Each block is called Macro Block and is divided into small blocks of appropriate size according to the size of the whole image. Generally, each block is divided into 16x16 ~ 32x32.
SAD(sum of absolute difference)는 블록내의 모든 pixel의 절대 차이의 합으로, 결과적으로 프레임 간 같은 위치의 블록의 차이점을 표현한다. 따라서, SAD 값이 크다는 의미는 영상의 변화가 크다는 것을 의미한다.The sum of absolute difference (SAD) is the sum of the absolute differences of all the pixels in the block, which in turn represents the difference between the blocks in the same position between frames. Therefore, the large SAD value means that the change of the image is large.
SAD 계산부(350)는 수학식 1을 이용하여 각 블록에 대해 현재 프레임과 인접 프레임 간의 SAD를 각각 구한다. 여기서, 인접 프레임은 현재 프레임의 이전 프레임과 현재 프레임의 이후 프레임을 말한다. The SAD calculator 350 calculates SADs between the current frame and the adjacent frame for each block by using Equation 1, respectively. Here, the adjacent frame refers to a previous frame of the current frame and a subsequent frame of the current frame.
수학식 1
Figure PCTKR2012008896-appb-M000001
Equation 1
Figure PCTKR2012008896-appb-M000001
여기서, fn은 프레임의 number, bm은 해당 프레임의 m번째 블록, i는 해당 블록의 pixel의 순서, abs는 절대치를 의미한다.Here, fn is the number of frames, bm is the m-th block of the frame, i is the order of the pixels of the block, abs is the absolute value.
따라서, SAD 계산부(350)는 각각의 블록에 대해 현재 프레임과 이전 프레임 간의 SAD, 현재 프레임과 이후 프레임 간의 SAD를 각각 구한다.Accordingly, the SAD calculator 350 obtains SAD between the current frame and the previous frame, and SAD between the current frame and the subsequent frame, for each block.
SAD 계산부(350)가 SAD를 구하는 방법에 대해 도 6을 참조하면, 현재 프레임이 Frame(fn)이고, 이전 프레임이 Frame(fn-1), 이후 프레임이 Frame(fn+1)인 경우, SAD 계산부(350)는 각 프레임에서 동일한 위치의 블록(bm)간의 SAD 즉, 현재프레임 블럭 bm과 이전 프레임 블럭 bm간의 SAD(fn-1,bm), 현재 프레임과 이후 프레임 블록 bm간의 SAD(fn,bm)을 각각 구한다. Referring to FIG. 6 for how the SAD calculator 350 obtains the SAD, when the current frame is Frame (fn), the previous frame is Frame (fn-1), and the subsequent frame is Frame (fn + 1), The SAD calculator 350 performs SAD between blocks bm at the same position in each frame, that is, SAD (fn-1, bm) between the current frame block bm and the previous frame block bm, and SAD between the current frame and the next frame block bm ( fn, bm) are obtained respectively.
SAD 총합 계산부(350)는 각 프레임별로 각 블록의 SAD를 모두 합하여 SAD 총합을 구한다.The SAD total calculation unit 350 obtains the SAD total by adding up all the SADs of each block for each frame.
즉, SAD 총합 계산부(360)는 현재 프레임과 이전 프레임간 모든 블록들에 대한 SAD들을 합하여 제1 SAD합을 구하고, 현재 프레임과 이후 프레임간 모든 블록들에 대한 SAD들을 합하여 제2 SAD합을 구한 후, 상기 제1 SAD합과 상기 제2 SAD합을 합하여 프레임별 SAD 총합을 구한다.That is, the SAD sum calculator 360 obtains a first SAD sum by adding the SADs for all blocks between the current frame and the previous frame, and adds the SADs for all blocks between the current frame and the next frame and adds a second SAD sum. After the calculation, the first SAD sum and the second SAD sum are summed to obtain a total SAD for each frame.
다시 말하면, SAD 총합 계산부(360)는 수학식 2와 같이 현재 프레임과 이후 프레임간 모든 블록들의 SAD를 합하여 제2 SAD합(SAD(fn))을 구한다.In other words, the SAD sum calculating unit 360 obtains a second SAD sum SAD (fn) by adding the SADs of all blocks between the current frame and subsequent frames as shown in Equation 2.
수학식 2
Figure PCTKR2012008896-appb-M000002
Equation 2
Figure PCTKR2012008896-appb-M000002
여기서, 상기 j는 Block number의 index를 의미한다.Here, j is an index of the block number.
수학식 2에서 구한 SAD(fn)는 현재 프레임과 이후 프레임간의 SAD들을 합한 것으로, SAD 총합 계산부(360)는 이후 프레임뿐만 아니라 이전 프레임도 함께 고려하여 현재 프레임에서의 SAD총합을 구하여야 한다.The SAD (fn) obtained in Equation 2 is the sum of SADs between the current frame and the subsequent frame, and the SAD total calculation unit 360 should consider the previous frame as well as the subsequent frame to obtain the SAD total in the current frame.
따라서, SAD 총합 계산부(360)는 수학식 3을 이용하여 프레임별 SAD 총합(t SAD(fn))을 구한다.Therefore, the SAD sum calculator 360 calculates the sum SAD for each frame t SAD (fn) by using Equation 3 below.
수학식 3
Figure PCTKR2012008896-appb-M000003
Equation 3
Figure PCTKR2012008896-appb-M000003
여기서, SAD(fn-1)는 현재 프레임과 이전 프레임간 모든 블록들에 대한 SAD들을 합하여 구한 제1 SAD합, SAD(fn)는 현재 프레임과 이후 프레임간 모든 블록들에 대한 SAD들을 합하여 구한 제2 SAD합을 의미한다. Here, SAD (fn-1) is a first SAD sum obtained by adding the SADs of all blocks between the current frame and the previous frame, and SAD (fn) is a sum obtained by adding the SADs of all blocks between the current frame and the next frame. 2 means SAD sum.
SAD 총합 계산부(360)에서 구해진 SAD 총합은 프레임간의 변동성의 크기, 즉 추적의 어려움을 표현하는 대표값이 된다. The SAD sum calculated by the SAD sum calculation unit 360 is a representative value representing the magnitude of the inter-frame variability, that is, the difficulty of tracking.
SAD 총합 계산부(360)가 프레임별로 구한 SAD 총합을 그래프로 표현하면 도 7과 같다. 도 7을 참조하면, 추적하고자 하는 장면(Scene)내의 각 프레임의 SAD 총합(tSAD(fn))를 나타낸다.If the SAD total calculation unit 360 represents the total SAD obtained for each frame in a graph, it is as shown in FIG. 7. Referring to FIG. 7, the total SAD (tSAD (fn)) of each frame in a scene to be tracked is shown.
추적 오류 계산부(370)는 SAD 총합 계산부(360)에서 구해진 각 프레임별 SAD 총합을 이용하여 프레임별 추적 오류값을 구한다. The tracking error calculator 370 calculates a tracking error value for each frame by using the SAD total for each frame obtained by the SAD total calculator 360.
즉, 추적 오류 계산부(370)는 추적하고자 하는 장면의 각 프레임에 대해 이전 프레임까지 구해진 SAD총합과 자신의 SAD총합을 누적하여 추적 오류값을 구한다. That is, the tracking error calculator 370 calculates a tracking error value by accumulating the SAD total and its SAD total obtained up to the previous frame for each frame of the scene to be tracked.
예를 들어, fn이 key frame이라고 가정하면, 현재의 frame(fn)에서 이후 프레임(frame(fn+1))간의 추적 오류값은 수학식 3을 이용하여 구하면 되지만, frame(fn+1)에서 다음 frame(fn+2) 사이의 연속적인 오류의 총합은 이전 프레임에서 반영된 오류를 고려하여야 함으로 결과적으로 frame(fn+1)에서 frame(fn+2)로의 추적 오류값은 이전 추적 오류값과의 합이 된다.For example, assuming fn is a key frame, a tracking error value between a current frame (fn) and a subsequent frame (frame (fn + 1)) may be obtained by using Equation 3, but in frame (fn + 1) The sum of consecutive errors between the next frame (fn + 2) must take into account the error reflected in the previous frame. Consequently, the tracking error value from frame (fn + 1) to frame (fn + 2) is compared with the previous tracking error value. Add up.
즉, 프레임 fn에서의 추적 오류값은 tSAD(fn)가 된다.That is, the tracking error value in frame fn is tSAD (fn).
그러면, 프레임 fn+1, 프레임 fn+2, 프레임 fn+N에서의 추적 오류값은 수학식 4와 같다. Then, the tracking error values in the frame fn + 1, the frame fn + 2, and the frame fn + N are as shown in Equation 4.
수학식 4
Figure PCTKR2012008896-appb-M000004
Equation 4
Figure PCTKR2012008896-appb-M000004
추적 오류 계산부(370)에서 구해진 프레임별 추적 오류값은 도 8과 같은 그래프로 표현된다. The tracking error value for each frame obtained by the tracking error calculator 370 is represented by a graph as shown in FIG. 8.
도 8을 참조하면, 프레임 fn이 키 프레임인 경우로, 프레임 f(n+1)의 추적 오류값은 프레임 fn의 추적 오류값에 자신의 SAD 총합을 누적한 결과가 된다. Referring to FIG. 8, when the frame fn is a key frame, the tracking error value of the frame f (n + 1) is a result of accumulating the sum of its own SADs on the tracking error value of the frame fn.
또한, 프레임 f(n+2)의 추적 오류값은 f(n+1)의 추적 오류값에 자신의 SAD 총합을 누적한 결과임을 알 수 있다. In addition, it can be seen that the tracking error value of the frame f (n + 2) is a result of accumulating the sum of its own SADs on the tracking error value of f (n + 1).
키 프레임 선정부(380)는 추적 오류 계산부(370)에서 구해진 추적 오류값 중에서 추적 오류값이 가장 작은 프레임을 키 프레임으로 선정한다. The key frame selecting unit 380 selects a frame having the smallest tracking error value as the key frame among the tracking error values obtained by the tracking error calculating unit 370.
예를 들어, 도 8을 참조하면, 특정 프레임 fn에서의 추적 오적 오류값이 가장 작음을 알 수 있다. 그러므로 키프레임 선정부(380)는 fn을 해당 장면의 키 프레임으로 선정한다. For example, referring to FIG. 8, it can be seen that the tracking error error value in a specific frame fn is the smallest. Therefore, the key frame selector 380 selects fn as a key frame of the scene.
결과적으로 각 프레임마다 도 8과 같은 그래프를 도출한 후에 각 밑면적, 즉 각 오류곡선의 합이 최소가 되는 프레임을 키 프레임으로 선정한다. As a result, after deriving a graph as shown in FIG. 8 for each frame, a frame in which each base area, that is, the sum of the error curves is minimum is selected as the key frame.
상기와 같이 구성된 특징점 설정 장치(300)가 SAD를 이용하여 키 프레임을 선정하게 된 전제조건은 하나의 영상에서 움직임이 포함된 다른 영상으로의 특정 객체의 추적(tracking)은 영상의 움직임이 많을수록 상대적으로 영상의 추적오류가 커진다. 물론 매번 움직임이 많다고 추적 오류가 커지는 것은 아니지만 평균적으로 움직임이 많다는 것은 그만큼 추적하고자 하는 특정 객체의 변동성이 많이 생긴 것이고 이것은 추적을 어렵게 만들기 때문이다. The precondition that the feature point setting device 300 configured as described above selects a key frame by using the SAD is that the tracking of a specific object from one image to another image including motion is more relative to the motion of the image. This increases the tracking error of the image. Of course, a lot of movement does not increase tracking error, but on the average, a lot of movement means that there is a lot of volatility of a specific object to be tracked, which makes tracking difficult.
따라서, 특징점 설정 장치(300)는 프레임간의 SAD를 구하고, 그 SAD를 이용하여 키 프레임을 선정하게 된 것이다. Therefore, the feature point setting device 300 obtains SAD between frames and selects a key frame using the SAD.
도 9는 본 발명의 실시예에 따른 특징점을 이용한 객체 추적 장치의 구성을 개략적으로 나타낸 블록도이다. 9 is a block diagram schematically illustrating a configuration of an object tracking apparatus using feature points according to an embodiment of the present invention.
도 9를 참조하면, 특징점을 이용한 객체 추적 장치(900)는 특징점 설정부(910), 영상 분석부(920), 객체 추적부(930)를 포함한다. Referring to FIG. 9, the object tracking apparatus 900 using the feature points includes a feature point setter 910, an image analyzer 920, and an object tracker 930.
특징점 설정부(910)는 사용자에 의해 지정된 객체의 초기 위치에 해당하는 특징점의 타당 여부를 검사하여 객체의 특징점을 설정한다. The feature point setting unit 910 sets the feature point of the object by checking whether the feature point corresponding to the initial position of the object designated by the user is valid.
즉, 특징점 설정부(910)는 입력영상에서 사용자가 지정한 특징점을 중심으로 임의의 블록을 형성하고, 상기 형성된 블록의 이동범위를 설정한 후, 상기 블록의 이동범위 내에서 각 블록을 주파수 변환하여 각 블록별로 변화도 대표값을 구한다. 그런 다음 특징점 설정부(910)는 상기 이동범위 내에서 변화도 대표값이 가장 큰 블록의 중심점을 최종 특징점으로 설정한다. 특징점 설정부(910)가 특징점을 설정하는 방법에 대한 설명은 도 3에서 특징점 설정 장치의 동작과 같으므로 그 상세한 설명은 생략하기로 한다.That is, the feature point setting unit 910 forms an arbitrary block around a feature point designated by a user in the input image, sets a moving range of the formed block, and then frequency-converts each block within the moving range of the block. Representative values of gradients are obtained for each block. Then, the feature point setting unit 910 sets the center point of the block having the largest gradient representative value within the movement range as the final feature point. Description of the method for setting the feature point by the feature point setting unit 910 is the same as the operation of the feature point setting apparatus in FIG. 3, and thus a detailed description thereof will be omitted.
영상 분석부(920)는 입력 영상에서 각 프레임의 움직임 벡터 정보 및 잔차 신호 정보를 추출한다. The image analyzer 920 extracts motion vector information and residual signal information of each frame from the input image.
객체 추적부(930)는 상기 추출된 움직임 벡터 정보로부터 각 단위 블록에 대한 순방향 움직임 벡터 정보를 생성하고, 상기 추출된 잔차 신호(Residual Signal)로부터 일정 블록에 대한 픽셀 정보를 복원한 후, 상기 특징점 설정부(910)에서 설정된 특징점의 위치정보, 상기 순방향 움직임 벡터 정보 및 상기 복원된 픽셀 정보로부터 각 프레임에서의 객체의 최적위치정보를 생성한다. The object tracker 930 generates forward motion vector information for each unit block from the extracted motion vector information, restores pixel information of a predetermined block from the extracted residual signal, and then stores the feature points. The optimum position information of the object in each frame is generated from the position information of the feature point, the forward motion vector information, and the reconstructed pixel information set by the setting unit 910.
본 발명의 다른 실시예에 따르면, 객체 추적부(930)는 현재 프레임과 이전프레임 간의 화소값 차이를 이용하여 현재 프레임의 객체 특징점 후보를 결정하고, 상기 특징점 설정부(910)에서 설정된 특징점을 포함하는 소정의 템플릿과 유사한 템플릿을 현재 프레임의 상기 객체 특징점 후보를 둘러싼 소정의 영역에서 검색하여 현재 프레임의 객체 특징점을 결정한다. According to another embodiment of the present invention, the object tracking unit 930 determines the object feature point candidate of the current frame by using the pixel value difference between the current frame and the previous frame, and includes the feature point set by the feature point setting unit 910. A template similar to a predetermined template is searched in a predetermined area surrounding the object feature point candidate of the current frame to determine an object feature point of the current frame.
즉, 객체 추적부(930)는 이전 프레임과 현재 프레임간의 화소값 차이를 이용하여 상기 특징점 설정부(910)에서 설정된 객체 특징점에 따른 광류(optical flow)를 계산하고, 상기 계산된 광류를 이용하여 상기 현재 프레임에서 객체 특징점 후보를 결정한다. 그런 다음 상기 객체 추적부(930)는 템플릿 정합(template matching)을 이용하여 상기 특징점 설정부(910)에서 설정된 객체 특징점을 포함하는 템플릿과 유사한 템플릿을 현재 프레임의 상기 결정된 객체 특징점 후보를 둘러싼 소정의 영역에서 검색한다. That is, the object tracking unit 930 calculates an optical flow according to the object feature point set by the feature point setting unit 910 by using the pixel value difference between the previous frame and the current frame, and uses the calculated light flow. An object feature point candidate is determined in the current frame. The object tracker 930 then uses a template matching to obtain a template similar to a template including the object feature point set by the feature point setter 910 around the determined object feature point candidate of the current frame. Search in the area.
상기에서는 객체 추적부(930)가 특징점을 이용하여 객체를 추적하는 방법에 대해 두 가지로 나누어 설명하였으나, 이는 기존의 다양한 방법을 이용할 수 있다. In the above description, the object tracking unit 930 divides the object tracking method using the feature point into two methods, but various conventional methods may be used.
도 10은 본 발명에 따른 특징점 설정 장치가 사용자에 의해 지정된 특징점을 재설정하는 방법을 나타낸 흐름도, 도 11은 본 발명에 따른 특징점을 재지정한 경우를 설명하기 위한 예시도이다. 10 is a flowchart illustrating a method of resetting a feature point designated by a user by the apparatus for setting a feature point according to the present invention, and FIG. 11 is an exemplary diagram for describing a case in which a feature point according to the present invention is reassigned.
도 10을 참조하면, 특징점 설정 장치(300)는 입력 영상에 대해 사용자로부터 객체의 초기 위치에 해당하는 특징점을 지정받아 저장한다(S1002).Referring to FIG. 10, the feature point setting apparatus 300 receives and stores a feature point corresponding to an initial position of an object from a user with respect to an input image in operation S1002.
상기 S1002의 수행 후, 특징점 설정 장치(300)는 상기 입력영상에서 상기 지정된 특징점을 중심으로 임의의 블록을 형성하고(S1004), 상기 형성된 블록의 이동범위를 설정한다(S1006). 특징점 설정 장치(300)가 이동범위를 설정한다는 것은 상기 형성된 블록이 상기 이동범위내를 이동하여 다수개의 블록이 정의됨을 의미한다. 예를 들어, 이동범위가 (2*dx + 2*dy)로 정의된 경우, 상기 이동범위에는 (2*dx + 2*dy)개의 블록이 정의될 수 있다. After performing S1002, the feature point setting apparatus 300 forms an arbitrary block around the designated feature point in the input image (S1004), and sets a moving range of the formed block (S1006). Setting the moving range by the feature point setting apparatus 300 means that the formed block is moved within the moving range so that a plurality of blocks are defined. For example, when a moving range is defined as (2 * dx + 2 * dy), (2 * dx + 2 * dy) blocks may be defined in the moving range.
상기 S1006의 수행 후, 특징점 설정 장치(300)는 상기 이동범위내에 정의된 각 블록을 주파수 변환하여 각 블록의 변화도 대표값을 각각 구한다(S1008). 즉, 상기 특징점 설정 장치(300)는 각 블록을 주파수 변환하고, 상기 주파수 변환된 영상에서 고주파 영역의 값들을 합하여 블록별 변화도 대표값을 구한다. After the operation of S1006, the feature point setting apparatus 300 obtains a representative value of the degree of change of each block by frequency converting each block defined in the movement range (S1008). That is, the feature point setting apparatus 300 frequency-transforms each block, and obtains a representative value of change degree for each block by adding values of a high frequency region in the frequency-converted image.
상기 S1008의 수행 후, 특징점 설정 장치(300)는 상기 이동범위내에 정의된 블록들 중에서 변화도 대표값이 가장 큰 블록의 중심점을 최종 특징점으로 재지정한다(S1010).After the operation of S1008, the feature point setting device 300 reassigns the center point of the block having the largest change representative value among the blocks defined in the movement range as the final feature point (S1010).
특징점 설정 장치(300)가 사용자에 의해 설정된 특징점을 재설정하는 방법에 대해 도 11을 참조하여 설명하기로 한다.A method of resetting the feature point set by the user by the feature point setting apparatus 300 will be described with reference to FIG. 11.
도 11을 참조하면, a와 같이 사용자가 수작업으로 외곽선 및 특징점을 선정한 경우, 추적의 정확도를 높이기 위해 특징점 설정 장치가 b와 같이 주변을 탐색하여 보다 좋은 점수를 가지는 특징점을 재지정한 예이다. Referring to FIG. 11, when a user manually selects an outline and a feature point as shown in FIG. 11, in order to increase tracking accuracy, the feature point setting device searches for the surroundings as shown in b to reassign a feature point having a better score.
이와 같이 재지정된 특징점을 이용하여 객체를 추적한다면, 연속적인 객체 추적의 오류를 최소화할 수 있다.If objects are tracked using these redefined feature points, errors in continuous object tracking can be minimized.
물론 재지정된 특징점이 사용자의 의도와 다른 위치라고 판단되면 해당 특징점은 원래의 지정된 위치를 사용하도록 하는 설정도 가능하다. 그러나 통상적으로 FULL HD 또는 HD 영상의 경우 해상도가 1920x1080 또는 1280x720 이기 때문에 주변의 3x3, 5x5 화소 근방의 특징점 재지정은 사실상 사용자의 입장에서도 구별하기 어렵기 때문에 현실적으로도 타당성이 있다.Of course, if it is determined that the redesignated feature point is different from the user's intention, the feature point may be set to use the original designated location. However, in the case of FULL HD or HD video, the resolution is 1920x1080 or 1280x720, so it is practically feasible to reassign feature points near 3x3 and 5x5 pixels.
도 12는 본 발명에 따른 객체 추적 장치가 특징점을 이용하여 객체를 추적하는 방법을 나타낸 흐름도이다. 12 is a flowchart illustrating a method for tracking an object using a feature point in the object tracking device according to the present invention.
도 12를 참조하면, 객체 추적 장치(900)는 사용자에 의해 지정된 객체의 초기 위치에 해당하는 특징점의 타당 여부를 검사하여 객체의 특징점을 설정한다(S1202). 즉, 객체 추적 장치(900)는 입력영상에서 사용자가 지정한 특징점을 중심으로 임의의 블록을 형성하고, 상기 형성된 블록의 이동범위를 설정한 후, 상기 이동범위 내에서 정의된 각 블록을 주파수 변환하여 각 블록별로 변화도 대표값을 구한다. 그런 다음 객체 추적 장치(900)는 상기 이동범위내 에서 변화도 대표값이 가장 큰 블록의 중심점을 최종 특징점으로 설정한다. Referring to FIG. 12, the object tracking apparatus 900 sets a feature point of an object by checking whether a feature point corresponding to an initial position of an object designated by a user is valid (S1202). That is, the object tracking device 900 forms an arbitrary block around a user-specified feature point in the input image, sets a moving range of the formed block, and then frequency-converts each block defined within the moving range. Representative values of gradients are obtained for each block. Then, the object tracking device 900 sets the center point of the block having the largest change representative value within the moving range as the final feature point.
상기 S1202의 수행 후, 객체 추적 장치(900)는 입력 영상에서 각 프레임의 움직임 벡터 정보 및 잔차 신호 정보를 추출한다(S1204).After performing S1202, the object tracking device 900 extracts motion vector information and residual signal information of each frame from the input image (S1204).
상기 S1204의 수행 후, 객체 추적 장치(900)는 상기 설정된 특징점의 위치정보, 상기 움직임 벡터 정보 및 잔차 신호 정보를 이용하여 각 프레임에서의 객체의 최적 위치정보를 생성한다(S1206). 즉, 객체 추적 장치(900)는 상기 추출된 움직임 벡터 정보로부터 각 단위 블록에 대한 순방향 움직임 벡터 정보를 생성하고, 상기 추출된 잔차 신호로부터 일정 블록에 대한 픽셀 정보를 복원한 후, 상기 설정된 특징점의 위치정보, 상기 순방향 움직임 벡터 정보 및 상기 복원된 픽셀 정보로부터 각 프레임에서의 객체의 최적위치정보를 생성한다.After the operation of S1204, the object tracking device 900 generates the optimal position information of the object in each frame by using the position information of the set feature point, the motion vector information, and the residual signal information (S1206). That is, the object tracking device 900 generates forward motion vector information for each unit block from the extracted motion vector information, restores pixel information for a predetermined block from the extracted residual signal, and then stores the set feature points. The optimal position information of the object in each frame is generated from the position information, the forward motion vector information, and the reconstructed pixel information.
다시 말하면, 객체 추적 장치(900)는 이전 프레임의 특징점 초기위치정보 및 순방향 움직임 벡터정보로부터 다음 프레임에서 각 특징점이 이동한 위치좌표를 예측한다. 이때, 객체 추적 장치(900)는 보다 정확한 특징점의 위치좌표를 찾기 위해 예측된 특징점의 위치좌표로부터 적어도 하나 이상의 후보위치좌표를 추출한다. 즉, 객체 추적 장치(900)는 예측된 특징점의 위치좌표를 중심으로 일정 범위 내에서 후보위치좌표를 선택하여 추출한다. 그런 다음 객체 추적 장치(900)는 각 특징점 후보위치좌표의 텍스쳐 유사성 에너지, 형태 유사성 에너지 및 움직임 유사성 에너지를 각각 측정한다.In other words, the object tracking apparatus 900 predicts the position coordinates of each feature point in the next frame from the feature point initial position information and the forward motion vector information of the previous frame. In this case, the object tracking device 900 extracts at least one candidate position coordinate from the position coordinate of the predicted feature point in order to find the position coordinate of the feature point more accurately. That is, the object tracking device 900 selects and extracts candidate position coordinates within a predetermined range based on the position coordinates of the predicted feature points. Then, the object tracking device 900 measures texture similarity energy, shape similarity energy, and motion similarity energy of each feature point candidate position coordinate, respectively.
한편 본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.Meanwhile, the present invention can be embodied as computer readable codes on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.
도 13은 본 발명에 따른 특징점 설정 장치가 키 프레임을 선정하는 방법을 나타낸 흐름도이다. 13 is a flowchart illustrating a method for selecting a key frame by a feature point setting apparatus according to the present invention.
도 13을 참조하면, 특징점 설정 장치(300)는 입력 영상의 프레임을 미리 정해진 일정 개수의 블록으로 나눈다(S1302).Referring to FIG. 13, the feature point setting apparatus 300 divides the frame of the input image into a predetermined number of blocks (S1302).
그런 다음 특징점 설정 장치(300)는 각각의 블록에 대해 현재 프레임과 인접 프레임간의 SAD를 각각 구한다(S1304). Thereafter, the feature point setting apparatus 300 obtains SAD between the current frame and the adjacent frame for each block (S1304).
즉, 특징점 설정 장치(300)는 각각의 블록에 대해 현재 프레임과 이전 프레임간의 SAD, 현재 프레임과 이후 프레임간의 SAD를 각각 구한다. 상기 SAD는 블록내의 모든 pixel의 절대 차이의 합으로, 결과적으로 프레임 간 같은 위치의 블록의 차이점을 표현한다.That is, the feature point setting apparatus 300 obtains SAD between the current frame and the previous frame, and SAD between the current frame and the subsequent frame, for each block. The SAD is a sum of absolute differences of all pixels in a block, and as a result, represents a difference of blocks at the same position between frames.
상기 S1304의 수행 후 특징점 설정 장치(300)는 각 프레임별로 각 블록의 SAD를 모두 합하여 SAD 총합을 구한다(S1306). After the operation of S1304, the feature point setting apparatus 300 obtains the total SAD by adding the SADs of each block for each frame (S1306).
즉, 특징점 설정 장치(300)는 현재 프레임과 이전 프레임간 모든 블록의 SAD들을 합하여 제1 SAD합을 구하고, 상기 현재 프레임과 이후 프레임간 모든 블록의 SAD들을 합하여 제2 SAD합을 구한 후, 상기 제1 SAD합과 상기 제2 SAD합을 합하여 프레임별 SAD 총합을 구한다.That is, the feature point setting apparatus 300 obtains a first SAD sum by adding the SADs of all blocks between the current frame and the previous frame, obtains a second SAD sum by adding the SADs of all blocks between the current frame and the subsequent frame, and then, The sum of the first SAD and the second SAD is obtained to obtain a total SAD for each frame.
상기 S1306의 수행 후, 특징점 설정 장치(300)는 상기 각 프레임별 SAD 총합을 이용하여 프레임별 추적 오류값을 구한다(S1308). After the operation of S1306, the feature point setting apparatus 300 calculates a tracking error value for each frame using the total SAD for each frame (S1308).
즉, 특징점 설정 장치(300)는 추적하고자 하는 장면의 각 프레임에 대해 이전 프레임까지 구해진 SAD총합과 자신의 SAD총합을 누적하여 추적 오류값을 구한다.That is, the feature point setting apparatus 300 calculates a tracking error value by accumulating the total SAD obtained up to the previous frame and its total SAD for each frame of the scene to be tracked.
다시 말하면, 특징점 설정 장치(300)는 도 3에서 설명한 수학식 4를 이용하여 추적하고자 하는 장면의 각 프레임에 대해 추적 오류값을 구하게 된다. In other words, the feature point setting apparatus 300 calculates a tracking error value for each frame of a scene to be tracked using Equation 4 described with reference to FIG. 3.
상기 S1308의 수행 후, 특징점 설정 장치(300)는 상기 구해진 추적 오류값이 가장 작은 프레임을 키 프레임으로 선정한다(S1310).After performing S1308, the feature point setting apparatus 300 selects a frame having the smallest tracking error value as a key frame (S1310).
특징점 설정 장치(300)는 상기와 같은 과정을 통해 키 프레임을 선정하게 되는데, 상기와 같은 과정은 복잡해 보이지만 단순한 sum 연산이고 객체의 추적을 위한 연산과 비교하면 극히 작은 연산량에 해당하기 때문에 추적을 하기 전에 가장 최적의 key frame을 예측할 수 있다. The feature point setting apparatus 300 selects a key frame through the above process, but the above process looks complicated but is a simple sum operation and traces because it corresponds to an extremely small amount of operation compared to an operation for tracking an object. You can predict the most optimal key frame before.
또한, 특징점 설정 장치(300)는 상기와 같은 과정을 통해 각 프레임마다 추적(tracking)을 수행하지 않고 간단한 검사, 연산만으로 손쉽게 key frame을 선정할 수 있다. In addition, the feature point setting apparatus 300 may easily select a key frame through a simple inspection and calculation without performing tracking for each frame through the above process.
상기에서 설명된 특징점 설정 장치(300)의 키 프레임 선정 방법은 프로그램으로 작성 가능하며, 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 프로그래머에 의하여 용이하게 추론될 수 있다.The key frame selection method of the feature point setting apparatus 300 described above can be written in a program, and codes and code segments constituting the program can be easily inferred by a programmer in the art.
또한, 특징점 설정 장치(300)의 키 프레임 선정 방법에 관한 프로그램은 전자장치가 읽을 수 있는 정보저장매체(Readable Media)에 저장되고, 전자장치에 의하여 읽혀지고 실행됨으로써 키 프레임 선정 장치로 추적하고자 하는 장면내 프레임들 중에서 키 프레임을 선정할 수 있다. In addition, the program related to the key frame selection method of the feature point setting device 300 is stored in a readable media that can be read by the electronic device, and is tracked by the key frame selection device by being read and executed by the electronic device. A key frame can be selected from the frames in the scene.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, those skilled in the art will appreciate that the present invention can be implemented in other specific forms without changing the technical spirit or essential features thereof. Therefore, the above-described embodiments are to be understood as illustrative in all respects and not as restrictive. The scope of the present invention is shown by the following claims rather than the above description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.
본 발명은 수동으로 사용자가 특징점을 지정할 경우에 사용자에 의해 지정된 특징점의 주변 화소 매트릭스를 고려하여 각 블록별 변화도 대표값을 구하고, 그 변화도 대표값을 근거로 사용자에 의해 지정된 특징점을 재설정할 수 있는 특징점 설정 장치 및 방법과 이를 이용한 객체 추적 장치 및 방법에 적용될 수 있다.According to the present invention, when a user manually designates a feature point, a representative value of change degree for each block is obtained in consideration of the surrounding pixel matrix of the feature point designated by the user, and the feature point designated by the user is reset based on the change degree representative value. It can be applied to a feature point setting apparatus and method and an object tracking apparatus and method using the same.
또한, 본 발명은 각 프레임마다 추적(tracking)을 수행하지 않고 간단한 연산만으로 오류의 총합이 가장 작은 프레임을 찾아서 손쉽게 key frame을 선정할 수 있고, 객체의 움직임으로 발생하는 SAD를 오류를 추정하는 인자로 사용하여 누적오류를 최소화하는 키 프레임을 선정할 수 있는 특징점 설정 장치 및 방법에 적용될 수 있다.In addition, the present invention can easily select a key frame by finding the frame with the smallest sum of errors by simple calculations without performing tracking for each frame, and estimates the error of the SAD generated by the movement of the object. It can be applied to a feature point setting apparatus and method that can select a key frame that minimizes the cumulative error using.

Claims (21)

  1. 입력 영상에 대해 사용자로부터 객체의 초기 위치에 해당하는 특징점을 지정받아 저장하는 특징점 정의부;A feature point definition unit configured to receive and store a feature point corresponding to the initial position of the object from the user with respect to the input image;
    상기 지정된 특징점을 중심으로 미리 정해진 크기의 블록을 형성하고, 기 설정된 이동범위 내에서 상기 형성된 블록의 크기에 해당하는 블록들을 정의하는 블록 형성부;A block forming unit forming a block having a predetermined size around the designated feature point, and defining blocks corresponding to the size of the formed block within a predetermined moving range;
    상기 이동범위 내에서 정의된 각 블록을 각각 주파수 변환하여 변화도 대표값을 각각 구하는 변화도 대표값 계산부; 및A gradient representative value calculator for frequency transforming each block defined within the moving range to obtain a gradient representative value, respectively; And
    상기 이동범위 내에서 변화도 대표값이 가장 큰 블록의 중심점을 최종 특징점으로 재지정하는 특징점 결정부;A feature point determiner that reassigns the center point of the block having the largest change representative value within the moving range as a final feature point;
    를 포함하는 특징점 설정 장치.Feature point setting apparatus comprising a.
  2. 제1항에 있어서, The method of claim 1,
    상기 블록 형성부는 상기 지정된 특징점을 중심으로 주변 화소들을 포함하는 임의의 블록을 형성하고, 상기 형성된 블록이 전, 후, 좌, 우로 이동 가능한 이동 범위를 설정하여 상기 이동범위 내에서 가능한 블록들을 정의하는 것을 특징으로 하는 특징점 설정 장치.The block forming unit forms an arbitrary block including peripheral pixels based on the designated feature point, and defines a block within the movement range by setting a movement range in which the formed block can be moved forward, backward, left, and right. A feature point setting device, characterized in that.
  3. 제1항에 있어서, The method of claim 1,
    상기 변화도 대표값 계산부는 상기 각 블록에 대해 주파수 변환을 각각 수행하고, 상기 주파수 변환된 블록에서 고주파 영역에 해당하는 픽셀 값들을 합하여 각 블록의 변화도 대표값을 구하는 것을 특징으로 하는 특징점 설정 장치.The gradient representative value calculating unit performs frequency conversion on each block, and obtains a gradient representative value of each block by adding pixel values corresponding to a high frequency region in the frequency-converted block. .
  4. 제1항에 있어서,The method of claim 1,
    상기 입력 영상의 프레임을 미리 정해진 일정 개수의 블록으로 나눈 후, 각각의 블록에 대해 현재 프레임과 인접 프레임간의 SAD(sum of absolute difference)를 각각 구하는 SAD 계산부;A SAD calculator for dividing a frame of the input image into a predetermined number of blocks, and calculating a sum of absolute difference (SAD) between a current frame and an adjacent frame for each block;
    상기 인접 프레임간의 SAD를 모두 합하여 각 프레임별 SAD 총합을 구하는 SAD 총합 계산부;A SAD total calculation unit that calculates a total SAD for each frame by adding up all SADs between adjacent frames;
    상기 각 프레임별 SAD 총합을 이용하여 프레임별 추적 오류값을 구하는 추적 오류 계산부; 및A tracking error calculator which calculates a tracking error value for each frame by using the sum of SADs for each frame; And
    상기 추적 오류값이 가장 작은 프레임을 키 프레임(Key Frame)으로 선정하는 키 프레임 선정부;A key frame selecting unit selecting a frame having the smallest tracking error value as a key frame;
    를 더 포함하는 것을 특징으로 하는 특징점 설정 장치.Characteristic point setting device characterized in that it further comprises.
  5. 제4항에 있어서, The method of claim 4, wherein
    상기 SAD 계산부는 하기의 수학식을 이용하여 현재 프레임과 이전 프레임 간 또는 현재 프레임과 이후 프레임 간의 SAD를 각각 구하는 것을 특징으로 하는 특징점 설정 장치.And the SAD calculator calculates an SAD between a current frame and a previous frame or between a current frame and a subsequent frame using the following equation.
    [수학식][Equation]
    SAD(fn,bm)=Σabs( Frame(fn,bm) pixel(i) - Frame(fn+1,bm) pixel(i)) SAD (fn, bm) = Σabs (Frame (fn, bm) pixel (i)-Frame (fn + 1, bm) pixel (i))
    여기서, fn은 프레임의 number, bm은 해당 프레임의 m번째 블록, i는 해당 블록의 pixel의 순서, abs는 절대치를 의미함.Where fn is the number of frames, bm is the mth block of the frame, i is the order of pixels in the block, and abs is the absolute value.
  6. 제4항에 있어서,The method of claim 4, wherein
    상기 SAD 총합 계산부는 현재 프레임과 이전 프레임간 모든 블록들에 대한 SAD들을 합하여 제1 SAD합을 구하고, 상기 현재 프레임과 이후 프레임간 모든 블록들에 대한 SAD들을 합하여 제2 SAD합을 구한 후, 상기 제1 SAD합과 상기 제2 SAD합을 합하여 프레임별 SAD 총합을 구하는 것을 특징으로 하는 특징점 설정 장치.The SAD sum calculation unit obtains a first SAD sum by adding SADs of all blocks between a current frame and a previous frame, obtains a second SAD sum by adding SADs of all blocks between the current frame and a subsequent frame, And a sum of first SADs and the second SAD sums to obtain a sum of SADs per frame.
  7. 제4항에 있어서,The method of claim 4, wherein
    상기 추적 오류 계산부는 하기의 수학식에 따라 추적하고자 하는 장면의 각 프레임에 대해 이전 프레임까지 구해진 SAD총합의 누적값과 자신의 SAD총합을 누적하여 추적 오류값을 구하는 것을 특징으로 하는 특징점 설정 장치.The tracking error calculation unit calculates a tracking error value by accumulating the accumulated value of the SAD total and its own SAD total for each frame of the scene to be tracked according to the following equation.
    [수학식][Equation]
    프레임별 추적 오류값= Σ tSAD(fn+k), k = 0~N     Tracking error per frame = Σ tSAD (fn + k), k = 0 ~ N
    여기서, tSAD(fn)= SAD(fn-1)+SAD(fn)이고, SAD(fn-1)는 제1SAD합, SAD(fn)는 제2SAD합, tSAD(fn)는 프레임 fn에서의 SAD총합을 의미함.Where tSAD (fn) = SAD (fn-1) + SAD (fn), SAD (fn-1) is the first SAD sum, SAD (fn) is the second SAD sum, and tSAD (fn) is the SAD in frame fn. Means total.
  8. 입력 영상에 대해 사용자에 의해 지정된 객체의 초기 위치에 해당하는 특징점의 타당 여부를 검사하여 객체의 특징점을 설정하는 특징점 설정부;A feature point setting unit for setting a feature point of the object by checking whether the feature point corresponding to the initial position of the object designated by the user is valid with respect to the input image;
    상기 입력 영상에서 각 프레임의 움직임 벡터 정보 및 잔차 신호 정보를 추출하는 영상 분석부; 및An image analyzer extracting motion vector information and residual signal information of each frame from the input image; And
    상기 추출된 움직임 벡터 정보로부터 각 단위 블록에 대한 순방향 움직임 벡터 정보를 생성하고, 상기 추출된 잔차 신호로부터 일정 블록에 대한 픽셀 정보를 복원한 후, 상기 설정된 특징점의 위치정보, 상기 순방향 움직임 벡터 정보 및 상기 복원된 픽셀 정보로부터 각 프레임에서의 객체의 최적위치정보를 생성하는 객체 추적부;After generating forward motion vector information for each unit block from the extracted motion vector information, and reconstructing pixel information for a predetermined block from the extracted residual signal, the position information of the set feature point, the forward motion vector information, and An object tracking unit to generate optimal position information of the object in each frame from the reconstructed pixel information;
    를 포함하는 특징점을 이용한 객체 추적 장치.Object tracking device using a feature point comprising a.
  9. 제8항에 있어서,The method of claim 8,
    상기 특징점 설정부는 상기 입력 영상에서 사용자가 지정한 특징점을 중심으로 미리 정해진 크기의 블록을 형성하고, 기 설정된 이동범위 내에서 상기 형성된 블록의 크기에 해당하는 블록들을 정의한 후, 상기 이동범위 내에서 정의된 각 블록을 주파수 변환하여 각 블록별로 변화도 대표값을 구하고, 상기 변화도 대표값이 가장 큰 블록의 중심점을 최종 특징점으로 설정하는 것을 특징으로 하는 특징점을 이용한 객체 추적 장치.The feature point setting unit forms a block having a predetermined size based on a user-specified feature point in the input image, defines blocks corresponding to the size of the formed block within a preset movement range, and then defines the movement within the movement range. Frequency conversion of each block to obtain a representative value of the degree of change for each block, and the object tracking device using a feature point characterized in that to set the center point of the block having the largest change degree representative value as the final feature point.
  10. (a)입력영상에 대해 사용자로부터 객체의 초기 위치에 해당하는 특징점을 지정받아 저장하는 단계;(a) designating and storing a feature point corresponding to an initial position of an object from a user with respect to the input image;
    (b)상기 입력영상에서 상기 지정된 특징점을 중심으로 미리 정해진 크기의 블록을 형성하고, 기 설정된 이동범위 내에서 상기 형성된 블록의 크기에 해당하는 블록들을 정의하는 단계;(b) forming a block having a predetermined size based on the designated feature point in the input image, and defining blocks corresponding to the size of the formed block within a preset movement range;
    (c)상기 이동범위 내에서 정의된 각 블록을 각각 주파수 변환하여 변화도 대표값을 각각 구하는 단계; 및(c) obtaining frequency representative values by frequency converting each of the blocks defined within the moving range; And
    (d)상기 이동범위 내에서 변화도 대표값이 가장 큰 블록의 중심점을 최종 특징점으로 재지정하는 단계;(d) reassigning the center point of the block having the largest change representative value within the moving range as the final feature point;
    를 포함하는 특징점 설정 장치의 특징점 설정 방법.Characteristic point setting method of a feature point setting device comprising a.
  11. 제10항에 있어서, The method of claim 10,
    상기 (b) 단계는, 상기 입력영상에서 상기 지정된 특징점을 중심으로 주변 화소들을 포함하는 임의의 블록을 형성하고, 상기 형성된 블록이 전, 후, 좌, 우로 이동 가능한 이동 범위를 설정하여 상기 이동범위 내에서 가능한 블록들을 정의하는 것을 특징으로 하는 특징점 설정 장치의 특징점 설정 방법.In the step (b), an arbitrary block including neighboring pixels is formed around the designated feature point in the input image, and the moving range is set by setting a moving range in which the formed block can be moved forward, backward, left, and right. A method for setting a feature point of a feature point setting device, characterized in that it defines possible blocks within the frame.
  12. 제10항에 있어서, The method of claim 10,
    상기 (c) 단계는, 상기 각 블록에 대해 주파수 변환을 각각 수행하고, 상기 주파수 변환된 블록에서 고주파 영역에 해당하는 픽셀 값들을 합하여 각 블록의 변화도 대표값을 구하는 것을 특징으로 하는 특징점 설정 장치의 특징점 설정 방법.In the step (c), the frequency transformation is performed on each of the blocks, and a representative value of the degree of change of each block is obtained by summing pixel values corresponding to a high frequency region in the frequency-converted block. How to set feature points.
  13. 입력영상에 대해 사용자로부터 객체의 초기 위치에 해당하는 특징점을 지정받아 저장하는 단계;Designating and storing a feature point corresponding to an initial position of an object from a user with respect to the input image;
    상기 입력영상에서 상기 지정된 특징점을 중심으로 미리 정해진 크기의 블록을 형성하고, 기 설정된 이동범위 내에서 상기 형성된 블록의 크기에 해당하는 블록들을 정의하는 단계;Forming a block having a predetermined size based on the designated feature point in the input image, and defining blocks corresponding to the size of the formed block within a predetermined moving range;
    상기 이동범위 내에서 정의된 각 블록을 각각 주파수 변환하여 변화도 대표값을 각각 구하는 단계; 및Frequency transforming each block defined within the movement range to obtain a representative value of the gradient; And
    상기 이동범위 내에서 변화도 대표값이 가장 큰 블록의 중심점을 최종 특징점으로 재지정하는 단계를 포함하는 특징점 설정 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체.And re-designating the center point of the block having the largest change representative value within the moving range as the final feature point.
  14. (a) 입력영상의 프레임을 미리 정해진 일정 개수의 블록으로 나누는 단계;(a) dividing a frame of the input image into a predetermined number of blocks;
    (b) 상기 일정 개수의 각각의 블록에 대해 현재 프레임과 인접 프레임간의 SAD를 각각 구하는 단계;(b) obtaining SADs between a current frame and an adjacent frame for each of the predetermined number of blocks;
    (c) 상기 인접 프레임간의 SAD들을 모두 합하여 각 프레임별 SAD 총합을 구하는 단계;(c) summing all SADs between adjacent frames to obtain a sum of SADs for each frame;
    (d) 상기 각 프레임별 SAD 총합을 이용하여 프레임별 추적 오류값을 구하는 단계; 및(d) obtaining a tracking error value for each frame using the total SAD for each frame; And
    (e) 상기 추적 오류값이 가장 작은 프레임을 키 프레임으로 선정하는 단계;(e) selecting a frame having the smallest tracking error value as a key frame;
    를 포함하는 특징점 설정 장치의 키 프레임 선정 방법.Key frame selection method of a feature point setting device comprising a.
  15. 제14항에 있어서, The method of claim 14,
    상기 (b) 단계는, 상기 각각의 블록에 대해 현재 프레임과 이전 프레임간의 SAD, 현재 프레임과 이후 프레임간의 SAD를 각각 구하는 것을 특징으로 하는 특징점 설정 장치의 키 프레임 선정 방법.In the step (b), the SAD between the current frame and the previous frame, and the SAD between the current frame and the subsequent frame are obtained for each block, respectively.
  16. 제14항에 있어서,The method of claim 14,
    상기 (c) 단계는, 현재 프레임과 이전 프레임간 모든 블록들에 대한 SAD들을 합하여 제1 SAD합을 구하고, 상기 현재 프레임과 이후 프레임간 모든 블록들에 대한 SAD들을 합하여 제2 SAD합을 구한 후, 상기 제1 SAD합과 상기 제2 SAD합을 합하여 프레임별 SAD 총합을 구하는 것을 특징으로 하는 특징점 설정 장치의 키 프레임 선정 방법.In the step (c), the first SAD sum is obtained by adding the SADs of all blocks between the current frame and the previous frame, and the second SAD sum is obtained by adding the SADs of all blocks between the current frame and the next frame. And summing the first SAD sum and the second SAD sum to obtain a sum of SADs for each frame.
  17. 제14항에 있어서,The method of claim 14,
    상기 (d) 단계는, 추적하고자 하는 장면의 각 프레임에 대해 이전 프레임까지 구해진 SAD총합의 누적값과 자신의 SAD총합을 누적하여 추적 오류값을 구하는 것을 특징으로 하는 특징점 설정 장치의 키 프레임 선정 방법.In the step (d), the cumulative value of the sum of the SADs obtained up to the previous frame and the sum of the SADs of the scenes are calculated for each frame of the scene to be tracked to obtain a tracking error value. .
  18. 입력영상의 프레임을 미리 정해진 일정 개수의 블록으로 나누는 단계;Dividing a frame of the input image into a predetermined number of blocks;
    상기 일정 개수의 각각의 블록에 대해 현재 프레임과 인접 프레임간의 SAD를 각각 구하는 단계;Obtaining SADs between a current frame and an adjacent frame for each of the predetermined number of blocks;
    상기 인접 프레임간의 SAD들을 모두 합하여 각 프레임별 SAD 총합을 구하는 단계;Obtaining a sum of SADs for each frame by adding up all SADs between adjacent frames;
    상기 각 프레임별 SAD 총합을 이용하여 프레임별 추적 오류값을 구하는 단계; 및Obtaining a tracking error value for each frame using the sum of SADs for each frame; And
    상기 추적 오류값이 가장 작은 프레임을 키 프레임으로 선정하는 단계;를 포함하는 키 프레임 선정 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체.And selecting a frame having the smallest tracking error value as a key frame, wherein the method for selecting a key frame is recorded by a program and can be read by an electronic device.
  19. (a) 입력영상에 대해 사용자에 의해 지정된 객체의 초기 위치에 해당하는 특징점의 타당 여부를 검사하여 객체의 특징점을 설정하는 단계;(a) setting a feature point of the object by checking the validity of the feature point corresponding to the initial position of the object designated by the user with respect to the input image;
    (b) 상기 입력영상에서 각 프레임의 움직임 벡터 정보 및 잔차 신호 정보를 추출하는 단계; 및(b) extracting motion vector information and residual signal information of each frame from the input image; And
    (c) 상기 추출된 움직임 벡터 정보로부터 각 단위 블록에 대한 순방향 움직임 벡터 정보를 생성하고, 상기 추출된 잔차 신호로부터 일정 블록에 대한 픽셀 정보를 복원한 후, 상기 설정된 특징점의 위치정보, 상기 순방향 움직임 벡터 정보 및 상기 복원된 픽셀 정보로부터 각 프레임에서의 객체의 최적위치정보를 생성하는 단계;(c) generating forward motion vector information for each unit block from the extracted motion vector information, restoring pixel information for a predetermined block from the extracted residual signal, and then positioning information of the set feature point and the forward motion Generating optimal position information of an object in each frame from vector information and the reconstructed pixel information;
    를 포함하는 객체 추적 장치의 특징점을 이용한 객체 추적 방법.Object tracking method using the feature points of the object tracking device comprising a.
  20. 제19항에 있어서,The method of claim 19,
    상기 (a) 단계는, In step (a),
    상기 입력영상에서 상기 지정된 특징점을 중심으로 미리 정해진 크기의 블록을 형성하고, 기 설정된 이동범위 내에서 상기 형성된 블록의 크기에 해당하는 블록들을 정의하는 과정;Forming a block having a predetermined size based on the designated feature point in the input image, and defining blocks corresponding to the size of the formed block within a preset movement range;
    상기 이동범위 내에서 정의된 각 블록을 각각 주파수 변환하여 변화도 대표값을 각각 구하는 과정; 및Frequency transforming each block defined within the moving range to obtain a representative value of the gradient; And
    상기 이동범위 내에서 변화도 대표값이 가장 큰 블록의 중심점을 최종 특징점으로 재지정하는 과정을 포함하는 것을 특징으로 하는 객체 추적 장치의 특징점을 이용한 객체 추적 방법.And reassigning the center point of the block having the largest change representative value to the final feature point within the moving range.
  21. 입력영상에 대해 사용자에 의해 지정된 객체의 초기 위치에 해당하는 특징점의 타당 여부를 검사하여 객체의 특징점을 설정하는 단계;Setting a feature point of the object by checking the validity of the feature point corresponding to the initial position of the object designated by the user with respect to the input image;
    상기 입력영상에서 각 프레임의 움직임 벡터 정보 및 잔차 신호 정보를 추출하는 단계; 및Extracting motion vector information and residual signal information of each frame from the input image; And
    상기 추출된 움직임 벡터 정보로부터 각 단위 블록에 대한 순방향 움직임 벡터 정보를 생성하고, 상기 추출된 잔차 신호로부터 일정 블록에 대한 픽셀 정보를 복원한 후, 상기 설정된 특징점의 위치정보, 상기 순방향 움직임 벡터 정보 및 상기 복원된 픽셀 정보로부터 각 프레임에서의 객체의 최적위치정보를 생성하는 단계를 포함하는 특징점을 이용한 객체 추적 방법이 프로그램으로 기록되고 전자 장치에서 판독 가능한 기록매체.After generating forward motion vector information for each unit block from the extracted motion vector information, and reconstructing pixel information for a predetermined block from the extracted residual signal, the position information of the set feature point, the forward motion vector information, and And an object tracking method using a feature point recorded by the program and readable by the electronic device.
PCT/KR2012/008896 2011-11-24 2012-10-26 Apparatus and method for setting feature points, and apparatus and method for object tracking using same WO2013077562A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2011-0123376 2011-11-24
KR1020110123372A KR101700276B1 (en) 2011-11-24 2011-11-24 Apparatus and Method for setting feature point, tracking object apparatus and method usig that
KR10-2011-0123372 2011-11-24
KR1020110123376A KR101624182B1 (en) 2011-11-24 2011-11-24 Apparatus and Method for selecting key frame

Publications (1)

Publication Number Publication Date
WO2013077562A1 true WO2013077562A1 (en) 2013-05-30

Family

ID=48469967

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/008896 WO2013077562A1 (en) 2011-11-24 2012-10-26 Apparatus and method for setting feature points, and apparatus and method for object tracking using same

Country Status (1)

Country Link
WO (1) WO2013077562A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100466587B1 (en) * 2002-11-14 2005-01-24 한국전자통신연구원 Method of Extrating Camera Information for Authoring Tools of Synthetic Contents
KR20050085842A (en) * 2002-12-20 2005-08-29 더 파운데이션 포 더 프로모션 오브 인더스트리얼 사이언스 Method and device for tracing moving object in image
KR20080017521A (en) * 2006-08-21 2008-02-27 문철홍 Method for multiple movement body tracing movement using of difference image
KR100958379B1 (en) * 2008-07-09 2010-05-17 (주)지아트 Methods and Devices for tracking multiple 3D object, Storage medium storing the same
KR100996209B1 (en) * 2008-12-23 2010-11-24 중앙대학교 산학협력단 Object Modeling Method using Gradient Template, and The System thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100466587B1 (en) * 2002-11-14 2005-01-24 한국전자통신연구원 Method of Extrating Camera Information for Authoring Tools of Synthetic Contents
KR20050085842A (en) * 2002-12-20 2005-08-29 더 파운데이션 포 더 프로모션 오브 인더스트리얼 사이언스 Method and device for tracing moving object in image
KR20080017521A (en) * 2006-08-21 2008-02-27 문철홍 Method for multiple movement body tracing movement using of difference image
KR100958379B1 (en) * 2008-07-09 2010-05-17 (주)지아트 Methods and Devices for tracking multiple 3D object, Storage medium storing the same
KR100996209B1 (en) * 2008-12-23 2010-11-24 중앙대학교 산학협력단 Object Modeling Method using Gradient Template, and The System thereof

Similar Documents

Publication Publication Date Title
JP2953712B2 (en) Moving object detection device
WO2012115332A1 (en) Device and method for analyzing the correlation between an image and another image or between an image and a video
CN102197412B (en) Spoofing detection system, spoofing detection method and spoofing detection program
WO2014058248A1 (en) Image monitoring apparatus for estimating gradient of singleton, and method therefor
US8879894B2 (en) Pixel analysis and frame alignment for background frames
JP2016162232A (en) Method and device for image recognition and program
WO2013125768A1 (en) Apparatus and method for automatically detecting object and depth information of image photographed by image pickup device having multiple color filter aperture
US10721431B2 (en) Method for estimating a timestamp in a video stream and method of augmenting a video stream with information
JPH1091795A (en) Device for detecting mobile object and method therefor
JP2000222584A (en) Video information describing method, method, and device for retrieving video
WO2016060439A1 (en) Method and apparatus for image processing
KR101868903B1 (en) Apparatus and method for tracking human hand by using color features
WO2007036823A2 (en) Method and apparatus for determining the shot type of an image
JP2010140425A (en) Image processing system
KR20170015299A (en) Method and apparatus for object tracking and segmentation via background tracking
JPWO2014103673A1 (en) Information processing system, information processing method, and program
CN104504162B (en) A kind of video retrieval method based on robot vision platform
WO2021162237A1 (en) Method and apparatus for extracting color schema from video
WO2017099292A1 (en) Object-activity relationship model-based activity recognition method and apparatus therefor
KR101700276B1 (en) Apparatus and Method for setting feature point, tracking object apparatus and method usig that
WO2013077562A1 (en) Apparatus and method for setting feature points, and apparatus and method for object tracking using same
WO2019194561A1 (en) Location recognition method and system for providing augmented reality in mobile terminal
KR102450466B1 (en) System and method for removing camera movement in video
WO2010095796A1 (en) Content-based video detection method using segment features
JP2000030033A (en) Person detecting method

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

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

Country of ref document: EP

Kind code of ref document: A1