A target tracking processor, a target tracking method and a device

By constructing a multi-level image pyramid to perform optical flow tracing in parallel and optimizing storage methods, the problem of slow optical flow tracing speed is solved, and the target tracking processor can operate efficiently.

CN114119661BActive Publication Date: 2025-12-12SHANGHAI SENSETIME TECH DEV CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111394207.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-23
Publication Date
2025-12-12
Estimated Expiration
2041-11-23

AI Technical Summary

Technical Problem

In existing technologies, optical flow tracing methods are slow to execute in target images, especially after an image pyramid is built based on the target image, which requires sequential tracing, resulting in low efficiency.

Method used

A multi-level image pyramid is constructed using a target tracking processor, with each level having a corresponding tracking module. This allows for parallel execution of optical flow tracking tasks. Data reading efficiency is improved by optimizing storage methods, and execution time is controlled by bilinear interpolation and timers, reducing instruction decoding time.

Benefits of technology

It enables the parallel execution of multiple target tracking tasks, improves the efficiency and speed of optical flow tracing, reduces data reading time, and enhances the overall target tracking efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114119661B_ABST
    Figure CN114119661B_ABST
Patent Text Reader

Abstract

The present disclosure provides a target tracking processor, a target tracking method and a device, wherein the target tracking processor comprises: an acquisition module configured to acquire a plurality of target images corresponding to a target tracking instruction, and transmit the plurality of target images to a construction module; the construction module is configured to construct an image pyramid comprising a plurality of hierarchical images corresponding to the plurality of target images; the tracking module is configured to perform optical flow tracking on an Nth hierarchical image based on an Nth tracking module, and after completing the optical flow tracking, input a tracking result to an (N-1)th tracking module, so that the (N-1)th tracking module performs optical flow tracking on an (N-1)th hierarchical image based on the tracking result.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of computer, in particular, to a target tracking processor, a target tracking method and device. BACKGROUND

[0002] When tracking a pixel point in a target image, a method of optical flow tracking is often used to determine the moving position of the pixel point. However, the resolution of the target image is usually high, and if the target image is directly tracked, the execution speed is very slow.

[0003] In related technologies, in order to improve the speed of optical flow tracking, an image pyramid is generally established based on the target image, and then the target image is tracked layer by layer. However, when tracking each layer of image, the next layer can only be tracked after the previous layer is tracked, which has high serial degree and slow execution speed. SUMMARY

[0004] The present disclosure provides at least a target tracking processor, a target tracking method and device.

[0005] In a first aspect, the present disclosure provides a target tracking processor, comprising:

[0006] An acquisition module, configured to acquire a plurality of target images corresponding to a target tracking instruction, and transmit the plurality of target images to a construction module;

[0007] A construction module, configured to construct an image pyramid comprising a plurality of hierarchical images corresponding to the plurality of target images, wherein each hierarchical level of the image pyramid has a corresponding tracking module for calculating the hierarchical level;

[0008] A tracking module, configured to perform optical flow tracking on a Nth hierarchical image based on an Nth tracking module, and after completing the optical flow tracking, input a tracking result to an (N-1)th tracking module, so that the (N-1)th tracking module performs optical flow tracking on an (N-1)th hierarchical image based on the tracking result; wherein the optical flow tracking result of a lowest tracking module is a tracking result corresponding to the target tracking instruction, the input of a highest tracking module is position information of a target tracking point, and N is an integer. In the above target tracking processor, each hierarchical level of the constructed image pyramid has a corresponding tracking module, so that any tracking module can continue tracking after completing any target tracking task, and the any tracking module can perform other target tracking tasks, thereby realizing parallel execution of multiple target tracking tasks and improving the efficiency of target tracking.

[0009] In a possible implementation, the target tracking processor further comprises a storage module corresponding to each level of the image pyramid, configured to store the level image of each level.

[0010] The storage module is configured to store the level image by the following method:

[0011] The level image is divided into blocks according to a preset feature size;

[0012] Feature values of feature points corresponding to each block region image are arranged in order, feature points of the same block region image are located in the same column, and feature points of different block region images are located in different columns;

[0013] Feature values of feature points in the same row are stored in the same storage unit of the storage module, and feature values of feature points in different rows are stored in different storage units.

[0014] By this storage method, feature values of feature points of the same region image can be read in parallel, the data reading time is reduced, and the optical flow tracking efficiency is improved.

[0015] In a possible implementation, for any two adjacent target images, the Nth level image comprises a first image and a second image corresponding to the any two target images respectively;

[0016] The tracking module performs optical flow tracking on the Nth level image based on the Nth tracking module, and specifically performs the following:

[0017] Determining a tracking region of the target tracking point in the Nth level in the first image and the second image corresponding to the two target images respectively;

[0018] Performing optical flow tracking based on feature values of target feature points in the tracking region in the first image and the second image.

[0019] In a possible implementation, the tracking module is further configured to determine the feature values of the target feature points in the tracking region according to the following method:

[0020] Determining coordinates of each feature point contained in the tracking region based on the coordinates of the target tracking point;

[0021] Reading feature values of region feature points corresponding to each feature point from the storage module based on the coordinates of each feature point;

[0022] Performing bilinear difference operation on the feature values of the region feature points corresponding to each feature point to obtain feature values of target feature points corresponding to each feature point contained in the tracking.

[0023] By performing bilinear interpolation, the feature values of the region feature points with floating-point coordinates can be determined more accurately.

[0024] In a possible implementation, when reading the feature values of the region feature points corresponding to each feature point from the storage module based on the coordinates of each feature point, the tracking module is configured to:

[0025] For any feature point, based on the coordinates of the feature point, the feature identifiers of the region feature points in each storage unit corresponding to the feature point are determined from the storage module corresponding to the hierarchical image where the feature point is located;

[0026] Based on the feature identifiers, the feature values of the region feature points corresponding to the feature point are read from each storage unit.

[0027] In a possible implementation, the tracking module further includes a first production module and a second production module.

[0028] The first production module is configured to, in a case where a first instruction of a first timer is received, determine the coordinates of the feature point based on the coordinates of the target tracking point.

[0029] The second production module is configured to, in a case where a second instruction of a second timer is received, generate a storage instruction for storing a target feature point, and store the target feature point to the cache module based on the storage instruction after receiving the target feature point corresponding to the feature point.

