IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [143]
    Безопасность IT [404]
    Блоки питания, Power Banks, зарядки... [508]
    Видеорегистраторы [186]
    Гаджеты для спорта и здоровья... [190]
    Гаджеты, аксессуары... [627]
    Измерительная техника, инструменты [437]
    Накопители данных [232]
    Нетбуки, Ноутбуки, Ультрабуки [689]
    Мультиварки, блендеры и не только... [162]
    Планшеты [764]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [360]
    Сети, сетевые технологии, оборудование... [273]
    Смартфоны [4959]
    Фотокамеры, объективы, искусство фотографии.. [541]
    Умный дом [50]
    Электронные книги [101]
    CB, LPD, PMR- связь... [170]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [3981]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1120]
    Smart TV, UltraHD, приставки, проекторы... [415]
    Smart Watch [268]
    Sound: наушники, плееры, усилители... [618]
    Windows 10... [301]
    Windows 11 [37]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1347
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 187
    Гостей: 187
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2014 » Июнь » 16 » Сундучок на базе Raspberry Pi, который распознает ваше лицо
    14:36
    Сундучок на базе Raspberry Pi, который распознает ваше лицо

    Сундучок на базе Raspberry Pi, который распознает ваше лицо

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

    В данном проекте показано, как использовать микрокомпьютер Raspberry Pi и камеру Pi для открытия сундучка с помощью технологии распознавания лица.

    Программная часть данного проекта основывается на алгоритме, который представлен в библиотеке OpenCV computer vision library. Raspberry Pi является идеальной платформой для данного проекта, поскольку обладает достаточной вычислительной мощностью для запуска OpenCV и имеет небольшие габаритные размеры, позволяющие вместится в любом месте.

    Данный проект средний по сложности. В нем выполняется компилирование и установка программного обеспечения на микрокомпьютере Raspberry Pi. Если у вас есть опыт создания подобных вещей, и вы не имеете проблем при использовании командной строки, тогда вы полностью готовы пройти все этапы данного проекта. Вы также можете обратиться к справочным материалам Adafruit learning system при возникновении каких-либо проблем.

    Шаг #1: Подготовка сундучка

    • Просверлите отверстие диаметром 7/16 дюйма в верхней части сундучка для вставки камеры Pi.
    • Просверлите отверстие большего диаметра сзади сундучка для вставки нажимной кнопки и силовых кабелей.

    Шаг #2: Изготовления защелки

    • Установите штифт в передней части сундучка, который будет захватываться защелкой при повороте сервопривода.
    • Изготовьте небольшой каркас для поддержки Pi и защелки сервопривода. Сервопривод прикрепляется к каркасу с помощью деревянной пластины и винтов с головкой под шлиц.
    • Изготовьте защелку из двух деревянных пластин, склеенных под прямым углом и прикрепленных к качалке сервопривода.

    Шаг #3: Завершение работы с сундучком

    • Проверьте правильность соприкосновения каркаса, Pi и защелки в верхней части сундучка. Убедитесь в том, что защелка сервопривода поворачивается вниз и захватывает штифт внутри передней части сундучка.
    • Установите штифты, которые проходят через верхнюю часть сундучка, для поддержки каркаса.
    • Устраните дефекты в сундучке с помощью рашпиля и наждачной бумаги, и далее заморите деревянную поверхность по своему желанию.

    Шаг #4: Подключение электронных компонентов

    • Подключите сигнальную линию сервопривода к выводу GPIO 18 на Raspberry Pi. Питание и земля для сервопривода должны подключаться к питающим выводам аккумулятора.
    • Подключите один вывод нажимной кнопки к выводу Pi GPIO 25, и через резистор 10 кОм к выводу напряжения питания 3.3 В Pi. Подключите второй вывод нажимной кнопки к земляному выводу Pi.
    • Соедините вместе земляные выводы аккумулятора и Pi.
    • Установите Pi камеру через отверстие в верхней части сундучка и подсоедините кабель к микрокомпьютеру Pi.

    Шаг #5: Компилирование OpenCV

    • На данном этапе необходимо установить последнюю версию OpenCV на Raspberry Pi. К сожалению, сначала нужно скомпилировать OpenCV из исходного кода, поскольку старая двоичная версия не содержит алгоритмы распознавания лица, используемые в проекте. Компилирование OpenCV на Pi занимает около 5 часов.
    • Подайте питание на микрокомпьютер Pi и подключитесь к нему через сеанс работы с терминалом.
    • Выполните следующие команды для установки взаимозависимостей OpenCV:

    sudo apt-get update && sudo apt-get install build-essential cmake pkg-config python-dev libgtk2.0-dev libgtk2.0 zlib1g-dev libpng-dev libjpeg-dev libtiff-dev libjasper-dev libavcodec-dev swig

    • Выполните следующие команды для загрузки и разархивирования исходного кода для последней версии OpenCV:

    wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.7/opencv-2.4.7.tar.gz && tar zxvf opencv-2.4.7.tar.gz

    • Выполните следующие команды для подготовки компиляции исходного кода OpenCV:

    cd opencv-2.4.7 && cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_PERF_TESTS=OFF -DBUILD_opencv_gpu=OFF -DBUILD_opencv_ocl=OFF

    • Выполните данную команду для запуска компиляции OpenCV (примите во внимание, что компиляция занимает около 5 часов):

    make

    • После завершения компиляции OpenCV, выполните данную команду для установки Pi:

    sudo make install

    • Далее с помощью следующих команд установите взаимозависимости Python:

    sudo apt-get install python-pip && sudo pip install picamera && sudo pip install rpio

    Шаг #6: Пробное распознавание лица

    • На данном этапе мы опробуем алгоритмы распознавания лица, которые позволят открывать сундучок.
    • Загрузите программное обеспечение для данного проекта с депозитария github repository (сноска: https://github.com/tdicola/pi-facerec-box).
    • Разархивируйте архив и скопируйте содержимое в директорий на Pi.
    • Во время сеанса работы с терминалом на Pi просмотрите директорий и выполните следующую команду для запуска пробного скрипта:

    sudo python capture-positives.py

    • Во время работы скрипта вы можете нажать кнопку, располагаемую на сундучке, для фотографирования с помощью камеры Pi. Скрипт попытается определить одно лицо в захваченном изображении и сохранить его как правильно отснятый кадр в поддиректории ./training/positive.
    • Каждый раз при захвате изображения, кадр записывается в файл capture.pgm. Вы можете просмотреть его в графическом редакторе, чтобы определить, как камера Pi выполняет захват и определяет изображение вашего лица.
    • Используйте кнопку для захвата 5 или более изображений вашего лица для получения правильных результатов. Попытайтесь получить изображения с разных углов, при различном освещении и т.д. На фотографиях вы видите полученные мной изображения лица.
    • Если вам интересно, вы можете просмотреть директорий ./training/negative, в котором размещаются изображения из базы данных распознавания лиц AT&T, которые можно использовать как примеры людей, которые не должны иметь доступ к открытию сундучка.
    • После получения правильных изображений запустите следующие команды для обработки правильных и неправильных пробных изображений, и для проверки алгоритма распознавания лица (примите во внимание, что данная пробная операция занимает около 10 минут):

    python train.py

    Шаг #7: Конфигурирование сервопривода

    • На данном этапе необходимо определить значения ширины импульсов сервопривода для запирания и отпирания защелки.
    • При подаче питания на микрокомпьютер Raspberry Pi и сервопривод защелки, подключитесь к Pi в сессии работы с терминалом. Убедитесь в том, что сундучок открыт так, что вы можете видеть перемещение сервопривода без заклинивания.
    • Выполните следующую команду для запуска интерактивной сессии Python как суперпользователь (необходимо иметь доступ к выводам GPIO и возможность перемещения сервопривода):

    sudo python

    • В командной строке Python >>>, введите данную команду для загрузки библиотеки RPIO servo library:

    from RPIO import PWM

    • Далее введите следующую команду:

    servo = PWM.Servo()

    • В заключении выполните данную команду для перемещения защелки сервопривода в центральное положение:

    servo.set_servo(18, 1500)

    • Параметр 1500 для установки функции set_servo определяет ширину импульса для привода в микросекундах. Крайние значения находятся в диапазоне от 1000 до 2000.
    • Попытайтесь выполнить функцию set_servo с различными значениями ширины импульса, пока не получите значения, при которых происходит правильное закрытие и открытие защелки, как показано на фотографиях.
    • Не забывайте, что вы можете снять качалку сервопривода и прикрепить повторно для надлежащей ориентации защелки на сервоприводе.
    • Как только значения будут подобраны, откройте config.py в текстовом редакторе с правами суперпользователя и измените следующие значения:
    • Установите LOCK_SERVO_UNLOCKED равным значению ширины импульса для разблокировки положения защелки – отпирание. На моем железе надлежащее значение 2000.
    • Установите LOCK_SERVO_LOCKED для определения блокировки положения защелки – запирание. В моем случае это значение 1100.

    Шаг #8: Запуск программного обеспечения

    • После проверки распознавания лица и калибровки сервопривода, можно запустить программный код!
    • При подаче питания на микрокомпьютер Raspberry Pi и сервопривод защелки, подключитесь к Pi в сессии работы с терминалом и просмотрите корневой директорий проекта.
    • Выполните следующую команду для запуска программного кода (будьте внимательны, поскольку сразу произойдет запирание сундучка):

    sudo python box.py

    • После загрузки пробных данных (это занимает несколько минут), направьте камеру на ваше лицо и нажмите кнопку для попытки распознавания лица.
    • Если сундучок распознает ваше лицо, сработает сервопривод и отопрет защелку. Если ваше лицо не распознано, на терминале отобразится сообщение, насколько ваше лицо было близко к пробному изображению.
    • Для распознавания лица необходимо, чтобы захваченное изображение совпало с пробным, с достоверностью 2000 или менее. Если ваше лицо совпадает с данными пробного изображения, но достоверность невысокая, вы можете изменить порог достоверности в config.py (под настройкой POSITIVE_THRESHOLD). Если распознавание все еще не достоверное, тогда загрузите больше надлежащих захваченных изображений и запустите пробное распознавание еще раз. Алгоритм распознавания лица в данном проекте сильно зависит от освещения лица, поэтому попытайтесь иметь тот же источник освещения, что и при пробных попытках (или добавьте несколько дополнительных изображений при различных условиях освещенности).
    • После раскрытия сундучка повторно нажмите кнопку для его закрытия. Для этого операция распознавания лица не требуется.
    • Если сундучок плохо открывается и не распознает ваше лицо, тогда выполните шаги конфигурации сервопривода для ручного перемещения сервопривода в положение отпирания с помощью команды set_servo.
     
     

    Оригинал статьи

    Категория: mini computers и не только... | Просмотров: 1075 | Добавил: laptop | Рейтинг: 4.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    «  Июнь 2014  »
    ПнВтСрЧтПтСбВс
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    30
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024