Image stitching method and system for low-compute camera module array

By acquiring panoramic images through a camera module array and combining user annotation and Kalman filtering algorithms, the monitoring resource allocation of the camera modules is dynamically optimized, solving the image stitching problem of low-computing-power camera module arrays in panoramic monitoring, and realizing efficient and accurate image stitching and real-time monitoring.

CN119815183BActive Publication Date: 2025-11-28SHENZHEN SUPERNODE NETWORK TECH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510273116.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-10
Publication Date
2025-11-28
Estimated Expiration
2045-03-10

AI Technical Summary

Technical Problem

Low-computing-power camera module arrays struggle to achieve efficient and accurate image stitching, especially in panoramic monitoring systems that require real-time processing of multiple video streams.

Method used

Panoramic images are acquired through a camera module array. Initial priority weights are configured based on the monitoring user's key annotation instructions, and the modules are divided into key and non-key modules. Dynamic detection and weight updates are performed, and the Kalman filter algorithm is used to track the motion trajectory of the dynamic blocks. The images are then stitched together according to the real-time priority weights.

Benefits of technology

It improves the real-time performance and accuracy of image stitching, optimizes the allocation of monitoring resources for camera modules, enhances the intelligence and adaptability of the system, and improves monitoring efficiency and precision.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119815183B_ABST
    Figure CN119815183B_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of panoramic monitoring, and discloses an image splicing method and system for a low-computing-power camera module array, which acquires panoramic images of a target scene through a plurality of camera modules arranged in an array, configures initial priority weights in combination with key annotation instructions of a monitoring user, divides the camera modules into key and non-key modules, performs timed dynamic detection on the non-key modules, performs real-time dynamic detection on the key modules, updates the weights when dynamic blocks are found, performs trajectory tracking on the dynamic blocks using a Kalman filtering algorithm, and predicts the motion trajectory thereof. The image is spliced according to the updated real-time priority weights to obtain a dynamic spliced image. This scheme can dynamically optimize the monitoring resource allocation of the camera modules, improve the response speed of key areas, improve the real-time performance and accuracy of image splicing, effectively improve the monitoring efficiency and accuracy, and solve the problem that a low-computing-power camera module array cannot achieve efficient and accurate image splicing in the prior art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical field of panoramic monitoring, and in particular to an image stitching method and system for low-computing-power camera module arrays. Background Technology

[0002] In modern camera array systems, processing multiple video streams simultaneously for real-time stitching is a core challenge. This is especially true when there are many cameras, as traditional algorithms often require synchronous stitching calculations for every frame from all cameras. Achieving real-time stitching requires significant GPU computing resources and a strict hardware synchronization mechanism, making efficient and accurate image stitching difficult for camera module arrays with limited computing power. Summary of the Invention

[0003] The purpose of this invention is to provide an image stitching method and system for low-computing-power camera module arrays, aiming to solve the problem that low-computing-power camera module arrays are difficult to achieve efficient and accurate image stitching in the prior art.

[0004] The present invention is implemented as follows: Firstly, the present invention provides an image stitching method for a low-computing-power camera module array, comprising:

[0005] A panoramic image of the target scene is acquired by an array of camera modules consisting of several camera modules, so as to obtain the camera area image of each camera module corresponding to the target scene, and the camera area images of each camera module are combined to obtain a panoramic stitched image of the target scene.

[0006] The monitoring user obtains the monitoring focus marking instructions for the panoramic stitched image, and configures the initial priority weight of each camera area image in the panoramic stitched image according to the monitoring focus marking instructions. The camera modules are divided into key camera modules and non-key camera modules by the initial optimization weight corresponding to each camera area image.

[0007] Dynamic detection at a specified frequency is performed on the images of the camera area collected by the non-key camera module, and real-time dynamic detection is performed on the images of the camera area collected by the key camera module, so as to obtain the dynamic detection results of the non-key camera module and the key camera module;

[0008] When the dynamic detection result shows that a dynamic block appears in the image of the camera area, the initial priority weight of the camera module corresponding to the image of the camera area where the dynamic block appears is updated to obtain the real-time priority weight of the camera module.

[0009] When the camera module corresponding to the camera area image in which the dynamic block appears is a key camera module, the Kalman filtering algorithm is used to track the trajectory of the dynamic block to obtain a predicted motion trajectory of the dynamic block, and the predicted motion trajectory is used to perform dynamic extension analysis on the key camera module and update the initial priority weight corresponding to the key camera module to obtain a real-time priority weight of the camera module.

[0010] The camera area images collected by each camera module are sequentially subjected to image splicing processing according to the real-time priority weight of the camera module to obtain a dynamic splicing image.

[0011] In a second aspect, the present application provides an image splicing system for a low-computing-power camera module array, which is used to implement the image splicing method of any one of the first aspect, and comprises:

[0012] a picture splicing module, which is used to collect panoramic images of a target scene by using a camera module array composed of a plurality of camera modules to obtain camera area images corresponding to each camera module of the target scene, and combine the camera area images of each camera module to obtain a panoramic splicing picture of the target scene;

[0013] a key annotation module, which is used to obtain a monitoring key annotation instruction of a monitoring user for the panoramic splicing picture, configure an initial priority weight of each camera area image in the panoramic splicing picture according to the monitoring key annotation instruction, and divide each camera module into a key camera module and a non-key camera module according to the initial priority weight corresponding to each camera area image;

[0014] a dynamic detection module, which is used to perform dynamic detection on camera area images collected by the non-key camera module at a specified frequency, and perform real-time dynamic detection on camera area images collected by the key camera module to obtain dynamic detection results of the non-key camera module and the key camera module;

[0015] a weight updating module, which is used to update the initial priority weight of a camera module corresponding to a camera area image in which a dynamic block appears when the dynamic detection result shows that a dynamic block appears in the camera area image to obtain a real-time priority weight of the camera module;

[0016] a trajectory tracking module, which is used to track the trajectory of the dynamic block according to the Kalman filtering algorithm when the camera module corresponding to the camera area image in which the dynamic block appears is a key camera module to obtain a predicted motion trajectory of the dynamic block, and perform dynamic extension analysis on the key camera module and update the initial priority weight corresponding to the key camera module according to the predicted motion trajectory to obtain a real-time priority weight of the camera module.

[0017] The dynamic splicing module is used for sequentially performing image splicing processing on the image of the camera area collected by each camera module according to the real-time priority weight of the camera module, so as to obtain a dynamic splicing image.

[0018] The application provides an image splicing method for a low-computing-power camera module array.

[0019] The application acquires panoramic images of a target scene through a plurality of camera modules, configures an initial priority weight in combination with a key annotation instruction of a monitoring user, divides the camera modules into key modules and non-key modules, performs dynamic detection on the non-key modules at a fixed time, performs real-time dynamic detection on the key modules, updates the weight when a dynamic block is found, and performs trajectory tracking on the dynamic block by using a Kalman filtering algorithm to predict the motion trajectory. According to the updated real-time priority weight, image splicing is performed to obtain a dynamic splicing image. The scheme can dynamically optimize the monitoring resource allocation of the camera modules, improve the response speed of a key area, improve the real-time performance and accuracy of image splicing, enhance the intelligence and adaptability of the system, effectively improve the monitoring efficiency and accuracy, and solve the problem that a low-computing-power camera module array cannot realize efficient and accurate image splicing in the prior art. BRIEF DESCRIPTION OF DRAWINGS

[0020] Figure 1 is a step schematic diagram of an image splicing method for a low-computing-power camera module array provided by an embodiment of the application.

[0021] Figure 2 is a structural schematic diagram of an image splicing system for a low-computing-power camera module array provided by an embodiment of the application. DETAILED DESCRIPTION

[0022] In order to make the object, technical scheme and advantages of the application clearer, the application is further described in detail below in combination with the drawings and embodiments.

[0023] The implementation of the application is described in detail below in combination with specific embodiments.

[0024] Referring to Figure 1 , Figure 2 , a preferred embodiment of the application is provided.

[0025] In a first aspect, the application provides an image splicing method for a low-computing-power camera module array, comprising:

[0026] S1: panoramic image acquisition is performed on a target scene by a camera module array composed of a plurality of camera modules to obtain camera region images of the target scene corresponding to each camera module, and the camera region images of each camera module are combined to obtain a panoramic splicing picture of the target scene;

[0027] S2: a monitoring user's monitoring focus marking instruction for the panoramic splicing picture is obtained, and initial priority weights of each camera region image in the panoramic splicing picture are configured according to the monitoring focus marking instruction, each camera module is divided into a key camera module and a non-key camera module according to the initial optimization weights corresponding to each camera region image;

[0028] S3: dynamic detection of a specified frequency is performed on the camera region images collected by the non-key camera module, and real-time dynamic detection is performed on the camera region images collected by the key camera module to obtain dynamic detection results of the non-key camera module and the key camera module;

[0029] S4: when the dynamic detection result shows that a dynamic block appears in the camera region image, the camera module corresponding to the camera region image in which the dynamic block appears is subjected to initial priority weight updating processing to obtain real-time priority weights of the camera module;

[0030] S5: when the camera module corresponding to the camera region image in which the dynamic block appears is a key camera module, trajectory tracking processing is performed on the dynamic block according to a Kalman filtering algorithm to obtain a predicted motion trajectory of the dynamic block, and the key camera module is subjected to dynamic extension analysis and corresponding initial priority weight updating according to the predicted motion trajectory to obtain real-time priority weights of the camera module;

[0031] S6: the camera region images collected by each camera module are sequentially subjected to image splicing processing according to the real-time priority weights of the camera modules to obtain a dynamic splicing image.

[0032] Specifically, in step S1 of the embodiments provided in the present application, a plurality of camera modules are arranged in a certain array manner to cover different regions of a target scene. Each camera module is responsible for shooting a specific region, and each camera module captures image data in the region it covers in real time. Assuming that there are a plurality of camera modules, these camera modules can have different angles of view, focal lengths, resolutions, etc. to ensure that every detail of the entire target scene is covered. Through the cooperative work of multiple camera modules, a larger target scene can be effectively covered. This layout can avoid the blind area that a single camera module cannot shoot, and each camera module collects images from different angles, increasing the multi-dimensional description of the target scene, which helps to provide more comprehensive and accurate monitoring images.

[0033] More specifically, the image data collected by each camera module is gathered into the central processing system through a certain interface or transmission mechanism. An image stitching algorithm is used to stitch the image data collected by each camera module together. Common stitching algorithms include those based on feature point matching (such as SIFT, SURF, etc.) or based on pixel-level optical flow calculation. During the stitching process, the algorithm processes the overlapping areas between different images, performs pixel-level alignment, avoids obviously visible stitching lines, and performs optimization processing such as color correction and edge smoothing on the stitched image to make the stitching result more natural and seamless. Through precise image alignment and optimization, the final stitched panoramic image can be visually seamlessly connected without obvious stitching marks. By combining the data from multiple camera modules, a complete and rich panoramic image can be obtained, helping monitoring personnel to observe the target scene comprehensively and in detail.

[0034] More specifically, after processing and optimization, the stitched images are generated to form a complete panoramic image of the target scene. The final stitched image can be displayed in the monitoring system, allowing users to view the panoramic image and perform zoom, pan, and other operations to view different areas of the scene. Users can see all the details of the entire target scene from a unified perspective, avoiding missing any key information due to blind spots or limited local viewpoints. By stitching images from multiple camera modules, the real-time monitoring system can operate efficiently, making it particularly suitable for real-time monitoring of large-scale, complex scenes. The technical effectiveness of the entire solution, achieved by acquiring and stitching images of the target scene using an array of multiple camera modules, is reflected in the following aspects: Wide-area coverage: Multiple camera modules work collaboratively to ensure no blind spots. Covering the entire target scene and offering multi-angle views: Each camera module provides a different perspective, enabling panoramic images to present more details; Seamless stitching: Employing precise image stitching algorithms eliminates imperfections and unnaturalness during image stitching, ensuring a smooth and natural final stitched image; Real-time monitoring: The stitched panoramic image can be displayed in real time, allowing users to view various areas of the target scene at any time. This is especially beneficial in monitoring large or complex scenes, improving monitoring efficiency. Overall, this technical solution can significantly enhance the effectiveness of monitoring systems, particularly in applications with high monitoring demands, complex scenes, and diverse perspectives (such as urban monitoring, traffic monitoring, and large warehouse monitoring), providing a more comprehensive and detailed view to help users make more accurate decisions.

[0035] Specifically, in step S2 of the embodiments provided by the present application, the monitoring system provides a user interaction interface through which the user can mark some areas in the panoramic image and specify the monitoring focus. The marking can be completed through mouse clicking, frame selection, touch screen, etc. The user can directly specify the area or select some camera modules. The system receives the user's marking instructions, which include: focus area: the target area selected by the user or the coordinates of the area, which can be the entire area covered by the camera module or a specific part (such as a local area) in a certain camera module, focus camera module: the user can specify some camera modules as focus modules, and the areas captured by these modules will receive more attention. The user can select and define which areas or modules are the focus according to actual needs, improve the flexibility of the monitoring system, and meet the monitoring needs in different scenarios. Through the interaction interface, the user can mark the focus area very intuitively and conveniently, avoiding manual searching and analysis and saving time and effort.

[0036] More specifically, according to the user's focus marking instructions, the system will assign an initial priority weight to each camera area image (corresponding to the camera module). The specific steps include: high weight for focus area: for the focus area marked by the user or the focus camera module, the system will assign a higher initial priority weight. This means that these areas or camera modules will receive more computing resources and attention in subsequent dynamic detection, image analysis, etc. Low weight for non-focus area: for areas not marked as focus, the system will assign a lower initial priority weight. The images and data of these areas have lower priority in processing. The weight value can be a numerical value, such as a range from 0 to 1 or 0 to 100. The larger the number, the higher the priority. The weight can also be dynamically adjusted according to the scene complexity of the camera module, the importance of the shooting area, etc. Through the initial weight configuration, the system can reasonably allocate computing resources and processing time according to the user's focus monitoring area, thereby improving the monitoring efficiency and accuracy of the focus area. For important areas, the system prioritizes more real-time dynamic detection, analysis and updating to ensure that the situation of these areas is handled in a timely and accurate manner. For non-focus areas, unnecessary processing is reduced to optimize the response speed and processing capacity of the system.

[0037] More specifically, according to the initial priority weight corresponding to each camera module, the system divides the camera modules into two categories: key camera modules: modules with high initial priority weight. Usually, these modules are responsible for collecting image data of areas marked by the user as key monitoring areas, non-key camera modules: modules with low initial priority weight, responsible for collecting image data of other less important areas. The classification of camera modules can be automatically processed according to the weight value, for example, when the weight value exceeds a certain threshold, the module is classified as a "key camera module"; below the threshold, it is classified as a "non-key camera module". After dividing the camera modules into key and non-key modules, it can be more clearly defined which areas should be monitored first and ensure that these areas are given sufficient attention. Through the classification of modules, the system can reasonably allocate resources according to the needs of different priorities, thereby improving the overall monitoring efficiency.

[0038] More specifically, after the initial priority weight is configured, the system not only relies on static configuration, but also dynamically adjusts the weight based on real-time monitoring results (such as the appearance of dynamic blocks). Therefore, although each camera module has a fixed weight value at the beginning, the system will continuously adjust the priority weight of each module based on real-time monitoring conditions (such as dynamic detection results). The system can continuously adjust and optimize the priority of each camera module during monitoring to ensure that key areas are always monitored more accurately. This dynamic adjustment method can adapt to changes in complex scenarios, such as the appearance of dynamic targets and the occurrence of important events, thereby improving the response speed and monitoring accuracy of the monitoring system. By obtaining the user's monitoring focus annotation instructions, the system can effectively configure the priority weight for each camera module and divide key and non-key camera modules based on these weights. The technical effects of this process mainly include: fine-grained monitoring: ensuring that key areas receive sufficient monitoring resources and processing time, improving monitoring effectiveness, optimizing resource allocation: by reasonably configuring the initial priority weight, optimizing the use of computing and processing resources, and improving system efficiency, flexible adjustment: the system can dynamically adjust the priority to adapt to changes in the scene and user needs, ensuring that the monitoring quality of important areas remains at a high level. This method makes the monitoring system more intelligent and efficient, especially in large-scale scenarios or situations that require long-term monitoring.

