Normal Image recognition is done with library like openCV
There are also means to convert the image in an image where only single lines and circles are used
Then the analyzing is easier since we don’t have to work with different thicknesses of the lines and circles
Bit like here Straight Skeleton - or how to draw a center line in a polygon or shape?