چكيده به لاتين
In this thesis, the design and simulation of the obstacle detection algorithm in the railway is discussed. In general, the obstacle detection algorithm, in addition to input and output, includes three main stages, in the first stage, all the objects in the image are identified. in the second stage, after all the rails in the image are identified, the path of the train is identified among the other rails. And finally, in the third stage, the presence or absence of commonality between the objects in the image and the train's path is investigated. The proposed algorithm in this thesis, like any other algorithm, has input and output in addition to the main steps. The input of the algorithm is a frame of railway images, which was taken by a camera installed on the train, and the output is only a number zero or one, meaning the presence or absence of an obstacle in the path of the train. In the first step, similar to the general algorithm, all the objects in the image are detected by the YOLO network. the dataset used in this step is the COCO dataset, since this dataset contains 80 classes, the proposed obstacle detection algorithm is also capable of detecting 80 types of the obstacles in the railway. In the second step, all the rails in the image need to be identified. For this purpose, a UNet network has been trained on the Railsem19 dataset. In the second step, the train path needs to be separated from the detected rails by the UNet network. Therefore, in this thesis, the design and simulation of an algorithm for identifying the train's path is discussed. The proposed algorithm, in addition to the ability to identify the train's path in general and simple mode, where the rails are completely separate, in a number of special conditions such as the areas in front of the railroad switch that the rail turns into two branches also has the ability to detect the direction of the train track. In the third step, the correspondence between the train path and the location of the obstacles obtained by YOLO is checked. Finally, after simulating the three-stage obstacle detection algorithm in the railway, this algorithm was tested on a dataset containing 1664 images. The algorithm had correct output in 1451 images, but it had errors in 213 images. In the following, the reasons for the algorithm error were investigated on these test cases, and with methods such as adjusting the parameters of the model and providing suggestions to solve the algorithm errors, the error cases were reduced from 213 to 145 cases. Finally, the results of the proposed railroad switch detection algorithm were examined and it was observed that this algorithm had errors in only 19 images out of a total of 1664.