The invention discloses a steel ball surface defect detection method based on a single stage, and compared with traditional manual detection, the detection method has higher detection precision, detection efficiency and robustness. The single-stage detection method is based on a YOLOv4 network structure pre-training model. The method mainly comprises the following steps of steel ball surface image data acquisition, image augmentation, data set image annotation, data set division, pre-training model construction, model training and model verification. The model of the method can automatically extract the characteristics of the surface defects of the steel ball, and can accurately and quickly detect the positions of various defects on the surface of the steel ball. According to the method, a Python programming language is used, a Keras framework is used as a front-end function to realize, Tensorflow is used as a rear-end data processing, and GPU (NVIDIA, GTX1080Ti) is used for model training, model verification and model testing to obtain corresponding evaluation indexes and test results. According to experimental results, the method can be used for quickly and accurately detecting the surface defects of the steel balls.