Как стать автором
Обновить

Проект Lacmus: как компьютерное зрение помогает спасать потерявшихся людей

Время на прочтение 19 мин
Количество просмотров 21K
Всего голосов 79: ↑78 и ↓1 +77
Комментарии 36

Комментарии 36

А новые фото для датасета вам не нужны? Я думаю на Хабре много людей, у которых подходящие фото с дронов уже есть просто как побочный продукт их хобби.

Нужны! Сегодня отредактирую вики о том как снимать и как отправлять нам в каком формате и куда и прикреплю в вики к нам в репу. Уже почти написал мануал.
У всех ПСО есть тренировки. Если у ПСО есть кинологическая служба, так те примерно раз в неделю тренируются. Договоритесь с ПСО и приезжайте — снимайте. Квадрат где находится «потерявшийся» статист заранее известен. Условия максимально приближенные к реальности. Поидее за полгода отснимите гору релевантных фото.
Идея конечно хорошая, и позволяет ускорить поиск человека на 80% заставив машину обрабатывать фотографии/видео вместо ручного сканирования, но ведь может случится так, что нейросеть не заметит человека который на самом деле присутствовал на фото/видео и вряд ли уже потом кто то будет пересматривать в ручную материал.
Как по мне — всё таки нужен другой подход связанный с развитием разработок в виде удешевизны тепловизоров или вывод Jetson устройства в массы не для целей военных.
(Army jetson device)
Не знаю точно, как в реальности происходят поиски, но мне кажется обработка машиной не исключает последующую проверку людьми, если ничего обнаружено не было. Сейчас точно нашей программе на 100% не доверяют, скорее всего ищут и так, и так, и ещё ногами прочесывают. Однако же, чтобы фото начали просматривать добровольцы, пилоту надо вначале добраться до места с широким, устойчивым интернетом и загрузить фото в специальный сервис — а это время. Плюс даже человеческими глазами можно легко потерявшегося пропустить, см. примеры снимков в статье.
может случится так, что нейросеть не заметит человека который на самом деле присутствовал на фото/видео
Мне кажется false negative гораздо более возможен в случае уставшего просматривать сотни однообразных снимков человека.
Тепловизеры в принципе не эффективны. даже дорогие.

на jetson наша сетка портируется и работает на нем. никто не мешает производителям дронов дать ЛизаАлерт и другим отрядам дроны которые умеют нести Jetson на борту и наша сетка там заведется.

Однако все на данный момент используют БПЛА от DJI в основном 2 мавики. по этому мы и используем такой подход.

и в добавок — когда оператор БПЛА завершил полет — он скидывает фотографии себе на пк и меняет батареи и вставляет новую SD карту. Это происходит вне зависимости — использут ли он сеть или нет. И с новой картой и новыми аккумуляторами отвпавляется в новый полет. закрывает новый квадрат. А в это время пока работает наша программка и детектит объекты. Если у вас есть дроны с jetson-ами мы можем поставить туда сетку)
НЛО прилетело и опубликовало эту надпись здесь

вы в том смысле, что формально розыском пропавших людей занимается полиция )?

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

но мы открестились от подобного варианта применения. долго объясняли почему такое применение не возможно (на самом деле можно конечно если сетку доучить но мы этим не занимаемся и заниматься не будем мы за мир и за любовь).
НЛО прилетело и опубликовало эту надпись здесь
Интересовались. Были даже проблемы с этим…
Но все обошлось.
Были даже проблемы с этим…

Ябпочитал
+1
Вы своей КДПВ мне зрение (человеческое, не машинное) и мозг сломали напрочь. Я с недоверием отношусь к хипстотне такого рода, когда в латинскими буквами написанном слове одну букву меняют на русскую, типа, это же круто — а тут с третьего раза понял, что у вас не «Ласмус», а все же «Лакмус», просто «дизайнер не осилил».

Проект у вас хороший. Но вот по параметру «встречают по одежке» мои (вывихнутые картинкой) мозги вас теперь в худшую сторону выделяют.
ну. необычненько конечно. но лично мне нрав такой логотип. это прикольно и когда дизигнер дал такой лого нам зашло. можете другое нарисовать. у нас пока нет единого стиля. раньше проект вообще долгое время не имел названия. и назывался proj_rescuer_la. ибо мне при создании репы ничего умного в голову не пришло. потом уже появился Лакмус и вот этот логотип. У нас даже в заглавной странице репозитория — нет нашего логотипа а стоит заглушка в виде лого Лиза Алерт а у меня руки не доходят менять. (когда «глава» проекта бекенщик)…
Я тут подумал: вам бы, всего-то, просто укоротить в стилизованной Л одну ножку так, чтобы она напоминала перевернутую L.

