Поиск:

Ответ в темуСоздание новой темы Создание опроса
> нейронные сети для ocr на с++ 
:(
    Опции темы
KOLANICH
Дата 23.2.2011, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 21.4.2010

Репутация: нет
Всего: нет



подскажите библиотеку для нейронных сетей, заточенную под OCR
(или чтобы можно было заточить)

сейчас планирую использовать FANN
можете подсказать структуру сети
(количество слоёв и функции активации)
изображение каждого символа немного повёрнуто
PM MAIL   Вверх
VictorTsaregorodtsev
Дата 23.2.2011, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.7.2006

Репутация: 3
Всего: 8



OCR - он разный бывает ;)
Если текст предварительно не будет сегментироваться на буквы (чтобы обученная нейросеть видела только отдельную букву) - то просто нейросети не хватит, надо будет над ней надстраивать сегментатор (раз не было предварительной сегментации - надо будет сегментировать "строку" ответов сети, полученную при сдвиге рецепторного окна попиксельно слева-направо).
Если изображение символа будет "повернуто" по сравнению с обучающим изображением этого символа - то опять же нейросети не хватит (вернее, не хватит реализованной в ФАННе нейросети). Надо будет или использовать сеть другой структуры, или предварительно извлекать из картинки инвариантные к повороту признаки изображения, или делать генератор искажений и с его помощью конструировать большую обучающую выборку (в которую для каждого символа будет входить достаточно много его измененных/наклоненных/искаженных/иного размера начертаний)

PS. Тут мне вопросы не задавать - случайно увидел тему вверху общефорумного списка новых тем, возвращаться не планирую (раздел форума совсем не интересен, полезный для меня "выхлоп" от участия в обсуждении отсутствует).
PM MAIL WWW   Вверх
KOLANICH
Дата 24.2.2011, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 21.4.2010

Репутация: нет
Всего: нет



я вот тоже подумал, что фанн не хватит ибо фанн - это многослойный перцептрон
а тут нужна свёрточная или ещё какая-нибудь оптимизированная под ocr сеть

выпрямлять символы с помощью ген алгоритма как-то нехорошо
это вариант на крайний случай
лучше какую-нибудь сеть, опт под ocr поставить
текст уже разбит на символы
символы приведены к размерам 14*16 (выпрямления не произведено)
PM MAIL   Вверх
KOLANICH
Дата 24.2.2011, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 21.4.2010

Репутация: нет
Всего: нет



да и ещё
сеть не должна быть завязана на OpenCV
PM MAIL   Вверх
dereyly
Дата 24.2.2011, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 217
Регистрация: 16.6.2006

Репутация: 1
Всего: 4



Есть eblearn, я пробовал его собирать, но свои тесты в этой библиотеки еще не получилось прогнать. Я бы даже сказал что билиотека страдает комплексом Баумана и наверняка ее писал Онотоле.
PM MAIL   Вверх
KOLANICH
Дата 24.2.2011, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 21.4.2010

Репутация: нет
Всего: нет



она требует opencv
//err всё таки не требует
//это другая требует

как её скачать без сабвершна
как ей пользоваться
и как её собрать под студией?

Это сообщение отредактировал(а) KOLANICH - 24.2.2011, 20:38
PM MAIL   Вверх
VictorTsaregorodtsev
Дата 25.2.2011, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.7.2006

Репутация: 3
Всего: 8



Опа - перенесли тему из С++ного раздела в Алгоритмы. Хорошо, тогда продолжим

Цитата(KOLANICH @  24.2.2011,  08:26 Найти цитируемый пост)
выпрямлять символы с помощью ген алгоритма как-то нехорошо

А кто говорил про ген.алгоритм? Просто из каждой начальной обучающей картинки символа можно нагенерировать еще кучу картинок путём поворота исходной на тот или иной угол, смещения вверх, вниз, вправо или влево, изменения размера. Можно и "нелинейно деформировать" картинку.

Ну и раз текст уже порезан на символы - то можно попытаться начать с грубой силы. Обычный многослойный персептрон - чтобы получить некоторый стартовый уровень точности распознавания. И с этим эталоном можно будет сравнивать результаты более сложных сетей (например, результаты для свёрточной сети) и прочих разных методов - будет видно, есть ли выигрыш от усложнений. 

И всё-таки окончательно уточните слова "изображение каждого символа немного повёрнуто" из Вашего первого поста: угол поворота для символа один и тот же или каждый раз разный? Тогда однозначно всем станет понятно - можно ли брать для символа единственный эталон, или нужно заморачиваться с кучей эталонов (повернутых на разный угол изображений символа) или с обеспечением инвариантности распознавания к повороту изображения.
PM MAIL WWW   Вверх
KOLANICH
Дата 25.2.2011, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 21.4.2010

