System monitoringu wizyjnego CCTV opracowany w środowisku LabView - str. 2 - CCTV - WAT - WOJSKOWA AKADEMIA TECHNICZNA - PAWEŁ JANDA - MONITORING WIZYJNY - LABVIEW
Mouser Electronics Poland   Przedstawicielstwo Handlowe Paweł Rutkowski   PCBWay  

Energetyka, Automatyka przemysłowa, Elektrotechnika

Dodaj firmę Ogłoszenia Poleć znajomemu Dodaj artykuł Newsletter RSS
strona główna ARTYKUŁY Elektronika System monitoringu wizyjnego CCTV opracowany w środowisku LabView
drukuj stronę
poleć znajomemu

System monitoringu wizyjnego CCTV opracowany w środowisku LabView

Algorytm detekcji ruchu
Przedstawiony na rysunku 5 diagram z fragmentem programu przedstawia algorytm akwizycji i przetwarzania obrazu. Sygnały wizyjne z trzech kamer uzyskiwane są z wyjścia bloku Channel 2. Blok ten odwołuje się bezpośrednio do karty NI PCI-1411. Odpowiada za rozpoczynanie i kończenie sesji urządzeń, zagospodarowanie pamięci oraz obsługę błędów. Danymi wyjściowymi są bieżące obrazy. Po starcie programu rezerwowane są obszary pamięci dla kopii bieżących obrazów (na rysunku widoczny jest bufor dla kopii drugiego kanału), które w kolejnej iteracji poddawane są porównaniu z nowymi obrazami w celu wykrycia ruchu. Dodatkowo tworzony jest obszar pamięci typu „blank” przeznaczony dla rejestrów przesuwnych. Zapobiega to sytuacji, w której podczas pierwszej iteracji nie istnieje w pamięci obraz wzorcowy.




fot. Rys. 5 Akwizycja obrazu



Rejestry przesuwne (po jednym na każdy kanał wizyjny) zapewniają przeniesienie kopii bieżącego obrazu do kolejnego kroku w celu wykorzystania go przy detekcji ruchu. Użytkownik jest w stanie zatrzymać wykonywanie programu przyciskiem STOP. Proces akwizycji obrazu zrealizowany jest analogicznie dla pozostałych dwóch kanałów wizyjnych.
Detekcja ruchu
W algorytmie detekcji ruchu zastosowano porównywanie parametrów dwóch obrazów (rys. 6) – aktualnego oraz poprzedniego lub wzorcowego.




fot. Rys. 6 Akwizycja obrazu, tworzenie bufora dla obrazu oraz algorytm detekcji



Obraz poprzedni uzyskiwany jest z wyjścia rejestru przesuwnego. Jest klatka obrazu pozyskanego w poprzednim kroku. W ramach algorytmu przeprowadzone zostaje obliczenie średnich wartości intensywności pikseli dla każdej kolumny obu obrazów. Następnie obliczana jest średnia arytmetyczna we wszystkich kolumnach (liczba kolumn w tym przypadku wynosi 768). Po odjęciu obliczonych dla obu obrazów wartości uzyskiwana jest wartość liczbowa zależna od stopnia, w jakim różnią się obrazy. W rozpatrywanym przypadku doświadczalnie stwierdzono, że różnice, jakie wnoszą niedokładności przetwornika obrazu oraz szumy zawierają się w przedziale wartości od -0,5 do 0,5. Dlatego wartość bezwzględna różnicy większa od 0,5 świadczy o zaobserwowaniu ruchu. Wynikiem porównania obrazów jest binarna wartość „0” lub „1”. Algorytm porównywania wykonywany jest dla każdego toru wizyjnego oddzielnie. W ten sposób możliwe jest określenie kamery, która zaobserwowała poruszający się obiekt.
Wyświetlanie obrazu na ekranie głównym
Na ekranie głównym programu wyświetlany jest obraz z jednej wybranej przez użytkownika kamery. W przypadku wystąpienia alarmu automatycznie zostaje wyświetlony obraz z kamery, która zaobserwowała poruszający się obiekt. Wybór, z którego źródła obraz ma być przekazywany do okna głównego dokonywany jest przez użytkownika w dowolnej chwili. Część algorytmu związaną wyświetlaniem obrazu pokazano na rysunku 7.




fot. Rys. 7 Selekcja sygnału wizyjnego oraz wpływ detekcji ruchu na wyświetlanie