Посмотрите: американцы давно считают признаком «русскости» (а заодно и коммунизма, хотя это всё же разные понятия, как «демократия» и «английский язык») писать R нарочито зеркально отраженно (получается Я, и — вуаля, «комми из каминг»!) Так вот L (проект же общается со всем миром, мало ли) с буквой Л в начале (такая буква читается инстранцами как А, вспомните надпись NASA) иностранец прочтет как AACMUS, а русский (не ИТ-ник) — как ЛАСМИС.

P.S. Мне как-то рассказывали, что после ВОВ возвращающиеся с войны солдаты, посмотревшие в западной европе на латинизированные надписи, лезвие для бритвы Нева (река такая в смысле) читали как Хеба.
Постараемся учесть замечания, если будем ещё прорабатывать лого.
Ну и может быть стоит вспомнить, что лакмус по-английски будет litmus? :)

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

Казалось бы, наши мозги должны быть крепко натренированы Яndex'ом…

Здоровский проект! Сотрудничаете ли с OpenStreetMap? Казалось бы, если хорошо известна местность, тогда можно встроить в модель проходимость (набор расстояний, которые можно достичить из точки последней информации о потерявшемся) этой местности и существенно сузить выборку снимков с дронов, которая понадобится.

Не имеет смысла. Модель проходимости построить невозможно, даже на известной местности. Потерявшийся человек принимает очень странные решения. В лесу люди практически не ходят по дорогам/тропинкам. Пример из практики: грибника нашли в лесу за кучей жесткого бурелома. Ему в какой-то момент показалось, что он услышал машину и ломанулся на звук напрямик через бурелом. Спасатель даже подумать не мог, что в этом направлении можно двигаться. Хорошо что человек был в сознании и сработала работа на отклик.
Наверное, под моделью проходимости мы понимаем разное. Я имел ввиду оценку максимальной дистанции, преодолеваемой из последней известной точки. Для этого каждому типу местности можно присвоить штраф ко времени проходимости относительно проходимости твёрдого покрытия. Для иллюстрации, нарисовал диапазон расстояний, куда можно дойти от синей точки за фиксированное время: image
С осм я плотно работаю на работе (в частности я занимаюсь сегментацией спутниковых снимков)))

Мы не управляем БПЛА сами. Сами не ездим по лесам и не летаем. Ну лично я ездил несколько раз в качестве статиста, чтоб данные набрать, но это не в счет. Мы только делаем программу куда можно положить фотографии и она на сдетектит объекты. Ну если у вас есть дрон с nvidia Jetson то можем туда воткнуть. По этому в какой области местности летать и закрывать пространства — это не наша компетенция и ничего ответить по этому поводу мы не можем.

Идея звучит интересно. Насколько я знаю операторы дронов тоже строят маршруты для полетов учитывая особенности местности. Для управления БПЛА у операторов есть своя программа. Там используются карты и осм. Точно знаю что это ПО автоматически строит маршруты и запускает дроны. Но используют ли операторы БПЛА подобный подход я не знаю. Я спрошу в чате тех-поддержки где пилоты тусуются. и отвечу когда они скажут.

идея рабочая, но, кроме проходимости местности придётся учитывать пол/возраст потерявшегося — есть определённая статистика, насколько по разному они пытаются выйти самостоятельно.

не, я Вас правильно понял. Ваша модель посчитала что человек не может оказаться в центре болота.
Может. Еще как.

Может. Но с меньшей вероятностью: скорее он застрянет в начале, пойдёт по более сухой местности или просто будет гораздо медленнее пробираться, чем по тропинке.

