A system for sorting objects, said objects received by the system in bulk, into at least one set of wanted objects and at least one set of unwanted objects, where said objects received by the system in bulk is at a throughput of 0.5 - 30 tons per hour at an accuracy level of higher than 80% with a single stage throughput and higher than 95% utilizing a cascade of the system and said objects received by the system in bulk include overlapping objects, said system comprising: at least one radiation source arranged to radiate the objects received by the system in bulk, at least one optical sensor arranged to capture reflected radiation of the objects received by the system in bulk and acquire the reflected radiation as multi- or hyperspectral data, said at least one optical sensor including a near-infrared, NIR, scanner arranged to scan the objects received by the system in bulk, wherein the multi- or hyperspectral data is a multi-dimensional image where each pixel or equivalent super pixel or grouping of pixels comprises a number of bands with order of magnitude 1-10 with narrow or wide spectrums with order of magnitude 100-1000 nm or a multi-dimensional image where each pixel or equivalent super pixel or grouping of pixels comprises a number of bands with order of magnitude 4-500 with narrow spectrums with order of magnitude 1-50 nm and wherein said multi- or hyperspectral data comprises the scan data; a processing circuit using a convolutional neural network, CNN, with at least two convolutional layers, said CNN using as an input the scan data in order to detect and classify the scan data as said at least one set of wanted objects and said at least one set of unwanted objects; wherein in the instances where objects received in bulk by the system is overlapping and/or stacked with other objects, the CNN identifies the scan data of said overlapping objects as a single group output; and a mechanical sorter configured to sort the objects received by the system in bulk, where the mechanical sorter in operation is arranged to target the boundaries of the objects and to use the single group output of the processing circuit to classify the objects received by the system in bulk into said at least one set of wanted and said at least one set of unwanted objects so that said single group output of overlapping objects are classified and sorted as a set of wanted object type or as a set of unwanted object type. at least one radiation source arranged to radiate the objects received by the system in bulk, at least one optical sensor arranged to capture reflected radiation of the objects received by the system in bulk and acquire the reflected radiation as multi- or hyperspectral data, said at least one optical sensor including a near-infrared, NIR, scanner arranged to scan the objects received by the system in bulk, wherein the multi- or hyperspectral data is a multi-dimensional image where each pixel or equivalent super pixel or grouping of pixels comprises a number of bands with order of magnitude 1-10 with narrow or wide spectrums with order of magnitude 100-1000 nm or a multi-dimensional image where each pixel or equivalent super pixel or grouping of pixels comprises a number of bands with order of magnitude 4-500 with narrow spectrums with order of magnitude 1-50 nm and wherein said multi- or hyperspectral data comprises the scan data; a processing circuit using a convolutional neural network, CNN, with at least two convolutional layers, said CNN using as an input the scan data in order to detect and classify the scan data as said at least one set of wanted objects and said at least one set of unwanted objects; wherein in the instances where objects received in bulk by the system is overlapping and/or stacked with other objects, the CNN identifies the scan data of said overlapping objects as a single group output; and a mechanical sorter configured to sort the objects received by the system in bulk, where the mechanical sorter in operation is arranged to target the boundaries of the objects and to use the single group output of the processing circuit to classify the objects received by the system in bulk into said at least one set of wanted and said at least one set of unwanted objects so that said single group output of overlapping objects are classified and sorted as a set of wanted object type or as a set of unwanted object type.