[0030] The timing duration of the first timer and the second timer is the same, and the time difference between the first timer and the second timer is a preset fixed value.

[0031] In this way, by using the execution time controlled by the two timers, after the actual feature values of the feature points are calculated, the response between the first production module and the second production module (i.e., the process of sending a request signal, accepting the request signal, and sending back a request passing signal) is not required; after the bilinear interpolation is performed, based on the calculated preset fixed value, the storage instruction can be started to be executed exactly, and a large amount of time is saved.

[0032] In a possible implementation, the tracking module includes a control unit, a calculation unit, and a memory access unit.

[0033] The memory access unit is configured to read data from the image pyramid.

[0034] The calculation unit and the control unit are configured to perform optical flow tracking.

[0035] The control unit comprises a first floating point calculation unit, an interface unit and a data storage unit; wherein the first floating point calculation unit, the interface unit and the data storage unit are mapped to the same memory space.

[0036] In this way, since the first floating point calculation unit, the interface unit and the data storage unit are mapped to the same memory space, all instructions received by the tracking module can be integrated into one instruction, which is uniformly decoded and then sent to different units to execute the corresponding request content based on the identifier in the instruction, thereby reducing the decoding time and improving the processing efficiency.

[0037] In a second aspect, the embodiments of the present disclosure further provide a target tracking method, comprising:

[0038] obtaining a plurality of target images corresponding to a target tracking instruction;

[0039] constructing an image pyramid comprising a plurality of hierarchical images corresponding to the plurality of target images, wherein each level of the image pyramid has a corresponding tracking module for calculating the level;

[0040] performing optical flow tracking on the Nth hierarchical image based on the Nth tracking module, and inputting the tracking result to the (N-1)th tracking module after completing the optical flow tracking, so that the (N-1)th tracking module performs optical flow tracking on the (N-1)th hierarchical image based on the tracking result; wherein the optical flow tracking result of the lowest tracking module is the tracking result corresponding to the target tracking instruction, the input of the highest tracking module is the position information of the target tracking point, and N is an integer.

[0041] In a third aspect, the embodiments of the present disclosure further provide a target tracking device, comprising:

[0042] an image acquisition module configured to obtain a plurality of target images corresponding to a target tracking instruction;

[0043] an image processing module configured to construct an image pyramid comprising a plurality of hierarchical images corresponding to the plurality of target images, wherein each level of the image pyramid has a corresponding tracking module for calculating the level;

[0044] an optical flow tracking module configured to perform optical flow tracking on the Nth hierarchical image based on the Nth tracking module, and input the tracking result to the (N-1)th tracking module after completing the optical flow tracking, so that the (N-1)th tracking module performs optical flow tracking on the (N-1)th hierarchical image based on the tracking result; wherein the optical flow tracking result of the lowest tracking module is the tracking result corresponding to the target tracking instruction, the input of the highest tracking module is the position information of the target tracking point, and N is an integer.

[0045] In a fourth aspect, the embodiments of the present disclosure further provide a computer device, comprising a processor, a memory and a bus, the memory stores machine readable instructions executable by the processor, when the computer device is running, the processor and the memory communicate through the bus, and the machine readable instructions are executed by the processor to perform the steps of the above-mentioned first aspect or any possible implementation manner of the first aspect.

[0046] In a fifth aspect, the embodiments of the present disclosure further provide a computer readable storage medium, the computer readable storage medium stores a computer program, when the computer program is run by a processor, the steps of the above-mentioned first aspect or any possible implementation manner of the first aspect are performed.

[0047] The effects of the above-mentioned target tracking method, device, computer device and computer readable storage medium are described in the above-mentioned target tracking processor, which will not be repeated here.

[0048] In order to make the above-mentioned purpose, features and advantages of the present disclosure more obvious and easy to understand, the following preferred embodiments are specifically described below, and the accompanying drawings are described in detail as follows. BRIEF DESCRIPTION OF DRAWINGS

[0049] In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the following will briefly introduce the drawings needed to be used in the embodiments, the drawings herein are incorporated into the description and form a part of the description, the drawings show the embodiments consistent with the present disclosure, and are used to illustrate the technical solutions of the present disclosure together with the description. It should be understood that the following drawings only show some embodiments of the present disclosure, and therefore should not be regarded as a limitation on the scope, and for those skilled in the art, other related drawings can also be obtained without creative labor on the basis of these drawings.

[0050] Figure 1 A flow chart of a light flow tracking method provided by the embodiments of the present disclosure is shown;

[0051] Figure 2 A schematic diagram of a tracking area provided by the embodiments of the present disclosure is shown;

[0052] Figure 3 An architectural schematic diagram of a target tracking processor provided by the embodiments of the present disclosure is shown;

[0053] Figure 4 An architectural schematic diagram of a tracking module provided by the embodiments of the present disclosure is shown;

[0054] Figure 5 A schematic diagram of an instruction execution process provided by the embodiments of the present disclosure is shown;

[0055] Figure 6 A schematic diagram of feature extraction is shown according to an embodiment of the present disclosure;

[0056] Figure 7 A schematic diagram of a reading mode of row storage is shown according to an embodiment of the present disclosure;

[0057] Figure 8 A schematic diagram of a divided hierarchical image is shown according to an embodiment of the present disclosure;

[0058] Figure 9 A schematic diagram of a storage space image is shown according to an embodiment of the present disclosure;

[0059] Figure 10 A flowchart of determining a feature value of a target feature point is shown according to an embodiment of the present disclosure;

[0060] Figure 11 A schematic diagram of region offset information generation is shown according to an embodiment of the present disclosure;

[0061] Figure 12 A schematic diagram of a multiply-add tree architecture is shown according to an embodiment of the present disclosure;

[0062] Figure 13 A schematic diagram of target feature point generation and storage is shown according to an embodiment of the present disclosure;

[0063] Figure 14 A flowchart of a target tracking method is shown according to an embodiment of the present disclosure;

[0064] Figure 15 A schematic diagram of a target tracking device architecture is shown according to an embodiment of the present disclosure;

