1. Introduction
The uninterrupted development of international trade, besides the beneficent effects related to market globalization, has encountered a negative influence due to the increased use of illicit drugs and explosive trafficking, which have proved serious problems for law enforcement agencies, anti-narcotic police, and customs on border management. As the problem of fast and confident explosive detection represents one of the most fundamental aspects of passenger security, until present, a multitude of non-invasive techniques were proposed that were mainly based on the differential attenuation or diffraction of nuclear radiation. It is the case of X-ray single [
1,
2], dual [
3,
4], phase contrast [
5], multiple-energy [
6,
7], diffraction [
8], or even neutron computed tomography (CT) [
9]. In addition to these techniques, Raman [
10] or nuclear quadrupole resonance [
11] spectroscopy as well as infrared photothermal imaging [
12] gave remarkable results in this field, just to mention some alternative methods not involving the use of X-rays.
Different from the medical applications of dual and multiple-energy CT, which produce more precise images necessary for a better diagnostic [
13,
14], the forensic use of dual and multiple CT permits the simultaneous determination of the effective atomic number Z
eff and density
of controlled material, accurately differentiating explosives from the other organic materials in the luggage. In this regard, it is worth mentioning that densities or effective atomic numbers alone cannot differentiate explosives; this can only be achieved if they are simultaneously used [
6,
15].
Therefore, there is a strong motivation for the development of automated and non-invasive systems used to control the content of luggage or different parcels before being admitted to shipping or selected for manual examination. This control should be fast and reliable given the increasing volume of air, land, and sea traffic. In this regard, it is worth mentioning that the screening is not without errors, but the reason for its use is to reduce to an absolute minimum the number of false positive or false negative results.
The development of X and gamma-ray solid-state spectrometric detectors such as CdTe or Cd(Zn)Te [
16,
17], which are able to record the energy spectrum of incident radiation on a large domain of energies subdivided into numerous bins, has stimulated the development of the multi-spectral CT (MSCT) [
4,
6,
18,
19,
20]. This new variant of classical dual-energy CT (DECT) has permitted determining the entire energy spectrum of linear attenuation coefficients (LACs), which, given their complex dependency on photon energy and the atomic number, have shown to be extremely useful in identifying diverse materials, even if their
and Z
eff are close.
In the case of DECT, for each voxel of the considered section, there are two different values of the LAC corresponding to the two involved energies necessary to simultaneously determine Z
eff and
. On the contrary, the use of multiple energy has presented the advantage of a better resolution concerning Z
eff and
, which significantly increases the ability of MSCT to differentiate elements whose parameters are relatively closer. On the other hand, the number of photons per energy bin decreases with increasing the bin numbers, which, in turn, increases the quantum noise. To maintain a good spatial and discriminant resolution by keeping, at the same time, both the acquisition and processing time reasonably low, more techniques were elaborated to reduce the number of projections [
21,
22] or to find new algorithms [
6,
23,
24].
In this regard, the use of neural networks (NNs) has brought impressive improvements for object and material identification [
25,
26]. Once well trained, a neural network can, in this particular case of CT, significantly increase the image quality by reducing the noise, optimizing the contrast, or better evidencing the contours [
27,
28]. To accomplish this task, the NN should be trained by processing a significant number of images, which, in our case, could be accomplished by using more samples consisting of known materials, such as explosive simulants, cosmetics, various organic compounds, etc.
In spite of remarkable performances in identifying a large category of materials, due to the simultaneous use of a great number of energy bins, the processing time sometimes exceeds a reasonable value, thus reducing the number of objects that can be examined in a considered time interval.
Under these circumstances, the main task of this project consisted of the elaboration of a novel, faster MSCT volumetric reconstruction method that serves as the basis for a rapid and non-invasive system to evidence the presence of prohibited materials, especially explosives, based on the real-time determination of both Zeff and values of controlled items.
In order to perform this task, it was necessary to: i. elaborate a procedure to compensate for the beam hardening and other effects that may alter the energy dependency of the LAC in the domain of 20–160 keV used for X-ray CT; ii. develop a 3D reconstruction method that can deliver the accurate results needed for material identification while using a reduced number of projections and having a low computation time, such that it can be used in a production environment; iii. refine the state-of-art iterative reconstruction algorithms presented in [
21,
23] to ensure a faster convergence that permits, by analysing the corrected LAC multi-energy spectra, the simultaneous determination of both Z
eff and
values.
The results of this project will be further presented and discussed.
3. Materials Reconstruction
The second stage of this project consisted of developing fast 3D reconstruction method needed for an accurate material identification based on a reduced number of projections.
In this regard, the inverse problem of finding the volumetric reconstruction given a set of CT projections consists in determining the optimal values of the voxels volume such that the error between the forward projection through the volume and the acquired sinograms reaches a minimum. Depending on the number of projections and preliminary knowledge on the reconstructed volume, there are multiple ways of approaching this problem. Our proposed implementation relies on an iterative method for approximating the voxel values based on the forward projection error. Using an adjustable scaling factor for the data corrections, as well as an adaptive threshold based on the reconstruction stage, we were able to achieve convergence with considerably fewer iterations compared to similar algorithms. Since we are working with multi-spectral images, our method will also include a data regularization routine for using information from other energy bands, based on the gradient’s correlation across the acquired energy spectrum.
3.1. Mathematical Formulation
Let , where is the m-th pixel from the reconstructed image corresponding to the n-th energy bin, A represents the forward projection operator through u, while , where is the sinogram corresponding to the i-th energy bin. The data fitting problem of reconstructing the images aims to minimize the error .
However, this type of solver reconstructs each image separately, not taking advantage of the known similarities that exist between the images at different energies. To address this issue, we introduce a data regularization scheme
to the mathematical formulation of the problem. This regularization parameter represents the sum of the maximum of the gradients of a multiple channel image. This norm correlates the gradients strongly, while allowing some outliers. A weighting parameter is used to balance the two terms when solving the minimization problem and represents the trade-off between the data misfit term and the regularization term [
31].
The reconstruction problem can now be expressed as:
3.2. Reconstruction Implementation
In practice, we are using an iterative algorithm to approximate the solution to the minimization problem. Prior to the reconstruction phase, the scanning system’s geometry was calculated, so we know through which voxel each X-ray passes, as well as the corresponding path length. The number of rays was calculated as the detector pixels number multiplied by the number of projections. In this arrangement it was necessary to compute the geometry once, since it is the same for all reconstructions. Each voxel has a size of 2 × 2 mm2, a parameter which can be set in the geometry generation algorithm. To calculate the scanning setup’s geometry, the reconstruction area was divided into equally sized squares, defined by a grid of equal spaced parallel and perpendicular lines. By knowing the coordinates of the X-ray source and of every detector pixel, we can determine where the ray intersects each of the lines defining our reconstruction grid.
From these coordinates, we can then determine the pixel indices intersected by a specific ray and the ray length through it (
Figure 2). This path tracing method is an implementation adapted from Siddon’s algorithm [
32]. Given the nature of this algorithm, it is easily scaled to benefit from multiple processor threads, thus reducing the computing time and taking full advantage of available resources. In our application, however, the geometry data can be computed in advance, and it need only to be loaded from disk for the reconstruction step. However, the geometry parameters, such as source to detector distances, detector panel angles, and spacing, need to be finely adjusted to account for measurement and construction errors in the physical setup.
3.3. Direct Data Fitting Term
For each reconstruction iteration, we have iterated through the array of computed rays r, and for each ray ri, we have calculated the forward projection through that ray, and compared it with the corresponding sinogram pixel , n being the current energy bin. The correction thus calculated were distributed to all pixels the ray passes through, according to each pixel’s weight. The weights are either constant for all pixels or depend on the ray’s length through them. The decisive factor in calculating these weights is how far we are in the reconstruction process. Accordingly, the first two iterations gave constant weights, then they will be changed for better data fidelity. This process, independently repeated for each energy bin, represents the first part of the minimization problem.
Since the process is identical and independent for all energy bins, further we will restrain to one energy bin. Let be the length of the m-th ray through m-th voxel the LAC of the m-th pixel and L the total length of the ray through the object. The sinogram value corresponding to ray is ui. The forward projection through the ray is , N being the number of voxels crossed by the m-th ray while the error is such that the corrected value for the m pixel becomes: . Here, the value k represents the gain/relaxation factor which is used to prevent overshoots too big in the process estimation. In our implementation, the amplification factor decreases from 1.5 to 1.0 over the all 11 iterations. This allows significant changes at the process beginning followed by a reduction in corrections magnitude, ensuring in this way the convergence. Before updating the reconstructed image, an adaptive threshold was applied to the modified pixels to eliminate values which are too small. The threshold is calculated as a lower percentage of the range of the pixels’ values. The percentage is changed every few iterations and is defined at run time, just like the amplification factor.
In this regard, as this part of the reconstruction is performed independently for each energy bin, the computations can be performed in parallel to increase performance. In our experiments, the reconstruction time was reduced between 9 and 10 times when running the reconstruction in parallel, rather than doing them sequentially. This improvement was observed on a consumer personal computer, so the use of a high-performance workstation may not be necessary.
3.4. Data Regularization Term
After the independent data fitting step is over, the images for every energy bin are processed together by a regularization algorithm. The best results were obtained using the Duran’s implementation of the
algorithm [
33] of which ANSI C source code is provided either.
The algorithm computes the image gradients in the x and y directions for each energy bin independently, then penalizes the maximal gradients difference across the spectrum by adjusting the pixel values to decrease the gradient value in that spot. In this way, the high9 gradient discrepancies are adjusted such that the multi-spectral images present a strong coupling between gradients. This procedure permits smaller gradients to be sensitive to energy bins, which is desirable, since materials interact differently with incident rays at different energies.