Machine Learning Application in JUNO - directionality reconstruction for atmospheric neutrinos based on PointNet++ model

Zhen Liu

[email protected]



Environment configuration

Code, data, materials, etc. are available in IHEP Box

3D point clouds based model: PointNet++

PonintNet (Qi, Charles R., et al. "Pointnet: Deep learning on point sets for 3d classification and segmentation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.))


PonintNet++ (Qi, Charles R., et al. "Pointnet++: Deep hierarchical feature learning on point sets in a metric space." Advances in neural information processing systems 30 (2017).):


The pytorch implementation of PointNet is from Xu Yan' GitHub

Model Input

JUNO detector
An example of h5df file

Model output

References for the techniques used in this example


Load data

80% for trainning, 20% for tsetting

Load model

Configuration for training and testing

Model trainning and testing

Plot train/test results

plot (dx, dy, dz) truth:

plot learning rate to check the OneCycleLR:

plot model loss to check over fitting / under fitting:

plot the comparison between predicted and true results:

similar plots for $\phi$ ...

More checks should be done (for a complete physics study):