Распознавание образов. Программа для нарезки обучающего набора картинок

Доброго дня, уважаемые разработчики.

Делаем небольшое приложение которое распознает текст и возникла потребность создать обучающий набор картинок для того чтобы натренировать нейронную сеть.

Кто-то может подсказать есть ли программы где можно быстро нарезать штук 100 картинок путем ручного выделения областей на фотографии и сохранения полученного файла в одной папке. Чем обычно пользуются создатели систем распознавания текста для таких задач?

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Вже є готові training sets. Наприклад: ftp.sas.com/...AQ4.html#A_data

CEDAR CD-ROM 1: Database of Handwritten Cities, States, ZIP Codes, Digits, and Alphabetic Characters


Specifications of the database include:
+ 300 ppi 8-bit grayscale handwritten words (cities,
states, ZIP Codes)
o 5632 city words
o 4938 state words
o 9454 ZIP Codes
+ 300 ppi binary handwritten characters and digits:
o 27,837 mixed alphas and numerics segmented
from address blocks
o 21,179 digits segmented from ZIP Codes
+ every image supplied with a manually determined
truth value
+ extracted from live mail in a working U.S. Post
Office
+ word images in the test set supplied with dic-
tionaries of postal words that simulate partial
recognition of the corresponding ZIP Code.
+ digit images included in test set that simulate
automatic ZIP Code segmentation. Results on these
data can be projected to overall ZIP Code recogni-
tion performance.
+ image format documentation and software included

Користуйтеся, якщо підходить

Блин, взяли бы и уже написали программу автоматического сплита. Все равно же писать придется. Или у вас капча?

прошу прощения, я не знаю что такое автоматический сплит. к генерации или взлому капчи проект отношения не имеет

Если у вас некий OCR то распознавание букв пишется за 3-4 дня, а вот сплитинг и проверка гипотез — все остальное время.

cgm.cs.mcgill.ca/.../projects/mhum

спасибо за подсказки. постараюсь посмотреть

Кто-то может подсказать есть ли программы где можно быстро нарезать штук 100 картинок путем ручного выделения областей на фотографии и сохранения полученного файла в одной папке. Чем обычно пользуются создатели систем распознавания текста для таких задач?
То ли я чего то не понимаю то ли вы не знаете про фотошоп.

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

есть вероятность что там есть нечто такое

Делаем небольшое приложение которое распознает текст и возникла потребность создать обучающий набор картинок для того чтобы натренировать нейронную сеть.

Неправильный выбор. Смотрите в сторону SVM.

Кто-то может подсказать есть ли программы где можно быстро нарезать штук 100 картинок путем ручного выделения областей на фотографии и сохранения полученного файла в одной папке.

Алгоритмы нарезки особенно слипшихся картинок букв — это самое сложное. Смотрите как сделано в Tesseract. Там жуткий микс из С++ и С, но разобраться можно.

Да. И советую использовать гаусово ядро, оно отлично работает почти для всех наборов данных.
Для .NET — Accord.NET
Для Java — LIBSVM. В последней гаусова ядра нет, но есть RBF, что тоже вполне хорошее.

а вы тестировали svm на каких выборках (размер, качество)? как он себя ведет на зашумленных данных?

Качество обучаемой выборки было высоким, тестовой — зашумленной. Но там используется набор свойств, который я разглашать не могу, довольно устойчивый к шуму. Распознавание около 95%. Тестировал на гаусовом ядре. На линейном и полиномиальном где-то 85-90%.

На счет готовых программ не знаю, может они где-то есть. Однако, в курсе по Machine Learning предлагается следующий метод генерации training set: накачать кучу шрифтов и картинок для фона и случайным образом совместить отдельные символы с различными фонами. Думаю написать такой tool займет максимум пару часов. Приемущества такого подхода в том, что вы сможете контролировать параметры training set’а. Также, в курсе рекомендуют добавлять геометрические искажения символов, например небольшое скручивание или волнистость (как на капчах) и не рекомендуют добавлять шумы на пиксельном уровне, так как они слабо влияют на процесс обучения.

О каком курсе Вы говорите? (Just curious)

Довольно известный курс от Andrew Ng на coursera.org. Известный потому, что это был один из первых курсов на Coursera.

О, я даже не знал что там прямо такие задачи рассматриваются, надо пройти. А то я начал, и меня первые недели три сильно демотивировали. Задачки довольно скучные, еще из универа, ну и этот долбанный Octave вместо R. А тут оказывается что ближе к середине интересные вещи начинаются. Вам понравился этот курс? Какие еще проходили?

Да, там первая половина нудновата и на лекциях я несколько раз засыпал :) К октаву можно привыкнуть, особенно если не успел еще привыкнуть к R или чему-то еще. Курс в целом понравился. Других курсов по Machine Learning не проходил пока.

Для скринов в работе юзаю Snagit, не знаю, как раньше без него жила))))))

Підписатись на коментарі