[0039] Specifically, in step S3 of the embodiments provided by the present application, the system sets the dynamic detection frequency of the non-key camera modules according to their initial priority weights. For example, for non-key modules with lower priority, the system reduces the dynamic detection frequency to reduce unnecessary computational burden. The image data of non-key areas may not need to be continuously detected in real time, so a lower detection frequency is set (e.g., detection every few seconds or minutes). This can save system resources and allocate more computing power to key areas. The system will perform dynamic detection on non-key area images at preset time intervals (e.g., every 5 seconds, 10 seconds, or longer). This process involves image analysis and comparison to find changes or abnormal situations. Dynamic detection of non-key areas usually focuses on changes in images (e.g., the appearance, movement, disappearance of people or objects, etc.). If these changes are detected, the system will mark and record them. For non-key areas, the system can use simple change detection algorithms such as inter-frame difference method, background modeling method, etc. to quickly identify potential events or actions. This ensures detection efficiency while reducing computational resource consumption.

[0040] It can be understood that by reducing the dynamic detection frequency of non-key areas, unnecessary computation and data processing are reduced, optimizing the overall performance of the system. The system can reasonably allocate monitoring resources without sacrificing important monitoring effects, ensuring that the detection of non-key areas does not affect the real-time monitoring of key areas. Although the frequency is lower, the system can still timely discover and respond to changes or potential abnormalities in non-key areas, especially for occasional events.

[0041] More specifically, key camera modules have higher priority weights, so their images need to be dynamically detected in real time, i.e., uninterrupted monitoring and analysis of image content. The system will continuously monitor these areas and respond to events in a timely manner. The frequency of real-time dynamic detection is high, usually every second or shorter time intervals. This means that the system will continuously analyze image data captured by these camera modules to timely discover any changes or events. Since these areas are key monitoring areas, the system needs to use more complex and accurate dynamic detection algorithms. Common algorithms include: using convolutional neural networks (CNN) for object recognition and tracking, quickly identifying dynamic targets (such as people, vehicles, etc.) and tracking their trajectories, identifying specific events or abnormal behaviors (such as abnormal parking, intrusion, etc.) through real-time pattern recognition algorithms, and once a dynamic event or behavior is detected in real time, the system will immediately issue an alarm, record the event, or notify relevant monitoring personnel. For monitoring scenarios that require quick response (such as security, traffic monitoring, etc.), real-time detection is crucial.

[0042] It can be understood that through real-time dynamic detection of key camera modules, important changes or abnormal events in the scene can be captured and responded to more accurately, ensuring real-time and accuracy in the monitoring process. Real-time detection ensures that the system can respond promptly when an anomaly occurs, providing immediate alarm and intervention opportunities, helping to improve security and emergency response capabilities. For key areas, complex detection algorithms can be used to more accurately identify targets and events, improving the system's recognition rate and accuracy and reducing false positives and false negatives.

[0043] More specifically, the system generates dynamic detection results for non-key and key camera modules after dynamic detection. Specifically, non-key camera module detection results may include detected changes (such as object movement, interference in a certain area, etc.), but the response priority of these changes is lower. Key camera module detection results contain detailed detection information of dynamic events or abnormal behavior in critical areas (such as intrusion, sudden events, etc.), and the system may give these results higher processing priority. The system will execute different processing strategies based on the detection results of each camera module. For key modules, immediate alarms may be triggered, and detailed event logs may be recorded. The results of non-key modules are archived or processed with low priority, unless a major anomaly occurs.

[0044] It can be understood that the combination of dynamic detection results of key and non-key modules ensures comprehensive monitoring of the entire monitoring scene while ensuring real-time attention to important areas. By distinguishing the dynamic detection frequency of key and non-key modules, the system can efficiently handle monitoring needs in different areas, avoid resource waste, and ensure response speed and accuracy in important areas. By using complex detection algorithms for key modules, anomalies can be more accurately identified, and false positives in non-key area detection can be reduced. Real-time dynamic detection of key camera modules ensures comprehensive and immediate monitoring of important areas, while low-frequency detection of non-key camera modules effectively saves computing resources and reduces system burden. Through different dynamic detection frequencies and algorithms, the system can achieve intelligent resource scheduling, reasonably allocate computing resources, and adjust monitoring intensity according to actual conditions. The combination of high-precision detection and real-time response in key areas enables the system to quickly identify and respond to anomalies at critical moments. Low-frequency dynamic detection in non-key areas still ensures the overall monitoring capability of the system and does not miss any potential events. In summary, by differentiating the dynamic detection frequency and algorithm of camera modules with different priorities, the system can efficiently and accurately monitor, improve the performance and response speed of the overall monitoring system, and ensure priority attention to important areas.

[0045] Specifically, in step S4 of the embodiments provided by the present application, when the camera module dynamically detects the camera area, the image will be analyzed to find any changes or dynamic objects (such as the movement of people, vehicles or objects), which may appear as "dynamic blocks", i.e. a specific area in the image shows different motion or changes from the background, the system uses various image processing algorithms (such as background modeling, inter-frame difference, etc.) to detect dynamic blocks in the image, which may represent ongoing activities or potential events, for example, the movement of an object in the monitored area, or a region showing changes that do not conform to the normal pattern, once the system detects dynamic blocks, it will mark the area in the image and generate the corresponding dynamic detection result, which may mean important events or abnormal phenomena, such as intrusion, moving targets, etc.

[0046] More specifically, each camera module has an initial priority weight in the system, which is usually determined by the requirements at the time of setting, the sensitivity or priority of the monitored area, for example, important areas (such as entrances, gates) usually have a higher initial priority weight, while less important areas (such as corridors, parking lots) may have a lower initial priority weight, when the system detects dynamic blocks, the occurrence of dynamic events usually means that the monitored area of the camera module has changed significantly, which may require more computing resources to process and analyze, at this time, the system will update the priority weight of the camera module according to the rules or algorithms, and increase its real-time priority weight.

[0047] More specifically, for example, if a camera module detects a dynamic block, the system may automatically increase the real-time priority weight of the module to a higher level, including: increasing the detection frequency of the module, performing higher frequency image analysis, allocating more computing resources to the module, using more complex detection algorithms (such as target tracking, abnormal behavior recognition, etc.), prioritizing the event response of the camera module, such as triggering an alarm, starting recording, notifying personnel, etc.

[0048] More specifically, the update of the priority weight may be instantaneous or gradual, for example, a time window can be set, within which the priority weight of the camera module will gradually increase when the dynamic block exists, and then return to the initial weight after the dynamic block disappears or the monitoring task is completed, once the priority weight of the camera module is increased, the system will continue to track the dynamic block situation of the area to ensure that the monitoring can always remain at a high priority level, for more complex dynamic blocks (such as multiple targets appearing at the same time or existing for a long time), the system may further strengthen the priority weight of the module to ensure uninterrupted processing.

[0049] More specifically, within the system, the updating of real-time priority weights affects the processing order of other modules. For modules that appear dynamic blocks, their real-time priority weights can cause the priority of other modules to decrease accordingly. This is done through a dynamic scheduling algorithm, for example, using load balancing to ensure that the overall load of the system does not become too high. When the dynamic block disappears or is no longer active, the system will gradually reduce the real-time priority weight of the camera module according to the preset recovery rules, and restore it to the original initial priority weight. This process may require a certain delay to ensure that the system can accurately determine whether the dynamic block is a real event or just a temporary disturbance.

