WO2024005280A1 - 객체 추적 방법 및 시스템 - Google Patents

객체 추적 방법 및 시스템 Download PDF

Info

Publication number
WO2024005280A1
WO2024005280A1 PCT/KR2022/018933 KR2022018933W WO2024005280A1 WO 2024005280 A1 WO2024005280 A1 WO 2024005280A1 KR 2022018933 W KR2022018933 W KR 2022018933W WO 2024005280 A1 WO2024005280 A1 WO 2024005280A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame image
rotation speed
speed
frame
detected
Prior art date
Application number
PCT/KR2022/018933
Other languages
English (en)
French (fr)
Inventor
김켄
정지욱
Original Assignee
주식회사 쓰리아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 쓰리아이 filed Critical 주식회사 쓰리아이
Priority to US18/212,530 priority Critical patent/US20240007751A1/en
Publication of WO2024005280A1 publication Critical patent/WO2024005280A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/695Control of camera direction for changing a field of view, e.g. pan, tilt or based on tracking of objects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection

Definitions

  • This application relates to object tracking methods and systems.
  • tracking an object using multiple cameras has the inconvenience of having to install cameras at various angles and directions, assigning feature points to all objects captured by the cameras, and specifying the desired object by the user.
  • the driving cradle is rotated to track an object regardless of whether the object is detected in the frame image.
  • the purpose is to provide an object tracking method that allows speed control.
  • the object tracking method which is performed in a portable terminal linked to a driving cradle and tracks an object by controlling the rotation of the driving cradle, receives frame images taken at a preset frame rate with respect to the front, and tracks each of the frame images.
  • the object tracking system is configured so that the front of the portable terminal tracks the object based on the position of the object in the frame image and the driving cradle on which the portable terminal is mounted and rotates and operates according to the rotation speed provided from the portable terminal. It includes a portable terminal that controls a driving cradle, wherein the portable terminal includes an imaging unit that captures the frame image at a preset frame rate with respect to the front, and detects whether an object exists in the frame image for each of the frame images. and may include a processor that determines the rotation speed of the driving cradle based on the location of the detected object.
  • a storage medium storing computer-readable instructions, wherein the instructions, when executed by a computing device, cause the computing device to receive frame images taken at a preset frame rate with respect to the front, and generate each of the frame images.
  • detecting whether an object exists in a frame image for each of the frame images, when an object is detected in the frame image, calculating a reference distance in relation to the position of the detected object in the frame image, calculating a rotational speed of the driving cradle with respect to the first frame image based on accumulation of reference distances of a plurality of frame images included in a frame group including the first frame image;
  • a step of controlling the driving of the driving cradle based on the rotation speed may be performed.
  • the rotation speed of the driving cradle can be easily controlled according to the movement of the object recognized by the portable terminal.
  • the portable terminal recognizes an object and calculates the rotational speed of the driving cradle, and simultaneously predicts the rotational speed of the driving cradle in real time based on the cumulative value of the calculated rotational speed. There is.
  • the rotation matches the movement speed of the missing object based on the rotation speed predicted in real time. It has the effect of calculating speed.
  • FIG. 1 is a diagram for explaining an object tracking method according to an embodiment disclosed in the present application.
  • FIG. 2 is a diagram for explaining an object tracking method according to an embodiment of the step of calculating rotation speed disclosed in FIG. 1.
  • FIG. 3 is a diagram for explaining an object tracking method according to an embodiment of the step of determining the first rotation speed disclosed in FIG. 2.
  • FIG. 4 is a diagram for explaining an object tracking method according to another embodiment of the step of calculating rotation speed disclosed in FIG. 2 .
  • FIG. 5 is an example diagram for explaining the step of correcting the predicted speed in the step of calculating the predicted speed shown in FIG. 4.
  • Figures 6 to 8 are exemplary diagrams for explaining the process of correcting the predicted speed shown in Figure 5.
  • Figure 9 is a diagram for explaining an object tracking method according to another embodiment disclosed in the present application.
  • Figure 10 is an example diagram for explaining an object tracking system according to an embodiment disclosed in the present application.
  • FIG. 11 is an example diagram for explaining the configuration of the mobile terminal of FIG. 10.
  • FIG. 12 is an example diagram for explaining the configuration of the processor disclosed in FIG. 11 according to another embodiment.
  • FIG. 13 is an example diagram for explaining the configuration of the rotation speed determination module of FIG. 12 according to an embodiment.
  • first”, “second”, or “first” or “second” may be used simply to distinguish one element from another and refer to those elements in other respects (e.g. (importance or order) is not limited.
  • One (e.g., first) component is “coupled” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.”
  • Connected or “connected,” it means that any component can be connected to the other component directly or through a third component.
  • module used in this application refers to a unit that processes at least one function or operation, which may be implemented as software or a combination of hardware and software.
  • Various embodiments of the present application are software (e.g., a program) including one or more instructions stored in a storage medium that can be read by a machine (e.g., a user terminal or computing device). It can be implemented.
  • the processor may call at least one instruction among one or more instructions stored from a storage medium and execute it. This allows the device to be operated to perform at least one function according to the at least one instruction called.
  • the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and this term refers to data being semi-permanently stored in the storage medium. There is no distinction between temporary storage and temporary storage.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CDROM)) or through an application store (e.g. Play Store) or on two user devices. It can be distributed (e.g., downloaded or uploaded) directly between devices (e.g., smartphones) or online.
  • a machine-readable storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server.
  • each component (eg, module or program) of the above-described components may include a single entity or a plurality of entities.
  • one or more of the components or operations described above may be omitted, or one or more other components or operations may be added.
  • multiple components eg, modules or programs
  • the integrated component may perform one or more functions of each component of the plurality of components in the same or similar manner as those performed by the corresponding component of the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or , or one or more other operations may be added.
  • FIG. 1 is a diagram for explaining an object tracking method according to an embodiment disclosed in the present application
  • FIG. 2 illustrates an object tracking method according to an embodiment of the step of calculating rotation speed disclosed in FIG. 1.
  • FIG. 3 is a diagram for explaining an object tracking method according to an embodiment of the step of determining the first rotation speed disclosed in FIG. 2.
  • the object tracking method which is performed in a mobile terminal linked to a driving cradle and tracks an object by controlling the rotation of the driving cradle, includes detecting whether an object exists in a frame image (S120), and setting a reference distance. It may include calculating the rotation speed of the driving cradle with respect to the first frame image (S130), calculating the rotation speed of the driving cradle (S140), and controlling the driving of the driving cradle (S150).
  • the step of detecting whether an object exists in the frame image (S120) may include the step of photographing a frame image at a preset frame rate in front of the mobile terminal (S110).
  • the step of taking a frame image may be a step of taking a frame image based on a preset number of detections if the movement of an object in the frame image is detected through the mobile terminal.
  • the preset number of detections can be set according to the user's use and convenience. For example, if the user sets the frame rate to 20 detections/second, the mobile terminal can capture frame images 20 times per second.
  • the frame image is captured. This may be a step of receiving a frame image and detecting, for each frame image, whether an object exists within the frame image.
  • the step of calculating the reference distance is related to the position of the detected object in the frame image. This may be the step of calculating the reference distance.
  • the step of calculating the reference distance may include calculating the difference between the preset reference position in the frame image and the position of the detected object as the reference distance (not shown).
  • the step of calculating the difference between the preset reference position in the frame image and the position of the detected object as the reference distance uses the preset position on the frame image as the reference position according to the user's use and convenience, and detects the movement of the object in the frame image. If so, it may be a step to calculate how much the position of the object on the captured frame image differs from the reference position.
  • the preset reference position within the frame image is the center of the frame image
  • the detected object is located at the center, which is the preset reference position. make sure it is located first.
  • the frame image begins to capture a plurality of frame images based on a preset number of detections, and the mobile terminal begins to control the driving cradle so that the object can exist in the center of the frame image. .
  • the mobile terminal drives the driving cradle to the right with respect to the front, and conversely, the object moves to the left from the center of the frame image.
  • the driving cradle is driven to the left with respect to the front.
  • a difference may occur between the position of the moved object and the preset reference position within a plurality of frame images captured as the object existing in the frame image moves.
  • the reference distance is calculated based on the difference between these positions.
  • the object when an object is detected, the object is positioned in the center of the frame image, and when movement of the object is detected, multiple frame images can be captured per second.
  • a difference in position in the frame image may occur between the frame image at the reference position and the next frame image captured by the object that has started moving, and the reference distance is calculated based on this.
  • the difference between the preset reference position in the frame image and the position of the detected object may be calculated as a value that reflects a weight other than the reference distance.
  • the step of calculating the rotation speed of the driving cradle with respect to the first frame image is to drive the driving cradle based on the accumulation of reference distances of a plurality of frame images included in the frame group including the first frame image. This may be a step of calculating the rotation speed of the driving cradle with respect to the first frame image.
  • the first frame image may be a frame image that is one of a plurality of frame images taken per second for the movement of an object detected through a mobile terminal.
  • the first frame image that is one of a plurality of frame images is used. Let me explain.
  • the plurality of frame images including the first frame image calculate the rotation speed of the driving cradle for the first frame image based on the accumulated value of the reference distances calculated in the reference distance calculating step (S130). You can.
  • the step of calculating the rotation speed of the driving cradle for the first frame image includes the step of checking the rotation speed of the previous frame image of the first frame image (S210), and the reference of the plurality of frame images.
  • the step of checking the rotation speed of the previous frame image of the first frame image may be a step of checking the rotation speed using the difference between the preset reference position in the first frame image and the position of the object in the frame image. .
  • the rotation speed of the driving cradle according to the subsequent movement of the object may be a rotation speed proportional to the reference distance of the first frame image that is initially captured.
  • step (S220) of calculating a speed change value determined based on the accumulation of reference distances of a plurality of frame images when there is movement of an object within an image frame, the mobile terminal continuously captures a plurality of frame images, The distance is also continuously calculated, and the speed change value may be calculated using the accumulation of these reference distances.
  • the change value of the rotation speed of the driving cradle with respect to the first frame image is calculated as the cumulative value of reference distances that are the difference between a preset reference position and the position of the detected object
  • the reference distance in the first frame image is the Calculated with a first reference distance, which is the difference between the preset reference position in the frame image one frame previous and the detected object position, and a second reference distance, which is the difference between the preset reference position in the first frame image and the position of the detected object. It can be.
  • the change value of rotation speed can be calculated through the equation below.
  • a may be a variable calculated based on the accumulation of reference distances of multiple frame images.
  • K i is an integration constant and may be a value determined depending on the motor used when driving the driving cradle.
  • b may be a constant, but may be a variable calculated based on the reference distances of the plurality of frame images of the present invention.
  • the step of determining the first rotation speed for the first frame image by reflecting the speed change value in the rotation speed of the previous frame image includes determining the rotation speed of the driving cradle using the reference distance between the first frame image and the previous frame image. This may be a step to confirm the increase or decrease of .
  • the step of determining the first rotation speed for the first frame image by reflecting the speed change value (S230) includes the step of checking the first reference distance in the previous frame image (S310), and the step of determining the first rotation speed for the first frame image (S310).
  • the step of checking the first reference distance in the previous frame image may be a step of checking the first reference distance using the difference between the preset reference position and the detected object position in the frame image before the first frame. there is.
  • the step of checking the second reference distance in the first frame image may be a step of checking the second reference distance using the difference between the preset reference position of the first frame image and the position of the detected object. there is.
  • the preset reference position according to the user's use and convenience is the center of the frame image
  • the object located in the center of the previous frame image of the first frame image moves by 1 cm from the center of the reference position
  • 1 cm here is the first frame image. 1 can be the standard distance.
  • the second reference distance in the first frame image may be 2 cm if the object located in the center, which is the reference position in the first frame image, moves by 2 cm from the center, which is the reference position.
  • Checking the first reference distance and the second reference distance is to determine whether the rotation speed of the driving cradle, which will be described later, increases or decreases as the object in the frame image moves.
  • the step of comparing the distances of the first and second reference distances may be a step for determining a sign between the reference distances by comparing the lengths of the first and second reference distances.
  • setting the speed change value to a positive value (S322), and if the first reference distance is shorter, setting the speed change value to a negative value (S331) may be a step of determining whether to increase or decrease the rotation speed of the driving cradle.
  • the speed change value can be set to a positive value because the first reference distance is shorter than the second reference distance.
  • the speed change value can be set to a negative value because the second reference distance is longer.
  • the rotation speed of the driving cradle can be increased, and when the speed change value is set to a negative value, the rotation speed of the driving cradle can be decreased.
  • FIG. 4 is a diagram for explaining an object tracking method according to another embodiment of the step of calculating the rotation speed shown in FIG. 2, and FIG. 5 shows the predicted speed in the step of calculating the predicted speed shown in FIG. 4. This is an example diagram to explain the correction steps.
  • FIGS. 6 to 8 are exemplary diagrams for explaining the process of correcting the predicted speed shown in FIG. 5.
  • the step of calculating the rotational speed of the driving cradle for the first frame image includes calculating the change trend of the rotational speed over time (S410) and the predicted speed for the first frame image.
  • a calculating step (S420) may be further included.
  • the step of calculating the change trend of the rotation speed over time is performed by using the plurality of rotation speeds calculated for the plurality of frame images included in the frame group and the position of the object in the image frame before the first frame image. This may be a step of calculating the change trend of rotation speed over time.
  • the rotation speed of the driving cradle with respect to the first frame image calculated based on the accumulation of reference distances of a plurality of frame images taken over time and the first frame
  • the change trend over time can be calculated by using the position of the object in the previous frame of the image as the input value of the Kalman filter.
  • Kalman filter here is explained using the linear Kalman filter as an example, but it will be natural that the present application can be implemented in the extended Kalman filter as well as the linear Kalman filter.
  • the step of calculating the predicted speed for the first frame image involves the time of the rotation speed calculated based on the plurality of rotation speeds calculated by detecting the objects and the position of the object in the previous frame of the first frame image. This may be a step of calculating the predicted speed at the time each frame image is located in the change trend.
  • it may be included in the prediction speed for rotating the driving cradle in a frame image in which an object is not detected among a plurality of frame images.
  • the rotation speed of the driving cradle can be calculated based on the accumulation of reference distances, but if an object does not exist in the first frame image, the rotation speed can be calculated. This is to calculate the rotation speed at the time when the image frame in which no object is detected is located as the predicted speed in the change trend with respect to time. This will be explained later.
  • the step of calculating the predicted speed for the first frame image includes the step of determining whether the rotation speed and the predicted speed for the first frame image correspond to each other (S510) and the change in rotation speed.
  • a step of correcting the trend (S520) may be included.
  • the step of determining whether the rotation speed and the predicted speed for the first frame image correspond to each other is the rotation speed of the driving cradle calculated by detecting the object in the first frame image and the object detected in the first frame image. This may be a step to determine whether the predicted speed from the change trend over time of the rotation speed calculated using the probability measurement model matches or exists within the error range.
  • the prediction speed has the advantage of being able to predict the speed based on the rotation speed at the time when the first frame image where the object was not detected is located, based on the change trend of the rotation speed over time when an object is not detected in the first frame image. , Since it is a change trend using multiple rotation speeds calculated from multiple frame images included in a frame group, it is calculated based on the rotation speed calculated by detecting the actual object in the first frame image and the trend of change in rotation speed over time. There may be cases where the predicted speeds do not correspond to each other.
  • the rotational speed calculated when the actual object is detected in the first frame image must correspond to the predicted speed calculated based on the trend of rotational speed change over time so that the driving cradle can track the moving object smoothly without missing a beat.
  • the present invention continuously compares and determines the rotation speed when an object is detected and the predicted speed in the change trend of the rotation speed over time so that they correspond to each other.
  • the predicted speed when the actual rotation speed and the predicted speed do not correspond, the predicted speed can be matched to the rotation speed or corresponded to be within an error range. This will be explained in the step of correcting the change trend of the rotation speed over time (S520).
  • the step of correcting the change trend in rotation speed (S520) when the rotation speed and the predicted speed for the first frame image do not correspond to each other, the predicted speed in the change trend in rotation speed with respect to time is calculated as the first frame image.
  • This may be a step in which the rotation speed of the image of 1 frame is corrected so that the rotation speed change trend can be accurately calculated.
  • the speed predicted from the change trend of the rotation speed over time calculated using the rotation speed is used as the rotation speed of the driving cradle.
  • the error between the time-varying trend of rotational speed and the actual rotational speed can be achieved by replacing the predicted speed with the rotational speed in cases where the actual rotational speed does not correspond to the time-varying trend of rotational speed. It has the advantage of reducing the range to a minimum.
  • FIG. 6 is a graph showing the change trend of rotation speed over time, and the solid line appearing in the graph represents a plurality of frames included in the frame group including the first frame image. It may be a set of values calculated using a plurality of rotation speeds calculated for the frame image and the position of the object in the image frame before the first frame image.
  • the round dot may be the actual rotation speed calculated by detecting the object in the first frame image.
  • the change trend of the rotation speed over time and the rotation speed mostly coincide, but there may be cases where the change trend of the rotation speed over time and the predicted speed are different.
  • the change trend graph is corrected as shown in Figure 8 by replacing the predicted speed with the rotation speed so that the incorrectly predicted predicted speed can match the actual rotation speed. can do.
  • Figure 9 is a diagram for explaining an object tracking method according to another embodiment disclosed in the present application.
  • the object tracking method includes taking a frame image at a preset frame rate (S710), detecting whether an object exists in the frame image (S720), and when an object is detected, a frame image of the detected object. Calculating a reference distance in relation to the position within the frame (S730), calculating the rotational speed of the driving cradle for the first frame image (S740), calculating the predicted speed for the first frame image (S750) ) and controlling the driving of the driving cradle (S760).
  • a step (S721) of controlling the driving cradle to rotate based on the calculated predicted speed may be further included.
  • the step (S721) of controlling the driving cradle to rotate based on the calculated predicted speed is performed when the rotation speed of the driving cradle cannot be calculated because the object is not detected in the first frame image.
  • the predicted speed for the first frame image is calculated based on the change trend of the rotation speed over time calculated using the plurality of rotation speeds calculated for the plurality of frame images included in the group. This may be a setting step.
  • the rotation speed of the driving cradle is calculated based on the accumulation of reference distances calculated by the preset reference positions of a plurality of image frames and the position of the object, so that the driving cradle tracks the object. You can do it.
  • the object is detected by using the change trend of the rotation speed over time calculated in the step of calculating the change trend of the rotation speed over time (S410).
  • the prediction speed for the position of the image frame that has not been detected can be set to the rotation speed of the driving cradle for the first frame image.
  • the rotation speed is the rotation speed of the driving cradle calculated based on the accumulation of reference distances when an object is detected in the first frame image
  • the predicted speed is the rotation speed at the time calculated based on the plurality of rotation speeds calculated by detecting the objects. It may be a predicted speed based on the change trend of the rotational speed over time.
  • the rotation speed can be used as the prediction speed at the time when the image frame in which the object is not detected is located in the change trend with respect to time.
  • the steps (S150, S760) of controlling the driving of the driving cradle based on the rotation speed include the rotation speed when an object is detected in the first frame image and the rotation speed when the object is not detected. This may be a step of controlling the driving with the predicted speed replaced by the rotational speed of the driving cradle.
  • FIG. 10 is an example diagram for explaining an object tracking system according to an embodiment disclosed in the present application
  • FIG. 11 is an example diagram for explaining the configuration of the mobile terminal of FIG. 10.
  • the object tracking system 10 may include a driving cradle 200 and a portable terminal 100.
  • the driving cradle 200 is mounted on the portable terminal 100 and may perform a rotational driving operation according to the rotational speed provided from the portable terminal 100.
  • the driving cradle 200 may include, for example, a rotating part and a main body part.
  • the rotating part is where the mobile terminal 100 is mounted, and may be rotatable so that the mobile terminal 100 can track a moving object.
  • the main body may be configured with a motor, etc. to rotate the rotating part, and the rotating part may be operated by receiving the rotational speed provided by the portable terminal 100.
  • the mobile terminal 100 may control the driving cradle 200 so that the front of the mobile terminal 100 tracks the object based on the position of the object within the frame image.
  • the mobile terminal 100 is an electronic device that a user can use to access the server 200, for example, a mobile phone, a smart phone, a laptop computer, or a digital broadcasting terminal.
  • PDAs personal digital assistants
  • PMPs portable multimedia players
  • navigation personal computers
  • PCs personal computers
  • tablet PCs ultrabooks
  • wearable devices e.g., watch-type terminals
  • glass-type terminals smart glass
  • HMD head mounted display
  • the user terminal 100 may include electronic devices used for Virtual Reality (VR) and Augmented Reality (AR).
  • VR Virtual Reality
  • AR Augmented Reality
  • the mobile terminal 100 may include an imaging unit 110, a processor 120, and a storage unit 130.
  • the imaging unit 110 can capture a frame image at a preset frame rate for the front, and the imaging unit 110 may be a sensor such as a camera capable of capturing.
  • the processor 120 may detect whether an object exists within the frame image and determine the rotation speed of the driving cradle 200 based on the location of the detected object.
  • the processor 120 includes RAM 121, ROM 123, main CPU 122, graphics processing unit 124, and first to n interfaces 125-1, 125-n, etc. can be connected to each other through a bus 126. there is.
  • the first to n interfaces 125-1 and 125-n are connected to various components that will be described later.
  • One of the interfaces can be connected to each other via a network.
  • the first to n interfaces 125-1 and 125-n are connected to the various components described above.
  • One of the interfaces may be a network interface connected to an external device through a network.
  • the main CPU 122 accesses the storage unit 130 and performs booting using the O/S stored in the storage unit 130. Then, various operations are performed using various programs, contents, data, etc. stored in the storage unit 130.
  • the main CPU 122 receives frame images taken at a preset frame rate for the front, detects for each frame image whether an object exists in the frame image, and , for each frame image, when an object is detected in the frame image, a reference distance is calculated in relation to the position of the detected object in the frame image, and a plurality of frame images included in the frame group including the first frame image Based on the accumulation of reference distances, the rotational speed of the driving cradle with respect to the first frame image may be calculated, and driving of the driving cradle may be activated based on the rotational speed.
  • the ROM 123 stores a set of instructions for booting the system.
  • the main CPU 122 copies the O/S stored in the storage unit 130 to the RAM 121 according to the command stored in the ROM 123 and executes the O/S.
  • the main CPU 122 copies various application programs stored in the storage unit 130 to RAM 121 and executes the application programs copied to RAM 121 to perform various operations.
  • the graphics processing unit 124 uses a calculation unit (not shown) and a rendering unit (not shown) to create a screen including various objects such as icons, images, and text. Based on the received control command, the calculation unit (not shown) calculates attribute values such as coordinates, shape, size, color, etc. for each object to be displayed according to the layout of the screen. The rendering unit (not shown) generates screens with various layouts including objects based on attribute values calculated by the calculation unit (not shown).
  • the graphics processing unit 124 may implement objects created by the main CPU 122 as a graphic user interface (GUI), icon, user interface screen, etc.
  • GUI graphic user interface
  • the operation of the processor 120 described above may be performed by a program stored in the storage unit 130.
  • the storage unit 130 stores various data such as O/S (Operating System) software modules for driving the driving cradle 200 and various multimedia contents.
  • O/S Operating System
  • the processor 120 receives frame images taken at a preset frame rate for the front, and detects for each frame image whether an object exists in the frame image, For each frame image, when an object is detected in the frame image, a reference distance is calculated in relation to the position of the detected object in the frame image, and the number of frame images included in the frame group including the first frame image is calculated. It may include a software module for calculating the rotational speed of the driving cradle for the first frame image based on accumulation of reference distances and activating driving of the driving cradle based on the rotational speed.
  • FIG. 12 is an example diagram for explaining a configuration according to another embodiment of the processor disclosed in FIG. 11, and FIG. 13 is an example diagram for explaining a configuration according to an embodiment of the rotation speed determination module of FIG. 12. It is a drawing.
  • the processor 120 may include an object detection module 126, a rotation speed determination module 127, and a cradle driving module 128.
  • the object detection module 126 may receive frame images captured by the imaging unit 110 and detect, for each frame image, whether an object exists within the frame image.
  • the object detection module 126 may capture the frame image based on a preset number of detections and detect whether the object exists in the frame image.
  • the rotation speed determination module 127 may determine the rotation speed based on a reference distance calculated in relation to the location of the detected object.
  • the rotation speed determination module 127 may include a reference distance calculation module 127-1 and a rotation speed calculation module 127-2.
  • the reference distance calculation module 127-1 may calculate a reference distance in relation to the position of the detected object within the frame image.
  • a reference distance is calculated based on the difference between the position of the detected object within the frame image and a preset reference position in the frame image.
  • the preset reference position is the center of the frame image
  • the object when an object is detected, the object is positioned in the center of the frame image, and a plurality of frame images can be captured per second as the movement of the object is detected. Then, if there is a difference between the reference position on the frame image and the object position between the frame image that was at the reference position and the next frame image captured by the object that started moving, the reference distance can be calculated based on this.
  • the rotation speed calculation module 127 may calculate the rotation speed of the driving cradle with respect to the first frame image based on accumulation of reference distances of a plurality of frame images included in the frame group including the first frame image.
  • the first frame image may be one of the frame images that are captured multiple times per second in response to the movement of an object detected through the mobile terminal.
  • the rotation speed of the driving cradle with respect to the first frame image can be calculated based on the accumulated values of the reference distances calculated for each of the plurality of frame images including the first frame image.
  • the rotation speed calculation module 1227 may check the rotation speed using the difference between a preset reference position in the first frame image and the position of the object in the frame image.
  • Checking the rotation speed means that if there is movement of an object within an image frame, the mobile terminal 100 continues to capture a plurality of frame images, the reference distance is also continuously calculated, and the speed is calculated by using the accumulation of these reference distances.
  • the change value can be calculated.
  • the change value of the rotation speed of the driving cradle with respect to the first frame image is calculated as the cumulative value of reference distances that are the difference between a preset reference position and the position of the detected object, and the reference distance in the first frame image is the A first reference distance is the difference between a preset reference position in the frame image one frame previous and the detected object position, and a second reference distance is the difference between the preset reference position in the first frame image and the position of the detected object. can be calculated.
  • the first reference distance in the previous frame image is checked, and the second reference distance in the first frame image is checked. If the first reference distance is longer than the second reference distance, the speed change value can be set as a positive value, and conversely, if the first reference distance is shorter than the second reference distance, the speed change value can be set to a negative value. .
  • the speed change value is set to a positive value because the first reference distance is longer than the second reference distance, the rotation speed of the driving cradle increases, and the speed change value is negative because the first reference distance is shorter than the second reference distance. If set to a value, the rotation speed of the driving cradle can be reduced.
  • the rotation speed determination module 127 may further include a change trend calculation module 127-3, a speed prediction module 127-4, and a speed correction module 127-5.
  • the change trend calculation module 127-3 may calculate a change trend of the rotation speed over time using a plurality of rotation speeds calculated for a plurality of frame images included in the frame group.
  • a change trend of the rotation speed over time can be calculated using a plurality of rotation speeds calculated for a plurality of frame images included in the group and the position of the object in the image frame before the first frame image.
  • the reference distances of a plurality of frame images taken over time are accumulated, and the rotation speed of the driving cradle with respect to the first frame image and the previous first frame image are calculated based on this.
  • the change trend over time can be calculated.
  • the speed prediction module 127-4 may calculate the predicted speed for the first frame image based on the change trend of the rotation speed over time.
  • the predicted speed is calculated from .
  • Calculating the predicted speed is to calculate the rotation speed of the driving cradle not only when an object exists in the first frame image, but also when the rotation speed cannot be calculated because the object does not exist in the first frame image. .
  • the predicted speed is calculated when an actual object is detected. It can correspond to the calculated rotation speed, but when an actual object is detected, there may be cases where the calculated rotation speed does not correspond to the predicted speed from the change trend over time.
  • the speed correction module 127-5 when the predicted speed and the actual rotation speed do not correspond, this can be corrected through the speed correction module 127-5 so that the predicted speed matches the actual rotation speed or is located within the error range.
  • the speed correction module 127-5 compares the rotation speed with respect to the first frame image calculated by the rotation speed calculation module 127-2 and the predicted speed calculated by the speed prediction module 127-4 to determine the rotation speed. The change trend over time can be corrected.
  • the rotation speed and predicted speed for the first frame image correspond to each other, and if they do not correspond to each other, replace the predicted speed with the rotation speed for the first frame image in which the object was detected and correct it, thereby changing the rotation speed trend. This is to ensure that can be calculated accurately.
  • the prediction speed in the rotation speed change trend may be the rotation speed for the first frame image in which the object is detected.
  • the speed correction module 127-5 uses the predicted speed calculated by the speed prediction module 127-4 in the first frame image. It can be corrected by the rotation speed.
  • the rotation speed of the driving cradle is calculated based on the accumulation of reference distances calculated by the preset reference positions of a plurality of image frames and the position of the object so that the driving cradle tracks the object. can do.
  • the rotation speed is a speed that can be calculated when an object is detected in the first frame image, so if the object is not detected in the first frame image, the predicted speed in the speed prediction module 127-4 is calculated as the first frame image.
  • the cradle driving module 128 may control the driving cradle 200 based on the rotation speed calculated by the rotation speed determination module 127.
  • This invention was applied overseas with support from the following research project supported by the government of the Republic of Korea.
  • the present invention has high industrial applicability because it has the effect of easily controlling the rotation speed of the driving cradle according to the movement of the object recognized by the portable terminal.
  • the portable terminal recognizes the object and calculates the rotational speed of the driving cradle, and simultaneously predicts the rotational speed of the driving cradle in real time based on the cumulative value of the calculated rotational speed, making it highly industrially applicable.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Image Analysis (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Studio Devices (AREA)

Abstract

본 출원의 일 기술적 측면에 따른 구동 크래들과 연동되는 휴대 단말에서 수행되어, 상기 구동 크래들의 회전을 제어하여 객체를 추적하도록 하는 객체 추적 방법은 전방에 대하여 기 설정된 프레임 속도로 촬영된 프레임 이미지를 제공받아, 상기 프레임 이미지 각각에 대하여, 프레임 이미지 내에 객체가 존재하는지 탐지하는 단계, 상기 프레임 이미지 각각에 대하여, 상기 프레임 이미지에서 객체가 탐지되면, 탐지된 객체의 프레임 이미지 내에서의 위치와 연관하여 기준 거리를 산출하는 단계, 제1 프레임 이미지를 포함하는 프레임 그룹에 포함된 복수의 프레임 이미지의 기준 거리들의 누적을 기초로, 상기 제1 프레임 이미지에 대한 상기 구동 크래들의 회전 속도를 산출하는 단계 및 상기 회전 속도를 기초로 상기 구동 크래들의 구동을 제어하는 단계를 포함한다.

Description

객체 추적 방법 및 시스템
본 출원은 객체 추적 방법 및 시스템에 관한 것이다.
카메라를 포함하는 기계 장치를 통하여 사용자가 원하는 객체를 추적하기 위해서는, 일반적으로 다수의 카메라를 사용하거나, 카메라를 포함하는 기계 장치와 연동되어 이를 회전시킬 수 있는 부가적인 장치를 사용하여야 한다.
그러나, 다수의 카메라를 사용하여 객체를 추적하는 것은 여러 각도와 방향에 카메라를 설치하여야 하며, 카메라에 잡히는 모든 객체에 대해 특징점을 부여하고, 사용자가 원하는 객체를 지정하여야 하는 불편함이 있다.
이러한 불편함을 해소하기 위해서 다수의 카메라를 사용하지 않더라도, 카메라를 포함하는 기계 장치와 연동하여 사용자가 지정한 객체를 추적할 수 있도록 하는 회전 가능한 장치에 대한 발명이 다수 개발되고 있다.
다만, 이러한 장치들은 속도가 일정하지 않는 움직이는 객체들에 대해 정확한 추적이 어렵고, 객체가 카메라의 화면 밖으로 이탈하여 다시금 객체를 탐지해야 하는 문제점을 가지고 있었다.
본 출원의 일 기술적 측면은 상기한 종래 기술의 문제점을 해결하기 위한 것으로, 본 출원에 개시되는 일 실시예에 따르면, 프레임 이미지 내에 객체의 탐지 여부와 무관하게 객체를 추적할 수 있도록 구동 크래들의 회전 속도를 제어할 수 있도록 하는 객체 추적 방법을 제공하는 것을 목적으로 한다.
본 출원의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 출원의 일 기술적 측면은 객체 추적 방법을 제안한다. 구동 크래들과 연동되는 휴대 단말에서 수행되어, 상기 구동 크래들의 회전을 제어하여 객체를 추적하도록 하는 객체 추적 방법은 전방에 대하여 기 설정된 프레임 속도로 촬영된 프레임 이미지를 제공받아, 상기 프레임 이미지 각각에 대하여, 프레임 이미지 내에 객체가 존재하는지 탐지하는 단계, 상기 프레임 이미지 각각에 대하여, 상기 프레임 이미지에서 객체가 탐지되면, 탐지된 객체의 프레임 이미지 내에서의 위치와 연관하여 기준 거리를 산출하는 단계, 제1 프레임 이미지를 포함하는 프레임 그룹에 포함된 복수의 프레임 이미지의 기준 거리들의 누적을 기초로, 상기 제1 프레임 이미지에 대한 상기 구동 크래들의 회전 속도를 산출하는 단계 및 상기 회전 속도를 기초로 상기 구동 크래들의 구동을 제어하는 단계를 포함할 수 있다.
본 출원의 다른 일 기술적 측면은 객체 추적 시스템을 제안한다. 객체 추적 시스템은, 휴대 단말이 거치되고, 상기 휴대 단말로부터 제공되는 회전 속도에 따라 회전 구동 동작하는 구동 크래들 및 프레임 이미지 내의 객체의 위치를 기초로, 상기 휴대 단말의 전방이 상기 객체를 추적하도록 상기 구동 크래들을 제어하는 휴대 단말을 포함하고, 상기 휴대 단말은, 상기 전방에 대하여 기 설정된 프레임 속도로 상기 프레임 이미지를 촬영하는 촬상부 및 상기 프레임 이미지 각각에 대하여, 해당 프레임 이미지 내에 객체가 존재하는지 탐지하고, 상기 탐지된 객체의 위치를 기초로 상기 구동 크래들의 회전 속도를 결정하는 프로세서를 포함할 수 있다.
본 출원의 다른 일 기술적 측면은 저장 매체를 제안한다. 컴퓨터 판독 가능한 인스트럭션들을 저장하고 있는 저장 매체에 있어서, 상기 인스트럭션들은, 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치로 하여금, 전방에 대하여 기 설정된 프레임 속도로 촬영된 프레임 이미지를 제공받아, 상기 프레임 이미지 각각에 대하여, 프레임 이미지 내에 객체가 존재하는지 탐지하는 단계, 상기 프레임 이미지 각각에 대하여, 상기 프레임 이미지에서 객체가 탐지되면, 탐지된 객체의 프레임 이미지 내에서의 위치와 연관하여 기준 거리를 산출하는 단계, 제1 프레임 이미지를 포함하는 프레임 그룹에 포함된 복수의 프레임 이미지의 기준 거리들의 누적을 기초로, 상기 제1 프레임 이미지에 대한 상기 구동 크래들의 회전 속도를 산출하는 단계 및
상기 회전 속도를 기초로 상기 구동 크래들의 구동을 제어하는 단계를 수행할 수 있다.
상기한 과제의 해결 수단은, 본 출원의 특징을 모두 열거한 것은 아니다. 본 출원의 과제 해결을 위한 다양한 수단들은 이하의 상세한 설명의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.
본 출원에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
본 출원에 개시되는 일 실시예에 따르면 휴대 단말에서 인식한 객체의 이동에 따라 구동 크래들의 회전 속도를 용이하게 제어할 수 있는 효과가 있다.
본 출원에 개시되는 일 실시예에 따르면, 휴대 단말에서 객체를 인식하여 구동 크래들의 회전 속도를 산출함과 동시에 산출된 회전 속도의 누적 값을 기초로 구동 크래들의 회전 속도를 실시간으로 예측할 수 있는 효과가 있다.
본 출원에 개시되는 일 실시예에 따르면, 휴대 단말에서 객체를 인식하지 못하여 구동 크래들의 회전 속도를 산출할 수 없는 경우에도 실시간으로 예측된 회전 속도를 기초로 누락된 객체의 이동 속도와 매칭되는 회전 속도를 산출할 수 있는 효과가 있다.
본 출원의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 출원에 개시되는 일 실시예에 따른 객체 추적 방법을 설명하기 위한 하나의 도면이다.
도 2는 도 1에 개시되는 회전 속도를 산출하는 단계의 일 실시예에 따른 객체 추적 방법을 설명하기 위한 하나의 도면이다.
도 3은 도 2에 개시되는 제1 회전 속도를 결정하는 단계의 일 실시예에 따른 객체 추적 방법을 설명하기 위한 하나의 도면이다
도 4는 도 2에 개시되는 회전 속도를 산출하는 단계의 다른 실시예에 따른 객체 추적 방법을 설명하기 위한 하나의 도면이다.
도 5는 도 4에 개시되는 예측 속도를 산출하는 단계에서 예측 속도가 보정되는 단계를 설명하기 위한 하나의 예시 도면이다.
도 6 내지 도 8은 도 5에 개시되는 예측 속도가 보정되는 과정을 설명하기 위한 하나의 예시 도면이다.
도 9는 본 출원에 개시되는 다른 실시예에 따른 객체 추적 방법을 설명하기 위한 하나의 도면이다.
도 10은 본 출원에 개시되는 일 실시예에 따른 객체 추적 시스템을 설명하기 위한 하나의 예시 도면이다.
도 11은 도 10의 휴대 단말에 따른 구성을 설명하기 위한 하나의 예시 도면이다.
도 12는 도 11의 개시되는 프로세서의 다른 실시예에 따른 구성을 설명하기 위한 하나의 예시 도면이다.
도 13은 도 12의 회전 속도 판단 모듈의 일 실시예에 따른 구성을 설명하기 위한 하나의 예시 도면이다.
이하, 첨부된 도면을 참조하여 본 출원의 바람직한 실시 형태들을 설명한다.
그러나, 본 출원의 실시형태는 여러 가지 다른 형태로 변형될 수 있으며, 본 출원의 범위가 이하 설명하는 실시 형태로 한정되는 것은 아니다. 또한, 본 출원의 실시형태는 당해 기술분야에서 평균적인 지식을 가진 자에게 본 출원을 더욱 완전하게 설명하기 위해서 제공되는 것이다.
본 출원의 다양한 실시 예들 및 이에 사용된 용어들은 본 출원에 기재된 기술적 특징들을 특정한 실시 예들로 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 출원에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나" 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예를 들어, 중요성 또는 순서)에서 한정하지 않는다. 어떤(예를 들어, 제 1) 구성요소가 다른(예를 들어, 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드", "커넥티드" 또는 "연결된" 이라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 출원에서 사용된 용어 "모듈"은 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
본 출원의 다양한 실시 예들은 기기(machine)(예를 들어, 사용자 단말이나 컴퓨팅 장치)에 의해 읽을 수 있는 저장 매체(storage medium)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예를 들어, 프로그램)로서 구현될 수 있다. 예를 들면, 프로세서는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 장치가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예를 들어, 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
실시 예에 따르면, 본 출원에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예를 들어, compact disc read only memory (CDROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예를 들어, 플레이 스토어쪠)를 통해 또는 두개의 사용자 장치들(예를 들어, 스마트폰들) 간에 직접, 온라인으로 배포(예를 들어, 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예를 들어, 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시 예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예를 들어, 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
본 출원의 실시형태를 설명하기 위하여 다양한 순서도가 개시되고 있으나, 이는 각 단계의 설명의 편의를 위한 것으로, 반드시 순서도의 순서에 따라 각 단계가 수행되는 것은 아니다. 즉, 순서도에서의 각 단계는, 서로 동시에 수행되거나, 순서도에 따른 순서대로 수행되거나, 또는 순서도에서의 순서와 반대의 순서로도 수행될 수 있다.
도 1은 본 출원에 개시되는 일 실시예에 따른 객체 추적 방법을 설명하기 위한 하나의 도면이고, 도 2는 도 1에 개시되는 회전 속도를 산출하는 단계의 일 실시예에 따른 객체 추적 방법을 설명하기 위한 하나의 도면이며, 도 3은 도 2에 개시되는 제1 회전 속도를 결정하는 단계의 일 실시예에 따른 객체 추적 방법을 설명하기 위한 하나의 도면이다.
도 1을 참조하면, 구동 크래들과 연동되는 휴대 단말에서 수행되어, 구동 크래들의 회전을 제어하여 객체를 추적하도록 하는 객체 추적 방법은 프레임 이미지 내에 객체가 존재하는지 탐지하는 단계(S120), 기준 거리를 산출하는 단계(S130), 제1 프레임 이미지에 대한 구동 크래들의 회전 속도를 산출하는 단계(S140) 및 구동 크래들의 구동을 제어하는 단계(S150)를 포함할 수 있다.
프레임 이미지 내에 객체가 존재하는지 탐지하는 단계(S120)는 휴대 단말의 전방에 대하여 기 설정된 프레임 속도(frame rate)로 프레임 이미지를 촬영하는 단계(S110)를 포함할 수 있다.
프레임 이미지를 촬영하는 단계(S110)는 휴대 단말을 통해 프레임 이미지 내에 객체의 움직임이 감지된다면, 기 설정된 탐지 횟수를 기초로 프레임 이미지를 촬영하는 단계일 수 있다. 여기서 기 설정된 탐지 횟수는 사용자의 이용 및 편의에 따라 설정될 수 있다. 예를 들어, 사용자가 20 detections/second로 프레임 속도를 설정한다면, 휴대 단말은 초당 20번의 프레임 이미지를 촬영할 수 있다.
프레임 이미지 내에 객체가 존재하는지 탐지하는 단계(S120)는 프레임 이미지를 촬영하는 단계(S110)에서 전방에 대하여 프레임 이미지 내에 객체의 움직임이 감지되어 기 설정된 프레임 속도로 프레임 이미지 촬영을 시작하게 되면, 촬영된 프레임 이미지를 제공받아, 프레임 이미지 각각에 대하여, 프레임 이미지 내에 객체가 존재하는지를 탐지하는 단계일 수 있다.
기준 거리를 산출하는 단계(S130)는 프레임 이미지 내에 객체가 존재하는지 탐지하는 단계(S120)에서 프레임 이미지 각각에 대하여 프레임 이미지에서 객체가 탐지되면, 탐지된 객체의 프레임 이미지 내에서의 위치와 연관하여 기준 거리를 산출하는 단계일 수 있다.
여기서, 기준 거리를 산출하는 단계(S130)는 프레임 이미지에서 기 설정된 기준 위치와 탐지된 객체의 위치 간의 차이를 기준 거리로 산출하는 단계(미도시)를 포함할 수 있다.
프레임 이미지에서 기 설정된 기준 위치와 탐지된 객체의 위치 간의 차이를 기준 거리로 산출하는 단계는 사용자의 이용 및 편의에 따라 미리 설정된 프레임 이미지 상의 위치를 기준 위치로 하여, 프레임 이미지 내에 객체의 움직임이 감지되면, 촬영된 프레임 이미지 상의 객체의 위치가 기준 위치로부터 얼마 정도의 거리가 차이나는 지를 산출하는 단계일 수 있다.
예를 들어, 프레임 이미지 내에 기 설정된 기준 위치가 프레임 이미지의 가운데라 하면, 프레임 이미지 내에 객체가 존재하는지 탐지하는 단계(S120)에서 객체가 탐지될 경우, 탐지된 객체는 기 설정된 기준 위치인 가운데에 먼저 위치될 수 있도록 한다. 이후, 프레임 이미지에서 객체의 움직임이 감지되면 프레임 이미지는 기 설정된 탐지 횟수를 기초로 복수의 프레임 이미지를 촬영하기 시작하고, 휴대 단말은 프레임 이미지 가운데에 객체가 존재할 수 있도록 구동 크래들을 제어하기 시작한다.
휴대 단말은 전방에 대하여 프레임 이미지 내에 존재하는 객체가 기 설정된 기준 위치, 즉 가운데에서 오른쪽으로 이동하게 되면, 구동 크래들을 전방에 대하여 오른쪽으로 구동하게 되고, 반대로 객체가 프레임 이미지 가운데에서 왼쪽으로 이동하게 되면, 구동 크래들은 전방에 대하여 왼쪽으로 구동하게 된다.
이렇게, 프레임 이미지 가운에 존재하던 객체가 움직이면서 촬영된 복수의 프레임 이미지 내에는 이동된 객체의 위치와 기 설정된 기준 위치 간에 차이가 발생할 수 있다. 이러한 위치 간의 차이를 기초로 기준 거리를 산출하는 것이다.
다시 말해, 객체가 탐지되면 프레임 이미지의 가운데 객체가 위치되도록 하고, 객체의 움직임이 감지되면 초당 복수의 프레임 이미지가 촬영될 수 있다. 기준 위치에 있던 프레임 이미지와 이동을 시작한 객체에 의해 촬영된 다음 프레임 이미지 간에 프레임 이미지 상 위치 차이가 발생할 수 있으며, 이를 기초로 기준 거리를 산출하는 것이다.
다만, 이는 본 발명을 실시하기 위한 하나의 예시에 불과하므로, 프레임 이미지에서 기 설정된 기준 위치와 탐지된 객체의 위치 간의 차이는 기준 거리 외 가중치가 더 반영된 값으로 산출될 수 있다.
제1 프레임 이미지에 대한 구동 크래들의 회전 속도를 산출하는 단계(S140)는 제1 프레임 이미지를 포함하는 프레임 그룹에 포함된 복수의 프레임 이미지의 기준 거리들의 누적을 기초로, 구동 크래들을 구동 시키기 위해 제1 프레임 이미지에 대한 구동 크래들의 회전 속도를 산출하는 단계일 수 있다.
제1 프레임 이미지는 휴대 단말을 통해 감지된 객체의 움직임에 대해 초당 복수개로 촬영을 시작한 프레임 이미지 중 어느 하나인 프레임 이미지일 수 있으며, 이하에서는 복수의 프레임 이미지 중 어느 하나인 제1 프레임 이미지를 가지고 설명하기로 한다.
이렇게 제1 프레임 이미지를 포함하는 복수의 프레임 이미지들은 각각 기준 거리를 산출하는 단계(S130)에서 산출된 기준 거리들이 누적된 값을 기초로, 제1 프레임 이미지에 대한 구동 크래들의 회전 속도를 산출할 수 있다.
도 2를 참조하면, 제1 프레임 이미지에 대한 구동 크래들의 회전 속도를 산출하는 단계(S140)는 제1 프레임 이미지의 이전 프레임 이미지의 회전 속도를 확인하는 단계(S210), 복수의 프레임 이미지의 기준 거리들의 누적을 기초로 결정되는 속도 변화 값을 산출하는 단계(S220) 및 이전 프레임 이미지의 회전 속도에 속도 변화 값을 반영하여 제1 프레임 이미지에 대한 제1 회전 속도를 결정하는 단계(S230)를 포함할 수 있다.
제1 프레임 이미지의 이전 프레임 이미지의 회전 속도를 확인하는 단계(S210)는 제1 프레임 이미지에서의 기 설정된 기준 위치와 프레임 이미지 내의 객체의 위치 간의 차이를 이용하여 회전 속도를 확인하는 단계일 수 있다.
이때, 제1 프레임 이미지의 이전 프레임 이미지가 존재하지 않는 경우, 기 설정된 기준 위치 및 객체의 위치 간의 차이인 기준 거리에 비례하여 회전 속도를 확인할 수 있다. 즉, 휴대 단말이 전방에 대해 객체를 인지하고 기 설정된 기준 위치에 위치하도록 한 다음에 프레임 이미지 내의 객체의 이동이 있었다면, 프레임 이미지 내의 객체의 움직임이 있기 전 촬영된 제1 프레임 이미지의 이전의 프레임 이미지는 기 설정된 기준 위치 및 프레임 이미지 내의 객체의 위치 간의 차이가 존재하지 않으므로, 이후 객체의 이동에 따라 구동 크래들의 회전 속도는 처음 촬영된 제1 프레임 이미지의 기준 거리에 비례한 회전 속도일 수 있다.
복수의 프레임 이미지의 기준 거리들의 누적을 기초로 결정되는 속도 변화 값을 산출하는 단계(S220)는 이미지 프레임 내의 객체의 이동이 있을 경우, 휴대 단말은 계속적으로 복수의 프레임 이미지들 촬영하게 되고, 기준 거리 또한 계속적으로 산출되며, 이러한 기준 거리들의 누적을 이용하여 속도 변화 값을 산출하는 단계일 수 있다.
예를 들어, 제1 프레임 이미지에 대한 구동 크래들의 회전 속도의 변화 값은 기 설정된 기준 위치와 탐지된 객체의 위치 간의 차이인 기준 거리들의 누적 값으로 산출되며, 제1 프레임 이미지에서의 기준 거리는 제1 프레임 이전의 프레임 이미지에서의 기 설정된 기준 위치와 탐지된 객체 위치 간의 차이인 제1 기준 거리 및 제1 프레임 이미지의 기 설정된 기준 위치와 탐지된 객체의 위치 간의 차이인 제2 기준 거리를 가지고 산출될 수 있다.
일 실시예로, 회전 속도의 변화 값은 아래의 식을 통해 계산될 수 있다.
V회전 속도 변화값= a*Ki+b (Ki = 적분상수, a 및 b = 상수 또는 변수)
위의 식에서 a는 복수의 프레임 이미지의 기준 거리들의 누적을 기초로 산출되는 변수일 수 있다. Ki는 적분상수로써, 구동 크래들을 구동할 때 사용되는 모터에 따라 정해지는 값일 수 있다. b는 상수일 수 있으나, 본 발명의 복수의 프레임 이미지의 기준 거리들을 기초로 산출된 변수일 수 있다.
이전 프레임 이미지의 회전 속도에 속도 변화 값을 반영하여 제1 프레임 이미지에 대한 제1 회전 속도를 결정하는 단계(S230)는 제1 프레임 이미지 및 이전 프레임 이미지간 기준 거리를 이용하여 구동 크래들의 회전 속도의 증가 또는 감소를 확인하는 단계일 수 있다.
도 3을 참고하면, 속도 변화 값을 반영하여 제1 프레임 이미지에 대한 제1 회전 속도를 결정하는 단계(S230)는 이전 프레임 이미지에서의 제1 기준 거리를 확인하는 단계(S310), 제1 프레임 이미지에서의 제2 기준 거리를 확인하는 단계(S320), 제1 기준 거리 및 제2 기준 거리의 거리를 비교하는 단계(S330), 제1 기준 거리보다 제2 기준 거리가 더 길면, 속도 변화 값을 양의 값으로 설정하는 단계(S332) 및 제1 기준 거리가 더 짧으면, 속도 변화 값을 음의 값으로 설정하는 단계(S331)를 포함할 수 있다.
이전 프레임 이미지에서의 제1 기준 거리를 확인하는 단계(S310)는 제1 프레임 이전의 프레임 이미지에서의 기 설정된 기준 위치와 탐지된 객체 위치 간의 차이를 이용하여 제1 기준 거리를 확인하는 단계일 수 있다. 마찬가지로, 제1 프레임 이미지에서의 제2 기준 거리를 확인하는 단계(S320)는 제1 프레임 이미지의 기 설정된 기준 위치와 탐지된 객체의 위치 간의 차이를 이용하여 제2 기준 거리를 확인하는 단계일 수 있다.
예를 들어, 사용자의 이용 및 편의에 따라 기 설정된 기준 위치가 프레임 이미지의 가운데라면, 제1 프레임 이미지의 이전 프레임 이미지에서 가운데 위치한 객체가 기준 위치인 가운데에서 1cm만큼 이동하였다면, 여기서의 1cm는 제1 기준 거리가 될 수 있다.
그리고, 제1 프레임 이미지에서의 제2 기준거리는 제1 프레임 이미지에서의 기준 위치인 가운데 위치한 객체가 기준 위치인 가운데에서 2cm만큼 이동하였다면, 여기서의 2cm가 제2 기준 거리일 수 있다.
제1 기준 거리 및 제2 기준 거리를 확인하는 것은 프레임 이미지 내의 객체가 이동함에 따라, 하기 후술할 구동 크래들의 회전 속도가 증가 또는 감소하도록 판별하기 위한 것이다.
제1 기준 거리 및 제2 기준 거리의 거리를 비교하는 단계(S330)는 제1 기준 거리 및 제2 기준 거리의 길이를 비교하여 기준 거리 간 부호를 결정하기 위한 단계일 수 있다.
제1 기준 거리보다 제2 기준 거리가 더 길면, 속도 변화 값을 양의 값으로 설정하는 단계(S322) 및 제1 기준 거리가 더 짧으면, 속도 변화 값을 음의 값으로 설정하는 단계(S331)는 구동 크래들의 회전 속도를 증가 또는 감소시키기 위해 판별하는 단계일 수 있다.
예를 들어, 상기 실시예에서 처럼 제1 기준 거리가 1cm이고, 제2 기준 거리가 2cm일 경우에는 제1 기준 거리가 제2 기준 거리보다 짧기 때문에 속도 변화 값은 양의 값으로 설정될 수 있다.
반대로, 제1 기준 거리가 2cm이고, 제2 기준 거리가 1cm인 경우에는 제2 기준 거리가 더 길기 때문에 속도 변화 값은 음의 값으로 설정할 수 있다.
속도 변화 값이 양의 값으로 설정된 경우에는 구동 크래들의 회전 속도를 증가할 수 있으며, 속도 변화 값이 음의 값으로 설정된 경우에는 구동 크래들의 회전 속도를 감소할 수 있다.
도 4는 도 2에 개시되는 회전 속도를 산출하는 단계의 다른 실시예에 따른 객체 추적 방법을 설명하기 위한 하나의 도면이고, 도 5는 도 4에 개시되는 예측 속도를 산출하는 단계에서 예측 속도가 보정되는 단계를 설명하기 위한 하나의 예시 도면이다.
그리고, 도 6 내지 도 8은 도 5에 개시되는 예측 속도가 보정되는 과정을 설명하기 위한 하나의 예시 도면이다.
도 4를 참조하면, 제1 프레임 이미지에 대한 구동 크래들의 회전 속도를 산출하는 단계(S140)는 회전 속도의 시간에 대한 변화 추세를 계산하는 단계(S410)및 제1 프레임 이미지에 대한 예측 속도를 산출하는 단계(S420)를 더 포함할 수 있다.
회전 속도의 시간에 대한 변화 추세를 계산하는 단계(S410)는 프레임 그룹에 포함된 복수의 프레임 이미지에 대하여 산출된 복수의 회전 속도 및 제1 프레임 이미지 이전의 이미지 프레임에서의 객체의 위치를 이용하여 회전 속도의 시간에 대한 변화 추세를 계산하는 단계일 수 있다.
예를 들어, 제1 프레임 이미지 내에 객체가 탐지되면, 시간이 지남에 따라 촬영된 복수의 프레임 이미지들의 기준 거리들의 누적을 기초로 산출된 제1 프레임 이미지에 대한 구동 크래들의 회전 속도 및 제1 프레임 이미지의 이전 프레임에서의 객체의 위치를 칼만 필터의 입력 값으로 이용하여 시간에 대한 변화 추세를 계산할 수 있다.
계속해서 움직이는 객체를 이용함으로써, 프레임 이미지에 대응되는 시간에 대한 회전 속도의 변화 추세를 도출할 수 있는 것이다.
다만, 이는 본 출원을 설명하기 위한 하나의 예시에 불과하므로, 칼만필터가 아닌 회전 속도, 객체의 위치 또는 기준 거리 등을 기초로 하여 회전 속도의 변화 추세를 예측할 수 있는 확률 측정 모델들을 대체하여 사용할 수 있다.
또한, 여기서의 칼만필터는 선형 칼만 필터를 예시로 하여 설명하고 있으나, 선형 칼만 필터에 국한되지 않고 확장 칼만 필터에서도 본 출원을 실시할 수 있음은 당연할 것이다.
제1 프레임 이미지에 대한 예측 속도를 산출하는 단계(S420)는 객체들이 탐지되어 산출된 복수의 회전 속도 및 제1 프레임 이미지의 이전 프레임에서의 객체의 위치를 기초로 산출된 회전 속도의 시간에 대한 변화 추세에서 각 프레임 이미지가 위치되는 시간에서의 예측된 속도를 산출하는 단계일 수 있다.
이는 객체들이 복수의 프레임 이미지에서 탐지된 경우에 산출된 회전 속도 및 객체의 위치를 입력 값으로 하여 확률 측정 모델을 이용해 도출된 시간에 대한 변화 추세이므로, 예측 속도는 복수의 프레임 이미지에서 객체가 탐지된 경우 뿐만 아니라, 복수의 프레임 이미지 중 객체가 탐지되지 않은 프레임 이미지에서의 구동 크래들을 회전 시키기 위한 예측 속도에 포함될 수 있다.
예측 속도를 산출하는 것은 제1 프레임 이미지 상에 객체가 존재하는 경우, 기준 거리들의 누적을 기초로 구동 크래들의 회전 속도를 산출하면 되지만, 제1 프레임 이미지 상에 객체가 존재하지 않는 경우에는 회전 속도의 시간에 대한 변화 추세에서 객체가 탐지되지 않은 이미지 프레임이 위치한 시간의 회전 속도를 예측 속도로 산출하도록 하기 위함이다. 이에 대한 설명은 후술하기로 한다.
도 5를 참조하면, 제1 프레임 이미지에 대한 예측 속도를 산출하는 단계(S420)는 제1 프레임 이미지에 대한 회전 속도와 예측 속도가 서로 대응하는 지를 판단하는 단계(S510) 및 회전 속도에 대한 변화 추세를 보정하는 단계(S520)를 포함할 수 있다.
제1 프레임 이미지에 대한 회전 속도와 예측 속도가 서로 대응하는 지를 판단하는 단계(S510)는 제1 프레임 이미지 상에 객체가 탐지되어 산출된 구동 크래들의 회전 속도와 제1 프레임 이미지 상에 객체가 탐지되지 않아 확률 측정 모델을 이용하여 계산된 회전 속도의 시간에 대한 변화 추세에서의 예측 속도가 일치 또는 오차 범위 내에 존재하는지를 판단하는 단계일 수 있다.
예측 속도는 제1 프레임 이미지 상에 객체가 탐지되지 않은 경우에 회전 속도의 시간에 대한 변화 추세에서 객체가 탐지되지 않은 제1 프레임 이미지가 위치한 시간에서의 회전 속도로 속도를 예측할 수 있는 장점이 있으나, 프레임 그룹에 포함된 복수의 프레임 이미지에서 산출된 복수의 회전 속도를 이용한 변화 추세이므로, 실제 객체가 제1 프레임 이미지 내에 탐지되어 산출된 회전 속도와 시간에 대한 회전속도의 변화 추세를 바탕으로 산출된 예측 속도는 서로 대응되지 않는 경우가 발생할 수 있다.
실제 객체가 제1 프레임 이미지 내에 탐지되어 산출된 회전 속도와 시간에 대한 회전속도의 변화 추세를 바탕으로 산출된 예측 속도가 대응되어야 이동하는 객체를 구동 크래들이 끊김 없이 놓치지 않고 부드럽게 트래킹할 수 있기 때문에, 본 발명은 객체가 탐지된 경우의 회전 속도와 회전속도의 시간에 대한 변화 추세에서의 예측 속도가 서로 대응될 수 있도록 계속적으로 비교 판단하는 것이다.
또한, 본 발명은 실제 회전 속도와 예측 속도가 대응되지 않는 경우, 예측 속도를 회전 속도와 일치 또는 오차 범위 내에 존재하도록 대응시킬 수 있다. 이는 회전 속도의 시간에 대한 변화 추세를 보정하는 단계(S520)에서 설명하기로 한다.
회전 속도에 대한 변화 추세를 보정하는 단계(S520)는 제1 프레임 이미지에 대한 회전 속도 및 예측 속도가 서로 대응하지 않은 경우에 시간에 대한 회전 속도의 변화 추세에서의 예측 속도를 객체가 탐지된 제1 프레임의 이미지에 대한 회전 속도로 보정하여 회전 속도의 변화 추세가 정확하게 산출될 수 있도록 하는 단계일 수 있다.
본 발명은 프레임 이미지 내에 객체가 탐지되지 않는 경우에도 프레임 이미지 내에 객체가 탐지된 경우에 회전 속도를 이용하여 계산된 회전 속도의 시간에 대한 변화 추세에서 예측된 속도를 구동 크래들의 회전 속도로 하여 구동 크래들을 제어 할 수 있을 뿐만 아니라, 회전 속도의 시간에 대한 변화 추세에서 실제 회전 속도가 대응되지 않는 경우에 예측 속도를 회전 속도로 대체함으로써, 회전 속도의 시간에 대한 변화 추세와 실제 회전 속도 간의 오차 범위를 최소한으로 감소시킬 수 있는 장점이 있다.
도 6 내지 도 8을 예를 들어 설명하면, 도 6은 시간에 따른 회전 속도의 시간에 대한 변화 추세를 나타낸 그래프로, 그래프에서 나타나는 실선은 제1 프레임 이미지를 포함하는 프레임 그룹에 포함된 복수의 프레임 이미지에 대하여 산출된 복수의 회전 속도 및 제1 프레임 이미지 이전의 이미지 프레임에서의 객체의 위치를 이용하여, 계산된 값들의 집합일 수 있다.
그리고, 동그란 점은 제1 프레임 이미지 내에서 객체가 탐지되어 산출된 실제 회전 속도일 수 있다.
도 7을 참조하면, 회전 속도의 시간에 대한 변화 추세와 회전 속도가 대부분 일치하는 것을 알 수 있으나, 회전 속도의 시간에 대한 변화 추세와 예측 속도가 다르게 되는 경우가 발생할 수 있다. 이렇게 회전 속도의 시간에 대한 변화 추세와 예측 속도가 다르게 되는 경우, 잘못 예측된 예측 속도는 실제 회전 속도와 일치될 수 있도록 예측 속도를 회전속도로 대체하여 변화 추세 그래프를 도 8에 도시된 것처럼 보정할 수 있다.
도 9는 본 출원에 개시되는 다른 실시예에 따른 객체 추적 방법을 설명하기 위한 하나의 도면이다.
도 9를 참조하면, 객체 추적 방법은 기 설정된 프레임 속도로 프레임 이미지를 촬영하는 단계(S710),프레임 이미지 내에 객체가 존재하는지 탐지하는 단계(S720), 객체가 탐지되면, 탐지된 객체의 프레임 이미지 내에서의 위치와 연관하여 기준 거리를 산출하는 단계(S730), 제1 프레임 이미지에 대한 구동 크래들의 회전 속도를 산출하는 단계(S740), 제1 프레임 이미지에 대한 예측 속도를 산출하는 단계(S750) 및 구동 크래들의 구동을 제어하는 단계(S760)를 포함할 수 있다.
또한, 객체가 탐지되지 않으면, 산출된 예측 속도를 기초로 구동 크래들을 회전시키도록 제어하는 단계(S721)를 더 포함할 수 있다.
여기서, 도 1 내지 도 4에서 전술한 객체 추적 방법의 단계와 동일하게 동작하는 단계는 하기에서 설명을 생략하기로 한다.
객체가 탐지되지 않으면, 산출된 예측 속도를 기초로 구동 크래들을 회전시키도록 제어하는 단계(S721)는 제1 프레임 이미지에서 객체가 탐지되지 않아 구동 크래들의 회전 속도를 산출할 수 없는 경우에, 프레임 그룹에 포함된 복수의 프레임 이미지에 대하여 산출된 복수의 회전 속도를 이용하여 계산된 회전 속도의 시간에 대한 변화 추세를 기초로 제1 프레임 이미지에 대한 예측 속도를 제1 프레임의 이미지에 대한 회전 속도로 설정하는 단계일 수 있다.
구동 크래들의 회전 속도는 상기 전술한 바와 같이, 복수의 이미지 프레임의 기 설정된 기준 위치 및 객체의 위치에 의해 산출되는 기준 거리들의 누적을 기초로 구동 크래들의 회전 속도를 산출하여 구동 크래들이 객체를 추적하도록 할 수 있다.
그러나, 복수의 이미지 프레임 상에 객체가 탐지되지 않는 경우가 발생할 수 있으며, 이때 회전 속도의 시간에 대한 변화 추세를 계산하는 단계(S410)에서 계산된 회전 속도의 시간에 대한 변화 추세를 이용하여 객체가 탐지되지 않은 이미지 프레임의 위치에 대한 예측 속도를 제1 프레임 이미지에 대한 구동 크래들의 회전 속도로 설정할 수 있다.
회전 속도는 객체가 제1 프레임 이미지 내에 탐지된 경우에 기준 거리들의 누적을 기초로 산출된 구동 크래들의 회전 속도이며, 예측 속도는 객체들이 탐지되어 산출된 복수의 회전 속도를 기초로 산출된 시간에 대한 회전 속도의 시간에 대한 변화 추세를 바탕으로 하여 예측된 속도 일 수 있다. 나아가, 객체가 제1 프레임 이미지 내에 탐지되지 않은 경우에는 시간에 대한 변화 추세에서 객체가 탐지되지 않은 이미지 프레임이 위치한 시간에서의 예측 속도를 회전 속도로 할 수 있는 것이다.
도 1 및 도 9을 참조하면, 회전 속도를 기초로 구동 크래들의 구동을 제어하는 단계(S150,S760)는 제1 프레임 이미지에서 객체가 탐지되었을 때의 회전 속도 및 객체가 탐지되지 않았을 때 회전 속도로 대체된 예측 속도를 구동 크래들의 회전 속도로 구동을 제어하는 단계일 수 있다.
도 10은 본 출원에 개시되는 일 실시예에 따른 객체 추적 시스템을 설명하기 위한 하나의 예시 도면이고, 도 11은 도 10의 휴대 단말에 따른 구성을 설명하기 위한 하나의 예시 도면이다.
도 10을 참조하면, 객체 추적 시스템(10)은 구동 크래들(200) 및 휴대 단말(100)을 포함할 수 있다.
구동 크래들(200)은 휴대 단말(100)에 거치되고, 휴대 단말(100)로부터 제공되는 회전 속도에 따라 회전 구동 동작할 수 있다.
구동 크래들(200)이 회전 구동 동작하기 위해서, 예를 들어, 회전부, 본체부를 포함할 수 있다.
회전부는 휴대 단말(100)이 거치되는 곳이며, 휴대 단말(100)이 이동하는 객체를 트래킹할 수 있도록 회전 가능한 구성일 수 있다.
본체부는 회전부를 회전할 수 있도록, 모터 등으로 구성될 수 있으며, 휴대 단말(100)에서 제공되는 회전 속도를 전달받아 회전부를 회전 동작시킬 수 있다.
휴대 단말(100)은 프레임 이미지 내에 객체의 위치를 기초로, 휴대 단말(100)의 전방이 객체를 추적하도록 구동 크래들(200)을 제어할 수 있다.
여기서, 휴대 단말(100)은 예를 들어 사용자가 서버(200)에 접근하기 위하여 사용 가능한 전자 기기로서, 예를 들어, 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 퍼스널 컴퓨터(PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)) 등을 포괄한다. 그러나, 그 외에도 사용자 단말기(100)는 VR(Virtual Reality), AR(Augmented Reality)에 사용되는 전자 기기를 포함할 수 있다.
도 11을 참조하면, 휴대 단말(100은) 촬상부(110), 프로세서(120) 및 저장부(130)를 포함할 수 있다.
촬상부(110)는 전방에 대하여 기 설정된 프레임 속도로 프레임 이미지를 촬영할 수 있으며, 촬상부(110)은 촬영 가능한 카메라 등의 센서일 수 있다.
프로세서(120)는 프레임 이미지 각각에 대하여, 해당 프레임 이미지 내에 객체가 존재하는지 탐지하고, 탐지된 객체의 위치를 기초로 구동 크래들(200)의 회전 속도를 결정할 수 있다.
프로세서(120)는 RAM(121), ROM(123), 메인 CPU(122), 그래픽 처리부(124), 제1 내지 n 인터페이스(125-1,125-n) 등은 버스(126)를 통해 서로 연결될 수 있다.
제1 내지 n인터페이스(125-1,125-n)는 후술할 각종 구성요소들과 연결된다. 인터페이스 중 하나는 네트워크를 통해 서로 연결될 수 있다.
제1 내지 n 인터페이스(125-1,125-n)는 상술한 각종 구성요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
메인 CPU(122)는 저장부(130)에 액세스하여, 저장부(130)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 저장부(130)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
특히, 메인 CPU(122)는 객체 추적을 활성화하기 위한 사용자 조작이 입력되면 전방에 대하여 기 설정된 프레임 속도로 촬영된 프레임 이미지를 제공받아, 프레임 이미지 각각에 대하여, 프레임 이미지 내에 객체가 존재하는지 탐지하고, 프레임 이미지 각각에 대하여, 프레임 이미지에서 객체가 탐지되면, 탐지된 객체의 프레임 이미지 내에서의 위치와 연관하여 기준 거리를 산출하고, 제1 프레임 이미지를 포함하는 프레임 그룹에 포함된 복수의 프레임 이미지의 기준 거리들의 누적을 기초로, 제1 프레임 이미지에 대한 구동 크래들의 회전 속도를 산출하고, 회전 속도를 기초로 구동 크래들의 구동을 활성화시킬 수 있다.
ROM(123)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(122)는 ROM(123)에 저장된 명령어에 따라 저장부(130)에 저장된 O/S를 RAM(121)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU(122)는 저장부(130)에 저장된 각종 어플리케이션 프로그램을 RAM(121)에 복사하고, RAM(121)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
그래픽 처리부(124)는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다. 연산부(미도시)는 수신된 제어 명령에 기초하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산한다. 렌더링부(미도시)는 연산부(미도시)에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성한다.
특히, 그래픽 처리부(124)는 메인 CPU(122)에 의해 생성된 오브젝트를 GUI(Graphic User Interface), 아이콘, 사용자 인터페이스 화면 등으로 구현할 수 있다.
한편, 상술한 프로세서(120)의 동작은 저장부(130)에 저장된 프로그램에 의해 이루어질 수 있다.
저장부(130)는 구동 크래들(200)을 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 각종 멀티미디어 컨텐츠와 같은 다양한 데이터를 저장한다.
또한, 프로세서(120)는 객체 추적을 활성화하기 위한 사용자 조작이 입력되면 전방에 대하여 기 설정된 프레임 속도로 촬영된 프레임 이미지를 제공받아, 프레임 이미지 각각에 대하여, 프레임 이미지 내에 객체가 존재하는지 탐지하고, 프레임 이미지 각각에 대하여, 프레임 이미지에서 객체가 탐지되면, 탐지된 객체의 프레임 이미지 내에서의 위치와 연관하여 기준 거리를 산출하고, 제1 프레임 이미지를 포함하는 프레임 그룹에 포함된 복수의 프레임 이미지의 기준 거리들의 누적을 기초로, 제1 프레임 이미지에 대한 구동 크래들의 회전 속도를 산출하고, 회전 속도를 기초로 구동 크래들의 구동을 활성화하기 위한 소프트웨어 모듈을 포함할 수 있다.
도 12는 도 11의 개시되는 프로세서의 다른 실시예에 따른 구성을 설명하기 위한 하나의 예시 도면이고, 도 13은 도 12의 회전 속도 판단 모듈의 일 실시예에 따른 구성을 설명하기 위한 하나의 예시 도면이다.
도 12를 참조하면, 프로세서(120)은 객체 탐지 모듈(126), 회전 속도 판단 모듈(127) 및 크래들 구동 모듈(128)을 포함할 수 있다.
객체 탐지 모듈(126)은 촬상부(110)에 의해 촬영된 프레임 이미지를 제공받아, 프레임 이미지 각각에 대하여, 프레임 이미지 내에 객체가 존재하는지 탐지할 수 있다.
객체 탐지 모듈(126)은 휴대 단말을 통해 프레임 이미지 내에 객체의 움직임이 감지된다면, 기 설정된 탐지 횟수를 기초로 프레임 이미지를 촬영하면서, 프레임 이미지 내에 객체가 존재하는지를 탐지할 수 있다.
회전 속도 판단 모듈(127)은 객체 탐지 모듈(126)에 의해 프레임 이미지에서 객체가 탐지되면, 탐지된 객체의 위치와 연관하여 산출된 기준 거리를 기초로 회전 속도를 판단할 수 있다.
도 13을 참조하면, 회전 속도 판단 모듈(127)은 기준 거리 산출 모듈(127-1) 및 회전 속도 산출 모듈(127-2)을 포함할 수 있다.
기준 거리 산출 모듈(127-1)은 프레임 이미지에서 객체가 탐지되면, 탐지된 객체의 프레임 이미지 내에서의 위치와 연관하여 기준 거리를 산출할 수 있다.
다시 말해, 객체가 존재하는 프레임 이미지 각각에 대하여 탐지된 객체의 프레임 이미지 내에서의 위치와 프레임 이미지에서 기 설정된 기준 위치 간의 차이를 기준으로 기준 거리를 산출하는 것이다.
예를 들어, 기 설정된 기준 위치가 프레임 이미지 내의 가운데라 가정하면, 객체가 탐지되었을 때, 프레임 이미지 가운데 객체가 위치되도록 하고, 객체의 움직임이 감지됨에 따라 초당 복수의 프레임 이미지가 촬영될 수 있다. 그러면, 기준 위치에 있던 프레임 이미지와 이동을 시작한 객체에 의해 촬영된 다음 프레임 이미지 간에 프레임 이미지 상 기준 위치 및 객체 위치 간 차이가 발생할 수 있으면, 이를 기초로 기준 거리를 산출할 수 있다.
회전 속도 산출 모듈(127)은 제1 프레임 이미지를 포함하는 프레임 그룹에 포함된 복수의 프레임 이미지의 기준 거리들의 누적을 기초로, 제1 프레임 이미지에 대한 구동 크래들의 회전 속도를 산출할 수 있다.
제1 프레임 이미지는 휴대 단말을 통해 감지된 객체의 움직임에 대해 초당 복수개로 촬영을 시작한 프레임 이미지 중 어느 하나인 프레임 이미지일 수 있음은 전술한 바 있다.
이렇게 제1 프레임 이미지를 포함하는 복수의 프레임 이미지들은 각각 산출된 기준 거리들의 누적된 값을 기초로 제1 프레임 이미지에 대한 구동 크래들의 회전 속도를 산출할 수 있는 것이다.
본 발명의 다른 실시예에 있어서, 회전 속도 산출 모듈(1227) 제1 프레임 이미지에서의 기 설정된 기준 위치와 프레임 이미지 내의 객체의 위치 간의 차이를 이용하여 회전 속도를 확인할 수 있다.
회전 속도를 확인하는 것은 이미지 프레임 내의 객체의 이동이 있을 경우, 휴대 단말(100)은 계속해서 복수의 프레임 이미지들을 촬영하게 되고, 기준 거리 또한 계속해서 산출되며, 이러한 기준 거리들의 누적을 이용하여 속도 변화 값을 산출할 수 있게 된다.
예를 들어, 제1 프레임 이미지에 대한 구동 크래들의 회전 속도의 변화 값은 기 설정된 기준 위치와 탐지된 객체의 위치 간의 차이인 기준 거리들의 누적 값으로 산출되며, 제1 프레임 이미지에서의 기준 거리는 제1 프레임 이전의 프레임 프레임 이미지에서의 기 설정된 기준 위치와 탐지된 객체 위치 간의 차이인 제1 기준 거리 및 제1 프레임 이미지의 기 설정된 기준 위치와 탐지된 객체의 위치 간의 차이인 제2 기준 거리를 가지고 산출될 수 있다.
회전 속도 산출 모듈(127)에서 회전 속도를 확인하는 것은 속도 변화 값을 산출하는 것 뿐만 아니라, 제1 프레임 이미지 및 이전 프레임 이미지 간 기준 거리를 이용하여 구동 크래들의 회전 속도의 증가 또는 감소를 확인할 수 있다.
예를 들어, 앞서 설명한 제1 기준 거리 및 제2 기준 거리를 가지고 설명하면, 먼저 이전 프레임 이미지에서의 제1 기준 거리를 확인하고, 제1 프레임 이미지에서의 제2 기준 거리를 확인한다. 만약, 제1 기준 거리 보다 제2 기준 거리보다 더 길면 속도 변화 값을 양의 값으로 설명하고, 반대로 제1 기준 거리가 제2 기준 거리보다 더 짧으면, 속도 변화 값을 음의 값으로 설정할 수 있다.
제1 기준 거리가 제2 기준 거리보다 더 길어 속도 변화 값이 양의 값으로 설정된다면, 구동 크래들의 회전 속도는 증가하게 되고, 제1 기준 거리가 제2 기준 거리보다 짧아 속도 변화 값이 음의 값으로 설정되면, 구동 크래들의 회전 속도를 감소할 수 있다.
계속해서 도 11을 참조하면, 회전 속도 판단 모듈(127)은 변화 추세 계산 모듈(127-3), 속도 예측 모듈(127-4) 및 속도 보정 모듈(127-5)을 더 포함할 수 있다.
변화 추세 계산 모듈(127-3)은 프레임 그룹에 포함된 복수의 프레임 이미지에 대하여 산출된 복수의 회전 속도를 이용하여, 회전 속도의 시간에 대한 변화 추세를 계산할 수 있다.
예를 들어, 그룹에 포함된 복수의 프레임 이미지에 대하여 산출된 복수의 회전 속도 및 제1 프레임 이미지 이전의 이미지 프레임에서의 객체의 위치를 이용하여 회전 속도의 시간에 대한 변화 추세를 계산할 수 있다.
제1 프레임 이미지 내에 객체가 탐지되면, 시간이 지남에 따라 촬영된 복수의 프레임 이미지들의 기준 거리들이 누적되고, 이를 기초로 산출된 제1 프레임 이미지에 대한 구동 크래들의 회전 속도 및 제1 프레임 이미지 이전 프레임에서의 객체의 위치를 칼만 필터와 같은 확률 측정 모델의 입력 값으로 이용함으로써, 시간에 대한 변화 추세를 계산할 수 있다.
속도 예측 모듈(127-4)은 회전 속도의 시간에 대한 변화 추세를 기초로 제1 프레임 이미지에 대한 예측 속도를 산출할 수 있다.
예를 들어, 객체들의 탐지되어 산출된 복수의 회전 속도 및 제1 프레임 이미지의 이전 프레임에서의 객체의 위치를 기초로 계산된 회전 속도의 시간에 대한 변화 추세에서 복수의 프레임 이미지 각각이 위치되는 시간에서 예측된 속도를 산출하는 것이다.
예측 속도를 산출하는 것은 제1 프레임 이미지 상에 객체가 존재하는 경우 뿐만 아니라, 제1 프레임 이미지 상에 객체가 존재하지 않아 회전 속도를 산출할 수 없는 경우에도 구동 크래들의 회전 속도를 산출하기 위한 것이다.
다만, 객체들이 복수의 프레임 이미지에서 탐지된 경우에 산출된 회전 속도 및 객체의 위치를 입력 값으로 하여 확률 측정 모델을 이용해 도출된 시간에 대한 변화 추세이므로, 예측 속도는 실제 객체가 탐지된 경우에 산출된 회전속도와 대응할 수 있으나, 실제 객체가 탐지된 경우에 산출된 회전 속도와 시간에 대한 변화 추세에서의 예측 속도가 대응하지 않는 경우가 발생할 수 있다.
본 발명은 예측 속도와 실제 회전 속도가 대응하지 않는 경우에 이를 예측 속도를 실제 회전속도로 일치시키거나 오차 범위내에 위치될 수 있도록 속도 보정 모듈(127-5)을 통해 보정할 수 있다.
속도 보정 모듈(127-5)은 회전 속도 산출 모듈(127-2)에 의해 산출된 제1 프레임 이미지에 대한 회전 속도 및 속도 예측 모듈(127-4)에 의해 산출된 예측 속도를 비교하여 회전 속도의 시간에 대한 변화 추세를 보정할 수 있다.
제1 프레임 이미지에 대한 회전 속도 및 예측 속도가 서로 대응하는지 비교하고, 서로 대응하지 않은 경우에는 예측 속도를 객체가 탐지된 제1 프레임 이미지에 대한 회전속도로 대체하여 보정함으로써, 회전 속도의 변화 추세가 정확하게 산출될 수 있도록 하는 것이다. 제1 프레임 이미지에 대한 회전 속도 및 예측 속도가 서로 대응하는 경우에는, 회전 속도의 변화 추세에서의 예측 속도가 객체가 탐지된 제1 프레임 이미지에 대한 회전 속도가 될 수 있다.
속도 보정 모듈(127-5)은 제1 프레임 이미지에서 객체가 탐지되지 않아 구동 크래들의 회전 속도를 산출할 수 없는 경우에, 속도 예측 모듈(127-4)에서 산출된 예측 속도를 제1 프레임 이미지에 대한 회전 속도로 보정할 수 있다.
구동 크래들의 회전 속도는 전술한 바와 같이, 복수의 이미지 프레임의 기 설정된 기준 위치 및 객체의 위치에 의해 산출되는 기준 거리들의 누적을 기초로 구동 크래들의 회전 속도를 산출하여 구동 크래들이 객체를 추적하도록 할 수 있다.
다만, 회전 속도는 객체가 제1 프레임 이미지 내에 탐지된 경우에 산출될 수 있는 속도이므로, 제1 프레임 이미지 내에 객체가 탐지되지 않은 경우에는 속도 예측 모듈(127-4)에서의 예측 속도를 제1 프레임 이미지에 대한 구동 크래들의 회전 속도로 보정함으로써, 구동 크래들의 추적이 끊기지 않도록 할 수 있다.
크래들 구동 모듈(128)은 회전 속도 판단 모듈(127)에서 산출된 회전 속도를 기초로 구동 크래들(200)을 제어할 수 있다.
이상에서 설명한 본 출원은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고 후술하는 특허청구범위에 의해 한정되며, 본 출원의 구성은 본 출원의 기술적 사상을 벗어나지 않는 범위 내에서 그 구성을 다양하게 변경 및 개조할 수 있다는 것을 본 출원이 속하는 기술 분야에서 통상의 지식을 가진 자는 쉽게 알 수 있다.
[사사]
본 발명은 대한민국 정부가 지원한 다음 연구과제의 지원을 받아 해외 출원된 것이다.
연구과제 정보
부처명:한국관광공사
연구사업명: 관광 글로벌 선도기업 후속지원
과제명:스마트폰 연동형 사람/사물 자동인식 및 트래킹 촬영기기
주관기관:(주)쓰리아이
연구기간:2022.03.04~2022.12.31
본 발명은 휴대 단말에서 인식한 객체의 이동에 따라 구동 크래들의 회전 속도를 용이하게 제어할 수 있는 효과가 있어 산업상 이용가능성이 높다.
또한, 휴대 단말에서 객체를 인식하여 구동 크래들의 회전 속도를 산출함과 동시에 산출된 회전 속도의 누적 값을 기초로 구동 크래들의 회전 속도를 실시간으로 예측할 수 있는 효과가 있어 산업상 이용가능성이 높다.
또한, 휴대 단말에서 객체를 인식하지 못하여 구동 크래들의 회전 속도를 산출할 수 없는 경우에도 실시간으로 예측된 회전 속도를 기초로 누락된 객체의 이동 속도와 매칭되는 회전 속도를 산출할 수 있는 효과가 있어 산업상 이용가능성이 높다.

