Using matrix correction for detection of image and depth information
By generating intermediate images and selecting neighborhoods with less distortion, the average image is corrected to generate the final image, thus solving the problems of image distortion and artifacts when inspecting goods with X-rays and achieving high-quality image reconstruction and depth information acquisition.
Patent Information
- Application Number
- CN202080094649.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-12-13
- Filing Date
- 2020-12-11
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2040-12-11
AI Technical Summary
In existing technologies, image distortion and artifacts caused by partial oversampling of cargo during X-ray inspection are particularly noticeable when the reconstruction plane is not properly selected.
By generating intermediate images and selecting neighborhoods with less distortion, the average image is corrected to generate the final image. At the same time, a depth image is generated to provide distance information of the cargo portion relative to the matrix and the source, reducing distortion caused by oversampling.
It effectively corrects distortions in cargo images, generates a final image with reduced artifacts, and provides depth information, thus improving image quality.
Smart Images

Figure CN115087860B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to, but is not limited to, a method for inspecting goods using X-rays. This disclosure also relates to, but is not limited to, a corresponding inspection system and a corresponding computer product or computer program. Background Technology
[0002] Inspecting cargo with X-rays involves scanning the cargo and a scanner, including detectors, by moving them relative to each other in a mutual scanning displacement. The scanner detects the radiation generated by the cargo being irradiated with multiple consecutive X-ray pulses during the mutual scanning displacement. A detector matrix comprising multiple detectors in at least two rows can be used for inspection.
[0003] like Figure 1A and Figure 1B As shown, the projection of point A or B of cargo 10 onto matrix 1 depends on the distance z between point A or B and matrix 1. Figure 1A As shown, points A and B are projected onto row 12 of matrix 1. Figure 1B As shown, when point A, located at a distance z corresponding to the intermediate plane, moves a distance d during the scan, point A is projected onto row 13 of matrix 1. However, when point B, located closer to matrix 1 at a distance z, moves the same distance d during the scan, point B is projected onto row 12 of matrix 1. It should be understood that for Figure 1A A pulse on the image, two points A and B located on the same projection line (and therefore represented by a single point in the corresponding image) for Figure 1B The X-ray pulses are discrete. The depth dependence of the projection introduces distortion in the corresponding final image of the cargo.
[0004] The distortion in the final image is also due to the fact that, in order to generate the final image of the cargo, the data arrangement is performed relative to the reconstruction plane. Choosing the reconstruction plane corresponds to considering the entire cargo as lying within it. Therefore, the areas of the cargo lying within the reconstruction plane appear without distortion in the final image. However, due to the separation of the cargo's points as explained above, areas of the cargo lying in other planes outside the reconstruction plane will appear distorted in the final image. Oversampling of the data increases the aforementioned distortion because some parts of the cargo are illuminated several times and will appear multiple times in the final image.
[0005] Figure 2 This illustrates that during the mutual scanning displacement, matrix 1 moves while cargo 10 does not. In other words, Figure 2 This corresponds to the moving mode, but the same interpretation will also apply to the passing mode. To avoid the above oversampling, such as Figure 2As shown, matrix 1 can be used such that the frequency of the X-ray pulses during the mutual scanning displacement X is adapted to the velocity of matrix 1. The frequency of the X-ray pulses can be calculated such that the displacement of matrix 1 between two pulses approximately corresponds to the width of detector matrix 1. However, as just explained, adjusting the frequency of the X-ray pulses to the velocity of matrix 1 results in region 15 of cargo 10 not being imaged. Summary of the Invention
[0006] Aspects and embodiments of the invention are set forth in the appended claims. These and other aspects and embodiments of the invention are also described herein. Attached Figure Description
[0007] Embodiments of this disclosure will now be described by way of example with reference to the accompanying drawings, in which:
[0008] (Already discussed) Figure 1A The projection of a point on a cargo irradiated by a first X-ray pulse is schematically shown on a detector matrix;
[0009] (Already discussed) Figure 1B The illustration schematically shows the irradiation by the second X-ray pulse. Figure 1A The projection of the point;
[0010] (Already discussed) Figure 2 The illustration schematically shows a cargo irradiated by a first X-ray pulse and a second X-ray pulse, the frequency of which was selected to avoid oversampling;
[0011] Figure 3 A flowchart illustrating an example method according to this disclosure is shown;
[0012] Figure 4 The illustration schematically shows a cargo irradiated by a first X-ray pulse and a second X-ray pulse, the frequencies of which were selected to avoid parts of the cargo not being imaged;
[0013] Figure 5A and 5B An example of artifacts that depends on the choice of the reconstruction plane for the intermediate image is shown;
[0014] Figure 6 An exemplary neighborhood according to this disclosure is shown;
[0015] Figure 7 Another flowchart illustrating an example method according to this disclosure is shown;
[0016] Figure 8 An example final image with superimposed depth images is schematically shown; and
[0017] Figure 9An example system configured to implement any aspect of the methods according to this disclosure is illustrated schematically.
[0018] In the accompanying drawings, similar elements have the same reference numerals. Detailed Implementation
[0019] Overview
[0020] Embodiments of this disclosure provide a method for processing inspection data associated with cargo irradiated by a plurality of (M) consecutive X-ray pulses. The inspection data is generated as a result of scanning the cargo using a detector matrix. The matrix comprises N detectors in at least two rows. The consecutive pulses are generated by a source. The matrix is located at a distance D from the source. Scanning the cargo includes moving the cargo and the matrix relative to each other by mutual scanning displacement, and during the mutual scanning displacement, detecting radiation corresponding to the plurality of (M) consecutive X-ray pulses irradiating the cargo using the matrix.
[0021] In the inspection data, radiation corresponding to multiple M consecutive pulses irradiating the goods is arranged in a first order on multiple (N) row detectors of a matrix. Then, continuous reconstruction regions for the inspection data are determined. Each reconstruction region corresponds to a distance range from the source, where the arrangement order of the radiation corresponding to the multiple (M) consecutive pulses irradiating the goods is changed. For each determined reconstruction region, a corresponding intermediate image is generated, and an average image of the intermediate images is also generated. Distortion regions are then identified in the average image, and for each distortion region, a neighborhood is extracted from each intermediate image, selecting neighborhoods with less distortion than other extracted neighborhoods.
[0022] The selected neighborhood can be used to correct the average image to generate a final image of the cargo with reduced distortion.
[0023] The selected neighborhood can be used to determine information associated with the corresponding reconstructed region. This information may include an ordinal number corresponding to the relative position of the reconstructed region within one or more consecutive reconstructed regions and / or at least one distance from the source corresponding to at least one boundary of the distance range associated with the reconstructed region. This information can be used to generate a depth image that provides information about the distances of various parts of the cargo relative to the matrix.
[0024] Embodiments of this disclosure enable the correction of averaged images to generate a final image of the cargo with reduced distortion. Embodiments of this disclosure enable the generation of depth images that provide information about the distances of portions of the cargo relative to a matrix and / or a source. Embodiments of this disclosure can cover the entire cargo and correct distortion caused by oversampling of some portions of the cargo.
[0025] Detailed description of specific embodiments
[0026] Figure 3 A flowchart illustrating an example method 100 according to this disclosure is shown.
[0027] Method 100 is primarily used for processing inspection data associated with cargo irradiated by multiple (M) consecutive X-ray pulses. Figure 3 The method 100 shown mainly includes the following steps:
[0028] At S0, the inspection data is obtained;
[0029] In S1, one or more consecutive reconstructed regions are identified for examining the data;
[0030] In S2, one or more reconstruction planes are selected based on the determined one or more reconstruction regions;
[0031] In S3, for each selected reconstruction plane, an intermediate image of the cargo is generated;
[0032] In S4, an average image is generated by averaging all the generated intermediate images.
[0033] In S5, one or more pixels with a gradient greater than a predetermined threshold are selected from the generated average image; and
[0034] For each of the pixels selected in S5:
[0035] In S6, the neighborhood of the selected pixel is extracted from each generated intermediate image, and
[0036] In S7, the neighborhood that minimizes the criterion compared to other extracted neighborhoods is identified among the extracted neighborhoods.
[0037] like Figure 4 As shown, the inspection data is generated as a result of scanning cargo 10 using a source 20 comprising a matrix 1 consisting of multiple (N) detectors with at least two rows and M consecutive pulses. Figure 4 In this example, N = 3, and the rows are labeled 11, 12, and 13. Other numbers of rows N can also be considered. The spacing p is defined by the distance between the centers of two consecutive rows or the width of matrix 1 divided by N. Matrix 1 is located at a distance D from source 20.
[0038] The spacing p in matrix 1 can be a constant or a non-constant. For example, the width of the first row and the last row of matrix 1 can be greater than the width of one or more middle rows of matrix 1. It should be understood that in this case, matrix 1 will have several spacings p1, p2, ..., p... N The following developments will still apply.
[0039] The scanning of cargo 10 includes moving cargo 10 and base 1 relative to each other by mutual scanning displacement. Figure 4 The diagram shows that during the mutual scanning displacement, matrix 1 and source 20 move while cargo 10 remains stationary. The scanning also includes detecting radiation corresponding to multiple (M) consecutive X-ray pulses irradiating cargo 10 using matrix 1 during the mutual scanning displacement.
[0040] like Figure 4 As shown, in the inspection data, in the direction X corresponding to the mutual scanning displacement, the radiation corresponding to multiple (M) consecutive pulses irradiating the cargo is arranged in a first order at the level of multiple (N) rows 11, 12 and 13 of the detector corresponding to matrix 1.
[0041] exist Figure 4 In the middle, the levels of multiple (N) rows 11, 12 and 13 corresponding to the detector basically correspond to Z=D.
[0042] exist Figure 4 In the diagram, point P00 corresponds to the radiation direction 14 of pulse n, point P01 corresponds to the radiation direction 16 of pulse n, point P02 corresponds to the radiation direction 18 of pulse n+1, and point P03 corresponds to the radiation direction 19 of pulse n+1.
[0043] For example, in Figure 4 In the diagram, the radiation incident on row 11 corresponding to the nth pulse along direction 14 corresponds to point P00, and another radiation incident on row 13 corresponding to direction 16 corresponds to point P01. Between pulse n and pulse (n+1), matrix 1 and source 20 move a distance δ (cargo 10 in) during mutual scanning displacement. Figure 4 (The image is shown as not moving). The radiation incident on row 11 corresponding to the (n+1)th pulse along direction 18 now corresponds to point P02, and the radiation incident on row 13 along direction 19 corresponds to point P03. Directions 14 and 18 correspond to the same directions, only shifted between pulses n and n+1. Directions 16 and 19 correspond to the same directions, only shifted between pulses n and n+1.
[0044] Therefore, in Figure 4 In the example, the radiation corresponding to the multiple M consecutive pulses (here M=2) irradiating the cargo is arranged in the following first order along the direction of increasing X at the levels of multiple N rows 11, 12 and 13 corresponding to the detector: P00, P02, P01 and P03.
[0045] exist Figure 4 In the example, in order to cover the entire cargo 10, δ must make:
[0046]
[0047] Where W is the total width of matrix 1.
[0048] Depending on the situation, the displacement δ can vary from one acquisition to another. In other words, δ between two pulses may not be constant during mutual scanning displacement. Alternatively or additionally, the displacement δ between two pulses can be constant during mutual scanning displacement. For example, in pass-through mode and at a constant source frequency, the displacement δ can depend on the speed at which the cargo passes through the scanner. The displacement δ is equal to the instantaneous speed of the cargo divided by the source frequency. In move-through mode, the displacement δ is constant and can be equal to the speed of the scanner divided by the source frequency.
[0049] In S1, one or more consecutive reconstruction regions for checking the data are determined and executed as follows.
[0050] One or more contiguous reconstruction regions enable the selection of one or more reconstruction planes in S2, as described below.
[0051] One or more reconstruction regions determined by S1 are defined by experimental conditions (e.g., instantaneous velocity, number of matrix rows, detector size, etc.).
[0052] After one or more reconstruction regions are determined in S1, one or more reconstruction planes can be selected in S2.
[0053] In some examples, a reconstruction plane can be selected for each reconstruction region. The selected reconstruction plane is located within the defined reconstruction region. The reconstruction plane can be chosen as one of the planes that define the reconstruction region (e.g., the plane closer to the source, but not required). As a non-limiting example, the reconstruction plane can also be selected to be located in the middle of the reconstruction region.
[0054] In some examples, it may be possible to omit the selection of a reconstruction plane for each reconstruction region (e.g., the number of selected reconstruction planes may be less than the number of determined reconstruction planes) in order to reduce computation.
[0055] The reconstructed plane allows the collected data (including, for example, points P01 and P02) to be repositioned at the correct location within cargo 10. For example... Figure 4 As shown, when data is acquired using matrix 1, the points (e.g., P02 and P01) are arranged side-by-side in the first order along the direction X corresponding to their relative movement. Each data point corresponds to a detector and a pulse in the matrix. For example, P02 corresponds to detector 11 for pulse (n+1), and P01 corresponds to detector 13 for pulse n. When a plane is selected for data reconstruction, the data is arranged along the projection line (e.g., Figure 4 The dashed line in the image is projected back onto a plane at a distance z from the source. For a virtual pixel, its size is the detector size divided by the corresponding magnification factor z / D. Figure 4In the diagram, point P2 at a distance z = z2 contributes to two points P02 and P01 at the level of z = D (the collected data). Therefore, the reconstruction of points P01 and P02 in plane z2 is a match in P2. Plane z = z2 is the correct reconstruction plane. The object P2 corresponding to data P01 and P02 lies in plane z = z2 because the back projections of P01 and P02 converge in P2 at z = z2.
[0056] Conversely, if data P01 and P02 are reconstructed in plane z = z1, two distinct points P01 and P02 are obtained. Therefore, plane z = z1 is not a correct reconstruction plane because the back projections of P01 and P02 do not converge. Plane z = D is also not a correct reconstruction plane for P01 and P02.
[0057] In some examples, each reconstruction region corresponds to a distance range from the source 20, wherein the radiation corresponding to a plurality (M) consecutive pulses irradiating the cargo 10 is arranged in an order different from the first order and different from the order of another reconstruction region in one or more consecutive reconstruction regions.
[0058] Therefore, one or more reconstructed regions are areas defined by a plane whose data order has been changed.
[0059] As already explained, in Figure 4 In the simple example, the first order (at z = D) is P00, P02, P001, and P03. At z = z1, the order is also P00, P02, P001, and P03. At z = z2, the order changes to P00, P2, and P03. The first reconstructed region therefore corresponds to a distance z such that:
[0060] z2≤z<D.
[0061] exist Figure 4 In a simple example, at z = z3, the order is P00, P01, P02, and P03. Therefore, the second reconstructed region can correspond to a distance z such that:
[0062] z4≤z<z2.
[0063] like Figure 4 As shown, at z = z4, the order remains P00, P01, P02, and P03, and z4 is not a plane whose order has changed. The plane z = z4 can correspond to, for example, a plane near the surface of cargo 10 located near source 20, where the second reconstruction region is larger than the range defined by z, such that z4 ≤ z < z2.
[0064] In a more detailed example, for each pulse, the center of each row (numbered from 0 to N-1) is back-projected onto a plane at a distance z (where z is between D and 0).
[0065] In the first example, the mutual scan displacement δ between the two pulses is not constant during the mutual scan displacement. In this example, one or more consecutive reconstruction regions for examining the data are determined based on an ordered sequence of radiation positions X(k,i,z) along the direction of the mutual scan displacement. For pulse number k, the ordered sequence of radiation positions X(k,i,z) of the i-th row detector at a distance z from the source is as follows:
[0066]
[0067] Last item It's merely a translation shift, so it's not a critical parameter and can be omitted. Different reconstructed regions are determined by varying the values of z that change the order of X(k, i, z).
[0068] In some examples, method 100 may include, in S1:
[0069] X(k,i,z) is iteratively determined from z equal to a predetermined distance D outside the scan region, where k varies from 1 to M, and each iteration is performed using a predetermined iteration decrement D; and
[0070] For each iteration:
[0071] Sort the determined X(k,i,z), and
[0072] Determine whether the sorting is different from the sorting in the previous iteration, and
[0073] If the sorting is different from the sorting in the previous iteration, the corresponding distance from the source is determined as the boundary of the reconstructed region.
[0074] Therefore, the determination may include the following steps.
[0075] Step 1:
[0076] For z equal to D and k varies from 1 to the total number of pulses M, calculate X(k,i,z);
[0077] Sort X(k,i,z) from lowest to highest value. The sort is a sequence of (k,i) pairs, for example, the total number of data M equals the product of the number of pulses M and the number of rows:
[0078] 0 <X(k1,I1,D)<X(k2,I2,D)<X(k3,I3,D)<…<X(k M ,I M ,D); and
[0079] Store the sorting.
[0080] Step 2:
[0081] X(k,i,z) for the new z is calculated by decreasing z by a value d such that the following equation holds.
[0082] z = Dd; and
[0083] Sort.
[0084] If the sorting is the same as the sorting stored in step 1, then the stored sorting is not changed.
[0085] If the sorting is different from the sorting stored in step 1, then Dd defines the boundary of the new reconstructed region, and stores the new sorting and Dd.
[0086] Step 3:
[0087] X(k,i,z) for z is calculated by decreasing z by a value d such that the following equation holds:
[0088] z = zd; and
[0089] Sort.
[0090] If the sorting is the same as the sorting in the previous step, the stored sorting is not changed.
[0091] If the sorting is different from the previously stored sorting, then zd defines the boundary of the new reconstructed region. Store the new sorting and zd.
[0092] Step 4:
[0093] Step 3 is performed iteratively until a z value is found outside the scanned area (e.g., for a mobile scanner, z = D / 2).
[0094] The above steps cannot find the exact value of z for which the sorting is changing, but if the value of d is small enough (e.g., 10 cm), the approximation is good enough.
[0095] The sorting of z(z0, z1, ..., z) has been detected. p The sequence is as follows:
[0096] D>z0>z1>…>z p >z min ,
[0097] Where z min It is the scan area plane closest to the source.
[0098] The planes whose sorting is changing are known only with a precision of d, and the output of the above steps is an ordered sequence of depth regions and positions along the scan direction. The reconstructed region is therefore as follows:
[0099] [z min ,z p ],[zp +d,z p-1 ],..,[z1+d,z0],[z0+d,D].
[0100] In the second example, the reconstructed region can therefore be as follows, as explained in more detail below:
[0101] [Z mijn ,z p ],…,]z1,z0],]z0,D].
[0102] In the second example, the mutual scan displacement δ between the two pulses is constant during the mutual scan displacement. In this example, one or more consecutive reconstruction regions for examining the data are determined based on an ordered sequence of radiation positions X(k,i,z) along the mutual scan displacement direction. For plane z, for pulse number k, the ordered sequence X(k,i,z) of radiation positions for the i-th row detector is as follows:
[0103]
[0104] For example, N = 4 (0 ≤ i ≤ 3), the above positions are a set of four periodic positions, whose common period is:
[0105]
[0106] In the interval [k.δ, (k+1).δ], there are four data points. The first data point comes from the first row detector (i=0). The positions of the other three rows in the interval can be determined as follows.
[0107] This item It could be like this:
[0108]
[0109] Where m is an integer, and r(z) belongs to the interval [0, δ]. Then, it follows:
[0110] X(k,i,z)=(k+im(z)).δ+ir(z),
[0111] Make m(z).δ+r(z)=p.(z / D), where p is the spacing between the N detectors at least in two rows.
[0112] To determine the order of rows between [k.δ, (k+1).δ], the ir(z) value can be sorted. Several cases are possible. Table 1 below shows a list of sorted positions in the interval [k.δ, (k+1).δ] as a function of the r(z) value:
[0113] Table 1
[0114]
[0115] For r(z), the interval [0, δ] can be divided into four intervals, where the positions are different, as described below:
[0116] Between 0 and δ / 3, the order is normal, with: first row (i=0), second row (i=1), third row (i=2), and fourth row (i=3). However, when m(z)≠0, for the previous X-ray pulse, data corresponding to the second, third, and fourth rows are obtained;
[0117] - The order is different between δ / 3 and δ / 2: first row (i=0), fourth row (i=3), second row (i=1), and third row (i=2). The number of pulses in the fourth row has been reduced by one;
[0118] Between δ / 2 and 2.δ / 3, the order is: first row (i=0), third row (i=2), second row (i=1), and fourth row (i=3); and
[0119] Between 2.δ / 3 and 1, the order is: first row (i=0), fourth row (i=3), third row (i=2), and first row (i=1).
[0120] For a range of z, such as r(z) falling within the aforementioned interval, the reconstruction can use rows in the same order as described above, and the pixel sequence based on the original data can be the same as described above. Therefore, for any object of cargo placed within this range of z, the reconstruction will be accurate. For objects of cargo placed closer to or further from the source, artifacts or unfolded edges appear in the image due to the influence of the reconstruction area as described above. When the actual z of the reconstructed object in the cargo does not correspond to the reconstruction plane, artifacts or unfolded edges are caused by the misordering of the data.
[0121] The number of regions that generate different sortings can be determined. First, the number of regions is calculated by estimating the initial values of m and r for z = D. After estimating the initial values, the value of z (below D) at which the sorting between rows is changing can be calculated.
[0122] For an example of N=4 in a movement mode with a source frequency of 200Hz, D approximately 700cm, and p 5mm, δ is 2mm (for a speed of 40cm / s), and
[0123] p = 2.δ + δ / 2.
[0124] Therefore, m(D) is 2 and r(D) is δ / 2. In this specific case, the detector plane can be considered the reconstruction plane because r(D) corresponds to the boundary of one of the aforementioned intervals with respect to r. The next plane of interest could be plane z1, where m(z1) is still 2, but r(z1) is δ / 3:
[0125]
[0126] In this specific case (p = 5, = 2), and Therefore, the value is 653.3 cm. By treating other boundaries in the same way, the following plan can be determined as listed in Table 2.
[0127] Table 2
[0128]
[0129] In the example above, nine possible plans with reordering were identified. The four plans closest to the source can be disregarded because the cargo may not be that close to the source. Therefore, five possible planes with reordering are retained, and since the last plane (z = 373.3) does not correspond to the face of the cargo closer to the matrix, this means that in a standard movement pattern with four rows (p equals five millimeters), depth information can be used to identify the cargo in six different reconstruction regions.
[0130] The six reconstructed regions are as follows:
[0131] Region 1: 653.3 < z ≤ 700 (700 = D),
[0132] Region 2: 560 < z ≤ 653.3,
[0133] Region 3: 466.6 < z ≤ 560,
[0134] Region 4: 420 < z ≤ 466.6
[0135] Region 5: 373.3 < z ≤ 420,
[0136] Region 6: z min <z≤373.3.
[0137] In the case of passing through the pattern, the number of possible plans can be reduced. Under standard conditions, the truck speed is 5 km / h, the source frequency is 200 Hz, and the value of δ is approximately 7 mm, giving m(D) = 0 and r(D) ~ 0.71. The only possible planes correspond to r(z) equal to 2.δ / 3, δ / 2, and δ / 3, which in this case are 648.1 cm, 486.1 cm, and 324.1 cm, respectively. Only the first two pieces of information are located within the cargo (324.1 cm is too close to the source), and the depth information will be reduced to two planes, for which the order is changing. Therefore, there are three reconstructed regions as follows:
[0138] Region 1: z > 648.1 cm
[0139] Region 2: 486.1 < z ≤ 648.1 cm,
[0140] Region 3: s < z < 486.1 cm.
[0141] In some examples, for higher frequencies such as 400 Hz or 600 Hz, at least three planes with altered order can be identified.
[0142] As already stated, method 100 may include selecting one or more reconstruction planes in S2 based on one or more determined reconstruction regions.
[0143] As already stated, method 100 may further include, in S3, generating an intermediate image of the cargo for each selected reconstruction plane.
[0144] For P planes with altered order, there can be P+1 reconstructed regions (except when the last plane corresponds to the face of the cargo). If the number of selected reconstructed planes equals the number of reconstructed regions, then P+1 intermediate images can be generated (e.g., reconstructed), which correspond to the P+1 reconstructed planes selected in S2.
[0145] Intermediate images can be generated based on the reconstruction plane described below (in a non-limiting example, it is determined that a reconstruction plane is selected for each reconstruction region).
[0146] For each defined reconstruction region, select the z-value belonging to the corresponding reconstruction region in S2 (e.g., in the middle or at the boundary of the reconstruction region as described above).
[0147] Let z'0, z'1, ..., z' p A sequence is such that:
[0148] (z' l ∈[z l +d,z l-1 ]).
[0149] For region number I, the ordered sequence of locations is as follows:
[0150] 0 <X(k l1 ,I l1 ,z' l ) <X(k l2 ,I l2 ,z' l ) <X(k l3 ,I l3 ,z' l )<… <X(k lM ,I lM ,z' l ).
[0151] M is the total number of data points, the product of the number of pulses and the number of rows.
[0152] In S3, assuming S(k,I,o) is the data acquired during pulse k through the detector located at line o in matrix 1 and row I, then line o for the reconstructed image of region number I will be a sequence:
[0153] S(k l1 ,I l1 ,o),S(k l2 ,I l2 ,o),S(k l3 ,I l3 ,o),…,S(k lM ,I lM ,o).
[0154] In the reconstruction, the data sequence does not depend on z' l The choice. However, if needed, X(k) can be calculated. lM ,I lM ,z' l ).
[0155] like Figure 5A As shown, an intermediate image is generated by reconstructing an object in region 21 at a distance z = 3.9m from the source using a reconstruction plane located at a distance of 3.9m from the source, without any inappropriate gradients in the directions corresponding to the mutual scan displacements. Figure 5A As shown, using the reconstruction plane located at z = 3.9 m from the source, the reconstruction of the object in region 22 located at z = 6.5 m from the source generates an intermediate image with gradients (e.g., artifacts or unfolded edges) in the direction corresponding to the mutual scan displacement.
[0156] like Figure 5BAs shown, using a reconstruction plane located 6.5m from the source, the reconstruction of an object in region 21 located at a distance z = 3.9m from the source generates an intermediate image with gradients (e.g., artifacts or unfolded edges) in the directions corresponding to the mutual scan displacements. Figure 5B As shown, an intermediate image is generated by reconstructing an object in region 22 at a distance z = 6.5m from the source using a reconstruction plane located at a distance of 6.5m from the source, without any inappropriate gradients in the directions corresponding to the mutual scan displacements.
[0157] Therefore, as Figure 5A and 5B As shown, when the reconstructed region does not correspond to the location of an object in the cargo, objects with relatively high horizontal gradients appear as artifacts or have expanded edges in the image.
[0158] As already stated, method 100 may include generating an average image in S4 by averaging all the generated intermediate images.
[0159] In S5, one or more pixels with a horizontal gradient (i.e., in the direction corresponding to mutual scanning displacement) that have an absolute value greater than a predetermined threshold are selected on the generated average image, which makes it possible to identify vertical or slanted edges.
[0160] The absolute value of the horizontal gradient can be calculated, for example, using a standard formula for the horizontal variation along the x-direction of pixel (i,j), such as:
[0161] I i,j It is the intensity of pixel (i,j), where i is the horizontal coordinate (i.e., in the scanning direction).
[0162] Alternatively, the absolute value of the horizontal gradient can be calculated based on the Sobel mask.
[0163] The threshold Th can be equal to a parameter A with a constant value. To account for the noise dependence of the signal, the threshold Th can also be implemented as a function of the average pixel value in the neighborhood, such that:
[0164]
[0165] In this case, the threshold Th changes from one pixel to another.
[0166] The predetermined parameter A can be selected by the user of the inspection system implementing the method according to any aspect of the present invention.
[0167] As already stated, method 100 may include, for each of the pixels selected in S5, extracting the neighborhood of the selected pixel from each generated intermediate image in S6. For each pixel selected in S5, S6 is capable of extracting P+1 neighborhoods (e.g., thumbnails). In some examples, the neighborhoods may correspond to 8-connected neighborhoods.
[0168] As already stated, method 100 may include, in S7, determining, within the extracted neighborhoods, a neighborhood that minimizes a criterion compared to other extracted neighborhoods. The minimum criterion may, for example, be associated with sharper edges (e.g., fewer artifacts) in the determined neighborhood. Thus, the determined neighborhood may have fewer artifacts than other extracted neighborhoods.
[0169] If you have already referred to Figure 5A and 5B The discussion focuses on how, when an object is reconstructed using a reconstruction plane different from the one to which it belongs, horizontal gradients (e.g., corresponding to artifacts) appear in the vertical edges of the object and resemble discontinuous lines. Based on this observation, the criterion to minimize can be energy E, which can be determined as follows. Energy E consists of two terms: the first is the square of the horizontal gradient, and the second is a penalty function defined as follows. The neighborhood with the lowest energy E is then selected.
[0170] In some embodiments, determining the neighborhood with the minimum criterion in S7 may include:
[0171] For each value I of the p-th generated intermediate image Ip ij,p In the coordinates (i,j) corresponding to one of the selected pixels, and for all generated intermediate images Ip, determine the energy E such that:
[0172]
[0173] Where: the first term is the square of the gradient along the direction x of the mutual scanning displacement, and
[0174] The second term is the penalty function g, which is configured to penalize neighborhoods with different gray levels during minimization.
[0175] In some examples, determining S7 may also include selecting a neighborhood associated with the generated intermediate image Ip that has the minimum determined energy.
[0176] In some examples, the penalty function g is a Geman-McClure function defined by the following formula:
[0177]
[0178] Where k is the value of the pixels in the neighborhood of pixel (i,j). In the neighborhood, it corresponds to pixels (i-1,j+1), (i-1,j), (i-1,j-1), (i+1,j+1), (i+1,j), (i+1,j-1), where k varies from 1 to 6.
[0179] I k In the neighborhood The value of the image, I ij It is the image value of the current pixel (i,j), and
[0180] σ(r k ) is the value r in the neighborhood. k standard deviation
[0181] like Figure 6 As shown, It has a value I in the direction perpendicular to the direction of the mutual scanning displacement x. ij,p The white pixels above and below the pixel and the gray pixels in other positions in the neighborhood. It is the neighborhood of the pixel located in (i,j), indexed by k from 1 to 6, and its constituent pixels are the three pixels in the previous column that are closest to (i,j) and the three pixels in the next column that are closest to (i,j).
[0182] The function g penalizes neighborhoods with different gray levels. If Figure 6 The gray lines in the image are discontinuous due to the 3D effect, therefore r k The neighborhood will have a high value, and g will also have a high value, which will penalize E. If the neighborhood is a uniform region, then E will not have a high value.
[0183] In the first example, such as Figure 7 As shown, method 100 may further include generating a final image of the cargo in S8. The final image may correspond to a corrected average image. Figure 8 An exemplary final image 24 is shown in the figure.
[0184] In some examples, generating a final image including pixels in S8 may include:
[0185] For each pixel in the final image corresponding to one of the selected pixels, assign a value to the pixel in the generated intermediate image that corresponds to the neighborhood determined in S7; and
[0186] For each other pixel in the final image, assign a value to the pixel in the average image determined in S4 or in the generated intermediate image corresponding to the reconstructed region of the matrix determined in S3.
[0187] Method 100 may include: in S9, adjusting the size of the generated final image in a direction corresponding to the mutual scan displacement and / or perpendicular to the direction corresponding to the mutual scan displacement to obtain an aspect ratio corresponding to the central face of the cargo, which is substantially parallel to the matrix.
[0188] Alternatively or additionally, in the second example, such as Figure 7 As shown, method 100 may further include: for each pixel corresponding to one of the pixels selected in S5, in S10, determining information related to the determined reconstruction region, the determined reconstruction region corresponding to the determined neighborhood with fewer artifacts.
[0189] like Figure 7 As shown, the determination at S10 can be performed after step S7. In other words, the pixel corresponding to one of the selected pixels can include at least one pixel of the generated average image. Optionally or additionally, the determination at step S10 can be performed after step S8 or step S9. In other words, the pixel corresponding to one of the selected pixels can include at least one pixel of the final image of the goods.
[0190] In some examples, the information identified in relation to the determined reconstructed region includes:
[0191] The ordinal number corresponds to the relative position of the reconstructed region determined within the one or more consecutive reconstructed regions and / or depth regions, and each pixel does not correspond to one of the selected pixels that is not associated with the ordinal number and / or depth region; and / or
[0192] At least one distance from the source, which corresponds to at least one boundary of a distance range associated with a determined reconstruction region in one or more consecutive reconstruction regions.
[0193] In some examples, the information determined in S10 may also include:
[0194] The number of possible depth regions is predetermined, and the number of possible depth regions is equal to or less than the number of one or more consecutive reconstructed regions determined.
[0195] The determined one or more contiguous reconstruction regions are merged into one or more depth regions, the number of which corresponds to the number of possible depth regions;
[0196] Based on the determined information, the merged depth regions are assigned to each pixel corresponding to one of the selected pixels; and
[0197] A depth image is generated based on the assignment, where each pixel does not correspond to one of the selected pixels that were not assigned to the merged depth region.
[0198] In some examples, the number of possible depth zones can be selected by the user of the inspection system implementing the method according to any aspect of this disclosure, and can be equal to, for example, three (corresponding to, for example, the detector side, the middle and / or source side of the cargo or center face).
[0199] In a merge, for example, if we have the following refactored regions:
[0200] [z mijn ,z p ],[z p +d,z p-1 ],…,[z1+d,z0],[z0+d,D]
[0201] Furthermore, if the predetermined number of possible depth bands is three, the merged depth regions can be as follows:
[0202] [z mijn ,z p1 ],[z p1 +d,z p2 ],[z p2 +d,D],
[0203] Where z l1 and z l2 Depth values are taken from the sequence z0, z1, ..., z p .
[0204] exist Figure 7 In the example, method 100 may further include: in S11, overlaying the depth image generated in S10 onto the final image of the cargo generated in S8 and / or S9.
[0205] Figure 8 A depth image 23 is shown superimposed on the final image 11 of the cargo.
[0206] exist Figure 8 In the example, the predetermined number of possible depth regions is three, and the merged depth regions correspond to the "source side," "midplane," and "matrix side." Depth image 23 may include visual markers to indicate depth information. Figure 8 In the example, depth image 23 may include: a straight line to indicate that the corresponding object is located on the source side of the cargo, a circle to indicate that the corresponding object is located on the center face of the cargo, and a cross to indicate that the corresponding object is located on the source side of the cargo. Other visual markers, such as colors, are conceivable (e.g., as a non-limiting example, red for the source side, green for the center face, and blue for the matrix side).
[0207] The generated depth image may be noisy due to, for example, spurious depth variations from one pixel to another in the neighborhood. Therefore, the method may also include denoising the generated depth image by forcing adjacent pixels to belong to a common depth region. In some examples, this forcing may be based on the constraint that two vertically adjacent pixels cannot belong to two different reconstruction planes.
[0208] like Figure 9 As described herein, the present invention also relates to a system 50 comprising a processor 51 and a memory 52 storing instructions, which, when executed by the processor, enable the processor to perform methods according to any aspect of the present invention.
[0209] In some examples, the source is configured to irradiate the cargo with at least two different levels of energy for material identification. In such examples, methods of any aspect of this disclosure can be performed for each of the at least two different levels of energy.
[0210] In the examples above, the radiation source for inspection may include an X-ray generator. The X-ray energy can be between 100 keV and 15 MeV, and the dose rate at one meter from the source can be between 2 mGy and 20 Gy (Gray) per minute. For steel penetration capability (e.g., 40 mm–400 mm, typically 300 mm (12 inches)), the maximum X-ray energy of the X-ray source can be, for example, 100 keV–9.0 MeV, typically 2 MeV, 3.5 MeV, 4 MeV, or 6 MeV. The dose can be, for example, between 20 mGy and 120 mGy. In other examples, for steel penetration capability (e.g., between 300 mm and 450 mm, typically 410 mm (16.1 inches)), the maximum X-ray energy of the X-ray source can be, for example, between 4 MeV and 10 MeV, typically 9 MeV. In some instances, the dose can be 17 Gy.
[0211] The inspection system implementing this method may also include other types of detectors (e.g., optional gamma and / or neutron detectors), such as those suitable for detecting the presence of radioactive gamma and / or neutron emitting materials within cargo 10, for example, simultaneously with X-ray inspection.
Claims
1. A method for processing inspection data associated with cargo irradiated by a plurality of M consecutive X-ray pulses, comprising: Obtain the inspection data. The inspection data is generated as a result of scanning the cargo using a matrix and the plurality of M consecutive X-ray pulses as a source. The matrix comprises a plurality of N detectors with at least two rows, and the matrix is located at a distance D from the source. The scan includes: The cargo and the matrix are moved relative to each other by mutual scanning displacement, and During the mutual scanning displacement, the radiation corresponding to the plurality of M consecutive X-ray pulses irradiating the cargo is detected using the matrix. In the inspection data, the radiation corresponding to the plurality of M consecutive X-ray pulses irradiating the cargo and detected by the plurality of N detectors in at least two rows is arranged in a first order corresponding to the level of the matrix in the direction corresponding to the mutual scanning displacement; One or more consecutive reconstruction regions for the inspection data are determined, wherein each reconstruction region corresponds to a distance range from the source, in which radiation corresponding to the plurality of M consecutive X-ray pulses irradiating the cargo is arranged in an order different from the first order and different from another reconstruction region in the one or more consecutive reconstruction regions; Based on the identified one or more contiguous reconstruction regions, select one or more reconstruction planes; For each selected reconstruction plane, an intermediate image of the cargo is generated; An average image is generated by averaging all the generated intermediate images. On the generated average image, one or more pixels are selected that have a gradient with an absolute value greater than a predetermined threshold in the direction corresponding to the mutual scan displacement; and For each of the selected pixels: Extract the neighborhood of the selected pixel from each generated intermediate image, and Among the extracted neighborhoods, identify the neighborhoods that minimize the criteria compared to other extracted neighborhoods.
2. The method of claim 1, further comprising generating a final image of the cargo corresponding to a corrected average image, the final image comprising pixels, and generating the final image comprising: For each pixel in the final image corresponding to one of the selected pixels, assign a value to the pixel in the generated intermediate image that corresponds to the determined neighborhood; as well as For each other pixel in the final image, assign a value to the pixel in the average image or the generated intermediate image that corresponds to the reconstruction region closest to the matrix.
3. The method of claim 2, further comprising adjusting the size of the generated final image in the direction corresponding to the mutual scan displacement and / or perpendicular to the direction corresponding to the mutual scan displacement to obtain an aspect ratio corresponding to the central face of the cargo, the central face being substantially parallel to the matrix.
4. The method according to claim 2, further comprising: For each pixel corresponding to one of the selected pixels, Determine information relating to one or more consecutive reconstructed regions corresponding to the determined neighborhood.
5. The method of claim 4, wherein determining the information further comprises: The number of possible depth regions is predetermined, and the number of possible depth regions is equal to or less than the number of one or more consecutive reconstructed regions determined. The identified one or more contiguous reconstruction regions are merged into one or more depth regions, the number of which corresponds to the number of possible depth regions; Based on the determined information, the merged depth regions are assigned to each pixel corresponding to one of the selected pixels; as well as A depth image is generated based on the assignment, where each pixel does not correspond to one of the selected pixels that were not assigned to the merged depth region.
6. The method according to claim 5, further comprising: The generated depth image is overlaid on the final generated image of the cargo.
7. The method according to claim 5, further comprising: The generated depth image is denoised by forcing adjacent pixels to belong to a common depth region.
8. The method of claim 5, wherein the pixel corresponding to one of the selected pixels comprises: At least one pixel of the generated average image, and / or At least one pixel of the final image of the cargo.
9. The method of claim 5, wherein the information determined in relation to the determined one or more contiguous reconstruction regions includes: An ordinal number, which corresponds to the relative position of a determined reconstructed region within one or more consecutive reconstructed regions and / or depth regions, wherein each pixel does not correspond to one of a selected pixel that is not associated with an ordinal number and / or depth region; and / or At least one distance from the source, the distance corresponding to at least one boundary of the distance range associated with the determined reconstruction region in one or more consecutive reconstruction regions.
10. The method of claim 1, wherein the mutual scan displacement δ between two pulses is constant during the mutual scan displacement, and wherein the determination of the one or more consecutive reconstructed regions for the examination data is based on an ordered sequence of radiation positions X(k,i,z) along the direction of the mutual scan displacement, the ordered sequence being associated with the i-th row detector and the distance z from the source, for pulse number k, such that: X(k,i,z)=(k+im(z)).δ+ir(z) , in: m is an integer. r(z) belongs to the interval [0, δ], and Make m(z).δ+r(z)=p.(z / D), where p is the spacing between the plurality of N detectors at least two rows.
11. The method of claim 1, wherein the mutual scan displacement δ between two pulses is not constant during the mutual scan displacement, and wherein the determination of the one or more consecutive reconstruction regions for the examination data is based on an ordered sequence of radiation positions X(k,i,z) along the direction of the mutual scan displacement, the ordered sequence corresponding to the i-th row detector and the distance z from the source, for pulse number k, such that: Where p is the spacing between the plurality of N detectors in at least two rows.
12. The method according to claim 10 or 11, further comprising: X(k,i,z) is iteratively determined from z equal to a predetermined distance D outside the scan region, where k varies from 1 to M, and each iteration is performed using a predetermined iteration decrement d; and For each iteration: Sort the determined X(k,i,z). Determine whether the sorting is different from the sorting in the previous iteration, and If the sorting is different from the sorting in the previous iteration, the corresponding distance from the source is determined as the boundary of the reconstructed region.
13. The method of claim 1, wherein determining the neighborhood with the minimum criterion comprises: For each value I of the p-th generated intermediate image Ip ij,p In the coordinates (i,j) corresponding to one of the selected pixels, and for all generated intermediate images Ip, determine the energy E such that: , Where: the first term is the square of the gradient along the direction x of the mutual scanning displacement, and The second term is the penalty function. It is configured to penalize neighborhoods with different gray levels during the minimization; and The neighborhood associated with the generated intermediate image Ip having the minimum definite energy is selected.
14. The method according to claim 1, wherein, The Geman-McClure function is defined by the following formula: in The neighborhood of the pixel located at (i,j) is indexed by k from 1 to 6, and The constituent pixels are the three closest pixels (i,j) in the first column and the three closest pixels (i,j) in the second column. It is the image value at pixel (i,j) and It is used for the neighborhood. The image values of the pixels in the image, and The value on the neighborhood The standard deviation.
15. The method of claim 1, wherein the neighborhood is an 8-connected neighborhood.
16. The method of claim 1, wherein the source is configured to irradiate the cargo with at least two different energy levels for material identification, and the method for processing the inspection data is performed for each of the at least two different energy levels.
17. The method of claim 1, wherein the absolute value of the gradient along direction x makes: / 2, in: I i,j It is the intensity of pixel (i,j), where i is the coordinate in the direction x corresponding to the mutual scan displacement, and / or The absolute value of the gradient is calculated based on the Sobel mask.
18. The method of claim 1, wherein the predetermined threshold is a constant value or varies from one pixel to another.
19. A system comprising: processor; as well as A memory storing instructions, which, when executed by the processor, enable the processor to perform a method for processing inspection data associated with cargo irradiated by a plurality of M consecutive X-ray pulses, the method comprising: Obtain the inspection data. The inspection data is generated as a result of scanning the cargo using a matrix and the plurality of M consecutive X-ray pulses as a source. The matrix comprises a plurality of N detectors with at least two rows, and the matrix is located at a distance D from the source. The scan includes: The cargo and the matrix are moved relative to each other by mutual scanning displacement, and During the mutual scanning displacement, the radiation corresponding to the plurality of M consecutive X-ray pulses irradiating the cargo is detected using the matrix. In the inspection data, the radiation corresponding to the plurality of M consecutive X-ray pulses irradiating the cargo and detected by the plurality of N detectors in at least two rows is arranged in a first order corresponding to the level of the matrix in the direction corresponding to the mutual scanning displacement; One or more consecutive reconstruction regions for the inspection data are determined, wherein each reconstruction region corresponds to a distance range from the source, in which radiation corresponding to the plurality of M consecutive X-ray pulses irradiating the cargo is arranged in an order different from the first order and different from another reconstruction region in the one or more consecutive reconstruction regions; Based on the identified one or more contiguous reconstruction regions, select one or more reconstruction planes; For each selected reconstruction plane, an intermediate image of the cargo is generated; An average image is generated by averaging all the generated intermediate images. On the generated average image, one or more pixels are selected that have a gradient with an absolute value greater than a predetermined threshold in the direction corresponding to the mutual scan displacement; and For each of the selected pixels: Extract the neighborhood of the selected pixel from each generated intermediate image, and Among the extracted neighborhoods, identify the neighborhoods that minimize the criteria compared to other extracted neighborhoods.
20. The system of claim 19, wherein the memory stores instructions that, when executed by the processor, enable the processor to perform the method of any one of claims 2 to 18.
21. A computer program product comprising instructions that, when executed by a processor, enable the processor to perform the method according to any one of claims 1 to 18 or to provide the system according to claim 19 or 20.
Citation Information
Patent Citations
X-ray tomography inspection systems
CN101400992A
Image analysis method
CN103390277A