[0050] It can be understood that by adjusting the priority weight of the camera module according to the dynamic block, the system can concentrate resources for more efficient processing at important moments. The appearance of the dynamic block means that there may be more important activities in this area, so the increase in priority weight can ensure that more computing resources are allocated to this module, so as to respond to possible security threats in time. The system can dynamically adjust the resources and processing capacity of each camera module, optimize the overall system performance according to the actual situation, and avoid excessive calculation of unimportant areas. By updating the real-time priority weight of the camera module, the system can respond more agilely to the dynamic changes in the monitoring area. Prior processing of the area where the dynamic block appears can reduce the response delay and capture potential events or abnormalities more quickly. The system can automatically enhance the monitoring capability of the relevant camera module when the dynamic block appears, ensuring more accurate monitoring of important areas and improving the overall emergency response capability.

[0051] Specifically, in step S5 of the embodiments provided by the present application, the system detects the appearance of the dynamic block and marks the dynamic block appearing in the image. The dynamic block may represent a moving target in the image, such as a pedestrian, a vehicle, etc. At this time, the camera module (i.e. the key camera module) is responsible for more accurate analysis and tracking of these dynamic blocks.

[0052] More specifically, in order to make accurate trajectory prediction, the system needs to initialize a Kalman filter for each dynamic block, which is a recursive algorithm suitable for systems based on noisy observations, capable of estimating the current state by predicting the previous state, it works through the following steps: according to the motion state of the current dynamic block (position, speed, acceleration, etc.), the Kalman filter predicts the state of the block at the next time (position, speed, etc.), the Kalman filter relies on the motion model to make state prediction, when the system gets new observations (i.e. the new position of the dynamic block), the Kalman filter corrects its prediction results according to these observation data. This process involves the weighted fusion of prediction and observation values to obtain a more accurate motion trajectory, the Kalman filter provides the optimal estimate of the dynamic block at the current time, including position, speed, even acceleration, etc., thus forming the motion trajectory of the dynamic block, through the recursive update of the Kalman filter, the system can predict the future position of the dynamic block according to the historical motion data of the dynamic block. This prediction enables the system to know in advance the possible moving path of the dynamic block.

[0053] More specifically, using the predicted motion trajectory of the dynamic block obtained by the Kalman filter, the system can predict the possible position of the dynamic block in the future, which provides a strong basis for future dynamic changes, especially when the dynamic block may leave the current camera area or enter other important areas, according to the predicted motion trajectory, the system performs dynamic extension analysis to analyze whether the predicted trajectory will affect other camera areas, in particular, if the predicted trajectory involves a high priority monitoring area (such as an entrance, important room, etc.), the system will dynamically adjust the priority weight of the area to ensure that the key camera module can continue to track in the area where the dynamic block may pass through, ensuring that the camera module can effectively monitor the motion path of the dynamic block in the future. If the trajectory of the dynamic block extends to other important areas, the system will automatically adjust the angle of view, focal length or additional resources of the camera module to ensure that the module can continue to effectively monitor the dynamic block, according to the extension analysis of the predicted trajectory of the dynamic block, the system will dynamically adjust the priority weight of the camera module, if the predicted trajectory shows that the dynamic block is about to enter a high priority area, or will have a potential impact on important areas, the system will increase the real-time priority weight of the key camera module. Specifically, the way of updating the priority weight may include:

[0054] More specifically, more computing resources are allocated to the key camera module, which can include increasing the frequency of image processing, enabling more efficient target tracking algorithms, etc. The monitoring strategy of the camera module can be adjusted according to the predicted trajectory. For example, the camera module can scan a certain direction in advance to ensure that it can capture the appearance of the dynamic block in time. If the motion trajectory of the dynamic block indicates that it may be in an important area for a period of time, the system can extend the monitoring time of the area and increase the detection frequency of the area. According to the above extension analysis and priority weight adjustment, the real-time priority weight of the camera module is dynamically updated. The motion trajectory of the dynamic block not only determines the priority of the module, but also can affect the resource allocation of other camera modules. The system ensures the intelligence and efficiency of the monitoring task through this dynamic updating mechanism.

[0055] More specifically, during the trajectory change of the dynamic block, the real-time priority weight is not updated at one time. The system continuously monitors the changes of the dynamic block and dynamically feeds back according to the real-time motion trajectory. For example, if the dynamic block stays in an area for a long time or its trajectory changes dramatically, the system can further adjust the priority weight of the camera module in the area. When the dynamic block no longer stays in the key area or its motion trajectory changes, the system gradually restores the original priority weight. This recovery process is usually gradual to avoid sharp fluctuations in priority weight and ensure system stability.

[0056] It can be understood that by using Kalman filtering algorithm to predict the trajectory of the dynamic block, the system can know the future motion trend of the dynamic block in advance and adjust the priority of the camera module before the dynamic block enters the key area. This greatly improves the accuracy and response speed of the monitoring, ensuring that the dynamic block will not be ignored at critical moments. Through real-time priority weight update of the key camera module, the system can intelligently allocate monitoring resources. For example, when the system predicts that the dynamic block will pass through an important area, it can prioritize resource allocation for high-frequency and high-quality monitoring to avoid wasting resources on unimportant areas. The system updates the real-time priority weight according to the predicted trajectory of the dynamic block, which can flexibly respond to different dynamic changes. When the trajectory of the dynamic block deviates, the system can automatically adjust the monitoring strategy to ensure that the monitoring of the key area is not affected. Even if the dynamic block suddenly changes direction, the system can adjust the priority in time to ensure the continuity and effectiveness of the monitoring.

[0057] Specifically, in step S6 of the embodiments provided in the present application, each camera module collects images of different camera regions according to the priority weight assigned to it, and each camera module collects video or still images according to the region it monitors. These images may differ in angle of view, resolution, and lighting, etc. The priority weight of the camera module can be dynamically adjusted, and the camera module with a higher priority weight can obtain higher frequency image data or more computing resources to update the image data in time when important changes occur in its monitoring region.

[0058] More specifically, before stitching, the images collected by each camera module may need to be pre-processed to improve the stitching effect. For example, due to the lens distortion of the camera, especially for wide-angle lenses, the image may need to be corrected for distortion. The images of different camera modules may have color differences or inconsistent exposure, and the color needs to be adjusted uniformly and the brightness needs to be aligned to ensure that the stitched image has consistent effects. Noise in the image needs to be removed, especially for images collected in low-light environments. Denoising processing can improve the quality of the stitched image.

[0059] More specifically, feature point detection algorithms (such as SIFT, SURF, or ORB, etc.) are used to extract feature points from each image. These feature points are used to identify the correspondence between images, thereby providing a basis for image stitching. The feature points between adjacent images are matched to determine which regions overlap and provide a reference for image alignment and stitching. Typically, feature matching is based on descriptors (such as SIFT or ORB) to ensure that the images can be accurately docked.

[0060] More specifically, based on real-time priority weights, the stitching order of images is dynamically adjusted, and images captured by camera modules with high priority weights will be given priority in stitching to ensure that monitoring of important areas is given priority in the stitched image. If the priority weight of a camera module is high, the image it captures may occupy a larger proportion during stitching, or even use higher resolution or more detailed image processing methods during stitching. If a certain area (such as a key monitoring area) is within the monitoring range of multiple camera modules, the system will preferentially select images that stitch this area to ensure the image quality of the key area. Feature matching results are used to align images and correctly stitch overlapping areas. During alignment, geometric transformation algorithms (such as homography matrix calculation) can be used to correct the displacement between images to ensure seamless image splicing and fusion of multiple images into a complete stitched image. Typically, image fusion algorithms process the transition between different images based on the characteristics of the overlapping area to avoid obvious stitching lines. Common fusion methods include: multiple exposure fusion: suitable for processing images under different exposures to smooth the brightness difference between images, weighted averaging: different images are given different weights based on their priority weights, and images with higher priority weights will have a greater impact on the stitching result.