Struktura Case przekazuje obraz z odpowiedniego toru na ekran główny. Operuje ona zmienną lokalną odnoszącą się do okna głównego o nazwie Full screen view. To, który z przypadków będzie wykonany uzależnione jest od zmiennej y. Wartość y zależna jest od zmiennych wejściowych x1, x2, x3 oraz z. Pierwsze trzy zmienne związane są z każdym z torów wizyjnych. Zmienna z zależna jest od użytkownika. Przyjmuje ona wartości indeksów kamer. Wartości x określają czy wystąpiła detekcja ruchu w odpowiadającym torze. W przypadku niewykrycia ruchu przyjmują wartość 0. Wystąpienie alarmu powoduje ustawienie wartości x na równą indeksowi kamery, która wykryła ruch. Jeśli alarm pochodzi z więcej niż jednej kamery wyświetlany jest obraz z tej o wyższym indeksie. Przy braku alarmu zmienna y przyjmuje wartość określoną przez użytkownika równą z.




fot. Rys. 8 Wyświetlanie obrazu z trzech kamer



Interfejs użytkownika
Rysunek 8 przedstawia widok okna aplikacji wyświetlającej obrazy z trzech kamer jednocześnie. Przedstawiona jest sytuacja, w której nastąpiła detekcja ruchu w trzecim kanale. Detekcja ruchu sygnalizowana jest „zapaleniem” wskaźnika ALARM. Na ekranie głównym znajdują się również robocze pola wyświetlające wartości poszczególnych zmiennych oraz różnicę między średnimi intensywnościami porównywanych obrazów (x-y). Dodatkowo użytkownik ma możliwość określenia progu wykrycia oraz ustawienia jasności obrazu.
Podsumowanie
W artykule przedstawiono system monitoringu wizyjnego opracowany w środowisku LabView. Wykonano aplikację, która może współpracować z wieloma typami kamer analogowych działających w standardowych formatach video. Dodatkowym atutem jest skalowalność systemu – wymiana kart NI PCI-1411 na karty 4-kanałowe zwiększa liczbę dostępnych torów wizyjnych. Wymaga to jedynie zmian konfiguracyjnych w blokach funkcyjnych odpowiedzialnych za obsługę sprzętu. Oprogramowanie może też być rozbudowane o dodatkowe elementy pozwalające użytkownikowi na dokonywanie operacji na obrazach. Przykładowo można zaimplementować algorytmy deformacji obrazu, zmiany intensywności czy też rozdzielczości. Dzięki temu istnieje możliwość przystosowania systemu do celów identyfikacji osób albo określania liczby i wymiarów obserwowanych obiektów.


Literatura
[1] www.elektroda.pl
[2] Ćwirko R., Lisowski J., Mierzejewski Z.: Vademecum techniki
audio-video, WNT, Warszawa 1991
[3] www.zabezpieczenia.com.pl
[4] www.ni.com.pl
[5] Smith Steven W.: Cyfrowe przetwarzanie sygnałów, BTC
2007
[6] Bielecki Z., Rogalski A.: Detekcja sygnałów optycznych, WNT,
Warszawa 2001

Autor: Paweł Janda, Wojskowa Akademia Techniczna, Wydział Elektroniki

follow us in feedly
Średnia ocena:
 
REKLAMA

Otrzymuj wiadomości z rynku elektrotechniki i informacje o nowościach produktowych bezpośrednio na swój adres e-mail.

Zapisz się
Administratorem danych osobowych jest Media Pakiet Sp. z o.o. z siedzibą w Białymstoku, adres: 15-617 Białystok ul. Nowosielska 50, @: biuro@elektroonline.pl. W Polityce Prywatności Administrator informuje o celu, okresie i podstawach prawnych przetwarzania danych osobowych, a także o prawach jakie przysługują osobom, których przetwarzane dane osobowe dotyczą, podmiotom którym Administrator może powierzyć do przetwarzania dane osobowe, oraz o zasadach zautomatyzowanego przetwarzania danych osobowych.
Komentarze (0)
Dodaj komentarz:  
Twój pseudonim: Zaloguj
Twój komentarz:
dodaj komentarz
Stowarzyszenie Elektryków Polskich
Stowarzyszenie Elektryków Polskich
ul. Świętokrzyska 14, Warszawa
tel.  +48 22 5564-302
fax.  +48 22 5564-301
$nbsp;
REKLAMA
Nasze serwisy:
elektrykapradnietyka.com
przegladelektryczny.pl
rynekelektroniki.pl
automatykairobotyka.pl
budowainfo.pl