WO2024005279A1 - Software-based object tracking provision method, and computing device therefor - Google Patents

Software-based object tracking provision method, and computing device therefor Download PDF

Info

Publication number
WO2024005279A1
WO2024005279A1 PCT/KR2022/018565 KR2022018565W WO2024005279A1 WO 2024005279 A1 WO2024005279 A1 WO 2024005279A1 KR 2022018565 W KR2022018565 W KR 2022018565W WO 2024005279 A1 WO2024005279 A1 WO 2024005279A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame image
tracking
search frame
viewing window
resolution
Prior art date
Application number
PCT/KR2022/018565
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
Application filed by 주식회사 쓰리아이 filed Critical 주식회사 쓰리아이
Priority to US18/340,318 priority Critical patent/US20240005530A1/en
Priority to US18/340,311 priority patent/US20240005529A1/en
Publication of WO2024005279A1 publication Critical patent/WO2024005279A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces

Definitions

  • the present invention relates to a method for providing software-based object tracking and a computing device therefor.
  • the main interest of users is the tracking function for objects of interest in the image being shot.
  • One technical aspect of the present application is to solve the problems of the prior art described above. According to an embodiment disclosed in the present application, tracking of an object is effectively performed based on software for an image captured while fixed in a certain direction. The purpose is to provide
  • a tracking object is identified within a frame image using a first deep learning model learned with a large amount of training data for identifying the tracking object, and a large amount of information associated with the external characteristics of the tracking object is used.
  • the purpose is to quickly and accurately perform object identification and identity judgment by determining the identity of the tracked object using the second deep learning model learned with the learning data.
  • the viewing window is reset based on the positional criticality of the viewing window in consecutive frame images, thereby preventing errors in the viewing window setting due to errors or misrecognition of other objects.
  • the purpose is to provide higher tracking performance.
  • the software-based tracking providing method is a method of providing object tracking performed in a computing device including a camera module, comprising: receiving a search frame image captured at a first resolution from the camera module; a second resolution for a viewing window; , identifying whether a tracking object exists in the search frame image, and based on the location of the tracking object in the search frame image, selecting a partial region of the search frame image containing the tracking object. It includes the step of setting it as a viewing window.
  • the second resolution of the viewing window may be a lower resolution than the first resolution of the frame image.
  • One technical aspect of the present application proposes another example of a method for providing software-based tracking.
  • Another example of the software-based tracking providing method is a method of providing object tracking performed in a computing device including a camera module that is fixed in a preset forward direction and generates a capture frame image, wherein continuous tracking is performed at a first resolution from the camera module.
  • receiving a plurality of captured frame images selecting at least a portion of the plurality of captured frame images to select at least one search frame image, and identifying whether a tracking object exists in the at least one search frame image. and setting a partial region of the at least one search frame image including the tracking object as the viewing window, based on the location of the tracking object in the at least one search frame image. You can.
  • the storage medium is a storage medium that stores computer-readable instructions.
  • the instructions when executed by a computing device, cause the computing device to: receive a search frame image captured at a first resolution, set a second resolution for a viewing window, and track an object within the search frame image. Based on the operation of identifying whether exists and the location of the tracking object in the search frame image, an operation of setting a partial area of the search frame image including the tracking object as the viewing window is performed.
  • the second resolution of the viewing window may be a lower resolution than the first resolution of the frame image.
  • the computing device includes a camera module, a memory that stores one or more instructions, and at least one processor that executes the one or more instructions stored in the memory.
  • the at least one processor by executing the one or more instructions, receives a search frame image captured at a first resolution from the camera module, sets a second resolution for a viewing window, and tracks an object in the search frame image. , and, based on the location of the tracking object within the search frame image, set a partial area of the search frame image including the tracking object as the viewing window.
  • the second resolution of the viewing window may be a lower resolution than the first resolution of the frame image.
  • a tracking object is identified within a frame image using a first deep learning model learned with a large amount of training data for identifying the tracking object, and a large amount of information associated with the external characteristics of the tracking object is used.
  • the viewing window is reset based on the positional criticality of the viewing window in consecutive frame images, thereby preventing errors in the viewing window setting due to errors or misrecognition of other objects. It has the effect of providing higher tracking performance.
  • FIG. 1 is a diagram illustrating an example of a computing device that performs software-based object tracking according to an embodiment of the present application.
  • FIG. 2 is a diagram illustrating an exemplary computing operating environment of a computing device according to an embodiment of the present application.
  • Figure 3 is a flowchart explaining a method of providing software-based object tracking according to an embodiment of the present application.
  • Figures 4 to 6 are diagrams for explaining the software-based object tracking method shown in Figure 3.
  • Figure 7 is a block diagram illustrating a control function block of a computing device according to an embodiment of the present application.
  • FIG. 10 is a flowchart explaining another embodiment of a method for providing object tracking performed in the search frame selection module shown in FIG. 7, and FIG. 11 is a diagram explaining another embodiment shown in FIG. 10.
  • FIG. 12 is a flowchart explaining an embodiment of a method for providing object tracking performed in the object detection module shown in FIG. 7.
  • FIG. 16 is a flowchart explaining an embodiment of a method for providing object tracking performed in the window setting module shown in FIG. 7.
  • FIG. 17 is a flowchart explaining another embodiment of a method for providing object tracking performed in the window setting module shown in FIG. 7, and FIGS. 18 to 20 are diagrams for explaining another embodiment shown in FIG. 17. .
  • each element may be implemented as an electronic configuration to perform the corresponding function, or may be implemented as software itself that can be run in an electronic system, or as a functional element of such software. Alternatively, it may be implemented with an electronic configuration and corresponding driving software.
  • each function executed in the system of the present invention may be configured in module units and may be recorded in one physical memory, or may be distributed and recorded between two or more memories and recording media.
  • Various embodiments of the present application are software (e.g., machine) including one or more instructions stored in a storage medium that can be read by a machine (e.g., user terminal 100 or computing device 300). For example, it may be implemented as a program).
  • the processor 301 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.
  • FIG. 1 is a diagram illustrating an example of a computing device that performs software-based object tracking according to an embodiment of the present application.
  • the computing device 100 is fixed in the front direction and performs imaging.
  • the computing device 100 identifies an object among the captured images for the front, and creates a display window area 11 displayed on the user terminal centered on the object among the entire captured images 10 - hereinafter referred to as the viewing window 11. Referred to as - is extracted and displayed on the user terminal (101).
  • the computing device 100 includes a camera and may be an electronic device that the user can carry.
  • the computing device 100 may be a smart phone, a mobile phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation device, or a slate PC. PC), tablet PC, ultrabook, wearable device (e.g., smartwatch, smart glass, HMD (head mounted display)), etc. You can.
  • FIG. 2 is a diagram illustrating an exemplary computing operating environment of a computing device according to an embodiment of the present application.
  • the computing device 100 includes a communication unit 110, a camera unit 120, an output unit 130, a memory 140, a power supply unit 150, and a processor 160.
  • the components shown in FIG. 2 are not essential for implementing a computing device, so the computing device described herein may have more or fewer components than those listed above.
  • the communication unit 110 may include one or more modules that enable communication, such as between the computing device 100 and a wireless communication system or between the computing device 100 and another computing device.
  • This communication unit 110 may include a mobile communication module 211, a wireless Internet module 212, and a short-distance communication module 213.
  • the short-distance communication module 213 can perform a communication connection with the terminal holder 100 by wire or wirelessly.
  • the short-range communication module 213 may include a short-range wireless communication module such as Bluetooth or a wired communication module such as RS232.
  • the camera unit 120 or camera module may include at least one camera.
  • Camera unit 120 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the camera unit 120 may include a first camera 221 to a second camera 222.
  • the first camera 221 or the second camera 222 may capture a front image of the computing device 100.
  • the output unit 130 is intended to generate output related to vision, hearing, or tactile senses, and may include a display 131 and a speaker 132.
  • the display 131 can implement a touch screen by forming a mutual layer structure or being integrated with the touch sensor.
  • Such a touch screen may function as a user input unit that provides an input interface between the computing device 100 and the user, and may also provide an output interface between the computing device 100 and the user.
  • the power supply unit 150 receives external or internal power under the control of the processor 160 and supplies power to each component included in the computing device 100.
  • This power supply unit 150 includes a battery, and the battery may be a built-in battery or a replaceable battery.
  • the processor 160 may control at least some of the components examined with FIG. 2 to run an application program stored in the memory 140, that is, an application. Furthermore, the processor 160 may operate in combination with at least two or more of the components included in the computing device 100 to run an application program.
  • the processor 160 may run an application by executing instructions stored in the memory 140.
  • the processor 160 is expressed as the subject of control, instruction, or function by driving an application. However, this means that the processor 160 operates by driving instructions or applications stored in the memory 140.
  • At least some of the above-described components may operate in cooperation with each other to implement the operation, control, or control method of the computing device 100 according to various embodiments described below. Additionally, the operation, control, or control method of the computing device 100 may be implemented on the computing device by running at least one application program stored in the memory 140.
  • the processor 160 In addition to operations related to application programs, the processor 160 typically controls the overall operation of the computing device 100.
  • the processor 260 can provide or process appropriate information or functions to the user by processing signals, data, information, etc. input or output through the components discussed above, or by running an application program stored in the memory 240.
  • the processor 160 can be implemented as one processor or multiple processors.
  • FIG. 7 may be functions or software modules implemented in the processor 260 according to instructions stored in the memory 240.
  • control method performed in the computing device 100 may be implemented as a program and provided to the computing device 100.
  • a program including a control method for the computing device 100 may be stored and provided in a non-transitory computer readable medium.
  • FIG. 3 is a flowchart illustrating a method of providing software-based object tracking according to an embodiment of the present application
  • FIGS. 4 to 6 are diagrams illustrating the method of providing software-based object tracking shown in FIG. 3 .
  • the method for providing software-based object tracking shown in FIG. 3 is explained in terms of each step performed by driving the processor 160 of the computing device 100 shown in FIG. 2.
  • the processor 160 controls the camera module to generate and receive a frame image for the front direction (S310).
  • the camera module is fixed in a preset forward direction regardless of the presence and movement of the tracking object and captures the image at a first resolution to generate a frame image.
  • Figure 4 shows this example, showing an object 402 being imaged so that it exists within a frame image 401.
  • the processor 160 may set the second resolution of the viewing window to have a lower resolution than the first resolution captured by the camera module (S320).
  • the resolution of the viewing window may be determined based on user input.
  • the processor 160 may dynamically change the resolution of the viewing window while providing the object tracking function according to the size of the tracked object in the frame image.
  • the processor 160 may identify whether a tracking object exists in the frame image (S330) and, based on the position of the tracking object in the frame image, set a partial area of the frame image including the tracking object as a viewing window. There is (S340).
  • Figure 5 shows this example, and after identifying the tracking object 502 in the frame image 501, a viewing window 503 can be set up around the search object.
  • the processor 160 may display a viewing window using a user display interface (S350). That is, only the viewing window 503, not the entire captured frame image, is displayed on the user display interface, and the remaining area 505 excluding the viewing window may not be displayed on the user display interface.
  • the processor 160 may repeatedly perform the above-described process of setting a viewing window for all or at least a portion of consecutive frame images captured by the camera module, which are referred to as captured frame images.
  • FIG. 6 shows a captured frame image 601 taken after a certain period of time in FIG. 5 . Comparing FIGS. 5 and 6 , it can be seen that the tracking object 602 has moved from location A to location B.
  • the processor 160 may reset the position of the viewing window 603 in response to the movement of the tracking object 602, and accordingly, the viewing window 503 in FIG. 5 and the viewing window 603 in FIG. 6 may be displayed differently. You can see that it has been set.
  • FIG. 7 is a block diagram for explaining functions performed in the processor 160.
  • the components shown in FIG. 7, that is, each module, are implemented in the processor 260 according to instructions stored in the memory 240. It may be a function or a software module. However, hereinafter, each module of the processor 160 is expressed as the subject of control, instruction, or function, but this means that the processor 160 operates by driving instructions or applications stored in the memory 140.
  • the processor 160 may include a search frame selection module 161, an object detection module 162, a window setting module 613, and an interface module 164.
  • the search frame selection module 161 can determine a frame image for setting the viewing window - this is referred to as a search frame image.
  • the camera module generates a captured frame image by shooting at a preset frame rate and provides it to the search frame selection module 161 (S810).
  • the search frame selection module 161 may select at least some of the captured frame images and determine them as search frame images for setting a viewing window.
  • the search frame selection module 161 may set the entire captured frame image as a search frame image. This example is suitable when computing device 100 has sufficient resources.
  • the search frame selection module 161 may select some of the captured frame images and set them as search frame images. These other examples are appropriate because computing resources may be limited, such as in mobile computing environments.
  • Figure 8 discloses an example of a search frame selection method performed by the search frame selection module 161.
  • the search frame selection module 161 receives a captured frame image from the camera module by shooting at a preset frame rate (S810).
  • the search frame selection module 161 may set a search frame image at a time interval with a frequency lower than the frame rate. That is, the search frame selection module 161 may select frame images at preset time intervals from a plurality of consecutive captured frame images (S820) and set the selected frame images as search frame images (S830).
  • Figure 9 is a diagram illustrating this embodiment.
  • Figure (a) shows capture frame images 1 to 12 continuously captured by a camera module
  • Figure (b) shows images selected by the search frame selection module 161 among them.
  • Frame images 1, 4, 7, and 10 selected as search frame images are displayed. In one embodiment of FIGS. 8 and 9, search frame images are selected at equal time intervals.
  • Figure 10 discloses another example of a search frame selection method performed by the search frame selection module 161.
  • the search frame selection module 161 receives a captured frame image from the camera module by shooting at a preset frame rate (S1010).
  • the search frame selection module 161 confirms the first position of the tracking object on the previous first search frame image (S1020) and confirms the second position of the tracking object on the current second search frame image (S1030) ).
  • the search frame selection module 161 determines the next search frame image according to the difference between the first position of the tracked object on the previous first search frame image and the second position of the tracked object on the current second search frame image. You can.
  • Figure 11 is a diagram illustrating this embodiment.
  • Figure (a) shows capture frame images 1 to 12 continuously captured by a camera module
  • Figure (b) shows images selected by the search frame selection module 161 among them. It displays frame images 1, 4, 6, 9, 12, and 14 selected as search frame images
  • Figure (c) shows the distance between the object position in the previous search frame image and the object in the current search frame image.
  • the search frame selection module 161 determines the movement distance between the objects in the previous search frame image 1 and the current search frame image 4 - for example, the unit pixel through which the tracking object moves (ex.
  • the object detection module 162 can identify whether a tracking object exists in this search frame image.
  • the object detection module 162 may perform deep learning-based object detection.
  • the object detection module 162 may be equipped with a first deep learning model learned with a large amount of training data associated with the tracked object (S1210).
  • the first deep learning model may be an artificial neural network model learned from a large amount of learning data showing tracked objects, and various models such as CNN and RNN may be applied to the structure of this artificial neural network.
  • the object detection module 162 may identify a tracking object existing in the search frame image using the first deep learning model (S1220).
  • the object detection module 162 can display a bounding box on the tracked object identified in the search frame image (S1230), and the window setting module 613 can set a viewing window based on this bounding box.
  • tracking objects examples include those related to people, such as a person's face, a person's torso, and the overall shape of a person, as well as various objects such as a horseback riding, a dog, etc., can be set as tracking objects. This is because the tracking object is set according to the training data of the first deep learning model.
  • the first deep learning model is capable of learning and tracking in various ways, such as being trained to detect at least some of one or several objects depending on the settings.
  • the object detection module 162 may determine the identity of the previous tracking object and the current tracking object using a separate deep learning model. Since the first deep learning model identifies and classifies objects, all non-identical objects, for example, people, are identified as tracking objects. Therefore, in this embodiment, a separate second deep learning model is used to identify the same objects. , For example, only the same person can be set as a tracking object. Referring to FIG. 13, the object detection module 162 may be equipped with a second deep learning model learned with a large amount of learning data associated with the external characteristics of the tracked object (S1310).
  • the second deep learning model may be an artificial neural network model learned with a large amount of learning data to determine similarity based on the external characteristics of the tracked object.
  • the object detection module 162 uses a second deep learning model to generate first feature data associated with the external characteristics of the first tracking object identified in the first search frame image (S1320), and creates a second search frame image Second characteristic data associated with the external characteristics of the identified second tracking object may be generated (S1330).
  • the object detection module 162 may determine whether the first tracking object and the second tracking object are the same object based on the similarity between the first feature data and the second feature data (S1340).
  • the object detection module 162 may determine whether the object is the same by directly generating data for determining similarity - for example, a feature vector - without generating feature data.
  • Figures 14 and 15 show these examples.
  • FIG. 14 when the tracking object 1402 is detected in the first search frame image 1401, the viewing window 1403 is set based on it.
  • FIG. 15 is a second search frame image 1401 after FIG. 14.
  • the object detection module 162 may detect two objects 1502 and 1504 in the second search frame image 1501.
  • the object detection module 162 determines whether the first tracking object 1402 in the first search frame image 1401 and the two objects 1502 and 1504 in the second search frame image 1501 are the same object.
  • 2 Tracking object 1502 can be determined, and it can be seen that the viewing window 1503 is set based on the second tracking object 1502.
  • the window setting module 613 may set at least a portion of the area in the search frame image as a viewing window based on information provided by the object detection module 162 - for example, a bounding box.
  • Figure 16 is a flowchart explaining the operation of the window setting module 613.
  • the window setting module 613 is based on information provided by the object detection module 162 - for example, a bounding box, The location of the tracking object within the search frame image can be confirmed (S1610).
  • the window setting module 613 may extract a part of the search frame image corresponding to the second resolution based on the position of the tracking object (S1620) and set the part of the extracted search frame image as a viewing window (S1630). .
  • the window setting module 613 may set the viewing window determined in the latest search frame image to be the same for a capture frame image that is not a search frame image. This corresponds to the case where some, but not all captured frame images, are set as search frame images. For example, in at least one non-search frame image that is continuously displayed after the first search frame image, the viewing window determined in the first search frame image may be set to be the same, that is, set to the same position.
  • the window setting module 613 corrects the viewing window in the previous search frame image when the viewing window in the current search frame image is separated by a certain amount or more. can do. This will be described with reference to FIGS. 17 to 20.
  • the window setting module 613 sets the first viewing window 1803 for the first search frame image (FIG. 18, 1801) and sets the second viewing window 1803 for the second search frame image (FIG. 19, 1901) (S1710).
  • the window 1903 can be set (S1720).
  • the window setting module 613 may determine the positional criticality between the first viewing window and the second viewing window (S1730) and determine whether the positional criticality is satisfied (S1740).
  • the positional criticality may be set as a variable distance of the viewing window that is set in proportion to the time interval between search frames (eg, number of frame rates).
  • the window setting module 613 sets the position of the first viewing window in the first search frame image (FIG. 19, 1803) based on the upper left corner and the second viewing window selected in the second search frame image. (1904) Calculate the distance ⁇ Lt1 between the two and determine the positional criticality based on this.
  • the example of FIG. 19 is an example that deviates from the positional criticality, and the window setting module 613 uses the position of the first viewing window 1803 in the previous first search frame image as the example shown in FIG. 20. Thus, the second viewing window 1903 can be reset. If the positional criticality is satisfied, the window setting module 613 maintains the second viewing window (S1750). In this embodiment, when an error occurs because externally similar objects are detected at the same time, tracking errors can be prevented by correcting them using only the viewing window itself.
  • the window setting module 613 may adjust the size of the viewing window in response to the size of the tracking object. For example, a case may occur where the size of the second tracking object in the second search frame image is reduced by a certain amount or more compared to the first tracking object in the first search frame image.
  • the window setting module 613 may reflect the reduced ratio and set the size of the second viewing window in the second search frame image to be smaller than the size of the first viewing window in the first search frame image. For example, this may occur when a human object moves away from the computing device. In this case, the size of the viewing window can be reduced to maintain the size of the human object relative to the viewing window.
  • the interface module 164 can display a user display interface based on the viewing window provided by the window setting module 613.
  • the resolution of the user display interface and the resolution of the viewing window may be different, and the interface module 164 may enlarge or reduce the resolution of the viewing window to correspond to the resolution of the user display interface.
  • the resolution of the viewing window is variable, it is not limited to the absolute size of the viewing window, and the resolution of the viewing window is enlarged or reduced to match the resolution of the user display interface, providing the user with an effect such as zooming in or zooming out. can be provided.
  • 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 effectively providing tracking of objects based on software for images captured while fixed in a certain direction.
  • a first deep learning model learned with a large amount of learning data to identify the tracking object is used to identify the tracking object within the frame image
  • a second deep learning model learned with a large amount of learning data related to the external characteristics of the tracking object is used.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

A software-based tracking provision method, according to one technical aspect of the present invention is an object tracking provision method performed by a computing device comprising a camera module, the method comprising the steps of: receiving a search frame image captured at a first resolution from the camera module; setting a second resolution for a viewing window; identifying whether an object being tracked exists in the search frame image; and on the basis of the position of the object being tracked within the search frame image, setting an area of the search frame image including the object being tracked as the viewing window. The second resolution of the viewing window may be lower than the first resolution of the frame image.

Description

소프트웨어 기반의 객체 트래킹 제공 방법 및 그를 위한 컴퓨팅 장치Method for providing software-based object tracking and computing device therefor
본 발명은 소프트웨어 기반의 객체 트래킹 제공 방법 및 그를 위한 컴퓨팅 장치에 관한 것이다.The present invention relates to a method for providing software-based object tracking and a computing device therefor.
컴퓨팅 장치의 발전에 따라 컴퓨팅 장치의 소형화 및 휴대성이 증진되고 있으며, 사용자에게 보다 친화적인 컴퓨팅 환경이 개발되고 있다. With the development of computing devices, the miniaturization and portability of computing devices are increasing, and a more user-friendly computing environment is being developed.
이러한 컴퓨팅 환경에서 사용자의 주요 관심으로서, 촬영 중인 영상에서 관심 객체에 대한 트래킹 기능이 있다. In this computing environment, the main interest of users is the tracking function for objects of interest in the image being shot.
종래의 경우, 객체 트래킹을 위해서는, 여러 촬영 장비를 이용하거나, 또는 촬영 장비를 물리적으로 구동시키는 것이 필요하다.In the conventional case, for object tracking, it is necessary to use multiple photographic equipment or physically drive the photographic equipment.
그러나, 이는 소형화 및 휴대화 된 컴퓨팅 장치 환경에서 적용이 어렵고, 별도의 장비가 요구되는 한계가 있다.However, this has the limitation of being difficult to apply in a miniaturized and portable computing device environment and requiring separate equipment.
본 출원의 일 기술적 측면은 상기한 종래 기술의 문제점을 해결하기 위한 것으로, 본 출원에 개시되는 일 실시예에 따르면, 일정한 방향으로 고정되어 촬영된 영상에 대하여 소프트웨어를 기반으로 객체에 대한 트래킹을 효과적으로 제공하는 것을 목적으로 한다.One technical aspect of the present application is to solve the problems of the prior art described above. According to an embodiment disclosed in the present application, tracking of an object is effectively performed based on software for an image captured while fixed in a certain direction. The purpose is to provide
본 출원에 개시되는 일 실시예에 따르면, 추적 객체를 식별하는 다량의 학습 데이터로 학습된 제1 딥 러닝 모델을 이용하여 프레임 이미지 내에서 추적 객체를 식별하고, 추적 객체의 외형적 특징과 연관된 다량의 학습 데이터로 학습된 제2 딥 러닝 모델을 이용하여 추적 객체의 동일성을 판단하도록 함으로써, 객체의 식별 및 동일성 판단을 빠르고 정확하게 수행하도록 하는 것을 목적으로 한다.According to an embodiment disclosed in the present application, a tracking object is identified within a frame image using a first deep learning model learned with a large amount of training data for identifying the tracking object, and a large amount of information associated with the external characteristics of the tracking object is used. The purpose is to quickly and accurately perform object identification and identity judgment by determining the identity of the tracked object using the second deep learning model learned with the learning data.
본 출원에 개시되는 일 실시예에 따르면, 연속하는 프레임 이미지에서의 뷰잉 윈도우의 위치적 임계성을 기초로 뷰잉 윈도우를 재설정하도록 함으로써, 오류 또는 타 객체의 오 인식에 의한 뷰잉 윈도우 설정의 오차를 방지하여 보다 높은 트래킹 성능을 제공하는 것을 목적으로 한다.According to an embodiment disclosed in the present application, the viewing window is reset based on the positional criticality of the viewing window in consecutive frame images, thereby preventing errors in the viewing window setting due to errors or misrecognition of other objects. The purpose is to provide higher tracking performance.
본 출원의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The tasks of this application are not limited to the tasks mentioned above, and other tasks not mentioned will be clearly understood by those skilled in the art from the description below.
본 출원의 일 기술적 측면은 소프트웨어 기반의 트래킹 제공 방법을 제안한다. 상기 소프트웨어 기반의 트래킹 제공 방법은, 카메라 모듈을 포함하는 컴퓨팅 장치에서 수행되는 객체 트래킹 제공 방법으로서, 상기 카메라 모듈로부터 제1 해상도로 촬영된 탐색 프레임 이미지를 제공받는 단계, 뷰잉 윈도우에 대한 제2 해상도를 설정하는 단계, 상기 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하는 단계 및 상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하는 단계를 포함한다. 상기 뷰잉 윈도우의 제2 해상도는 상기 프레임 이미지의 제1 해상도 보다 낮은 해상도 일 수 있다.One technical aspect of the present application proposes a method for providing software-based tracking. The software-based tracking providing method is a method of providing object tracking performed in a computing device including a camera module, comprising: receiving a search frame image captured at a first resolution from the camera module; a second resolution for a viewing window; , identifying whether a tracking object exists in the search frame image, and based on the location of the tracking object in the search frame image, selecting a partial region of the search frame image containing the tracking object. It includes the step of setting it as a viewing window. The second resolution of the viewing window may be a lower resolution than the first resolution of the frame image.
본 출원의 일 기술적 측면은 소프트웨어 기반의 트래킹 제공 방법의 다른 예를 제안한다. 상기 소프트웨어 기반의 트래킹 제공 방법의 다른 예는, 기 설정된 전방 방향으로 고정되어 촬영 프레임 이미지를 생성하는 카메라 모듈을 포함하는 컴퓨팅 장치에서 수행되는 객체 트래킹 제공 방법으로서, 상기 카메라 모듈로부터 제1 해상도로 연속하여 촬영된 복수의 촬영 프레임 이미지를 제공받는 단계, 상기 복수의 촬영 프레임 이미지에서 적어도 일부를 선별하여 적어도 하나의 탐색 프레임 이미지를 선정하는 단계, 상기 적어도 하나의 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하는 단계 및 상기 적어도 하나의 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 적어도 하나의 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 각각 설정하는 단계를 포함할 수 있다.One technical aspect of the present application proposes another example of a method for providing software-based tracking. Another example of the software-based tracking providing method is a method of providing object tracking performed in a computing device including a camera module that is fixed in a preset forward direction and generates a capture frame image, wherein continuous tracking is performed at a first resolution from the camera module. receiving a plurality of captured frame images, selecting at least a portion of the plurality of captured frame images to select at least one search frame image, and identifying whether a tracking object exists in the at least one search frame image. and setting a partial region of the at least one search frame image including the tracking object as the viewing window, based on the location of the tracking object in the at least one search frame image. You can.
본 출원의 다른 일 기술적 측면은 저장 매체를 제안한다. 상기 저장 매체는, 컴퓨터 판독 가능한 인스트럭션들(instructions)을 저장하고 있는 저장 매체이다. 상기 인스트럭션들은, 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치로 하여금, 제1 해상도로 촬영된 탐색 프레임 이미지를 제공받는 동작, 뷰잉 윈도우에 대한 제2 해상도를 설정하는 동작, 상기 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하는 동작 및 상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하는 동작을 수행하도록 한다. 상기 뷰잉 윈도우의 제2 해상도는 상기 프레임 이미지의 제1 해상도 보다 낮은 해상도 일 수 있다.Another technical aspect of the present application proposes a storage medium. The storage medium is a storage medium that stores computer-readable instructions. The instructions, when executed by a computing device, cause the computing device to: receive a search frame image captured at a first resolution, set a second resolution for a viewing window, and track an object within the search frame image. Based on the operation of identifying whether exists and the location of the tracking object in the search frame image, an operation of setting a partial area of the search frame image including the tracking object as the viewing window is performed. The second resolution of the viewing window may be a lower resolution than the first resolution of the frame image.
본 출원의 다른 일 기술적 측면은 컴퓨팅 장치를 제안한다. 상기 컴퓨팅 장치는, 카메라 모듈, 하나 이상의 인스트럭션을 저장하는 메모리 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함한다. 상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써, 상기 카메라 모듈로부터 제1 해상도로 촬영된 탐색 프레임 이미지를 제공받고, 뷰잉 윈도우에 대한 제2 해상도를 설정하고, 상기 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하고, 상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정한다. 상기 뷰잉 윈도우의 제2 해상도는 상기 프레임 이미지의 제1 해상도 보다 낮은 해상도 일 수 있다.Another technical aspect of the present application proposes a computing device. The computing device includes a camera module, a memory that stores one or more instructions, and at least one processor that executes the one or more instructions stored in the memory. The at least one processor, by executing the one or more instructions, receives a search frame image captured at a first resolution from the camera module, sets a second resolution for a viewing window, and tracks an object in the search frame image. , and, based on the location of the tracking object within the search frame image, set a partial area of the search frame image including the tracking object as the viewing window. The second resolution of the viewing window may be a lower resolution than the first resolution of the frame image.
상기한 과제의 해결 수단은, 본 출원의 특징을 모두 열거한 것은 아니다. 본 출원의 과제 해결을 위한 다양한 수단들은 이하의 상세한 설명의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.The means for solving the above problems do not enumerate all the features of the present application. Various means for solving the problems of this application can be understood in more detail by referring to specific embodiments in the detailed description below.
본 출원에 개시되는 일 실시예에 따르면, 본 출원에 개시되는 일 실시예에 따르면, 일정한 방향으로 고정되어 촬영된 영상에 대하여 소프트웨어를 기반으로 객체에 대한 트래킹을 효과적으로 제공할 수 있는 효과가 있다.According to an embodiment disclosed in the present application, there is an effect of effectively providing tracking of an object based on software for an image captured while fixed in a certain direction.
본 출원에 개시되는 일 실시예에 따르면, 추적 객체를 식별하는 다량의 학습 데이터로 학습된 제1 딥 러닝 모델을 이용하여 프레임 이미지 내에서 추적 객체를 식별하고, 추적 객체의 외형적 특징과 연관된 다량의 학습 데이터로 학습된 제2 딥 러닝 모델을 이용하여 추적 객체의 동일성을 판단하도록 함으로써, 객체의 식별 및 동일성 판단을 빠르고 정확하게 수행하도록 할 수 있는 효과가 있다.According to an embodiment disclosed in the present application, a tracking object is identified within a frame image using a first deep learning model learned with a large amount of training data for identifying the tracking object, and a large amount of information associated with the external characteristics of the tracking object is used. By determining the identity of the tracked object using the second deep learning model learned with the learning data, there is an effect of quickly and accurately performing object identification and identity judgment.
본 출원에 개시되는 일 실시예에 따르면, 연속하는 프레임 이미지에서의 뷰잉 윈도우의 위치적 임계성을 기초로 뷰잉 윈도우를 재설정하도록 함으로써, 오류 또는 타 객체의 오 인식에 의한 뷰잉 윈도우 설정의 오차를 방지하여 보다 높은 트래킹 성능을 제공 할 수 있는 효과가 있다.According to an embodiment disclosed in the present application, the viewing window is reset based on the positional criticality of the viewing window in consecutive frame images, thereby preventing errors in the viewing window setting due to errors or misrecognition of other objects. It has the effect of providing higher tracking performance.
도 1은 본 출원의 일 실시예에 따른 소프트웨어 기반의 객체 트래킹이 수행되는 컴퓨팅 장치의 일 예를 설명하는 도면이다.FIG. 1 is a diagram illustrating an example of a computing device that performs software-based object tracking according to an embodiment of the present application.
도 2는 본 출원의 일 실시예에 따른 컴퓨팅 장치의 예시적인 컴퓨팅 운영 환경을 설명하는 도면이다.FIG. 2 is a diagram illustrating an exemplary computing operating environment of a computing device according to an embodiment of the present application.
도 3은 본 출원의 일 실시예에 따른 소프트웨어 기반의 객체 트래킹 제공 방법을 설명하는 순서도이다.Figure 3 is a flowchart explaining a method of providing software-based object tracking according to an embodiment of the present application.
도 4 내지 도 6은 도 3에 도시된 소프트웨어 기반의 객체 트래킹 제공 방법을 설명하기 위한 도면이다.Figures 4 to 6 are diagrams for explaining the software-based object tracking method shown in Figure 3.
도 7은 본 출원의 일 실시예에 따른 컴퓨팅 장치의 제어적 기능 블록을 설명하는 블록 구성도이다.Figure 7 is a block diagram illustrating a control function block of a computing device according to an embodiment of the present application.
도 8은 도 7에 도시된 탐색 프레임 선별모듈에서 수행되는 객체 트래킹 제공 방법의 일 실시예를 설명하는 순서도이고, 도 9는 도 8에 도시된 일 실시예를 설명하기 위한 도면이다.FIG. 8 is a flowchart explaining an embodiment of a method for providing object tracking performed in the search frame selection module shown in FIG. 7, and FIG. 9 is a diagram explaining an embodiment shown in FIG. 8.
도 10은 도 7에 도시된 탐색 프레임 선별모듈에서 수행되는 객체 트래킹 제공 방법의 다른 일 실시예를 설명하는 순서도이고, 도 11은 도 10에 도시된 다른 일 실시예를 설명하기 위한 도면이다.FIG. 10 is a flowchart explaining another embodiment of a method for providing object tracking performed in the search frame selection module shown in FIG. 7, and FIG. 11 is a diagram explaining another embodiment shown in FIG. 10.
도 12는 도 7에 도시된 객체 탐지모듈에서 수행되는 객체 트래킹 제공 방법의 일 실시예를 설명하는 순서도이다.FIG. 12 is a flowchart explaining an embodiment of a method for providing object tracking performed in the object detection module shown in FIG. 7.
도 13은 도 7에 도시된 객체 탐지모듈에서 수행되는 객체 트래킹 제공 방법의 다른 일 실시예를 설명하는 순서도이고, 도 14 및 도 15는 도 13에 도시된 다른 일 실시예를 설명하기 위한 도면이다.FIG. 13 is a flowchart explaining another embodiment of a method for providing object tracking performed in the object detection module shown in FIG. 7, and FIGS. 14 and 15 are diagrams for explaining another embodiment shown in FIG. 13. .
도 16은 도 7에 도시된 윈도우 설정모듈에서 수행되는 객체 트래킹 제공 방법의 일 실시예를 설명하는 순서도이다.FIG. 16 is a flowchart explaining an embodiment of a method for providing object tracking performed in the window setting module shown in FIG. 7.
도 17은 도 7에 도시된 윈도우 설정모듈에서 수행되는 객체 트래킹 제공 방법의 다른 일 실시예를 설명하는 순서도이고, 도 18 내지 도 20은 도 17에 도시된 다른 일 실시예를 설명하기 위한 도면이다.FIG. 17 is a flowchart explaining another embodiment of a method for providing object tracking performed in the window setting module shown in FIG. 7, and FIGS. 18 to 20 are diagrams for explaining another embodiment shown in FIG. 17. .
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 형태들을 설명한다. Hereinafter, preferred embodiments of the present invention will be described with reference to the attached drawings.
그러나, 본 발명의 실시형태는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명하는 실시 형태로 한정되는 것은 아니다. 또한, 본 발명의 실시형태는 당해 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해서 제공되는 것이다. However, the embodiments of the present invention may be modified into various other forms, and the scope of the present invention is not limited to the embodiments described below. Additionally, the embodiments of the present invention are provided to more completely explain the present invention to those with average knowledge in the relevant technical field.
즉, 전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.That is, the above-described objects, features, and advantages will be described in detail later with reference to the attached drawings, so that those skilled in the art will be able to easily implement the technical idea of the present invention. In describing the present invention, if it is determined that a detailed description of known technologies related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description will be omitted. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the attached drawings. In the drawings, identical reference numerals are used to indicate identical or similar components.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Additionally, as used herein, singular expressions include plural expressions, unless the context clearly dictates otherwise. In the present application, terms such as “consists of” or “comprises” should not be construed as necessarily including all of the various components or steps described in the specification, and some of the components or steps may include It may not be included, or it should be interpreted as including additional components or steps.
또한, 이하에서 본 발명에 따른 시스템을 설명하기 위하여 다양한 구성요소 및 그의 하부 구성요소에 대하여 설명하고 있다. 이러한 구성요소 및 그의 하부 구성요소들은, 하드웨어, 소프트웨어 또는 이들의 조합 등 다양한 형태로서 구현될 수 있다. 예컨대, 각 요소들은 해당 기능을 수행하기 위한 전자적 구성으로 구현되거나, 또는 전자적 시스템에서 구동 가능한 소프트웨어 자체이거나 그러한 소프트웨어의 일 기능적인 요소로 구현될 수 있다. 또는, 전자적 구성과 그에 대응되는 구동 소프트웨어로 구현될 수 있다.In addition, in order to explain the system according to the present invention, various components and their sub-components are described below. These components and their sub-components may be implemented in various forms such as hardware, software, or a combination thereof. For example, each element may be implemented as an electronic configuration to perform the corresponding function, or may be implemented as software itself that can be run in an electronic system, or as a functional element of such software. Alternatively, it may be implemented with an electronic configuration and corresponding driving software.
본 명세서에 설명된 다양한 기법은 하드웨어 또는 소프트웨어와 함께 구현되거나, 적합한 경우에 이들 모두의 조합과 함께 구현될 수 있다. 본 명세서에 사용된 바와 같은 "부(Unit)", "서버(Server)" 및 "시스템(System)" 등의 용어는 마찬가지로 컴퓨터 관련 엔티티(Entity), 즉 하드웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어 또는 실행 시의 소프트웨어와 등가로 취급할 수 있다. 또한, 본 발명의 시스템에서 실행되는 각 기능은 모듈단위로 구성될 수 있고, 하나의 물리적 메모리에 기록되거나, 둘 이상의 메모리 및 기록매체 사이에 분산되어 기록될 수 있다.The various techniques described herein may be implemented with hardware or software, or a combination of both as appropriate. As used herein, terms such as “Unit,” “Server,” and “System” likewise refer to a computer-related entity, i.e., hardware, a combination of hardware and software, software or It can be treated as equivalent to software at the time of execution. Additionally, each function executed in the system of the present invention may be configured in module units and may be recorded in one physical memory, or may be distributed and recorded between two or more memories and recording media.
본 출원의 다양한 실시 예들은 기기(machine)-예를 들어, 사용자 단말(100)이나 컴퓨팅 장치(300)-에 의해 읽을 수 있는 저장 매체(storage medium)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예를 들어, 프로그램)로서 구현될 수 있다. 예를 들면, 프로세서(301)는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 장치가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예를 들어, 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of the present application are software (e.g., machine) including one or more instructions stored in a storage medium that can be read by a machine (e.g., user terminal 100 or computing device 300). For example, it may be implemented as a program). For example, the processor 301 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. Here, '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.
본 발명의 실시형태를 설명하기 위하여 다양한 순서도가 개시되고 있으나, 이는 각 단계의 설명의 편의를 위한 것으로, 반드시 순서도의 순서에 따라 각 단계가 수행되는 것은 아니다. 즉, 순서도에서의 각 단계는, 서로 동시에 수행되거나, 순서도에 따른 순서대로 수행되거나, 또는 순서도에서의 순서와 반대의 순서로도 수행될 수 있다. Various flowcharts are disclosed to explain embodiments of the present invention, but these are for convenience of explanation of each step, and each step is not necessarily performed in accordance with the order of the flowchart. That is, each step in the flowchart may be performed simultaneously, in an order according to the flowchart, or in an order opposite to the order in the flowchart.
도 1은 본 출원의 일 실시예에 따른 소프트웨어 기반의 객체 트래킹이 수행되는 컴퓨팅 장치의 일 예를 설명하는 도면이다.FIG. 1 is a diagram illustrating an example of a computing device that performs software-based object tracking according to an embodiment of the present application.
도 1을 참조하면, 컴퓨팅 장치(100)는 전방 방향으로 고정되어 촬영을 수행한다. 컴퓨팅 장치(100)는 전방에 대한 촬영 이미지 중에서 객체를 식별하고, 촬영된 이미지 전체(10) 중에서 객체를 중심으로 하는 사용자 단말에 표시되는 표시용 윈도우 영역(11)-이하, 뷰잉 윈도우(11)라 칭함-를 추출하여 사용자 단말에 표시(101)한다.Referring to FIG. 1, the computing device 100 is fixed in the front direction and performs imaging. The computing device 100 identifies an object among the captured images for the front, and creates a display window area 11 displayed on the user terminal centered on the object among the entire captured images 10 - hereinafter referred to as the viewing window 11. Referred to as - is extracted and displayed on the user terminal (101).
컴퓨팅 장치(100)는 전방의 촬영 이미지의 각 프레임-이하, 촬영 이미지 프레임이라 칭함-에서 객체가 이동하는 것에 대응하여 뷰잉 윈도우(11)를 변경함으로써, 사용자에게 소프트웨어 기반의 객체 트래킹 기능을 제공할 수 있다. 즉, 본 출원에서 컴퓨팅 장치(100)는 기 설정된 촬영 이미지 프레임의 해상도 보다 작도록 뷰잉 윈도우(11) 해상도를 설정하고, 고정된 전방방향으로 촬영되는 촬영 이미지 프레임 내에서 객체가 이동함에 따라 뷰잉 윈도우를 변경하도록 설정함으로써, 컴퓨팅 장치(100)에 대한 카메라부의 물리적인 회전이나 변동 없이도 사용자에게 소프트웨어 기반의 객체 트래킹 기능을 제공할 수 있다. The computing device 100 provides a software-based object tracking function to the user by changing the viewing window 11 in response to the object moving in each frame of the front captured image (hereinafter referred to as a captured image frame). You can. That is, in the present application, the computing device 100 sets the resolution of the viewing window 11 to be smaller than the resolution of the preset captured image frame, and as the object moves within the captured image frame captured in a fixed forward direction, the viewing window 11 By setting to change, a software-based object tracking function can be provided to the user without physically rotating or changing the camera unit of the computing device 100.
이러한, 컴퓨팅 장치(100)는 카메라를 포함하며, 사용자가 휴대 가능한 전자 기기일 수 있다. 예를 들어, 컴퓨팅 장치(100)는 스마트 폰(smart phone), 휴대폰, 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)) 등 일 수 있다.The computing device 100 includes a camera and may be an electronic device that the user can carry. For example, the computing device 100 may be a smart phone, a mobile phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation device, or a slate PC. PC), tablet PC, ultrabook, wearable device (e.g., smartwatch, smart glass, HMD (head mounted display)), etc. You can.
도 2는 본 출원의 일 실시예에 따른 컴퓨팅 장치의 예시적인 컴퓨팅 운영 환경을 설명하는 도면이다.FIG. 2 is a diagram illustrating an exemplary computing operating environment of a computing device according to an embodiment of the present application.
도 2를 참조하면, 컴퓨팅 장치(100)는 통신부(110), 카메라부(120), 출력부(130), 메모리(140), 전원 공급부(150) 및 프로세서(160)를 포함한다. 도 2에 도시된 구성요소들은 컴퓨팅 장치기를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 컴퓨팅 장치기는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.Referring to FIG. 2, the computing device 100 includes a communication unit 110, a camera unit 120, an output unit 130, a memory 140, a power supply unit 150, and a processor 160. The components shown in FIG. 2 are not essential for implementing a computing device, so the computing device described herein may have more or fewer components than those listed above.
통신부(110)는, 컴퓨팅 장치(100)와 무선 통신 시스템 사이, 컴퓨팅 장치(100)와 다른 컴퓨팅 장치 사이 등의 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 이러한 통신부(110)는, 이동통신 모듈(211), 무선 인터넷 모듈(212) 및 근거리 통신모듈(213)을 포함할 수 있다. 근거리 통신모듈(213)은 유선 또는 무선으로 단말기 거치대(100)과 통신 연결을 수행할 수 있다. 예컨대, 근거리 통신모듈(213)은 블루투스등의 근거리 무선통신 모듈 또는 RS232와 같은 유선 통신모듈을 포함할 수 있다.The communication unit 110 may include one or more modules that enable communication, such as between the computing device 100 and a wireless communication system or between the computing device 100 and another computing device. This communication unit 110 may include a mobile communication module 211, a wireless Internet module 212, and a short-distance communication module 213. The short-distance communication module 213 can perform a communication connection with the terminal holder 100 by wire or wirelessly. For example, the short-range communication module 213 may include a short-range wireless communication module such as Bluetooth or a wired communication module such as RS232.
카메라부(120) 또는 카메라 모듈은 적어도 하나의 카메라를 포함할 수 있다. 카메라부(120)는 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The camera unit 120 or camera module may include at least one camera. Camera unit 120 may include one or more lenses, image sensors, image signal processors, or flashes.
일 예로, 카메라부(120)는 제1 카메라(221) 내지 제2 카메라(222)를 포함할수 있다. 제1 카메라(221) 또는 제2 카메라(222)는 컴퓨팅 장치(100)의 전방 영상을 촬영할 수 있다.As an example, the camera unit 120 may include a first camera 221 to a second camera 222. The first camera 221 or the second camera 222 may capture a front image of the computing device 100.
출력부(130)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 디스플레이(131) 및 스피커(132)를 포함할 수 있다. 디스플레이(131)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, 컴퓨팅 장치(100)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부로써 기능함과 동시에, 컴퓨팅 장치(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다.The output unit 130 is intended to generate output related to vision, hearing, or tactile senses, and may include a display 131 and a speaker 132. The display 131 can implement a touch screen by forming a mutual layer structure or being integrated with the touch sensor. Such a touch screen may function as a user input unit that provides an input interface between the computing device 100 and the user, and may also provide an output interface between the computing device 100 and the user.
전원공급부(150)는 프로세서(160)의 제어 하에서, 외부의 전원 또는 내부의 전원을 인가 받아 컴퓨팅 장치(100)에 포함된 각 구성요소들에 전원을 공급한다. 이러한 전원공급부(150)는 배터리를 포함하며, 배터리는 내장형 배터리 또는 교체가능한 형태의 배터리가 될 수 있다.The power supply unit 150 receives external or internal power under the control of the processor 160 and supplies power to each component included in the computing device 100. This power supply unit 150 includes a battery, and the battery may be a built-in battery or a replaceable battery.
프로세서(160)는 메모리(140)에 저장된 응용 프로그램, 즉, 어플리 케이션을 구동하기 위하여, 도 2와 함께 살펴본 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(160)는 응용 프로그램의 구동을 위하여, 컴퓨팅 장치(100)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수있다.The processor 160 may control at least some of the components examined with FIG. 2 to run an application program stored in the memory 140, that is, an application. Furthermore, the processor 160 may operate in combination with at least two or more of the components included in the computing device 100 to run an application program.
프로세서(160)는 메모리(140)에 저장된 인스트럭션들(instructions)을 실행하여 어플리케이션을 구동할 수 있다. 이하에서는, 프로세서(160)가 어플리케이션을 구동하여 제어, 지시 또는 기능의 주체로서 표현하나, 이는, 프로세서(160)가 메모리(140)에 저장된 인스트럭션 또는 어플리케이션을 구동하여 동작하는 것을 의미한다.The processor 160 may run an application by executing instructions stored in the memory 140. Hereinafter, the processor 160 is expressed as the subject of control, instruction, or function by driving an application. However, this means that the processor 160 operates by driving instructions or applications stored in the memory 140.
상술한 각 구성요소들 중 적어도 일부는, 이하에서 설명되는 다양한실시 예들에 따른 컴퓨팅 장치(100)의 동작, 제어 또는 제어방법을 구현하기 위하여 서로 협력하여 동작할 수 있다. 또한, 컴퓨팅 장치(100)의 동작, 제어, 또는 제어방법은 메모리(140)에 저장된 적어도 하나의 응용 프로그램의 구동에 의하여 컴퓨팅 장치 상에서 구현 될 수 있다.At least some of the above-described components may operate in cooperation with each other to implement the operation, control, or control method of the computing device 100 according to various embodiments described below. Additionally, the operation, control, or control method of the computing device 100 may be implemented on the computing device by running at least one application program stored in the memory 140.
프로세서(160)는 응용 프로그램과 관련된 동작 외에도, 통상적으로 컴퓨팅 장치(100)의 전반적인 동작을 제어한다. 프로세서(260)는 위에서 살펴본 구성요소들을 통해 입력 또는상력되는 신호, 데이터, 정보 등을 처리하거나 메모리(240)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다. 프로세서(160)는 하나의 프로세서 또는 복수의 프로세서로 구현 가능하다.In addition to operations related to application programs, the processor 160 typically controls the overall operation of the computing device 100. The processor 260 can provide or process appropriate information or functions to the user by processing signals, data, information, etc. input or output through the components discussed above, or by running an application program stored in the memory 240. The processor 160 can be implemented as one processor or multiple processors.
이하에서 설명하는 도 7의 구성요소들은 메모리(240)에 저장된 인스트럭션에 따라 프로세서(260)에서 구현되는 기능 또는 소프트웨어 모듈일 수 있다.The components of FIG. 7 described below may be functions or software modules implemented in the processor 260 according to instructions stored in the memory 240.
한편, 상술한 실시예에 따른 컴퓨팅 장치(100)에서 수행되는 제어 방법은 프로그램으로 구현되어 컴퓨팅 장치(100)에 제공될 수 있다. 예컨대, 컴퓨팅 장치(100)의 제어 방법을 포함하는 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.Meanwhile, the control method performed in the computing device 100 according to the above-described embodiment may be implemented as a program and provided to the computing device 100. For example, a program including a control method for the computing device 100 may be stored and provided in a non-transitory computer readable medium.
도 3은 본 출원의 일 실시예에 따른 소프트웨어 기반의 객체 트래킹 제공 방법을 설명하는 순서도이고, 도 4 내지 도 6은 도 3에 도시된 소프트웨어 기반의 객체 트래킹 제공 방법을 설명하기 위한 도면이다. 도 3에 도시된 소프트웨어 기반의 객체 트래킹 제공 방법은 도 2에 도시된 컴퓨팅 장치(100)의 프로세서(160)의 구동에 의하여 수행되는 각 단계로 설명된다. FIG. 3 is a flowchart illustrating a method of providing software-based object tracking according to an embodiment of the present application, and FIGS. 4 to 6 are diagrams illustrating the method of providing software-based object tracking shown in FIG. 3 . The method for providing software-based object tracking shown in FIG. 3 is explained in terms of each step performed by driving the processor 160 of the computing device 100 shown in FIG. 2.
도 3을 참조하면, 프로세서(160)는, 카메라 모듈을 제어하여 전방 방향에 대한 프레임 이미지를 생성하도록 하여 이를 제공받는다(S310). 카메라 모듈은, 추적 객체의 존재 및 이동 여부에 무관하게 기 설정된 전방 방향으로 고정되어 제1 해상도로 촬영하여 프레임 이미지를 생성한다. 도 4는 이러한 예를 도시하며, 프레임 이미지(401) 내에 객체(402)가 존재하도록 촬영되고 있는 것을 도시한다.Referring to FIG. 3, the processor 160 controls the camera module to generate and receive a frame image for the front direction (S310). The camera module is fixed in a preset forward direction regardless of the presence and movement of the tracking object and captures the image at a first resolution to generate a frame image. Figure 4 shows this example, showing an object 402 being imaged so that it exists within a frame image 401.
프로세서(160)는, 카메라 모듈에서 촬영되는 제1 해상보다 낮은 해상도를 가지도록 뷰잉 윈도우의 제2 해상도를 설정할 수 있다(S320). 일 예로, 뷰잉 윈도우의 해상도는 사용자의 입력을 기초로 결정될 수 있다. 다른 예로, 프로세서(160)는, 추적 객체의 프레임 이미지에서의 크기에 따라 객체 트래킹 기능의 제공 중에 뷰잉 윈도우의 해상도를 동적으로 변경할 수 있다. The processor 160 may set the second resolution of the viewing window to have a lower resolution than the first resolution captured by the camera module (S320). As an example, the resolution of the viewing window may be determined based on user input. As another example, the processor 160 may dynamically change the resolution of the viewing window while providing the object tracking function according to the size of the tracked object in the frame image.
프로세서(160)는, 프레임 이미지 내에 추적 객체가 존재하는지 식별할하고(S330), 프레임 이미지 내에서의 추적 객체의 위치를 기초로, 추적 객체를 포함하는 프레임 이미지의 일부 영역을 뷰잉 윈도우로서 설정할 수 있다(S340). 도 5는 이러한 예를 도시하며, 프레임 이미지(501)에서 추적 객체(502)를 식별한 후에, 탐색 개체를 중심으로 뷰잉 윈도우(503)를 설정할 수 있다. 프로세서(160)는, 사용자 디스플레이 인터페이스를 이용하여 뷰잉 윈도우를 표시 할 수 있다(S350). 즉, 사용자 디스플레이 인터페이스에서는 촬영된 전체 프레임 이미지가 아닌, 뷰잉 윈도우(503)만 표시되고, 뷰잉 윈도우를 제외한 나머지 영역(505)는 사용자 디스플레이 인터페이스에 표시되지 않을 수 있다.The processor 160 may identify whether a tracking object exists in the frame image (S330) and, based on the position of the tracking object in the frame image, set a partial area of the frame image including the tracking object as a viewing window. There is (S340). Figure 5 shows this example, and after identifying the tracking object 502 in the frame image 501, a viewing window 503 can be set up around the search object. The processor 160 may display a viewing window using a user display interface (S350). That is, only the viewing window 503, not the entire captured frame image, is displayed on the user display interface, and the remaining area 505 excluding the viewing window may not be displayed on the user display interface.
프로세서(160)는, 카메라 모듈에서 촬영되는 연속되는 프레임 이미지-이를 촬영 프레임 이미지라 함-의 전체 또는 적어도 일부에 대하여 뷰잉 윈도우를 설정하는 상술한 과정을 반복적으로 수행할 수 있다. 도 6은 도 5에서 일정 시간이 흐른 뒤에 촬영된 촬영 프레임 이미지(601)를 도시하며, 도 5와 도 6을 비교하면 추적 객체(602)가 위치 A에서 위치 B로 이동한 것을 알 수 있다. 프로세서(160)는, 추적 객체(602)의 이동에 대응하여 뷰잉 윈도우(603)의 위치를 재 설정할 수 있으며, 그에 따라 도 5의 뷰잉 윈도우(503)와 도 6의 뷰잉 윈도우(603)가 다르게 설정된 것을 알 수 있다.The processor 160 may repeatedly perform the above-described process of setting a viewing window for all or at least a portion of consecutive frame images captured by the camera module, which are referred to as captured frame images. FIG. 6 shows a captured frame image 601 taken after a certain period of time in FIG. 5 . Comparing FIGS. 5 and 6 , it can be seen that the tracking object 602 has moved from location A to location B. The processor 160 may reset the position of the viewing window 603 in response to the movement of the tracking object 602, and accordingly, the viewing window 503 in FIG. 5 and the viewing window 603 in FIG. 6 may be displayed differently. You can see that it has been set.
이하 도 7 내지 도 20을 참조하여, 프로세서(260)의 다양한 제어적 특징에 대하여 설명한다.Hereinafter, various control features of the processor 260 will be described with reference to FIGS. 7 to 20.
도 7은 프로세서(160)에서 수행되는 기능들을 설명하기 위한 블록 구성도로서, 도 7에 도시된 구성요소, 즉, 각 모듈들은 메모리(240)에 저장된 인스트럭션에 따라 프로세서(260)에서 구현되는 각 기능 또는 소프트웨어 모듈일 수 있다. 다만, 이하에서는 프로세서(160)의 각 모듈들이 제어, 지시 또는 기능의 주체로서 표현하나, 이는, 프로세서(160)가 메모리(140)에 저장된 인스트럭션 또는 어플리케이션을 구동하여 동작하는 것을 의미한다.FIG. 7 is a block diagram for explaining functions performed in the processor 160. The components shown in FIG. 7, that is, each module, are implemented in the processor 260 according to instructions stored in the memory 240. It may be a function or a software module. However, hereinafter, each module of the processor 160 is expressed as the subject of control, instruction, or function, but this means that the processor 160 operates by driving instructions or applications stored in the memory 140.
도 7을 참조하면, 프로세서(160)는 탐색 프레임 선별모듈(161), 객체 탐지모듈(162), 윈도우 설정모듈(613) 및 인터페이스 모듈(164)를 포함할 수 있다.Referring to FIG. 7 , the processor 160 may include a search frame selection module 161, an object detection module 162, a window setting module 613, and an interface module 164.
탐색 프레임 선별모듈(161)은 뷰잉 윈도우를 설정할 프레임 이미지-이를 탐색 프레임 이미지라 칭함-를 결정할 수 있다. 카메라 모듈은 기 설정된 프레임 레이트로 촬영하여 촬영 프레임 이미지를 생성하고, 이를 탐색 프레임 선별모듈(161)에 제공한다(S810). 탐색 프레임 선별모듈(161)은 촬영 프레임 이미지 중 적어도 일부를 선별하여 뷰잉 윈도우를 설정하는 탐색 프레임 이미지로서 결정할 수 있다. The search frame selection module 161 can determine a frame image for setting the viewing window - this is referred to as a search frame image. The camera module generates a captured frame image by shooting at a preset frame rate and provides it to the search frame selection module 161 (S810). The search frame selection module 161 may select at least some of the captured frame images and determine them as search frame images for setting a viewing window.
일 예로, 탐색 프레임 선별모듈(161)은 촬영 프레임 이미지의 전체를 탐색 프레임 이미지로 설정할 수 있다. 이러한 예는, 컴퓨팅 장치(100)가 충분한 리소스를 가지는 경우에 적합하다. For example, the search frame selection module 161 may set the entire captured frame image as a search frame image. This example is suitable when computing device 100 has sufficient resources.
다른 예로, 탐색 프레임 선별모듈(161)은 촬영 프레임 이미지 중에서 일부를 선정하여 탐색 프레임 이미지로 설정할 수 있다. 모바일 컴퓨팅 환경 등에서는 컴퓨팅 리소스가 제한될 수 있으므로 이러한 다른 예가 적합하다.As another example, the search frame selection module 161 may select some of the captured frame images and set them as search frame images. These other examples are appropriate because computing resources may be limited, such as in mobile computing environments.
일 실시예로서, 도 8은 이러한 탐색 프레임 선별모듈(161)에 의해 수행되는 탐색 프레임 선별 방법의 일 예를 개시하고 있다. 도 8을 참조하면, 탐색 프레임 선별모듈(161)은 기 설정된 프레임 레이트로 촬영하여 촬영 프레임 이미지를 카메라 모듈로부터 제공받는다(S810). 탐색 프레임 선별모듈(161)은 상기 프레임 레이트보다 낮은 빈도를 가지는 시간 간격으로 탐색 프레임 이미지를 설정할 수 있다. 즉, 탐색 프레임 선별모듈(161)은 복수의 연속된 촬영 프레임 이미지 중에서 기 설정된 시간 간격으로 프레임 이미지를 선별하고(S820), 선별된 프레임 이미지를 탐색 프레임 이미지로 설정할 수 있다(S830). 도9는 이러한 실시예를 설명하는 도면으로서, 그림 (a)는 카메라 모듈에서 연속적으로 촬영된 촬영 프레임 이미지 1 내지 12를 도시하고, 그림 (b)는 그 중에서 탐색 프레임 선별모듈(161)에 의하여 탐색 프레임 이미지로 선별된 프레임 이미지 1, 4, 7. 10을 표시하고 있다. 도 8 및 9의 일 실시예에서는, 균등한 시간 간격으로 탐색 프레임 이미지가 선별된다.As an embodiment, Figure 8 discloses an example of a search frame selection method performed by the search frame selection module 161. Referring to FIG. 8, the search frame selection module 161 receives a captured frame image from the camera module by shooting at a preset frame rate (S810). The search frame selection module 161 may set a search frame image at a time interval with a frequency lower than the frame rate. That is, the search frame selection module 161 may select frame images at preset time intervals from a plurality of consecutive captured frame images (S820) and set the selected frame images as search frame images (S830). Figure 9 is a diagram illustrating this embodiment. Figure (a) shows capture frame images 1 to 12 continuously captured by a camera module, and Figure (b) shows images selected by the search frame selection module 161 among them. Frame images 1, 4, 7, and 10 selected as search frame images are displayed. In one embodiment of FIGS. 8 and 9, search frame images are selected at equal time intervals.
다른 일 실시예로서, 도 10은 이러한 탐색 프레임 선별모듈(161)에 의해 수행되는 탐색 프레임 선별 방법의 다른 일 예를 개시하고 있다. 도 10을 참조하면, 탐색 프레임 선별모듈(161)은 기 설정된 프레임 레이트로 촬영하여 촬영 프레임 이미지를 카메라 모듈로부터 제공받는다(S1010). 탐색 프레임 선별모듈(161)은 이전의 제1 탐색 프레임 이미지 상에서의 추적 객체의 제1 위치를 확인하고(S1020), 현재의 제2 탐색 프레임 이미지 상에서의 추적 객체의 제2 위치를 확인한다(S1030). 탐색 프레임 선별모듈(161)은 이전의 제1 탐색 프레임 이미지 상에서의 추적 객체의 제1 위치와 현재의 제2 탐색 프레임 이미지 상에서의 추적 객체의 제2 위치 간의 차이에 따라, 다음 탐색 프레임 이미지를 결정할 수 있다. 즉, 탐색 프레임 선별모듈(161)은 추적 객체의 이동이 빠르면 다음 탐색 프레임 이미지를 보다 빨리 선정하도록 할 수 있다. 도11은 이러한 실시예를 설명하는 도면으로서, 그림 (a)는 카메라 모듈에서 연속적으로 촬영된 촬영 프레임 이미지 1 내지 12를 도시하고, 그림 (b)는 그 중에서 탐색 프레임 선별모듈(161)에 의하여 탐색 프레임 이미지로 선별된 프레임 이미지 1, 4, 6, 9, 12, 14를 표시하며, 그림 (c)는 이전 탐색 프레임 이미지에서의 객체 위치와 현재 탐색 프레임 이미지에서의 객체 간의 거리를 나타낸다. 탐색 프레임 이미지 4를 선정한 후, 탐색 프레임 선별모듈(161)은 이전 탐색 프레임 이미지 1과 현재 탐색 프레임 이미지 4에서의 객체 간 이동 거리-예컨대, 추적 객체가 이동한 단위 픽셀(ex. 10픽셀 등) 수 등-를 산출한 결과 60으로 결정되었으며, 이는 이동거리의 기준 (ex. 40)을 초과하였으므로, 탐색 프레임 이미지의 선정 빈도를 보다 높여서 6번째 촬영 프레임 이미지를 탐색 프레임 이미지로 선정하고 있다. 한편, 6번째 프레임 이미지 및 9번째 프레임 이미지에서는 추적 객체의 이동거리가 40, 30으로서 기준 이하이므로 9번째, 12번째 프레임 이미지를 선정하고 있다. 한편, 12번째 프레임 이미지에서는 추적 객체의 이동거리가 70이므로 이동거리의 기준 (ex. 40)을 초과하였으므로, 탐색 프레임 이미지의 선정 빈도를 보다 높여서 14번째 촬영 프레임 이미지를 탐색 프레임 이미지로 선정하고 있다. 이와 같이, 추적 객체의 뷰잉 윈도우 상의 이동 거리에 따라 뷰잉 윈도우의 선정 빈도를 조절함으로써 소프트웨어 기반의 트래킹을 보다 원활하게 수행할 수 있다.As another embodiment, Figure 10 discloses another example of a search frame selection method performed by the search frame selection module 161. Referring to FIG. 10, the search frame selection module 161 receives a captured frame image from the camera module by shooting at a preset frame rate (S1010). The search frame selection module 161 confirms the first position of the tracking object on the previous first search frame image (S1020) and confirms the second position of the tracking object on the current second search frame image (S1030) ). The search frame selection module 161 determines the next search frame image according to the difference between the first position of the tracked object on the previous first search frame image and the second position of the tracked object on the current second search frame image. You can. That is, the search frame selection module 161 can select the next search frame image more quickly when the tracking object moves quickly. Figure 11 is a diagram illustrating this embodiment. Figure (a) shows capture frame images 1 to 12 continuously captured by a camera module, and Figure (b) shows images selected by the search frame selection module 161 among them. It displays frame images 1, 4, 6, 9, 12, and 14 selected as search frame images, and Figure (c) shows the distance between the object position in the previous search frame image and the object in the current search frame image. After selecting search frame image 4, the search frame selection module 161 determines the movement distance between the objects in the previous search frame image 1 and the current search frame image 4 - for example, the unit pixel through which the tracking object moves (ex. 10 pixels, etc.) As a result of calculating the number, etc., it was decided to be 60, and since this exceeded the standard for moving distance (ex. 40), the selection frequency of the search frame image was increased and the 6th shooting frame image was selected as the search frame image. Meanwhile, in the 6th and 9th frame images, the moving distances of the tracking objects are 40 and 30, which are below the standard, so the 9th and 12th frame images are selected. Meanwhile, in the 12th frame image, the moving distance of the tracking object is 70, which exceeds the moving distance standard (ex. 40), so the selection frequency of the search frame image is increased and the 14th shooting frame image is selected as the search frame image. . In this way, software-based tracking can be performed more smoothly by adjusting the selection frequency of the viewing window according to the moving distance of the tracking object on the viewing window.
다시 도 7을 참조하면, 객체 탐지모듈(162)은 이러한 탐색 프레임 이미지에서 추적 객체가 존재하는지 식별할 수 있다. Referring again to FIG. 7, the object detection module 162 can identify whether a tracking object exists in this search frame image.
일 실시예에서, 도 12에 도시된 예와 같이, 객체 탐지모듈(162)은 딥 러닝 기반의 객체 탐지를 수행할 수 있다. 도 12를 참조하면, 객체 탐지모듈(162)은 추적 객체와 연관된 다량의 학습 데이터로 학습된 제1 딥 러닝 모델을 구비할 수 있다(S1210). 제1 딥 러닝 모델은 추적 객체가 표시된 다량의 학습 데이터로 학습한 인공 신경망 모델일 수 있으며, 이러한 인공신경망의 구조는 CNN, RNN 등 다양한 모델이 적용될 수 있다. 객체 탐지모듈(162)은 제1 딥 러닝 모델을 이용하여, 탐색 프레임 이미지 내에 존재하는 추적 객체를 식별할 수 있다(S1220). 객체 탐지모듈(162)은 탐색 프레임 이미지 내에서 식별된 추적 객체에 바운딩 박스를 표시할 수 있고(S1230), 윈도우 설정모듈(613)는 이러한 바운딩 박스를 기초로 뷰윙 윈도우를 설정할 수 있다. In one embodiment, as in the example shown in FIG. 12, the object detection module 162 may perform deep learning-based object detection. Referring to FIG. 12, the object detection module 162 may be equipped with a first deep learning model learned with a large amount of training data associated with the tracked object (S1210). The first deep learning model may be an artificial neural network model learned from a large amount of learning data showing tracked objects, and various models such as CNN and RNN may be applied to the structure of this artificial neural network. The object detection module 162 may identify a tracking object existing in the search frame image using the first deep learning model (S1220). The object detection module 162 can display a bounding box on the tracked object identified in the search frame image (S1230), and the window setting module 613 can set a viewing window based on this bounding box.
추적 객체의 예로, 사람의 얼굴, 사람의 몸통, 사람 전체의 형상 등 사람과 관련된 것 외에도, 승마, 강아지 등과 같이 다양한 객체가 추적 객체로 설정될 수 있다. 이는, 제1 딥 러닝 모델의 학습 데이터에 따라 추적 객체가 설정되기 때문이다. 제1 딥 러닝 모델은, 설정에 따라 하나 또는 몇몇의 객체 중 적어도 일부를 검출하도록 학습되는 등 다양하게 학습 및 추적이 가능하다.Examples of tracking objects include those related to people, such as a person's face, a person's torso, and the overall shape of a person, as well as various objects such as a horseback riding, a dog, etc., can be set as tracking objects. This is because the tracking object is set according to the training data of the first deep learning model. The first deep learning model is capable of learning and tracking in various ways, such as being trained to detect at least some of one or several objects depending on the settings.
일 실시예에서, 도 13에 도시된 예와 같이, 객체 탐지모듈(162)은 별도의 딥 러닝 모델을 이용하여 이전 추적 객체와 현재 추적 객체의 동일성을 판단할 수 있다. 이는 제1 딥 러닝 모델은 객체를 식별하여 구분하는 것이므로, 동일하지 않은 객체, 예컨대, 사람을 모두 추적객체로서 식별하게 되며, 따라서, 본 실시예에서는 별도의 제2 딥 러닝 모델을 이용하여 동일한 객체, 예컨대, 동일한 사람만을 추적 객체로서 설정하도록 할 수 있다. 도 13을 살펴보면, 객체 탐지모듈(162)은 추적 객체의 외형적 특징과 연관된 다량의 학습 데이터로 학습된 제2 딥 러닝 모델을 구비할 수 있다(S1310). 제2 딥 러닝 모델은 추적 객체의 외형적 특징을 기초로 유사도를 판단하도록 다량의 학습 데이터로 학습한 인공 신경망 모델일 수 있다. 객체 탐지모듈(162)은 제2 딥 러닝 모델을 이용하여, 제1 탐색 프레임 이미지에서 식별된 제1 추적 객체의 외형적 특징과 연관된 제1 특징 데이터를 생성하고(S1320), 제2 탐색 프레임 이미지에서 식별된 제2 추적 객체의 외형적 특징과 연관된 제2 특징 데이터를 생성할 수 있다(S1330). 객체 탐지모듈(162)은 제1 특징 데이터와 제2 특징 데이터 간의 유사도를 기초로 제1 추적 객체와 제2 추적 객체가 동일 객체인지 판단할 수 있다(S1340). 실시예에 따라, 객체 탐지모듈(162)은 특징 데이터를 생성하지 않고 바로 유사도 판단을 위한 데이터-예컨대, 특징 벡터-를 생성하여 동일 객체인지 판단할 수도 있다. 도 14 및 도 15는 이러한 예를 도시하고 있다. 도 14의 예에서, 제1 탐색 프레임 이미지(1401)에서 추적 객체(1402)가 탐지되면 그를 기초로 뷰잉 윈도우(1403)가 설정된다. 도 15는 도 14 이후의 제2 탐색 프레임 이미지(1401)이다. 객체 탐지모듈(162)은 제2 탐색 프레임 이미지(1501)에서 2개의 객체(1502, 1504)를 탐지할 수 있다. 객체 탐지모듈(162)은 제1 탐색 프레임 이미지(1401)에서의 제1 추적 객체(1402)와 제2 탐색 프레임 이미지(1501)에서 2개의 객체(1502, 1504)에 대하여 동일 객체인지 판단하여 제2 추적 객체(1502)를 결정할 수 있고, 제2 추적 객체(1502)를 기초로 뷰잉 윈도우(1503)가 설정됨을 알 수 있다. In one embodiment, as in the example shown in FIG. 13, the object detection module 162 may determine the identity of the previous tracking object and the current tracking object using a separate deep learning model. Since the first deep learning model identifies and classifies objects, all non-identical objects, for example, people, are identified as tracking objects. Therefore, in this embodiment, a separate second deep learning model is used to identify the same objects. , For example, only the same person can be set as a tracking object. Referring to FIG. 13, the object detection module 162 may be equipped with a second deep learning model learned with a large amount of learning data associated with the external characteristics of the tracked object (S1310). The second deep learning model may be an artificial neural network model learned with a large amount of learning data to determine similarity based on the external characteristics of the tracked object. The object detection module 162 uses a second deep learning model to generate first feature data associated with the external characteristics of the first tracking object identified in the first search frame image (S1320), and creates a second search frame image Second characteristic data associated with the external characteristics of the identified second tracking object may be generated (S1330). The object detection module 162 may determine whether the first tracking object and the second tracking object are the same object based on the similarity between the first feature data and the second feature data (S1340). Depending on the embodiment, the object detection module 162 may determine whether the object is the same by directly generating data for determining similarity - for example, a feature vector - without generating feature data. Figures 14 and 15 show these examples. In the example of FIG. 14 , when the tracking object 1402 is detected in the first search frame image 1401, the viewing window 1403 is set based on it. FIG. 15 is a second search frame image 1401 after FIG. 14. The object detection module 162 may detect two objects 1502 and 1504 in the second search frame image 1501. The object detection module 162 determines whether the first tracking object 1402 in the first search frame image 1401 and the two objects 1502 and 1504 in the second search frame image 1501 are the same object. 2 Tracking object 1502 can be determined, and it can be seen that the viewing window 1503 is set based on the second tracking object 1502.
다시 도 7을 참조하면, 윈도우 설정모듈(613)은 객체 탐지모듈(162)에서 제공된 정보-예컨대, 바운딩 박스-를 기초로, 탐색 프레임 이미지에서 적어도 일부 영역을 뷰잉 윈도우로서 설정할 수 있다.Referring again to FIG. 7 , the window setting module 613 may set at least a portion of the area in the search frame image as a viewing window based on information provided by the object detection module 162 - for example, a bounding box.
도 16은 이러한 윈도우 설정모듈(613)의 동작을 설명하는 순서도로서, 도 16을 참조하면, 윈도우 설정모듈(613)은 객체 탐지모듈(162)에서 제공된 정보-예컨대, 바운딩 박스-를 기초로, 탐색 프레임 이미지 내에서의 추적 객체의 위치를 확인할 수 있다(S1610). 윈도우 설정모듈(613)은 추적 객체의 위치를 기준으로, 제2 해상도에 해당하는 탐색 프레임 이미지의 일부를 추출하고(S1620), 추출된 탐색 프레임 이미지의 일부를 뷰잉 윈도우로서 설정할 수 있다(S1630). Figure 16 is a flowchart explaining the operation of the window setting module 613. Referring to Figure 16, the window setting module 613 is based on information provided by the object detection module 162 - for example, a bounding box, The location of the tracking object within the search frame image can be confirmed (S1610). The window setting module 613 may extract a part of the search frame image corresponding to the second resolution based on the position of the tracking object (S1620) and set the part of the extracted search frame image as a viewing window (S1630). .
윈도우 설정모듈(613)은 탐색 프레임 이미지가 아닌 촬영 프레임 이미지에 대해서는, 최신의 탐색 프레임 이미지에서 결정된 뷰잉 윈도우를 동일하게 설정할 수 있다. 이는, 모든 촬영 프레임 이미지가 아닌 일부를 탐색 프레임 이미지로 설정한 경우에 해당된다. 예컨대, 제1 탐색 프레임 이미지 이후에 연속되어 표시되는 적어도 하나의 비 탐색 프레임 이미지에는, 제1 탐색 프레임 이미지에서 결정된 뷰잉 윈도우가 동일하게, 즉, 동일한 위치로 설정될 수 있다. The window setting module 613 may set the viewing window determined in the latest search frame image to be the same for a capture frame image that is not a search frame image. This corresponds to the case where some, but not all captured frame images, are set as search frame images. For example, in at least one non-search frame image that is continuously displayed after the first search frame image, the viewing window determined in the first search frame image may be set to be the same, that is, set to the same position.
일 실시예에서, 도 17에 도시된 예와 같이, 윈도우 설정모듈(613)은 이전의 탐색 프레임 이미지에서의 뷰잉 윈도우와 현재의 탐색 프레임 이미지에서의 뷰잉 윈도우가 일정 이상 이격되어 있는 경우에 이를 보정할 수 있다. 도 17 내지 도 20을 참조하여 설명한다. 윈도우 설정모듈(613)은 제1 탐색 프레임 이미지(도 18, 1801)에 대한 제1 뷰잉 윈도우(1803)를 설정하고(S1710), 제2 탐색 프레임 이미지(도 19, 1901)에 대한 제2 뷰잉 윈도우(1903)를 설정할 수 있다(S1720). 윈도우 설정모듈(613)은 제1 뷰잉 윈도우와 제2 뷰잉 윈도우 간의 위치적 임계성을 판단하여(S1730), 위치적 임계성을 만족하는지 판단할 수 있다(S1740). 위치적 임계성은 탐색 프레임 간의 시간 간격(예컨대, 프레임 레이트의 수)에 비례하여 설정되는 뷰잉 윈도우의 변동 거리로 설정될 수 있다. 도 19의 예에서, 윈도우 설정모듈(613)은 좌상단 모서리를 기준으로 제1 탐색 프레임 이미지에서의 제1 뷰잉 윈도우의 위치(도 19, 1803)와 제2 탐색 프레임 이미지에서 선정된 제2 뷰잉 윈도우(1904) 간의 거리 △Lt1을 산출하여 이를 기초로 위치적 임계성을 판단한다. 도 19의 예에서는 위치적 임계성을 벗어난 예이며, 윈도우 설정모듈(613)은, 도 20에 도시된 예와 같이, 이전의 제1 탐색 프레임 이미지에서의 제1 뷰잉 윈도우의 위치(1803)를 기초로, 제2 뷰잉 윈도우(1903)를 재설정할 수 있다. 위치적 임계성을 만족하는 경우에는, 윈도우 설정모듈(613)은 제2 뷰잉 윈도우를 유지하도록 한다(S1750). 이러한 실시예는, 외형적으로 유사한 객체가 동시에 감지되어 오류가 발생하는 경우, 뷰잉 윈도우 자체만을 이용하여 보정하도록 함으로써, 트래킹의 오류를 방지할 수 있다. In one embodiment, as shown in the example shown in FIG. 17, the window setting module 613 corrects the viewing window in the previous search frame image when the viewing window in the current search frame image is separated by a certain amount or more. can do. This will be described with reference to FIGS. 17 to 20. The window setting module 613 sets the first viewing window 1803 for the first search frame image (FIG. 18, 1801) and sets the second viewing window 1803 for the second search frame image (FIG. 19, 1901) (S1710). The window 1903 can be set (S1720). The window setting module 613 may determine the positional criticality between the first viewing window and the second viewing window (S1730) and determine whether the positional criticality is satisfied (S1740). The positional criticality may be set as a variable distance of the viewing window that is set in proportion to the time interval between search frames (eg, number of frame rates). In the example of FIG. 19, the window setting module 613 sets the position of the first viewing window in the first search frame image (FIG. 19, 1803) based on the upper left corner and the second viewing window selected in the second search frame image. (1904) Calculate the distance △Lt1 between the two and determine the positional criticality based on this. The example of FIG. 19 is an example that deviates from the positional criticality, and the window setting module 613 uses the position of the first viewing window 1803 in the previous first search frame image as the example shown in FIG. 20. Thus, the second viewing window 1903 can be reset. If the positional criticality is satisfied, the window setting module 613 maintains the second viewing window (S1750). In this embodiment, when an error occurs because externally similar objects are detected at the same time, tracking errors can be prevented by correcting them using only the viewing window itself.
일 실시예에서, 윈도우 설정모듈(613)은 추적 객체의 크기에 대응하여 뷰잉 윈도우의 크기를 조절할 수 있다. 예컨대, 제1 탐색 프레임 이미지에서의 제1 추적 객체보다 제2 탐색 프레임 이미지에서의 제2 추적 객체의 사이즈가 일정 이상 줄어든 경우가 발생할 수 있다. 윈도우 설정모듈(613)은 그러한 줄어든 비율을 반영하여, 제1 탐색 프레임 이미지에서의 제1 뷰잉 윈도우의 크기보다 제2 탐색 프레임 이미지에서의 제2 뷰잉 윈도우의 크기가 작아지도록 설정할 수 있다. 예컨대, 사람 객체가 컴퓨팅 장치에서 멀어지는 방향으로 이동하는 경우가 이에 해당하며, 이러한 경우 뷰잉 윈도우의 크기를 줄여 뷰잉 윈도우 대비 사람 객체의 크기가 유지되도록 제어할 수 있다. In one embodiment, the window setting module 613 may adjust the size of the viewing window in response to the size of the tracking object. For example, a case may occur where the size of the second tracking object in the second search frame image is reduced by a certain amount or more compared to the first tracking object in the first search frame image. The window setting module 613 may reflect the reduced ratio and set the size of the second viewing window in the second search frame image to be smaller than the size of the first viewing window in the first search frame image. For example, this may occur when a human object moves away from the computing device. In this case, the size of the viewing window can be reduced to maintain the size of the human object relative to the viewing window.
인터페이스 모듈(164)은 윈도우 설정모듈(613)에서 제공되는 뷰잉 윈도우를 기초로, 사용자 디스플레이 인터페이스를 표시할 수 있다. The interface module 164 can display a user display interface based on the viewing window provided by the window setting module 613.
일 예로, 사용자 디스플레이 인터페이스의 해상도와 뷰잉 윈도우의 해상도는 상이할 수 있고, 인터페이스 모듈(164)은 사용자 디스플레이 인터페이스의 해상도에 대응하도록 뷰잉 윈도우의 해상도를 확대 또는 축소할 수 있다. 이는, 뷰잉 윈도우의 해상도는 가변 가능하므로, 뷰잉 윈도우의 절대적인 크기에 제한되지 않고, 사용자 디스플레이 인터페이스의 해상도에 맞추어 뷰잉 윈도우의 해상도를 확대 또는 축소하여 처리하도록 함으로써, 사용자에게 줌인 줌 아웃과 같은 효과를 제공할 수 있다.For example, the resolution of the user display interface and the resolution of the viewing window may be different, and the interface module 164 may enlarge or reduce the resolution of the viewing window to correspond to the resolution of the user display interface. Since the resolution of the viewing window is variable, it is not limited to the absolute size of the viewing window, and the resolution of the viewing window is enlarged or reduced to match the resolution of the user display interface, providing the user with an effect such as zooming in or zooming out. can be provided.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고 후술하는 특허청구범위에 의해 한정되며, 본 발명의 구성은 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 그 구성을 다양하게 변경 및 개조할 수 있다는 것을 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 쉽게 알 수 있다.The present invention described above is not limited by the above-described embodiments and the accompanying drawings, but is limited by the scope of the patent claims described later, and the configuration of the present invention can be varied within the scope without departing from the technical spirit of the present invention. Those skilled in the art can easily see that changes and modifications can be made.
[부호의 설명][Explanation of symbols]
100 : 컴퓨팅 장치 100: computing device
200 : 크레들200: Cradle
110 : 통신부 110: Department of Communications
120 : 카메라부120: camera unit
130 : 출력부 130: output unit
140 : 메모리140: memory
150 : 전원 공급부 150: power supply unit
160 : 프로세서160: processor
161 : 탐색 프레임 선별모듈 161: Search frame selection module
162 : 객체 탐지모듈162: Object detection module
163 : 윈도우 설정모듈 163: Windows settings module
164 : 인터페이스 모듈164: interface module
[사사][acknowledgment]
본 발명은 대한민국 정부가 지원한 다음 연구과제의 지원을 받아 해외 출원된 것이다.This invention was applied overseas with support from the following research project supported by the government of the Republic of Korea.
연구과제 정보Research project information
부처명:한국관광공사Name of Ministry: Korea Tourism Organization
연구사업명: 관광 글로벌 선도기업 후속지원Research project name: Follow-up support for global leading companies in tourism
과제명:스마트폰 연동형 사람/사물 자동인식 및 트래킹 촬영기기Project name: Smartphone-linked automatic person/object recognition and tracking recording device
주관기관:(주)쓰리아이Host organization: 3I Co., Ltd.
연구기간:2022.03.04~2022.12.31Research period: 2022.03.04~2022.12.31
본 발명은 일정한 방향으로 고정되어 촬영된 영상에 대하여 소프트웨어를 기반으로 객체에 대한 트래킹을 효과적으로 제공할 수 있는 효과가 있어 산업상 이용가능성이 높다.The present invention has high industrial applicability because it has the effect of effectively providing tracking of objects based on software for images captured while fixed in a certain direction.
또한, 추적 객체를 식별하는 다량의 학습 데이터로 학습된 제1 딥 러닝 모델을 이용하여 프레임 이미지 내에서 추적 객체를 식별하고, 추적 객체의 외형적 특징과 연관된 다량의 학습 데이터로 학습된 제2 딥 러닝 모델을 이용하여 추적 객체의 동일성을 판단하도록 함으로써, 객체의 식별 및 동일성 판단을 빠르고 정확하게 수행하도록 할 수 있는 효과가 있어 산업상 이용가능성이 높다.In addition, a first deep learning model learned with a large amount of learning data to identify the tracking object is used to identify the tracking object within the frame image, and a second deep learning model learned with a large amount of learning data related to the external characteristics of the tracking object is used. By using a learning model to determine the identity of a tracked object, it has the effect of quickly and accurately performing object identification and identity judgment, so it has high industrial applicability.
또한, 연속하는 프레임 이미지에서의 뷰잉 윈도우의 위치적 임계성을 기초로 뷰잉 윈도우를 재설정하도록 함으로써, 오류 또는 타 객체의 오 인식에 의한 뷰잉 윈도우 설정의 오차를 방지하여 보다 높은 트래킹 성능을 제공 할 수 있는 효과가 있어 산업상 이용가능성이 높다.In addition, by resetting the viewing window based on the positional criticality of the viewing window in consecutive frame images, it is possible to provide higher tracking performance by preventing errors in viewing window settings due to errors or misrecognition of other objects. It is effective and has high industrial applicability.

