Scratch Detection On Noisy Textured Surface
I tried PHOT (suggested by @applesoup) using the unofficial implementation given under https://github.com/thinkng but it did not work for these image sets. Maybe one needs to further investigate or tweak the algorithm a bit.

First, if you have sufficient amount of data, I do not believe that one could easily outperform a good deep architecture in the task of texture defect classification. The literature is full of these data driven methods. Some examples are here: [1], [2], [3], [4], [5].

However, due to limited amount of data, I tried a classical approach which seems to output somewhat acceptable results. In essence, the method involves:


Compute the multi-scale difference of Gaussian (DoG) image. Call this $D=\{D_i\}$, where $D_i$ is a single DoG:
$$
D_i = I * g_i^1 - I*g_i^2
$$
where $I$ is a single channel input image and $g_i^1$ and $g_i^2$ are two Gaussian kernels with $\sigma_2&gt;\sigma_1$. $*$ denotes convolution. As your defects are line-like, such edge enhancement should ease the job of any subsequent analysis. The resulting DoG images look like:




You could already see that the defective areas are a bit emphasized. I show here only one of the scales, whereas multi-scale convolutions form a scale pyramid (see scale-space theory). That is what $D$ is.


Perform a curve (line) detection on this DoG pyramid $D$ by using the algorithms provided in one of my previous responses. The raw response of such a subpixel line detector on a single level of the hierarchy:




Even though the images are messy and cluttered by many false positives, the lines we are looking for seem to be there. I avoid showing all the detected lines as this would severely harm the perception.


The final stage is to filter these curvilinear structures to arrive at the desired scratches. While many filtering techniques can be used, I just let the lines that are long enough survive. The output after all these stages looks like:




This is not ideal, but probably close to what you have been looking for. I also did not spend much time to tune the parameters.

Note that this approach is solely based upon a geometric modeling of the problem. For different types of scratches these assumptions won't hold. Nevertheless, I thought it might be a good starting point.