En inbäddad vision-system stöder vården i hemmet för konvalescent eller äldre personer (2 / 7 steg)
Steg 2: Programvara modell
I första steget vi utvecklat en
programvara modell av algoritmen i C++ programmerande språken med hjälp av OpenCV bildbehandling bibliotek (www.opencv.org). Därför att kompilera och köra programmet du kommer att kräva en C++-kompilator (e.g. gcc) och installerat OpenCV. Eftersom denna fråga är mycket beskrivs beroende av operativsystemet i inte här. För att köra programmet måste du infoga en sökväg till ingång filmen i raden 19 i filen "HomeCareVS.cpp". Vänligen ge en video inspelad med en kamera. Vidare är en ordentligt upplyst scen krävs för den aktuella versionen av systemet.
Hur programmet fungerar:
Första konverteras video Indataströmmen i RGB till YCbCr färgrymd, för att förbättra objekt segmentering-minskar de negativa konsekvenserna av skuggor.
För det andra bestäms förgrunden objektet masken. Två binära masker används. Först genereras av tröskelvärde differential bild mellan nuvarande indatabilden och en bakgrund modell (enkel löpande genomsnittliga metod används). Andra är resultatet av tröskelvärde för på varandra följande ram skillnaden. De erhållna maskerna förenas med logisk OR-operator.
Den bakgrund modellen genereras och uppdateras med hjälp av följande formel. New_background_model = alfa) * Current_frame + (1-alfa) * Previous_background_model
Parametern alfa beror på huruvida ett förgrundsobjekt upptäcktes på en bestämd plats. Den binära bilden filtreras med en median filter för att ta bort små buller.
Sedan ansluten komponent märkning utförs – objekt bestående av ansluten grupp pixlar upptäcks och deras områden, centroiden och begränsningsramar beräknas. De sju största objekt spåras (genom att analysera markeringsramens rutan överlappning) och därför deras beteende kan analyseras är ett temporal sammanhang.
I den aktuella versionen av systemet redovisas tre verksamheter - liggande, sittande och stående. Detta görs genom att analysera markeringsramens låda höjd och bredd. Ett fall upptäcks när en person ljuger, centroiden för objektet flyttade ner och objektet har en storlek i ett visst intervall (t.ex. När en boll faller, det ingen anledning till oro).
I framtiden fungerar algoritmen kan förbättras på många sätt: en bättre bakgrund modellering algoritm kunde användas, mänskliga silhouette upptäckt kunde läggas, mer sofistikerade mänskligt agerande erkännande skulle kunna användas. Men uppfyller denna version den grundläggande uppgiften att upptäcka falls i ett inbäddat hemvård videosystem.