Arduino. Как определить координату внутри помещения?
Добрый день. Вопрос из серии DIY Arduino.
Есть потребность в определении координаты определённого объекта внутри помещения (прим.: специальный человек с определённой приблудой в руке/кармане).
Помещение - квадратная коробка 25 x 25 метров.
Предположим, что в помещении нет крупных объектов мешающих прямой видимости (стены, колонны).
Требуемая точность: около метра.
Вопрос: как определить координату XY человека в помещении доступным средствами и технологиями?
Моё предположение: человек имеет при себе специальный излучающий/отражающий ультразвуковые (или ещё какие-нибудь) волны прибор. В каждом углу помещения (4 шт) приёмник (или передатчик/приёмник) этих волн. Учитывая задержку до каждого приёмника определить расстояние до него. Датчики типа HC-SR04, но они не обладают требуемой дальностью.
Две вебкамеры справятся.
Вешаете по углам и на каждую алгоритм определения центра объекта (человека). А именно - центр масс нужен.
Зная расстояние между двумя камерами, фокус камер и смещение объекта влево или вправо в поле зрения каждой камеры - можно получить расстояние и точные координаты с достаточно высокой точностью, используя триангуляцию.
Какой софт и алгоритмы способны работать эффективно с HD или FullHD видеокамерами для этой задачи? нет нужды определять кот на видео или человек, нужно просто отслеживание объектов, координаты, скорости (и ведение его между комнатами).
И конечно же изменения освещения (свет, солнце, тучи) не должны мешать.
Когда задался вопросом, порылся, готовые алгоритмы можно черпать прямо у opencv, вполне себе шустрые.
Следить нужно за людьми, чтобы можно было автоматически отслеживать профиль человека для стационарных терминалов (вы авторизовались на одном, перешли в другую комнату, и продолжили работать на другом или используете жесты управления (тут свои нюансы но идею надеюсь вы поняли).
да, интересный вариант. Спасибо.
Тоже думал над этим.
Но если в комнате много людей, а нам нужно следить конкретно за одним (он может выглядеть каждый день по разному). Что такое ему нужно повесить, чтобы определить, что это точно нужный персонаж?
ssanyss, при входе в комнату начало трекинга объекта нужно делать. А там по лицу или по токену при открытии двери - уже не важно. Главное - соединить появление человека и его идентификатор. А затем - просто трекать.
xmoonlight, есть варианты из доступных технологий?
Кроме HD камеры с OpenCV ?
По сути то необязательно искать лицо, можно искать определённый предмет (заранее определённый) на одежде.
нужно измерять расстояние до определённого объекта, а не для всех объектов в комнате (да, я забыл указать, что в помещение есть другие объекты).
Ещё минус лидара - малый угол, т.к. персонаж может перемещаться по всей площади.