Claims (16)

  1. 구동 크래들과 연동되는 휴대 단말에서 수행되어, 상기 구동 크래들의 회전을 제어하여 객체를 추적하도록 하는 객체 추적 방법에 있어서,
    전방에 대하여 기 설정된 프레임 속도로 촬영된 프레임 이미지를 제공받아, 상기 프레임 이미지 각각에 대하여, 프레임 이미지 내에 객체가 존재하는지 탐지하는 단계;
    상기 프레임 이미지 각각에 대하여, 상기 프레임 이미지에서 객체가 탐지되면, 탐지된 객체의 프레임 이미지 내에서의 위치와 연관하여 기준 거리를 산출하는 단계;
    제1 프레임 이미지를 포함하는 프레임 그룹에 포함된 복수의 프레임 이미지의 기준 거리들의 누적을 기초로, 상기 제1 프레임 이미지에 대한 상기 구동 크래들의 회전 속도를 산출하는 단계; 및
    상기 회전 속도를 기초로 상기 구동 크래들의 구동을 제어하는 단계;를 포함하는,
    객체 추적 방법.
  2. 제1항에 있어서, 상기 기준거리를 산출하는 단계는,
    상기 프레임 이미지에서 기 설정된 기준 위치와 상기 탐지된 객체의 위치 간의 차이를 상기 기준 거리로 산출하는 단계;를 포함하는,
    객체 추적 방법.
  3. 제1항에 있어서, 상기 제1 프레임 이미지에 대한 상기 구동 크래들의 회전 속도를 산출하는 단계는,
    상기 제1 프레임 이미지의 이전 프레임 이미지의 회전 속도를 확인하는 단계;
    상기 복수의 프레임 이미지의 기준 거리들의 누적을 기초로 결정되는 속도 변화 값을 산출하는 단계; 및
    상기 이전 프레임 이미지의 회전 속도에 상기 속도 변화 값을 반영하여 상기 제1 프레임 이미지에 대한 제1 회전 속도를 결정하는 단계;를 포함하는,
    객체 추적 방법.
  4. 제3항에 있어서, 상기 속도 변화값을 반영하여 상기 제1 프레임 이미지에 대한 제1 회전 속도를 결정하는 단계는,
    상기 이전 프레임 이미지에서의 제1 기준 거리를 확인하는 단계;
    상기 제1 프레임 이미지에서의 제2 기준 거리를 확인하는 단계;
    상기 제1 기준 거리보다 상기 제2 기준 거리가 더 길면, 상기 속도 변화값을 양의 값으로 설정하는 단계; 및
    상기 제1 기준거리보다 상기 제2 기준 거리가 더 짧으면, 상기 속도 변화값을 음의 값으로 설정하는 단계; 를 포함하는,
    객체 추적 방법.
  5. 제1항에 있어서, 상기 제1 프레임 이미지에 대한 상기 구동 크래들의 회전 속도를 산출하는 단계는,
    상기 프레임 그룹에 포함된 복수의 프레임 이미지에 대하여 산출된 복수의 회전 속도를 이용하여, 회전 속도의 시간에 대한 변화 추세를 계산하는 단계; 및
    상기 회전 속도의 시간에 대한 변화 추세를 기초로 상기 제1 프레임 이미지에 대한 예측 속도를 산출하는 단계;를 포함하는,
    객체 추적 방법.
  6. 제5항에 있어서, 상기 제1 프레임 이미지에 대한 예측 속도를 산출하는 단계는,
    상기 제1 프레임 이미지에 대한 회전 속도와 예측 속도가 서로 대응하는지를 판단하는 단계; 및
    상기 제1 프레임의 이미지에 대한 회전 속도 및 예측 속도가 서로 대응하지 않은 경우, 상기 예측 속도를 상기 제1 프레임의 이미지에 대한 회전 속도로 대체하여 상기 회전 속도의 시간에 대한 변화 추세를 보정하는 단계;를 포함하는,
    객체 추적 방법.
  7. 제5항에 있어서, 상기 객체 추적 방법은,
    상기 프레임 이미지에서 상기 객체가 탐지되지 않으면, 상기 예측 속도를 기초로 상기 구동 크래들을 회전시키도록 제어하는 단계;를 더 포함하는,
    객체 추적 방법.
  8. 제5항에 있어서, 상기 객체 추적 방법은,
    상기 제1 프레임 이미지에서 상기 객체가 탐지되면, 상기 제1 프레임 이미지에 대한 상기 회전 속도를 기초로 상기 구동 크래들을 회전시키도록 제어하는 단계;를 더 포함하는,
    객체 추적 방법.
  9. 객체 추적 시스템에 있어서,
    휴대 단말이 거치되고, 상기 휴대 단말로부터 제공되는 회전 속도에 따라 회전 구동 동작하는 구동 크래들; 및
    프레임 이미지 내의 객체의 위치를 기초로, 상기 휴대 단말의 전방이 상기 객체를 추적하도록 상기 구동 크래들을 제어하는 휴대 단말;을 포함하고,
    상기 휴대 단말은,
    상기 전방에 대하여 기 설정된 프레임 속도로 상기 프레임 이미지를 촬영하는 촬상부; 및
    상기 프레임 이미지 각각에 대하여, 해당 프레임 이미지 내에 객체가 존재하는지 탐지하고, 상기 탐지된 객체의 위치를 기초로 상기 구동 크래들의 회전 속도를 결정하는 프로세서;를 포함하는,
    객체 추적 시스템.
  10. 제9항에 있어서, 상기 프로세서는,
    상기 촬상부에 의해 촬영된 프레임 이미지를 제공받아, 상기 프레임 이미지 각각에 대하여, 프레임 이미지 내에 객체가 존재하는지 탐지하는 객체 탐지 모듈;
    상기 프레임 이미지에서 객체가 탐지되면, 탐지된 객체의 위치와 연관하여 회전 속도를 판단하는 회전 속도 판단 모듈; 및
    상기 회전 속도를 기초로 상기 구동 크래들을 구동하는 크래들 구동 모듈;을 포함하는,
    객체 추적 시스템.
  11. 제10항에 있어서, 상기 회전 속도 판단 모듈은,
    상기 프레임 이미지에서 객체가 탐지되면, 상기 탐지된 객체의 프레임 이미지 내에서의 위치와 연관하여 기준 거리를 산출하는 기준 거리 산출 모듈; 및
    제1 프레임 이미지를 포함하는 프레임 그룹에 포함된 복수의 프레임 이미지의 기준 거리들의 누적을 기초로, 상기 제1 프레임 이미지에 대한 상기 구동 크래들의 회전 속도를 산출하는 회전 속도 산출 모듈;을 포함하는,
    객체 추적 시스템.
  12. 제11항에 있어서, 상기 회전 속도 판단 모듈은,
    상기 프레임 그룹에 포함된 복수의 프레임 이미지에 대하여 산출된 복수의 회전 속도를 이용하여, 회전 속도의 시간에 대한 변화 추세를 계산하는 변화 추세 계산 모듈;
    상기 회전 속도의 시간에 대한 변화 추세를 기초로 상기 제1 프레임 이미지에 대한 예측 속도를 산출하는 속도 예측 모듈; 및
    상기 회전 속도 산출 모듈에 의해 산출된 상기 제1 프레임 이미지에 대한 회전 속도 및 상기 속도 예측 모듈에 의해 산출된 예측 속도를 비교하여 상기 회전 속도의 시간에 대한 변화 추세를 보정하는 속도 보정 모듈;을 포함하는,
    객체 추적 시스템.
  13. 제12항에 있어서, 상기 속도 보정 모듈은,
    상기 회전 속도 산출 모듈에 의해 산출된 상기 제1 프레임 이미지에 대한 회전 속도 및 상기 속도 예측 모듈에 의해 산출된 예측 속도가 서로 대응하는지를 판단하고, 상기 제1 프레임의 이미지에 대한 회전 속도 및 예측 속도가 서로 대응하는 경우, 상기 회전 속도를 기초로 상기 구동 크래들을 구동하는 것인,
    객체 추적 시스템.
  14. 제12항에 있어서, 상기 회전 속도 판단 모듈은,
    상기 회전 속도 산출 모듈에 의해 산출된 상기 제1 프레임 이미지에 대한 회전 속도 및 상기 속도 예측 모듈에 의해 산출된 예측 속도가 서로 대응하는지를 판단하고, 상기 제1 프레임의 이미지에 대한 회전 속도 및 예측 속도가 서로 대응하지 않는 경우, 상기 예측 속도를 상기 제1 프레임의 이미지에 대응하는 회전 속도로 대체하여 상기 시간에 대한 회전 속도의 변화 추세를 보정하고, 상기 대체된 회전속도로 구동 크래들을 구동하는 것인,
    객체 추적 시스템.
  15. 제12항에 있어서, 상기 회전 속도 보정 모듈은,
    상기 객체 탐지 모듈에 의해 객체가 탐지되지 않는 경우, 상기 속도 예측 모듈에 의해 산출된 예측 속도를 제1 프레임의 이미지에 대한 회전 속도로 상기 구동 크래들의 회전 속도를 결정하는 것인,
    객체 추적 시스템.
  16. 컴퓨터 판독 가능한 인스트럭션들을 저장하고 있는 저장 매체에 있어서,
    상기 인스트럭션들은, 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치로 하여금,
    전방에 대하여 기 설정된 프레임 속도로 촬영된 프레임 이미지를 제공받아, 상기 프레임 이미지 각각에 대하여, 프레임 이미지 내에 객체가 존재하는지 탐지하는 단계;
    상기 프레임 이미지 각각에 대하여, 상기 프레임 이미지에서 객체가 탐지되면, 탐지된 객체의 프레임 이미지 내에서의 위치와 연관하여 기준 거리를 산출하는 단계;
    제1 프레임 이미지를 포함하는 프레임 그룹에 포함된 복수의 프레임 이미지의 기준 거리들의 누적을 기초로, 상기 제1 프레임 이미지에 대한 상기 구동 크래들의 회전 속도를 산출하는 단계; 및
    상기 회전 속도를 기초로 상기 구동 크래들의 구동을 제어하는 단계;를 수행하도록 하는,
    저장 매체.
