Распознавание образов. Программа для нарезки обучающего набора картинок
Доброго дня, уважаемые разработчики.
Делаем небольшое приложение которое распознает текст и возникла потребность создать обучающий набор картинок для того чтобы натренировать нейронную сеть.
Кто-то может подсказать есть ли программы где можно быстро нарезать штук 100 картинок путем ручного выделения областей на фотографии и сохранения полученного файла в одной папке. Чем обычно пользуются создатели систем распознавания текста для таких задач?
21 коментар
Додати коментар Підписатись на коментаріВідписатись від коментарівВже є готові training sets. Наприклад: ftp.sas.com/...AQ4.html#A_data
CEDARCD-ROM 1: Database of Handwritten Cities, States, ZIP Codes, Digits, and Alphabetic Characters
Користуйтеся, якщо підходить
Блин, взяли бы и уже написали программу автоматического сплита. Все равно же писать придется. Или у вас капча?
прошу прощения, я не знаю что такое автоматический сплит. к генерации или взлому капчи проект отношения не имеет
Если у вас некий OCR то распознавание букв пишется за3-4 дня, а вот сплитинг и проверка гипотез — все остальное время.
cgm.cs.mcgill.ca/.../projects/mhum
спасибо за подсказки. постараюсь посмотреть
скорее всего я многого не знаю про фотошоп. вполне возможно что продвинутые пользователи могут там написать скрипт или же юзать какие-то спец. инструменты.
для меня же фотошоп в теории может помочь решении задачи, но имеет ряд минусов — основательно платный(бедная стартаперская команда такой не потянет), имеет зашкаливающие системные требования и требует апгрейда пк для того чтобы нарезать картинок, вырезка каждой отдельной картинки и последующее ее сохранение в отдельный файл займет много мыше-кликов(времени)
мне казалось, что подготовка материала для обучения нейронных сетей стандартная задачка и под нее есть заточенный легковесный инструмент
gimp?
есть вероятность что там есть нечто такое
Неправильный выбор. Смотрите в сторону SVM.
Алгоритмы нарезки особенно слипшихся картинок букв — это самое сложное. Смотрите как сделано в Tesseract. Там жуткий микс из С++ и С, но разобраться можно.
svm -это support vector machine?
правильно
Да. И советую использовать гаусово ядро, оно отлично работает почти для всех наборов данных.
Для .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, не знаю, как раньше без него жила))))))