[0061] More specifically, to improve the quality of the stitched image, the stitched image needs to be optimized for details. Common optimization steps include: seamless transition processing: for the stitching line area, adjust the brightness, color, contrast, and other parameters of the image to make the transition area smoother and eliminate obvious stitching marks, resolution adjustment and scaling: adjust the resolution of the stitched image according to system requirements to balance image quality and processing speed, if certain areas require high-resolution details, the system can dynamically adjust the display quality of these areas, edge smoothing: handle jagged edges that may occur during stitching to make the image more natural, dynamic adjustment of stitching area: during real-time monitoring, the system dynamically adjusts the stitching area based on the real-time priority weights of the camera modules, for example, priority monitoring areas can be highlighted by locally enhancing the stitched image to ensure that key content is clearer.

[0062] More specifically, after the above processing, the final stitched image presents a seamless, dynamic panoramic image that can display the areas covered by each camera module. The system will display and analyze the stitched image as a new monitoring image, and the image will be updated and output in real time, which can be used as new visual information by operators or automated systems for further processing. For example, using the stitched image for target tracking, anomaly detection, etc.

[0063] It can be understood that by adjusting the image acquisition frequency and splicing order of the camera module according to the real-time priority weight, the system can ensure the image quality and monitoring accuracy of important areas, and the areas with high priority weight in the spliced image will be processed and displayed more accurately, ensuring that key information will not be lost. Dynamically adjusting the priority weight not only optimizes the monitoring quality, but also effectively manages the computing resources, for example, the system will prioritize image splicing tasks for camera modules with high priority weight, avoiding resource waste and quickly responding to changes in real-time monitoring.

[0064] The present application provides an image splicing method for a low-computing-power camera module array, which has the following beneficial effects:

[0065] The present application acquires panoramic images of a target scene through an array composed of multiple camera modules, configures initial priority weights in combination with key annotation instructions of a monitoring user, divides the camera modules into key and non-key modules, performs timed dynamic detection on the non-key modules and real-time dynamic detection on the key modules, updates the weights when dynamic blocks are found, and uses a Kalman filtering algorithm to track the trajectories of the dynamic blocks and predict their motion trajectories. Image splicing is performed according to the updated real-time priority weights to obtain dynamic spliced images. This scheme can dynamically optimize the monitoring resource allocation of the camera modules, improve the response speed of key areas, improve the real-time performance and accuracy of image splicing, enhance the intelligence and adaptability of the system, effectively improve the monitoring efficiency and accuracy, and solve the problem that low-computing-power camera module arrays cannot achieve efficient and accurate image splicing in the prior art.

[0066] Preferably, the step of acquiring panoramic images of a target scene through a camera module array composed of a plurality of camera modules to obtain camera region images corresponding to each camera module of the target scene, and combining the camera region images of each camera module to obtain a panoramic spliced picture of the target scene comprises:

[0067] S11: Perform initial working parameter configuration on the camera module array pre-set at a specified position, so that the camera module array is in an initial debugging state. Each camera module in the camera module array in the initial debugging state acquires images of a target scene to obtain camera region images corresponding to each camera module;

[0068] S12: According to the setting position of each camera module in the camera module array, perform image splicing processing on the camera region images obtained by each camera module in a corresponding position relationship to obtain a panoramic spliced picture of the target scene.

[0069] Specifically, the initial configuration of the camera module array is carried out, including the basic working parameters such as the resolution, exposure, white balance, focal length of each camera module, which helps to ensure the consistency of the images collected by each camera module in quality, and provides a basis for subsequent image stitching processing. In order to ensure the correct configuration of the camera module array and the image stitching effect, accurate calibration must be carried out according to the position of the camera modules in the array. Common methods include calibrating the relative position and angle of view between camera modules, so that the images collected by each module can be smoothly stitched. After the array is arranged and the working parameters are set, the debugging stage is entered, preliminary image collection is carried out, and the overlapping area and angle of view between camera modules are checked, so that the parameters or positions can be fine-tuned according to the actual situation, and the entire camera array can work normally.

[0070] More specifically, after the initial configuration and debugging are completed, the camera modules of the camera module array begin to collect images of the target scene. Each camera module captures a part of the target scene in real time through its specific angle of view and position, and obtains its own camera area image. The camera areas of each camera module overlap, which provides a reference for subsequent stitching and ensures that the images collected by different camera modules can be accurately connected. Different camera modules may have different shooting angles and resolutions, so image preprocessing (such as distortion correction, color correction, etc.) is very important to ensure the quality and consistency of the stitched image.

[0071] More specifically, since the camera modules may use different lens types, the images captured may have geometric distortion (such as barrel distortion, pincushion distortion, etc.), so distortion correction is needed. The exposure, white balance and brightness between different camera modules may be different, so color and brightness adjustment of each image is needed to ensure the color consistency and smooth transition of the stitched image. For images collected in low light or high noise environment, denoising processing is needed to improve the clarity and visibility of the stitched image. Feature points (such as SIFT, SURF, ORB algorithms) are extracted from each image, and the overlapping area between each camera module is found through feature matching method. These feature points help to determine the correspondence between images and provide a basis for subsequent geometric transformation.

[0072] More specifically, according to the feature point matching result, the images are aligned using a geometric transformation method (such as homography matrix, perspective transformation, etc.), ensuring that the overlapping areas of adjacent images are accurately connected, avoiding obvious seams in the stitched image, and fusing the aligned images. During the stitching process, weighted averaging can be performed according to the priority of each camera module, image quality, and the characteristics of the overlapping area, ensuring a natural transition of the stitching line and avoiding obvious stitching marks. According to the priority of different images (for example, some images in certain areas may have higher priority weights), weighted fusion is performed to ensure that the details of high-priority areas are not lost. Through tone adjustment, brightness equalization, and other techniques, the stitching line is smoothed to achieve seamless transition, ensuring that the final stitched image is visually coherent.

[0073] More specifically, after image processing and fusion, the final generated image is a panoramic stitched image that displays the entire target scene. At this time, the system can crop, scale, or thumbnail the image according to the requirements to adapt to different display needs. If the target scene changes, the camera module array can continue to collect images in real time and generate updated panoramic images through the same stitching processing flow, which is particularly important for dynamic monitoring, autonomous driving, and other applications.

[0074] It can be understood that through multi-angle and multi-view acquisition of the camera module array, high-quality images covering the entire target scene can be obtained. The stitching technology combined with image preprocessing and image fusion technology can eliminate distortion, reduce seams and color inconsistencies, and generate high-quality, seamless panoramic images. The camera module array can capture the target scene from different positions and angles, providing a wider field of view than a single camera. The stitched panoramic image can fully display the scene and is suitable for various applications that require large-scale monitoring, such as traffic monitoring, smart cities, security monitoring, etc. Through accurate image stitching algorithms, accurate spatial relationships between different camera modules can be established, ensuring accurate and error-free stitching results. At the same time, reasonable distortion correction and brightness and color adjustment ensure that the stitched images have consistent colors and rich details.

[0075] Preferably, the monitoring user's monitoring focus annotation instruction for the panoramic stitched image is obtained, and the initial priority weight of each camera region image in the panoramic stitched image is configured according to the monitoring focus annotation instruction. The step of dividing each camera module into a key camera module and a non-key camera module through the initial optimization weight corresponding to each camera region image includes:

[0076] S21: An interactive port is constructed based on the panoramic stitched image to allow the monitoring user of the camera module array to interact with the panoramic stitched image, thereby generating a monitoring focus annotation instruction for the panoramic stitched image;

[0077] S22: performing instruction analysis on the monitoring focus labeling instruction to obtain area range information of the focus monitoring area fed back by the monitoring focus labeling, and performing range positioning on a module monitoring area of each of the camera modules according to the area range information to obtain a positioning result of the module monitoring area of each of the camera modules relative to the focus monitoring area;

[0078] S23: when the positioning result shows that the module monitoring area of the camera module is in the focus monitoring area, assigning an initial priority weight of a high level to the camera module to divide the camera module into a focus camera module;

[0079] S24: when the positioning result shows that the module monitoring area of the camera module is not in the focus monitoring area, assigning an initial priority weight of a low fan to the camera module to divide the camera module into a non-focus camera module.

