Text this: A comprehensive review of research on surface defect detection of PCBs based on machine vision