Claims (20)

  1. 카메라 모듈을 포함하는 컴퓨팅 장치에서 수행되는 객체 트래킹 제공 방법으로서, A method for providing object tracking performed on a computing device including a camera module, comprising:
    상기 카메라 모듈로부터 제1 해상도로 촬영된 탐색 프레임 이미지를 제공받는 단계;Receiving a search frame image captured at a first resolution from the camera module;
    뷰잉 윈도우에 대한 제2 해상도를 설정하는 단계;setting a second resolution for the viewing window;
    상기 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하는 단계; 및identifying whether a tracked object exists within the search frame image; and
    상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하는 단계; 를 포함하고,Based on the position of the tracking object in the search frame image, setting a partial area of the search frame image including the tracking object as the viewing window; Including,
    상기 뷰잉 윈도우의 제2 해상도는 상기 프레임 이미지의 제1 해상도 보다 낮은 해상도 인,The second resolution of the viewing window is a lower resolution than the first resolution of the frame image,
    소프트웨어 기반의 객체 트래킹 제공 방법.Method for providing software-based object tracking.
  2. 제1항에 있어서, 상기 소프트웨어 기반의 객체 트래킹 제공 방법은,The method of claim 1, wherein the software-based object tracking method includes:
    사용자 디스플레이 인터페이스를 이용하여 상기 뷰잉 윈도우를 표시하는 단계; 를 더 포함하는,displaying the viewing window using a user display interface; Containing more,
    소프트웨어 기반의 객체 트래킹 제공 방법.Method for providing software-based object tracking.
  3. 제2항에 있어서, 상기 카메라 모듈은,The method of claim 2, wherein the camera module:
    상기 추적 객체의 존재 및 이동 여부에 무관하게 기 설정된 전방 방향으로 고정되어 상기 제1 해상도로 촬영하여 상기 탐색 프레임 이미지를 생성하는,Generating the search frame image by shooting at the first resolution while being fixed in a preset forward direction regardless of the presence and movement of the tracking object.
    소프트웨어 기반의 객체 트래킹 제공 방법.Method for providing software-based object tracking.
  4. 제3항에 있어서, According to paragraph 3,
    상기 탐색 프레임 이미지의 상기 제1 해상도는 기 설정되어 고정된 것 이고,The first resolution of the search frame image is preset and fixed,
    상기 뷰잉 윈도우의 상기 제2 해상도는 객체 트래킹 기능의 제공 중에 변동 가능한 것인,The second resolution of the viewing window is changeable while providing the object tracking function,
    소프트웨어 기반의 객체 트래킹 제공 방법.Method for providing software-based object tracking.
  5. 제3항에 있어서, 상기 카메라 모듈에 의해 제1 해상도로 촬영된 탐색 프레임 이미지를 제공받는 단계는,The method of claim 3, wherein the step of receiving a search frame image captured by the camera module at a first resolution comprises:
    상기 카메라 모듈로부터 기 설정된 프레임 레이트로 복수의 연속된 촬영 프레임 이미지를 제공받는 단계; 및Receiving a plurality of consecutive captured frame images at a preset frame rate from the camera module; and
    상기 복수의 연속된 촬영 프레임 이미지 중에서 일부 프레임 이미지를 선별하여 상기 탐색 프레임 이미지로서 설정하는 단계; 를 포함하는,selecting some frame images from among the plurality of consecutive captured frame images and setting them as the search frame images; Including,
    소프트웨어 기반의 객체 트래킹 제공 방법.Method for providing software-based object tracking.
  6. 제1항에 있어서, 상기 프레임 이미지 내에 객체가 존재하는지 식별하는 단계는,The method of claim 1, wherein identifying whether an object exists in the frame image comprises:
    추적 객체와 연관된 다량의 학습 데이터로 학습된 제1 딥 러닝 모델을 이용하여, 상기 탐색 프레임 이미지 내에서 상기 추적 객체를 식별하는 단계; 를 포함하는, Identifying the tracking object within the search frame image using a first deep learning model learned with a large amount of training data associated with the tracking object; Including,
    소프트웨어 기반의 객체 트래킹 제공 방법.Method for providing software-based object tracking.
  7. 제6항에 있어서, 상기 프레임 이미지 내에 객체가 존재하는지 식별하는 단계는,The method of claim 6, wherein identifying whether an object exists in the frame image comprises:
    제1 탐색 프레임 이미지에서 식별된 제1 추적 객체와, 제2 탐색 프레임 이미지에서 식별된 제2 추적 객체가 동일한 객체인지 판단하는 단계; 를 더 포함하는,determining whether a first tracking object identified in the first search frame image and a second tracking object identified in the second search frame image are the same object; Containing more,
    소프트웨어 기반의 객체 트래킹 제공 방법.Method for providing software-based object tracking.
  8. 제7항에 있어서, 상기 제2 탐색 프레임 이미지에서 식별된 제2 추적 객체가 동일한 객체인지 판단하는 단계는,The method of claim 7, wherein determining whether the second tracking object identified in the second search frame image is the same object comprises:
    추적 객체의 외형적 특징과 연관된 다량의 학습 데이터로 학습된 제2 딥러닝 모델을 이용하여, 상기 제1 탐색 프레임 이미지에서 식별된 상기 제1 추적 객체의 외형적 특징과 연관된 제1 특징 데이터를 생성하는 단계;Using a second deep learning model learned with a large amount of learning data associated with the external features of the tracking object, generate first feature data related to the external features of the first tracking object identified in the first search frame image. steps;
    상기 제2 탐색 프레임 이미지에서 식별된 상기 제2 추적 객체의 외형적 특징과 연관된 제2 특징 데이터를 생성하는 단계; 및generating second feature data associated with external features of the second tracked object identified in the second search frame image; and
    상기 제1 추적 객체의 상기 제1 특징 데이터와 상기 제2 추적 객체의 상기 제2 특징 데이터 간의 유사도를 기초로, 상기 제1 추적 객체와 상기 제2 추적 객체가 동일 객체인지 판단하는 단계; 를 포함하는,determining whether the first tracking object and the second tracking object are the same object based on similarity between the first characteristic data of the first tracking object and the second characteristic data of the second tracking object; Including,
    소프트웨어 기반의 객체 트래킹 제공 방법.Method for providing software-based object tracking.
  9. 제2항에 있어서, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하는 단계는,The method of claim 2, wherein setting a partial area of the search frame image including the tracking object as the viewing window comprises:
    상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 확인하는 단계;confirming the location of the tracked object within the search frame image;
    상기 추적 객체의 위치를 기준으로 상기 제2 해상도에 해당하는 상기 탐색 프레임 이미지의 일부를 추출하는 단계; 및extracting a portion of the search frame image corresponding to the second resolution based on the location of the tracking object; and
    추출된 상기 탐색 프레임 이미지의 일부를 상기 뷰잉 윈도우로서 설정하는 단계; 를 포함하는,setting a part of the extracted search frame image as the viewing window; Including,
    소프트웨어 기반의 객체 트래킹 제공 방법.Method for providing software-based object tracking.
  10. 제9항에 있어서, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하는 단계는,The method of claim 9, wherein setting a partial area of the search frame image including the tracking object as the viewing window comprises:
    제1 탐색 프레임 이미지에 대한 제1 뷰잉 윈도우와, 제2 탐색 프레임 이미지에 대한 제2 뷰잉 윈도우 간의 위치적 임계성을 판단하는 단계; 및determining positional criticality between a first viewing window for a first search frame image and a second viewing window for a second search frame image; and
    상기 위치적 임계성을 만족하지 않는 경우, 상기 제1 뷰잉 윈도우를 기초로 상기 제2 뷰잉 윈도우를 재 설정하는 단계; 를 포함하는,If the positional criticality is not satisfied, resetting the second viewing window based on the first viewing window; Including,
    소프트웨어 기반의 객체 트래킹 제공 방법.Method for providing software-based object tracking.
  11. 기 설정된 전방 방향으로 고정되어 촬영 프레임 이미지를 생성하는 카메라 모듈을 포함하는 컴퓨팅 장치에서 수행되는 객체 트래킹 제공 방법으로서, A method for providing object tracking performed in a computing device including a camera module that is fixed in a preset forward direction and generates a shooting frame image, comprising:
    상기 카메라 모듈로부터 제1 해상도로 연속하여 촬영된 복수의 촬영 프레임 이미지를 제공받는 단계;Receiving a plurality of captured frame images sequentially captured at a first resolution from the camera module;
    상기 복수의 촬영 프레임 이미지에서 적어도 일부를 선별하여 적어도 하나의 탐색 프레임 이미지를 선정하는 단계;selecting at least one search frame image by selecting at least a portion of the plurality of captured frame images;
    상기 적어도 하나의 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하는 단계; 및identifying whether a tracked object exists within the at least one search frame image; and
    상기 적어도 하나의 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 적어도 하나의 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 각각 설정하는 단계; 를 포함하는,Based on the position of the tracking object in the at least one search frame image, respectively setting a partial region of the at least one search frame image including the tracking object as the viewing window; Including,
    소프트웨어 기반의 객체 트래킹 제공 방법.Method for providing software-based object tracking.
  12. 컴퓨터 판독 가능한 인스트럭션들(instructions)을 저장하고 있는 저장 매체에 있어서,A storage medium storing computer-readable instructions,
    상기 인스트럭션들은, 컴퓨팅 장치에 의해 실행될 때, 상기 컴퓨팅 장치로 하여금,The instructions, when executed by a computing device, cause the computing device to:
    제1 해상도로 촬영된 탐색 프레임 이미지를 제공받는 동작;An operation of receiving a search frame image captured at a first resolution;
    뷰잉 윈도우에 대한 제2 해상도를 설정하는 동작;setting a second resolution for the viewing window;
    상기 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하는 동작; 및Identifying whether a tracking object exists within the search frame image; and
    상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하는 동작; 을 수행하도록 하고,Setting a partial area of the search frame image including the tracking object as the viewing window based on the location of the tracking object in the search frame image; to perform,
    상기 뷰잉 윈도우의 제2 해상도는 상기 프레임 이미지의 제1 해상도 보다 낮은 해상도 인,The second resolution of the viewing window is a lower resolution than the first resolution of the frame image,
    저장 매체. storage media.
  13. 컴퓨팅 장치로서,As a computing device,
    하나 이상의 인스트럭션을 저장하는 메모리; 및A memory that stores one or more instructions; and
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고, At least one processor executing the one or more instructions stored in the memory,
    상기 적어도 하나의 프로세서는, 상기 하나 이상의 인스트럭션을 실행함으로써,The at least one processor executes the one or more instructions,
    상기 카메라 모듈로부터 제1 해상도로 촬영된 탐색 프레임 이미지를 제공받고, Receive a search frame image captured at a first resolution from the camera module,
    뷰잉 윈도우에 대한 제2 해상도를 설정하고, set a second resolution for the viewing window;
    상기 탐색 프레임 이미지 내에 추적 객체가 존재하는지 식별하고,Identify whether a tracking object exists within the search frame image,
    상기 탐색 프레임 이미지 내에서의 상기 추적 객체의 위치를 기초로, 상기 추적 객체를 포함하는 상기 탐색 프레임 이미지의 일부 영역을 상기 뷰잉 윈도우로서 설정하며,Based on the position of the tracking object in the search frame image, set a partial area of the search frame image including the tracking object as the viewing window,
    상기 뷰잉 윈도우의 제2 해상도는 상기 프레임 이미지의 제1 해상도 보다 낮은 해상도 인,The second resolution of the viewing window is a lower resolution than the first resolution of the frame image,
    컴퓨팅 장치.Computing device.
  14. 제13항에 있어서, 상기 적어도 하나의 프로세서는, 14. The method of claim 13, wherein the at least one processor:
    상기 하나 이상의 인스트럭션을 실행함으로써,By executing one or more of the instructions above,
    사용자 디스플레이 인터페이스를 제공하여 상기 뷰잉 윈도우를 표시하는, Providing a user display interface to display the viewing window,
    컴퓨팅 장치.Computing device.
  15. 제13항에 있어서, 상기 카메라 모듈은,The method of claim 13, wherein the camera module:
    상기 추적 객체의 존재 및 이동 여부에 무관하게 기 설정된 전방 방향으로 고정되어 상기 제1 해상도로 촬영하여 상기 탐색 프레임 이미지를 생성하는, Generating the search frame image by shooting at the first resolution while being fixed in a preset forward direction regardless of the presence and movement of the tracking object.
    컴퓨팅 장치.Computing device.
  16. 제15항에 있어서, According to clause 15,
    상기 탐색 프레임 이미지의 상기 제1 해상도는 기 설정되어 고정된 것이고,The first resolution of the search frame image is preset and fixed,
    상기 뷰잉 윈도우의 상기 제2 해상도는 객체 트래킹 기능의 제공 중에 변동 가능한 것인,The second resolution of the viewing window is changeable while providing the object tracking function,
    컴퓨팅 장치.Computing device.
  17. 제15항에 있어서, 상기 적어도 하나의 프로세서는, 16. The method of claim 15, wherein the at least one processor:
    상기 하나 이상의 인스트럭션을 실행함으로써,By executing one or more of the instructions above,
    상기 카메라 모듈로부터 기 설정된 프레임 레이트로 복수의 연속된 촬영 프레임 이미지를 제공받고, Receiving a plurality of consecutive captured frame images at a preset frame rate from the camera module,
    상기 복수의 연속된 촬영 프레임 이미지 중에서 일부 프레임 이미지를 선별하여 상기 탐색 프레임 이미지로서 설정하는, Selecting some frame images from the plurality of consecutive captured frame images and setting them as the search frame images,
    컴퓨팅 장치.Computing device.
  18. 제13항에 있어서, 상기 적어도 하나의 프로세서는, 14. The method of claim 13, wherein the at least one processor:
    상기 하나 이상의 인스트럭션을 실행함으로써,By executing one or more of the instructions above,
    추적 객체와 연관된 다량의 학습 데이터로 학습된 제1 딥 러닝 모델을 이용하여, 상기 탐색 프레임 이미지 내에서 상기 추적 객체를 식별하고,Identifying the tracking object within the search frame image using a first deep learning model learned with a large amount of training data associated with the tracking object,
    제1 탐색 프레임 이미지에서 식별된 제1 추적 객체와, 제2 탐색 프레임 이미지에서 식별된 제2 추적 객체가 동일한 객체인지 판단하는, Determining whether the first tracking object identified in the first search frame image and the second tracking object identified in the second search frame image are the same object,
    컴퓨팅 장치.Computing device.
  19. 제18항에 있어서, 상기 적어도 하나의 프로세서는, 19. The method of claim 18, wherein the at least one processor:
    상기 하나 이상의 인스트럭션을 실행함으로써,By executing one or more of the instructions above,
    추적 객체의 외형적 특징과 연관된 다량의 학습 데이터로 학습된 제2 딥러닝 모델을 이용하여, 상기 제1 탐색 프레임 이미지에서 식별된 상기 제1 추적 객체의 외형적 특징과 연관된 제1 특징 데이터를 생성하고,Using a second deep learning model learned with a large amount of learning data associated with the external features of the tracking object, generate first feature data related to the external features of the first tracking object identified in the first search frame image. do,
    상기 제2 탐색 프레임 이미지에서 식별된 상기 제2 추적 객체의 외형적 특징과 연관된 제2 특징 데이터를 생성하며,generate second feature data associated with external features of the second tracked object identified in the second search frame image;
    상기 제1 추적 객체의 상기 제1 특징 데이터와 상기 제2 추적 객체의 상기 제2 특징 데이터 간의 유사도를 기초로, 상기 제1 추적 객체와 상기 제2 추적 객체가 동일 객체인지 판단하는, Based on the similarity between the first characteristic data of the first tracking object and the second characteristic data of the second tracking object, determining whether the first tracking object and the second tracking object are the same object,
    컴퓨팅 장치.Computing device.
  20. 제13항에 있어서, 상기 적어도 하나의 프로세서는, 14. The method of claim 13, wherein the at least one processor:
    상기 하나 이상의 인스트럭션을 실행함으로써,By executing one or more of the instructions above,
    제1 탐색 프레임 이미지에 대한 제1 뷰잉 윈도우와, 제2 탐색 프레임 이미지에 대한 제2 뷰잉 윈도우 간의 위치적 임계성을 판단하고,Determine positional criticality between a first viewing window for a first search frame image and a second viewing window for a second search frame image;
    상기 위치적 임계성을 만족하지 않는 경우, 상기 제1 뷰잉 윈도우를 기초로 상기 제2 뷰잉 윈도우를 재 설정하는, If the positional criticality is not satisfied, resetting the second viewing window based on the first viewing window,
    컴퓨팅 장치.Computing device.