[0065] Figure 16 A schematic diagram of a computer device structure is shown according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0066] To make the objectives, technical solutions and advantages of the embodiments of the present disclosure clearer, the technical solutions in the embodiments of the present disclosure will be described clearly and completely below with reference to the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure and not all embodiments. The components of the embodiments of the present disclosure described and shown in the drawings herein can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present disclosure provided in the drawings is not intended to limit the scope of the claimed present disclosure, but only represents selected embodiments of the present disclosure. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.

[0067] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.

[0068] In this document, the term "and / or" merely describes a relationship, indicating that three relationships can exist. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. Furthermore, the term "at least one" in this document means any combination of at least two of any one or more elements. For example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C.

[0069] Example 1

[0070] First, a brief introduction to the optical flow tracing technology used in this application is given. The optical flow tracing technology is based on the principle that the same object is located in adjacent frames. A brief description of optical flow tracing follows. Figure 1 As shown, the optical flow tracing process includes the following steps:

[0071] Step 101: Determine the first target tracking point in the first image and the first tracking region in the first image of the two frames;

[0072] The first target tracking point can be any feature point in the first image, a feature point extracted from the first image based on a neural network, or any sampling point in the first image.

[0073] In one possible implementation, when determining the first tracking area based on the first target tracking point, area offset information can be preset, and the first tracking area can be determined based on the area offset information and the coordinates of the first target tracking point. The area offset information can be the difference between the x-coordinate and y-coordinate of the target tracking point.

[0074] For example, such as Figure 2 As shown, if the coordinates of the first target tracking point are M (5,6) and the region offset information is 4, then the first tracking region is a square region with vertex coordinates A (1,2), B (9,2), C (1,10) and D (9,10) respectively. The side length of the square region is 8 pixels, and the square region contains 64 pixels, that is, 64 feature points.

[0075] It should be noted that all the coordinates in the present application are pixel coordinates, the feature points in the target image are pixel points, and the feature values of the feature points are pixel values.

[0076] Step 102: predicting the coordinates of a second target tracking point corresponding to the first target tracking point in a second image of the two images and a second tracking region based on the coordinates of the first target tracking point and the first tracking region;

[0077] In a possible implementation, the acceleration of the first target tracking point can be calculated based on the angular velocity output by the inertial measurement unit, and the coordinates of the second target tracking point can be calculated based on the acceleration and the coordinates of the first target tracking point. Then, the second tracking region can be determined based on the region offset information and the coordinates of the second target tracking point.

[0078] Here, the process of determining the second tracking region based on the region offset information and the coordinates of the second target tracking point is the same as the process of determining the first tracking region, which will not be described here again.

[0079] Step 103: comparing the first tracking region with the second tracking region to obtain a comparison result;

[0080] Specifically, the comparison result can include an update value and a result identifier. The result identifier can exemplarily include tracking success and tracking failure. The update value can be obtained based on the difference between the feature values of the feature points in the first tracking region and the feature values of the corresponding feature points in the second tracking region. The update value is a vector value, the horizontal coordinate of the vector value is used to adjust the horizontal coordinate of the second target tracking point, and the vertical coordinate of the vector value is used to adjust the vertical coordinate of the second target tracking point. If the update value is (3, 2), it means that the horizontal coordinate of the second target tracking point is adjusted by +3 and the vertical coordinate of the second target tracking point is adjusted by +2. If the coordinates of the second target tracking point are (x, y), the adjusted coordinates of the second target tracking point are (x+3, y+2), and the feature points included in the tracking region include the target tracking point.

[0081] Step 104: determining whether the comparison result meets a tracking condition;

[0082] In a possible implementation, the tracking condition can be that the number of adjustments to the second target tracking point reaches a preset number of times, and / or the update value is less than a preset standard value. Exemplarily, if the update value is calculated as (0.5, 0.2) at any time, which is less than the standard value (1, 1), it is determined whether the comparison result meets the tracking condition.

[0083] Here, it should be noted that the tracking condition can be that the horizontal coordinate of the vector value is less than the horizontal coordinate of the standard value, and / or the vertical coordinate of the vector value is less than the vertical coordinate of the standard value.

[0084] If yes, step 106 is performed;

[0085] If no, step 105 is performed.

[0086] Step 105: based on the comparison result, adjusting the coordinate of the second target tracking point, and determining a new second tracking region based on the adjusted coordinate of the target tracking point, and returning to perform step 103.

[0087] For example, first, the update value is calculated based on the second tracking region and the first tracking region, if the calculated update value is (3, 2), and the coordinate of the second target tracking point is (4, 5), the adjusted coordinate of the second target tracking point is (7, 7), if the region offset information is 4, the calculated new second tracking region is a square region with the vertex coordinates of A point (11, 11), B point (3, 3), C point (3, 11), and D point (11, 3), then the new second tracking region and the first tracking region are calculated again to obtain a new update value.

[0088] Step 106: outputting the tracking result.

[0089] For example, the tracking result can include a tracking state and the actual coordinate of the target tracking point corresponding to the second target tracking point; the tracking state can be tracking success or tracking failure.

[0090] Embodiment two,

[0091] For the convenience of understanding this embodiment, first, a target tracking processor disclosed by the embodiment of the present disclosure is introduced in detail, the target tracking processor is a computer device with computing power, and the target tracking processor is composed of an acquisition module, a construction module, and a tracking module. Referring to Figure 3 As shown in the figure, the architecture schematic diagram of the target tracking processor provided by the embodiment of the present disclosure includes an acquisition module 31, a construction module 32, and a tracking module 33; the acquisition module 31 is referred to as the acquisition module hereinafter; the construction module 32 is referred to as the construction module hereinafter; and the tracking module 33 is referred to as the tracking module hereinafter.

[0092] The specific connection relationship of each module in the target tracking processor is described as follows:

[0093] an acquisition module, configured to acquire a plurality of target images corresponding to a target tracking instruction, and transmit the plurality of target images to a construction module;

[0094] The target tracking instruction can include coordinates of a target tracking point, identification information of the target tracking point, an enable signal, and a deformation offset.

[0095] Specifically, the coordinates of the target tracking point are two-dimensional coordinates, such as (x, y). The enable signal is used to instruct a device receiving the signal to start working. Exemplarily, the enable signal can be 0 or 1. The identification information of the target tracking point can be an example of the number of the target tracking point.

[0096] The deformation offset is used to indicate the offset distance of the target tracking point and feature points around the target tracking point. Here, since a camera usually adopts a fisheye lens, a target image is deformed to a certain extent, so that the feature points in the target image are offset in position. The deformation offset is used to correct the feature point offset caused by the deformation.