PCT/KR2022/018933 2022-06-29 2022-11-28 객체 추적 방법 및 시스템 WO2024005280A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/212,530 US20240007751A1 (en) 2022-06-29 2023-06-21 Method and system for tracking object

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20220080010 2022-06-29
KR10-2022-0080010 2022-06-29
KR10-2022-0161141 2022-11-28
KR20220161141 2022-11-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/212,530 Continuation US20240007751A1 (en) 2022-06-29 2023-06-21 Method and system for tracking object

Publications (1)

Publication Number Publication Date
WO2024005280A1 true WO2024005280A1 (ko) 2024-01-04

Family

ID=89380834

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/018933 WO2024005280A1 (ko) 2022-06-29 2022-11-28 객체 추적 방법 및 시스템

Country Status (2)

Country Link
US (1) US20240007751A1 (ko)
WO (1) WO2024005280A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009159356A (ja) * 2007-12-27 2009-07-16 Casio Comput Co Ltd 被写対象追跡装置、被写対象追跡プログラム及び被写対象追跡方法
KR101631955B1 (ko) * 2014-12-10 2016-06-20 삼성전자주식회사 목표 대상 추적 장치 및 방법
KR20170061438A (ko) * 2015-11-26 2017-06-05 삼성전자주식회사 객체를 추적하여 영상을 수신하는 방법 및 장치
KR20170086392A (ko) * 2016-01-18 2017-07-26 전도헌 적외선 카메라와 마커를 이용한 영상 촬영 시스템, 방법 및 어플리케이션
KR20210102144A (ko) * 2019-11-19 2021-08-19 주식회사 쓰리아이 사용자 단말기 및 단말기 거치대의 제어방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009159356A (ja) * 2007-12-27 2009-07-16 Casio Comput Co Ltd 被写対象追跡装置、被写対象追跡プログラム及び被写対象追跡方法
KR101631955B1 (ko) * 2014-12-10 2016-06-20 삼성전자주식회사 목표 대상 추적 장치 및 방법
KR20170061438A (ko) * 2015-11-26 2017-06-05 삼성전자주식회사 객체를 추적하여 영상을 수신하는 방법 및 장치
KR20170086392A (ko) * 2016-01-18 2017-07-26 전도헌 적외선 카메라와 마커를 이용한 영상 촬영 시스템, 방법 및 어플리케이션
KR20210102144A (ko) * 2019-11-19 2021-08-19 주식회사 쓰리아이 사용자 단말기 및 단말기 거치대의 제어방법

