Large-area-array detector dynamic windowing real-time processing method for space moving target

The image processing process of large-array detectors is optimized through the dynamic windowing method, and spatial moving targets can be detected in real time. This solves the computing and storage problems caused by redundant data, and achieves a reduction in data volume and an improvement in processing performance.

CN120640016APending Publication Date: 2025-09-12XIAN INST OF OPTICS & PRECISION MECHANICS CHINESE ACAD OF SCI
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510596358.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-09
Publication Date
2025-09-12

AI Technical Summary

Technical Problem

The images captured by large-array detectors against the backdrop of space contain a large amount of redundant information, which leads to excessive data transmission, increases the computational burden, affects computing and storage efficiency, and makes it difficult for existing technologies to effectively handle complex moving targets in space.

Method used

The dynamic windowing method is adopted to optimize the image processing process through downsampling, histogram transformation, run-length encoding, connectivity analysis and connected domain merging technology, detect spatial moving targets in real time and extract effective areas.

Benefits of technology

It significantly reduces the amount of data, reduces transmission bandwidth occupancy, improves system processing performance, improves target detection accuracy, simplifies calculation complexity, and is suitable for complex moving target detection in space backgrounds.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120640016A_ABST
    Figure CN120640016A_ABST
Patent Text Reader

Abstract

The invention relates to an image processing method, in particular to a large-area array detector dynamic windowing real-time processing method for a space moving target. The objective of the invention is to solve the problem that when a large-area-array detector captures a space moving target under a space background, a large amount of redundant data is occupied in an image data transmission process, and a large amount of data bandwidth resources are occupied. The method comprises the steps of carrying out integration and downsampling on multichannel data output by a detector, counting histogram information of an image and rapidly determining an optimal segmentation threshold value, converting the image into a binary image, carrying out connectivity judgment, obtaining connected domain information, carrying out connected domain area constraint and distance constraint, and obtaining an optimal segmentation threshold value; and carrying out optimization processing such as deletion and combination on the connected domain to obtain a center coordinate of the maximum connected domain, and intercepting original image data to serve as data after dynamic windowing to be output. The method is easy to implement, and effectively solves the problem that the calculation and storage efficiency is affected due to large data volume of a multi-channel large-area-array image.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a real-time processing method for dynamic windowing of a large-array detector for space moving targets, and belongs to the technical field of space target detection and image processing. Background Art

[0002] With the development of space exploration technology, space target detection has become a key research area in aerospace science and engineering. Detection equipment typically uses large-array detectors to capture and image space targets, acquiring image data with a large field of view. Against the backdrop of space, the image data captured by large-array detectors often contains a large amount of useless background information. These background areas are mostly black or near-black pixels, and this invalid data consumes a significant amount of available storage space. Furthermore, this redundant data consumes significant bandwidth during transmission, increasing the computational burden and leading to system response delays, impacting computational and storage efficiency in real-time image acquisition of high-speed moving space targets.

[0003] Chinese patent CN114022345A discloses a dynamic windowing method and device for multi-channel large-area array images. However, its shortcomings include processing only star-point targets and failing to process complex moving targets in space. Chinese patent CN117853517A discloses an on-orbit, real-time connected domain detection method based on an FPGA. However, its shortcomings include using only four-neighborhood connectivity judgment, resulting in insufficient detection accuracy for complex moving targets in space. Furthermore, each connected domain is stored as independent data without optimization, lacks an association mechanism, and suffers from low data transmission efficiency. Summary of the Invention

[0004] The purpose of the present invention is to solve the problem that images captured by large-array detectors in a space background contain a large amount of redundant information, which leads to excessive data transmission, increased computing burden, and affected computing and storage efficiency. A dynamic windowing real-time processing method for large-array detectors for space moving targets is proposed.

[0005] To achieve the above objectives, the technical solutions provided by the present invention are:

[0006] A method for real-time processing of dynamic windowing of a large array detector for space moving targets is special in that it includes the following steps:

[0007] Step 1: The detector acquires N-channel images, takes the N-channel images as the current frame image, integrates the N-channel images output by the detector, and obtains the original grayscale image Image0 with image width W and height H. The dynamic output window width w and height h are set; the image Image0 is downsampled by a downsampling factor of α to obtain the grayscale image Image1 with width W0 and height H0;

[0008] Step 2: Construct and save the histogram histogram of image 1, and transform the histogram histogram to obtain the optimized histogram histogram sf , and use the optimized histogram hist sf Calculate the optimal segmentation threshold i T ;