PCT/KR2022/018565 2022-06-29 2022-11-23 Software-based object tracking provision method, and computing device therefor WO2024005279A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/340,318 US20240005530A1 (en) 2022-06-29 2023-06-23 Locked-on target based object tracking method and portable terminal therefor
US18/340,311 US20240005529A1 (en) 2022-06-29 2023-06-23 Software-based object tracking method and computing device therefor

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0080041 2022-06-29
KR20220080041 2022-06-29
KR10-2022-0152262 2022-11-15
KR1020220152262A KR102617213B1 (en) 2022-06-29 2022-11-15 Software-based object tracking method and computing device therefor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/019010 Continuation WO2024071516A1 (en) 2022-06-29 2022-11-29 Object tracking provision method capable of fixing object, and portable terminal therefor

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US18/340,311 Continuation US20240005529A1 (en) 2022-06-29 2023-06-23 Software-based object tracking method and computing device therefor
US18/340,318 Continuation US20240005530A1 (en) 2022-06-29 2023-06-23 Locked-on target based object tracking method and portable terminal therefor

Publications (1)

Publication Number Publication Date
WO2024005279A1 true WO2024005279A1 (en) 2024-01-04

Family

ID=89377536

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/018565 WO2024005279A1 (en) 2022-06-29 2022-11-23 Software-based object tracking provision method, and computing device therefor

