Система,която разпознава жестове с помощта на изкуствен интелект и извършва определени(home automation based) операции спрямо тях. Включване/изключване на уреди,лампи и тн.
git clone https://github.com/VayerMaking/mvn_ai_gesture
- За хора с хубави видео карти на Nvidia
pip install -r requirements_gpu.txt
- За хора без
pip install -r requirements_cpu.txt
Първо направете хистограма на ръката ви. Не е нужно да го правите отново, ако вече сте го направили. Но вие трябва да го направите, ако условията на осветление се променят. За целта въведете командата, дадена по-долу и следвайте инструкциите по-долу.
python set_hand_hist.py
-Ще се появи прозорец "Set hand histogram" ще се появи. -"Set hand histogram" ще има 50 квадрата (5x10). -Сложи си ръката на тези квадратчета. Уверете се, че ръката ви покрива всички квадрати. -Натиснете 'c'. 1 друг прозорец ще се появи "Thresh ". -При натискане на "c" на прозореца на "Thresh" трябва да се появят само бели петна, съответстващи на частите на изображението, които са с цвета на кожата ви. -Уверете се, че всички квадрати са покрити от ръката ви. -Ако не успеете, преместете ръката си малко и натиснете "c" отново. Повторете това, докато получите добра хистограма. -След като получите добра хистограма натиснете 's', за да запази хистограмата. Всички прозорци се затварят.
2.За да създадете свои собствени жестове или замените нашите жестове, направете следното. Това се прави от командата, дадена по-долу. При стартиране на изпълнението на тази програма, ще трябва да въведете номера на жеста и името на жеста или текст. След това OpenCV прозорец, наречен "Capturing gestures", ще се появи.Ще видите зелен прозорец (вътре ще трябва да направите вашия жест) и брояч, който брои броя на снимките, съхранени.
python create_gestures.py
3.Когато приключите с добавянето на нови жестове, стартирайте файла load_images.py веднъж. Не е необходимо да стартирате този файл отново, докато не добавите нов жест.
python load_images.py
Използваме модела на Keras, тъй като зареждането на модела в паметта и използването му за разпознаване е по-лесно. 1)Създаваме жест,както е показано по-горе 2)За разпознаване стартирайте файла recognize_gesture.py.
python recognize_gesture.py
3)Ще имате малка зелена кутия, в която трябва да направите жестовете си.
Сървърна част за home automation и като цяло действия, които са задействани след разпознаването на жестове.
В папка /hub
се намира файл controlserverflask.py
, когато той бъде пуснат(препоръчително на Raspberry Pi, за да може да работи 24/7), той стартира flask сървър, към който се подават get заявки и чрез тях се извършват действия, пердварително добавени във файла controlserverflask.py
keras - Keras е библиотека с невронна мрежа с отворен код, написана на Python. Той може да работи над TensorFlow, Microsoft Cognitive Toolkit, R, Theano или PlaidML. Създаден, за да позволи бързи експерименти с дълбоки невронни мрежи, той се фокусира върху това да бъде удобен за потребителя, модулен и разтегателен
Tensorflow - TensorFlow е безплатна и с отворен код софтуерна библиотека за поток от данни и диференциално програмиране в редица задачи.Това е символична математическа библиотека и се използва също за приложения за машинно обучение като невронни мрежи.
Raspberr Pi 3b+ - Raspberry Pi или RPI е серия от едноплаткови компютри с размери на кредитна карта, разработена в Обединеното кралство от специално създадена за целта фондация (Raspberry Pi Foundation) с цел популяризиране на обучението по основи на компютърните науки в училищата.[
Python - Python е интерпретируем, интерактивен, обектно-ориентиран език за програмиранe
Мартин Вайер - програмист/хардуерист - VayerMaking
Владислав Колев - програмист
Никола Маноилов - програмист/дизаинер