[0009] Step 3: Use the optimal segmentation threshold i T Perform binarization on the image Image1 and convert the grayscale values ​​in the image Image1 greater than i T The pixels of are assigned a value of 1 and marked as valid pixels, and the rest of the pixels are assigned a value of 0 to obtain a binary image Image2; the image Image2 is run-length encoded line by line, and the row number, starting point and ending point of each valid pixel run are recorded to form a run-length information set {F hj},in represents the run length of the jth valid pixel in the hth row of image Image2, where h and j are both integers and h and j ≥ 0;

[0010] Step 4: Collect the run information row by row. hi} to perform connectivity analysis on all runs in the system; determine whether a connected domain exists. If not, store the current run as a connected domain; if so, and the current run meets the preset spatial adjacency condition with any stored connected domain, merge the connected domains of the current run and then store them; otherwise, store them as a connected domain; output the connected domains without subsequent adjacent rows in the stored connected domains to form a connected domain set {R k},in Indicates the starting row of the kth independent connected component End Line Starting column and end column k is an integer, and k≥0;

[0011] Step 5: Calculate the connected domains R k Pixel area S k , filter those that satisfy S k The connected domain that is larger than the preset area constraint value S° generates a connected domain set with area constraint { s R m},in Indicates the starting row of the mth independent connected domain after area screening End Line Starting column and end column m≤k, m is an integer, and m≥0;

[0012] Step 6: For the connected domain set {s R m}, and if the distance is less than or equal to the preset distance constraint value L°, the connected domain fusion is performed; after the traversal is completed, the optimized connected domain set { sl R n},in Indicates the starting row of the nth independent connected domain after area and distance screening End Line Starting column and end column And n≥0; then extract { sl R n}, calculate the center coordinates (C x , C y ), as the target center position;

[0013] Step 7: Move the target center position (C x , C y ) is mapped to the coordinate space of the original image Image0 according to the downsampling ratio in step 1, and (C x , C y ) is defined as the geometric center. Based on the output window width w and height h set in step 1, and the width W and height H of image Image0, an image Image3 with a size of w × h is intercepted from Image0; Image3 is transmitted to an external processing device through a high-speed interface to complete real-time processing of the current frame image;

[0014] Step 8: Repeat steps 1 to 7 until the dynamic windowing of all image frames is completed, thus completing the real-time dynamic windowing processing of the large array detector for spatial moving targets.

[0015] Furthermore, step 2 is specifically as follows:

[0016] Step 2.1, construct and save the histogram hist of image Image1, detect the global peak point M of the histogram hist, the coordinates are (i M ,y(i M )); Traverse the data on the right side of the histogram and locate the farthest non-zero point E from point M, the coordinates are (i E ,y(i E ));

[0017] Step 2.2: Transform the histogram hist. The transformation rule is:

[0018] y sf =(i M -i)·sinθ+(y(i M )-y(i))·cosθ

[0019] Among them, θ is the angle of the histogram hist rotated clockwise,

[0020] command hist sf (i) = D·y sf (i), the changed histogram hist sf Expressed as:

[0021] hist sf (i)=(i M -i)·y(i M )+(y(i M )-y(i))·(i E -i M )

[0022] Step 2.3, from the transformed histogram hist sf In the example, the number that makes the histogram value the largest is selected as the optimal segmentation threshold i T .

[0023] Furthermore, step 3 is specifically as follows:

[0024] Step 3.1, according to the optimal segmentation threshold i T , perform binarization on the downsampled image Image1, and convert the grayscale values ​​greater than i T The pixel of is assigned a value of 1 and is defined as a valid pixel, and the remaining pixels are assigned a value of 0 to obtain the image Image2;

[0025] Step 3.2: Encode the run-length information of the valid pixels in each row of the image Image2, using Indicates the jth valid pixel run information of the hth row in the image Image2, which indicates the row where the valid pixel run is located, the starting point of the valid pixel run, and the ending point of the valid pixel run. hj} represents a set of run information, which is stored in the FIFO in sequence. After all valid pixel runs in Image2 are stored in the FIFO, the end data End is written at the end of the last run information. The end data End is used to determine the end of the image of the current frame. h and j are both integers, and h and j ≥ 0.

[0026] Furthermore, step 4 is specifically as follows:

[0027] Step 4.1: Read the first run length information from the FIFO obtained in step 3.2 in order, and then execute step 4.2;

[0028] Step 4.2: Get the currently read run information. If it contains the end data End, execute step 4.8; if it does not contain the end data End, execute step 4.3;

[0029] Step 4.3: Get the row number of the row where the current run is located in the run information read If the number of rows read at this time is consistent with the number of rows read last time, it is determined that the read runs are in the same row, and then step 4.4 is executed; if the number of rows read at this time is inconsistent with the number of rows read last time, it is determined that the runs are in different rows, and then step 4.6 is executed;