Country Status (2)

Country Link
KR (1) KR102617213B1 (en)
WO (1) WO2024005279A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180097944A (en) * 2017-02-24 2018-09-03 재단법인대구경북과학기술원 Apparatus for multi object tracking using feature map and method thereof
KR20210024124A (en) * 2018-12-29 2021-03-04 베이징 센스타임 테크놀로지 디벨롭먼트 컴퍼니 리미티드 Target object detection method and apparatus, electronic device and recording medium
JP2021124669A (en) * 2020-02-07 2021-08-30 キヤノン株式会社 Electronic apparatus
KR20220052620A (en) * 2020-10-21 2022-04-28 삼성전자주식회사 Object traking method and apparatus performing the same
KR20220059194A (en) * 2020-11-02 2022-05-10 삼성전자주식회사 Method and apparatus of object tracking adaptive to target object

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016127571A (en) * 2015-01-08 2016-07-11 キヤノン株式会社 Camera system, display control device, display control method, and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180097944A (en) * 2017-02-24 2018-09-03 재단법인대구경북과학기술원 Apparatus for multi object tracking using feature map and method thereof
KR20210024124A (en) * 2018-12-29 2021-03-04 베이징 센스타임 테크놀로지 디벨롭먼트 컴퍼니 리미티드 Target object detection method and apparatus, electronic device and recording medium
JP2021124669A (en) * 2020-02-07 2021-08-30 キヤノン株式会社 Electronic apparatus
KR20220052620A (en) * 2020-10-21 2022-04-28 삼성전자주식회사 Object traking method and apparatus performing the same
KR20220059194A (en) * 2020-11-02 2022-05-10 삼성전자주식회사 Method and apparatus of object tracking adaptive to target object