[0097] The construction module is configured to construct an image pyramid including a plurality of hierarchical images corresponding to the plurality of target images.

[0098] Here, the lowest hierarchical image of the image pyramid is the target image. By performing feature extraction on each N-1 hierarchical image in the image pyramid, an N hierarchical image can be obtained. The resolution of the N hierarchical image is less than that of the N-1 hierarchical image, and N is an integer. Therefore, the resolution of each hierarchical image in the image pyramid gradually decreases from the lowest hierarchical image to the highest hierarchical image. The number of layers of the image pyramid can be a preset number of layers.

[0099] Exemplarily, the number of layers of the image pyramid is preset to be 4 layers, and the 4 hierarchical images are a 0 hierarchical image, a 1 hierarchical image, a 2 hierarchical image, and a 3 hierarchical image. The resolution of the 0 hierarchical image is 640x400, the resolution of the 1 hierarchical image is 320x200, the resolution of the 2 hierarchical image is 160x100, and the resolution of the 3 hierarchical image is 80x50.

[0100] In a possible implementation, the construction module comprises a sampling interval generation unit. When performing feature extraction based on any target hierarchical image, the sampling interval generation unit can first determine a plurality of sampling center points in the target hierarchical image, and then determine a plurality of sampling intervals based on a preset sampling radius, and then perform blurring processing on each sampling interval.

[0101] Specifically, the coordinates of the plurality of sampling center points can be preset or randomly generated by the sampling interval generation unit. When performing blurring processing on the sampling intervals, a filter can be used to perform blurring operation.

[0102] In a possible implementation, after determining the sampling intervals in the target hierarchical image, the sampling interval generation unit can check the sampling intervals to avoid the sampling intervals exceeding the range of the target hierarchical image. Specifically, the coordinates of each sampling point and the sampling radius can be checked to determine whether the sampling intervals exceed the range of the target hierarchical image.

[0103] For example, if the resolution of the target hierarchical image is 160x100, the upper left corner origin is (0, 0), and the preset sampling radius is 3, when detecting the coordinates of each sampling center point, if it is detected that the horizontal coordinate or the vertical coordinate of the sampling center point is less than 0 after +3 or -3, the sampling interval corresponding to the sampling center point exceeds the range of the target hierarchical image.

[0104] Alternatively, the allowed range of the horizontal coordinate and the vertical coordinate of the sampling center point can be calculated first. In this example, the allowed range of the horizontal coordinate of the sampling center point is 3-157, and the allowed range of the vertical coordinate of the sampling center point is 3-97. Then, it is detected whether the horizontal and vertical coordinates of each sampling center point are within the allowed range. If the sampling center point corresponding to the sampling region exceeds the allowed range, the sampling region exceeds the range of the target hierarchical image.

[0105] The tracking module is configured to perform optical flow tracking on the Nth hierarchical image based on the Nth tracking module, and input the tracking result to the (N-1)th tracking module after completing the optical flow tracking, so that the (N-1)th tracking module performs optical flow tracking on the (N-1)th hierarchical image based on the tracking result. The optical flow tracking result of the lowest layer tracking module is the tracking result corresponding to the target tracking instruction, the input of the highest layer tracking module is the position information of the target tracking point, and N is an integer.

[0106] Specifically, the target tracking processor comprises a plurality of tracking modules and a plurality of storage modules. Each tracking module can read the storage module corresponding to the tracking module, and each storage module can store the hierarchical image of the hierarchical layer corresponding to the storage module.

[0107] In a possible implementation, after any tracking module performs optical flow tracking on a hierarchical image acquired by the tracking module for any target tracking point, the tracking on the next target tracking point in the hierarchical image can be performed immediately. In this way, multiple tracking modules can perform optical flow tracking tasks for multiple target tracking points in parallel, greatly improving the work efficiency of the tracking modules.

[0108] In a possible implementation, as shown in Figure 4 The tracking module includes a control unit, a calculation unit, and a memory access unit; the memory access unit is configured to read data from the image pyramid; the calculation unit and the control unit are configured to perform optical flow tracking; the control unit includes a first floating point calculation unit, an interface unit, and a data storage unit; the first floating point calculation unit, the interface unit, and the data storage unit are mapped to the same memory space.

[0109] Specifically, the first floating point calculation unit in the control unit can be configured to perform a serial calculation step in the optical flow tracking process; the interface unit is configured to interact with other modules in the target tracking processor; and the data storage unit can be a plurality of data register stacks, and the data storage unit is configured to store calculation data in the optical flow tracking process, such as a plurality of tracking region images.

[0110] For example, as shown in Figure 5 The instruction timing unit controls the instruction control unit to send an acquisition instruction request to an instruction register, and the instruction register sends an instruction to a decoder for decoding after receiving the acquisition instruction request; the decoder sends the decoded instruction to the first floating point calculation unit, and / or the interface unit, and / or the data storage unit based on an address identifier carried in the decoded instruction.

[0111] The calculation unit can include a second floating point calculation unit, and the calculation unit is configured to perform a parallel calculation step, such as a bilinear interpolation operation (a detailed description of the bilinear interpolation operation will be given below), and an operation of comparing the first tracking region and the second tracking region.

[0112] The memory access unit can be configured to read hierarchical images from the storage module, and can also read data from the data storage unit of the control module.

[0113] Here, since the first floating-point calculation unit, interface unit, and data storage unit are mapped to the same memory space, all instructions received by the control unit can be integrated into one instruction, decoded uniformly, and sent to different units to execute the request content corresponding to the instruction based on the identifier in the instruction, thereby reducing the instruction transmission time.

[0114] In one possible implementation, the target tracking processor further includes a storage module corresponding to each level of the image pyramid, for storing the level images of each level. Each storage module contains multiple storage units, which can simultaneously perform read operations.

[0115] In one possible implementation, the target tracking processor further includes a temporary register that can temporarily store and copy the target image. Specifically, when constructing the image pyramid, the target image can first be copied in the temporary register, and the copied first target image can be stored in the lowest-level storage module.

[0116] In one possible implementation, the target tracking processor further includes a high-resolution channel and a low-resolution channel; wherein the high-resolution channel is used to send the hierarchical image in the storage module to the construction module; and the low-resolution channel is used to send the hierarchical image built by the construction module to the storage module corresponding to the built hierarchical image.

