To create the system, we were using a special neural network, the architecture of which is designed for pixel-by-pixel segmentation of the input image. That is, each pixel in the image is assigned a label indicating the class of the object (r/c / background) and the serial number of the instance of the object in this image. The network is able to distinguish the boundaries of two neighboring r/c. This neural network contains, depending on the modification, about 100 layers and more than 50 million learning parameters and produces ~ 7.8 billion operations for one image. This type of architecture was chosen so that the neural network was able to accumulate r/c and was resistant to different viewing angles and all kinds of weather and lighting conditions.
As an additional functional, this neural network can be trained to evaluate a loaded or empty r/c, classify the types of r/c and locomotives, and also assess the type of cargo inside the r/c.