И еще немного про ямы

Всем привет. Давным давно мой друг, зная, что мы разрабатываем небольшое приложение про ямы на дорогах, скидывает ссылку на пост http://pikabu.ru/story/yandeksyamyi_4093611.

Вчера он же снова выдает мне волшебный пендель ссылкой http://pikabu.ru/story/mashina__smartfon_s_akselerometrom__y....

Позвольте и мне поделиться своим опытом в борьбе с ямами.


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

Спустя месяц на бумаге лежал прототип, а от друга-дизайнера пришел дизайн.

Подняли простой сервер, подняли на php API и работа закипела.


Вот так выглядит наше приложение сейчас.

И еще немного про ямы Плохие дороги, Программист, Карты, Android, Видео, Длиннопост

Всего было рассмотрено 3 гипотезы:

1. Голосовое управление

2. Ручная обработка объектов

3. Сбор данных с девайса с последующей их обработкой


Если у вас есть предложения, пожелания, мысли, буду очень рад выслушать.


Итак, что мы имеем сейчас.


Голосовое управление

Идея очень проста - даем девайсу команду голосом, девайс её обрабатывает.

Для реализации использовал движок Pocketsphinx. Все настроил по мануалам, подключил, запустил - все прекрасно работает. Дома. Ночью. В Тишине.

Домашние тесты показали очень высокие результаты, мой голос распознавался в 99 случаях из 100. Было принято решение протестировать на разных машинах.

Установили чудо-приложение на девайсы, расселись по машинам и погнали тестить. Вот с этого момента и начались трудности.

Процент успешного распознавания команды даже моим голосом упал  в разы, процент успешного распознавания на голос других тестеров был ничтожно мал.

В итоге мы вынесли настройки движка в интерфейс приложения, что позволило значительно увеличить вероятность удачного распознавания.


Шутка юмора: сейчас приложение реагирует на активационную фразу "НаПути", в ранних версиях такой фразой было "АйБл#дь". И стоит заметить, что 2й вариант давал более высокий процент распознавания.


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


Ручная обработка объектов

После голоса была добавлена кнопка на экран девайса.

И еще немного про ямы Плохие дороги, Программист, Карты, Android, Видео, Длиннопост

Стало относительно удобнее. В городе на небольших скоростях вполне себе приемлемо, но стоило только выехать на трассу, как пришло понимание, что кнопка тоже не вариант. Во время движения на высоких скоростях тебе просто не до какой-то кнопки на каком-то девайсе. Лично я вспомнил про кнопку и те ямы, которые пришлось объехать, только тогда, когда пил горячий чай в уютном кресле в конечном пункте маршрута.


Сбор данных с девайса с последующей их обработкой

В конечном итоге приложение было переписано чуть ли не полностью. Добавили сбор данных с датчиков.

Сейчас это все выглядит примерно так

И еще немного про ямы Плохие дороги, Программист, Карты, Android, Видео, Длиннопост

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

Мысли и хотелки:

1. Чем больше источников данных, тем больше точность и вероятность определить, что объект это яма

2. В перспективах конечно же релиз приложения, но до него еще очень долго

3. Сейчас ищем более точные алгоритмы обработки данных, чтобы повысить точность и позиционирования и размеры препятствия

4. Есть идея реализовать классификатор объектов(яма, лежачий, обочина и тд и тп)

5. Реализовать полноценную систему предупреждения об опасности

6. Реализовать полноценную админку для управления ямами

И еще немного про ямы Плохие дороги, Программист, Карты, Android, Видео, Длиннопост

Всем спасибо и всем хороших дорог!

Критика, предложения, пожелания всегда приветствуются.


зы спасибо @sgday и @levabala за вдохновение!