[0117] Specifically, such as Figure 6 As shown, the (N-1)th layer storage module can send the stored (N-1)th layer image to the construction module through the high-resolution channel. After the construction module obtains the Nth layer image based on the (N-1)th layer image, the construction module can send the Nth layer image to the Nth layer storage module. Thus, the target image (0th layer image) is sent from the lowest layer storage module to the construction module through the low-resolution channel to obtain the 1st layer image. This process is repeated to obtain the 2nd layer image, the 3rd layer image, and so on, until the highest layer image is obtained, thus establishing a complete image pyramid containing multiple layers of images.

[0118] In one possible application scenario, since the hierarchical image is stored based on resolution (i.e., the coordinates are determined according to the number of features in each row and column of the hierarchical image, and the coordinates are integers), but the actual position of the target tracking point is usually located between two adjacent feature points (i.e., the actual coordinates of the target tracking point are decimals), in order to improve the accuracy of the calculated coordinates of the target tracking point, bilinear interpolation operation is required based on each feature point.

[0119] In the prior art, the hierarchical image is usually stored by row. When performing bilinear interpolation on any position point, four relevant position points in two rows of position points need to be determined, for example, as shown in Figure 7 Bilinear interpolation on position point A needs to read the feature values of features 1 and 2 from memory 2 and the feature values of features 3 and 4 from memory 3. Any memory can only read one row of data at a time. Therefore, obtaining the feature values of the four relevant position points, i.e., reading two rows of data, needs to be performed in two cycles, which is slow.

[0120] Therefore, in order to shorten the reading time of the feature values of the four relevant position points and improve the execution efficiency, the embodiment provides a novel storage manner.

[0121] In a possible implementation, the storage module is configured to store the hierarchical image by the following method: performing block processing on the hierarchical image according to a preset feature size; arranging feature points corresponding to each block region image after the block processing in sequence, the feature points of the same block region image being located in the same column and the feature points of different block region images being located in different columns; and storing the feature values of the feature points in the same row in the same storage unit of the storage module and storing the feature values of the feature points in different rows in different storage units.

[0122] For example, the preset feature size is four adjacent feature points, and then each four adjacent feature points in the hierarchical image is divided into a rectangular block, i.e., the hierarchical image is divided into six rectangular blocks, as shown in Figure 8

[0123] Continuing the above example, the storage space image of the hierarchical image after the block storage is as shown in Figure 9 The feature values of the feature points in the first rectangular block are stored in the first column in the form of a column, the feature values of the feature points in the second rectangular block are stored in the second column in the form of a column, and so on. In this way, all the feature points are stored in sequence according to the rectangular blocks.

[0124] Here, the storage sequence of each rectangular block is determined in the sequence from left to right and from top to bottom. Specifically, after the rectangular blocks in the first row of the hierarchical image are stored, the first rectangular block in the second row of the hierarchical image is continuously stored in the form of a column after the column in which the rectangular block at the end of the first row is stored. In this way, the storage space image is always four rows. In this storage manner, each feature point in the rectangular block composed of any four adjacent feature points in the hierarchical image is respectively stored in a different row of the storage space image.

[0125] ​Based on this, the data of each row in the storage space image is stored in the same storage unit, and all the storage units can simultaneously read data after simultaneously receiving a read request containing the addresses of the feature points to be read, that is, the reading of multiple feature points can be completed in one cycle.

[0126] Continuing the above example, as shown in Figure 8 and Figure 9 If interpolation is to be performed among feature 4, feature 7, feature 14, and feature 17, the feature values of feature 4, feature 7, feature 14, and feature 17 need to be read, first, a read request is sent to each storage unit, the read request sent to the first storage unit contains the address of feature 17, the read request sent to the second storage unit contains the address of feature 14, the read request sent to the third storage unit contains the address of feature 7, and the read request sent to the fourth storage unit contains the address of feature 4, after responding to the read request, each storage unit acquires the feature values of different feature points corresponding to each received feature address based on the received feature address, that is, the feature values of feature 4, feature 7, feature 14, and feature 17 can be read in one cycle.

[0127] In a possible implementation, for any two adjacent target images, the Nth level image includes a first image and a second image corresponding to the any two target images respectively; when performing optical flow tracking on the Nth level image based on the Nth tracking module, the tracking module specifically performs the following: determining a tracking area of a target tracking point in the Nth level in the first image and the second image corresponding to the two target images respectively; performing optical flow tracking based on the target feature points in the tracking area in the first image and the second image.

[0128] In a possible implementation, as shown in Figure 10 The tracking module is further configured to determine the feature values of the target feature points in the tracking area according to the following method:

[0129] Step 1001: determining the coordinates of each feature point included in the tracking area based on the coordinates of the target tracking point; reading the feature values of the region feature points corresponding to each feature point from the storage module based on the coordinates of each feature point;

[0130] Here, if the coordinates of the feature point are integers, the region feature point is the same as the feature point; if the coordinates of the feature point are floating-point numbers, the region feature point can be the four feature points adjacent to the feature point, for example, if the coordinates of the target feature point are (1.5, 2.3), the coordinates of the region feature points are (1, 2), (1, 3), (2, 2), and (2, 3) respectively.

[0131] In a possible implementation, the tracking module, when reading the region feature points corresponding to each feature point from the storage module based on the coordinates of the feature points, is configured to: for any feature point, determine the feature identifiers of the region feature points in each storage unit corresponding to the feature point based on the coordinates of the feature point from the storage module corresponding to the hierarchical image in which the feature point is located; and read the region feature points corresponding to the feature point from each storage unit based on the feature identifiers.

[0132] Specifically, the feature identifier is the position of each region feature point (including the top-left feature point, the bottom-left feature point, the top-right feature point, and the bottom-right feature point) in each storage unit in any rectangular block, since the relative positions of the four feature points in any rectangular block in the hierarchical image are fixed, any region feature point in the rectangular block can be taken as a reference feature point, the feature identifiers of the other three region feature points are determined based on the feature identifier of the reference feature point, and the calculation relationship between the feature identifier of the reference feature point and the feature identifiers of the other three region feature points in any rectangular block can be divided into four types for the four types of rectangular blocks. The specific calculation methods are shown below.

