Skocz do zawartości

Detekcja ludzi (ludzkiego ciała) na obrazie z kamery przy użyciu biblioteki OpenCV (Python)


Pomocna odpowiedź

3 minuty temu, Elvis napisał:

@FlyingDutch Skoro kamera jest w stałym położeniu, widok pustej windy chyba nie powinien się zmieniać - nie licząc oczywiście oświetlenia. Więc może zamiast wykrywać sylwetkę byłoby łatwiej i bezpieczniej wykrywać cokolwiek co nie jest tym podstawowym widokiem? Wydaje mi się, że rozpoczęcie sterylizacji gdy ktoś znajduje się w windzie może stanowić zagrożenie i będzie ono o wiele większe niż zaniechanie sterylizacji po zostawieniu np. torebki.

Cześć @Elvis,

myślałem o tym, ale uznałem, że nie jest to optymalny pomysł ponieważ windy mocno się różnią wymiarami oświetleniem itp. Np. w windach towarowych często pozostają jakieś duże pakunki zanim zostaną rozpakowane i usunięte (może to trwać po kilka godzin). Poza tym np. plamy z błota na podłodze powodowałyby, że winda nie byłaby steryllizowana przez dłuższy czas, co jest podstawowym celem tego urządzenia.

Pozdrawiam

Link to post
Share on other sites
4 minuty temu, FlyingDutch napisał:

Moim problemem są false-positive, czyli przypadki, gdzie nie ma człowieka na zdjęciu a algorytmowi wydaje się, że on tam jest.

Tak jak pisał @Elvis - problemem mogą być false-negative.

Zdjęcia nie prześlę bo nie mam odpowiedniego kapelusza, ale możesz je zrobić sam (mając kapelusz albo robiąc go sobie z papieru - mi się nie chce). Nałóż kapelusz, usiądź po turecku, spleć ręce tak, aby dłonie były przysłonięte przez rondo kapelusza i opuść głowę tak, aby nie było widać twarzy. Teraz zrób zdjęcie kamerą umieszczoną na ścianie, pod którą siedzisz, zrób kontrolne zdjęcia z czterech ścian windy.

8 minut temu, FlyingDutch napisał:

więc jeśli osoba leżąca na podłodze będzie się ruszać (nawet nie jakoś intensywnie) to te czujniki ruchu ją wykryją.

Jeśli osoba np. zasłabła to raczej nie będzie się ruszać - a przynajmniej nie na tyle, aby czujnik ruchu to wykrył.

I zgodzę się z @Elvis - odróżnienie pustej windy i windy "z czymś w środku" może być prostsze i bardziej efektywne niż skomplikowane algorytmy. Proste rozwiązania bywają najbardziej skuteczne, czego przykładem może być sprawa skórowania świń w powiecie pieprzdowickim 🙂

 

 

2 minuty temu, FlyingDutch napisał:

myślałem o tym, ale uznałem, że nie jest to optymalny pomysł ponieważ windy mocno się różnią wymiarami oświetleniem itp.

Takie magiczne słowo "kalibracja".

2 minuty temu, FlyingDutch napisał:

w windach towarowych często pozostają jakieś duże pakunki zanim zostaną rozpakowane i usunięte (może to trwać po kilka godzin)

Jesteś pewien, że sterylizacja owym pakunkom nie zaszkodzi? Przez grzeczność pominę fakt, że nie wspominałeś o windach towarowych z pakunkami.

BTW. człowiek może stać za pakunkiem (z punktu widzenia kamery).

4 minuty temu, FlyingDutch napisał:

Poza tym np. plamy z błota na podłodze powodowałyby, że winda nie byłaby steryllizowana przez dłuższy czas

No cóż - błędy i niedociągnięcia w algorytmach będziemy analizować jak pokażesz gotowy program 😛

Poza tym zamocowanie na ścianie guzika włączającego UV (w jakiś mniej lub bardziej skomplikowany sposób) nie jest chyba ingerencją w konstrukcję windy?

 

Link to post
Share on other sites

Może kamera powinna być umieszczona na ścianie, a nie na suficie? Nie mam pomysłu jak sobie z tym problemem poradzić, ale poleganie na sieci neuronowej wydaje mi się ryzykowne. Nawet jeśli będzie 90% poprawnych odpowiedzi, to ryzyko rozpoczęcia sterylizacji z pasażerem w windzie jest moim zdaniem zbyt wysokie. Chociaż sam pomysł użycia sieci neuronowej brzmi ciekawie.

Link to post
Share on other sites
16 minut temu, Elvis napisał:

Może kamera powinna być umieszczona na ścianie, a nie na suficie? Nie mam pomysłu jak sobie z tym problemem poradzić, ale poleganie na sieci neuronowej wydaje mi się ryzykowne. Nawet jeśli będzie 90% poprawnych odpowiedzi, to ryzyko rozpoczęcia sterylizacji z pasażerem w windzie jest moim zdaniem zbyt wysokie. Chociaż sam pomysł użycia sieci neuronowej brzmi ciekawie.

Hej @Elvis,

