StarDen 0 Жалоба Опубликовано May 16, 2015 Доброго времени суток! Пишу детектор знаков ограничения скорости(в компьютерном зрении новичек), реализация фильтра и поиска координат уже есть(детектирование красного кольца работает приемлемо), теперь осталось распознать текст внутри знаков (5,10,20,30,40... и т.д.), моя идея такова: создать по 300 положительных и по 600 отрицательных изображений для каждого знака(а конкретнее текста внутри знака, так как поиск изображения с текстом думаю делать в уже вырезанном изображении, согласно координатам и данным, полученных из предыдущих действий), с помощью программы: opencv_createsamples.exe и opencv_haartraining.exe - создать XML-файл "cascade.xml" для каждого знака(точнее для тех выборок 300х600 фотографий). После чего загрузить их в программу и выполнять поиск знаков по очереди подставляя каскады разных знаков, например как-то так: подставляем каскад знака 90 если в кадре находим 90 то выход, иначе подставляем каскад знака 80... и так в цикле. Каскад собираюсь делать согласно этой статье. Одна из положительных картинок 208.bmp (и да, я знаю что она большая,но пока не знаю какой размер конкретно нужен) Собственно вопрос: 1) подходит ли мой алгоритм? 2) если нет, как это лучше сделать? Предпочтительно: C# ,OpenCvSharp Библиотека: OpenCv СпаСиБо! Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 16, 2015 Не подходит, лучше использовать классификатор, а не детектор. С детектированием Вы вроде разобрались, судя по посту. Общая последовательность такая: 1) находим рамку с объектом. 2) извлекаем изображение с объектом 3) выравниваем и приводим к заданному масштабу 4) подаем приготовленное изображение классификатору 5) классификатор выдает что это такое. Посмотрите в сторону нейронных сетей http://caffe.berkeleyvision.org/ . Здесь еще сравнительная таблица есть: http://rodrigob.github.io/documents/2013_ijcnn_traffic_signs.pdf Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
iskees 32 Жалоба Опубликовано May 17, 2015 Увы но Caffe на .net никак не представлен, самое приличное по скорости и наличию .net это fann. Если нужно распознать "скорость" то я бы 4ый шаг заменил на hog, по скорости он быстрый но зато боле устойчивый чем просто изображение, ну и полученный дескриптор в самою простою нейросеть. А несколько Haar-ов да еще в реалтайме (судя по задаче) тут уже серьезная видеокарты нужна будет. ссылка на рабочая Здесь еще сравнительная таблица есть: http://rodrigob.gith...ffic_signs.pdf 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
StarDen 0 Жалоба Опубликовано May 17, 2015 скачал пример приложения FANN, откомпилил(пришлось немного помучатся с настройками проекта) - работает! НО компилится только под .Net 3.5 и конфигурацией х86, а у меня проект на ниже чем .net 4.0 не работает( есть идеи? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
iskees 32 Жалоба Опубликовано May 17, 2015 В app.config делаем так <startup useLegacyV2RuntimeActivationPolicy="true"> Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
StarDen 0 Жалоба Опубликовано May 17, 2015 Сделал, при отладке выдает: "Сборка для смешанного режима построена на основе версии "v2.0.50727" среды выполнения и не может быть загружена в среде выполнения 4.0 без дополнительных конфигурационных данных." содержание app.config: <?xml version="1.0"?> <configuration> <startup> useLegacyV2RuntimeActivationPolicy="true"</startup></configuration> Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано May 17, 2015 ссылка на рабочая Здесь еще сравнительная таблица есть: http://rodrigob.gith...ffic_signs.pdf Спасибо, ссылку поправил. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
iskees 32 Жалоба Опубликовано May 17, 2015 у меня такой <?xml version="1.0"?> <configuration> <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup> <startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0"/> </startup> </configuration> 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
StarDen 0 Жалоба Опубликовано May 17, 2015 О, громадное спасибо , заработало! изначально файл конфига был похожий, но надо было еще, судя по вашему файлу не только<startup useLegacyV2RuntimeActivationPolicy="true">, а и строка : <supportedRuntime version="v4.0"/>. Буду дальше разбираться Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах