Я пытаюсь создать приложение для iOS, которое может распознавать числа от 0 до 9 при получении изображения с камеры устройства.Я начал с определения номера, который в моем случае всегда будет в синем круге.Мне удалось получить довольно точное определение круга с помощью OpenCV.В этот момент приложение возьмет изображение, отсканирует его на наличие синих кружков, обрежет его до той части, где находится кружок, превратит его в черно-белый и увеличит контрастность, чтобы был чистый черный (фон) ичистый белый (число).В результате получается довольно четкое изображение только числа.Последний шаг - распознать изображение с помощью простого классификатора изображений.
Поэтому я попытался воссоздать такое «белое число на черном фоне» - изображения для набора данных.Я использовал изображения с номерами того же шрифта, что и в реальности, добавил случайный контраст, случайную яркость, случайный масштаб, добавил синий круг и передал его функции в OpenCV, которая затем вернула изображение, которое я сохранил на своемжесткий диск.В наборе данных, который я создал, было более 10.000 изображений на число (таким образом, более 100.000).Затем я использовал CreateML для обучения классификатора изображений для этого набора данных.Точность в реальном приложении с реальными фотографиями таких чисел, однако, довольно плоха.
Поэтому я попробовал другой подход.Идея состояла в том, чтобы изменить все изображения, кроме номера, чтобы модель узнала сходства.Я сделал это, добавив случайные белые и черные пиксели к изображению, вращая и масштабируя его.В конце я применил тот же черно-белый фильтр из OpenCV и сохранил изображения на моем жестком диске.Эта модель даже хуже, чем выше.
Вы можете найти образец изображения обоих наборов данных здесь: https://1drv.ms/f/s!Ao1FRfDXc7vKklCxq3n7NC6APImP
Так вот мои вопросы:
1) Следуетне очень ли легко создать модель машинного обучения, способную распознавать числа с высокой точностью?
2) Как должен выглядеть мой набор данных в этом случае, чтобы оптимизировать точность модели?
3) Сколько изображений на номер вы бы порекомендовали для обучения?