Monitoring video analysis system and monitoring video analysis task processing method
By constructing a surveillance video analysis system with multiple GPU resource blocks and servers, and utilizing a task allocation decision model and a pre-trained target detection model, the system solves the problems of resource management and insufficient detection accuracy of high-order gateways in surveillance video analysis tasks, and achieves efficient and accurate target detection and resource optimization.
Patent Information
- Application Number
- CN202511141600.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-14
- Publication Date
- 2025-11-11
AI Technical Summary
Existing high-end gateways lack sufficient accuracy and reliability in handling surveillance video analysis tasks, especially for small targets and in low-light conditions. Improper resource management and scheduling lead to high operating costs and low resource utilization efficiency.
The surveillance video analysis system, which consists of multiple GPU resource blocks and servers, uses a task allocation decision model to dynamically allocate tasks to the most suitable virtual GPU resource blocks and combines them with a pre-trained object detection model for analysis, including an improved asynchronous dominant actor-critic algorithm and a lightweight object detection model.
It improves the resource utilization and task processing efficiency of the surveillance video analysis system, enhances the system's intelligence and effectiveness, and ensures efficient and accurate target detection under conditions of limited edge computing power.
Smart Images

Figure CN120935334A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing technology, and more specifically, to a surveillance video analysis system and a method for processing surveillance video analysis tasks. Background Technology
[0002] In the context of current ICT (Information and Communication Technology) digital transformation, SMEs have an urgent need for intelligent upgrades to their network infrastructure, especially in terms of improving video surveillance analytics. However, while existing high-end gateways can provide edge AI computing power, they face significant technical challenges when processing video tasks. The main problems focus on two aspects:
[0003] First, there are limitations in target detection capabilities, especially when processing small targets, low-resolution images, or video streams under low-light conditions. Detection accuracy and reliability are greatly reduced, which limits the effectiveness of surveillance video analysis systems in complex environments.
[0004] Secondly, there are shortcomings in resource management and scheduling. The computing resources on the edge are limited. How to achieve lightweight and intelligent scheduling of resources while ensuring model performance, so as to adapt to the dynamic needs of video analysis tasks in different scenarios, has become a key technical problem that urgently needs to be solved.
[0005] The aforementioned problems not only affect the real-time performance and accuracy of video analytics, but also limit the efficient utilization of network resources and increase operating costs. Currently, no effective solutions have been proposed to address these issues. Summary of the Invention
[0006] This application provides a surveillance video analysis system and a method for processing surveillance video analysis tasks, in order to at least solve the technical problem that it is difficult to efficiently and accurately process complex surveillance video analysis tasks, especially those involving small targets, due to the limited edge computing resources of high-level gateways.
[0007] According to one aspect of the embodiments of this application, a surveillance video analysis system is provided, comprising: multiple GPU resource blocks and a server, wherein the server is used to obtain task parameters of multiple surveillance video analysis tasks and resource block parameters of each virtual GPU resource block, wherein the task parameters include at least: task data volume and task type, and the resource block parameters include at least: resource status information; analyze the task parameters of each surveillance video analysis task and the resource block parameters of each virtual GPU resource block using a task allocation decision model to obtain a task allocation strategy corresponding to each surveillance video analysis task; allocate each surveillance video analysis task to a corresponding target virtual GPU resource block according to the task allocation strategy; the target virtual GPU resource block is used to analyze each frame of surveillance footage within the surveillance video analysis task using a pre-trained target detection model to obtain the target detection result corresponding to each frame of surveillance footage, wherein the backbone network of the target detection model includes at least: a bottleneck C2f layer at the cross-stage of two convolutions of multiple inverse residual moving blocks and multiple spatial depth transformation convolutional layers, and the neck network of the target detection model includes at least: multiple C2f layers containing compression-excitation modules.
[0008] Optionally, the server analyzes the task parameters of each surveillance video analysis task and the resource block parameters of each virtual GPU resource block using a task allocation decision model to obtain a task allocation strategy corresponding to each surveillance video analysis task. This includes the following steps: For each surveillance video analysis task, the task is divided into multiple sub-surveillance video analysis tasks based on its task type; the data volume of each sub-surveillance video analysis task is determined; and the data volumes of each sub-surveillance video analysis task are combined to form a task sequence for the surveillance video analysis task. The task allocation decision model is then used to analyze the task sequences of each surveillance video analysis task and the resource block parameters of each virtual GPU resource block to obtain a sub-task allocation strategy corresponding to each sub-surveillance video analysis task. Finally, the sub-task allocation strategies of each sub-surveillance video analysis task within the surveillance video analysis task are combined to form the task allocation strategy corresponding to the surveillance video analysis task.
[0009] Optionally, the task assignment decision model is trained based on an improved asynchronous dominant actor-critic algorithm, which is obtained by adding importance weights to the asynchronous dominant actor-critic algorithm. The asynchronous dominant actor-critic algorithm includes a main network and multiple threads with local networks. The importance weights are used to multiply with the policy gradient during gradient update to update the network parameters of the policy network. Based on the improved asynchronous dominant actor-critic algorithm, the input state is output as a state value function through the critic network in the main network, and the policy function is output through the actor network in the main network.
[0010] Optionally, the target virtual GPU resource block, the training process for the target detection model includes: constructing an initial learning model containing a backbone network, a neck network, and a head network; obtaining a training sample set and a sample label set, wherein the training sample set includes multiple monitoring images as training samples, and the sample label set includes the image objects in each monitoring image as sample labels; using the training sample set and the sample label set to iteratively train the initial learning model to obtain a trained target detection model. Optionally, the backbone network is used to extract feature information at different levels of the monitoring image. The backbone network includes: a convolutional layer, multiple feature extraction modules, and a spatial pyramid fast pooling module. Each feature extraction module includes: a convolutional layer, a spatial depth transformation convolutional layer, and a bottleneck C2f layer with a cross-stage portion containing an inverted residual moving block. The neck network is used to fuse the feature information at different levels output by the backbone network to obtain fused features. The neck network includes: multiple upsampling layers, multiple C2f layers, multiple convolutional layers, and multiple C2f layers containing compression-excitation modules. The number of upsampling layers and convolutional layers is the same as the number of feature extraction modules in the backbone network. The number of C2f layers containing compression-excitation modules is equal to the number of upsampling layers plus one, and the number of C2f layers is equal to the number of upsampling layers minus one. The head network is used to analyze the fused features output by the neck network to obtain the corresponding target detection results. The head network includes multiple detection heads.
[0011] Optionally, the target virtual GPU resource block uses a training sample set and a sample label set to iteratively train the initial learning model to obtain a trained target detection model, including the following steps: For each training batch in the iterative training process, each training sample of the training batch is input into the initial learning model to obtain each target detection result output by the initial learning model; the minimum point distance intersection-union ratio loss function is constructed using the target detection results and the corresponding sample labels; the minimum point distance intersection-union ratio loss function is calculated through the backpropagation algorithm; and the trained target detection model is obtained when the minimum point distance intersection-union ratio loss function satisfies the preset convergence condition.
[0012] Optionally, the server is also used to match the target detection results corresponding to each frame of the monitoring screen in the monitoring video analysis task with a preset alarm condition library. The alarm condition library includes alarm conditions corresponding to multiple types of abnormal situations, and the alarm conditions include at least one of the following: abnormal target category, abnormal target location, abnormal target behavior, and abnormal screen frame number. When the target detection results corresponding to each frame of the monitoring screen in the monitoring video analysis task are successfully matched with at least one target alarm condition in the alarm condition library, alarm prompt information is generated based on the abnormal situation corresponding to each target alarm condition to reflect that the monitoring video corresponding to the monitoring video analysis task is an abnormal video, and the alarm prompt information is sent to the monitoring terminal.
[0013] According to another aspect of the embodiments of this application, a method for processing surveillance video analysis tasks is also provided, applied to the server side of a surveillance video analysis system, comprising: obtaining task parameters of each of a plurality of surveillance video analysis tasks and resource block parameters of each virtual GPU resource block, wherein the task parameters include at least: task data volume and task type, and the resource block parameters include at least: resource status information; analyzing the task parameters of each surveillance video analysis task and the resource block parameters of each virtual GPU resource block using a task allocation decision model to obtain a task allocation strategy corresponding to each surveillance video analysis task; and allocating each surveillance video analysis task to a corresponding target virtual GPU resource block according to the task allocation strategy.
[0014] According to another aspect of the embodiments of this application, a method for processing surveillance video analysis tasks is also provided, applied to the virtual GPU resource block side of a surveillance video analysis system, including: using a pre-trained target detection model to analyze each frame of surveillance video within the surveillance video analysis task, and obtaining the target detection result corresponding to each frame of surveillance video, wherein the backbone network of the target detection model includes at least: a bottleneck C2f layer at the cross-stage of two convolutions of multiple inverse residual moving blocks, and multiple spatial depth transformation convolutional layers, and the neck network of the target detection model includes at least: multiple C2f layers containing compression-excitation modules.
[0015] According to another aspect of the embodiments of this application, an electronic device is also provided, the electronic device including: a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the above-described monitoring video analysis task processing method through the computer program.
[0016] In this embodiment, the server analyzes the task parameters of each surveillance video analysis task and the resource block parameters of each virtual GPU resource block using a task allocation decision model to obtain a task allocation strategy for each surveillance video analysis task. Based on this strategy, the server allocates each surveillance video analysis task to the corresponding target virtual GPU resource block, ensuring that each task runs in the most suitable computing power and memory environment. This avoids over-configuration or under-configuration of resources, improving the overall system's resource utilization and task processing efficiency. The target virtual GPU resource block can then analyze each frame of the surveillance video analysis task using a pre-trained target detection model to obtain the target detection result for each frame. Therefore, this embodiment significantly improves the intelligence and efficiency of the surveillance video analysis system through dynamic resource scheduling and model structure optimization. This solves the technical problem that limited edge computing resources of high-level gateways make it difficult to efficiently and accurately process complex surveillance video analysis tasks, especially those containing small targets. Attached Figure Description
[0017] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0018] Figure 1 This is a schematic diagram of the structure of an optional surveillance video analysis system according to an embodiment of this application;
[0019] Figure 2 This is a schematic diagram illustrating the principle of an optional spatial depth transformation convolutional layer according to an embodiment of this application;
[0020] Figure 3 This is a schematic diagram of an optional inverted residual moving block according to an embodiment of this application;
[0021] Figure 4 This is a schematic diagram of the structure of an optional target detection model according to an embodiment of this application;
[0022] Figure 5 This is a schematic diagram illustrating the principle of an optional minimum point distance intersection-union ratio loss function according to an embodiment of this application;
[0023] Figure 6 This is a flowchart illustrating a method for processing surveillance video analysis tasks on the server side of a surveillance video analysis system, according to an embodiment of this application.
[0024] Figure 7This is a flowchart illustrating a method for processing surveillance video analysis tasks applied to the virtual GPU resource block side of a surveillance video analysis system, according to an embodiment of this application.
[0025] Figure 8 This is a schematic diagram of the hardware structure of a computer terminal for implementing a surveillance video analysis task processing method according to an embodiment of this application. Detailed Implementation
[0026] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.
[0027] It should be noted that the terms "first," "second," etc., used in the specification, claims, and drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0028] Example 1
[0029] According to an embodiment of this application, a surveillance video analysis system is provided. Figure 1 This is a schematic diagram of the structure of an optional surveillance video analysis system according to an embodiment of this application, as shown below. Figure 1 As shown, the system 10 includes: multiple virtual GPU resource blocks 111-11N and a server 12. The multiple virtual GPU resource blocks are obtained by partitioning the GPU hardware cards on multiple high-level gateways according to two dimensions: computing power and video memory (the minimum partitioning granularity can reach 1% computing power and 1MB video memory) using GPU pooling technology, and stored in a computing power "resource pool". This allows GPU resources to be shared among multiple high-level gateways. Even if the local GPU resources of a certain high-level gateway are insufficient, it can borrow GPU resources from other high-level gateways from the resource pool. Flexible sharing and complementarity of computing power can be achieved through remote calls, enhancing the overall processing capability of the system.
[0030] Specifically, the monitoring video analysis can be implemented between multiple virtual GPU resource blocks 111-11N and server 12 according to the following process:
[0031] First, server 12 obtains the task parameters of each of the multiple surveillance video analysis tasks and the resource block parameters of each virtual GPU resource block. The task parameters include at least the task data volume and task type, and the resource block parameters include at least the resource status information. Then, the task allocation decision model is used to analyze the task parameters of each surveillance video analysis task and the resource block parameters of each virtual GPU resource block to obtain the task allocation strategy corresponding to each surveillance video analysis task. Finally, according to the task allocation strategy, each surveillance video analysis task is allocated to the corresponding target virtual GPU resource block 11n.
[0032] Next, the target virtual GPU resource block 11n uses a pre-trained target detection model to analyze each frame of the surveillance video analysis task and obtain the target detection result corresponding to each frame of the surveillance video. The backbone network of the target detection model includes at least: the bottleneck C2f layer of the cross stage of two convolutions of multiple inverse residual moving blocks and multiple spatial depth transformation convolutional layers. The neck network of the target detection model includes at least: multiple C2f layers containing compression-excitation modules.
[0033] In the above analysis process, server 12 can allocate each surveillance video analysis task to the most suitable target virtual GPU resource block, ensuring that the surveillance video analysis task can run in the most matched computing power and memory environment, avoiding over-configuration or under-configuration of resources, improving the resource utilization and task processing efficiency of the entire system, thereby achieving the goal of improving the response speed of surveillance video analysis under edge resource-constrained conditions; while the target virtual GPU resource block 11n can ensure the high-quality completion of surveillance video analysis tasks through lightweight and high-performance model design, while reducing dependence on hardware resources, meeting the needs of efficient video analysis in resource-constrained scenarios. Therefore, the embodiments of this application significantly improve the intelligence and efficiency of the surveillance video analysis system through dynamic resource scheduling and model structure optimization.
[0034] The following section describes the functions of each module of the surveillance video analysis system in conjunction with the specific implementation process.
[0035] First, server 12 obtains the task parameters for each of the multiple surveillance video analysis tasks uploaded by multiple cameras under the high-level gateway through a preset data interface or API. The high-level gateway, as the core component of the network, is responsible for accessing and managing multiple cameras. It can connect up to 200 high-definition network cameras conforming to protocols such as GB / T28181, RTSP, and RTMP, and provides video monitoring and storage functions. It also supports storing 10 channels of 720P 2Mbps video streams for 30 days to meet the customer's requirements for local storage of surveillance videos. In addition, the task parameters include at least: task data volume and task type. Task data volume includes, but is not limited to: video frame count, video frame size, and video stream bitrate. Task types include, but are not limited to: license plate recognition, face recognition, smoking recognition, and hazardous materials recognition.
[0036] At the same time, server 12 will also request the resource block parameters of each virtual GPU resource block through the communication interface with each virtual GPU resource block in the computing power "resource pool". The resource block parameters include at least: resource status information, including but not limited to the amount of occupied resources and the amount of remaining available resources (such as memory, video memory, network bandwidth, CPU / GPU computing power, etc.).
[0037] Next, server 12 can use the task allocation decision model to analyze the task parameters of each monitoring video analysis task and the resource block parameters of each virtual GPU resource block to obtain the task allocation strategy corresponding to each monitoring video analysis task, including the following steps:
[0038] Step 1: For each surveillance video analysis task, divide the surveillance video analysis task into multiple smaller, independently processable sub-survey video analysis tasks according to the task type. Determine the sub-task data volume of each sub-survey video analysis task, and form the task sequence of the surveillance video analysis task by the sub-task data volumes of each sub-survey video analysis task.
[0039] Step 2: Analyze the task sequence of each surveillance video analysis task and the resource block parameters of each virtual GPU resource block using the task allocation decision model to obtain the sub-task allocation strategy corresponding to each sub-survey video analysis task.
[0040] Step 3: The task allocation strategy for the monitoring video analysis task is composed of the sub-task allocation strategies corresponding to each sub-monitoring video analysis task within the monitoring video analysis task.
[0041] The above solution enables intelligent and refined management of surveillance video analysis tasks and dynamic optimization of resource allocation, effectively improving the operating efficiency and resource utilization of the surveillance video analysis system while reducing the overall operating cost of the system.
[0042] Optionally, the task assignment decision model is trained using a reinforcement learning algorithm, which can be an improved asynchronous dominant actor-critic algorithm, a deep Q-network algorithm, a double deep Q-network algorithm, etc.
[0043] The improved asynchronous dominant actor-critic algorithm is derived by adding importance weights to the asynchronous dominant actor-critic algorithm. The asynchronous dominant actor-critic algorithm includes a main network and multiple threads with local networks. The main network includes a critic network for estimating the state value function (i.e., the expected future reward given the current state), and an actor network responsible for outputting the policy function, which determines the action to take in the current state. Specifically:
[0044] For each scheduling decision process generated by the actor network, it is modeled as a Markov decision process: (S, A, P, R, γ), where S represents the state space, and A = {a...} ij Let} represent the action space, P represent the state transition probability, R = -Loss represent the reward function, and γ represent the discount factor used to calculate the cumulative return of future rewards. γ = 1 means that the future reward and the current reward have the same value, while γ < 1 means that the future reward will be discounted over time.
[0045] For the value network, it updates parameters by minimizing the loss function and calculates the temporal difference (TD) objective of the temporal difference method, which serves as the estimate of the state value function made by the target value network at time t+1. The loss function can be expressed as:
[0046] For policy networks, policy gradients are used to update parameters. Specifically, this involves: first, calculating the action value function according to the Bellman formula; then, according to the definition of policy gradient, obtaining an unbiased estimate of the stochastic policy gradient by performing a Monte Carlo approximation on the policy gradient; after the action at time t is executed, the environment will provide a new state and reward, and the unbiased estimate obtained above will be approximated using the new state and reward to obtain an approximation of the policy gradient.
[0047] Multiple threads with local networks run on different virtual GPU resource blocks and communicate asynchronously with the main network. After the thread interacts with the environment and collects a certain amount of data, it calculates the gradient of the loss function of the neural network in the thread to update the parameters of the main network. This parallel training mechanism can accelerate the convergence speed of the algorithm, improve the generalization ability of the model, and enable it to better adapt to changing tasks and resource environments.
[0048] Furthermore, since the gradient update of the traditional asynchronous dominant actor-critic algorithm is based solely on the policy gradient, the embodiments of this application introduce importance weights to improve the gradient update process in the traditional asynchronous dominant actor-critic algorithm. The importance weights reflect the degree of matching between the task parameters and the resource block parameters of the virtual GPU resource blocks. By multiplying the importance weights by the policy gradient, the update direction and magnitude of the policy network parameters are adjusted, making the network pay more attention to virtual GPU resource blocks that have a high degree of matching with the task requirements, thereby improving the accuracy and efficiency of task allocation.
[0049] Therefore, in the improved asynchronous advantage actor-critic algorithm described above, when the input state (parameter states of multiple surveillance video analysis tasks and processing units and resource block parameters of multiple virtual GPU resource blocks) enters the main network, the critic network and actor network within the main network will respectively calculate the state value function and the policy function. The state value function evaluates the long-term expected return under the current input state, while the policy function selects the most suitable virtual GPU resource block based on the current input state to achieve task allocation.
[0050] Specifically, in the embodiments of this application, if the reinforcement learning algorithm is an improved asynchronous dominant actor-critic algorithm, the task allocation decision model can be trained according to the following process:
[0051] Initializing the network: Value Network V ω (s), Policy Network π θ (s), target network Among them, the target network The structure used to compute the TD objective is the same as that of the value network, but the parameters are different.
[0052] Initialize network parameters: θ, ω Discount factor γ, learning rate β.
[0053] Input: State space S (subtask parameters corresponding to each sub-monitoring video analysis task and resource block parameters of each virtual GPU resource block), scheduling interval N, time step = 0, maximum time step max ;
[0054] Output: Subtask allocation strategy corresponding to sub-monitoring video analysis tasks
[0055] Start loop:
[0056] Step 1: Observe the current state S t Make decisions based on the policy network: a t :π(·|st ;θ), and perform action a t ;
[0057] Step 2: Observe the reward r from the environment t and new state t+1 And calculate the dominance function.
[0058] If step % N! = 0:
[0059] Step 3: Based on the policy information output by the LSTM network, use the value network to calculate the state value function of the current state;
[0060] Step 4: Generate subtask allocation strategy S by combining the policy network. i,j ;
[0061] Step 5: Select the optimal subtask allocation strategy based on the optimization target Loss.
[0062] else:
[0063] Step 6: Let the value network provide s t Assessment:
[0064] Step 7: Have the target network provide s t+1 Assessment:
[0065] Step 8: Calculate the TD target and TD error:
[0066] Step 9: Update the value network:
[0067] Step 10: Update the policy network:
[0068] Step 11: step += 1;
[0069] If step == step max :
[0070] Step 12: End the loop;
[0071] Step 13: Algorithm ends.
[0072] Wherein, Loss represents the sum of the response time and energy consumption of each subtask allocation strategy, which can be defined as: This indicates the time it takes for the sub-monitoring video analysis task to be transmitted to the corresponding virtual GPU resource block. Let d represent the data volume of the i-th sub-monitoring video analysis task, and let d represent the transmission interference. This represents the expected bandwidth required to process the i-th sub-monitoring video analysis task; This indicates the analysis time for the sub-monitoring video analysis task. f represents the processing power of the j-th virtual GPU resource block. j P represents the frequency of the j-th virtual GPU resource block; i This represents the power consumption of the virtual GPU resource block for processing tasks. Furthermore, the advantage function measures the additional expected return from taking a certain action compared to taking a random policy. It is used to evaluate the merits of an action and guide the learning process. Therefore, the advantage function can be expressed as: A(s t a t )=Q(s t a t )-V(s t However, since the advantage function depends on multiple random factors and has a large variance, directly multiplying it with the gradient can lead to unstable parameter updates. Therefore, in this embodiment, an exponential moving average smoothing technique is used to smooth the advantage function, followed by normalization to bring it within the range of 0 and 1, thereby avoiding gradient explosion or gradient vanishing problems to obtain the processed advantage function.
[0073] Therefore, server 12 can call the aforementioned task allocation decision model to analyze the task parameters of each monitoring video analysis task and the resource block parameters of each virtual GPU resource block, obtaining the sub-task allocation strategy corresponding to each sub-monitoring video analysis task under each monitoring video analysis task. Server 12 can then aggregate the sub-task allocation strategies corresponding to each sub-monitoring video analysis task under each monitoring video analysis task to form a task allocation strategy for each monitoring video analysis task, and allocate each monitoring video analysis task to the corresponding target virtual GPU resource block 11n according to the task allocation strategy. Here, the target virtual GPU resource block 11n corresponding to each monitoring video analysis task refers to the optimal virtual GPU resource block corresponding to each sub-monitoring video analysis task under the corresponding monitoring video analysis task, thereby ensuring that each sub-monitoring video analysis task receives the most suitable computing resource support to achieve the best processing effect and resource utilization.
[0074] Furthermore, the target virtual GPU resource block 11n can use a pre-trained target detection model to analyze each frame of the surveillance video analysis task, generate bounding box predictions and category judgments for potential targets in each frame of the surveillance video, so as to obtain the target detection results corresponding to each frame of the surveillance video.
[0075] Optionally, the target virtual GPU resource block 11n can be used to train the target detection model according to the following procedure:
[0076] Step 1: Construct an initial learning model that includes a backbone network, a neck network, and a head network.
[0077] The second step is to obtain a training sample set and a sample label set. The training sample set includes multiple surveillance images used as training samples, and the sample label set includes the objects in each surveillance image as sample labels, such as face labels, cigarette butt labels, license plate labels, and dangerous goods labels.
[0078] Step 3: Iteratively train the initial learning model using the training sample set and sample label set to obtain the completed target detection model.
[0079] The types of target detection models trained using the above methods include, but are not limited to: license plate detection models, face detection models, smoking detection models, and hazardous materials detection models.
[0080] Specifically, the structure and function of the backbone network, neck network, and head network in the initial learning model are described below:
[0081] (1) The backbone network is used to extract feature information at different levels of the monitoring screen. The backbone network includes: a convolutional layer, multiple feature extraction modules, and a Spatial Pyramid Pooling Fast (SPFF) module, wherein:
[0082] Convolutional layers are used to initially extract low-level features from the input surveillance footage, such as edges and textures.
[0083] Multiple feature extraction modules are capable of extracting feature information from different levels of abstraction. Each feature extraction module includes: a convolutional layer, a spatial depth transformation convolutional layer, and a bottleneck C2f layer (referred to as "C2f_iRMB") at the cross-stage of two convolutions containing an inverted residual mobile block (iRMB).
[0084] in:
[0085] The spatial-to-depth (SPD) convolutional layer in the feature extraction module combines a Space-to-Depth (SPD) layer with a non-stretched convolutional layer, replacing the traditional stretched convolution and pooling layers. The SPD layer reduces the spatial dimension of the input feature map while increasing the channel dimension, preserving intra-channel information and avoiding information loss. Following the SPD layer, the non-stretched convolutional layer performs a standard convolution operation with a stride of 1, moving the kernel pixel-by-pixel across the feature map to convolve each pixel or feature map. This combination helps improve feature representation by reducing the spatial dimension without losing detail, thus improving detection performance for low-resolution images and small targets. For example, for a feature map X of size S*S*C, the SPD-Conv layer processes feature map X as follows: Figure 2 As shown, the SPD layer first downsamples the feature map X according to a scaling factor. If the sampling factor is 2, the feature map X will be divided into 4 sub-feature maps, and the image size of each sub-feature map is [missing information]. The four sub-feature maps are merged along the channel dimension to obtain the intermediate feature map X1, which has a size of [missing information]. After passing through a non-stretch convolutional layer containing D filters (D < 4C), a new feature map X2 with a size of [missing value] is formed.
[0086] The C2f_iRMB layer replaces the Bottleneck in the C2f module with an inverted residual move block (iRMB), and its specific structure is as follows: Figure 3 As shown, by combining the advantages of CNN and Transformer elements, the limitations of lightweight CNN and Transformer are overcome to improve the C2f module. This improvement significantly enhances the multi-scale feature extraction capability while maintaining the model's detection performance, and reduces the number of parameters and computational complexity, thereby improving the model's running efficiency.
[0087] The SPFF module can further enhance the scale invariance of the network. It generates fixed-size feature representations by applying pooling operations on feature maps at different scales, thereby helping the model to better handle changes in the target at different sizes and resolutions.
[0088] (2) The neck network is used to fuse feature information from different levels of the backbone network output to obtain fused features. The neck network includes: multiple upsampling layers, multiple C2f layers, multiple connection layers, and multiple C2f layers containing compression-excitation modules. The number of upsampling layers and convolutional layers is the same as the number of feature extraction modules in the backbone network. The number of C2f layers containing compression-excitation modules is equal to the number of upsampling layers plus one, and the number of C2f layers is equal to the number of upsampling layers minus one.
[0089] The SE module in the C2f layer, which includes the Squeeze-Excitation (SE) module, consists of two steps: squeezing and excitation. In the squeezing step, all feature maps are aggregated through global average pooling to generate a channel descriptor, which helps the network obtain global information and embed statistical data of channel features. In the excitation step, the channel descriptor is processed by two fully connected layers (containing ReLU activation) and a sigmoid function. The channel features are adjusted through a simple gating mechanism. Therefore, the excitation operation can learn the nonlinear relationship between channels and reweight the channels according to the excitation results, so that the network can focus more on important feature maps and achieve dynamic adjustment of features, while the number of parameters and computation is relatively small.
[0090] (3) The head network is used to analyze the fusion features output by the neck network to obtain the corresponding target detection results. The head network includes multiple detection heads, among which:
[0091] The size of the detection feature map can be, but is not limited to, 160x160, 80x80, 40x40, and 20x20. These four types of detection heads are correspondingly used to detect targets of sizes 4x4, 8x8, 16x16, and 32x32 and above, respectively, representing small, medium, and large targets. It should be noted that the above descriptions of the detection feature map size are for illustrative purposes only; the size can be set according to the actual application scenario to meet different detection needs.
[0092] For example, Figure 4 This is a schematic diagram of the structure of an optional target detection model according to an embodiment of this application, wherein: the backbone network includes: one convolutional layer, three feature extraction modules and one spatial pyramid fast pooling module; it includes: three upsampling layers, two C2f layers, three convolutional layers, and four C2f layers containing compression-excitation modules; the head network includes four output layers, that is, four detection heads, which are used to detect feature maps with feature map sizes of 160x160, 80x80, 40x40 and 20x20 respectively.
[0093] In addition, the target virtual GPU resource block 11n iteratively trains the initial learning model using the training sample set and sample label set to obtain a trained target detection model, including the following steps:
[0094] For each training batch in the iterative training process, each training sample of the training batch is input into the initial learning model to obtain the target detection results output by the initial learning model. The minimum point distance intersection-union ratio loss function is constructed using the target detection results and the corresponding sample labels, and the minimum point distance intersection-union ratio loss function is calculated through the backpropagation algorithm. When the minimum point distance intersection-union ratio loss function satisfies the preset convergence condition, the target detection model that has been trained is obtained.
[0095] The Minimum Point Distance based IoU (MPDIoU) loss function is a novel bounding box regression loss function based on minimum point distance. It incorporates all relevant factors considered in existing loss functions, namely overlapping or non-overlapping regions, center point distance, and width / height deviation, while simplifying the calculation process. Therefore, the MPDIoU loss function achieves a more accurate loss metric by minimizing the distances between the top-left and bottom-right corners of the predicted bounding box and the ground truth bounding box, thus improving the model's accuracy in detecting small targets. The specific principle is as follows: Figure 5 As shown, the calculation formula is as follows:
[0096]
[0097] In the formula, IOU represents the intersection-union ratio of the predicted bounding box and the ground truth bounding box.
[0098] d1 represents the Euclidean distance between the top-left corner of the predicted bounding box and the top-left corner of the ground truth bounding box. d2 represents the Euclidean distance between the bottom right corner of the predicted bounding box and the bottom right corner of the ground truth bounding box.
[0099] Therefore, the target virtual GPU resource block 11n pre-trains a target detection model using the above method. By adding an additional detection head, inserting spatial depth transformation convolution, and introducing a lightweight attention mechanism, the model can more effectively detect small targets and objects under low light or low resolution conditions, greatly improving the accuracy and robustness of the surveillance video analysis system in various complex environments and scenarios.
[0100] In this step, the object detection model can also be loaded into memory. For example, the raw data of the object detection model can be loaded from non-volatile memory into volatile memory so that the processor can run the object detection model. The raw data of the object detection model refers to unprocessed data, which typically includes the parameters and structural data of the object detection model. The structural data can be the computational relationships based on the parameters, such as the forward propagation computational relationships between intermediate layers and between neurons. Specifically, the structural data can include the structure-related code of the object detection model, such as code used to perform related calculations between intermediate layers and between neurons.
[0101] In one implementation, a region can be partitioned in memory for loading the object detection model, which may include a structure data storage area and a parameter storage area. The structure data storage area stores structure-related code, and the parameters referenced by it can be accessed via pointers to the addresses of specific parameters in the parameter storage area. During the training of the object detection model, frequent parameter updates may be required; in this case, updating the parameter values in the parameter storage area is sufficient.
[0102] Furthermore, after completing target detection for each frame of the monitoring video within the monitoring video analysis task, the target virtual GPU resource block 11n will feed back these target detection results to the server 12. The server 12 will then match these target detection results with a preset alarm condition library. This alarm condition library includes alarm conditions corresponding to various types of abnormal situations, and the alarm conditions include at least one of the following parameters: abnormal target category, abnormal target location, abnormal target behavior, abnormal frame number, etc. Therefore, the purpose of the matching process is to check whether a predefined abnormal situation has occurred by comparing the target detection results with the various alarm conditions in the library. If the target detection results corresponding to each frame of the monitoring video in the monitoring video analysis task successfully match one or more target alarm conditions in the alarm condition library, it indicates that an abnormal event has occurred in the monitoring video corresponding to the monitoring video analysis task. At this time, alarm prompts can be automatically generated based on the abnormal situations corresponding to each target alarm condition. These alarm prompts can clearly indicate the abnormal situation in the monitoring video, such as the abnormal target category, location, behavior, etc., to ensure the accuracy and relevance of the alarm prompts. Finally, the generated alarm notification information is sent to the monitoring terminal, such as the user's mobile device, the management interface in the control room, or other designated terminals to receive alarm information, thereby ensuring that relevant personnel can be aware of and respond to abnormal events in a timely manner, improving the early warning efficiency and security of the monitoring system.
[0103] In summary, the surveillance video analysis system provided in this application, through resource pooling and intelligent scheduling, enables GPU resources to be dynamically and flexibly allocated to different surveillance video analysis tasks, avoiding resource waste and improving resource utilization. It also supports remote resource invocation and aggregation, enhancing the system's scalability and adaptability. Furthermore, the use of a lightweight object detection model enhances the model's ability to extract multi-scale features while maintaining detection speed, and reduces the number of model parameters and computational complexity, allowing the model to run with limited hardware resources.
[0104] Example 2
[0105] According to an embodiment of this application, a method for processing surveillance video analysis tasks on the server side of the surveillance video analysis system in Embodiment 1 is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0106] Figure 6 This is a flowchart illustrating a video surveillance task processing method according to an embodiment of this application. Figure 6 As shown, the method includes the following steps:
[0107] Step S602: Obtain the task parameters for each of the multiple surveillance video analysis tasks and the resource block parameters for each virtual GPU resource block. The task parameters must include at least the task data volume and task type, and the resource block parameters must include at least resource status information.
[0108] Step S604: Analyze the task parameters of each monitoring video analysis task and the resource block parameters of each virtual GPU resource block using the task allocation decision model to obtain the task allocation strategy corresponding to each monitoring video analysis task.
[0109] Step S606: Allocate each monitoring video analysis task to the corresponding target virtual GPU resource block according to the task allocation strategy.
[0110] Optionally, the server can obtain the task allocation strategy corresponding to each surveillance video analysis task according to the following methods:
[0111] Step 1: For each surveillance video analysis task, divide the surveillance video analysis task into multiple sub-survey video analysis tasks according to the task type, determine the sub-task data volume of each sub-survey video analysis task, and form the task sequence of the surveillance video analysis task by the sub-task data volumes of each sub-survey video analysis task.
[0112] Step 2: Analyze the task sequence of each monitoring video analysis task and the resource block parameters of each virtual GPU resource block using the task allocation decision model to obtain the sub-task allocation strategy corresponding to each sub-monitoring video analysis task.
[0113] Step 3: The task allocation strategy for the monitoring video analysis task is composed of the sub-task allocation strategies corresponding to each sub-monitoring video analysis task within the monitoring video analysis task.
[0114] Specifically, the task allocation decision model is trained using a reinforcement learning algorithm, which can be an improved asynchronous dominant actor-critic algorithm, a deep Q-network algorithm, a double deep Q-network algorithm, etc.
[0115] The improved asynchronous dominant actor-critic algorithm is obtained by adding importance weights to the asynchronous dominant actor-critic algorithm. The asynchronous dominant actor-critic algorithm includes a main network and multiple threads with local networks. The importance weights are used to multiply with the policy gradient during the gradient update process to update the network parameters of the policy network. Based on the improved asynchronous dominant actor-critic algorithm, the input state is output as a state value function through the critic network in the main network, and the policy function is output through the actor network in the main network.
[0116] According to an embodiment of this application, a method for processing surveillance video analysis tasks on the virtual GPU resource block side of the surveillance video analysis system in the embodiment is also provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0117] Figure 7 This is a flowchart illustrating a video surveillance task processing method according to an embodiment of this application. Figure 7 As shown, the method includes the following steps:
[0118] Step S702: Analyze each frame of the surveillance video within the surveillance video analysis task using a pre-trained object detection model to obtain the object detection result corresponding to each frame. The backbone network of the object detection model includes at least: a bottleneck C2f layer at the cross-stage of two convolutions of multiple inverse residual moving blocks, and multiple spatial depth transformation convolutional layers. The neck network of the object detection model includes at least: multiple C2f layers containing compression-excitation modules.
[0119] Optionally, the training process of the above object detection model includes:
[0120] Step 1: Construct an initial learning model that includes a backbone network, a neck network, and a head network.
[0121] Specifically, the backbone network is used to extract feature information at different levels of the monitoring screen. The backbone network includes: a convolutional layer, multiple feature extraction modules and a spatial pyramid fast pooling module. Each feature extraction module includes: a convolutional layer, a spatial depth transformation convolutional layer, and a bottleneck C2f layer with two convolutions containing inverted residual moving blocks.
[0122] The neck network is used to fuse feature information from different levels of the backbone network output to obtain fused features. The neck network includes: multiple upsampling layers, multiple C2f layers, multiple convolutional layers, and multiple C2f layers containing compression-excitation modules. The number of upsampling layers and convolutional layers is the same as the number of feature extraction modules in the backbone network. The number of C2f layers containing compression-excitation modules is equal to the number of upsampling layers plus one, and the number of C2f layers is equal to the number of upsampling layers minus one.
[0123] The head network is used to analyze the fusion features output by the neck network to obtain the corresponding target detection results. The head network includes multiple detection heads.
[0124] Step 2: Obtain the training sample set and the sample label set. The training sample set includes multiple monitoring images used as training samples, and the sample label set includes the images in each monitoring image as sample labels.
[0125] Step 3: Iteratively train the initial learning model using the training sample set and sample label set to obtain the completed target detection model.
[0126] Specifically, for each training batch in the iterative training process, each training sample of the training batch is input into the initial learning model to obtain each target detection result output by the initial learning model. The minimum point distance intersection-union ratio loss function is constructed using the target detection results and the corresponding sample labels, and the minimum point distance intersection-union ratio loss function is calculated through the backpropagation algorithm. When the minimum point distance intersection-union ratio loss function satisfies the preset convergence condition, the target detection model that has been trained is obtained.
[0127] It should be noted that the specific implementation details of the monitoring video analysis task processing method in this application embodiment have been described in detail in the monitoring video analysis system in embodiment 1. Some details not shown in this embodiment can be referred to embodiment 1, and will not be elaborated further here.
[0128] Example 3
[0129] According to an embodiment of this application, a computer program product is also provided, which includes a computer program, wherein when the computer program is executed by a processor, it implements the monitoring video analysis task processing method in Embodiment 2.
[0130] According to an embodiment of this application, a non-volatile storage medium is also provided, which includes a stored computer program, wherein the device containing the non-volatile storage medium executes the monitoring video analysis task processing method in Embodiment 2 by running the computer program.
[0131] According to an embodiment of this application, a processor is also provided for running a computer program, wherein the computer program executes the monitoring video analysis task processing method in Embodiment 2 during runtime.
[0132] According to an embodiment of this application, an electronic device is also provided, comprising: a memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the monitoring video analysis task processing method of Embodiment 1 through the computer program.
[0133] Specifically, the computer program executes the following steps during runtime: obtaining the task parameters of each of the multiple surveillance video analysis tasks and the resource block parameters of each virtual GPU resource block, wherein the task parameters include at least: task data volume and task type, and the resource block parameters include at least: resource status information; analyzing the task parameters of each surveillance video analysis task and the resource block parameters of each virtual GPU resource block using a task allocation decision model to obtain the task allocation strategy corresponding to each surveillance video analysis task; and allocating each surveillance video analysis task to the corresponding target virtual GPU resource block according to the task allocation strategy.
[0134] Specifically, the computer program executes the following steps during runtime: using a pre-trained target detection model to analyze each frame of the surveillance video analysis task, and obtaining the target detection result corresponding to each frame of the surveillance video. The backbone network of the target detection model includes at least: a bottleneck C2f layer at the cross-stage of two convolutions of multiple inverse residual moving blocks, and multiple spatial depth transformation convolutional layers. The neck network of the target detection model includes at least: multiple C2f layers containing compression-excitation modules.
[0135] As an alternative implementation, the above-mentioned electronic device may exist in the form of a mobile terminal, a computer terminal, or a similar computing device. Figure 8 A hardware block diagram of a computer terminal for implementing a method for processing surveillance video analysis tasks is shown. Figure 8As shown, the computer terminal 80 may include one or more processors 802 (shown as 802a, 802b, ..., 802n in the figure) 802 (processor 802 may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.), a memory 804 for storing data, and a transmission device 806 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of a BUS bus), a network interface, a power supply, and / or a camera. Those skilled in the art will understand that... Figure 8 The structure shown is for illustrative purposes only and does not limit the structure of the computer terminal described above. For example, computer terminal 80 may also include... Figure 8 The more or fewer components shown, or having the same Figure 8 The different configurations shown.
[0136] It should be noted that the aforementioned one or more processors 802 and / or other data processing circuits are generally referred to herein as "data processing circuits". These data processing circuits may be embodied, in whole or in part, in software, hardware, firmware, or any other combination thereof. Furthermore, the data processing circuits may be a single, independent processing module, or may be integrated, in whole or in part, into any other element within the computer terminal 80. As involved in the embodiments of this application, the data processing circuits serve as processor control (e.g., selection of a variable resistor termination path connected to an interface).
[0137] The memory 804 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the monitoring video analysis task processing method in this embodiment. The processor 802 executes various functional applications and data processing by running the software programs and modules stored in the memory 804, thereby implementing the above-mentioned application vulnerability detection method. The memory 804 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 804 may further include memory remotely located relative to the processor 802, and these remote memories can be connected to the computer terminal 80 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0138] The transmission device 806 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of the computer terminal 80. In one example, the transmission device 806 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 806 may be a Radio Frequency (RF) module, used for wireless communication with the Internet.
[0139] The display can be, for example, a touchscreen liquid crystal display (LCD), which allows the user to interact with the user interface of the computer terminal 80.
[0140] The sequence numbers of the above embodiments are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0141] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0142] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between units or modules may be electrical or other forms.
[0143] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0144] Furthermore, the functional units in the various embodiments of this application can be integrated into a single virtual GPU resource block, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units described above can be implemented in hardware or as software functional units.
[0145] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.
[0146] The above are merely preferred embodiments of this application. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principles of this application, and these improvements and modifications should also be considered within the scope of protection of this application.
Claims
1. A surveillance video analysis system, characterized in that, The system includes: multiple virtual graphics processing unit (GPU) resource blocks and a server, wherein... The server is configured to acquire task parameters for each of the multiple surveillance video analysis tasks and resource block parameters for each of the virtual GPU resource blocks. The task parameters include at least the task data volume and task type, and the resource block parameters include at least resource status information. The server analyzes the task parameters of each surveillance video analysis task and the resource block parameters of each virtual GPU resource block using a task allocation decision model to obtain a task allocation strategy for each surveillance video analysis task. Based on the task allocation strategy, the server allocates each surveillance video analysis task to its corresponding target virtual GPU resource block. The target virtual GPU resource block is used to analyze each frame of the monitoring video in the monitoring video analysis task using a pre-trained target detection model to obtain the target detection result corresponding to each frame of the monitoring video. The backbone network of the target detection model includes at least: a bottleneck C2f layer at the cross-stage of two convolutions of multiple inverse residual moving blocks and multiple spatial depth transformation convolutional layers. The neck network of the target detection model includes at least: multiple C2f layers containing compression-excitation modules.
2. The system according to claim 1, characterized in that, The server analyzes the task parameters of each surveillance video analysis task and the resource block parameters of each virtual GPU resource block using a task allocation decision model to obtain a task allocation strategy corresponding to each surveillance video analysis task, including the following steps: For each of the surveillance video analysis tasks, the surveillance video analysis task is divided into multiple sub-survey video analysis tasks according to the task type of the surveillance video analysis task, the sub-task data volume of each of the sub-survey video analysis tasks is determined, and the task sequence of the surveillance video analysis task is composed of the sub-task data volumes of each of the sub-survey video analysis tasks. The task allocation decision model is used to analyze the task sequence of each of the monitoring video analysis tasks and the resource block parameters of each of the virtual GPU resource blocks to obtain the sub-task allocation strategy corresponding to each of the sub-monitoring video analysis tasks. The task allocation strategy corresponding to the monitoring video analysis task is composed of the sub-task allocation strategies corresponding to each sub-monitoring video analysis task within the monitoring video analysis task.
3. The system according to claim 1, characterized in that, The task allocation decision model is trained based on an improved asynchronous dominant actor-critic algorithm, which is obtained by adding importance weights to the asynchronous dominant actor-critic algorithm. The asynchronous dominant actor-critic algorithm includes a main network and multiple threads with local networks. The importance weights are used to multiply with the policy gradient during gradient update to update the network parameters of the policy network. The improved asynchronous dominant actor-critic algorithm outputs the state value function through the critic network in the main network and the policy function through the actor network in the main network from the input state.
4. The system according to claim 1, characterized in that, The training process for the target detection model using the target virtual GPU resource block includes: Construct an initial learning model that includes a backbone network, a neck network, and a head network; Obtain a training sample set and a sample label set, wherein the training sample set includes multiple monitoring images used as training samples, and the sample label set includes the image objects in each monitoring image as sample labels; The initial learning model is iteratively trained using the training sample set and the sample label set to obtain a target detection model that has been trained.
5. The system according to claim 4, characterized in that, The backbone network is used to extract feature information at different levels of the monitoring image. The backbone network includes: a convolutional layer, multiple feature extraction modules and a spatial pyramid fast pooling module. Each feature extraction module includes: a convolutional layer, a spatial depth transformation convolutional layer, and a bottleneck C2f layer with two convolutions containing inverted residual moving blocks. The neck network is used to fuse feature information from different levels output by the backbone network to obtain fused features. The neck network includes: multiple upsampling layers, multiple C2f layers, multiple convolutional layers, and multiple C2f layers containing compression-excitation modules. The number of upsampling layers and convolutional layers is the same as the number of feature extraction modules in the backbone network. The number of C2f layers containing compression-excitation modules is equal to the number of upsampling layers plus one, and the number of C2f layers is equal to the number of upsampling layers minus one. The head network is used to analyze the fusion features output by the neck network to obtain the corresponding target detection results. The head network includes multiple detection heads.
6. The system according to claim 4, characterized in that, The target virtual GPU resource block is used to iteratively train the initial learning model using the training sample set and the sample label set to obtain a trained target detection model, including the following steps: For each training batch in the iterative training process, each training sample of the training batch is input into the initial learning model to obtain each target detection result output by the initial learning model. The minimum point distance intersection-union ratio loss function is constructed using the target detection results and the corresponding sample labels, and the minimum point distance intersection-union ratio loss function is calculated through the backpropagation algorithm. When the minimum point distance intersection-union ratio loss function satisfies the preset convergence condition, the target detection model that has been trained is obtained.
7. The system according to claim 1, characterized in that, The server is further configured to match the target detection results corresponding to each frame of the monitoring screen in the monitoring video analysis task with a preset alarm condition library. The alarm condition library includes alarm conditions corresponding to multiple types of abnormal situations, and the alarm conditions include at least one of the following: abnormal target category, abnormal target location, abnormal target behavior, and abnormal screen frame number. When the target detection results corresponding to each frame of the monitoring screen in the monitoring video analysis task successfully match at least one target alarm condition in the alarm condition library, an alarm prompt message is generated based on the abnormal situation corresponding to each target alarm condition to indicate that the monitoring video corresponding to the monitoring video analysis task is an abnormal video, and the alarm prompt message is sent to the monitoring terminal.
8. A method for processing surveillance video analysis tasks, characterized in that, Server-side components used in surveillance video analytics systems include: Obtain the task parameters of each of the multiple surveillance video analysis tasks and the resource block parameters of each of the virtual GPU resource blocks, wherein the task parameters include at least: task data volume and task type, and the resource block parameters include at least: resource status information; The task parameters of each surveillance video analysis task and the resource block parameters of each virtual GPU resource block are analyzed using a task allocation decision model to obtain the task allocation strategy corresponding to each surveillance video analysis task. According to the task allocation strategy, each of the monitoring video analysis tasks is assigned to the corresponding target virtual GPU resource block.
9. A method for processing surveillance video analysis tasks, characterized in that, The virtual GPU resource block side applied in surveillance video analytics systems includes: The pre-trained target detection model is used to analyze each frame of the surveillance video in the surveillance video analysis task to obtain the target detection result corresponding to each frame of the surveillance video. The backbone network of the target detection model includes at least: a bottleneck C2f layer at the cross-stage of two convolutions of multiple inverse residual moving blocks and multiple spatial depth transformation convolutional layers. The neck network of the target detection model includes at least: multiple C2f layers containing compression-excitation modules.
10. An electronic device, characterized in that, include: A memory and a processor, wherein the memory stores a computer program, and the processor is configured to execute the surveillance video analysis task processing method of any one of claims 8 to 9 through the computer program.