[0080] Specifically, in order to facilitate the monitoring user to label the monitoring focus area, the system needs to design an interactive port, which is usually a user interaction platform based on a graphical interface. The user can operate on the panoramic spliced picture through a mouse, a touch screen or other input devices. The user can select a specified area, drag a mouse or click on certain areas to label the monitoring focus, or accurately mark the area to be concerned by drawing a polygon, a rectangle and the like. When the user labels the focus area on the interactive port, the system will record the coordinate information of the monitoring focus area input by the user, which will be used for subsequent optimization and weight configuration.

[0081] More specifically, after the monitoring user completes the focus area labeling, the system will acquire and analyze the labeling instruction input by the user. The analysis process includes: identifying the coordinates, shape, size and other parameters of the monitoring area; determining the range information of the focus area, which will be compared with the monitoring area of the camera module; extracting the range information of the focus monitoring area from the user labeling instruction, which may include the coordinates, size and shape (such as rectangle, circle, etc.) of the area, which will all affect the subsequent priority allocation of the camera module.

[0082] More specifically, according to the preset camera module array and the view angle and monitoring area of each camera module, the specific monitoring area of each camera module is calculated. Usually, the monitoring area of the camera module can be represented as a rectangular or polygonal area of the shooting range of the module. The monitoring area of each camera module is compared with the user-labeled focus monitoring area to determine whether the monitoring area of the camera module is in the focus monitoring area. If there is an overlap or intersection between the monitoring area of a certain camera module and the focus monitoring area, it can be determined that the module is a "focus camera module". If the monitoring area and the focus area have no overlap, the module belongs to a "non-focus camera module".

[0083] More specifically, according to the positioning result, the system will assign a higher initial priority weight to those camera modules that overlap with the focus area, and these modules will be considered as "focus camera modules" that need special attention and optimization, and for those camera modules that do not overlap with the focus area, the system will assign a lower initial priority weight, and these modules will be classified as "non-focus camera modules" that do not need to provide the same resources and processing priority as the focus area.

[0084] More specifically, through the above steps, each camera module in the camera module array will be assigned a different initial priority weight, and will be divided into "focus camera modules" and "non-focus camera modules" according to these weights. During the monitoring process, the system can adjust the priority weight of the camera module in real time according to the changing scene or user demand, to ensure that the focus area always maintains high definition and real-time response.

[0085] Preferably, when the dynamic detection result shows that a dynamic block appears in the camera area image, the step of updating the initial priority weight of the camera module corresponding to the camera area image where the dynamic block appears to obtain the real-time priority weight of the camera module comprises:

[0086] S41: When the dynamic detection result shows that a dynamic block appears in the camera area image, the motion speed and area proportion of the dynamic block are collected to obtain the motion speed v and area proportion s of the dynamic block;

[0087] S42: The dynamic block weight of the dynamic block is calculated according to the dynamic block weight calculation formula w = av + bs to obtain the dynamic block weight of the dynamic block; wherein w is the dynamic block weight, and a and b are pre-set balance adjustment parameters;

[0088] S43: Calculate the overall weight of the camera module that exists the dynamic block according to the camera module calculation formula p =∑(j∈Ri)wj / ∑(k=1→n)∑(j∈Rk)wj, to obtain the real-time priority weight of the camera module; wherein p is the priority of the i-th camera, Ri is the dynamic area set covered by the i-th camera, wj is the weight of the dynamic block in region j, n is the total number of cameras, ∑(j∈Ri)wj represents the total weight of all dynamic blocks covered by a single camera i, ∑(k=1→n)∑(j∈Rk)wj represents the total weight of all dynamic blocks of all cameras with a total number of n, the outer summation ∑(k=1→n) traverses all cameras from 1 to n, and the inner summation ∑(j∈Rk) calculates the weight sum of all dynamic blocks covered by each camera.

[0089] Specifically, the system first detects dynamic blocks in the panoramic image through a dynamic detection algorithm, which represent moving objects (such as pedestrians, vehicles, etc.) in the image. The system identifies these dynamic regions in real time and judges their motion state and motion speed (v): by tracking the motion trajectory of the dynamic block in adjacent frames of the image, the motion speed of each dynamic block is calculated. The motion speed is usually estimated by the displacement of the image and the time interval, and the area ratio (s): according to the shape and area of the dynamic block, the area ratio of the dynamic block in the image of the camera area is calculated. This data helps to judge the importance of the dynamic block in the image, and the dynamic block with larger area may represent an important monitoring object.

[0090] More specifically, the dynamic block weight calculation formula w = αw + βs, w is the dynamic block weight, and α and β are pre-set balance adjustment parameters. Through the dynamic block weight calculation formula, the system can consider the speed and area ratio of the dynamic block to give each dynamic block an appropriate weight. Generally, the dynamic block with faster motion speed or larger area has higher weight, which means it is more likely to be an important target, and the system should prioritize processing these regions.

[0091] More specifically, according to the camera module calculation formula pi =∑(j∈Ri)wj / ∑(k=1→n)∑(j∈Rk)wj, pi is the priority of the i-th camera, Ri is the set of dynamic regions covered by the i-th camera, wj is the weight of the dynamic block in region j, n is the total number of cameras, ∑(j∈Ri)wj represents the total weight of all dynamic blocks covered by a single camera i, ∑(k=1→n)∑(j∈Rk)wj represents the total weight of all dynamic blocks of all cameras with a total number of n, the outer summation ∑(k=1→n) traverses all cameras from 1 to n, and the inner summation ∑(j∈Rk) calculates the weight sum of all dynamic blocks covered by each camera. For each camera module, first, the total weight of the dynamic blocks in the dynamic regions (dynamic blocks covered by the camera module perspective) monitored by the camera module is calculated, and then the total weight of all dynamic blocks monitored by all camera modules is calculated. The real-time priority weight p_i of the camera module i is the ratio of the total weight of the dynamic blocks monitored by the camera module to the total weight of all camera modules. In this way, camera modules with larger dynamic block weights will be assigned higher priority weights.

[0092] More specifically, according to the real-time priority weight calculated based on the dynamic block weight, the priority of the camera module will be adjusted. For those camera modules that monitor more dynamic blocks or have higher dynamic block weights, their priority will be increased to ensure that dynamic events can be quickly responded to and processed. The system can dynamically adjust the allocation of system resources based on the real-time priority weight of the camera module. For example, for camera modules with higher priority, the system can allocate more computing resources, bandwidth, or higher image resolution to ensure that the module can process dynamic events in real time and efficiently.

[0093] Preferably, when the camera module corresponding to the camera region image of the dynamic block is a key camera module, the step of obtaining the real-time priority weight of the key camera module according to the predicted motion trajectory of the dynamic block includes:

[0094] S51: When the camera module corresponding to the camera region image of the dynamic block is a key camera module, perform feature analysis on the position vector and velocity vector of the dynamic block to obtain the position vector and velocity vector of the dynamic block;

[0095] S52: Perform prediction processing on the future changes of the position vector and velocity vector of the dynamic block according to the Kalman filter algorithm to obtain the predicted motion trajectory of the dynamic block;

[0096] S53: performing dynamic extension analysis on the dynamic block according to the predicted motion trajectory of the dynamic block to obtain a camera area to which the dynamic block will extend in a future time period, and marking the camera area as an extension area;

[0097] S54: performing initial priority weight updating processing on a camera module corresponding to the extension area to obtain a real-time priority weight of the camera module.

[0098] Specifically, for the detected dynamic block, first determine its position in the current image frame, which can be represented by a pixel coordinate, usually the center point position of the object in the image, according to the motion trajectory of the dynamic block in multiple image frames, calculate the velocity vector of the dynamic block, which contains the speed and direction of the dynamic block in the image space, through the position and velocity vector, the system can fully describe the motion state of the dynamic block, and provide necessary data support for subsequent prediction and tracking.

[0099] More specifically, Kalman filtering is a recursive optimal estimation algorithm suitable for estimating and predicting the state of a dynamic system. In this scenario, Kalman filtering is used to predict the position and velocity of the dynamic block. According to the position vector and velocity vector at the current time, the Kalman filtering algorithm predicts the possible position and velocity of the dynamic block at the next time. According to the actual observation data (the position of the dynamic block in the next image), the Kalman filtering algorithm corrects the predicted value to improve the prediction accuracy. Through Kalman filtering, the system can continuously track the motion state of the dynamic block and predict its future position and velocity.

