roboforum.ru

Технический форум по робототехнике.


детектирование границы черное-белое с картинки

детектирование границы черное-белое с картинки

Сообщение maljavka » 06 апр 2008, 14:58

Здравствуйте.
Есть задача: с помощью нейросети (это обязательно) определять границу черного и белого. может кто-нибудь писал простенькие классы на С++? или знает библиотеки с нормальной документацией? желательно на русском. был бы очень благодарен. вообще получаю готовые изображения в массив обычный. и как из него с помощью нейросети понять где черное где белое?
Премного благодарен.
maljavka
 
Сообщения: 23
Зарегистрирован: 21 фев 2008, 11:05

Re: детектирование границы черное-булое с картинки

Сообщение =DeaD= » 06 апр 2008, 15:23

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

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

PS: Искать за вас библиотеки никто не будет, тем более черт его знает какая вам удобнее окажется.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: детектирование границы черное-булое с картинки

Сообщение maljavka » 06 апр 2008, 15:40

=DeaD= писал(а):В целом про нейросети полно информации в рунете, там же полно готовых классов для работы с ними. Выбирать есть из чего, однако для такой простой задачи можно и самому написать эмуляцию 1-слойной нейросети.

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

PS: Искать за вас библиотеки никто не будет, тем более черт его знает какая вам удобнее окажется.

нейросети - потому что такое задание.
понимаю, что просто, но не знаю с чего начать.
понимаю, что однослойной достаточно, но как ее создавать? всмысле с чего хотя бы начать? функционал примерно понимаю...
maljavka
 
Сообщения: 23
Зарегистрирован: 21 фев 2008, 11:05

Re: детектирование границы черное-булое с картинки

Сообщение =DeaD= » 06 апр 2008, 15:44

Эээ... я даже не знаю что и рассказать то, всё настолько очевидно...

Ну по сути нейрон - это функция от суммы входов с коэффициентами.

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

Вот и вся нейросеть вроде?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: детектирование границы черное-булое с картинки

Сообщение maljavka » 06 апр 2008, 16:27

а как обучить такую нейронную сеть?
maljavka
 
Сообщения: 23
Зарегистрирован: 21 фев 2008, 11:05

Re: детектирование границы черное-булое с картинки

Сообщение Виталий » 06 апр 2008, 16:37

а как обучить такую нейронную сеть?

1. Прочитать предыдущее сообщение еще раз.
2. Проделать это руками на бумаге.
3. Подумать.
4. Понять, что сеть уже обучена.
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

Re: детектирование границы черное-булое с картинки

Сообщение maljavka » 06 апр 2008, 16:59

попробую сформулировать вопрос: например есть картинка 30*30 белых пикселей. например в правой верхней части картинки появляются черные пиксели. нейросеть должна дать один ответ. если в левой - другой. и не должна обращать внимания на одиночные пиксели - шум. подскажите пожалуйста как примерно делается.
спасибо.
maljavka
 
Сообщения: 23
Зарегистрирован: 21 фев 2008, 11:05

Re: детектирование границы черное-булое с картинки

Сообщение =DeaD= » 06 апр 2008, 17:02

Мда, вы издеваетесь над нами...

Определитесь сначала что вам надо, потом задавайте вопросы. А то начинается с детектирования границ, а заканчивается на детектировании тёмных крупных областей на рисунке с игнорированием незначительных отклонений.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: детектирование границы черное-булое с картинки

Сообщение maljavka » 06 апр 2008, 17:07

прошу прощения, что сначала неправильно поставил задачу. :(
maljavka
 
Сообщения: 23
Зарегистрирован: 21 фев 2008, 11:05

Re: детектирование границы черное-булое с картинки

Сообщение =DeaD= » 06 апр 2008, 18:39

Так нужно то что? Конкретно скажите только :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: детектирование границы черное-булое с картинки

Сообщение maljavka » 06 апр 2008, 18:59

:)
получил с камеры картинку. перевожу ее в обычный массив единиц и нулей. получается так, что фон - белый цвет. любые препятствия - черный. надо понять где на картинке находятся препядствия и принимать решение. поскольку движение камеры всегда только вперед, то препядствия могут появляться только спереди, то есть сверху картинки. необходимо значит классифицировать всего по двум признакам: препядствие появляется справа или слева. если по центру, то будем считать, что всё равно, что справа, например. мелкий мусор, то есть шум картинки или неравномерность фона, в рассчет не берется.
спасибо
maljavka
 
Сообщения: 23
Зарегистрирован: 21 фев 2008, 11:05

Re: детектирование границы черное-булое с картинки

Сообщение =DeaD= » 06 апр 2008, 19:04

Дык вам тогда вообще несколько нейронов хватит. Что мудрить то? Каждый нейрон настраиваете на определенную область картинки (заводите в него соответствующую тучу пикселей с равными весами) и всё, т.к. вы завели кучу пикселей с равными весами, то отдельные пиксели шума ничего существенно не испортят. Всё.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: детектирование границы черное-булое с картинки

Сообщение maljavka » 06 апр 2008, 19:28

а как это примерно будет выглядеть в виде схемы и формул? не очень понял что-то
maljavka
 
Сообщения: 23
Зарегистрирован: 21 фев 2008, 11:05

Re: детектирование границы черное-булое с картинки

Сообщение =DeaD= » 06 апр 2008, 21:35

Что именно вам не ясно? Я как-то не очень горю рисовать в графике схему сложения N чисел с коэффициентами.

Пусть N1...Nk - значения яркости (0 - минимальная яркость, 1 - максимальная) пачки пикселей в левом верхнем углу, берете X=(N1+...+Nk)/k - это типа нейрон отвечающий за препятствие в левом верхнем углу, как только X близко к 0, значит препятствие. Вот примерно так, что именно тут не ясно?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: детектирование границы черное-булое с картинки

Сообщение maljavka » 07 апр 2008, 13:08

ясно =) только как-то настолько просто получается =) ее же фактически и обучать не надо.
maljavka
 
Сообщения: 23
Зарегистрирован: 21 фев 2008, 11:05


Вернуться в Алгоритмы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Mail.ru counter