[0030] Step 4.4: Determine whether the current run information is adjacent to the data stored in the connected domain information RAM0. If no connected domain is stored in RAM0, store the current run as a connected domain. If a connected domain is stored in RAM0, and the current run information is adjacent to any connected domain stored in the connected domain information RAM0, execute step 4.7 to determine connectivity. If RAM0 is empty or the current run information is not adjacent to any data stored in RAM0, execute step 4.5.

[0031] Step 4.5: Use the current journey information as the connected domain information and set the connected domain information in represents the starting row of the j-th connected component, represents the end row of the j-th connected domain, represents the starting column of the j-th connected component, Indicates the end column of the j-th connected domain; sets the temporary run information The start column and end column information of the j-th connected domain connected to the current run, temporarily storing the run information Z j and connected domain information R j is a one-to-one correspondence; R j and Z j Store them in the connected domain information RAM0 and the temporary run information RAM1 respectively, then return to step 4.1 and read the next run information;

[0032] Step 4.6, read the temporary run information Z in sequence j ,like If both are 0, it means that the j-th connected domain has no adjacent relationship with any run of the current row, and then the connected domain information is added to the connected domain storage RAM2, and then return to step 4.5;

[0033] Step 4.7: Get the current journey information from step 4.1 All temporary run information in RAM1 Compare and judge the connectivity of eight neighborhoods. If the current run information F hj At the same time, the connectivity conditions are met and The current stroke is connected to the temporary stroke, and Z j in and Update according to the following rules:

[0034]

[0035] At the same time, the connected domain information R in RAM0 j To update:

[0036]

[0037] If the current stroke information and the temporary stroke information Z j If all the run information in does not meet the connectivity condition, it is defined as a new run and added to the connected domain information RAM0 and the temporary run information RAM1. After processing is completed, go to step 4.1;

[0038] Step 4.8: Add all the connected domain information stored in the connected domain information RAM0 to the connected domain storage RAM2 to form a connected domain set {R k}.

[0039] Furthermore, step 5 is specifically as follows:

[0040] Set the area constraint value S°, read the information of each connected domain from the connected domain storage RAM2 output in step 4, and record the kth connected domain information according to the output order. Calculate the area of ​​each connected domain If S k >S°, then retain the current connected domain information; if S k ≤S°, then delete the current connected domain information from the connected domain storage RAM2; record it as the connected domain set after the mth area constraint

[0041] Furthermore, step 6 is specifically as follows:

[0042] Step 6.1, set the distance constraint value L°, obtain the connected domain information stored in RAM2 after the area constraint in step 5 Calculate the coordinates of the center point of each connected region {(X c , Y c )}, and then calculate the absolute value of the distance between the center points of each two connected domains in the x direction {D x} and the absolute value of the distance in the y direction {D y};

[0043] Step 6.2: Calculate the distance {D′ between each two connected domains in the x direction x}, and the distance in the y direction {D′ y},in, The width and height of the first connected region are denoted as w′ a and h′ a , the width and height of the second connected domain are represented as w′ b and h′ b ;

[0044] Step 6.3: If D′ in a group calculated in step 6.2 is x and D′ y are all less than 0, it means that there are overlapping areas in the two connected domains, and the merging conditions are met; if D′ in a group x and D′ y If both are not less than 0, then take the maximum value of the two L=max(D′ x , D′ y ); If the distance L between the two connected domains is less than or equal to the preset distance constraint value L°, that is, L≤L°, then the two connected domains meet the merging condition and execute step 6.4; If the distance L between the two connected domains is greater than the preset distance constraint value L°, that is, L>L°, then the two connected domains do not meet the merging condition and execute step 6.5;

[0045] Step 6.4: For the connected domain information of two connected domains that meet the merging conditions and Perform the merge operation according to the following rules to obtain the merged connected domain information

[0046]

[0047] At the same time, the information of the two connected domains that meet the merging conditions is replaced by the information of the merged connected domain in the connected domain storage RAM2;

[0048] Step 6.5: Repeat steps 6.3 and 6.4 until all connected domains that meet the merging conditions are merged. According to the order of merging, the information of the nth connected domain after the distance constraint is recorded. Where n≤m;

[0049] Step 6.6: From all connected domain information finally merged in step 6.5, select the connected domain information with the largest area as the best connected domain information. in represents the starting row of the best connected region, represents the end row of the best connected domain, represents the starting column of the best connected domain, Indicates the end column of the best connected domain;

[0050] Step 6.7: Calculate the optimal connected domain information R * The center coordinates of the image are multiplied by the downsampling factor α to restore it to the original image size and obtain the final center coordinates (C x , C y ),in

[0051] Furthermore, step 7 is specifically as follows:

[0052] According to the width W and height H of the image Image0 in step 1, the output window width w and output window height h are set, and the center coordinates (C x ,C y ), calculate the starting row h of the output image start , the end line h of the output image end , the starting column w of the output image start and the end column w of the output image end , intercept the image h in Image0 start 、h end 、w start and w end The image Image3 is obtained from the area enclosed by the image, and then the image Image3 is transmitted to the storage space of the external device through the high-speed interface to complete the real-time processing of the current frame image; start 、h end 、w start and w end The calculation formula is as follows:

[0053]

[0054] Compared with the prior art, the present invention has the following beneficial effects:

[0055] 1. The present invention proposes a method for real-time processing of dynamic windowing of a large-array detector for space moving targets. By detecting space moving targets in real time and dynamically adjusting the window position with the target area as the center, the effective target area is extracted from the original large-array image. This method significantly reduces the amount of data, effectively reduces the transmission bandwidth occupancy, and significantly improves the system processing performance, thereby effectively solving the bandwidth and performance problems caused by redundant data.

[0056] 2. In the method for real-time dynamic windowing processing of large-array detectors for spatial moving targets described in the present invention, step 2 uses histogram transformation technology to simplify the calculation process for selecting the optimal segmentation threshold from complex mathematical operations to simple calculations, greatly reducing the computational complexity of the algorithm and providing favorable conditions for real-time processing and hardware implementation of the system.

[0057] 3. In the dynamic windowing real-time processing method for a large-array detector for space moving targets described in the present invention, steps 3 and 4 compress the effective image data by using run-length information encoding technology and combine it with a connectivity analysis algorithm to obtain connected domain information, thereby effectively reducing data storage requirements.

[0058] 4. The method for dynamic windowing and real-time processing of large-array detectors for space moving targets described in the present invention, in step 5, the connected domain area constraint algorithm is implemented to effectively filter out interference information of small-area connected domains, further reducing data storage requirements; in step 6, the connected domain distance constraint algorithm is adopted to efficiently integrate connected domains that meet the preset distance threshold, which is particularly suitable for complex moving target detection scenarios under the dark background of space, and significantly improves the target detection accuracy of the system. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] Figure 1 This is a flow chart of a method for real-time dynamic windowing processing of a large-array detector for space moving targets according to the present invention;

[0060] Figure 2 The present invention is a logic flow chart for determining the connectivity of run information in step 4 of a dynamic windowing real-time processing method for a large-area array detector for spatial moving targets. The numbers in the figure are described as follows: S01 - reading data from the run information FIFO; S02 - determining whether end data is detected; S03 - determining whether the read run information and the previously read run information are in the same row; S04 - determining whether the read run information and the connected domain information stored in the RAM are in adjacent rows; S05 - directly storing the run information as connected domain information; S06 - outputting and storing connected domain information that has no adjacent relationship with all runs in the current row; S07 - performing connectivity determination, merging and updating the connected domain information, or adding new connected domain information; S08 - detecting end data, outputting and storing all connected domain information;

[0061] Figure 3Schematic diagram of the original grayscale image Image0, the downsampled image Image1, the binarized image Image2, and the window-selected image Image3 in step 1 of an embodiment of a method for dynamic windowing and real-time processing of a large-area array detector for a space moving target according to the present invention; wherein (a) is a schematic diagram of the original grayscale image Image0 and the window-selected image Image3, (b) is a schematic diagram of the downsampled image Image1, and (c) is a schematic diagram of the binarized image Image2;

[0062] Figure 4 Schematic diagram of multi-channel image integration and downsampling processing of a multi-channel large area array detector in step 1 of an embodiment of a method for real-time processing of dynamic windowing of a large area array detector for space moving targets of the present invention;

[0063] Figure 5 A schematic diagram of the histogram transformation and optimal segmentation threshold selection in step 2 of an embodiment of a large-array detector dynamic windowing real-time processing method for space moving targets of the present invention;

[0064] Figure 6 Schematic diagram of effective pixels used in step 3 of an embodiment of a method for dynamic windowing and real-time processing of a large area array detector for space moving targets according to the present invention. DETAILED DESCRIPTION

[0065] The technical solutions in the embodiments of the present invention are clearly and completely described and illustrated below in conjunction with the drawings in the embodiments of the present invention.

[0066] The embodiment of the present invention provides a method for real-time processing of dynamic windowing of a large array detector for space moving targets. Taking the imaging of a large array CMOS detector as an example, see Figure 4 ,The number of data channels of the detector is N=22, the image data channels are output in parallel, each data channel outputs 360 pixels, and the 22 channels output a total of 7920 pixels;

[0067] Step 1: Integrate the 22 channel images output by the detector to obtain the original grayscale image Image0 with a resolution of W×H (W=7920, H=6004) and a pixel depth of 8 bits. Set the output window width w=4096 and the output window height h=2160. Figure 4 , image Image0 is downsampled by setting the downsampling factor α=4 according to the interval sampling method, and a grayscale image Image1 with a resolution of W0×H0 (W0=1980, H0=1501) is obtained;