[0100] More specifically, based on the predicted motion trajectory obtained by Kalman filtering, analyze the motion trend of the dynamic block in the future time period, for example, the system can predict that the dynamic block will move in a certain direction and may cross the monitoring range of multiple camera modules. Through the analysis of the future motion trajectory of the dynamic block, the system can predict which new areas it will "extend" to, i.e. the new camera areas that the dynamic block may cover in the future. Mark these new areas as "extension areas" and make corresponding preparations for these areas, such as allocating monitoring resources or adjusting the priority of the camera module in advance.

[0101] More specifically, when the extension areas that the dynamic block may enter are determined, the system will update the initial priority weight of the camera modules belonging to these areas. The system adjusts the priority of the related camera modules according to the predicted extension area of the dynamic block. Generally, the area that the dynamic block may extend to will increase the weight of the camera module, ensuring that these camera modules can prioritize acquiring and processing new dynamic blocks. The updated priority weight will be reflected in the real-time priority adjustment of the camera module, ensuring that the key camera module can respond in time when a dynamic event occurs.

[0102] More specifically, on the basis of the extended area, the priority weight of the camera module is comprehensively updated to ensure that the camera module can timely process the expected dynamic block. The formula for updating the priority weight can be based on the predicted motion trajectory of the dynamic block and the weight of the extended area, further improving the response capability of the camera module to future dynamic blocks. Ultimately, through real-time calculation, the priority weight of each camera module is adjusted according to the motion trend of the dynamic block, the extended area, and other factors.

[0103] It can be understood that by accurately predicting the motion trajectory of the dynamic block through Kalman filtering, the system can make a more accurate prediction of the motion trend of the dynamic block. This high-precision trajectory prediction can greatly improve the response capability of the system to dynamic events. Dynamic extension analysis enables the system to identify the area where the dynamic block is likely to move in advance, so that the camera module can prepare for the new monitoring area in advance. Especially when the camera area boundary is approaching, the early extension processing can effectively reduce the monitoring blind area of the dynamic block. For key camera modules, the system updates the priority weight according to the predicted trajectory of the dynamic block and the extended area, ensuring that these camera modules can prioritize the acquisition and processing of dynamic blocks. This strategy can effectively guarantee the monitoring quality of key areas such as densely populated areas and important traffic nodes.

[0104] Preferably, the step of sequentially performing image stitching processing on the camera area images collected by each camera module according to the real-time priority weight of the camera module to obtain dynamic stitching images comprises:

[0105] S61: comparing the real-time priority weight of the camera module, and sorting the real-time priority weight of each camera module according to the comparison result to obtain a weight sequence of each camera module;

[0106] S62: sequentially performing image stitching processing on the camera area images collected by each camera module according to the weight sequence of each camera module to obtain a plurality of dynamic stitching images composed of adjacent camera area images.

[0107] Specifically, the real-time priority weights of all camera modules are compared. Each camera module is assigned a real-time priority weight according to its importance in the current monitoring task, coverage area, and response priority, etc. Camera modules with higher weights usually represent that their monitoring areas are more important or more urgently need resource attention. According to the comparison result of the priority weight, all camera modules are sorted. The sorting is from high to low according to the weight, i.e. the camera module with the highest weight value is placed in the front, and the camera module with lower priority is placed in the back. The sorted result is a weight sequence, which represents the monitoring priority and processing order of each camera module.

[0108] More specifically, according to the weight sequence generated in the previous step, the images collected by each camera module are sequentially stitched, and the higher the weight of the camera module, the higher the priority of image stitching. The goal of image stitching is to combine the images collected by multiple camera modules into a large-scale image. Image processing algorithms (such as image transformation, registration, fusion, etc.) are usually used to achieve this goal. During the stitching process, it is necessary to ensure smooth transition between adjacent images and avoid obvious seams or distortion. The images collected by each camera module are sequentially stitched, and finally a dynamic stitched image composed of multiple adjacent region images is obtained. The stitched image can provide a continuous monitoring view and cover multiple regions, thus providing a more comprehensive view of the dynamic scene.

[0109] More specifically, during the stitching process, there may be overlapping images that need to be processed in detail. Image fusion technology is usually used to process the overlapping part to avoid repetition, blur or unnatural transition during image stitching. The edges of the stitched image are smoothed to avoid obvious seams or jarring visual effects in the stitching area. Through image gradient processing, the naturalness and visual consistency of image stitching are enhanced.

[0110] It can be understood that the real-time priority weight sequence of the camera module determines the order of image stitching, which can give more attention to regions with higher priority and ensure that the image stitching of important regions is completed first, thereby improving the intelligence level of image stitching. Prior processing of regions with higher weights can ensure that the details of critical regions are displayed more clearly. By following the priority weight sequence to stitch the images, the system can dynamically adjust the image stitching order according to the real-time monitoring requirements. In dynamic scenes such as crowd flow and traffic monitoring, the stitching process can respond to changes in real time and automatically adjust the key areas for image stitching to ensure that the most important areas are accurately stitched and presented at any time.

[0111] Referring to Figure 2 The second aspect, the present application provides an image stitching system for a low-computing-power camera module array, which is used to implement the image stitching method of any one of the first aspect, comprising:

[0112] The picture stitching module is used to capture panoramic images of a target scene by a camera module array composed of a plurality of camera modules to obtain camera region images corresponding to each camera module of the target scene, and combine the camera region images of each camera module to obtain a panoramic stitched picture of the target scene.

[0113] The focus marking module is configured to acquire a monitoring focus marking instruction of a monitoring user on the panoramic spliced picture, and configure an initial priority weight of each of the camera area images in the panoramic spliced picture according to the monitoring focus marking instruction, and divide each of the camera modules into a focus camera module and a non-focus camera module according to the initial optimization weight corresponding to each of the camera area images.

[0114] The dynamic detection module is configured to perform dynamic detection on the camera area images collected by the non-focus camera module at a specified frequency, and perform real-time dynamic detection on the camera area images collected by the focus camera module, to obtain dynamic detection results of the non-focus camera module and the focus camera module.

[0115] The weight updating module is configured to update the initial priority weight of the camera module corresponding to the camera area image in which the dynamic block appears, when the dynamic detection result shows that the dynamic block appears in the camera area image, to obtain a real-time priority weight of the camera module.

[0116] The trajectory tracking module is configured to perform trajectory tracking processing on the dynamic block according to a Kalman filtering algorithm, when the camera module corresponding to the camera area image in which the dynamic block appears is the focus camera module, to obtain a predicted motion trajectory of the dynamic block, and perform dynamic extension analysis on the focus camera module according to the predicted motion trajectory and update the corresponding initial priority weight, to obtain a real-time priority weight of the camera module.

[0117] The dynamic splicing module is configured to perform image splicing processing on the camera area images collected by each of the camera modules in sequence according to the real-time priority weight of the camera module, to obtain a dynamic spliced image.

[0118] In this embodiment, the specific implementation of each module in the above system embodiment is described above in the method embodiment, and will not be described here.