Репутация: нет
Всего: нет



user posted image
user posted image
user posted image
user posted image
user posted image
user posted image

http://img842.imageshack.us/slideshow/webp...hp?id=1phpa.png


Это сообщение отредактировал(а) KOLANICH - 25.2.2011, 18:37
PM MAIL   Вверх
dereyly
Дата 27.2.2011, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 217
Регистрация: 16.6.2006

Репутация: 1
Всего: 4



Цитата(KOLANICH @ 24.2.2011,  20:30)
как её скачать без сабвершна
как ей пользоваться
и как её собрать под студией?

Токо через СВН можно качать, почемуто автор не сделал стабильных срезов... я вот мучаюсь с тем что в тесте на поиск лиц количество весов не совпадает в новой структуре с тестовывым файлом. (2518 на 1723).
Собирается достаточно просто: берете Смак генерируете студийный проект, из указанных библиотек обязательной только ImageMagick (дополнительные: BOOST, QT, pthreads) 
PM MAIL   Вверх
KOLANICH
Дата 1.3.2011, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 21.4.2010

Репутация: нет
Всего: нет



imageMagick (только бинарники и хедеры) весит много
многовато для проги весящей 96 килобайт и + 4 -8 мегов дллок + сеть на 2 мега
против 40(или 70 - не помню) мегов - бинарники имейдж меджик (в распакованном виде)
думаю, бинарники занимают большую часть
мне без  imageMagick надо
я к тому-же я уже на gd написал выделение символов


ps FANN работает плохо
ибо все символы - с вероятностью 1
обучал методом грубой силы - перебрал все возможные целые значения наклона для каждого символа (есть исходник скрипта, генерящего капчу, он прикреплён) без учёта помех неточностей выделения символов, обусловленных наличием соседних символов (ибо скрипт немного подправили, части разных символов бывают на одной вертикали), и артефактов сжатия
да и на конфигурации "релиз" почему-то виснет
явно нужна свёрточная сеть
или добавить перцептрону слоёв до 1 гига smile
(по количеству чёрных точек детектить не получится)

скачал ту свёрточную библиотеку
даже построил (без имейдж меджика!!!)
но к проекту не хочет подключаться : компилятор ругается
2>c:\program files\microsoft visual studio 10.0\vc\include\libidx\defines.h(43): fatal error C1083: Не удается открыть файл включение: execinfo.h: No such file or directory


Это сообщение отредактировал(а) KOLANICH - 2.3.2011, 18:16

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  image.php 4,00 Kb
PM MAIL   Вверх
dereyly
Дата 4.3.2011, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 217
Регистрация: 16.6.2006

Репутация: 1
Всего: 4



Цитата

но к проекту не хочет подключаться : компилятор ругается
2>c:\program files\microsoft visual studio 10.0\vc\include\libidx\defines.h(43): fatal error C1083: Не удается открыть файл включение: execinfo.h: No such file or directory

Так допишите в Additional Include dir все неообходимые пути, которые СМАК почему то не построил (1проекту допустим к eblearntools)
PS там возни много еще будет =)
PPS можете еще SVM попробовать не так красиво как сверточные сети, зато имеет хорошую репутацию. (алгоритмы победители паскаля (расп объектов) содержат SVM, так же краем ухом слышал что рекапчу на основе SVM победили)
PM MAIL   Вверх
KOLANICH
Дата 4.3.2011, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 21.4.2010

Репутация: нет
Всего: нет



нашёл ещё одну библиотеку
http://asiri.rathnayake.org/2008/03/13/pop...oxes-libraries/
, сделанную из http://www.codeproject.com/KB/library/Neur...ecognition.aspx
подцепил к проекту -  не компилится
тогда решил сделать дллкой
создал проект
понапихал EXNN_API к каждому классу
Код

#ifdef EXNN_EXPORTS
#define EXNN_API __declspec(dllexport)
#else
#define EXNN_API __declspec(dllimport)
#endif



компилю - не компилится

http://pastebin.com/Jfp5KGHj
PM MAIL   Вверх
KOLANICH
Дата 14.3.2011, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 21.4.2010

Репутация: нет
Всего: нет



так что делать будем
PM MAIL   Вверх
Sergey_Murzinov
Дата 28.11.2011, 02:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 17.6.2007

Репутация: нет
Всего: нет



Ну что тема заглохла?
Вообще собрал EbLearn полностью под VS, подключился, но остались некоторые вопросы.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0815 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.