и если мы руководствуемся моделью, то там не надо искать? Или искать, но в последнюю очередь?
Вы ошибаетесь, с чего Вы взяли что он застрянет вначале? Это далеко не факт. Вы не знаете местности в этом конкретном месте( и ОСМ Вам об этом ничего не скажет). Это Вы, сидя в тепле и уюте думаете, что потерявшийся человек будет принимать адекватные решения и пойдет по сухому. Это Вы, глядя на карту, думаете что там сухо. А человек в лесу, в сумерках этого не видит и не знает. Даже наличие ручья не может говорить о препядствии… там может быть мостик, там может быть поваленное дерево… и да, люди за клюквой ходят как раз на болота.
И Ваша ошибка в том, что Вы видимо плохо представляете что происходит в реальности. Об этом кстати было в статье про соревнования. Что все команды были очень сильно удивлены и им пришлось на коленке все переделывать когда они столкнулись с реальностью. Еще раз говорю, люди в экстремальной ситуации принимают очень странные решения и способны на многое.
Поэтому такая модель не имеет смысла, а скорее навредит. Потому как спасатель не полезет в болото или полезет в последнюю очередь руководствуясь расчетами модели, а не инструкциями.
Тут есть еще одна проблема, на которую я не обратил внимания сразу. Синяя точка (последнее известное место положения) находится в лесу. Такого не бывает. Когда человек понял что он потерялся, он не знает где он находится. Если он знает, то он не потерялся )) Кстати 80% потерявшихся, у которых есть телефон, выводятся оператором ЦУКСа по телефону. Так что хорошо если «синяя точка» будет у дороги, обычно «последнее известное место положение» это деревня и примерное направление… иногда шоссе. И тут не забывайте, в этот момент человек еще не потерялся, он целенаправленно идет куда-то подальше и поглубже. Там же больше грибов и ягод и поменьше людей.
Извините если резко, обидеть никого не хотел.
Автор комментария имеет ввиду вычисление полигона возможного местонахождения, а не координаты где потеряшка теоретически может быть. Как-то проскакивала мысля о подобной модели, но она мало эффективна:
  • В условиях леса время между достоверным свидетельством (синя точка) и временем поисковых действий обычно не менее 2 часов, за которые по тропинкам реально уйти и на 10 километров.
  • В условиях города свидетельств будет больше, но за 30 минут реально оказаться на противоположенном конце многих Российских городов.

При этом значительно увеличивать точность модели за городом не получится, т.к. дожди могут сделать не проходим поле, засуха проходимым болото, а сильный ветер создаст свежий бурелом. Достоверных данных о погодных условиях в определённой части леса никто не даст, а вероятностная точность не соизмерима со знаниями у координатора поиска, находящегося на месте.
Досконально не изучал (почитаю на досуге), но в общих чертах метод очевиден. Для построения любой модели нужна либо приличная экспертиза, либо объёмная статистика, и обоих очень мало. Что самое важное — проверка любой теории требует значительных человеческих усилий.

Ну выдаст нам модель, что с вероятностью 90% потеряшка находится на указанных 6 кв.км, а с вероятностью 70% на ближайших 2 кв.км и что делать с этими данными? Пока прочешем эти первые 2 кв.км потеряшка окажется с той же вероятностью на следующих очередных 15 кв.км.

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

Я не против моделей, скорее даже за, но осознаю крайне низкую эффективность на реальных поисках, но самое важное, проверить и откорректировать модель очень затратно. Вот пример, где даже человек ошибается vk.com/wall-35872400_16229, а модель и подавно — ребёнок 2 лет, через реку, вероятность 3%.
Спасибо за статью. Всегда интересно почитать, как делаются подобные проекты и с какими трудностями приходится сталкиваться. Правда, мне до понимания некоторых терминов ещё нужно подрасти :)

Огромное спасибо за то, что вы делаете. Это очень круто, что пытаетесь залезть в эту "аналоговую" задачу с ИТ стороны.


Я подумал — а это точно эффективно, использовать дрон и анализ фотографий в поиске? Объясню, что имею ввиду. Я подозреваю, что когда по лесу идет поисковик, он в основном ориентируется либо на движение, либо на звуки потерявшегося человека. Реально увидеть лежащего человека тяжело, особенно, если он не в куртке неестественного цвета. Можно заметить движение, еще проще пойти на звук. Радиус "детекции" невооруженным глазом, неверное, метров 10 — просто заметить неподвижного человека, метров 15-20 для движения и метров 50 для звука. Конечно, цифры условные.


Я это к чему. Может было бы эффективнее использовать дрон как носитель громкоговорителя и микрофона? Или каким-то другим способом использовать именно звук, раз уж он в лесу/поле проходит лучше, чем картинка.

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

Добрый день. Меня зовут Андрей Гиценко CTO skyeermap.com свяжитесь с нами gitsenko@skyeermap.com

Зарегистрируйтесь на Хабре , чтобы оставить комментарий