[0119] The above only describes the preferred embodiments of the present application, and is not intended to limit the present application. Any modification, equivalent replacement and improvement within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. An image stitching method for a low-compute-power camera module array, the method comprising: The method comprises the following steps: ​ Collecting a panoramic image of a target scene by a camera module array comprising a plurality of camera modules to obtain a panoramic stitching picture integrated by camera region images collected by each camera module; Obtaining a monitoring focus marking instruction of a monitoring user for the panoramic stitching picture, and configuring an initial priority weight of each camera region image in the panoramic stitching picture according to the monitoring focus marking instruction, and dividing each camera module into a focus camera module and a non-focus camera module according to the initial optimization weight corresponding to each camera region image; Performing dynamic detection of the camera region image collected by the non-focus camera module at a specified frequency, and performing real-time dynamic detection of the camera region image collected by the focus camera module to obtain a dynamic detection result of the non-focus camera module and the focus camera module; When the dynamic detection result shows that a dynamic block appears in the camera region image, updating the initial priority weight of the camera module corresponding to the camera region image where the dynamic block appears to obtain a real-time priority weight of the camera module; When the camera module corresponding to the camera region image where the dynamic block appears is a focus camera module, performing trajectory tracking processing on the dynamic block according to a Kalman filtering algorithm to obtain a predicted motion trajectory of the dynamic block, and performing dynamic extension analysis and corresponding initial priority weight updating on the focus camera module according to the predicted motion trajectory to obtain a real-time priority weight of the camera module; According to the real-time priority weight of the camera module, sequentially performing image stitching processing on the camera region image collected by each camera module to obtain a dynamic stitching image; The step of obtaining a monitoring focus marking instruction of a monitoring user for the panoramic stitching picture, and configuring an initial priority weight of each camera region image in the panoramic stitching picture according to the monitoring focus marking instruction, and dividing each camera module into a focus camera module and a non-focus camera module according to the initial optimization weight corresponding to each camera region image comprises: Based on the panoramic stitching picture, an interactive port is constructed for the monitoring user of the camera module array to interactively operate the panoramic stitching picture, thereby generating a monitoring focus marking instruction for the panoramic stitching picture; Performing instruction analysis on the monitoring focus marking instruction to obtain region range information of a focus monitoring region fed back by the monitoring focus marking, and positioning a module monitoring region of each camera module according to the region range information to obtain a positioning result of the module monitoring region of each camera module relative to the focus monitoring region; When the positioning result shows that the module monitoring region of the camera module is in the focus monitoring region, assigning a high-level initial priority weight to the camera module to divide the camera module into a focus camera module. when the positioning result shows that the module monitoring area of the camera module is not in the key monitoring area, assigning an initial priority weight of a low fan to the camera module to divide the camera module into a non-key camera module; when the dynamic detection result shows that a dynamic block appears in the camera area image, performing initial priority weight updating processing on the camera module corresponding to the camera area image in which the dynamic block appears to obtain the real-time priority weight of the camera module, the step comprising: when the dynamic detection result shows that a dynamic block appears in the camera area image, performing motion speed and area proportion data collection on the dynamic block to obtain the motion speed v and area proportion s of the dynamic block; calculating the dynamic block weight of the dynamic block according to a dynamic block weight calculation formula w = αv + βs to obtain the dynamic block weight of the dynamic block; wherein w is the dynamic block weight, and α and β are pre-set balance adjustment parameters; calculating the overall weight of the camera module in which the dynamic block exists according to a camera module calculation formula pi = Σ(j∈Ri)wj / Σ(k=1→n)Σ(j∈Rk)wj to obtain the real-time priority weight of the camera module; wherein pi is the priority of the i-th camera, Ri is the dynamic area set covered by the i-th camera, wj is the weight of the dynamic block in region j, n is the total number of cameras, Σ(j∈Ri)wj represents the total weight of all dynamic blocks covered by a single camera i, Σ(k=1→n)Σ(j∈Rk)wj represents the total sum of all dynamic block weights of all cameras with a total number of n, the outer summation Σ(k=1→n) traverses all cameras from 1 to n, and the inner summation Σ(j∈Rk) calculates the weight sum of all dynamic blocks covered by each camera; when the camera module corresponding to the camera area image in which the dynamic block appears is a key camera module, performing trajectory tracking processing on the dynamic block according to a Kalman filtering algorithm to obtain the predicted motion trajectory of the dynamic block, and performing dynamic extension analysis on the key camera module according to the predicted motion trajectory and updating the initial priority weight corresponding to the key camera module to obtain the real-time priority weight of the camera module, the step comprising: when the camera module corresponding to the camera area image in which the dynamic block appears is a key camera module, performing position vector and velocity vector feature analysis on the dynamic block to obtain the position vector and velocity vector of the dynamic block; performing future change prediction processing on the position vector and velocity vector of the dynamic block according to the Kalman filtering algorithm to obtain the predicted motion trajectory of the dynamic block; performing dynamic extension analysis on the dynamic block according to the predicted motion trajectory of the dynamic block to obtain the camera area to which the dynamic block will extend in the future time period, and marking the camera area as an extended area; performing initial priority weight updating processing on the camera module corresponding to the extended area to obtain the real-time priority weight of the camera module.

2. The image stitching method for low-compute-power camera module array of claim 1, wherein, The step of acquiring panoramic images of a target scene by a camera module array composed of a plurality of camera modules to obtain camera region images corresponding to each camera module of the target scene, and combining the camera region images of each camera module to obtain a panoramic splicing picture of the target scene comprises: initially configuring working parameters of the camera module array preset in a designated position to enable the camera module array to be in an initial debugging state, and each camera module in the camera module array in the initial debugging state acquires images of a target scene to obtain camera region images corresponding to each camera module; performing image splicing processing on the camera region images obtained by each camera module according to the setting positions of each camera module in the camera module array to obtain a panoramic splicing picture of the target scene.

3. The image stitching method for low-compute-power camera module array of claim 1, wherein, The step of updating the initial priority weight of the camera module corresponding to the extended region to obtain the real-time priority weight of the camera module comprises: marking the camera module corresponding to the dynamic block as a first camera module, and obtaining the real-time priority weight of the first camera module; comparing the real-time priority weight of the first camera module with the real-time priority weights of the remaining camera modules to determine the camera module whose real-time priority weight is only lower than that of the first camera module, and marking it as a second camera module; performing intermediate value calculation on the real-time priority weights of the first camera module and the second camera module to obtain the real-time priority weight of the camera module corresponding to the extended region.

4. The image stitching method for low-compute-power camera module array of claim 1, wherein, The step of sequentially performing image splicing processing on the camera region images acquired by each camera module according to the real-time priority weight of the camera module to obtain a dynamic splicing image comprises: comparing the real-time priority weights of the camera modules, and sorting the real-time priority weights of each camera module according to the comparison result to obtain a weight sequence of each camera module; sequentially performing image splicing processing on the camera region images acquired by each camera module according to the weight sequence of each camera module to obtain a plurality of dynamic splicing images composed of adjacent camera region images.

5. An image stitching system for a low-compute camera module array, comprising: An image splicing method for a low-computing-power camera module array for realizing any one of claims 1-4, comprising: a picture splicing module for acquiring panoramic images of a target scene by a camera module array composed of a plurality of camera modules to obtain camera region images corresponding to each camera module of the target scene, and combining the camera region images of each camera module to obtain a panoramic splicing picture of the target scene; a key annotation module for obtaining a monitoring key annotation instruction of a monitoring user for the panoramic splicing picture, and configuring an initial priority weight of each camera region image in the panoramic splicing picture according to the monitoring key annotation instruction, and dividing each camera module into a key camera module and a non-key camera module through the initial optimization weight corresponding to each camera region image; The dynamic detection module is configured to perform dynamic detection on the image of the non-key camera area at a specified frequency, and perform real-time dynamic detection on the image of the key camera area, so as to obtain dynamic detection results of the non-key camera area and the key camera area. The weight updating module is configured to, when the dynamic detection result shows that a dynamic block appears in the image of the camera area, perform updating processing on an initial priority weight of the camera module corresponding to the image of the camera area in which the dynamic block appears, so as to obtain a real-time priority weight of the camera module. The trajectory tracking module is configured to, when the camera module corresponding to the image of the camera area in which the dynamic block appears is the key camera module, perform trajectory tracking processing on the dynamic block according to a Kalman filtering algorithm, so as to obtain a predicted motion trajectory of the dynamic block, and perform dynamic extension analysis on the key camera module according to the predicted motion trajectory and corresponding initial priority weight updating, so as to obtain a real-time priority weight of the camera module. The dynamic splicing module is configured to perform image splicing processing on the images of the camera areas collected by the camera modules in sequence according to the real-time priority weights of the camera modules, so as to obtain a dynamic splicing image.

Citation Information

Patent Citations

  • Computing power resource calling method of intelligent camera cluster and related equipment

    CN118233736A