Что интересно, даже если нейросеть обучена детектировать только людей на фото (как на картинке с пешеходами в статье), на самом деле она «понимает» и все остальные объекты в сцене. Информация о них хранится в финальном слое features. Можно взять только этот слой (обрезав последние один-два слоя сети), добавить пару чистых слоев и дообучить эту нейросеть распознавать, скажем, скамейки на улице, не обучая всю сеть заново с нуля.
Это очень мощный инструмент, позволяющий использовать предобученные на Imagenet нейросети для совершенно разных задач. Например, обученную распознавать котиков сеть можно легко превратить в показывающую карту глубины, как дешевую альтернативу лидару (а что, раз есть информация обо всех объектах в сцене, то просто регрессируем их не в номер класса с котиком, а в числа глубины).
На практике, конечно, есть всякие ограничения вроде ёмкости сети (размера слоя с фичами в данном случае, который может просто не вмещать всю нужную нам информацию). Или нейросеть может переобучиться конкретно под детекцию людей. Так что лучшие результаты показывают специализированные архитектуры. Но такая способность сверточных нейросетей хранить внутри себя в слое фич информацию, не относящуюся непосредственно к обучаемой задаче (но помогающей ее выполнить, очевидно) открывает широкие возможности. Если как-нибудь более удачно сформулировать loss, например через любопытство, то теоретически можно обучить сеть распознавать вообще любые объекты на фото, а не только из ограниченного списка классов (хотя и непонятно, в каком виде задавать выходы сети для этого).
Другое дело, что в живых организмах классы выделяются ради выживания. Например, обязательно нужно выделить класс «тигр», чтобы он вас не съел. Или «дерево», «препятствие» для целей навигации, чтобы убегать от того же тигра. Как задать похожие задачи для нейросети, хороший вопрос ). Сейчас что-то подобное пытаются делать, когда не хватает размера датасета. Например, для карт глубины мало трехмерных данных, поэтому пытаются через такой unsupervised learning самообучиться на стерео снимках или из движения камеры в видео. Теоретически, это позволит дальше улучшать точность распознавания, а главное — уменьшать ошибочные распознавания, что сейчас, при достигнутой точности современных нейросеть, даже выходит на первый план.
Есть мнение, что большая точность XLNet может быть обусловлена большим размером корпуса при обучении и улучшенной сетью Transformer-XL, по сравнению с обычным Transformer в BERT. Но подход с этими перестановками тоже заслуживает внимания. Получается что-то вроде двунаправленного контекста как в автокодировщике, но в авторегрессинной модели. Автокодировщики вроде BERT хороши тем, что учитывают сразу всю строку, и поэтому лучше работают с общими языковыми задачами (лучше дообучаются под новые необычные задачи). Но авторегрессионные модели вроде GPT-2 более естественно строят предложения, так как действуют последовательно слово за словом. XLNet, по идее, совмещает достоинства обоих подходов.
В статье не сказано главное — они не обучили нейросеть делать все то, что показано на видеороликах, а обучили нейросеть копировать на физическом движке анимации, снятые с реальных людей. Это немного другая область — клонирование анимации человека, и ее успех обусловлен достижениями на предыдущих моделях вроде DeepMimic (которая сама основана на более ранней модели).
Суть в том, что раньше попытки повторить с помощью нейросети длинную последовательность анимации или действий человека в игре не удавались, так как существующие алгоритмы Reinforcement Learning резко расходятся в исследовании пространства, когда начинаются из начальной точки анимации. И просто никогда случайным поиском не доходят до конца анимации, и поэтому не могут обучиться повторять ее. Ребята в предшественнике DeepMimic (не помню её названия, но кажется те же авторы, вроде была статья на хабре) придумали классный трюк: начинать обучение каждый раз не в начале, а в случайной точке траектории, которую нужно повторить. Алгоритмы RL все ещё расходятся при исследовании, но в целом уже вынуждены повторять траекторию, которую они изучают. Без этого при попытке обучить повторению анимации, например, прыжка с кувырком назад, робот в симуляции просто плюхался назад на попу, так как это давало хоть какую-то награду (т.к. расстояние до цели уменьшалось), а выполнить намного проще. Но если робот в начале каждого эпизода оказывался где-то в воздухе в середине прыжка, то вынужден был повторять именно прыжок. Этот подход потом начали широко использовать и в других областях Reinforcement Learning, где нужно клонировать траектории игрока. Например, именно так в OpenAI впервые прошли Montesuma Revenge, повторяя успешные траектории реальных игроков.
К самой первой работе, которая таким образом успешно научила нейросеть в симуляторе повторять человеческие анимации, было несколько нареканий. Вроде возможности бесконечных усилий в PID контроллере при обучении, что нереалистично. И стояла остро проблема обучить нескольким анимациям одновременно. В оригинале смогли достичь одновременного запоминания трёх или пяти, не помню, и то перебрав несколько хитроумных трюков, чтобы их запомнить. Этого катастрофически мало и не позволяет таким подходом сделать робота, который будет естественно двигаться в любых ситуациях. В этой работе, как я понял, эта проблема тоже не устранена. Их модель обучена только одной анимации, а для новых нужно обучать заново другую.
Достижение этой работы в том, что они впервые обучили нейросеть работать с таким огромным числом степеней свободы в модели человека (более 300). Раньше лучшие модели, обученные движениям через Reinforcement Learning, имели около 21 «мышц», и были большие сомнения, что получится работать с большим числом. А практическая ценность этой работы в том, что благодаря естественной способности алгоритмов Reinforcement Learning изучать окрестности пространства параметров, модель устойчива к небольшим шумам. Потому что именно так она и обучается — пробует случайные отклонения и выбирает лучшие. Поэтому можно в готовой модели увеличить вес поднимаемой штанги, и она чуть адаптируется и изменит центр масс тела и усилия в мышцах (видео есть в исходной работе). Или можно заменить часть мышц на протезы, и модель автоматически начнет ковылять, прихрамывая. Главное, что повторяя при этом физиологию живого человека! Так как обучена на анимации здорового человека. Способность потом идти такой модели с протезом — это натуральное свойство RL алгоритмов по устойчивости к шуму. Видео такой ходьбы есть в статье, просто без акцента на этом. Авторы работы выражают надежду, что такие естественные симуляции можно будет использовать для улучшения работы настоящих протезов.
Я немного о другом, благодаря обучению на миллионах примеров (в симуляторе леса, например, или в течении жизни у настоящей птицы) в нейронной сети по сути формируется память на огромное число паттернов. И потом она быстро выбирает наиболее похожий для текущей ситуации. Это даёт надежду на работу на совсем слабых устройствах (после квантизации и других техник, которые сейчас применяются, чтобы уменьшить размер сети в ~10 раз для мобильных процессоров при сохранении качества). Условно говоря, нейросеть за один проход сразу выдаёт на картинке пятно, где меньше всего веток и куда лучше всего лететь. Но можно конечно строить воксельную модель леса (точнее, иерархическую из кубов) и искать путь классическими способами, как в примере выше. Главное, что задача в принципе решаема автономно в самом дроне.
Но ведь вся электроника — это начинка смартфона (радиопередатчик, камеры, акселерометр/гироскоп, GPS, гигабайты памяти и быстрый процессор), а такие смартфоны китайцы продают от 30$. Остаются пара электромоторов для привода и аккумулятор. Другое дело, что сейчас такой дрон не собрать из готовых компонентов, нужна разработка софта и т.д… Однако я думаю, что уже сейчас или в ближайшем будущем можно будет с помощью Reinforcement Learning обучить нейросеть летать между ветвей. Птицы это делают, значит можно повторить. Сначала в симуляторе, а потом дообучить в реальных условиях, т.н. Sim2Real. Собственно, та же сеть может сразу детектировать людей. Извне останется только задавать программой общее направление полета, а локально дрон сам будет прокладывать маршрут и облетать деревья.
Тут такое дело, алгоритмически это сложная задача — надо построить 3д карту и проверить все варианты, чтобы найти путь среди ветвей. Но нейросеть действует иначе — в процессе обучения запоминаются паттерны, и потом «вспоминается» наиболее подходящий случай. Это намного быстрее. Птицы не перебирают все возможные пути, а сразу понимают куда лучше всего лететь. Так что мобильный процессор должен справляться с такой задачей, принципиально это не отличается от сегментации и прочих нейросетевых задач.
После чтения комментариев и описания частных случаев, складывается впечатление, что проблема вовсе не с ориентированием на местности. Так или иначе есть просеки, ЛЭП, реки. И рано или поздно человек куда-нибудь выйдет.
Похоже, основная проблема с холодом ночью. В первую ночь простудился, в последующие умер. Или хищники. Или травмировался и не можешь идти. Или когда уходят в тайгу, где сотни километров нет ничего.
Исходя из этого, нужно скорректировать спасательные технологии — искать не здорового подвижного человека, который за пару дней сам выйдет. А либо поиск должен быть технически быстрым, пока человек не умер от переохлаждения (сюда же общий поиск детей, чтобы побыстрее), либо покрывать огромные территории в районах, где это актуально.
Проблема в том, что даже на планере с выключенным мотором есть сильный шум от ветра (не сам ветер, а шум от обтекания деталей планера). И вторая проблема — как заставить человека крикнуть в ответ? Надо как-то объяснить ему, что на планере стоят микрофоны, способные услышать его голос. Навскидку — издавать с беспилотника крики «ау» через динамик, имитируя крики обычных людей. Тогда естественной реакцией заблудившегося будет крикнуть в ответ, так как будет думать, что это живые люди рядом. А просто пролетающий беспилотник они с большой вероятностью молча проводят взглядом и все.
Все что представляет хоть какую-то материальную ценность (радиомаяки, запасы консервов, электроника с датчиками) будет утащено грибниками и местными. Поэтому если и оставлять что-то ценное в лесу, то только временно на время поиска и следить за каждым.
Все упирается в технологии. Дроны под кронами решают максимум задач. Давайте прикинем верхний предел: пусть дрон несет полезную нагрузку 100 грамм. Это масса обычного телефона: GSM радиопередатчик, GPS, микрофон, динамик, камера, процессор. Еще аккумулятор 500 грамм и 400 грамм на остальную конструкцию, итого m=1 кг. Пусть дрон будет по форме вроде чайки, с ее типичным аэродинамическим качеством К=10 единиц. Тогда для полета на скорости v=36 км/час = 10 м/с, ему потребуется мощность N=F*v=(M*g/K)*v=(1 кг * 9.8 м/с2 / 10)*10 м/с = 10 Вт. Тяговый кпд машущих крыльев при таких условиях близок к 100%, так как это аналог винта с диаметром как размах крыльев. Аккумулятор массой 500 грамм с удельной плотностью 400 Вт*ч/кг (такие уже есть) позволит таком дрону летать вплоть до 0.5 кг * 400 Вт*ч/кг / 10 Вт = 20 часов. Это верхний теоретический предел. В реальности, пусть тяговый кпд будет 80%, и еще кпд электродвигателей 90%, это дает более менее реалистичное время полета около 15 часов. Пусть мобильный процессор по обработке фото еще жрет от этого аккумулятора 5 Вт (телефон на постоянной «зарядке» током 1 А), тогда ~10 часов. Даже с учетом потерь на маневрирование среди ветвей, и даже если аэрод.качество будет меньше (но в любом случае получится не меньше 8 единиц), это дает не менее 4-5 часов полета на скорости 36 км/час. Разве этого мало? Просто никто не задавался целью создать дрон для таких условий. А цена его будет около 50$, кстати (если без накруток).
Тогда типичный сценарий видится таким: запускаем несколько таких дронов, они прочесывают лес. И самостоятельно пытаются распознать человека встроенной нейросетью. Если нашел, взлетает вверх на 300-500 м и шлет своим штатным 800 МГц радиопередатчиком сигнал на расстояние до 50-70 км на приемную антенну выше деревьев. После чего возвращается к человеку, приземляется рядом с ним и через динамик дает голосом инструкции ждать/куда идти/через сколько будут спасатели. Можно время от времени отпускать дрон, чтобы он опять взлетел на высоту и обновил информацию. Если связи нет, дрон работает как обычный телефон/оффлайн навигатор и выводит человека из леса сам.
Если же дрон найти человека не смог, то возвращается на базу и скидывает все отснятые фото/видео. Которые опять прогоняются через нейросеть, но уже на более мощном компьютере. Если опять не нашлось, то по этим снимкам фотограмметрией строится 3d модель леса, обрубается все что выше 2 м (алгоритмом «срезаются» стволы деревьев) и оператор вручную просматривает очищенную от деревьев 3д карту. Что будет почти как искать в поле и сильно повысит шансы визуально обнаружить человека.
P.S. а людям с ограниченными возможностями нужны экзоскелеты, это и ежу понятно ). И лазерные пушки.
Так, в порядке бреда… Человека ведь не обязательно исключать из процесса. Можно пойти по другому пути — сделать что-то вроде мотоцикла для леса. Обтекаемую каплю, чтобы раздвигала ветки, и на лапках вроде роботаракана. И пусть люди на таких лесомотоциклах быстро прочесывают лес. С сиренами, мигалками и сверхчувствительным микрофонами. Которые в моменты остановки могли бы обнаруживать крики ниже порога чувствительности уха.
Хехе, а ведь это гениально. Аналог маяков, по сути, только ещё лучше. Натыкать по лесу каждый километр указателей куда выходить, и все. Яркий металлический щит простоит десятилетиями. Можно их сбрасывать с тех же беспилотников. Для спасения 80 тыс. человек в год (или сколько там теряется) разовые траты на установку указателей или маркировки деревьев не должны показаться необоснованными.
Я думаю, там достаточно по силе сигнала подлететь к телефону и все, триангуляция не нужна. А дальше либо сбрасывать инструкции, либо вызывать вертолет. Вот его потерявшийся уже заметит… Но разве телефоны связываются с базовой станцией не раз в 10 минут? Если при потере сигнала сканируют постоянно, то это может сработать. Если несколько лет назад отечественные самолетные беспилотники стоили баснословно и почти все были на аккумуляторах с полетом около 1 часа, то сейчас уже полно бензиновых с реальной длительностью полета 8-10 часов (при ресурсе мотора в 30 часов, ага). И комплектующие все резко подешевели. Так что сделать дешевое патрулирование сотен км копеечными авиамоделями (ну, не совсем моделями, с размахом в пару метров) с базовыми станциями, ищущими сигнал телефона, вполне реально.
Другое дело, что если в лесу и так сигнала нет, то вряд ли в таких местах берут с собой в лес телефоны.
В принципе, такой дрон мог бы время от времени взлетать и питаться от большого дрона-матки, парящего над лесом. Заправиться спиртом для топливного элемента или сменить аккумулятор на новый.
Маяки конечно наиболее эффективны на текущем уровне технологий, но они не снимают проблему поиска пассивно лежащего или погибшего человека. Если человек сам не выйдет на маяк, то все равно придется прочесывать лес цепью. А значит нужно автоматизировать этот процесс. Запустить десятки/сотни мелких дронов, которые быстро прошерстят лес изнутри с интервалом в несколько метров (по крайней мере ближайшие пару десятков км, про большие массивы речи не идёт, там только маяки и полеты с большой высоты). Я уверен, что распознавать нейросетью человека с нескольких метров и при виде сбоку намного надёжнее, чем при аэрофотосъемке с большой высоты, где фигура занимает в лучшем случае пару десятков пикселей. У нас была похожая задача (съемка высоты не менее 50 м), я смотрел фотографии — там и глазами сложно определить человека, не что что сетью. Особенно в нестандартных позах — лежащего на боку, сидя прислонившись к дереву и т.д… И почти вся земля в реальности заслонена ветвями и листвой. Вот если бы получить такой снимок с 5 метров сбоку…
P.S. я участвовал в учениях (не этих), это конечно жесть… Надо идти буквально в 10-20 метрах от соседа, и можно пройти в нескольких метрах от цели и ничего не заметить. А буреломы и обход водоемов и болот это вообще отдельная песня.
P.P.S. И про тепловизоры в статье все верно, мы тоже пробовали. Толку от них почти нет, много помех от нагрева солнцем. Тут либо радикально повышать разрешение матрицы (может у военных что-то есть, но вряд ли. Лес не поле). Либо использовать какие-то другие принципы. Может нейтронами облучать и определять воду, как делают марсоходы? Не знаю их возможностей, но нетипично возвышающуюся 1.7 м горку жидкости наверно можно определить… С мягкими водянистыми тканями в лесу либо человек, либо животное.
В лесах быстрее всего передвигаются птицы. Наверно в течении ближайших лет уже можно будет создать дрон размером со скворца, который сможет лететь внутри леса, уклоняясь от веток и выбирая маршрут между деревьями. Вот хорошая тема для разработки.
Я думаю, там имелось ввиду что в ведьмаке никогда не появляется надпись «Миссия провалена» с автоматическим завершением игры, как во многих других играх. Мелочь, но делает игровой мир более цельным.
Если не ошибаюсь, Witcher 1 был первой игрой, где квесты были в большинстве своем сложносоставные. То есть не просто принеси предмет или убей монстра, а отнеси предмет npc в канализации, после встречи вместе с ним куда-то бежишь, потом что-то случается неожиданное, и снова цели меняются. И такая цепочка могла доходить до десятка и более подзадач в одном квесте.
Это меня тогда приятно поразило, так как в те времена квесты в играх были намного проще. Приятно видеть, что CD Projekt Red не изменили себе и продолжают этот подход.
Тогда вы должны знать, что не существует нейросети, которая могла бы преобразовать музыку в ноты (в midi, например). Разные фирмы бодро начинали, но все потерпели неудачу. В лучшем случае им пришлось идти на разные упрощения, например определять только ноты пианино, а не всех инструментов. У Magenta вроде был цикл статей на эту тему. Этакое постепенное снижение планки ожиданий, хехе. Я тоже несколько месяцев занимался этой задачей и могу уверенно сказать, что от архитектуры сети это не зависит. Так как были перепробованы все типы, в том числе экзотические.
Voice separation (удаление голоса из песни, оставив музыку) тоже пока не работает. То есть не удается распознать паттерны в музыке. А вот картинки распознаются и редактируются сетями вполне успешно. В картинке можно неотличимо для глаза заменить или вырезать какой-нибудь объект, дорисовав нейросетью фон позади него. А с аудио такое не прокатывает почему-то… Вот о чем я. Что удивительно, распознавание речи и синтез речи прекрасно работают… Так что может проблема не в архитектуре, а в ресурсах.
Верно, искажения только сначала задаются случайные, а потом обычно изменяются по градиенту куда сеть хуже всего предсказывает. Именно это и позволяет находить незаметные глазу искажения, но очень неприятные для нейросети. Если бы мы могли так же градиентно спускаться на живом мозге, то тоже нашли бы разные необычные иллюзии.
А впрочем, почему сослагательное наклонение? Люди и так нашли множество уязвимостей в работе мозга и активно их используют: риторика, фильмы, музыка. Да, подбор последовательности звуков, которые через слух задевают двигательные нейроны и обманывают дофаминовую систему, занял много времени. Но принципиально это не отличается от градиентного спуска, чтобы найти искажение к картинке, обманывающее нейросеть.
Это очень мощный инструмент, позволяющий использовать предобученные на Imagenet нейросети для совершенно разных задач. Например, обученную распознавать котиков сеть можно легко превратить в показывающую карту глубины, как дешевую альтернативу лидару (а что, раз есть информация обо всех объектах в сцене, то просто регрессируем их не в номер класса с котиком, а в числа глубины).
На практике, конечно, есть всякие ограничения вроде ёмкости сети (размера слоя с фичами в данном случае, который может просто не вмещать всю нужную нам информацию). Или нейросеть может переобучиться конкретно под детекцию людей. Так что лучшие результаты показывают специализированные архитектуры. Но такая способность сверточных нейросетей хранить внутри себя в слое фич информацию, не относящуюся непосредственно к обучаемой задаче (но помогающей ее выполнить, очевидно) открывает широкие возможности. Если как-нибудь более удачно сформулировать loss, например через любопытство, то теоретически можно обучить сеть распознавать вообще любые объекты на фото, а не только из ограниченного списка классов (хотя и непонятно, в каком виде задавать выходы сети для этого).
Другое дело, что в живых организмах классы выделяются ради выживания. Например, обязательно нужно выделить класс «тигр», чтобы он вас не съел. Или «дерево», «препятствие» для целей навигации, чтобы убегать от того же тигра. Как задать похожие задачи для нейросети, хороший вопрос ). Сейчас что-то подобное пытаются делать, когда не хватает размера датасета. Например, для карт глубины мало трехмерных данных, поэтому пытаются через такой unsupervised learning самообучиться на стерео снимках или из движения камеры в видео. Теоретически, это позволит дальше улучшать точность распознавания, а главное — уменьшать ошибочные распознавания, что сейчас, при достигнутой точности современных нейросеть, даже выходит на первый план.
Суть в том, что раньше попытки повторить с помощью нейросети длинную последовательность анимации или действий человека в игре не удавались, так как существующие алгоритмы Reinforcement Learning резко расходятся в исследовании пространства, когда начинаются из начальной точки анимации. И просто никогда случайным поиском не доходят до конца анимации, и поэтому не могут обучиться повторять ее. Ребята в предшественнике DeepMimic (не помню её названия, но кажется те же авторы, вроде была статья на хабре) придумали классный трюк: начинать обучение каждый раз не в начале, а в случайной точке траектории, которую нужно повторить. Алгоритмы RL все ещё расходятся при исследовании, но в целом уже вынуждены повторять траекторию, которую они изучают. Без этого при попытке обучить повторению анимации, например, прыжка с кувырком назад, робот в симуляции просто плюхался назад на попу, так как это давало хоть какую-то награду (т.к. расстояние до цели уменьшалось), а выполнить намного проще. Но если робот в начале каждого эпизода оказывался где-то в воздухе в середине прыжка, то вынужден был повторять именно прыжок. Этот подход потом начали широко использовать и в других областях Reinforcement Learning, где нужно клонировать траектории игрока. Например, именно так в OpenAI впервые прошли Montesuma Revenge, повторяя успешные траектории реальных игроков.
К самой первой работе, которая таким образом успешно научила нейросеть в симуляторе повторять человеческие анимации, было несколько нареканий. Вроде возможности бесконечных усилий в PID контроллере при обучении, что нереалистично. И стояла остро проблема обучить нескольким анимациям одновременно. В оригинале смогли достичь одновременного запоминания трёх или пяти, не помню, и то перебрав несколько хитроумных трюков, чтобы их запомнить. Этого катастрофически мало и не позволяет таким подходом сделать робота, который будет естественно двигаться в любых ситуациях. В этой работе, как я понял, эта проблема тоже не устранена. Их модель обучена только одной анимации, а для новых нужно обучать заново другую.
Достижение этой работы в том, что они впервые обучили нейросеть работать с таким огромным числом степеней свободы в модели человека (более 300). Раньше лучшие модели, обученные движениям через Reinforcement Learning, имели около 21 «мышц», и были большие сомнения, что получится работать с большим числом. А практическая ценность этой работы в том, что благодаря естественной способности алгоритмов Reinforcement Learning изучать окрестности пространства параметров, модель устойчива к небольшим шумам. Потому что именно так она и обучается — пробует случайные отклонения и выбирает лучшие. Поэтому можно в готовой модели увеличить вес поднимаемой штанги, и она чуть адаптируется и изменит центр масс тела и усилия в мышцах (видео есть в исходной работе). Или можно заменить часть мышц на протезы, и модель автоматически начнет ковылять, прихрамывая. Главное, что повторяя при этом физиологию живого человека! Так как обучена на анимации здорового человека. Способность потом идти такой модели с протезом — это натуральное свойство RL алгоритмов по устойчивости к шуму. Видео такой ходьбы есть в статье, просто без акцента на этом. Авторы работы выражают надежду, что такие естественные симуляции можно будет использовать для улучшения работы настоящих протезов.
Тут такое дело, алгоритмически это сложная задача — надо построить 3д карту и проверить все варианты, чтобы найти путь среди ветвей. Но нейросеть действует иначе — в процессе обучения запоминаются паттерны, и потом «вспоминается» наиболее подходящий случай. Это намного быстрее. Птицы не перебирают все возможные пути, а сразу понимают куда лучше всего лететь. Так что мобильный процессор должен справляться с такой задачей, принципиально это не отличается от сегментации и прочих нейросетевых задач.
Похоже, основная проблема с холодом ночью. В первую ночь простудился, в последующие умер. Или хищники. Или травмировался и не можешь идти. Или когда уходят в тайгу, где сотни километров нет ничего.
Исходя из этого, нужно скорректировать спасательные технологии — искать не здорового подвижного человека, который за пару дней сам выйдет. А либо поиск должен быть технически быстрым, пока человек не умер от переохлаждения (сюда же общий поиск детей, чтобы побыстрее), либо покрывать огромные территории в районах, где это актуально.
Тогда типичный сценарий видится таким: запускаем несколько таких дронов, они прочесывают лес. И самостоятельно пытаются распознать человека встроенной нейросетью. Если нашел, взлетает вверх на 300-500 м и шлет своим штатным 800 МГц радиопередатчиком сигнал на расстояние до 50-70 км на приемную антенну выше деревьев. После чего возвращается к человеку, приземляется рядом с ним и через динамик дает голосом инструкции ждать/куда идти/через сколько будут спасатели. Можно время от времени отпускать дрон, чтобы он опять взлетел на высоту и обновил информацию. Если связи нет, дрон работает как обычный телефон/оффлайн навигатор и выводит человека из леса сам.
Если же дрон найти человека не смог, то возвращается на базу и скидывает все отснятые фото/видео. Которые опять прогоняются через нейросеть, но уже на более мощном компьютере. Если опять не нашлось, то по этим снимкам фотограмметрией строится 3d модель леса, обрубается все что выше 2 м (алгоритмом «срезаются» стволы деревьев) и оператор вручную просматривает очищенную от деревьев 3д карту. Что будет почти как искать в поле и сильно повысит шансы визуально обнаружить человека.
P.S. а людям с ограниченными возможностями нужны экзоскелеты, это и ежу понятно ). И лазерные пушки.
Другое дело, что если в лесу и так сигнала нет, то вряд ли в таких местах берут с собой в лес телефоны.
Маяки конечно наиболее эффективны на текущем уровне технологий, но они не снимают проблему поиска пассивно лежащего или погибшего человека. Если человек сам не выйдет на маяк, то все равно придется прочесывать лес цепью. А значит нужно автоматизировать этот процесс. Запустить десятки/сотни мелких дронов, которые быстро прошерстят лес изнутри с интервалом в несколько метров (по крайней мере ближайшие пару десятков км, про большие массивы речи не идёт, там только маяки и полеты с большой высоты). Я уверен, что распознавать нейросетью человека с нескольких метров и при виде сбоку намного надёжнее, чем при аэрофотосъемке с большой высоты, где фигура занимает в лучшем случае пару десятков пикселей. У нас была похожая задача (съемка высоты не менее 50 м), я смотрел фотографии — там и глазами сложно определить человека, не что что сетью. Особенно в нестандартных позах — лежащего на боку, сидя прислонившись к дереву и т.д… И почти вся земля в реальности заслонена ветвями и листвой. Вот если бы получить такой снимок с 5 метров сбоку…
P.S. я участвовал в учениях (не этих), это конечно жесть… Надо идти буквально в 10-20 метрах от соседа, и можно пройти в нескольких метрах от цели и ничего не заметить. А буреломы и обход водоемов и болот это вообще отдельная песня.
P.P.S. И про тепловизоры в статье все верно, мы тоже пробовали. Толку от них почти нет, много помех от нагрева солнцем. Тут либо радикально повышать разрешение матрицы (может у военных что-то есть, но вряд ли. Лес не поле). Либо использовать какие-то другие принципы. Может нейтронами облучать и определять воду, как делают марсоходы? Не знаю их возможностей, но нетипично возвышающуюся 1.7 м горку жидкости наверно можно определить… С мягкими водянистыми тканями в лесу либо человек, либо животное.
Это меня тогда приятно поразило, так как в те времена квесты в играх были намного проще. Приятно видеть, что CD Projekt Red не изменили себе и продолжают этот подход.
Voice separation (удаление голоса из песни, оставив музыку) тоже пока не работает. То есть не удается распознать паттерны в музыке. А вот картинки распознаются и редактируются сетями вполне успешно. В картинке можно неотличимо для глаза заменить или вырезать какой-нибудь объект, дорисовав нейросетью фон позади него. А с аудио такое не прокатывает почему-то… Вот о чем я. Что удивительно, распознавание речи и синтез речи прекрасно работают… Так что может проблема не в архитектуре, а в ресурсах.
А впрочем, почему сослагательное наклонение? Люди и так нашли множество уязвимостей в работе мозга и активно их используют: риторика, фильмы, музыка. Да, подбор последовательности звуков, которые через слух задевают двигательные нейроны и обманывают дофаминовую систему, занял много времени. Но принципиально это не отличается от градиентного спуска, чтобы найти искажение к картинке, обманывающее нейросеть.