Вернуться в Курс

Уровень 2. Продвинутые автономные роботы.

0% завершено
0/0 Шагов
  1. ОСНОВЫ РОБОТОТЕХНИКИ
    Урок 1: Введение в робототехнику
    3 Темы
  2. Урок 2: Знакомимся с датчиками
    4 Темы
    |
    1 Тест
  3. Урок 3: Знакомимся с приводами
    6 Темы
    |
    1 Тест
  4. Урок 4: Распознавание лиц с помощью робота
    2 Темы
  5. АВТОНОМНЫЕ РОБОТЫ
    Урок 5: Робот, избегающий препятствий
    4 Темы
    |
    1 Тест
  6. Урок 6: Робот, распознающий край и границы
    5 Темы
    |
    1 Тест
  7. Урок 7: Управляемый робот
    5 Темы
    |
    1 Тест
  8. РЕАЛЬНОЕ ПРИМЕНЕНИЕ ИИ & РОБОТОТЕХНИКА
    Урок 8: Полноприводный робот
    3 Темы
  9. Урок 9: Робот, отслеживающий положение объекта
    5 Темы
    |
    1 Тест
  10. Урок 10: Подъёмно-транспортный робот - сборка
    2 Темы
  11. Урок 11: Подъёмно-транспортный робот
    3 Темы
  12. ИТОГОВЫЙ ПРОЕКТ
    Урок 12: Курсовой проект
Урок прогресс
0% завершено

Задача 1: Распознавание лиц

Для этого проекта мы напишем программу, позволяющую распознавать лица с помощью камеры и выводить определения выражений распознанных лиц.

Emotion

Понимание логики распознавания лиц

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

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

Обнаружение лица — действие по определению положения лица человека на изображении и, при необходимости, выдаче различных данных об этом лице.

face detection

Блоки для распознавания лиц в PictoBlox

Face Detection (Распознавание лиц) в PictoBlox включает в себя блоки для распознавания лиц.

Сначала давайте добавим в наш проект данное расширение:

evive Alert
Внимание: Для загрузки модели нам понадобится работающее соединение с сетью Интернет.
  1. Создайте новый проект в PictoBlox.
  2. Затем нажмите на кнопку Add Extension (Добавить расширение) и добавьте расширение Face Detection (Распознавание лиц).
    Face Detection Extension
  3. Модели обнаружения лиц нужно будет загрузить, это может занять несколько секунд.
    Downloading Models
  4. После загрузки программа выведет сообщение “Model loaded successfully” («Модель успешно загружена»).

Блок для распознавания лиц

Для обнаружения лиц мы будем использовать блоки analyze images from () blocks.

analyse image from ()

Изображение можно вставить следующими способами:

  1. Трансляция с камеры
  2. Экран

Этот блок анализирует изображение и сохраняет информацию о лице локально. Доступ к этой информации можно получить с помощью других блоков, работающих по принципу машинного зрения.

Данный блок нужно запускать каждый раз, когда от нас требуется проанализировать изображение с камеры или экрана.

Управление трансляцией с камеры

Трансляцию с камеры можно контролировать с помощью блока turn () video on stage with () % transparency.

turn () video on stage with () % transparency

Можно изменить следующие параметры блока:

  1. Состояние камеры:
    1. OFF (ВЫКЛ) – Камера прекратит трансляцию.
    2. ON (ВКЛ) – Камера начнёт трансляцию.
    3. ON flipped (ВКЛ с зеркальным отображением) – Камера начнёт трансляцию с зеркальным отображением видео. То есть, правая рука будет слева и наоборот.
  2. Transparency (Прозрачность): Этот параметр позволяет менять прозрачность видео. 0 (ноль) означает отображение трансляции с камеры как она есть, а 100 — полную прозрачность видео вплоть до его полной невидимости.

Попробуйте поменять этот параметр, чтобы понять, как работает данный блок.

БЛОК Get expression of face () (Распознавание выражения лица)

get expression of face () ssion of face ()

Блок get expression of face () сообщает, какое выражение выбранного лица было распознано. Если выбранное лицо не распознано, он будет отображать значение NULL.

 

Например: При анализе изображения первое выражение лица — Happy (Счастливое).

Настройка локации

  1. Перетащим блок when flag clicked в область программирования.
  2. Перенесем блок  turn () video on stage with () transparency из расширенияFace Detection (Распознавание лиц). Изменим настройку камеры на on (вкл) и прозрачность на 0%.

Локация настроена. Нажмём на green flag (зелёный флаг), чтобы камера начала транслировать видео.

Распознавание изображения

  1. Добавим блок forever из панели Control (Управление).
  2. Добавим блок analyse image from (). Выберем опцию трансляции с камеры – Сamera.
  3. Добавим блок if-else () под блоком analyse image from (). Добавим блок () > () из панели Operators (Операторы) в условие блока if-else ().
  4. В левую часть последнего блока добавим блок recognized face count, а в правую — числовую величину O.
  5. Затем добавим блок say (). Добавим блок get expression of face () из панели Face Detection (Распознавание лиц) в его текстовую область.
  6. Добавим ещё один блок say () с текстом «Лицо не обнаружено (No face detected)». Эта надпись будет выдаваться, если условие блока if – else () не будет выполнено.

Итак, наша программа готова. Нажмём на зелёный флаг, чтобы ее запустить.

Emotion