[0133] Step one, if the top-left feature point in any rectangular block is taken as the reference feature point, and the value of the feature identifier of the reference feature point is Base, the calculation formula of the feature identifier of the reference feature point is as follows:

[0134]

[0135] wherein, SizeW is the width of the hierarchical image (that is, the number of features in each row of the hierarchical image), y is the horizontal coordinate of the reference feature point, x is the vertical coordinate of the reference feature point, and Fix is an integer function.

[0136] Step two, after the feature identifier of the reference feature point is determined, the position type of the rectangular block in the hierarchical image can be determined based on the coordinates of the reference feature point in the hierarchical image, so as to determine the calculation relationship between the feature identifier of the reference feature point and the feature identifiers of the other region feature points in any rectangular block.

[0137] For example, X r and Y r are used to represent the position type of the rectangular block, the values of X r and Y r may be 0 or 1, and the calculation formulas of X r and Y r are as follows:

[0138] Y r = y mod 2

[0139] X r = x mod 2

[0140] Wherein, x is the horizontal coordinate of the reference feature point, y is the vertical coordinate of the reference feature point, and mod is the remainder function.

[0141] Through this calculation method, X r = 0, Y r = 0, X r = 0, Y r = 1, X r = 1, Y r = 0, X r = 1, Y r = 1, four calculation results, respectively corresponding to the four position types of the rectangular block.

[0142] Step three, based on the position type of the rectangular block, determine the calculation relationship between the feature identifier of the reference feature point in any rectangular block and the feature identifier of other area feature points, and calculate the feature identifier of other area feature points. The corresponding relationship between the position type and the calculation relationship is shown in Table 1 as follows:

[0143] Table 1

[0144]

[0145] Wherein, Base is the feature identifier of the reference feature point, is half of the width of the hierarchical image (i.e. half of the number of features in each row of the hierarchical image), X r , Y r is the calculation identifier.

[0146] Step four, after calculating the feature identifier in the rectangular block, since the feature values of the area feature points in the rectangular block are stored in different memories respectively, the feature identifiers of the area feature points can be sent to the storage units corresponding to the area feature points respectively, so that the storage units read the feature values at the corresponding positions based on the feature identifiers. For example, if the feature identifier received by the first storage unit is 5, the feature value stored in the 5th position is read.

[0147] In one possible implementation, as Figure 11 shown, the tracking module further includes an offset generation state machine, which is used to constantly generate area offset information. Based on the floating point calculation unit, the area offset information, the deformation offset, and the coordinates of the second target tracking point are calculated, and the coordinates of all feature points in the second tracking area are obtained.

[0148] Step 1002: performing bilinear interpolation on the region feature points corresponding to each feature point to obtain a feature value of a target feature point corresponding to each feature point included in the tracking.

[0149] Specifically, linear interpolation can be performed based on the decimal part of the coordinates of the feature points and the coordinates of the region feature points. For example, the linear interpolation formula is as follows:

[0150] (x k ,y k )=(1-wy)×((1-wx)×mat(y,x)+wx×mat(y,x+1))+wy×((1-wx)×mat(y+1,x)+wx×mat(y+1,x+1))

[0151] where x k is the horizontal coordinate of the target feature point, y k is the vertical coordinate of the target feature point, wx is the decimal part of the horizontal coordinate of the feature point, wy is the decimal part of the vertical coordinate of the feature point, and mat is a matrix conversion function that can convert the coordinates of the feature point into a matrix for linear calculation.

[0152] Here, based on the plurality of flip-flops in the tracking module and the second floating-point calculation unit, the integer part and the decimal part of the coordinates of the target feature point can be separated.

[0153] In one possible implementation, as shown in FIG. Figure 12 The tracking module further includes a multiply-add tree, and the above calculation process can be calculated by the multiply-add tree. For example, the multiply-add tree includes a plurality of adders, multipliers, and flip-flops. The adders are used to add received values, the multipliers are used to multiply received values, and the flip-flops are used to maintain the state of values that are not involved in the calculation in this period. M(x, y), M(x+1, y), M(x, y+1), and M(x+1, y+1) are the coordinates of the four feature points adjacent to the target feature point.

[0154] In one possible application scenario, in order to ensure that the target feature point can be received by a target memory (the target memory is used to store the target feature point to generate the second tracking region) after the target feature point is determined, the offset generation state machine that generates the target feature point usually sends a storage instruction to the target memory. After the target memory responds, the target feature point is received. However, both generating a storage instruction and responding to a storage instruction need time to execute. In this way, the second tracking region is generated at a very slow speed.

[0155] Therefore, in one possible implementation, as shown in FIG.Figure 13 As shown, the tracking module further comprises a first production module and a second production module; wherein the first production module is configured to determine the coordinates of the feature points based on the coordinates of the target tracking points in the case of receiving a first instruction of a first timer; the second production module is configured to generate a storage instruction for storing the target feature points in the case of receiving a second instruction of a second timer, so as to store the target feature points to the cache module based on the storage instruction after receiving the target feature points corresponding to the feature points; wherein the timing duration of the first timer and the second timer is the same, and the time difference between the first timer and the second timer is a preset fixed value.

[0156] Specifically, the first production module can comprise the offset generation state machine, the storage module and an address converter; wherein the address converter is configured to convert the logical address (i.e. the region offset information) generated by the offset generation state machine into a physical address; the preset fixed value can be the duration of performing bilinear interpolation.

[0157] Specifically, the process of bilinear interpolation can comprise: firstly, the first timer can send a first instruction to the offset generation state machine to make the offset generation state machine generate region offset information, which is converted into target region offset information available for calculation by the address converter; then, the coordinates of each feature point in the tracking region are determined based on the coordinates of the target tracking points obtained from the memory and the target region offset information; finally, bilinear interpolation is performed based on the multiply-add tree to calculate the feature values of the feature points.

[0158] For example, if the duration of performing bilinear interpolation is 32 clock cycles, the preset fixed value can be set to 32 clock cycles. If the first timer sends a first instruction to the offset generation state machine at the 5th clock cycle, the second timer receives a second instruction and generates a storage instruction of the feature point at the 37th clock cycle after calculating the feature value of any feature point, so that the cache module stores the feature value of the feature point.