[0068] Step 2: Create and save the histogram histogram of image Image1, and then transform the histogram histogram to obtain the transformed histogram histogram sf , see Figure 5 , define the histogram hist peak point M(i M ,y(i M )),i M =8,y(i M )=26919, the non-zero point E(i E ,y(i E )),i E =255,y(i E )=5. Connect point M and point E to get line segment ME. Calculate the distance between each point on the histogram and line segment ME. The horizontal coordinate of the point with the largest distance is the optimal segmentation threshold. In order to simplify the calculation, perform coordinate transformation on all points between point M and point E. The transformation rule is: sf =(i M -i)·sinθ+(y(i M )-y(i))·cosθ, where:

[0069] i∈{i M ,…,i E}

[0070]

[0071] Furthermore, the transformation rules can be transformed into:

[0072] D.y sf =(i M -i)·(y(i M )-y(i E ))+(y(i M )-y(i))·(i E -i M )

[0073] Substitute the coordinate values ​​of point M and point E into hist sf =D·y sf , so we have:

[0074] hist sf =(8-i)·26914+(26919-y(i))·247

[0075] Substitute the coordinates of all points between point M and point E into the above formula for calculation, and get hist sf The largest i value is taken as the optimal segmentation threshold i T :

[0076] histsf (iT)=max({hist sf (i)}: i=8,...,255)

[0077] The final calculation shows that the optimal segmentation threshold is 14. Therefore, only 4 subtraction operations, 2 multiplication operations, and 1 addition operation are needed to complete the maximum distance determination from the point on the histogram to the line segment ME, which greatly simplifies the calculation complexity;

[0078] Step 3: After obtaining the optimal segmentation threshold, perform binarization on the downsampled image and perform run-length encoding on the valid pixels. The specific steps are as follows:

[0079] Step 3.1, according to the optimal segmentation threshold i T After that, the downsampled image Image1 is binarized and the image gray value is greater than the optimal segmentation threshold i T The pixel value of is set to 1 and defined as a valid pixel point, and the remaining pixels are set to 0 to obtain the image Image2;

[0080] Step 3.2: Encode the run-length information of the valid pixels in each row of the image Image2, using Indicates the j-th valid pixel run information of the h-th row in the image Image2, which indicates the row where the valid pixel run is located, the starting point of the valid pixel run, and the ending point of the valid pixel run. It is stored in the first-in-first-out storage queue FIFO in sequence, with a total bit width of 33 bits and a depth of 65536. The bit width is 11 bits. Set the end data to End = [2048, 0, 0]. Figure 6 It represents the simplified binary image, and white represents the effective pixel. The run-length information in the figure is represented as follows: F 0,1 =[0, 1, 3], F 0,2 =[0,7,8],F 0,3 =[0, 10, 10], F 0,4 =[0, 12, 13], F 1,1 =[1,9,11],F 2,1 =[2,3,7],F 2,2 =[2, 10, 10];

[0081] Step 4: Check the connected domain of all the run information row by row. If the connected condition is met, merge the run information until it is detected that there is no run information with adjacent rows, and output the corresponding run information. Figure 6 As shown in Table 1, all the run information of row 0 is directly stored as connected domain information: R 0 =[0,0,1,3],R1 =[0, 0, 7, 8], R 2 =[0,0,10,10],R 3 =[0,0,12,13],Z 0 =[1,3,0,0],Z 1 =[7,8,0,0],Z 2 =[10,10,0,0],Z 3 =[12, 13, 0, 0], and store them in random access memory RAM0 and RAM1 respectively. The total bit width of RAM is 44 bits and the depth is 2048. Read the run information F of the first line 1,1 = [1, 9, 11], and compare with the data in RAM1 in turn, the current run information F 1,1 The connectivity conditions with the 1st, 2nd and 3rd connected domains are met. See Table 1. Update the data in RAM0 and RAM1 according to the update rules. Read the run information F of the 2nd row. 2,1 = [2, 3, 7], the data stored in RAM0 and RAM1 are the data after the connected domain is updated, and the data stored in RAM0 R 0 =[0,0,1,3],R 1 =[0, 1, 7, 13], RAM1 storage data Z 0 =[1,3,0,0],Z 1 =[7, 13, 9, 11]. 0 It can be seen that the connected domain information R 0 and itinerary information F 2,1 There is no adjacent relationship, directly connect the domain information R 0 Added to the connected domain storage RAM2, the rest of the data in RAM0 and RAM1 are filled in turn. At this time, the storage data R in RAM0 0 =[0, 1, 7, 13], RAM1 storage data Z 0 =[7, 13, 9, 11]; due to F 2,1 The data stored in RAM0 does not meet the connectivity judgment condition, and it is used as the new connectivity domain information R 1 =[2, 2, 3, 7], Z 1 = [3, 7, 3, 7], added to RAM0 and RAM1 respectively. Continue to read the run information F of the second line 2,2 = [2, 10, 10], update according to the connected domain update rule, after update R 0 =[0, 2, 7, 13], Z 0 =[7, 13, 10, 10]. If F 2,2If the next data is the end data [2048, 0, 0], all the data in RAM0 will be output and stored in RAM2. RAM2 stores the information of 3 connected domains R 0 =[0,0,1,3],R 1 =[0, 2, 7, 13], R 2 =[2, 2, 3, 7];

