The present invention relates to a software-based object tracking method and a computing device therefor.
With the development of computing devices, miniaturization and portability of computing devices are being promoted, and a user-friendly computing environment is being developed.
As a user's main interest in such a computing environment, there is a tracking function for an object of interest in an image being captured.
In the conventional case, for object tracking, it is necessary to use several pieces of capturing equipment or to physically drive the capturing equipment.
However, it is difficult to apply in a miniaturized and portable computing device environment, and there are limitations in requiring separate equipment.
This Summary is provided to introduce a selection of concepts in a simplified form that is further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
One technical aspect of the present application is to solve the problems of the related art, and according to an embodiment disclosed in the present application, an object of the present application is to effectively provide object tracking based on software for images captured in a certain fixed direction.
According to an embodiment disclosed in the present application, an object of the present application is to quickly and accurately perform identification and identity determination of an object by identifying a tracking object within a frame image using a first deep learning model trained with a large amount of training data to identify a tracking object and determining identity of the tracking object using a second deep learning model trained with a large amount of training data associated with the external features of the tracking object.
According to an embodiment disclosed in the present application, an object of the present application is to provide higher tracking performance by resetting a viewing window based on positional criticality of the viewing window in consecutive frame images to prevent an error in setting of the viewing window due to an error or misrecognition of other objects.
Aspects of the present application are not limited to the above-described aspects. That is, other aspects that are not described may be obviously understood by those skilled in the art from the following specification.
An aspect of the present application provides a software-based object tracking method. The software-based object tracking method is a method of providing object tracking performed in a computing device including a camera module. The software-based object tracking method may include receiving a selected frame image captured at a first resolution from the camera module, setting a second resolution for a viewing window, identifying whether a tracking object exists in the selected frame image, and setting a partial area of the selected frame image including the tracking object as the viewing window on the basis of a location of the tracking object within the selected frame image. The second resolution of the viewing window may be a resolution lower than the first resolution of the selected frame image.
Another aspect of the present application provides another example of a software-based object tracking method. Another example of the software-based object tracking 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 captured frame image. The software-based object tracking method may include receiving a plurality of captured frame images time sequentially captured at a first resolution from the camera module, selecting at least one selected frame image by extracting at least some of the plurality of captured frame images, identifying whether a tracking object exists in the at least one selected frame image, and setting each of partial areas of the at least one selected frame image including the tracking object as the viewing window on the basis of a location of the tracking object within the at least one selected frame image.
Another aspect of the present application provides a computing device. The computing device includes a camera module, a memory configured to store one or more instructions; and at least one processor configured to execute the one or more instructions stored in the memory. The at least one processor executes the one or more instructions to receive a selected frame image captured at a first resolution from the camera module, set a second resolution for a viewing window, identify whether a tracking object exists in the selected frame image, and set a partial area of the selected frame image including the tracking object as the viewing window on the basis of a location of the tracking object within the selected frame image. The second resolution of the viewing window may be a resolution lower than the first resolution of the selected frame image.
The means for solving the above problems do not enumerate all the features of the present application. Various units for solving the problems of the present application may be understood in more detail with reference to specific embodiments of the following detailed description.
These and/or other aspects of the disclosure will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
Throughout the drawings and the detailed description, the same reference numerals may refer to the same, or like, elements. The drawings may not be to scale, and the relative size, proportions, and depiction of elements in the drawings may be exaggerated for clarity, illustration, and convenience.
Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.
However, embodiments of the present invention may be modified into many different forms and the scope of the present disclosure is not limited to the embodiments set forth herein. In addition, these embodiments of the present invention are provided so that the present disclosure will completely describe the present disclosure to those skilled in the art.
That is, the above-described objects, features, and advantages will be described below in detail with reference to the accompanying drawings, and accordingly, those skilled in the art to which the present invention pertains will be able to easily implement the technical idea of the present invention. Detailed description of the known art related to the present invention that may unnecessarily obscure the gist of the present invention will be omitted. Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used to indicate the same or similar components.
In addition, singular forms used in the specification are intended to include plural forms unless the context clearly indicates otherwise. In the specification, it is to be noted that the terms “comprising,” “including,” and the like are not be construed as necessarily including several components or several steps described in the specification and some of the above components or steps may not be included or additional components or steps are construed as being further included.
In addition, in order to describe a system according to the present invention, various components and sub-components thereof will be 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 for performing a corresponding function, or may be implemented as software itself that can be run in an electronic system or as one functional element of such software. Alternatively, it may be implemented as an electronic configuration and driving software corresponding thereto.
Various techniques described in the present specification may be implemented with hardware or software, or a combination of both if appropriate. As used in the present specification, the terms “unit,” “server,” “system,” and the like refer to a computer-related entity, that is, hardware, a combination of hardware and software, as equivalent to software or software in execution. In addition, each function executed in the system of the present invention may be configured in module units and recorded in one physical memory or distributed between two or more memories and recording media.
Various embodiments of the present disclosure may be implemented as software (for example, a program) including one or more instructions stored in a storage medium readable by a machine (for example, a user terminal 100 or computing device). For example, a processor 301 may call and execute at least one instruction among one or more instructions stored in the storage medium. This makes it possible for 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 codes generated by a compiler or codes executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, “non-transitory” means that the storage medium is a tangible device, and does not include a signal (for example, electromagnetic waves), and the term does not distinguish between the case where data is stored semi-permanently on a storage medium and the case where data is temporarily stored thereon.
Although various flowcharts are disclosed to describe the embodiments of the present invention, this is for convenience of description of each step, and each step is not necessarily performed according to the order of the flowchart. That is, the operations in the flowchart may be performed simultaneously with each other, performed in an order according to the flowchart, or performed in an order opposite to the order in the flowchart.
Referring to
The computing device 100 may provide a software-based object tracking function to a user by changing the viewing window 11 in response to movement of an object in each frame (hereinafter referred to as a captured image frame) of captured forward images. That is, in the present application, the computing device 100 may set a resolution of the viewing window 11 to be smaller than the resolution of the preset captured image frame, and set the viewing window to be changed as an object moves within a captured image frame captured in a fixed forward direction, thereby providing the software-based object tracking function to the user without physically rotating or changing a camera unit of the computing device 100.
The computing device 100 may include a camera and may be a user-portable electronic device. For example, the computing device 100 may include a mobile phone, a smartphone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player, a navigation device, a slate PC, a tablet PC, an ultrabook, a wearable device (e.g., a smartwatch, smart glasses, a head mounted display), or the like.
Referring to
The communication unit 110 may include one or more modules enabling communication between the computing device 100 and a wireless communication system or between the computing device 100 and other computing devices. The communication unit 110 may include a mobile communication module 211, a wireless Internet module 212, and a short range communication module 213. The short range communication module 213 may perform a communication connection with a terminal cradle 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.
The camera unit 120 or the camera module may include at least one camera. The camera unit 120 may include one or more lenses, image sensors, image signal processors, or flashes.
For example, the camera unit 120 may include a first camera 221 and 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 for generating an output related to sight, hearing, or touch, and may include a display 131 and a speaker 132. The display 131 may form a layer structure with or be integrally formed with the touch sensor, thereby implementing a touch screen. The touch screen may function as a user input unit which provides an input interface between the computing device 100 and a user, and may provide an output interface between the computing device 100 and the user.
The power supply unit 150 receives power from an external power supply and an internal power supply under the control of the processor 160 and supplies the received power to each component included in the computing device 100. The power supply unit 150 includes a battery, which may be a built-in battery or a replaceable battery.
The processor 160 may control at least some of the components described with reference to
The processor 160 may drive an application by executing instructions stored in the memory 140. In the following description, the processor 160 is expressed as a subject of control, instruction, or function by driving an application, but this means that the processor 160 operates by driving instructions or applications stored in the memory 140.
At least some of the components may operate in cooperation with each other in order to implement an operation, a control, or a control method of the computing device 100 according to various embodiments described below. Also, the operation, control, or control method of the computing device 100 may be implemented on the computing device by driving at least one application program stored in the memory 140.
The processor 160 generally controls the overall operation of the computing device 100 in addition to the operation related to the application program. The processor 260 may provide or process appropriate information or a function to a user by processing signals, data, information, and the like, which are input or output through the above-described components, or by driving an application program stored in the memory 240. The processor 160 may be implemented as one processor or a plurality of processors.
Components illustrated in
Meanwhile, the control method performed by 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 the control method of the computing device 100 may be provided by being stored in a non-transitory computer readable medium.
Referring to
The processor 160 may set a second resolution of the viewing window to have a lower resolution than the first resolution captured by the camera module (S320). For example, the resolution of the viewing window may be determined based on a user's 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 tracking object in the frame image.
The processor 160 may identify whether the tracking object exists in the frame image (S330), and set a partial area of the frame image including the tracking object as the viewing window based on the location of the tracking object in the frame image (S330).
The processor 160 may repeatedly perform the above-described process of setting a viewing window for all or at least some of the consecutive frame images (referred to as captured frame images) captured by the camera module.
Hereinafter, various control features of the processor 260 will be described with reference to
Referring to
The selected frame selection module 161 may determine the frame image (referred to as the selected frame image) to set the viewing window. The camera module performs capturing at a preset frame rate to generate a captured frame image, and provides the generated captured frame image to the selected frame selection module 161 (S810). The selected frame selection module 161 may extract at least some of the captured frame images and determine some of the extracted captured frame images as a selected frame image for setting a viewing window.
For example, the selected frame selection module 161 may set the entire captured frame image as the selected frame image. This example is suitable when the computing device 100 has sufficient resources.
As another example, the selected frame selection module 161 may extract some of the captured frame images and set some of the extracted captured frame images as the selected frame image. These other examples are suitable when computing resources are limited, such as in a mobile computing environment.
As an embodiment,
As another embodiment,
Referring back to
In an embodiment, as in the example illustrated in
As an example of the tracking object, in addition to things associated with people, such as a person's face, a person's torso, and the overall shape of a person, various objects, such as horses and dogs, may 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 can be trained and tracked in various ways, such as being trained to detect at least some of one or several objects according to settings.
In an embodiment, as in the example illustrated in
Referring back to
The window setting module 613 may equally set the viewing window determined in the latest selected frame image for the captured frame image other than the selected frame image. This is the case when some of the captured frame images are set as the selected frame image rather than all the captured frame images. For example, in at least one non-selected frame image time sequentially displayed after the first selected frame image, the viewing window determined in the first selected frame image may be set to be the same, that is, to the same location.
In an embodiment, as in the example illustrated in
In an embodiment, the window setting module 613 may adjust the size of the viewing window corresponding to the size of the tracking object. For example, there may occur a case where the size of the second tracking object in the second selected frame image is reduced more than the size of the first tracking object in the first selected frame image by a certain amount or more. The window setting module 613 may set the size of the second viewing window in the second selected frame image to be smaller than the size of the first viewing window in the first selected frame image by reflecting the reduced ratio. For example, this corresponds to the case where the human object moves away from the computing device. In this case, the size of the viewing window may be reduced, and the size of the human object relative to the viewing window may be controlled to be maintained.
The interface module 164 may display a user display interface based on the viewing window provided by the window setting module 613.
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, the resolution of the viewing window is enlarged or reduced according to the resolution of the user display interface without being limited to the absolute size of the viewing window, thereby providing the effects such as zooming in and zooming out on the user.
According to an embodiment disclosed in the present application, it is possible to effectively track an object based on software for an image captured in a certain fixed direction.
According to an embodiment disclosed in the present application, it is possible to quickly and accurately perform identification and identity determination of an object by identifying a tracking object within a frame image using a first deep learning model trained with a large amount of training data to identify a tracking object and determining identity of the tracking object using a second deep learning model trained with a large amount of training data associated with the external features of the tracking object.
According to an embodiment disclosed in the present application, it is possible to provide higher tracking performance by resetting a viewing window based on positional criticality of the viewing window in consecutive frame images to prevent an error in setting of the viewing window due to an error or misrecognition of other objects.
The present invention described above is not limited by the above-described embodiments or the accompanying drawings, but is limited by the claims described below, and it can be readily understood by those skilled in the art that the configuration of the present invention may be variously changed and modified within the scope not departing from the technical spirit of the present invention.
The present invention was filed overseas with the support of the following research projects supported by the Korean government.
Research project information
Department name: Korea Tourism Organization
Research project name: Follow-up support for leading global tourism companies
Project name: Smartphone-linked automatic person/object recognition and tracking device
Organizer: 3i Corporation
Research period: 2022.03.04 to 2022.12.31
Number | Date | Country | Kind |
---|---|---|---|
10-2022-0080041 | Jun 2022 | KR | national |
10-2022-0125389 | Sep 2022 | KR | national |
10-2022-0152262 | Nov 2022 | KR | national |
10-2022-0162112 | Nov 2022 | KR | national |
Pursuant to 35 USC 120 and 365(c), this application is a continuation of International Application No. PCT/KR2022/018565 filed on Nov. 23, 2022 and PCT Application No. PCT/KR2022/019010 filed on Nov. 29, 2022, in the Korean Intellectual Property Office, and claims the benefit under 35 USC 119(a) of Korean Patent Application No. 10-2022-0080041 filed on Jun. 29, 2022, Korean Application No. 10-2022-0125389 filed on Sep. 30, 2022, Korean Patent Application No. 10-2022-0152262 filed on Nov. 15, 2022, and Korean Patent Application No. 10-2022-0162112 filed on Nov. 29, 2022, in the Korean Intellectual Property Office, the disclosures of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/KR2022/018565 | Nov 2022 | US |
Child | 18340311 | US | |
Parent | PCT/KR2022/019010 | Nov 2022 | US |
Child | PCT/KR2022/018565 | US |