ten wczoraj wyuczony algorytm (klasyfikator oparty o SVM) testowałem automatycznie na 1000 zdjęć innych niż użytych w treningu. Wśród nich byłó 588 zdjęć pozytywnych i reszta negatywnych (wszystkie poetykietowane). Puściłem automatyczny test na tej próbce i pozytywy wszystkie zostały wykryte (czyli na tej próbce zostały pozytywnie wykryte wszystkie przykłady), miałem za to sporo (około 80-dziesięciu) false-positive na przykładach negatywnych co stanowi około 20 procent przykładów negatywnych. Prawdopodobnie na większej próbce byłyby jakieś przypadki nie wykrycia pozytywów, dzisiaj spróbuje zrobić taki test.

Odnośnie kalibracji to nie wchodzi w grę, gdyż klient który chce to nabyć zaznaczył od początku, że jest to niemożliwe. Swoją drogą to robię i tak pewną autokalibrację i testowanie sprawności czujników ruchu i kamery.

Lampa (razem z kamerą) jest umieszczona na ścianie.

Co do algorytmu to nie mogę podać kodu źródłowego, ale nawet gdybym to zrobił nic by to nie dało bo jest to po prostu użycie nauczonego klasyfikatora, gdzie cały algorytm jest w nim zawarty.

Zastanawiam się,czy nie użyć tego wyuczonego wczoraj klasyfikatora, godząc się na te około 20 procent false-positive (i nadal jest to "chuchanie na zimne"). Dzisiaj potestuję ten wyuczony klasyfikator na dużo większej liczbie przypadków (> 3000 zdjęć, mniej więcej połowa pozytywów a reszta negatywy) i zobaczę jaki jest na takiej próbce procent poprawnych detekcji pozytywów.

Pozdrawiam

  • Lubię! 1
Link to post
Share on other sites

A ja tak sobie pomyślałem... i wymyśliłem, że próbujesz zrobić coś w stylu "jeśli ktoś jest w windzie, nie włączaj sterylizacji".

No i wymyśliłem dalej, że powinno być "jeśli nikogo nie ma w windzie, możesz włączyć sterylizację".

Różnica pozornie żadna, ale tylko pozornie: bo wejście jest trójstanowe (czyli: jest - nie ma - hgw).

Odwraca to pojęcie pozytywu/negatywu co prawda, ale w bardziej naturalną stronę: pozytywny wynik analizy powoduje włączenie sterylizacji.

Ot, to tak w ramach odreagowania po próbie rzucania grochem o ścianę (czyli dyskusji z prawnikiem) 🙂

 

Link to post
Share on other sites
2 minuty temu, ethanak napisał:

A ja tak sobie pomyślałem... i wymyśliłem, że próbujesz zrobić coś w stylu "jeśli ktoś jest w windzie, nie włączaj sterylizacji".

No i wymyśliłem dalej, że powinno być "jeśli nikogo nie ma w windzie, możesz włączyć sterylizację".

Różnica pozornie żadna, ale tylko pozornie: bo wejście jest trójstanowe (czyli: jest - nie ma - hgw).

Odwraca to pojęcie pozytywu/negatywu co prawda, ale w bardziej naturalną stronę: pozytywny wynik analizy powoduje włączenie sterylizacji.

Ot, to tak w ramach odreagowania po próbie rzucania grochem o ścianę (czyli dyskusji z prawnikiem) 🙂

 

Hej @ethanak

odnośnie wyłączania sterylizacji to wykrycie ruchu przez którykolwiek z czujników ruchu ( w dowolnym momencie) powoduje wyłączenie sterylizacji. Sprawdzałem nawet ruch poza bezpośerednim kierunkiem widzenia czujników ruchu (poza przeszkodą) i w większości przypadków odbite od ścian promieniowanir IR wystarcza, aby uruchomić czujnik ruchu. Wiesz, gdyby bać się wszystkiego to nigdy nie powstałyby np. autonomiczne pojazdy.

Pozdrawiam

Link to post
Share on other sites
26 minut temu, ethanak napisał:

OK, pytanie zadane inaczej: co się stanie, jeśli urządzenie nie będzie w stanie określić czy ktoś jest w windzie?

Oczywiście nie włączy sterylizacji (lub przerwie aktualną). Dlatego miedzy innymi są dwa czujniki ruchu, gdy przez jakich czas (ustawiany jako parametr np. 20 minut) jeden z czujników daje pozytywne odczyty a drugi nie - system uznaje, że czujniki są uszkodzone i nigdy nie włączy już starylizacji (aż do wizyty serwisu i usunięcia awarii). Jest też test działania kamery w programie z OpenCV (czy obiektyw nie został np. zasłonięty) jeśli tak to kamera także nie włączy sterylizacji do czasu usunięcia awarii.

Pozdrawiam

Link to post
Share on other sites

Cześć,

mam jeszcze prośbę do wszystkich użytkowników Forbot'a, czy moglibyście zrobić po kilka ujęć wind z których korzystacię (komórką) - spakować to zipem i wkleić do tego wątku. Byłbym bardzo wdzięczny (mam nadzieję, że nie jest to niezgodne z regulaminem forum).

Pozdrawiam

  • Lubię! 2
Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.