[0082] Table 1

[0083]

[0084]

[0085] Step 5: Set the area constraint value S°=4, read the information of each connected domain from the connected domain storage RAM2 in sequence, and record it as the kth connected domain information according to the order of output. Calculate the area of ​​each connected domain based on the connected domain information Then S 0 =3, S 1 =21, S 2 =5; R 0 Delete from the connected domain storage RAM2, and the remaining connected domain information is s R 0 =[0, 2, 7, 13], s R 1 =[2, 2, 3, 7];

[0086] Step 6: Set the distance constraint value L°=1, calculate the center coordinates of each connected domain according to the connected domain information stored in RAM2. s R 0 The center coordinates of are (10, 1), s R 1 The center coordinates are (5, 2). Calculate the absolute value D of the distance between each two connected domain center points in the x direction x =5, the absolute value of the distance in the y direction D y =1, and calculate the distance between each two connected domains in the x direction The distance between each two connected domains in the y direction where D′ x If it is a negative number, it means that there is an overlapping area between the two connected domains, so they are merged. The connected area information after the merger is R c =[0, 2, 3, 13].

[0087] Figure 3 The best connected domain information R of Image2 * =[812,947,539,1093], calculate the best connected region information R* The center coordinates of the , and multiplied by the downsampling factor α = 4, the final center coordinates are (C x , C y )=(3264,3518), corresponding to Figure 3 The red mark point on Image0; Figure 3 The yellow rectangle in the figure is the bounding box of the best connected domain.

[0088] Step 7: Based on the width W=7920 and height H=6004 of the image Image0 in step 1, the output window width w=4096 and the output window height h=2160 are set. Figure 3 The spatial target in Image0 in the image is processed from step 2 to step 6, and the center coordinates of the best connected domain are (3264, 3518). The starting row h of the output image is calculated. start =2438, end row h end =4597, starting column w start =1216, end column w end =5311, and intercept h in image Image0 start 、h end 、w start and w end The enclosed area, see Figure 3 After obtaining the image Image3, it is transferred to the storage space of the external device to complete the image transmission.

[0089] where h start 、h end 、w start and w end The calculation formula is as follows:

[0090]

[0091]

[0092] The present invention uses dynamic windowing technology to detect spatial moving targets in real time and optimize the extraction of effective areas, significantly reducing data while ensuring the capture accuracy of spatial moving targets. It is particularly suitable for image processing equipment with high requirements for real-time data processing and limited hardware resources.

Claims

