Image splicing method and system for low-computing-power camera module array
By using multiple camera modules to form an array in the low-computer camera module array to acquire panoramic images, and combining key marking instructions and Kalman filtering algorithms to dynamically optimize image stitching, the problem of difficult to achieve efficient and accurate image stitching in the low-computer camera module array is solved, and monitoring efficiency and accuracy are improved.
Patent Information
- Application Number
- CN202510273116.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-10
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2045-03-10
AI Technical Summary
It is difficult to achieve efficient and accurate image stitching in low-computer power camera module arrays.
The array is formed by multiple camera modules to acquire panoramic images of the target scene, and the initial priority weight is configured in combination with the key marking instructions of the monitoring user. The camera module is divided into key and non-key modules, and the non-key modules are timely dynamic detection. The key modules are subject to real-time dynamic detection, and the weight is updated when dynamic blocks are discovered. The Kalman filtering algorithm is used to track the dynamic blocks and predict their motion trajectory. Image stitching is performed based on the updated real-time priority weight to obtain a dynamic stitching image.
Dynamically optimize the monitoring resource allocation of camera modules, improve the response speed of key areas, improve the real-time and accuracy of image stitching, enhance the intelligence and adaptability of the system, and effectively improve monitoring efficiency and accuracy.
Smart Images

Figure CN119815183A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of panoramic monitoring, and in particular to an image stitching method and system for a low-computing-power camera module array. Background Art
[0002] In modern camera array systems, processing multiple video streams simultaneously to achieve real-time stitching is a core challenge. Especially when there are a large number of cameras, traditional algorithms often require synchronized stitching calculations for each frame of all cameras. To achieve real-time stitching, a large amount of GPU computing resources and a strict hardware synchronization mechanism are required. For low-computing camera module arrays, it is difficult to achieve efficient and accurate image stitching. Summary of the invention
[0003] The object of the present invention is to provide an image stitching method and system for a low-computing power camera module array, aiming to solve the problem in the prior art that low-computing power camera module arrays are difficult to achieve efficient and accurate image stitching.
[0004] The present invention is implemented in this way. In a first aspect, the present invention provides an image stitching method for a low-computing-power camera module array, comprising: Capturing a panoramic image of a target scene through 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 combining the camera area images of each camera module to obtain a panoramic stitching picture of the target scene; Obtaining a monitoring user's monitoring focus marking instruction for the panoramic stitching picture, and configuring initial priority weights for each of the camera area images in the panoramic stitching picture according to the monitoring focus marking instruction, and dividing each of the camera modules into a focus camera module and a non-focus camera module according to the initial optimization weights corresponding to each of the camera area images; Performing a dynamic detection of a specified frequency on the camera area image collected by the non-focus camera module, and performing a real-time dynamic detection on the camera area image collected by the focus camera module, so as to obtain the dynamic detection results 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 area image, an initial priority weight update process is performed on the camera module corresponding to the camera area image where the dynamic block appears, so as to obtain a real-time priority weight of the camera module; When the camera module corresponding to the camera area image where the dynamic block appears is the key camera module, the dynamic block is tracked according to the Kalman filter algorithm to obtain the predicted motion trajectory of the dynamic block, and the key camera module is dynamically extended and analyzed and the corresponding initial priority weight is updated according to the predicted motion trajectory to obtain the real-time priority weight of the camera module; The camera area images captured by each camera module are sequentially stitched according to the real-time priority weight of the camera module to obtain a dynamic stitched image.
[0005] In a second aspect, the present invention provides an image stitching system for a low-computing-power camera module array, which is used to implement an image stitching method for a low-computing-power camera module array as described in any one of the first aspects, including: A picture stitching module, used to collect a panoramic image of a target scene through a camera module array composed of a plurality of camera modules, so as to obtain a camera area image of each camera module corresponding to the target scene, and to combine the camera area images of each camera module to obtain a panoramic stitching picture of the target scene; A key marking module is used to obtain a monitoring key marking instruction of a monitoring user for the panoramic stitching picture, and configure the initial priority weight of each camera area image in the panoramic stitching picture according to the monitoring key marking instruction, and divide each camera module into a key camera module and a non-key camera module according to the initial optimization weight corresponding to each camera area image; A dynamic detection module, used to perform dynamic detection of a specified frequency on the camera area image collected by the non-focus camera module, and perform real-time dynamic detection on the camera area image collected by the focus camera module, so as to obtain dynamic detection results of the non-focus camera module and the focus camera module; A weight updating module, for updating the initial priority weight of the camera module corresponding to the camera area image where the dynamic block appears, when the dynamic detection result shows that a dynamic block appears in the camera area image, so as to obtain the real-time priority weight of the camera module; A trajectory tracking module, used for, when the camera module corresponding to the camera area image where the dynamic block appears is a key camera module, performing trajectory tracking processing on the dynamic block according to a Kalman filter algorithm to obtain a predicted motion trajectory of the dynamic block, and performing dynamic extension analysis and corresponding initial priority weight update on the key camera module according to the predicted motion trajectory to obtain a real-time priority weight of the camera module; The dynamic stitching module is used to sequentially stitch the camera area images collected by each camera module according to the real-time priority weight of the camera module to obtain a dynamic stitching image.
[0006] The present invention provides an image stitching method for a low-computing-power camera module array, which has the following beneficial effects: The present invention collects panoramic images of target scenes by forming an array of multiple camera modules, configures initial priority weights in combination with the key marking instructions of the monitoring user, divides the camera modules into key and non-key modules, performs regular dynamic detection on the non-key modules, performs real-time dynamic detection on the key modules, updates weights when dynamic blocks are found, and uses a Kalman filter algorithm to track the trajectory of the dynamic blocks and predict their motion trajectories. Image splicing is performed according to the updated real-time priority weights to obtain a dynamic spliced image. This solution can dynamically optimize the monitoring resource allocation of the camera modules, improve the response speed of key areas, improve the real-time and accuracy of image splicing, enhance the intelligence and adaptability of the system, effectively improve monitoring efficiency and accuracy, and solve the problem that it is difficult to achieve efficient and accurate image splicing in low-computing-power camera module arrays in the prior art. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 It is a schematic diagram of the steps of an image stitching method for a low-computing-power camera module array provided by an embodiment of the present invention; Figure 2 It is a structural schematic diagram of an image stitching system for a low-computing-power camera module array provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0008] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.
[0009] The implementation of the present invention is described in detail below in conjunction with specific embodiments.
[0010] Reference Figure 1 , Figure 2 As shown, a preferred embodiment of the present invention is provided.
[0011] In a first aspect, the present invention provides an image stitching method for a low-computing-power camera module array, comprising: S1: Capturing a panoramic image of a target scene through a camera module array composed of a plurality of camera modules to obtain a camera area image of each camera module corresponding to the target scene, and combining the camera area images of each camera module to obtain a panoramic stitching picture of the target scene; S2: Obtaining a monitoring key marking instruction of the monitoring user for the panoramic stitching picture, and configuring initial priority weights for each of the camera area images in the panoramic stitching picture according to the monitoring key marking instruction, and dividing each of the camera modules into a key camera module and a non-key camera module according to the initial optimization weight corresponding to each of the camera area images; S3: performing a dynamic detection of a specified frequency on the camera area image captured by the non-focus camera module, and performing a real-time dynamic detection on the camera area image captured by the focus camera module, so as to obtain the dynamic detection results of the non-focus camera module and the focus camera module; S4: when the dynamic detection result shows that a dynamic block appears in the camera area image, an initial priority weight update process is performed on the camera module corresponding to the camera area image where the dynamic block appears, so as to obtain a real-time priority weight of the camera module; S5: When the camera module corresponding to the camera area image where the dynamic block appears is the key camera module, the dynamic block is tracked according to the Kalman filter algorithm to obtain the predicted motion trajectory of the dynamic block, and the key camera module is dynamically extended and analyzed and the corresponding initial priority weight is updated according to the predicted motion trajectory to obtain the real-time priority weight of the camera module; S6: performing image stitching processing on the camera area images captured by each camera module in sequence according to the real-time priority weight of the camera module to obtain a dynamic stitching image.
[0012] Specifically, in step S1 of the embodiment provided by the present invention, multiple camera modules are arranged in a certain array manner to cover different areas of the target scene. Each camera module is responsible for shooting a specific area, and each camera module shoots the area it covers in real time to capture image data in the area. Assuming that there are multiple camera modules, these camera modules may have different viewing angles, focal lengths, resolutions, etc., to ensure that every detail of the entire target scene is covered. Through the collaborative work of multiple camera modules, a larger target scene can be effectively covered. This layout can avoid blind spots that cannot be captured by a single camera module. Each camera module collects images from different angles, which increases the multi-dimensional description of the target scene and helps to provide a more comprehensive and accurate monitoring image.
[0013] More specifically, the image data collected by each camera module is collected into the central processing system through a certain interface or transmission mechanism, and the image data collected by each camera module is stitched by an image stitching algorithm. Common stitching algorithms include those based on feature point matching (such as SIFT, SURF, etc.) or pixel-level optical flow calculation. During the stitching process, the algorithm will process the overlapping areas between different images, perform pixel-level alignment to avoid obvious visible stitching lines, and perform color correction, edge smoothing and other optimization processing 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 seamlessly connected visually without obvious stitching marks. Combining the data from multiple camera modules, a complete panoramic image with rich perspectives can be obtained to help monitoring personnel observe the target scene comprehensively and meticulously.
[0014] More specifically, after processing and optimization, a stitched image is generated to form a complete panoramic image of the target scene. The final stitched image can be displayed in the monitoring system, and the user can view the panoramic image, zoom, pan, and other operations to view various areas in the scene. The user can see all the details of the entire target scene from a unified perspective, avoiding missing any key information due to blind spots or local perspective limitations. By stitching together images from multiple camera modules, the efficient operation of the real-time monitoring system can be achieved, which is particularly suitable for real-time monitoring of large-scale and complex scenes. The target scene images are collected and stitched through an array of multiple camera modules. The technical effects of the entire technical solution are reflected in the following aspects: Large-scale coverage: Multiple camera modules work together to ensure no blind spots. Regional coverage of the entire target scene, multi-angle view: each camera module provides a different perspective, so that the panoramic image can present more details, seamless stitching: the use of precise image stitching algorithm, eliminates the defects and unnaturalness during image stitching, ensuring that the final stitched image is smooth and natural, real-time monitoring: the stitched panoramic image can be displayed in real time, and the user can view various areas of the target scene at any time, especially in the monitoring of large or complex scenes, to improve the monitoring efficiency. Overall, this technical solution can greatly improve the effectiveness of the monitoring system, especially in applications with large monitoring needs, complex scenes, and rich perspectives (such as urban monitoring, traffic monitoring, large warehouse monitoring, etc.), It can provide a more comprehensive and detailed view to help users make more accurate decisions.
[0015] Specifically, in step S2 of the embodiment provided by the present invention, the monitoring system provides a user interaction interface, through which the user can mark certain areas in the panoramic image and specify monitoring priorities. These markings can be completed by mouse clicking, box selection, touch screen, etc. The user can directly specify the area or select certain camera modules, and the system receives the user's marking instructions, which include: Key area: the target area or coordinates of the area selected by the user, which can be the area covered by the entire camera module or a specific part of a camera module (such as a local area); Key camera module: the user may specify certain camera modules as key modules, and the areas collected by these modules will receive more attention. The user can select and define which areas or modules are key points according to actual needs, thereby improving the flexibility of the monitoring system and meeting the monitoring needs in different scenarios. Through the interactive interface, the user can mark the key areas very intuitively and conveniently, avoiding manual search and analysis, saving time and energy.
[0016] More specifically, according to the user's key marking instructions, the system will assign an initial priority weight to each camera area image (corresponding to the camera module), and the specific steps include: giving high weight to key areas: the system will give a higher initial priority weight to the key areas or key camera modules marked by the user. This means that these areas or camera modules will receive more computing resources and attention in the subsequent dynamic detection, image analysis, etc., and giving low weight to non-key areas: for areas not marked as key, the system will give a lower initial priority weight, and the images and data of these areas will have a lower priority when 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 setting can also be dynamically adjusted according to the complexity of the scene where the camera module is located, 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 key monitoring area, thereby improving the monitoring efficiency and accuracy of the key area. For important areas, the system gives priority to more real-time dynamic detection, analysis and updating to ensure that the situation in these areas is processed in a timely and accurate manner. For non-key areas, unnecessary processing is reduced to optimize the response speed and processing capacity of the system.
[0017] 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 higher initial priority weights. Usually, these modules are responsible for collecting image data of key monitoring areas marked by users, and non-key camera modules: modules with lower initial priority weights, 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"; if it is lower than 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 receive sufficient attention. Through the classification of modules, the system can reasonably schedule and allocate resources according to the needs of different priorities, thereby improving the overall monitoring efficiency.
[0018] More specifically, after the initial priority weights are configured, the system does not rely solely on static configurations. In actual operations, dynamic detection results (such as the appearance of dynamic blocks) will lead to weight adjustments. Therefore, although each camera module has a fixed weight value in the initial stage, 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 according to actual conditions during the monitoring process 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, the occurrence of important events, etc., thereby improving the response speed and monitoring accuracy of the monitoring system. By obtaining With the user's monitoring focus labeling instructions, the system can effectively configure priority weights for each camera module and divide the camera modules into key and non-key ones according to these weights. The technical effects of this process are mainly reflected in: Refined monitoring: ensuring that key areas get enough monitoring resources and processing time to improve monitoring effects; Optimizing resource allocation: By reasonably configuring the initial priority weights, optimizing the use of computing and processing resources, improving system efficiency; Flexible adjustment: The system can dynamically adjust priorities to adapt to scene changes and user needs, ensuring that the monitoring quality of important areas is always maintained at a high level. This method makes the monitoring system more intelligent and efficient, especially in large-scale scenes or situations that require long-term monitoring.
[0019] Specifically, in step S3 of the embodiment provided by the present invention, the system sets the dynamic detection frequency of these modules according to the initial priority weights of the non-key camera modules. For example, for non-key modules with lower priority, the system will reduce the frequency of dynamic detection to reduce unnecessary computing burden. The image data of non-key areas may not need to be continuously detected in real time, so it is set to a lower detection frequency (for example, 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 within a preset time interval (such as every 5 seconds, 10 seconds or longer). This process involves analyzing and comparing images to find changes or abnormalities. The dynamic detection of non-key areas usually focuses on changes in images (such as the appearance, movement, disappearance, etc. of people or objects). 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 can ensure detection efficiency while reducing computing resource consumption.
[0020] It is understandable that by reducing the frequency of dynamic detection in non-key areas and reducing unnecessary calculations and data processing, the overall performance of the system is optimized. The system can reasonably allocate monitoring resources without sacrificing important monitoring effects, ensuring that detection in non-key areas will not affect real-time monitoring of key areas. Although the frequency is low, the system can still promptly detect and respond to changes or potential anomalies in non-key areas, especially for those occasional events.
[0021] More specifically, the priority weight of key camera modules is higher, so their images need to be detected in real time, that is, the image content needs to be monitored and analyzed continuously. The system will continuously monitor these areas, handle and respond to events in a timely manner, and the frequency of real-time dynamic detection is high, usually every second or shorter. This means that the system will continuously analyze the image data collected by these camera modules to detect any changes or events in time. Since these areas are key monitoring areas, the system needs to adopt more complex and accurate dynamic detection algorithms. Commonly used algorithms include: such as using convolutional neural networks (CNN) for target 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 dynamic events or behaviors are detected in real time, the system will immediately issue an alarm, record the event, or notify the relevant monitoring personnel. For monitoring scenarios that require rapid response (such as security, traffic monitoring, etc.), real-time detection is crucial.
[0022] It is understandable that by performing real-time dynamic detection on key camera modules, it is possible to more accurately capture and respond to important changes or abnormal events in the scene, ensuring real-time and accuracy in the monitoring process. Real-time detection ensures that the system can respond promptly when an abnormality occurs, providing immediate alarms and intervention opportunities, helping to improve security and emergency response capabilities. For key areas, the use of complex detection algorithms can more accurately identify targets and events, improve the recognition rate and accuracy of the system, and reduce false alarms and missed alarms.
[0023] More specifically, after dynamic detection, the system will generate dynamic detection results for non-key camera modules and key camera modules respectively, including: 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: contains detailed detection information of dynamic events or abnormal behaviors (such as intrusion, emergencies, etc.) in key areas, and the system may give these results a 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; while the results of non-key modules are archived or processed with low priority unless major abnormalities occur.
[0024] It can be understood that the combination of dynamic detection results of key and non-key modules ensures that the system monitors the entire monitoring scene comprehensively, while ensuring real-time attention to important areas. By distinguishing the dynamic detection frequencies of key and non-key modules, the system can efficiently handle the monitoring needs of different areas, avoid waste of resources, and ensure the response speed and accuracy of important areas. By using complex detection algorithms for key modules, anomalies can be identified more accurately, reducing false alarms in non-key area detection, and performing real-time dynamic detection on key camera modules to ensure comprehensive and immediate monitoring of important areas; while low-frequency detection of non-key camera modules effectively saves computing resources. It also reduces the burden on the system. Through different dynamic detection frequencies and algorithms, the system can realize intelligent resource scheduling, reasonably allocate computing resources, and adjust the 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; while low-frequency dynamic detection in non-key areas can still ensure the system's global monitoring capabilities and will not miss any potential events. In general, by differentiated configuration of dynamic detection frequencies and algorithms of camera modules with different priorities, the system can monitor efficiently and accurately, improve the performance and response speed of the overall monitoring system, and ensure priority attention to important areas.
[0025] Specifically, in step S4 of the embodiment provided by the present invention, when the camera module performs dynamic detection on the camera area, the image will be analyzed to find any changes or dynamic objects (such as the movement of people, vehicles or objects). These changes may appear as "dynamic blocks", that is, a specific area in the image has movement or changes that are different 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. These dynamic blocks may represent ongoing activities or potential events. For example, an object in the monitoring area moves, or an area has changes that do not conform to the normal pattern. Once the system detects a dynamic block, it will mark the area in the image and generate corresponding dynamic detection results. These dynamic blocks may mean important events or abnormal phenomena, such as intrusions, moving targets, etc.
[0026] More specifically, each camera module has an initial priority weight in the system, which is usually determined by the requirements during setup, the sensitivity or priority of the monitored area. For example, important areas (such as entrances and gates) usually have higher initial priority weights, while less important areas (such as corridors and parking lots) may have lower initial priority weights. When the system detects a dynamic block, the occurrence of a dynamic event 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 rules or algorithms to increase its real-time priority weight.
[0027] 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.), and prioritizing event responses for the camera module, such as triggering alarms, starting recording, notifying personnel, etc.
[0028] More specifically, the update of the priority weight may be instantaneous or gradually change. For example, a time window can be set. Within this window, when a dynamic block exists, the priority weight of the camera module will gradually increase until the dynamic block disappears or the monitoring task is completed, and then it will be restored to the initial weight. Once the priority weight of the camera module is increased, the system will continue to track the dynamic block situation in the area to ensure that monitoring can always remain in a high priority state. 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.
[0029] More specifically, within the system, the update of the real-time priority weight will affect the processing order of other modules. For modules with dynamic blocks, their real-time priority weight may cause the priority of other modules to decrease accordingly. This is accomplished through a dynamic scheduling algorithm. For example, load balancing is used to ensure that the overall system load is not too high. When a 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 short-term interference.
[0030] It is understandable that by adjusting the priority weights of the camera modules according to the dynamic blocks, the system can concentrate resources for more efficient processing at important moments. The appearance of dynamic blocks means that more important activities may occur in the area. Therefore, the increase in priority weights can ensure that more computing resources are allocated to the module, so as to respond to possible security threats in a timely manner. The system can dynamically adjust the resources and processing capabilities of each camera module, optimize the overall system performance according to actual conditions, and avoid over-calculation of unimportant areas. By updating the real-time priority weights of the camera modules, the system can respond more agilely to dynamic changes in the monitored area. Prioritizing areas where dynamic blocks appear can reduce response delays and capture potential events or anomalies more quickly. The system can automatically enhance the monitoring capabilities of related camera modules when dynamic blocks appear, ensuring more accurate monitoring of important areas and improving overall emergency response capabilities.
[0031] Specifically, in step S5 of the embodiment provided by the present invention, the system detects the appearance of dynamic blocks and marks the dynamic blocks appearing in the image. The dynamic blocks may represent moving targets in the image, such as pedestrians, vehicles, 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.
[0032] More specifically, in order to make accurate trajectory predictions, the system needs to initialize a Kalman filter for each dynamic block. The Kalman filter is a recursive algorithm suitable for systems based on noise observations. It can estimate the current state through previous state predictions. It works through the following steps: Based on the current motion state of the dynamic block (position, velocity, acceleration, etc.), the Kalman filter predicts the state of the block at the next moment (position, velocity, etc.). The Kalman filter relies on the motion model to make state predictions. When the system obtains new observations (i.e., the new position of the dynamic block), the Kalman filter corrects its prediction results based on these observations. This process involves the weighted fusion of predictions and observations to obtain a more accurate motion trajectory. The Kalman filter provides the optimal estimate of the dynamic block at the current moment, including information such as position, velocity, and even acceleration, thereby forming the motion trajectory of the dynamic block. Through the recursive update of the Kalman filter, the system can predict the future position based on the historical motion data of the dynamic block. This prediction enables the system to know the possible movement path of the dynamic block in advance.
[0033] More specifically, by 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, an 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 the area where the dynamic block may pass, and ensure 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 viewing angle, 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 extended 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 indicates that the dynamic block is about to enter a high-priority area or will have a potential impact on an important area, the system will increase the real-time priority weight of the key camera module. Specifically, the priority weight update method may include: More specifically, more computing resources are allocated to the key camera module, which may 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 may scan a certain direction in advance to ensure that the appearance of the dynamic block can be captured 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 extended analysis and priority weight adjustment, the real-time priority weight of the camera module will be dynamically updated. The motion trajectory of the dynamic block not only determines the priority of the module, but may also affect the resource allocation of other camera modules. The system ensures the intelligence and efficiency of the monitoring task through this dynamic update mechanism.
[0034] More specifically, during the change of the dynamic block's trajectory, the update of the real-time priority weight is not completed all at once. The system will continue to monitor the changes of the dynamic block and provide dynamic feedback based on the real-time motion trajectory. For example, if the dynamic block stays in an area for a long time or its trajectory changes drastically, the system may further adjust the priority weight of the camera module in that area. When the dynamic block no longer stays in the key area or its motion trajectory changes, the system will gradually restore the original priority weight. This recovery process is usually gradual to avoid drastic fluctuations in the priority weight and ensure the stability of the system.
[0035] It is understandable that by predicting the trajectory of the dynamic block through the Kalman filter algorithm, the system can know the future movement 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 monitoring, ensuring that the dynamic block will not be ignored at critical moments. By updating the real-time priority weights of key camera modules, the system can intelligently allocate monitoring resources. For example, when the system predicts that the dynamic block is about to pass through an important area, it can prioritize resources for high-frequency, high-quality monitoring to avoid wasting resources on unimportant areas. The system updates the priority weights in real time according to the predicted trajectory of the dynamic block, and 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 monitoring.
[0036] Specifically, in step S6 of the embodiment provided by the present invention, each camera module captures images of different camera areas according to its assigned priority weight. Each camera module captures video or static images according to the area it monitors. These images may have differences in viewing angle, resolution, and lighting. The priority weights of the camera modules will be dynamically adjusted. Camera modules with high priority weights will obtain image data with a higher frequency or obtain more computing resources so as to update the image data in time when important changes occur in their monitored areas.
[0037] More specifically, before stitching, the images captured by each camera module may need to be preprocessed to improve the stitching effect. For example, since the camera lens may be distorted, especially the wide-angle lens, the image may need to be distorted and corrected. Images from different camera modules may have color differences or inconsistent exposure. The colors need to be uniformly adjusted and the brightness aligned to ensure that the stitched image has a consistent effect and to remove noise from the image, especially for images captured in low-light environments. De-noising can improve the quality of the stitched image.
[0038] More specifically, feature points are extracted from each image using a feature point detection algorithm (such as SIFT, SURF, or ORB). 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 areas overlap and provide a reference for image alignment and stitching. Typically, feature matching is performed based on descriptors (such as SIFT or ORB) to ensure that images can be accurately docked.
[0039] More specifically, based on the real-time priority weight, the stitching order of the images is dynamically adjusted. The images collected by the camera modules with high priority weights will be preferentially stitched to ensure that the monitoring of important areas is displayed preferentially in the stitching image. If a camera module has a high priority weight, the images it collects may occupy a larger proportion in the stitching process, and even adopt a higher resolution or more sophisticated image processing method during stitching. If a certain area (such as a key monitoring area) is within the monitoring range of multiple camera modules, the system will give priority to stitching images of the area to ensure the image quality of the key area, align the images using the results of feature matching, and correctly stitch the overlapping areas together. During the alignment process, geometric transformation algorithms (such as homography matrix calculation) can be used to correct the displacement between images, ensure seamless docking of images, and fuse multiple images into a complete stitching image. Generally, the image fusion algorithm will process the transition of different images according to the characteristics of the overlapping area to avoid obvious traces of the stitching line. Commonly used fusion methods include: multiple exposure fusion: suitable for processing images under different exposures, smoothing the brightness differences of transition images, weighted average method: assigning different weights to different images according to the priority weights of the images. When stitching, images with higher priority weights will have a greater impact on the stitching results.
[0040] More specifically, in order to improve the quality of the stitched image, the stitched image needs to be optimized in detail. Common optimization steps include: Seamless transition processing: For the stitching line area, by adjusting the image's brightness, color, contrast and other parameters, the transition area is made smoother and the obvious stitching marks are eliminated. Resolution adjustment and scaling: According to system requirements, the resolution of the stitched image is adjusted to ensure a balance between image quality and processing speed. If some areas require high-resolution details, the system can dynamically adjust the display quality of these areas. Edge smoothing: Processing jagged edges that may appear during the stitching process makes the image more natural. Dynamic adjustment of the stitching area: During real-time monitoring, the system dynamically adjusts the stitching area according to the real-time priority weight of the camera module. For example, the priority monitoring area may be highlighted by locally enhancing the stitching image to ensure that key content is clearer.
[0041] More specifically, after the above processing, the final stitched image will present a seamless, dynamic panoramic image that can show the area covered by each camera module. The system will display and analyze the stitched image as a new monitoring screen, and the stitched image will be updated and output in real time. The system can use it as new visual information for operators or automation systems to further process. For example, the stitched image can be used for target tracking, anomaly detection, etc.
[0042] It can be understood that by adjusting the image acquisition frequency and stitching order of the camera modules according to the real-time priority weights, the system can ensure the image quality and monitoring accuracy of important areas. Areas with high priority weights in the stitched images will be processed and displayed more accurately to ensure that key information is not lost. Dynamic adjustment of priority weights can not only optimize the monitoring quality, but also effectively manage computing resources. For example, the system will give priority to image stitching tasks of camera modules with high priority weights to avoid waste of resources and respond quickly to changes in real-time monitoring.
[0043] The present invention provides an image stitching method for a low-computing-power camera module array, which has the following beneficial effects: The present invention collects panoramic images of target scenes by forming an array of multiple camera modules, configures initial priority weights in combination with the key marking instructions of the monitoring user, divides the camera modules into key and non-key modules, performs regular dynamic detection on the non-key modules, performs real-time dynamic detection on the key modules, updates weights when dynamic blocks are found, and uses a Kalman filter algorithm to track the trajectory of the dynamic blocks and predict their motion trajectories. Image splicing is performed according to the updated real-time priority weights to obtain a dynamic spliced image. This solution can dynamically optimize the monitoring resource allocation of the camera modules, improve the response speed of key areas, improve the real-time and accuracy of image splicing, enhance the intelligence and adaptability of the system, effectively improve monitoring efficiency and accuracy, and solve the problem that it is difficult to achieve efficient and accurate image splicing in low-computing-power camera module arrays in the prior art.
[0044] Preferably, the steps of performing panoramic image acquisition of a target scene by 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 combining the camera area images of each camera module to obtain a panoramic stitching picture of the target scene include: S11: initial working parameter configuration is performed on a camera module array preset at a designated position, so that the camera module array is in an initial debugging state, and each camera module in the camera module array in the initial debugging state respectively captures an image of a target scene, so as to obtain an image of a camera area corresponding to each camera module; S12: performing image stitching processing on the camera area images acquired by the camera modules in a corresponding positional relationship according to the setting positions of the camera modules in the camera module array, so as to obtain a panoramic stitching picture of the target scene.
[0045] Specifically, the initial configuration of the camera module array is performed, including the basic working parameters of each camera module, such as resolution, exposure, white balance, focal length, etc. These settings help to ensure that the images captured by each camera module remain consistent in quality and provide a basis for subsequent image stitching processing. To ensure the correct configuration of the camera module array and the image stitching effect, precise calibration must be performed according to the position of the camera modules in the array. Common methods include calibrating the relative position and viewing angle between the camera modules so that the images captured by each module can be smoothly stitched. After the array is arranged and the working parameters are set, the debugging phase is entered to perform preliminary image acquisition and check the overlapping areas and viewing angles between the camera modules so that the parameters or positions can be fine-tuned according to the actual situation to ensure that the entire camera array works properly.
[0046] More specifically, after completing the initial configuration and debugging, each camera module of the camera module array begins to capture images of the target scene. Each camera module shoots a part of the target scene in real time through its specific viewing angle and position to obtain its own camera area image. The shooting areas of each camera module will overlap. This overlapping area provides a reference for subsequent stitching to ensure that the images captured by different camera modules can be accurately connected. Different camera modules may have different shooting angles and resolutions. Therefore, subsequent image preprocessing (such as de-distortion, color correction, etc.) is very important to ensure the quality and consistency of the stitched image.
[0047] More specifically, since the camera modules may use different lens types, the captured images may have geometric distortion (such as barrel distortion, pincushion distortion, etc.), so distortion correction is required. The exposure, white balance and brightness between different camera modules may be different, so the color and brightness of each image need to be balanced to ensure that the stitched image has consistent color and smooth transition. For images collected in low light or high noise environments, denoising is required to improve the clarity and visibility of the stitched image. Feature points are extracted from each image (such as SIFT, SURF, ORB and other algorithms), and the overlapping areas between the camera modules are found through feature matching methods. These feature points help determine the correspondence between images and provide a basis for subsequent geometric transformations.
[0048] More specifically, based on the feature point matching results, geometric transformation methods (such as homography matrix, perspective transformation, etc.) are used to align the images to ensure that the overlapping areas of adjacent images are accurately connected to avoid obvious seams in the stitched images. The aligned images are fused, and during the stitching process, weighted averaging can be performed based on the priority of each camera module, image quality, and characteristics of the overlapping areas to ensure a natural transition of the stitching line and avoid obvious stitching marks. Weighted fusion is performed based on the priorities of different images (for example, images in certain areas may have higher priority weights) to ensure that details in high-priority areas are not lost. The stitching line is smoothed through techniques such as hue adjustment and brightness balancing to achieve a seamless transition and ensure that the final stitched image is visually coherent.
[0049] More specifically, after image processing and fusion, the final image generated is a panoramic stitching picture that shows the entire target scene. At this time, the system will crop, scale or thumbnail the image as needed to adapt to different display requirements. If the target scene changes, the camera module array can continue to collect images in real time and generate an updated panoramic image through the same stitching processing process. This is especially important for applications such as dynamic monitoring and autonomous driving.
[0050] It can be understood that through the multi-angle and multi-viewing angle 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 perform multi-angle shooting of the target scene at different positions and angles, providing a wider field of view coverage than a single camera. The stitched panoramic image can fully display the scene and is suitable for various application scenarios that require large-scale monitoring, such as traffic monitoring, smart cities, security monitoring, etc. Through precise image stitching algorithms, accurate spatial relationships can be established between different camera modules to ensure that the stitching results are accurate. At the same time, reasonable distortion correction and brightness and color adjustment make the stitched image consistent in color and rich in details.
[0051] Preferably, the monitoring user's monitoring focus marking instruction for the panoramic stitching picture is obtained, and the initial priority weights of the camera area images in the panoramic stitching picture are configured according to the monitoring focus marking instruction, and the steps of dividing the camera modules into focus camera modules and non-focus camera modules according to the initial optimization weights corresponding to the camera area images include: S21: constructing an interactive port based on the panoramic stitching picture, so that a monitoring user of the camera module array can perform interactive operations on the panoramic stitching picture, thereby generating a monitoring focus marking instruction for the panoramic stitching picture; S22: parsing the monitoring key marking instruction to obtain the area range information of the key monitoring area fed back by the monitoring key marking, and positioning the module monitoring area of each camera module according to the area range information to obtain the positioning result of the module monitoring area of each camera module relative to the key monitoring area; S23: when the positioning result shows that the module monitoring area of the camera module is in the key monitoring area, assigning a high-level initial priority weight to the camera module to classify the camera module as a key camera module; S24: when the positioning result shows that the module monitoring area of the camera module is not in the key monitoring area, allocating an initial priority weight of a low fan to the camera module to classify the camera module as a non-key camera module.
[0052] Specifically, in order to facilitate monitoring users to mark key monitoring areas, the system needs to design an interactive port. Usually, this port is a user interaction platform based on a graphical interface. Users can operate on the panoramic stitching screen through a mouse, touch screen or other input devices. Users can select designated areas, drag the mouse or click certain areas to mark monitoring points, or accurately mark areas that need attention by drawing polygons, rectangles, etc. When users mark key areas on the interactive port, the system will record the coordinate information of the key monitoring areas entered by the user, and this information will be used for subsequent optimization and weight configuration.
[0053] More specifically, when the monitoring user completes the marking of key areas, the system will obtain and parse the marking instructions input by the user. The parsing process includes: identifying the coordinates, shape, size and other parameters of the monitoring area; determining the range information of the key areas, which will be compared with the monitoring area of the camera module, and extracting the range information of the key monitoring areas from the user's marking instructions. This information may include the coordinates, size, and shape (such as rectangle, circle, etc.) of the area, which will affect the subsequent priority allocation of the camera module.
[0054] More specifically, the specific monitoring area of each camera module is calculated based on the preset camera module array and the viewing angle and monitoring area of each camera module. Usually, the monitoring area of a camera module can be expressed as a rectangular or polygonal area within the shooting range of the module. The monitoring area of each camera module is compared with the key monitoring area calibrated by the user to determine whether the monitoring area of the camera module is within the key monitoring area. If the monitoring area of a camera module overlaps or intersects with the key monitoring area, the module can be determined to be a "key camera module"; if the monitoring area does not overlap with the key area, the module is a "non-key camera module."
[0055] More specifically, based on the positioning results, the system will assign a higher initial priority weight to those camera modules whose monitoring areas overlap with key areas. Usually, these modules will be given more resources or higher image processing priorities (such as higher resolution, real-time requirements, etc.). These camera modules will be considered "key camera modules" and require special attention and optimized processing. For those camera modules whose monitoring areas do not overlap with key areas, the system will assign them a lower initial priority weight. These modules may perform image processing and data transmission at a lower resolution or lower frequency. These modules will be classified as "non-key camera modules" and do not need to provide the same resources and processing priority as key areas.
[0056] More specifically, through the above steps, each camera module in the camera module array will be assigned a different initial priority weight, and divided into "key camera modules" and "non-key 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 needs to ensure that the key areas always maintain high definition and real-time response.
[0057] 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 includes: S41: when the dynamic detection result shows that a dynamic block appears in the camera area image, data collection of the motion speed and area ratio of the dynamic block is performed to obtain the motion speed v and area ratio s of the dynamic block; S42: Calculating the dynamic block weight of the dynamic block according to the 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 preset balance adjustment parameters; S43: Calculate the overall weight of the camera module with the dynamic block according to the 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 ith camera, Ri is the set of dynamic areas covered by the ith camera, wj is the weight of the dynamic block in area j, n is the total number of cameras, Σ(j∈Ri)wj represents the sum of the weights of all dynamic blocks covered by a single camera i, Σ(k=1→n)Σ(j∈Rk)wj represents the sum of the weights of all dynamic blocks of all cameras with a total number of n, the outer layer summation Σ(k=1→n) traverses all cameras from 1 to n, and the inner layer summation Σ(j∈Rk) calculates the sum of the weights of all dynamic blocks covered by each camera.
[0058] Specifically, the system first detects dynamic blocks in the panoramic image through a dynamic detection algorithm. These dynamic blocks represent moving objects in the image (such as pedestrians, vehicles, etc.). The system will identify these dynamic areas in real time and determine their motion status. Motion speed (v): By tracking the motion trajectory of the dynamic block in adjacent frames in the image, the motion speed of each dynamic block is calculated. The motion speed is usually estimated by the displacement and time interval of the image. Area ratio (s): Based on the shape and area of the dynamic block, the area ratio of the dynamic block in the camera area image is calculated. This data helps to judge the importance of the dynamic block in the image. Dynamic blocks with larger areas may represent important monitoring objects.
[0059] More specifically, the dynamic block weight calculation formula is w = αw + βs, where w is the dynamic block weight, α and β are pre-set balance adjustment parameters. Through the dynamic block weight calculation formula, the system can comprehensively consider the speed and area ratio of the dynamic block, thereby assigning appropriate weights to each dynamic block. Generally speaking, dynamic blocks with faster movement speeds or larger areas have higher weights, which means they are more likely to be important targets and the system should give priority to these areas.
[0060] 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 areas covered by the i-th camera, wj is the weight of the dynamic block in area j, n is the total number of cameras, Σ(j∈Ri)wj represents the sum of the weights of all dynamic blocks covered by a single camera i, Σ(k=1→n)Σ(j∈Rk)wj represents the sum of the weights 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 sum of the weights of all dynamic blocks covered by each camera. For each camera module, first, the total weight of the dynamic blocks in these areas is calculated according to the dynamic area it monitors (the dynamic blocks covered by the camera module's field of view), and then, the total weight of all dynamic blocks monitored by all camera modules is calculated, and the real-time priority weight p_i of camera module i is It is the ratio of the sum of the weights of the dynamic blocks it monitors to the sum of the weights of all camera modules. In this way, camera modules with larger dynamic block weights will be assigned higher priority weights.
[0061] More specifically, the priority of the camera module will be adjusted according to the real-time priority weight calculated according to the dynamic block weight. 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 responded to and processed quickly. The system can dynamically adjust the allocation of system resources according to the real-time priority weight of the camera module. For example, for camera modules with higher priorities, the system may allocate more computing resources, bandwidth or higher image resolution to them to ensure that the module can process dynamic events in real time and efficiently.
[0062] Preferably, when the camera module corresponding to the camera area image where the dynamic block appears is a key camera module, the steps of performing trajectory tracking processing on the dynamic block according to the Kalman filter algorithm to obtain a predicted motion trajectory of the dynamic block, and performing dynamic extension analysis and corresponding initial priority weight update on the key camera module according to the predicted motion trajectory to obtain a real-time priority weight of the camera module include: S51: when the camera module corresponding to the camera area image where the dynamic block appears is the key camera module, perform feature analysis on the position vector and the speed vector of the dynamic block to obtain the position vector and the speed vector of the dynamic block; S52: performing prediction processing on the position vector and the velocity vector of the dynamic block for future changes according to the Kalman filter algorithm to obtain a predicted motion trajectory of the dynamic block; 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; S54: performing an update process on the initial priority weight of the camera module corresponding to the extended area to obtain the real-time priority weight of the camera module.
[0063] Specifically, for the detected dynamic block, first determine its position in the current image frame. This position vector can be represented by pixel coordinates, usually the center point position of the object in the image. According to the motion trajectory of the dynamic block in multiple frames of images, calculate the velocity vector of the dynamic block. This velocity vector contains the velocity magnitude and direction of the dynamic block in the image space. Through the position and velocity vectors, the system can fully describe the motion state of the dynamic block and provide necessary data support for subsequent prediction and tracking.
[0064] 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. Based on the position vector and velocity vector at the current moment, the Kalman filtering algorithm predicts the possible position and velocity of the dynamic block at the next moment. Based on the actual observation data (the position of the dynamic block in the next frame of the 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.
[0065] More specifically, based on the predicted motion trajectory obtained by Kalman filtering, the movement trend of the dynamic block in the future time period is analyzed. For example, the system can infer that the dynamic block will move in a certain direction and may cross the monitoring range of multiple camera modules. By analyzing the future motion trajectory of the dynamic block, the system can predict which new areas it will "extend" to, that is, the new camera areas that the dynamic block may cover in the future, mark these new areas as "extended areas", and make corresponding preparations for these areas, such as allocating monitoring resources to them or adjusting the priority of the camera module in advance.
[0066] More specifically, after determining the extended areas that the dynamic blocks may enter, the system will update the initial priority weights of the camera modules to which these areas belong. The system will adjust the priorities of the relevant camera modules based on the predicted extended areas of the dynamic blocks. Generally speaking, the areas to which the dynamic blocks may extend will increase the weights of the camera modules, ensuring that these camera modules can obtain and process the newly arrived dynamic blocks with priority. The updated priority weights will be reflected in the real-time priority adjustments of the camera modules, ensuring that key camera modules can respond in a timely manner when dynamic events occur.
[0067] More specifically, based on the extended area, the priority weights of the camera modules are comprehensively updated to ensure that the camera modules can process the expected dynamic blocks in a timely manner. The priority weight update formula can be based on the predicted motion trajectory of the dynamic blocks and the weight of the extended area to further improve the camera module's responsiveness to future dynamic blocks. Ultimately, through real-time calculation, the priority weight of each camera module will be adjusted according to factors such as the motion trend of the dynamic blocks and the extended area.
[0068] It is understandable 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 system's ability to respond to dynamic events. Dynamic extension analysis enables the system to identify in advance the area where the dynamic block may move, so that the camera module can prepare for the new monitoring area in advance. Especially when the boundary of the camera area is close, 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 and extension area of the dynamic block to ensure that these camera modules can obtain and process the dynamic block first. This strategy can effectively ensure the monitoring quality of key areas (such as crowded areas, important traffic nodes, etc.).
[0069] Preferably, the step of sequentially performing image stitching processing on the camera area images captured by each camera module according to the real-time priority weight of the camera module to obtain a dynamic stitching image includes: S61: performing a comparison process on the real-time priority weights of the camera modules, and sorting the real-time priority weights of the camera modules according to the comparison process result to obtain a weight sequence of the camera modules; S62: performing image stitching processing on the camera area images collected by each camera module in sequence according to the weight sequence of each camera module, so as to obtain a plurality of dynamic stitching images composed of adjacent camera area images.
[0070] Specifically, the real-time priority weights of all camera modules are compared and processed. Each camera module is assigned a real-time priority weight based on its importance in the current monitoring task, coverage area, response priority and other factors. Camera modules with higher weights usually represent that their monitoring areas are more important or more urgently need resource attention. According to the comparison results of the priority weights, all camera modules are sorted. This sorting is performed from high to low weights, that is, the camera module with the highest weight value is in front, and the camera module with lower priority is in the back. The result of the sorting is a weight sequence, which indicates the monitoring priority and processing order of each camera module.
[0071] More specifically, according to the weight sequence generated in the previous step, the images collected by each camera module are stitched in turn. The camera module with a higher weight has a higher priority for image stitching. The goal of image stitching is to synthesize the regional 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 that the transition between adjacent images is smooth without obvious seams or distortion. The images collected by each camera module are stitched in turn, and finally a dynamic stitched image composed of multiple adjacent regional images is obtained. The stitched image can provide a continuous monitoring field of view, covering multiple areas, thereby more comprehensively displaying dynamic scenes.
[0072] More specifically, during the stitching process, there may be overlapping parts of the images, which need to be processed in detail. Image fusion technology is usually used to process the overlapping parts to avoid duplication, blur or unnatural transitions when stitching images, and smooth the edges of the stitched images to avoid obvious seams or abrupt visual effects in the stitching area. Image gradient processing can enhance the naturalness and visual consistency of image stitching.
[0073] It is understandable that by determining the order of image stitching through the real-time priority weight sorting of the camera module, higher priority areas can receive more attention, and image stitching of important areas can be completed first during stitching, thereby improving the intelligence level of image stitching. Prioritizing areas with higher weights can ensure that the details of key areas are displayed more clearly. By stitching images according to the priority weight sequence, the system can dynamically adjust the image stitching order according to the needs of real-time monitoring. 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 of image stitching to ensure that the most important areas are stitched and presented most accurately at any time.
[0074] Reference Figure 2 As shown, in a second aspect, the present invention provides an image stitching system for a low-computing-power camera module array, which is used to implement an image stitching method for a low-computing-power camera module array as described in any one of the first aspects, including: A picture stitching module, used to collect a panoramic image of a target scene through a camera module array composed of a plurality of camera modules, so as to obtain a camera area image of each camera module corresponding to the target scene, and to combine the camera area images of each camera module to obtain a panoramic stitching picture of the target scene; A key marking module is used to obtain a monitoring key marking instruction of a monitoring user for the panoramic stitching picture, and configure the initial priority weight of each camera area image in the panoramic stitching picture according to the monitoring key marking instruction, and divide each camera module into a key camera module and a non-key camera module according to the initial optimization weight corresponding to each camera area image; A dynamic detection module, used to perform dynamic detection of a specified frequency on the camera area image collected by the non-focus camera module, and perform real-time dynamic detection on the camera area image collected by the focus camera module, so as to obtain dynamic detection results of the non-focus camera module and the focus camera module; A weight updating module, for updating the initial priority weight of the camera module corresponding to the camera area image where the dynamic block appears, when the dynamic detection result shows that a dynamic block appears in the camera area image, so as to obtain the real-time priority weight of the camera module; A trajectory tracking module, used for, when the camera module corresponding to the camera area image where the dynamic block appears is a key camera module, performing trajectory tracking processing on the dynamic block according to a Kalman filter algorithm to obtain a predicted motion trajectory of the dynamic block, and performing dynamic extension analysis and corresponding initial priority weight update on the key camera module according to the predicted motion trajectory to obtain a real-time priority weight of the camera module; The dynamic stitching module is used to sequentially stitch the camera area images collected by each camera module according to the real-time priority weight of the camera module to obtain a dynamic stitching image.
[0075] In this embodiment, for the specific implementation of each module in the above system embodiment, please refer to the above method embodiment, which will not be repeated here.
[0076] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. An image stitching method for a low-computing-power camera module array, characterized in that: include: Capturing a panoramic image of a target scene through 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 combining the camera area images of each camera module to obtain a panoramic stitching picture of the target scene; Obtaining a monitoring user's monitoring focus marking instruction for the panoramic stitching picture, and configuring initial priority weights for each of the camera area images in the panoramic stitching picture according to the monitoring focus marking instruction, and dividing each of the camera modules into a focus camera module and a non-focus camera module according to the initial optimization weights corresponding to each of the camera area images; Performing a dynamic detection of a specified frequency on the camera area image collected by the non-focus camera module, and performing a real-time dynamic detection on the camera area image collected by the focus camera module, so as to obtain the dynamic detection results 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 area image, an initial priority weight update process is performed on the camera module corresponding to the camera area image where the dynamic block appears, so as to obtain a real-time priority weight of the camera module; When the camera module corresponding to the camera area image where the dynamic block appears is the key camera module, the dynamic block is tracked according to the Kalman filter algorithm to obtain the predicted motion trajectory of the dynamic block, and the key camera module is dynamically extended and analyzed and the corresponding initial priority weight is updated according to the predicted motion trajectory to obtain the real-time priority weight of the camera module; The camera area images captured by each camera module are sequentially stitched according to the real-time priority weight of the camera module to obtain a dynamic stitched image.
2. The image stitching method for a low-computing-power camera module array according to claim 1, characterized in that: The steps of collecting a panoramic image of a target scene by a camera module array composed of a plurality of camera modules to obtain a camera area image of each camera module corresponding to the target scene, and combining the camera area images of each camera module to obtain a panoramic stitching picture of the target scene include: Performing initial working parameter configuration on a camera module array preset at a designated position, so that the camera module array is in an initial debugging state, and each camera module in the camera module array in the initial debugging state respectively captures an image of a target scene, so as to obtain an image of a camera area corresponding to each camera module; According to the setting position of each camera module in the camera module array, the camera area images acquired by each camera module are subjected to image stitching processing with corresponding position relationship to obtain a panoramic stitching picture of the target scene.
3. The image stitching method for a low-computing-power camera module array according to claim 1, characterized in that: The steps of obtaining a monitoring key labeling instruction of a monitoring user for the panoramic stitching picture, configuring initial priority weights for each of the camera area images in the panoramic stitching picture according to the monitoring key labeling instruction, and dividing each of the camera modules into key camera modules and non-key camera modules according to the initial optimization weights corresponding to each of the camera area images include: An interactive port is constructed based on the panoramic stitching picture, so that a monitoring user of the camera module array can perform interactive operations on the panoramic stitching picture, thereby generating a monitoring focus marking instruction for the panoramic stitching picture; Parsing the monitoring key marking instruction to obtain the area range information of the key monitoring area fed back by the monitoring key marking, and positioning the module monitoring area of each camera module according to the area range information to obtain the positioning result of the module monitoring area of each camera module relative to the key monitoring area; When the positioning result shows that the module monitoring area of the camera module is in the key monitoring area, a high-level initial priority weight is allocated to the camera module to classify the camera module as a key camera module; When the positioning result shows that the module monitoring area of the camera module is not in the key monitoring area, an initial priority weight of a low fan is allocated to the camera module to classify the camera module as a non-key camera module.
4. The image stitching method for a low-computing-power camera module array according to claim 1, characterized in that: 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 includes: When the dynamic detection result shows that a dynamic block appears in the camera area image, data collection of the motion speed and area ratio of the dynamic block is performed to obtain the motion speed v and area ratio s of the dynamic block; Calculating the dynamic block weight of the dynamic block according to the 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 preset balance adjustment parameters; According to the camera module calculation formula pi = Σ(j∈Ri)wj / Σ(k=1→n)Σ(j∈Rk)wj, the overall weight of the camera module with the dynamic block is calculated to obtain the real-time priority weight of the camera module; wherein pi is the priority of the i-th camera, Ri is the set of dynamic areas covered by the i-th camera, wj is the weight of the dynamic block in area j, n is the total number of cameras, Σ(j∈Ri)wj represents the sum of the weights of all dynamic blocks covered by a single camera i, Σ(k=1→n)Σ(j∈Rk)wj represents the sum of the weights of all dynamic blocks of all cameras with a total number of n, the outer layer summation Σ(k=1→n) traverses all cameras from 1 to n, and the inner layer summation Σ(j∈Rk) calculates the sum of the weights of all dynamic blocks covered by each camera.
5. The image stitching method for a low-computing camera module array according to claim 1, characterized in that: When the camera module corresponding to the camera area image where the dynamic block appears is the key camera module, the steps of performing trajectory tracking processing on the dynamic block according to the Kalman filter algorithm to obtain the predicted motion trajectory of the dynamic block, and performing dynamic extension analysis and corresponding initial priority weight update on the key camera module according to the predicted motion trajectory to obtain the real-time priority weight of the camera module include: When the camera module corresponding to the camera area image where the dynamic block appears is the key camera module, characteristic analysis of the position vector and the speed vector of the dynamic block is performed to obtain the position vector and the speed vector of the dynamic block; Predicting future changes of the position vector and the velocity vector of the dynamic block according to the Kalman filter algorithm to obtain a 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 a camera area to which the dynamic block will extend in a future time period, and marking the camera area as an extension area; An initial priority weight update process is performed on the camera module corresponding to the extended area to obtain a real-time priority weight of the camera module.
6. The image stitching method for a low-computing-power camera module array according to claim 5, characterized in that: The step of updating the initial priority weight of the camera module corresponding to the extended area to obtain the real-time priority weight of the camera module includes: Marking the camera module corresponding to the dynamic block as a first camera module, and obtaining a real-time priority weight of the first camera module; Compare the real-time priority weight of the first camera module with the real-time priority weights of the remaining camera modules to determine a camera module whose real-time priority weight is only lower than the real-time priority weight of the first camera module, and mark it as a second camera module; An intermediate value calculation is performed 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 area.
7. The image stitching method for a low-computing camera module array according to claim 1, characterized in that: The steps 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 a dynamic stitching image include: Comparing the real-time priority weights of the camera modules, and sorting the real-time priority weights of the camera modules according to the comparison result to obtain a weight sequence of the camera modules; The camera area images collected by each camera module are sequentially subjected to image stitching processing according to the weight sequence of each camera module, so as to obtain a plurality of dynamic stitching images composed of adjacent camera area images.
8. An image stitching system for a low-computing camera module array, characterized in that: The image stitching method for a low-computing-power camera module array used to implement any one of claims 1 to 7 comprises: A picture stitching module, used to collect a panoramic image of a target scene through a camera module array composed of a plurality of camera modules, so as to obtain a camera area image of each camera module corresponding to the target scene, and to combine the camera area images of each camera module to obtain a panoramic stitching picture of the target scene; A key marking module is used to obtain a monitoring key marking instruction of a monitoring user for the panoramic stitching picture, and configure the initial priority weight of each camera area image in the panoramic stitching picture according to the monitoring key marking instruction, and divide each camera module into a key camera module and a non-key camera module according to the initial optimization weight corresponding to each camera area image; A dynamic detection module, used to perform dynamic detection of a specified frequency on the camera area image collected by the non-focus camera module, and perform real-time dynamic detection on the camera area image collected by the focus camera module, so as to obtain dynamic detection results of the non-focus camera module and the focus camera module; A weight updating module, for updating the initial priority weight of the camera module corresponding to the camera area image where the dynamic block appears, when the dynamic detection result shows that a dynamic block appears in the camera area image, so as to obtain the real-time priority weight of the camera module; A trajectory tracking module, used for, when the camera module corresponding to the camera area image where the dynamic block appears is a key camera module, performing trajectory tracking processing on the dynamic block according to a Kalman filter algorithm to obtain a predicted motion trajectory of the dynamic block, and performing dynamic extension analysis and corresponding initial priority weight update on the key camera module according to the predicted motion trajectory to obtain a real-time priority weight of the camera module; The dynamic stitching module is used to sequentially stitch the camera area images collected by each camera module according to the real-time priority weight of the camera module to obtain a dynamic stitching image.
Citation Information
Patent Citations
Panoramic video real-time monitoring system
CN116016862A
Monitoring equipment commissioning and testing system and method based on data analysis
CN117423052A
Computing power resource calling method of intelligent camera cluster and related equipment
CN118233736A
Monitoring data transmission method based on 5G and water pump house monitoring data transmission system
CN118741255A
Image recognition system based on AI
CN118864941A
Cited By
Focus analysis method and device based on fundus image
CN120107707A
Fundus Image-based Lesion Analysis Method and Device
CN120107707B
Panoramic image processing method and device and panoramic unmanned aerial vehicle
CN121095059A
Panoramic image processing method and device and panoramic unmanned aerial vehicle
CN121095059B