Arka’s Status Update for 04/19
This week, I worked mainly on edge detection and color extraction. Both approaches were changed from initial plan:
Classic edge detection methods and built in open cv libraries were not providing proper performance regardless of how well the image was taken and preprocessed. Switched to an approach which detects color changes in a linear scan across resistor body. This method is working much better, though is dependent on quality of color classification
Color classification was originally going to be performed by thresholding h,s,v values to fit into different colors. However, the values found on the internet for colors is not even a close match for real world values under my lighting conditions. The pattern was hard to figure out by hand, so a better approach was to employ a neural network that does multi-class classification. A lot of the week went into gathering a dataset for this model efficiently, training and tuning it, and then using it to perform the edge detection.
As of now, edge detection works well and the model is performing okay. There are several improvements that need to be made this week:
- Color Model Adjustment/Training
- Don’t take edge of each color band as color values are less representative there
- Take average of vertical values to get a better color estimate
- Try to not take area with high reflection (I think this can be determined by high saturation, white region)
- Find proper orientation of resistor
As of now, we can more or less get the edges, the primary challenge is finding good color areas and find right colors. The above methods will be tried to improve that performance.