Also Published As

Publication number Publication date
US20240007751A1 (en) 2024-01-04

Similar Documents

Publication Publication Date Title
WO2020226294A1 (en) Foldable device and method for controlling image capturing by using plurality of cameras
WO2020218742A1 (ko) 폴더블 전자 장치 및 그 동작 방법
WO2017119538A1 (ko) 그래픽 사용자 인터페이스의 프로토타입 제작 방법 및 그 장치
WO2015115698A1 (en) Portable device and method of controlling therefor
WO2020085628A1 (en) Method for displaying objects and electronic device using the same
WO2016089074A1 (en) Device and method for receiving character input through the same
WO2017150815A1 (ko) 디스플레이의 밝기를 제어하는 방법, 전자 장치 및 컴퓨터 판독가능 기록매체
WO2020171563A1 (en) Electronic device and method for controlling operation of display in same
WO2020190028A1 (ko) 변형가능한 디스플레이 패널 내의 화면의 표시를 위한 전자 장치, 방법, 및 컴퓨터 판독가능 매체
WO2021080360A1 (en) Electronic device and method for controlling display operation thereof
WO2021145692A1 (ko) 폴더블 전자 장치 및 화면 표시 방법
WO2015190668A1 (ko) 이동 단말기
WO2020222428A1 (ko) 전자 장치 및 그 영상을 출력하는 방법
WO2019039729A1 (en) METHOD FOR CHANGING THE CONTENT SIZE DISPLAYED ON A DISPLAY DEVICE, AND RELATED ELECTRONIC DEVICE
WO2021118187A1 (ko) 회전이 가능한 카메라를 구비한 폴더블 전자 장치 및 이를 이용한 촬영 방법
WO2021221421A1 (ko) 디스플레이를 제어하는 방법 및 그 전자 장치
WO2019160325A1 (en) Electronic device and control method thereof
WO2024005280A1 (ko) 객체 추적 방법 및 시스템
WO2020027417A1 (en) Electronic device and method for providing virtual input tool
WO2016122153A1 (en) Display apparatus and control method thereof
WO2021167286A1 (en) Display apparatus and control method thereof
WO2020224089A1 (zh) 图案码位置调整方法、装置及计算机可读存储介质
WO2019124907A1 (ko) 디스플레이 구동 회로에 저장된 좌표 정보에 기반하여, 콘텐트의 표시 위치를 이동하기 위한 전자 장치 및 방법
WO2021071301A1 (ko) 전자 장치 및 전자 장치의 제어 방법
WO2021118206A1 (en) Foldable electronic device for detecting defective region and method thereof

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

Country of ref document: EP

Kind code of ref document: A1