1. A real-time processing method for dynamic windowing of a large array detector for space moving targets, characterized by: The following steps are involved: Step 1: The detector acquires N-channel images, takes the N-channel images as the current frame image, integrates the N-channel images output by the detector, and obtains the original grayscale image Image0 with image width W and height H. The dynamic output window width w and height h are set; the image Image0 is downsampled by a downsampling factor of α to obtain the grayscale image Image1 with width W0 and height H0; Step 2: Construct and save the histogram histogram of image 1, and transform the histogram histogram to obtain the optimized histogram histogram sf , and use the optimized histogram hist sf Calculate the optimal segmentation threshold i T ; Step 3: Use the optimal segmentation threshold i T Perform binarization on the image Image1 and convert the grayscale values ​​in the image Image1 greater than i T The pixels of are assigned a value of 1 and marked as valid pixels, and the rest of the pixels are assigned a value of 0 to obtain a binary image Image2; the image Image2 is run-length encoded line by line, and the row number, starting point and ending point of each valid pixel run are recorded to form a run-length information set {F hj },in represents the run length of the jth valid pixel in the hth row of image Image2, where h and j are both integers and h and j ≥ 0; Step 4: Collect the run information row by row. hj } to perform connectivity analysis on all runs in the system; determine whether a connected domain exists. If not, store the current run as a connected domain; if so, and the current run meets the preset spatial adjacency condition with any stored connected domain, merge the connected domains of the current run and then store them; otherwise, store them as a connected domain; output the connected domains without subsequent adjacent rows in the stored connected domains to form a connected domain set {R k },in Indicates the starting row of the kth independent connected component End Line Starting column and end column k is an integer, and k≥0; Step 5: Calculate the connected domains R k Pixel area S k , filter those that satisfy S k The connected domain that is larger than the preset area constraint value S° generates a connected domain set with area constraint { s R m },in Indicates the starting row of the mth independent connected domain after area screening End Line Starting column and end column m is an integer, and m≥0; Step 6: For the connected domain set { a R m }, and if the distance is less than or equal to the preset distance constraint value L°, the connected domain fusion is performed; after the traversal is completed, the optimized connected domain set { s1 R n },in Indicates the starting row of the nth independent connected domain after area and distance screening End Line Starting column and end column And n≥0; then extract { s1 R n }, calculate the center coordinates (C x , C y ), as the target center position; Step 7: Move the target center position (C x , C y ) is mapped to the coordinate space of the original image Image0 according to the downsampling ratio in step 1, and (C x , C y ) is defined as the geometric center. Based on the output window width w and height h set in step 1, and the width W and height H of image Image0, an image Image3 with a size of w × h is intercepted from Image0; Image3 is transmitted to an external processing device through a high-speed interface to complete real-time processing of the current frame image; Step 8: Repeat steps 1 to 7 until the dynamic windowing of all image frames is completed and the spatial motion is completed. The large array detector of the target dynamically opens windows and processes in real time.

2. The method for real-time dynamic windowing processing of a large-array detector for space moving targets according to claim 1, characterized in that: Step 2 is as follows: Step 2.1, construct and save the histogram hist of image Image1, detect the global peak point M of the histogram hist, the coordinates are (i M ,y(i M )); Traverse the data on the right side of the histogram and locate the farthest non-zero point E from point M, the coordinates are (i E ,y(i E )); Step 2.2: Transform the histogram hist. The transformation rule is: y sf =(i M -i)·sinθ+(y(i M )-y(i))·cosθ Among them, θ is the angle of the histogram hist rotated clockwise, command hist sf (i) = D·y sf (i), the histogram after the change hist sf Expressed as: hist sf (i)=(i M -i)·y(i M )+(y(i M )-y(i))·(i E -i M ) Step 2.3, from the transformed histogram hist sf In the example, the number that makes the histogram value the largest is selected as the optimal segmentation threshold i T .

3. The method for real-time dynamic windowing processing of a large-array detector for space moving targets according to claim 1, characterized in that: Step 3 is as follows: Step 3.1, according to the optimal segmentation threshold i T , perform binarization on the downsampled image Image1, and convert the grayscale values ​​greater than i T The pixel of is assigned a value of 1 and is defined as a valid pixel, and the remaining pixels are assigned a value of 0 to obtain the image Image2; Step 3.2: Encode the run-length information of the valid pixels in each row of the image Image2, using Indicates the jth valid pixel run information of the hth row in the image Image2, which indicates the row where the valid pixel run is located, the starting point of the valid pixel run, and the ending point of the valid pixel run. hj } represents a set of run information, which is stored in the FIFO in sequence. After all valid pixel runs in Image2 are stored in the FIFO, the end data End is written at the end of the last run information. The end data End is used to determine the end of the image of the current frame. h and j are both integers, and h and j ≥ 0.

4. The method for real-time dynamic windowing processing of a large-array detector for space moving targets according to claim 1, characterized in that: Step 4 is as follows: Step 4.1: Read the first run length information from the FIFO obtained in step 3.2 in order, and then execute step 4.2; Step 4.2: Get the currently read run information. If it contains the end data End, execute step 4.8; if it does not contain the end data End, execute step 4.3; Step 4.3: Get the row number of the row where the stroke is located in the currently read stroke information If the number of rows read at this time is consistent with the number of rows read last time, it is determined that the read runs are in the same row, and then step 4.4 is executed; if the number of rows read at this time is inconsistent with the number of rows read last time, it is determined that the runs are in different rows, and then step 4.6 is executed; Step 4.4: Determine whether the current run information is adjacent to the data stored in the connected domain information RAM0. If no connected domain is stored in RAM0, store the current run as a connected domain. If a connected domain is stored in RAM0, and the current run information is adjacent to any connected domain stored in the connected domain information RAM0, execute step 4.7 to determine connectivity. If RAM0 is empty or the current run information is not adjacent to the data stored in RAM0, execute step 4.5; Step 4.5: Use the current travel information as the connected domain information and set the connected domain information in represents the starting row of the j-th connected component, represents the end row of the j-th connected domain, represents the starting column of the j-th connected component, Indicates the end column of the j-th connected domain; sets the temporary run information The start column and end column information of the j-th connected domain connected to the current run, temporarily storing the run information Z j and connected domain information R j is a one-to-one correspondence; R j and Z j Store them in the connected domain information RAM0 and the temporary run information RAM1 respectively, then return to step 4.1 and read the next run information; Step 4.6, read the temporary run information Z in sequence j ,like If both are 0, it means that the j-th connected domain has no adjacent relationship with any run of the current row, and then the connected domain information is added to the connected domain storage RAM2, and then return to step 4.5; Step 4.7: Get the current journey information from step 4.1 All temporary run information in RAM1 Compare and judge the connectivity of eight neighborhoods. If the current run information F hj At the same time, the connectivity conditions are met and The current stroke is connected to the temporary stroke, and Z j in and Update according to the following rules: At the same time, the connected domain information R in RAM0 j To update: If the current stroke information and the temporary stroke information Z j If all the run information in does not meet the connectivity condition, it is defined as a new run and added to the connected domain information RAM0 and the temporary run information RAM1. After processing is completed, go to step 4.1; Step 4.8: Add all the connected domain information stored in the connected domain information RAM0 to the connected domain storage RAM2 to form a connected domain set {R k }.

