Ну если не нужна точность вплоть до 1 пикселя, можно сделать такую вещь - определить позицию глаза, максимально уменьшить площадь, к примеру, вычислить контур глаза и взять только внутреннюю часть, вычислить наиболее темный кусок и считать , что центр этого куска и есть зрачок :). Это будет очень грубо, но более-менее верно. Если камера будет возле глаз, во-первых будет проблема с нахождением этого самого глаза, а во-вторых, глаз крупным планом это такой ужас с позиции обработки изображений:))))))))
Я не против отвечать на вопросы, но как правило у меня есть время только в пятницу-субботу :))))) если готов ждать - спрашивай :)))
а такая задача как позиционирование курсора "мышки" одними только глазами, без самой, собственно, мышки - это теоретически реально на сегодня?
я просто не очень представляю что для этого нужно. motion detect? наврядли. курсор отъедет от точки, куда смотришь, и потом фиг его поймаешь. position detect? тогда надо точность допиксельная. задача, в общем, лежит в области юзабилити такого устройства.
А почему она должна быть нереальна? SetCursorPos никто пока не отменил, если вам есть куда его "сет", то бишь если у тебя есть точка позиции зрачка, разумеется ты можешь просчитать передвижение этого самого зрачка с последней вычисленной точки и проекцию на экран. Весь вопрос в скорости обработки видео для получения той самой точки. Самое сложное здесь другое, какую позицию зрачка ты будешь считать, если положим, человек поворачивает голову, а зрачок с точки позиции лица остается на месте, предположим человек смотрит прямо, вертит головой, но продолжает смотреть прямо. На сегодняшний день нет ни одной системы, которая может определить градус поворота головы с точностью до 1 градуса даже с допуском 20% ошибок :))) Для моей системы, например хорошая точность - 3-5 градусов, но это недостаточно, для позиционирования мыши, в проекции на экран это до 20-50 пикселей. Если ты готов разработать такой алгоритм с высокой точностью, есть куча контор, весьма именитых, готовых за него заплатить бешеные деньги :))))))))))))))))
Я думаю о целях такой системы. Цель - это переставить фокус на элемент интерфейса. Здесь допиксельная точность не нужна, и не нужно постоянно отслеживать положение зрачка. Я вполне себе представляю, например, ножную педальку, только при нажатии которой происходит смена позиции мышки. Кроме того, зная, какие элементы есть на экране, можно принять решение о том, на какой элемент хотел человек переместить фокус.
Замена же клавиш мышки педалью вызвает смех только поначалу. Эргономика знает, что очень много усилий и времени тратится на перемещение руки с клавиатуры на мышку. Поэтому-то некоторые люди и не пользуются мышками на ноутбуках - быстрее переместить палец на тачпед чем целую руку на мышь.
Потом дальше. Можно использовать моргание одним глазом как признак нажатия клавиши или, допустим, согнал для того же перемещения курсора. Поэтому и поворот головы уже не проблема, т.к. нам надо снимать не в реалтайме.
Все это пока размышлизмы. Я полагаю, что если к вопросу подойти с другой, неожиданной стороны (педаль для перемещения курсора глазами, например), то что-то может получиться:) Так. Фантазия. :)
В таком случае с точки зрения обработки картинок, гораздо проще отследить положение носа, если камера сбоку, то есть движение кончика носа, конечно, и прогнозируемость несовместима с определением положения зрачков. И в общем-то логичней, ну а отследить моргает человек или нет, если есть хотя бы одно изображение его же неморгающего, это детские игрушки.
Re: offtopic
on 2006-02-15 09:25 am (UTC)А если, скажем, камера будет закреплена в непосредственной близости от глаза, но сбоку. Типа как гарнитура телефонная.
Я прошу прощения что отбираю время. Все это пока досужие разговоры, так что если у вас нет времени на них - сразу скажите:)
Re: offtopic
on 2006-02-17 06:39 pm (UTC)Если камера будет возле глаз, во-первых будет проблема с нахождением этого самого глаза, а во-вторых, глаз крупным планом это такой ужас с позиции обработки изображений:))))))))
Я не против отвечать на вопросы, но как правило у меня есть время только в пятницу-субботу :)))))
если готов ждать - спрашивай :)))
Re: offtopic
on 2006-02-18 11:09 pm (UTC)а такая задача как позиционирование курсора "мышки" одними только глазами, без самой, собственно, мышки - это теоретически реально на сегодня?
я просто не очень представляю что для этого нужно. motion detect? наврядли. курсор отъедет от точки, куда смотришь, и потом фиг его поймаешь. position detect? тогда надо точность допиксельная. задача, в общем, лежит в области юзабилити такого устройства.
как считаете?
Re: offtopic
on 2006-02-19 08:12 am (UTC)SetCursorPos никто пока не отменил, если вам есть куда его "сет", то бишь если у тебя есть точка позиции зрачка, разумеется ты можешь просчитать передвижение этого самого зрачка с последней вычисленной точки и проекцию на экран.
Весь вопрос в скорости обработки видео для получения той самой точки.
Самое сложное здесь другое, какую позицию зрачка ты будешь считать, если положим, человек поворачивает голову, а зрачок с точки позиции лица остается на месте, предположим человек смотрит прямо, вертит головой, но продолжает смотреть прямо.
На сегодняшний день нет ни одной системы, которая может определить градус поворота головы с точностью до 1 градуса даже с допуском 20% ошибок :)))
Для моей системы, например хорошая точность - 3-5 градусов, но это недостаточно, для позиционирования мыши, в проекции на экран это до 20-50 пикселей.
Если ты готов разработать такой алгоритм с высокой точностью, есть куча контор, весьма именитых, готовых за него заплатить бешеные деньги :))))))))))))))))
Re: offtopic
on 2006-02-19 03:04 pm (UTC)Замена же клавиш мышки педалью вызвает смех только поначалу. Эргономика знает, что очень много усилий и времени тратится на перемещение руки с клавиатуры на мышку. Поэтому-то некоторые люди и не пользуются мышками на ноутбуках - быстрее переместить палец на тачпед чем целую руку на мышь.
Потом дальше. Можно использовать моргание одним глазом как признак нажатия клавиши или, допустим, согнал для того же перемещения курсора. Поэтому и поворот головы уже не проблема, т.к. нам надо снимать не в реалтайме.
Все это пока размышлизмы. Я полагаю, что если к вопросу подойти с другой, неожиданной стороны (педаль для перемещения курсора глазами, например), то что-то может получиться:) Так. Фантазия. :)
Re: offtopic
on 2006-02-25 07:56 am (UTC)И в общем-то логичней, ну а отследить моргает человек или нет, если есть хотя бы одно изображение его же неморгающего, это детские игрушки.