[0159] In this way, the execution time is controlled by two timers, and after the actual feature values of the feature points are calculated, there is no need to respond between the first production module and the second production module (i.e. the process of sending a request signal, accepting a request signal and sending back a request passing signal); after the execution of bilinear interpolation, the storage instruction can be executed based on the calculated preset fixed value, which saves a lot of time.

[0160] The target tracking processor provided by the embodiment of the present disclosure has a corresponding tracking module for each level of the image pyramid, so that any tracking module can continue tracking after completing any target tracking task, and the any tracking module can perform other target tracking tasks, thereby realizing parallel execution of multiple target tracking tasks and improving the efficiency of target tracking.

[0161] Those skilled in the art can understand that the sequence of writing each step in the above method of the specific embodiment does not mean a strict execution sequence and does not constitute any limitation on the implementation process, and the specific execution sequence of each step should be determined by its function and possible internal logic.

[0162] Based on the same inventive concept, the embodiment of the present disclosure also provides a target tracking device corresponding to the target tracking method. Since the principle of solving problems of the device in the embodiment of the present disclosure is similar to the above-mentioned target tracking method of the present disclosure, the implementation of the device can be referred to the implementation of the method, and the repeated parts will not be described here.

[0163] Referring to Figure 14 As shown in FIG. 1, it is a flowchart of a target tracking method provided by the embodiment of the present disclosure, the execution subject of the target tracking method is a target tracking processor, and the method comprises steps S1401-S1403, wherein:

[0164] S1401: acquiring a plurality of target images corresponding to a target tracking instruction;

[0165] S1402: constructing an image pyramid comprising a plurality of level images corresponding to the plurality of target images, wherein each level of the image pyramid has a corresponding tracking module for calculating the level;

[0166] S1403: performing optical flow tracking on the Nth level image based on the Nth tracking module, and inputting the tracking result to the (N-1)th tracking module after completing the optical flow tracking, so that the (N-1)th tracking module performs optical flow tracking on the (N-1)th level image based on the tracking result; wherein the optical flow tracking result of the lowest tracking module is the tracking result corresponding to the target tracking instruction, the input of the highest tracking module is the position information of the target tracking point, and N is an integer.

[0167] Referring to Figure 15 As shown in FIG. 2, it is an architecture schematic diagram of a target tracking device provided by the embodiment of the present disclosure, the device comprises: an image acquisition module 1501, an image processing module 1502, and an optical flow tracking module 1503; wherein,

[0168] The image acquisition module 1501 is configured to acquire a plurality of target images corresponding to a target tracking instruction;

[0169] The image processing module 1502 is configured to construct an image pyramid comprising a plurality of hierarchical images corresponding to the plurality of target images, wherein each hierarchical image in the image pyramid corresponds to a tracking module for calculating the hierarchical image.

[0170] The optical flow tracking module 1503 is configured to perform optical flow tracking on the Nth hierarchical image based on the Nth tracking module, and after completing the optical flow tracking, input the tracking result to the (N-1)th tracking module, so that the (N-1)th tracking module performs optical flow tracking on the (N-1)th hierarchical image based on the tracking result. The optical flow tracking result of the lowest tracking module is the tracking result corresponding to the target tracking instruction, the input of the highest tracking module is the position information of the target tracking point, and N is an integer.

[0171] The processing flow of each module in the device and the interaction flow between the modules can refer to the related description in the above method embodiments, and will not be described in detail here.

[0172] Based on the same technical concept, the embodiments of the present disclosure also provide a computer device. Referring to Figure 16 As shown in FIG. 16, the computer device 1600 provided by the embodiments of the present disclosure includes a processor 1601, a memory 1602, and a bus 1603. The memory 1602 is configured to store execution instructions, including an internal memory 16021 and an external memory 16022. The internal memory 16021 is also called an internal memory, which is used to temporarily store operation data in the processor 1601 and exchange data with the external memory 16022 such as a hard disk. The processor 1601 exchanges data with the external memory 16022 through the internal memory 16021. When the computer device 1600 is running, the processor 1601 and the memory 1602 communicate through the bus 1603, so that the processor 1601 executes the following instructions:

[0173] obtain a plurality of target images corresponding to a target tracking instruction;

[0174] construct an image pyramid comprising a plurality of hierarchical images corresponding to the plurality of target images, wherein each hierarchical image in the image pyramid corresponds to a tracking module for calculating the hierarchical image;

[0175] perform optical flow tracking on the Nth hierarchical image based on the Nth tracking module, and after completing the optical flow tracking, input the tracking result to the (N-1)th tracking module, so that the (N-1)th tracking module performs optical flow tracking on the (N-1)th hierarchical image based on the tracking result. The optical flow tracking result of the lowest tracking module is the tracking result corresponding to the target tracking instruction, the input of the highest tracking module is the position information of the target tracking point, and N is an integer.

[0176] The embodiment of the present disclosure further provides a computer readable storage medium, which stores a computer program. When the computer program is run by a processor, steps of the target tracking method described in the above method embodiments are executed. The storage medium can be a volatile or non-volatile computer readable storage medium.

[0177] The embodiment of the present disclosure further provides a computer program product, which carries a program code. The program code includes instructions for executing steps of the target tracking method described in the above method embodiments. For details, refer to the above method embodiments, which will not be repeated here.

[0178] The computer program product can be implemented by hardware, software or a combination thereof. In an optional embodiment, the computer program product is embodied as a computer storage medium. In another optional embodiment, the computer program product is embodied as a software product, such as a software development kit (SDK) and the like.

[0179] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the above-described system and device can refer to the corresponding process in the above method embodiments, which will not be repeated here. In several embodiments provided by the present disclosure, it should be understood that the disclosed system, device and method can be implemented by other ways. The above-described device embodiments are only schematic, for example, the division of the units is only a logical function division, and there can be another division manner in actual implementation, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some communication interfaces, devices or units, and can be electrical, mechanical or other forms.

[0180] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on a plurality of network units. According to actual needs, some or all of the units can be selected to achieve the purpose of the embodiment.

[0181] In addition, each functional unit in each embodiment of the present disclosure can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit.