5. The method for real-time dynamic windowing processing of a large-array detector for space moving targets according to claim 1, characterized in that: Step 5 is as follows: Set the area constraint value S°, read the information of each connected domain from the connected domain storage RAM2 output in step 4, and record the kth connected domain information according to the output order. Calculate the area of ​​each connected domain If S k >S°, then retain the current connected domain information; if S k ≤S°, then delete the current connected domain information from the connected domain storage RAM2; record it as the connected domain set after the mth area constraint 6. The method for real-time dynamic windowing processing of a large-array detector for space moving targets according to claim 1, characterized in that: Step 6 is as follows: Step 6.1, set the distance constraint value L°, obtain the connected domain information stored in RAM2 after the area constraint in step 5 Calculate the coordinates of the center point of each connected region {(X c , Y c )}, and then calculate the absolute value of the distance between the center points of each two connected domains in the x direction {D x } and the absolute value of the distance in the y direction {D y }; Step 6.2: Calculate the distance {D′ between each two connected domains in the x direction x }, and the distance in the y direction {D′ y },in, The width and height of the first connected region are denoted as w′ a and h′ a , the width and height of the second connected domain are represented as w′ b and h′ b ; Step 6.3: If D′ in a group calculated in step 6.2 is x and D′ y are all less than 0, it means that there are overlapping areas in the two connected domains, and the merging conditions are met; if D′ in a group x and D′ y If both are not less than 0, then take the maximum value of the two L=max(D′ x , D′ y ); If the distance L between the two connected domains is less than or equal to the preset distance constraint value L°, that is, L≤L°, then the two connected domains meet the merging condition and execute step 6.4; If the distance L between the two connected domains is greater than the preset distance constraint value L°, that is, L>L°, then the two connected domains do not meet the merging condition and execute step 6.5; Step 6.4: For the connected domain information of two connected domains that meet the merging conditions and Perform the merge operation according to the following rules to obtain the merged connected domain information At the same time, the information of the two connected domains that meet the merging conditions is replaced by the information of the merged connected domain in the connected domain storage RAM2; Step 6.5: Repeat steps 6.3 and 6.4 until all connected domains that meet the merging conditions are merged. According to the order of merging, the information of the nth connected domain after the distance constraint is recorded. Where n≤m; Step 6.6: From all connected domain information finally merged in step 6.5, select the connected domain information with the largest area as the best connected domain information. in represents the starting row of the best connected region, represents the end row of the best connected domain, represents the starting column of the best connected domain, Indicates the end column of the best connected domain; Step 6.7: Calculate the optimal connected domain information R * The center coordinates of the image are multiplied by the downsampling factor α to restore it to the original image size and obtain the final center coordinates (C x , C y ),in 7. The method for real-time dynamic windowing processing of a large-array detector for space moving targets according to claim 1, characterized in that: Step 7 is as follows: According to the width W and height H of the image Image0 in step 1, the output window width w and output window height h are set, and the center coordinates (C x ,C y ), calculate the starting row h of the output image start , the end line h of the output image end , the starting column w of the output image start and the end column w of the output image end , intercept the image h in Image0 start 、h end 、w start and w end The image Image3 is obtained from the area enclosed by the image, and then the image Image3 is transmitted to the storage space of the external device through the high-speed interface to complete the real-time processing of the current frame image; start 、h end 、w start and w end The calculation formula is as follows:

Citation Information

Patent Citations

  • Dynamic windowing method and device for multi-channel large-area-array image

    CN114022345A

  • On-orbit real-time connected domain detection method based on FPGA

    CN117853517A