Давайте я сначала расскажу о себе =)
Я программер, занимаюсь этим давно, работаю на компанию. Иногда, когда совсем не лень, пишу для себя, для души: игры, софт, реализую экспериментальные идеи/разработки.
О такой одной разработке и пойдет речь...
Визуальное управление.
Внутреннее описание: вебкамера рядом с экраном (т.е. чтоб примерно смотреть на экран и попадать в камеру), софт который постоянно обрабатывает кадры и хитрая логика.
Софт под линукс, я просто переписываю/улучшаю софт который писал раньше, 2 года назад, для виндов.
Пока, в этой реализации, софт обнаруживает только одного обьекта на экране (2 человека в веб камере создадут глюки). Обнаружение лиц (на подобии как в фотоаппаратах-мыльницах), обнаружение кистей рук, и обнаружения положения на плоскости (проекции) частей рук от кисти до локтя.
Суть софта: мы получаем как бы плоскую картинку где комп знает расоложение лица, кситей рук, и части руки до локтя. это позволяет назначить на некоторые движения особые действия (shortcuts/mouse actions).
Пока софт совсем сырой и обучение действиям/движениям весьма сложное и не юзабельное. Но я смог реализовать промотку какбы мышкой (горизонтальную и вертикальную). Тестил для просмотра веб страниц (промотка вверх/вниз, переход по закладкам вперед/назад).
В планах перенос кода по обнаружению пальцев на руках, и упрощенной мимики лица.
Ограничения технологии:
1) т.к. я планировал использовать софт на ноутбуках, то кодинг учитывает только 1 камеру, и следовательно не имеет обнаружения глубины картинки. Это наводит на ограничения дальности до обьекта (человека), если обьект становится слишком далеко от камеры - софт перестает реагировать.
2) четкость камеры нужна от 640х480 (не меньше)
Собственно что хотелось бы обсудить:
1) видели ли вы ноутбуки или десктопы(типа маков - все в одном, а не собранное по частям) с двумя камерамы с разрешением выше или равном 800х600?
2) есть ли будущее у такого управления? я имею ввиду майн стрим, а не поддержку инвалидов без рук и тп. Т.е. для "полностью-укомплектованных" людей
3) какие вы видете перспективы в управлении для обычного софта? (т.е. есть идееи как назначить движения для разных программ? типа как промотка для браузера)
4) перспективы "наживы" на линукс платформе? (реально ли продать или сделать опенсорц+дотации ?)
П.С. никоим образом не хотел обидеть никого из инвалидов в данном посте.
Очень интересная идея...
1) Таких ноутов не видел никогда, сомневаюсь, что 2 камеры в одном ноуте целесообразны впринципе (на сегодняшний день)...
2) Мне кажется, что будушее у этой идеи может быть. Как вариант (как я это понимаю) - отказ от мышки, то есть полная ее замена. Минус в том, что камера будет занята постоянно.
3) Для обычного софта - это фактически реализация управления мышью, плюс, например, возможность повернуть изображение характерным вращательным движением кисти. Фактически, в хорошо реализованной системе ее потенциал будет ограничиваться только фантазией пользователя.
> 2) Минус в том, что камера будет занята постоянно.
тут не согласен. Много ли вы кликаете мышкой общаясь по веб камере?
тут надо учитывать для чего используется вебкамера:
чаты - тогда мы говорим голосом и не набираем на клавиатуре в основном.
камера свободна для чата (т.е. собеседник видит лицо)
если надо чтото вставить и пр - то собеседник не особо будет возмущен маханиями рукой.
основной вопрос - шаринг камеры на несколько приложений. я уже видел какойто софт для шаринга камеры под линукс. тут же нет обратной связи - вполне можно шарить видео поток.
3) тут я и попросил привести примеры какие движения руками были бы НАИБОЛЕЕ ПОНЯТНЫ пользователю БЕЗ ПРОЧТЕНИЯ мануала на тысячи страниц.
приведу пример. сейчас у меня реализовано какбы перелистывание ладонью (не пальцами) - которое выполняет прокрутку. Есть идеи какие движения еще прикрутить? мне не нужен полный список. Мне это нужно для анализа какие данные мне придется обрабатывать чтобы обучать систему разным движениям. Т.е. благодаря вашим советам я увеличу детализацию обработки в нужном участке, чтобы и другие ваши специфические движения правильно распознавались. (короче тут нужна помощь в качестве теории)
ну и базовый набор движений "по умолчанию" тоже будет основан на ваших советах.
(типа того как движения мышкой в Опере - есть стандарт для более менее совместимости)
Это не вопрос :-)
video loopback
последний раз видел на сайте motion в разделе ссылок
Давно уже не использую и не интересовался.
попробовать бы такое - было бы интересно.
хотя бы частично...
Мне вот интересно, а реально следить за рукой и отображать на экране курсор в соотв. позиции? Чтобы не слепо жесты выполнять, а видеть на экране во что твои движения отображаются.
Далее, такой вариант развития событий: при наведении на активные элементы приложений (например кнопка закрытия окна), они подсвечиваются и след. жест (например, загиб вытянутого до этого пальца как имитация клика) будет произведен именно над этим элементом.
Очень интересная идея. Как вариант, что мешает Вам отслеживать приближение и удаление кистей рук с одной камеры?, просто по изменению размера кистей? На счет продажи...., Вы знаете, пока не уверен что это нужно, да Вы и сами говорили что софт сырой, так что... Развивайте идею, я считаю что будущее именно за таким управлением компьютером + голосовое управление (только не то что реализовано сейчас).
вы наверное не понимаете фишки:
дальномер с помощью 2х камер даст поддержку движение приближения/удаления к камере, и решит проблему двух и более человек в камере, да и много других ограничений снимается
Да это-то я понял, но я подумал что у Вас не реализовано удаление/приближение к одной камере для одного человека, а Вы спрашивали какие еще можно делать манипуляции руками, вот я и предложил :)
>но я подумал что у Вас не реализовано удаление/приближение к одной камере
нету реализации, невозможно обработать без больших погрешностей - проще опускать эту ось для упрощения.
а спрашивал я про движения не только руками: когда я портану на линукс распознание пальцев - можно будет управлять не рукой, а пальцевыми зкаками. потому и спрашивал.
> Кстати, программа которая шла с моим нетбуком в комплекте.
видел подобное, но проблемы с движущимися обьектами были у тех прог. Пробовали мотать головой и менять мимику? =)
> Б.Г.
именно изза него решил поднять архив работ двулетней давности (убрал на полку изза слабого железа тогда)
> люди сразу подтянутся.
это пока экперименты и четкого апи нету. если делать открытую разработку - надо сформировать плацдарм, иначе будут проблемы (проходили уже). И проект сырой -- я пока не хочу публиковать что-либо.
Вдушеяребёнокта ещё школота, потому не сделать этого, было бы преступлением.К моему удивлению, повороты головы и мимику держит вполне реалистично.
*имеется ввиду очень на маленький угол и очень-очень не мгновенно, но работает же блин.
Наш девиз не победим !!! Возбудим и не дадим.
Спрашивается ***** тут тогда писать ?
Если невозможно записать на видео то, как автор программы делает одно движение и компьютер реагирует. То это бред полный. А если нету и одного движения, которое можно записать для демонстрации, тогда бред об этом писать.
Если кто-то понимает меня не так, то дополнительно пишу: речь не идёт о раскрытии кодов и тут же их быстреньком разбазаривании, а речь о том, чтобы увидеть своими глазами, хотя бы через видео, что оно работает.
А потом можно и дифирамбы петь и верить и помогать.
к сожалению у меня пока нет видео камеры кроме как в ноутбуке - я разве что могу сделать картинка-в картинке видео. но толку от него будет ноль.
А статичный бинарный файл, можно как-нибудь получить на тест ?
И какие есть аппаратные ограничения кроме 640*480 ?
Возможно настроить, чтобы компьютер исполнял команды через
скрипт\командный файлвидеонарезку или черезGUIпопсовый клип, того же М.Джексона (для сборки Генту пригодиться).З.Ы. ржу нимагу, по теме того, что и так сисадминов шаманами считают, а тут они ещё вместо набора перед клавиатурой будут делать магические "ПА"
Полностью поддерживаю, я правда весьма посредственный программист, да и то виндузятник, но за тестирование возьмусь
Вот оно и приходит -- будущее. Управление компьютером без клавиатуры и мыши. Интересно, наши внуки как на клавиатуру будут реагировать?
Идея очень интересная. На счёт двух камер... А не под углом ли в 90 градусов их расположить? Тогда как-бы обозначаем рабочее пространство, грубо говоря, в виде куба. А дальше уже то, что в фантастике показывается. :-)
Не знаю, давно уже телепатией сообщения пишу, но не буду напоминать лишний раз, а то меньше сезона до моего традиционного бояна осталось.
камеры должны смотреть паралельно и располагаться на определенном расстоянии (>3cm)
пример: глаза человека
А почему нельзя использовать например так:
белый квадратик, увеличивает количество пикселей в своём размере из всего изображения, - значит он приблизился ?
ты рассматриваешь тривиальную задачу в своем квадратике.
Попробуй по другому. Есть фигура тор (бублик).
проекция при нормальной позиции - круг с дыркой, при боковой - капсуло-образный прямоугольник.
КАК не зная четкой формы того что перед камерой понять эту форму (чтоб реагировать на руку а не нос), и при этом учитывать размеры/повороты фигуры?
решения два:
или без теста дальности
или две и больше камер
Извини конечно, но при расположении камер <параллельно> ты не сможешь адекватно оценить расстояние до объекта, и его объем, или ты предлагаешь использовать поворотные механизмы для веб-камер (для фокусирования на объекте)?!, извини, но это нонсенс. С двумя параллельными камерами ты ничего не получишь кроме геморроя. Я не голословно говорю, у меня друг в качестве темы диплома выбрал "визуальная и голосовая идентификация пользователей", я ему немного помогал в написании, так что кое-что знаю про "подводные" камни поджидающие разработчика. Я не критикую, я всеми руками и ногами за этот проект, но его нужно детально проработать, посему присоединяюсь к выше обозначенному посту - выложи хоть что-то, что бы заинтересованные могли оценить.
Да, а на это высказывание...., вы в каком институте учились?, у нас например (ТГТУ, САПР), одна из тем курсовых называлась - "построение объемного изображения из фотографии" (примерно). Есть множество алгоритмов, так что :) пусть они не совершенны, но тебе и не нужно фотографическое качество, тебе нужно просто определить движения кисти (в идеале пальцев), а для этого те алгоритмы вполне подойдут.
З.Ы. Нужно обставить БГ :) пусть он занимается тактильным управлением, а линуксоиды должны идти в будущее )))
Сории за оффтоп... Какой город?
Тамбов (forever)
на правах кривого юмора
А мы не обижаемся :)
ЗЫ:
tigris, привет земляк!
И вам привет )) (а так же Юрию Федоровичу, декану факультета АХП) )) место для плюса - [ ]
И да, еще. Такие программы (я имею ввиду программы распознавания образов), обычно пишутся с использованием нейронных сетей, а у тебя как?
З.Ы. (*To All) Вы уж не смотрите что я так много комментировал, но мне правда не безразлична эта тема.
В последней части твоего коммента как раз и есть ответ на второй вопрос, да, перспективы есть, но пока проект наберет реальную силу, то и законодательство будет, а если нет..., то что-ж, автор может попробовать реализовать проект не в России, а где-то еще, территориально оставаясь в России конечно, так что вопрос стоит (как я понял из всех комментов) в том, чтобы сделать хоть что-то рабочее и юзабельное, остольное потом. Раз ты пишешь диплом по теме опен-сорса, то должен понимать, что одной только идеей заинтересовать инвесторов не получиться, нужно что-то иметь на руках, а вот уже имея готовый продукт (пусть глючный до неприличия) уже можно рассчитывать на инвестиции.
Ну это само собой разумеется,я так и понял,что вопрос был на перспективу,ну а уж как оно там в перспективе будет - увидим.
Другой еще вопрос в том,что все эти стратегии,которые на западе народ придумал в основном подходят относительно крупным компаниям, у которых кроме самого продукта есть еще к предложению и ряд услуг определенных, комбинацией которых уже и можно говорить о какой-то опенсорсной стратегии.
Например как у амазона,который пользуется опенсорсными решениями для внутреннего пользования и сам для себя что-то в них допиливает с помощью проприетарных компонентов.А поскольку их основной бизнес в первую очередь посылторг,а вовсе не софт, то и надобности опубликовывать плоды своих трудов для всеобщего пользования у них нет (как бы этого требовала все та же GPL),хотя при этом на свободном ПО они нехило экономят...
Просто по моему мнению коммерциализировать конкретно отдельную опенсорсную софтину должно быть весьма сложно. А если и можно, то хорошо бы чтоб выручки на покрытие средних переменных издержек хватило. Впрочем, я хотел бы ошибаться в данном случае.
Не очень силен в данной области, тем более что ты пишешь диплом (соответственно читаешь документацию, обзоры, прогнозы), но все же считаю что отдельную опен-сорсную софтину можно не только раскрутить, но и поиметь нехилые барыши. Поясню свою мысль:
1) твоим кодом могут воспользоваться крупные корпорации для своих внутренних/внешних приложений (соответственно заплатив как разработчику, а возможно и наняв).
2) независимые инвесторы, которых заинтересует идея, и они заплатят за ее реализацию (опять же в своих интересах).
3) разработка абсолютно бесплатного приложения, за разработку которого тебе заплатят (пожертвуют деньги за твое потраченное время) люди которые будут пользоваться твоим приложением ))))
Может немного наивно, но я такой ))))
Да ясно дело. Мелкий тогда был, глупый) Да и нравилось, когда он сдыхал по команде) Правда не долго...
пьяным не выключить :) придется бросать пить :)
Думаю, идея не плохая. Я за. Считаю, что методы управления стоит искать обратив внимание на психологию человека и уже известные и прижившиеся технологии. Например, многозначительная фраза: "Не умничай, пальцем ткни" уже воплощена в сенсорном управлении, да и в клавиатурном :). Может быть есть смысл попробовать провести параллели с подобными технологиями. Боюсь, что что-то конкретное так сходу в голову не придет, тема интересная и явно не простая, будем думать :)
будущее есть :) майкрософт делает Projeсt Natal.
4) продать я думаю реально будет только в виде какого-нибудь программно-аппаратного комплекса. Т.е. не сам софт, а решения на его базе.
Преобразовать стерокартинку в 3D модель, а потом расшифровывать жесты модели... Что за компьютер для такого нужен???
Я вот прочитала и вспомнила про терменвокс уже всё готово к использованию, записать образец жест-звук, и сравнивать потом с ним. :D Разве что с мимикой не получится, но движения тела воспринимает он очень точно. :P
Глупость! Глупость в том что нужно предварительно записать движения, мы живем в 21м веке, нужно распознавать картинку "на лету", мощности современных компьютеров для этого очень даже хватит.
А вот птичку нашу, попрошу не обижать!
ибо жалко
Кровавая гебня будет следить за каждым нашим чихом((((
Ну собсно No comments... :)
UPD:
Всёж с комментом:) не могу себя сдерживать! :-D
Мечта IT'шников скоро сбудется! Можно будет около сервера сплясать с бубном... а на нём автоматом поднимется например LAMP :-D
Поздравляю!
Первоапрельская шутка у гугля очень удалась. :-)
Дык весь апрель никому не верь :-D
Это атас, если мужик в синей футболке ещё вменяемый на вид, то тот, который двигается с жестами, это атас, просто кадр.
Ещё, смех смехом, а глухонемые так и разговаривают.
В тему http://www.youtube.com/watch?v=1GhNXHCQGsM
Неплохо пацаненок Аффтора порвал)))
Это не исходнички с "windows" -х летней давности... Да и пора уметь уже делать как минимум что-то типа этого - camspace.com
Без обид, но это реальность развития НАШИХ технологий. Мы отстаем как минимум уже лет на 30-40 от западных технологий по всем направлениям. Наверно именно поэтому мы до сих пор не имеем нормального распознавания, например, рукописного текста целыми предложениями. Карманный компьютер Psion 5 c ВСЕГО 18(!!!) Мгц на борту с десяток лет назад умел это делать на английском МГНОВЕННО (программа Calligraphy). В полной [censored]мы ребята по всем статьям из-за своей лени. Видимо требуется хороший пинок под мягкое место, чтобы мы научились хоть что-нибудь делать. Даже для себя... Просто вдумайтесь насколько мы стали желеобразными.
Во дал. Падаю в депресию.
Вот так постоянно. Вместо того, чтобы получить пинок и действовать, люди впадают в депрессию.
Вообще-то это база, и сложного тут нет
проект мертв?
Отправить комментарий