Wpis z mikrobloga

w ramach nauki Pythona i DeepLearningu postanowiłem zrobić projekt asystenta domowego do światła. tak jestem świadom że to mocny overkill, ale jak wspomniałem, ma to być do nauki.

co do bebechów to jest to RPi3B+ z akceleratorem Intel Neural Compute Stick 2

założenia końcowe są takie że asystent ma sterować światłem na podstawie wykrywania czynności jakie robię w pokoju. czyli np siadam do biurka, to zapala światło na biurku, będę oglądać film to dostosowywane światło itd. dodatkowo sterowanie światłem gestami, wskazując na dane światło.

do tego celu używam biblioteki OpenVino i modelu YOLOX Tiny który wytrenowałem na wykrywanie mnie w pokoju jak i lamp. kolejnym krokiem będzie jeszcze trochę doszkolenie modelu, by lepiej wykrywał gdy siedzę na krześle i dorzucenie modelu klasyfikacyjnego do określenia czynności

ktoś zaraz zapyta, a jak wykryje osobę jak będzie ciemno? będzie czujnik przy wejściu, jak się wejdzie to zapali światło by sobie doświetlić i będzie wykrywać

tag do czarnolistowania #mapachemajsterkuje

#programowanie #python #tworczoscwlasna #chwalesie #raspberrypi
mapache - w ramach nauki Pythona i DeepLearningu postanowiłem zrobić projekt asystent...
  • 16
ktoś zaraz zapyta, a jak wykryje osobę jak będzie ciemno? będzie czujnik przy wejściu, jak się wejdzie to zapali światło by sobie doświetlić i będzie wykrywać

@mapache: równie dobrze można by umieścić 2 czujki przy drzwiach i wykrywać ile osób weszło i wyszło i na tej podstawie zapalać/gasić, ale rozumiem kodowanie dla kodowania, mimo wszystko dobra robota!
@KiloEchoSierra: sam czas predykcji jest bardzo mały, 50ms. najwięcej czasu trwa zaciągniecie klatki i jej przeskalowanie. stąd taki spadek. od razu mówię, nie ma sensu tutaj robienie asynchroniczności. owszem podniesie ilość FPS ale będzie to dalej obraz który jest w tyle względem rzeczywistości
@mapache: Z ciekawości, jak długo trenuje się taki model i jak to wygląda? Robisz np. 20 zdjęć i wskazujesz na którym zdjęciu jest coś co się ma zmienić? Mógłbyś opisać dla totalnego laika?
@loginek0: to wszystko zależy, od czego na co trenujesz i jaki sprzęt masz, ile klas itd. bardzo dużo zmiennych

co do tego jak się trenuje. do object detection. bierzesz zdjęcia, są różne podejścia do tego zależnie od frameworku. ale zazwyczaj dzieli się zdjęcia na train/valid/test . oznaczasz każde zdjęcie prostokątem, i w ten sposób tworzysz dataset. zależnie od frameworku ma on rózną postać, albo Coco, Yolo, VOC itd..

potem bierzesz ten
@mapache:

najwięcej czasu trwa zaciągniecie klatki i jej przeskalowanie

Tak w sumie, to jest sens przesyłu w pełnym kolorze? Czy to nie sprowadza się do detekcji osoby i miejsca gdzie się znajduje? Czarno-biały z lekko podkręconym kontrastem i jasnością, żeby kontury rzeczy były dobrze widoczne nie rozwiązałyby problemu z wymogiem w miarę wysokiej rozdzielczości?