I have a project to get to know something about ML in computer vision. The project I'm doing that with is OCR of a noisy, low-resolution image (~32x16)
Main problems:
* Since the resolution is very low, I found it hard to use traditional CV approaches to segment individual characters and classify those (for example: is this rectangular blob a few pixels diagonal a dash symbol or just noise)
* End to end CNN approach on artificially generated dataset is approaching usefulness. Training dataset is completely artificially generated, test dataset comes from manual labeling (~2k samples, ~50 classes). This approach is almost usable (96.8% accuracy on test dataset), but it is still not acceptable performance. Next thing I'm going to try is first train the CNN on training data as best as I can (have had >99.9% during training, but that could be overfitting) and then do another training run just on a part of my test data to "fine tune" the weights from first run and use remaining test data for cross-validation.
All existing OCR engines I tried could not handle such inputs: abby, tesseract, google cloud vision.