tarasfrompir

 
<<< Back

Распознавание лица на Виндовс

Выложу таки - поскольку меня опередили и не один .... Путь как вариант будет
Попробуем сделать определение лица на Виндовс

  1. Скачаем файл (ссылка - https://drive.google.com/file/d/1QGGgol-SkCnXyC2XU... ) и розархивируем его в папку c:_majordomo\apps\ocv
  2. НЕ актуально - исправлял сам в гите
  3. Создадим в Простых устройствах АЙПИ камеру со всеми настройками - ОбязательнО указав комнату в которой она находится, полный УРЛ с указанием логинов, паролей и всего остального в этом УРЛе (ссылка должна воспроизводится в плеере ВЛС и тому подобных)
  4. Отредатируем МЕТОД logicAction для класса - SDevices / SCameras с таким содержимым (обкатано слегка)
    if (!$this->getProperty('status')){
    return;
    }
    // получаем ссылку на поток
    $url= $this->getProperty('streamURL_HQ');
    if (!$url){
    $url= $this->getProperty('streamURL');
    }
    $linkedRoom= $this->getProperty('linkedRoom'); 
    if (!$linkedRoom){
    return;
    }
    $motion_timeout = $this->getProperty('timeout'); 
    if (!$motion_timeout) {
    $motion_timeout = 20;
    }
    safe_exec('c:\_majordomo\apps\ocv\recognition.exe "'.$linkedRoom.'" "'.$motion_timeout.'" "'.$url.'"');  
  5. Создадим пользователя для распознавание в МАЖОРДОМО в настройки - пользователи - лучше пока что на латинице к примеру Sergey.
  6. ОБЯЗАТЕЛЬНО при первом использовании необходимо в c:_majordomo\apps\ocv удалить файлы users.dat и trainer.yml, а также очистить папку Dataset.
    6.1. Обучим теперь нашу нейронку на такого пользователя. Запустим cmd - командную строку , перейдем в папку c:_majordomo\apps\ocv и запустим простую програму в командной строке - usersetup.exe Sergey URL
    Где -
    Sergey - понятно имя пользователя
    URL - ПОЛНАЯ ССЫЛКА на видеопоток от камеры смотрим пункт 3... (НО если есть вебкамера на том же сервере то можна указать 0 (ноль) - это порядковый номер камеры на компе... ПОСЛЕ запуска проги должно появится окно с изображением потока от камеры в нее нужно вставить свой фейс и покрутится в разные стороны для снятия лица в разных ракурсах (о чем говорит рамка на лице)
  7. Теперь необходимо проверить результат - запустим метод motionDetected для той камеры перед которой вы стоите....
  8. Посмотрите на камеру так чтобы лицо было видно - для пробы (потом уже можно будет определится чтои как).
  9. Результат распознавания будет отображен в свойстах того пользователя - который смотрел на камеру. А также появится новое свойство в комнате - которая указана в местоположении камеры Yardathome.activeUser.

Я пользуюсь обычным видеорегистратором на 4 камеры. и метод motionDetected я запускаю по определению движения на самом регистраторе..
Если интересно то опишу и это
Это сам сценарий - который запускает м етод движения при получении почты

DebMes($params['TEXT']);// показать текст сообщения
$objects = getObjectsByProperty('streamURL');

foreach($objects as $obj) {
 if(stripos($params['TEXT'], getGlobal($obj.'.linkedRoom')) and stripos($params['TEXT'], 'Motion DetectStart')){
  DebMes ($obj.'.motionDetected');
  callMethod($obj.'.motionDetected');
 }
}

Discuss (0) (10)

See also:
2021-06-21 Новый контроль циклов - или как таки разгрузить базу данных от ненужных запросов
2020-11-18 Функции работы с классами.. Добавленные 18.11.2020 года - https://github.com/sergejey/majordomo/pull/851
2020-10-30 Как получить информацию о местоположении и всем остальном
2020-10-30 Как получить внешни айпи адрес
2019-12-17 ТЕРМИНАЛЫ2 Как передать сообщение привязанному пользователю терминала
2019-12-02 Terminals 2 - настройка Телеграмма - как терминала (Обновлено)
2019-03-19 Как-бы да если-бы... Я бы передавал температуру на термостат...

Пирятин, Украина

На форуме: tarasfrompir

Web-site URL:
http://netu_u_menya_sayta.world