Рубрика «mashine learning»

Не так давно передо мной встала производственная задача – запустить обученную модель нейронной сети Kesas на нативном C++ коде. Как ни странно, решение оказалось вообще не тривиальным. В результате чего появилась собственная библиотека, дающая такую возможность. О том, как же это – нейросети на чистых крестах и будет сегодняшняя небольшая статья.

Тем, кому не терпится – вот тут репозитарий на github, с подробным описанием использования. Ну а всех остальных прошу под кат… Читать полностью »

Оптическое распознавание символов (OCR) — это процесс получения печатных текстов в оцифрованном формате. Если вы прочитали классический роман на цифровом устройстве или попросили врача поднять старые медицинские записи через компьютерную систему больницы, вы, вероятно, воспользовались OCR.

OCR делает ранее статический контент доступным для редактирования, доступным для поиска и для обмена. Но многие документы, стремящиеся к оцифровке, содержат кофейные пятна, выцветшие солнечные пятна, страницы с загнутыми уголками и множество морщин сохраняют некоторые печатные документы в не оцифрованном виде.

Всем давно известно, что существуют миллионы старых книг, которые хранятся в хранилищах. Использование этих книг запрещено по причине их ветшалости и дряхлости, и поэтому оцифровка этих книг столь важна.

В работе рассматривается задача очистки текста от зашумленности, распознавание текста на изображении и конвертации его в текстовый формат.

image

Для обучения использовалось 144 картинки. Размер может быть разным, но желательно должен быть в пределах разумного. Картинки должны иметь формат PNG. После считывании изображения используется бинаризация – процесс преобразования цветного изображения в черно-белое, то есть каждый пиксель нормализуется в диапазон от 0 до 255, где 0 – это черный, 255 – белый.

Чтобы обучить сверточную сеть, нужно больше изображений, чем имеется. Было принято решение разделить изображения на части. Так как обучающая выборка состоит из картинок разного размера, каждое изображение было сжато до 448х448 пикселей. В результате получилось 144 изображения в разрешении 448х448 пикселей. После чего все они были нарезаны на неперекрывающиеся окна размером 112x112 пикселей.

Читать полностью »

Менеджмент, тестирование и фронтенд позади, переходим к бекенду — секции-рекордсмену по количеству баззвордов.

image
Читать полностью »