[0182] If the functions are realized in the form of software function units and sold or used as independent products, they can be stored in a nonvolatile computer readable storage medium executable by a processor. Based on this understanding, the technical solutions of the present disclosure essentially or the part of the prior art that contributes to the present disclosure or the part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in the various embodiments of the present disclosure. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0183] Finally, it should be noted that: the above-described embodiments are only specific embodiments of the present disclosure, used to illustrate the technical solutions of the present disclosure, rather than limit them. The protection scope of the present disclosure is not limited thereto. Although the present disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can make modifications or easily think of changes to the technical solutions described in the foregoing embodiments within the technical scope disclosed by the present disclosure, or make equivalent replacements to some of the technical features. These modifications, changes or replacements do not cause the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present disclosure, and should be covered within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be subject to the protection scope of the claims.

Claims

1. A target tracking processor, characterized in that, include: The acquisition module is used to acquire multiple frames of target images corresponding to the target tracking command, and transmit the multiple frames of target images to the construction module; A construction module is used to construct an image pyramid containing multiple layers of images corresponding to the multi-frame target images, wherein each layer of the image pyramid has a corresponding tracking module for calculating that layer; The tracking module is used to perform optical flow tracking on the Nth layer image based on the Nth layer tracking module, and after completing the optical flow tracking, input the tracking result to the (N-1)th layer tracking module so that the (N-1)th layer tracking module performs optical flow tracking on the (N-1)th layer image based on the tracking result; wherein, the optical flow tracking result of the lowest layer tracking module is the tracking result corresponding to the target tracking command, the input of the highest layer tracking module is the position information of the target tracking point, and N is an integer; The target tracking processor also includes a storage module corresponding to each level in the image pyramid, for storing the level images of each level; The storage module is used to store the hierarchical image using the following method: The hierarchical image is divided into blocks according to a preset feature size; After the block processing, the feature values ​​of the feature points corresponding to each block of the image are arranged in order, with the feature points of the same block of the image located in the same column and the feature points of different blocks of the image located in different columns. The feature values ​​of feature points in the same row are stored in the same storage unit of the storage module, while the feature values ​​of feature points in different rows are stored in different storage units.

2. The target tracking processor according to claim 1, characterized in that, For any two adjacent target images, the Nth layer image includes the first image and the second image corresponding to the two adjacent target images, respectively. When the tracking module performs optical flow tracking on the Nth layer image based on the Nth layer tracking module, it specifically performs the following: Determine the tracking region of the target tracking point in the Nth level in the first and second images corresponding to the two target images, respectively; Optical flow tracing is performed based on the feature values ​​of target feature points in the tracking region of the first and second images.

3. The target tracking processor according to claim 2, characterized in that, The tracking module is further configured to determine the feature values ​​of the target feature points in the tracking region according to the following method: Based on the coordinates of the target tracking point, determine the coordinates of each feature point contained in the tracking area; Based on the coordinates of each feature point, the feature values ​​of the corresponding regional feature points are read from the storage module. Perform bilinear interpolation on the feature values ​​of the region feature points corresponding to each feature point to obtain the feature values ​​of the target feature points corresponding to each feature point included in the tracking.

4. The target tracking processor according to claim 3, characterized in that, The tracking module, when reading the feature values ​​of the region feature points corresponding to each feature point from the storage module based on the coordinates of each feature point, is used for: For any feature point, based on the coordinates of the feature point, the feature identifier of the region feature point in each storage unit corresponding to the feature point is determined from the storage module corresponding to the layer image where the feature point is located. Based on the feature identifier, the feature value of the region feature point corresponding to the feature point is read from each storage unit.

5. The target tracking processor according to any one of claims 2 to 4, characterized in that, The tracking module also includes a first production module and a second production module; Wherein, the first production module is used to determine the coordinates of the feature point based on the coordinates of the target tracking point when receiving a first instruction from the first timer; The second production module is configured to generate a storage instruction for storing target feature points upon receiving a second instruction from a second timer, so that after receiving a target feature point corresponding to the feature point, the target feature point is stored in the cache module based on the storage instruction. The first timer and the second timer have the same timing duration, and the time difference between the first timer and the second timer is a preset fixed value.

6. The target tracking processor according to any one of claims 1 to 4, characterized in that, The tracking module includes a control unit, a computing unit, and a memory access unit; The memory access unit is used to read data from the image pyramid; The computing unit and the control unit are used to perform optical flow tracing; The control unit includes a first floating-point calculation unit, an interface unit, and a data storage unit; wherein the first floating-point calculation unit, the interface unit, and the data storage unit are mapped to the same memory space.

7. A target tracking method, applied to a target tracking processor as described in claim 1, characterized in that, include: Acquire multiple frames of target images corresponding to the target tracking command; Construct an image pyramid containing multiple layers of images corresponding to the target images of the multiple frames, wherein each layer of the image pyramid has a corresponding tracking module for performing calculations on that layer; Optical flow tracing is performed on the Nth layer image by the Nth layer tracking module. After completing the optical flow tracing, the tracing result is input to the (N-1)th layer tracking module so that the (N-1)th layer tracking module performs optical flow tracing on the (N-1)th layer image based on the tracing result. The optical flow tracing result of the lowest layer tracking module is the tracing result corresponding to the target tracing command, and the input of the highest layer tracking module is the position information of the target tracking point. N is an integer.

8. A target tracking device, applied to a target tracking processor as described in claim 1, characterized in that, include: The image acquisition module is used to acquire multiple frames of target images corresponding to the target tracking command; An image processing module is used to construct an image pyramid containing multiple layers of images corresponding to the multiple frames of target images, wherein each layer of the image pyramid has a corresponding tracking module for performing calculations on that layer; An optical flow tracing module is used to perform optical flow tracing on the Nth layer image based on the Nth layer tracing module, and after completing the optical flow tracing, input the tracing result to the (N-1)th layer tracing module so that the (N-1)th layer tracing module performs optical flow tracing on the (N-1)th layer image based on the tracing result; wherein, the optical flow tracing result of the lowest layer tracing module is the tracing result corresponding to the target tracing command, the input of the highest layer tracing module is the position information of the target tracing point, and N is an integer.

9. A computer device, characterized in that, include: The computer device includes a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the computer device is running, the processor communicates with the memory via the bus. When the machine-readable instructions are executed by the processor, the steps of the target tracking method as described in claim 7 are performed.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the steps of the target tracking method as described in claim 7.

Citation Information

Patent Citations

  • Optical flow tracking device and method

    CN108475426A