A deep learning approach for automated PCB defect detection: A comprehensive review