We investigate multi-modal material identification for special nuclear material (SNM) configurations using a combination of X-ray radiography, high-resolution γ-ray spectroscopy, and neutron multiplicity measurements. We consider a Beryllium Reflected Plutonium sphere (BeRP) ball surrounded by one or two concentric shielding shells of unknown composition whose radii are assumed known from radiography. High-purity germanium (HPGe) spectra are reduced to net counts in selected Pu-239 photo-peaks, while neutron multiplicity information is summarized by Feynman variances Y2 and Y3 computed from factorial moments of the neutron counting statistics. Using synthetic data generated with the Gamma Detector Response and Analysis Software (GADRAS) for a range of shielding materials and thicknesses, we cast the material identification problem as a supervised multi-class classification task over all admissible shell-material combinations. We demonstrate that a random forest classifier trained on combined gamma and neutron features achieves almost perfect identification accuracy for single-shell cases, and substantial performance gains for more challenging double-shell configurations relative to gamma-only classification. Alternative statistical and machine-learning formulations for this multi-class problem are examined along with examination of the impact of model-mismatch between the forward model and the test cases as given by variations in the statistical noise. Opportunities for extending the approach to more complex geometries and experimental data are also discussed.
Figures & tables
Figure 1: Feynman Variance Y2 and Y3 for BeRP ball versus shielding shell thickness
Figure 2: General problem formulation.
Method
# Noisy samples
Train Acc.
Test Acc.
RF
0 (clean data)
1.000
0.995
2
1.000
0.993
10
1.000
0.999
100
1.000
1.000
1000
1.000
1.000
XGBoost
0 (clean data)
0.048
0.048
Table 1: Single-shell material identification performance of different ML approaches, including random forest (RF), XGBoost, K-nearest neighbors (KNNs), support vector machine (SVM), and multilayer perceptrons (MLPs). We consider a 60s time window, a 0.5 inch single shell configuration, Gamma+ Y2 + Y3 as feature and different number of noisy samples per training simulations. N=10,000 independent noise realizations per feature set and thickness are generated for testing. Boldface indicates the best (highest) test accuracy within each method.
Thickness(in)
Features
Train Acc.
Test Acc.
0.5
Gamma
1.000
0.979
Gamma + Y2
1.000
0.995
Gamma + Y2 + Y3
1.000
0.995
1.0
Gamma
1.000
0.979
Gamma + Y2
1.000
0.999
Gamma + Y2 + Y3
1.000
1.000
Table 2: Single-shell material identification performance versus shell thickness for three feature sets (Gamma only, Gamma+ Y2 , Gamma+ Y2 + Y3 ) using 60s time window, clean data for training, and N=10,000 independent noise realizations per feature set and thickness for testing. Boldface indicates the best (highest) test accuracy within each thickness (ties bolded).
Time window
Train Acc.
Test Acc.
3600s
1.000
1.000
60s
1.000
0.995
15s
1.000
0.979
Table 3: Single-shell material identification performance using random forest and diffenrent time windows. We consider the 0.5 inch shell configuration, Gamma+ Y2 + Y3 as feature and clean data for training. N=10,000 independent noise realizations per feature set and thickness are generated for testing. Boldface indicates the best (highest) test accuracy (ties bolded).
# Noisy samples
Train Acc.
Test Acc.
0 (clean data)
1.000
0.995
1
1.000
0.980
2
1.000
0.993
10
1.000
0.999
100
1.000
1.000
1000
1.000
1.000
Table 4: Single-shell material identification performance using random forest and 60s time window while considering the 0.5 inch shell configuration, Gamma+ Y2 + Y3 as feature and either clean data or different number of noisy samples per training simulations (note that when using noisy samples, the clean data are not included in the training). N=10,000 independent noise realizations per feature set and thickness are generated for testing. Boldface indicates the best (highest) test accuracy (ties bolded).
Figure 3: Classification errors by material and thickness in single shell configuration using Gamma+ Y2 + Y3 as feature.
Figure 4: Normalized confusion matrices for single-shell material identification at two shell thicknesses (rows) and three feature sets (columns): Gamma only (left), Gamma + Y2 (middle), and Gamma + Y2 + Y3 (right), using 60s time window, clean data for training, and N=10,000 independent noise realizations per feature set and thickness for testing. Each panel shows the classification performance across all candidate shell materials under noisy measurement conditions. We normalize these matrices so that the sum of classification errors for each reference material is 1 (if they are non-zeros).
Time window
Thicknesses (in)
Features
Train Acc.
Test Acc.
60s
0.5 / 0.5
Gamma
1.000
0.671
Gamma + Y2
1.000
0.815
Gamma + Y2 + Y3
1.000
0.870
3.0 / 3.0
Gamma
1.000
0.687
Gamma + Y2
1.000
0.808
Gamma + Y2 + Y3
1.000
0.840
Table 5: Double-shell material identification performance for representative shell-thickness combinations (inner/outer) using either 60s or 1800s time window, and clean data for training. N=10,000 independent noise realizations per feature set and thickness are generated for testing. Boldface indicates the best (highest) test accuracy within each thickness combination (ties bolded).
Time window
Train Acc.
Test Acc.
3600s
1.000
0.992
1800s
1.000
0.990
600s
1.000
0.968
60s
1.000
0.870
15s
1.000
0.808
Table 6: Double-shell material identification performance using random forest and diffenrent time windows. We consider the 0.5/0.5 inch shell configuration, Gamma+ Y2 + Y3 as feature and clean data for training. N=10,000 independent noise realizations per feature set and thickness are generated for testing. Boldface indicates the best (highest) test accuracy (ties bolded).
Time window
# Noisy samples
Train Acc.
Test Acc.
60s
0 (clean data)
1.000
0.870
1
1.000
0.731
2
1.000
0.875
10
1.000
0.983
100
1.000
0.993
1000
1.000
0.995
Table 7: Double-shell material identification performance using random forest with 60s or 1800s time window while considering the 0.5/0.5 inch shell configuration, Gamma+ Y2 + Y3 as feature and either clean data or different number of noisy samples per training simulations (note that when using noisy samples, the clean data are not included in the training). N=10,000 independent noise realizations per feature set and thickness are generated for testing. Boldface indicates the best (highest) test accuracy (ties bolded).
Time window
Noise level
Features
Train Acc.
Test Acc.
60s
σ2=0.02,σ3=0.2
Gamma
1.000
0.671
Gamma + Y2
1.000
0.815
Gamma + Y2 + Y3
1.000
0.870
σ2=0.04,σ3=0.4
Gamma
1.000
0.644
Gamma + Y2
1.000
0.805
Gamma + Y2 + Y3
1.000
0.847
Table 8: Double-shell material identification performance for 0.5/0.5 inch shell configuration, with different level of noise using (Gamma only, Gamma+ Y2 , Gamma+ Y2 + Y3 ) using either 60s or 1800s time window, clean data for training, and N=10,000 independent noise realizations per feature set and thickness for testing. Boldface indicates the best (highest) test accuracy within each thickness (ties bolded).
Thickness (in)
Features
Entropy
0.5/0.5
Gamma
3.337
Gamma + Y2
2.622
Gamma + Y2 + Y3
2.362
3.0/3.0
Gamma
3.313
Gamma + Y2
2.672
Gamma + Y2 + Y3
2.547
Table 9: Double-shell material identification performance with entropy using (Gamma only, Gamma+ Y2 , Gamma+ Y2 + Y3 ) using 1800s time window, clean data for training, and N=10,000 independent noise realizations per feature set and thickness for testing. Boldface indicates the best (highest) test accuracy within each thickness (ties bolded).
Figure 5: Misclassification fractions for representative two-shell configurations (rows) under three feature sets (columns): Gamma only (left), Gamma + Y2 (middle), and Gamma + Y2 + Y3 (right) using 1800s time window and clean data for training. N=10,000 independent noise realizations per feature set and thickness are generated for testing. Each panel summarizes the fraction of test cases that are misclassified for the specified shell-thickness configuration (inner/outer).
Figure 6: Misclassification fractions for asymmetric two-shell configurations (rows) under three feature sets (columns): Gamma only (left), Gamma + Y2 (middle), and Gamma + Y2 + Y3 (right) using 1800s time window and clean data for training. N=10,000 independent noise realizations per feature set and thickness are generated for testing. The reduction in misclassification fraction when adding neutron multiplicity features highlights the complementary information provided by neutron transport relative to gamma attenuation in layered shielding.
Figure 7: Misclassification fractions for representative two-shell configurations (rows) under three configuration of training data (columns): clean data (left), 10 noisy samples per simulation (middle), and 100 noisy samples per simulation (right) using 6.0/3.0 in shells configuration, Gamma+ Y2 + Y3 as feature, and 60 or 1800s time window. N=10,000 independent noise realizations per feature set and thickness are generated for testing. Each panel summarizes the fraction of test cases that are misclassified for the specified shell-thickness and time window configuration (inner/outer).
Figure 8: Fraction of classification errors for (a) only shell 1 is misidentified, (b) only shell 2 is misidentified, and (c) both shells are misidentified, by material and thickness in double shell configuration with 0.5/0.5 thickness, using 1800s time window and Gamma+ Y2 + Y3 as feature. We normalize these errors so that for each material pair, the sum of errors in (a), (b), and (c) is 1 (if they are non-zeros).
Figure 9: Normalized confusion metric with 0.5/0.5 shell thickness using 1800s time window, Gamma+ Y2 + Y3 as feature, and clean data for training. N=10,000 independent noise realizations per feature set and thickness are generated for testing. We normalize these matrices so that the sum of classification errors for each reference material is 1 (if they are non-zeros).