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

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Распознавание лиц

Сообщение tarasfrompir » Сб ноя 04, 2017 8:48 am

ну тогда проверим так ...
1. Попробуй запустить программу так recognition.exe 80 Hall 400 40 4:3 http://192.168.100.207:4748/video (ссылка на видео)
Если все окей то покажет видеоизображение от видеокамеры и после твоего распознавания в комнате Hall будет User1.
2. Если все это работает то проверь присутствие метода motionDetected в классе SDVRCameras его содержимое такое
СпойлерПоказать
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/SDVRCameras_motionDetected.php');
/* end injection of {SDevices} */
Содержимое файла SDVRCameras_motionDetected.php
у тебя есть но на всякий случай
СпойлерПоказать
<?php

//стандартный код

if (isset($params['VALUE']) && !$params['VALUE'] && !isset($params['statusUpdated'])) {
$this->setProperty('status', 0);
return;
}
$motion_timeout=20; // seconds timeout
$ot=$this->object_title;
$nobodysHome=getGlobal('NobodyHomeMode.active');
if (!isset($params['statusUpdated'])) {
$this->setProperty('status', 1);
}
setTimeout($ot.'_motion_timer', 'setGlobal("'.$ot.'.status", 0);', $motion_timeout);
if ($nobodysHome && $this->getProperty('ignoreNobodysHome')) {
return;
}
$this->callMethod('logicAction');
$linked_room=$this->getProperty('linkedRoom');
if ($nobodysHome) {
callMethodSafe('NobodyHomeMode.deactivate', array('sensor'=>$ot, 'room'=>$linked_room));
}
ClearTimeOut("nobodyHome");
SetTimeOut("nobodyHome","callMethodSafe('NobodyHomeMode.activate');", 1*60*60);

// svoya vrezka
// берем есь ли активность в комнате room.SomebodyHere do zapuska metoda on activyty
$SomebodyHere=getGlobal($linked_room.'.SomebodyHere');
// konec vrezki

// zapuskaem metod onActivity v komnate
if ($linked_room) {
callMethodSafe($linked_room.'.onActivity', array('sensor'=>$ot));
}

// конец стандартного кода

//берем ссылку на поток если ссылка есть на HQ а нет то LQ
if ($this->getProperty('streamURL_HQ')) {
$rtsp_url=$this->getProperty('streamURL_HQ');
} elseif ($this->getProperty('streamURL')) {
$rtsp_url=$this->getProperty('streamURL');
}

// берем разрешиние на распознавания
$userecognition=$this->getProperty('use_recognition');
// берем уровань распознавания
$porog_recognition=$this->getProperty('recognition_level');
// берем время на распознавание room.IdleDelay
$TimetochekCam=getGlobal($linked_room.'.IdleDelay');
// берем соотношение кадра
$aspectRatio=$this->getProperty('aspect_ratio');
// создаем аргументы для распознавания
$args = '80 '. $linked_room.' '.$porog_recognition.' '.$TimetochekCam.' '.$aspectRatio.' '.$rtsp_url;
// удаляем лишние пробелы
$args = str_replace(' ', ' ', $args);


// запускаем распознавание если виндовс и никого нет в комнате и дано разрешение на распознавание
if (IsWindowsOS() and !$SomebodyHere and $userecognition) {
echo "metod activated";
$program = (SERVER_ROOT.'/apps/ocv/recognition.exe '.$args);
echo $program;
//passthru($program);
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell -> Run($program, 7, false);
///$sStdOut = $oExec->StdOut->ReadAll; # Standard output
//$sStdErr = $oExec->StdErr->ReadAll; # Error
}
3. Ну и если все окей то тогда должно работать
Ну и напоследок давай гляну через тимвивер если что
Спасибо нам ПОМОЖЕТ..!
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Распознавание лиц

Сообщение Gelezako » Вс ноя 05, 2017 2:24 am

выполнил я код из метода, вот результат motionDetected, я просто вставил его в сценарий и выполнил

Fatal error: Call to undefined method scripts::setProperty() in C:\_majordomo\htdocs\modules\devices\SDVRCameras_motionDetected.php on line 13
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
Аватара пользователя
tarasfrompir
Сообщения: 3216
Зарегистрирован: Ср мар 02, 2016 8:18 pm
Откуда: Украина Пирятин
Благодарил (а): 223 раза
Поблагодарили: 815 раз