Also Published As

Publication number Publication date
KR102617213B1 (en) 2023-12-27

Similar Documents

Publication Publication Date Title
WO2017213398A1 (en) Learning model for salient facial region detection
WO2019066563A1 (en) Camera pose determination and tracking
WO2021112406A1 (en) Electronic apparatus and method for controlling thereof
WO2014157806A1 (en) Display device and control method thereof
WO2013115541A1 (en) Terminal, image communication control server, and system and method for image communication using same
WO2015030307A1 (en) Head mounted display device and method for controlling the same
WO2015012495A1 (en) User terminal device and the control method thereof
WO2019078507A1 (en) Electronic device and method for providing stress index corresponding to activity of user
WO2020080845A1 (en) Electronic device and method for obtaining images
WO2021172832A1 (en) Method for editing image on basis of gesture recognition, and electronic device supporting same
WO2019190076A1 (en) Eye tracking method and terminal for performing same
WO2014088125A1 (en) Image photographing device and method for same
WO2024005279A1 (en) Software-based object tracking provision method, and computing device therefor
WO2016104873A1 (en) Digital device and method of controlling therefor
WO2022182096A1 (en) Real-time limb motion tracking
WO2022098050A1 (en) A method and an electronic device for video processing
WO2022097805A1 (en) Method, device, and system for detecting abnormal event
WO2024071516A1 (en) Object tracking provision method capable of fixing object, and portable terminal therefor
WO2020226264A1 (en) Electronic device for acquiring location information on basis of image, and method for operating same
WO2016111598A1 (en) Display device having transparent display and method for controlling display device
WO2023095971A1 (en) Image generation method using terminal holder, and portable terminal therefor
WO2023059000A1 (en) Method and device for assisting learning
WO2022154256A1 (en) Electronic device and control method therefor
WO2022145894A1 (en) System and method for moving body number recognition and information notification
WO2023085520A1 (en) Method and system for de-identifying robust face in cctv image by using multi-model

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

Country of ref document: EP

Kind code of ref document: A1