The detection of surface crack is essential to ensure the safety and the serviceability of civil infrastructure. The automatic method is highly efficient and the test results are objective, which makes it gradually replace conventical manual inspection. Recently, semantic segmentation algorithms based on deep learning have shown excellent performance in crack detection tasks. However, the commonly used fully supervised segmentation method requires manual annotation of large amounts of data, which is time-consuming. In order to solve this problem, we propose a semi-supervised semantic segmentation network for crack detection. The proposed method consists of student model and teacher model. The two models have the same network structure and use the EfficientUNet to extract multi-scale crack feature information, reducing the loss of image information. The student model updates weights through the gradient descent of loss function, and the teacher model uses the exponential moving average weights of the student model. During training, the robustness of the model is improved by adding noise to the input data. When using only 60% of the annotated data, our method achieves an F1 score of 0.6540 on the concrete crack dataset and 0.8321 on the Crack500 dataset. The results show that our method can greatly reduce the workload of annotation while maintaining high accuracy.