Re: Распознавание лиц

Сообщение tarasfrompir » Вс ноя 05, 2017 11:32 am

Ну тогда попробуй вот такой -
СпойлерПоказать
<?php

$linked_room=$this->getProperty('linkedRoom');

//берем ссылку на поток если ссылка есть на HQ а нет то LQ
if ($this->getProperty('streamURL_HQ')) {
$rtsp_url=$this->getProperty('streamURL_HQ');
} elseif ($this->getProperty('streamURL')) {
$rtsp_url=$this->getProperty('streamURL');
}

// берем уровань распознавания
$porog_recognition=$this->getProperty('recognition_level');
// берем время на распознавание room.IdleDelay
$TimetochekCam=getGlobal($linked_room.'.IdleDelay');
// берем соотношение кадра
$aspectRatio=$this->getProperty('aspect_ratio');
// создаем аргументы для распознавания
$args = '80 '. $linked_room.' '.$porog_recognition.' '.$TimetochekCam.' '.$aspectRatio.' '.$rtsp_url;
// удаляем лишние пробелы
$args = str_replace(' ', ' ', $args);


// запускаем распознавание если виндовс и никого нет в комнате и дано разрешение на распознавание
if (IsWindowsOS()) {
echo "metod activated";
$program = (SERVER_ROOT.'/apps/ocv/recognition.exe '.$args);
echo $program;
//passthru($program);
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell -> Run($program, 7, false);
///$sStdOut = $oExec->StdOut->ReadAll; # Standard output
//$sStdErr = $oExec->StdErr->ReadAll; # Error
}
Должно показать metod activated
Спасибо нам ПОМОЖЕТ..!
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: Распознавание лиц

Сообщение directman66 » Вт ноя 07, 2017 2:31 pm

Кстати, можно еще настроить амазон рекогнишн https://aws.amazon.com/ru/rekognition/getting-started/
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Распознавание лиц

Сообщение Gelezako » Вт ноя 07, 2017 2:38 pm

а разве это бесплатно?
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: Распознавание лиц

Сообщение directman66 » Вт ноя 07, 2017 3:13 pm

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

Есть примеры реалаизаци и на php http://docs.aws.amazon.com/aws-sdk-php/v3/guide/
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Распознавание лиц

Сообщение Gelezako » Вт ноя 07, 2017 3:25 pm

круто, давайте попробуем вместе реализовать модуль для мажордомо? Хотя мой скил н пхп не очень высокий, но какую-нибудь несложную работу по интеграции всё равно смогу проделать.
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: Распознавание лиц

Сообщение directman66 » Вт ноя 07, 2017 3:38 pm

До модулей нам еще далеко. В этом видео можно понять как работать с хранилищем https://www.youtube.com/watch?v=93npbhqmsME

тут есть пример сравнения двух лиц https://www.youtube.com/watch?v=-2C6-cSB674

Управление колекцией лиц http://docs.aws.amazon.com/rekognition/ ... ction.html
Последний раз редактировалось directman66 Вт ноя 07, 2017 5:05 pm, всего редактировалось 1 раз.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Аватара пользователя
Gelezako
Сообщения: 963
Зарегистрирован: Чт июн 02, 2016 9:33 pm
Благодарил (а): 205 раз
Поблагодарили: 106 раз
Контактная информация:

Re: Распознавание лиц

Сообщение Gelezako » Вт ноя 07, 2017 4:10 pm

начал устанавливать их пакет aws.phar и оказалось что для нормальной работы нужно использовать версию php не ниже PHP 5.5, а у меня вместе с мажордомо поставляется PHP 5.4.30
где пол года назад я пробовал обновить версию php, но тогда мажордомо переставал работать. У кого какая версия пхп сейчас работает в мажордомо?
фанат Мажордомо
тематический блог http://blog.gelezako.com
плейлист про Мажордомо на ютубе https://www.youtube.com/playlist?list=P ... EdBGtX084E
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

Re: Распознавание лиц

Сообщение directman66 » Вт ноя 07, 2017 4:23 pm

у меня вообще 7.0.22

кстати, тоже самое есть и у гугл https://cloud.google.com/vision/docs/face-tutorial

а самое крутое, что я пока видел https://www.youtube.com/watch?v=T6czH6DLhC4
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
Ответить