From 688d0c152c84c7e59d9ae383edcc1e69165b38d3 Mon Sep 17 00:00:00 2001 From: Fabio Manganiello Date: Wed, 27 Jan 2021 01:40:06 +0100 Subject: [PATCH] Migrated third article --- static/img/people-detect-4.png | Bin 0 -> 60505 bytes static/img/people-detect-5.png | Bin 0 -> 12952 bytes ...atypush-and-a-pinch-of-machine-learning.md | 448 +++++++++++------- 3 files changed, 284 insertions(+), 164 deletions(-) create mode 100644 static/img/people-detect-4.png create mode 100644 static/img/people-detect-5.png diff --git a/static/img/people-detect-4.png b/static/img/people-detect-4.png new file mode 100644 index 0000000000000000000000000000000000000000..e8f0ac1ea3e0855c24f9c6a3afef7c28035f0806 GIT binary patch literal 60505 zcmeFZbyQSu^e;SwU{HcmQX-*938+Y;NVkL_A(GOKG=d_CfG`3A(jq0GAT6zQr#O_- zLrM*jcOU%z*88q^t@r+41-? znfE1{v%0mmTrs{WM`}e)_8vG_4>xV`t#@-`oM(egPO>6j^dZ-mX{2P}OGu4Yis~$U zkv_!}LjLZh_`fgw-~ISM(j21u{qWB5Mae7gv3GprC&@aX3~sQab1*kQanoV^-F7?e z=`u^PmBg^1z1c_cWxg&$*9cT(?z#Q`7W%lBko9GqFZwbQffeE(=@1rL*T24CrW;EpQMq(gqCcR_Ve(8T>XBMbK+qYu`gq&3_g61*?X83M%tU8RKW4i zsE{Y~EDlY2(*~amOkFjdjvV!WhxdhUQf`d5u%0A)Dp_s(YB-am9&E$Uxb&jxN0cM8 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%0DT6AmIBXi8DUr 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 TC}P3?B7v0UA0Uckk", + "type": "response", + "target": "http", + "origin": "raspberrypi", + "response": { + "output": { + "model": "~/models/people_detect", + "outputs": [ + { + "negative": 0, + "positive": 1 + } + ], + "predictions": [ + "positive" + ] + }, + "errors": [] + } +} +``` + +Once the structure of the response is clear, we can replace the previous cronjob that stores pictures at regular +intervals with a new one that captures pictures and feeds them to the previously trained model to make predictions (I'll +use a Python script stored under `~/.config/platypush/scripts` in this case, but it will also work with a cron defined +in YAML in `config.yaml`) and, for example, turns on the lights when presence is detected and turns them off when +presence is no longer detected (I'll use +the [`light.hue`](https://platypush.readthedocs.io/en/latest/platypush/plugins/light.hue.html) plugin in this example): + +```python +import os +from platypush.context import get_plugin +from platypush.cron import cron + + +@cron('* * * * * */30') +def check_presence(**context): + # Get plugins by name + camera = get_plugin('camera.ir.mlx90640') + tensorflow = get_plugin('tensorflow') + lights = get_plugin('light.hue') + + image_file = '/tmp/frame.jpg' + model_file = os.path.expanduser('~/models/people_detect/saved_model.h5') + camera.capture_image( + image_file=image_file, grayscale=True) + + prediction = tensorflow.predict( + inputs=image_file, model=model_file)['predictions'][0] + + if prediction == 'positive': + lights.on() + else: + lights.off() +``` + +Restart the service and let it run. Every 30 seconds the cron will run, take a picture, check if people are detected in +that picture and turn the lights on/off accordingly. + +## What's next? + +That’s your call! Feel free to experiment with more elaborate rules, for example to change the status of the music/video +playing in the room when someone enters, using Platypush media plugins. Or say a custom good morning text when you first +enter the room in the morning. Or build your own surveillance system to track the presence of people when you’re not at +home. Or enhance the model to detect also the number of people in the room, not only the presence. Or you can combine it +with an optical flow sensor, distance sensor, laser range sensor or optical camera (platypush provides plugins for many +of them) to build an even more robust system that also detects and tracks movements or proximity to the sensor, and so +on.