• Nie Znaleziono Wyników

Architektury sprz˛etowo-programowe jako procesory kamer inteligentnych pracuj ˛acych w sieciach automatycznego nadzoru

N/A
N/A
Protected

Academic year: 2021

Share "Architektury sprz˛etowo-programowe jako procesory kamer inteligentnych pracuj ˛acych w sieciach automatycznego nadzoru"

Copied!
160
0
0

Pełen tekst

(1)

Architektury sprz˛etowo-programowe jako procesory kamer inteligentnych pracuj ˛ acych w sieciach

automatycznego nadzoru

Hybrid architectures as platforms for smart camera based automatic surveillance system

Michał Fularz

Rozprawa doktorska

Instytut Robotyki i Inteligencji Maszynowej Wydział Automatyki, Robotyki i Elektrotechniki

Politechnika Pozna ´nska

Institute of Robotics and Machine Intelligence Faculty of Control, Robotics and Electrical Engineering

Poznan University of Technology

Promotor: prof. dr hab. in ˙z. Andrzej Kasi ´nski Promotor pomocniczy: dr in ˙z. Marek Kraft

Pozna ´n, Polska, luty 2020

(2)
(3)

Streszczenie

Systemy nadzoru wizyjnego stały si˛e integraln ˛ a cz˛e´sci ˛ a przestrzeni miejskiej, w której pra- cuj ˛ a i przebywaj ˛ a ludzie. Rozwój technik przetwarzania obrazów i post˛ep techniczny w dziedzinie kamer oraz mocy obliczeniowej procesorów spowodował, ˙ze sieci nadzoru wi- zyjnego s ˛ a coraz wi˛eksze. Klasyczne podej´scie, w którym dane wizyjne wysyłane s ˛ a do centralnego serwera i tam analizowane, nie skaluje si˛e do wymaga ´n oraz rozmiaru obec- nych aplikacji. Naturalnym krokiem jest przej´scie w kierunku systemów rozproszonych, gdzie obliczenia realizowane s ˛ a przez w˛ezły sieci nadzoru wizyjnego. W˛ezły, które doko- nuj ˛ a akwizycji danych obrazowych, ich analizy, a nast˛epnie przesłania metadanych o obser- wowanej scenie nazywamy kamerami inteligentnymi.

W niniejszej pracy doktorskiej zaproponowano ogóln ˛ a architektur˛e logiczn ˛ a i sprz˛etow ˛ a kamery inteligentnej, która umo ˙zliwia realizacj˛e pogł˛ebionego przetwarzania obrazu. De- dykowana jest dla heterogenicznych układów reprogramowalnych, które w swojej struktu- rze oferuj ˛ a logik˛e programowaln ˛ a oraz osadzone, wysokowydajne rdzenie ogólnego prze- znaczenia. Opisane rozwi ˛ azanie udost˛epnia moduły programowe i sprz˛etowe umo ˙zliwia- j ˛ ace łatwe ł ˛ aczenie ró ˙znych akceleratorów sprz˛etowych, przeznaczonych dla szerokiego spek- trum aplikacji, jednak w pracy przedstawiono rozwi ˛ azania zwi ˛ azane z przetwarzaniem ob- razów.

W ramach pracy zaimplementowano akceleratory sprz˛etowo-programowe realizuj ˛ ace

kolejne etapy przetwarzania obrazów w typowym potoku przetwarzania kamery inteli-

gentnej. Pierwszym krokiem jest detekcja ruchomych obiektów w sekwencji wideo. Wy-

brany algorytm przybli ˙zonej mediany w poł ˛ aczeniu z dodatkowymi etapami filtracji i ob-

róbki danych oferuje dobr ˛ a jako´s´c, a przy tym jest efektywny w translacji do sprz˛etowej

wersji. Nast˛epnym etapem jest detekcja, deskrypcja i dopasowanie cech punktowych. Do

realizacji tego zadania zaimplementowano sprz˛etowe akceleratory dla detektora cech punk-

towych FAST, binarnego deskryptora BRIEF oraz modułu dopasowania. Rozwi ˛ azanie to w

momencie publikacji było najbardziej wydajn ˛ a i sprz˛etowo efektywn ˛ a implementacj ˛ a opisa-

nych algorytmów, a dodatkowo charakteryzowało si˛e mo ˙zliwo´sci ˛ a skalowania do potrzeb

aplikacji poprzez elastyczny moduł dopasowania. Ostatnim etapem przetwarzania jest kla-

syfikacja obiektów. Wykorzystano deskryptor obszarów LBP w poł ˛ aczeniu z klasyfikatorem

bazuj ˛ acym na drzewach decyzyjnych. Przy implementacji przedstawionych akceleratorów

wykorzystano zaproponowan ˛ a uniwersaln ˛ a architektur˛e.

(4)

Poza rozwi ˛ azaniami sprz˛etowymi w pracy przedstawiono rozwi ˛ azania programowe, jak now ˛ a metod˛e sterowania przepływem informacji oraz aktywno´sci ˛ a w sieci kamer inteligent- nych. Bazuje ona na wymianie informacji o aktywno´sci na obserwowanych scenach w celu obni ˙zenia zu ˙zycia energii całej sieci. Dodatkowo w celu ułatwienia wykorzystania zapropo- nowanej architektury sprz˛etowej opracowano warstwow ˛ a architektur˛e programow ˛ a, która ułatwia wdra ˙zanie i testowanie nowych algorytmów w sieciach sensorów wizyjnych. Za- proponowany klasyfikator oparty o drzewa decyzyjne został wygenerowany automatycz- nie przy u ˙zyciu dedykowanego oprogramowania, który pozwala w łatwy sposób opraco- wa´c implementacj˛e sprz˛etow ˛ a, dedykowan ˛ a dla układów FPGA, drzewa decyzyjnego lub lasu losowego dla dowolnego problemu. Wszystkie opracowane rozwi ˛ azanie programowe zostały upublicznione w postaci wolnego oprogramowania.

W ramach prac nad algorytmami przetwarzania obrazu wykorzystywanymi w kame- rze inteligentnej i systemach nadzoru wizyjnego zebrano zestaw danych testowych, które zostały oznaczone i udost˛epnione jako otwarta baza danych.

Zintegrowanie rozwi ˛ aza ´n opracowanych w ramach pracy doktorskiej w heterogenicz-

nym układzie reprogramowalnym pozwala na uzyskanie kamery inteligentnej o wysokich

parametrach u ˙zytecznych. Dzi˛eki realizacji wi˛ekszo´sci, obliczeniowo kosztownych, zada ´n

jako akceleratorów sprz˛etowych zaimplementowanych w logice programowalnej, zu ˙zycie

energii jest na niskim poziomie zwa ˙zywszy, na to jak zaawansowane przetwarzanie jest re-

alizowane. Wykorzystanie zaproponowanej architektury i dost˛epnych modułów sprz˛eto-

wych oraz programowych minimalizuje wymagany nakład pracy, co jest najwi˛ekszym pro-

blem zwi ˛ azanym z wykorzystaniem rozwi ˛ aza ´n sprz˛etowych zamiast procesorów ogólnego

przeznaczenia.

(5)

Abstract

Video surveillance systems have become an integral part of the urban space where people work and live. Developments in image processing techniques, technical progress in the field of imaging and availability of more powerful processors caused the said systems to be more complex than ever before. The classic approach, in which video data is sent to a central server and analyzed there, does not scale up to the requirements and size of current applications. The natural step is the transition towards fully distributed systems, where calculations are performed by nodes of the video surveillance network. Nodes that can acquire image data, analyze it, and then send only the metadata about the observed scene are called smart cameras.

This doctoral dissertation proposes a general architecture for a smart camera, both for software and hardware parts, that enables the implementation of an in-depth image process- ing routines. It is dedicated to heterogeneous, reprogrammable systems, that contain both programmable logic resources and embedded in them high performance, general-purpose cores. The described solution provides software and hardware modules enabling easy con- nection of various accelerators, designed for a wide spectrum of applications. However, the thesis is focused on solutions designed for image processing.

As part of the work, hardware and software accelerators have been implemented to carry

out subsequent stages of the typical image processing pipeline used in a smart camera. The

first step is the detection of moving objects in a video sequence. The selected algorithm of

the approximate median, when combined with additional filtering and some data processing

stages, is robust and offers good quality. In addition to that, it easily and effectively translates

into a hardware implementation. The next step is the detection, description, and matching

of point features. To accomplish this task, hardware accelerators have been implemented

for the FAST point detector, the BRIEF binary descriptor, and the matching module. At

the time of publication, this solution was the most efficient in terms of performance and

resources-usage implementation of the described algorithms in an FPGA device. Another

advantage of the proposed solution is its ability to scale to the needs of the application thanks

to a flexible matching module. The final stage of processing is object classification. The

LBP region descriptor was used in combination with a decision tree based classifier. The

proposed universal architecture of a smart camera was used to implement the presented

accelerators.

(6)

In addition to hardware solutions, the thesis presents a set of software solutions, such as a new method of controlling information flow and activity in the network of smart cam- eras. It reduces the energy consumption of the whole network based on the information about activity on each of the observed scene send by the cameras. To ease the process of implementation of the proposed hardware architecture, a layered, software architecture was developed. It helps with testing new algorithms in video sensor networks. The proposed, decision tree based classifier has been generated automatically using dedicated software.

The prepared software allows the translation of any decision tree or random forest classifier to a hardware implementation in an FPGA device. All the developed software solutions have been made public in the form of open-source software.

As part of the work on image processing algorithms designed for smart cameras and video surveillance systems, a set of test data was collected and annotated. It was then de- scribed and made available as an open database.

The integration of all the solutions presented in the thesis as a system on a chip in a het-

erogenous reprogrammable device gives a very capable and unique smart camera. Thanks

to the implementation of the majority of the compute-intensive tasks in hardware, energy

consumption is relatively small, especially when considering how advanced processing is

realized. The use of the proposed architecture and available hardware and software mod-

ules largely reduces the amount of work required to move from software base solution to

the one that utilizes the hardware.

(7)

Podzi˛ekowania

Lista osób, dzi˛eki którym ta praca powstała jest długa, nie zdołam wymieni´c wszystkich tutaj, niemniej, chciałbym wspomnie´c o:

Promotorze profesorze Andrzeju Kasi ´nskim - za niezachwian ˛ a wiar˛e, cierpliwo´s´c i nie- zliczone słowa zach˛ety. Dzi˛ekuj˛e!

Koledze Marku Krafcie - za wci ˛ agni˛ecie w ´swiat nauki i wieloletni ˛ a, udan ˛ a współprac˛e.

Wiele si˛e od Ciebie nauczyłem, zarówno na polu zawodowym i technicznym, ale te ˙z jako człowiek. Dzi˛ekuj˛e!

˙Zonie Ani - za wsparcie, bycie moim edytorem i ogrom po´swi˛ece ´n, szczególnie w ko ´n- cowej fazie prac. Dzi˛ekuj˛e!

Praca nie powstałaby by bez wsparcia Narodowego Centrum Nauki, które sfinansowało grant pt. “Nowa koncepcja sieci kamer inteligentnych o zwi˛ekszonej autonomii w syste- mach automatycznego nadzoru” oraz Wojewódzkiego Urz˛edu Pracy w Poznaniu, które sfi- nansowało stypendium w ramach projektu “Wsparcie stypendialne dla doktorantów na kie- runkach uznanych za strategiczne z punktu widzenia rozwoju Wielkopolski”, Poddziałanie 8.2.2 PO KL.

Michał Fularz

Pozna ´n

luty 2020

(8)
(9)

Spis tre´sci

Lista skrótów 1

1 Wst˛ep 3

1.1 Problematyka rozprawy . . . . 3

1.2 Uzasadnienie podj˛ecia bada ´n . . . . 4

1.3 Tezy i cel rozprawy . . . . 5

1.4 Wpływ rezultatów rozprawy na obszar potencjalnych zastosowa ´n . . . . 6

1.5 Przegl ˛ ad zawarto´sci rozprawy . . . . 7

2 Przegl ˛ ad prac z dziedziny kamer inteligentnych oraz systemów automatycznego nadzoru 9 2.1 Systemy automatycznego nadzoru wizyjnego . . . . 9

2.1.1 Historia . . . . 10

2.1.2 Zastosowania . . . . 12

2.1.3 Stosowane metody . . . . 12

2.1.4 Sieci sensorów wizyjnych . . . . 13

2.1.5 Topologie systemów nadzoru wizyjnego oraz sieci sensorów wizyjnych 14 2.2 Kamera inteligentna . . . . 15

2.2.1 Historia . . . . 17

2.2.2 Budowa . . . . 18

2.2.3 Zalety i wady . . . . 20

2.2.4 Przegl ˛ ad projektów kamer inteligentnych . . . . 21

3 Układy reprogramowalne 23 3.1 Układy FPGA . . . . 23

3.1.1 Historia . . . . 24

3.1.2 Budowa wewn˛etrzna . . . . 25

3.1.3 Architektury programowo-sprz˛etowe . . . . 27

3.2 Układy Xilinx Zynq . . . . 30

3.2.1 Budowa wewn˛etrzna . . . . 30

3.2.2 Zedboard . . . . 35

(10)

3.3 Metody projektowania układów reprogramowalnych . . . . 35

3.3.1 Hardware Description Language . . . . 36

3.3.2 High Level Synthesis . . . . 37

3.3.3 Hardware-software codesign . . . . 37

3.3.4 frAGILE . . . . 38

4 Algorytmy przetwarzania obrazu w systemach automatycznego nadzoru 39 4.1 Ogólny schemat przetwarzania obrazów w kamerze inteligentnej . . . . 39

4.1.1 Przetwarzanie wst˛epne . . . . 40

4.1.2 Detekcja cech . . . . 40

4.1.3 Funkcje wy ˙zszego rz˛edu . . . . 41

4.2 Wykrywanie i ´sledzenie ruchomych obiektów . . . . 42

4.2.1 Algorytm przybli ˙zonej mediany . . . . 43

4.2.2 Algorytm etykietowania oraz ´sledzenia . . . . 44

4.3 Detektor FAST i deskryptor BRIEF cech punktowych . . . . 45

4.3.1 Detektor cech punktowych FAST . . . . 46

4.3.2 Deskryptor cech punktowych BRIEF . . . . 47

4.3.3 Prace o podobnej tematyce . . . . 48

4.4 Klasyfikacja obiektów za pomoc ˛ a deskryptora LBP oraz drzew decyzyjnych . 50 4.4.1 Deskryptor regionów LBP . . . . 51

4.4.2 Klasyfikacja za pomoc ˛ a drzew decyzyjnych . . . . 53

5 Implementacja elementów składowych 59 5.1 Stosowana metodologia . . . . 59

5.2 Architektura sprz˛etowa i logiczna kamery inteligentnej . . . . 59

5.3 Implementacja wybranych algorytmów przetwarzania obrazów . . . . 63

5.3.1 Zapewnienie równoległego dost˛epu do danych dla algorytmów ope- ruj ˛ acych na obrazach . . . . 63

5.3.2 Detekcja ruchomych obiektów za pomoc ˛ a algorytmu przybli ˙zonej me- diany . . . . 65

5.3.3 Detektor FAST oraz deskryptor BRIEF cech punktowych . . . . 68

5.3.4 Deskryptor regionów LBP . . . . 76

5.4 Generator drzew decyzyjnych na potrzeby klasyfikacji . . . . 79

5.4.1 Automatyczna translacja i kwantyzacja . . . . 82

5.5 Sterowanie przepływem informacji . . . . 83

5.5.1 Sterowanie przepływem informacji w sieci kamer inteligentnych . . . 84

5.5.2 Sterowanie przepływem informacji w kamerze inteligentnej . . . . 86

5.6 Baza danych dla systemów automatycznego nadzoru . . . . 89

6 Weryfikacja eksperymentalna opracowanego rozwi ˛ azania 91 6.1 Ocena implementacji sprz˛etowych . . . . 91

6.1.1 Warunki i metodologia testów . . . . 91

6.1.2 Ogólna architektura kamery inteligentnej . . . . 93

(11)

6.1.3 Detekcja ruchomych obiektów za pomoc ˛ a algorytmu przybli ˙zonej me-

diany . . . . 93

6.1.4 Detektor FAST oraz deskryptor BRIEF cech punktowych . . . . 97

6.1.5 Deskryptor regionów LBP . . . 103

6.1.6 Generator drzew decyzyjnych na potrzeby klasyfikacji . . . 105

6.2 Porównanie wydajno´sci podsystemu DMA układu Zynq SoC działaj ˛ acego pod kontrol ˛ a systemu operacyjnego Linux oraz w przypadku braku systemu operacyjnego . . . 111

6.3 Sterowanie przepływem informacji . . . 116

6.3.1 Sterowanie przepływem informacji w sieci kamer inteligentnych . . . 116

6.3.2 Sterowanie przepływem informacji w kamerze inteligentnej . . . 120

6.4 Baza danych dla systemów automatycznego nadzoru oraz narz˛edzie do ozna- czania zdj˛e´c . . . 122

7 Podsumowanie 127 7.1 Zrealizowane prace . . . 127

7.2 Potencjalne zastosowania . . . 129

7.3 Ocena stopnia realizacji przyj˛etych celów . . . 129

7.4 Kierunki dalszych bada ´n . . . 130

A Spis artykułów 133

Bibliografia 135

(12)
(13)

Lista skrótów

ASIC . . . .Application-specific integrated circuit BRAM . . . .Block RAM

BRIEF . . . .Binary Robust Independent Elementary Features CCD . . . .Charge-coupled device

CCTV . . . .Closed-circuit television CLB . . . .Configurable Logic Block

CMOS . . . .Complementary metal–oxide–semiconductor CPU . . . .Central processing unit

DMA . . . .Direct memory access DSP . . . .Digital signal processor DT . . . .Decision tree

FAST . . . .Features from accelerated segment test FIFO . . . .First in, first out

FF . . . .Flip-flop

FPGA . . . .Field-Programmable Gate Array GPCPU. . . .General Purpose CPU

GPU . . . .Graphics processing unit

HDL . . . .Hardware description language HLS . . . .High-level synthesis

IoT . . . .Internet of things LBP . . . .Local binary patterns LUT . . . .Look-up table

MPSoC. . . .Multiprocessor systems-on-chip PCI . . . .Peripheral Component Interconnect PL . . . .Programmable Logic

PS . . . .Processing System RAM . . . .Random-access memory RF . . . .Random forest

RISC . . . .Reduced instruction set computer

(14)

SIFT . . . .Scale Invariant Feature Transform SURF . . . .Speeded up robust features SoC . . . .System on a chip

VHDL. . . .Very High Speed Integrated Circuit Hardware Description Language VSN . . . .Visual sensor network

WSN . . . .Wireless sensor network

(15)

Rozdział 1

Wst˛ep

Zmysł wzroku jest dla ludzi wa ˙znym ´zródłem informacji o otaczaj ˛ acym ´swiecie umo ˙zliwia- j ˛ acym im funkcjonowanie. Wykorzystujemy go do okre´slania własnej lokalizacji, omijania przeszkód, rozpoznawania obiektów i osób, przy manipulowania przedmiotami i wielu in- nych czynno´sciach. Wraz z post˛epem technicznym, rozwojem konstruowanych urz ˛ adze ´n oraz oczekiwaniem od nich inteligencji naturaln ˛ a potrzeb ˛ a stało si˛e stworzenie systemu, który umo ˙zliwiałby maszynom “widzie´c” ´swiat. Obecnie metody przetwarzania obrazu wykorzystywane s ˛ a m.in. w telefonach komórkowych i aparatach fotograficznych np. do wykrywania u´smiechu, trwaj ˛ a intensywne prace nad autonomicznymi samochodami, które rozpoznaj ˛ a i analizuj ˛ a sytuacj˛e na drodze. Równie ˙z konsole do gier ´sledz ˛ a ruchy osób graj ˛ a- cych w celu sterowania awatarem uczestnicz ˛ acym w grze, w centrach handlowych monito- ring wizyjny np. zlicza liczb˛e kupuj ˛ acych. Szczególnie wysokie wymagania w stosunku do systemów wizyjnych stawiane s ˛ a w przypadku robotów. Stanowi ˛ a o podstawowej zdolno-

´sci robotów do autonomicznej nawigacji i manipulacji przedmiotami. We wszystkich tych przypadkach rejestrowane s ˛ a obrazy, które poddawane s ˛ a analizie. Ci ˛ agły wzrost wymaga ´n sprawia, ˙ze obrazy s ˛ a coraz bardziej szczegółowe, gdy ˙z składaj ˛ a si˛e z rosn ˛ acej liczby pik- seli. Pozwala to rejestrowa´c obrazy o coraz wy ˙zszej rozdzielczo´sci przestrzennej, dzi˛eki któ- rej mo ˙zliwe jest precyzyjne ´sledzenie i rozpoznawanie obiektów w polu widzenia systemu.

Wzrost rozdzielczo´sci wi ˛ a ˙ze si˛e z konieczno´sci ˛ a wykonywania wi˛ekszej liczby operacji na obrazie. W wi˛ekszo´sci praktycznych zastosowa ´n systemów wizyjnych istotnym problemem jest mo ˙zliwo´s´c realizacji obliczeniowo zło ˙zonych operacji w czasie rzeczywistym. Perspek- tywa masowego zastosowania systemów wizyjnych nakłada ograniczenia ekonomiczne na konstruowane rozwi ˛ azania, np. nie opłaca si˛e stosowa´c super-komputera do monitoringu i analizy sytuacji na parkingu. W tej sytuacji niezb˛edne jest znalezienie kompromisu pomi˛e- dzy funkcjonalno´sci ˛ a, a mo ˙zliwo´sciami systemu (warunkuj ˛ acymi gł˛eboko´s´c przetwarzania), a jego moc ˛ a obliczeniow ˛ a i kosztami (warunkowanym wymogiem przetwarzania w czasie rzeczywistym). W dziedzinie systemów wizyjnych, obok prac dotycz ˛ acych nowych algoryt- mów przetwarzania i analizy obrazu, istotnym problemem jest zaprojektowanie platformy, która umo ˙zliwia implementacj˛e tych algorytmów i ich praktyczne wykorzystanie, zgodnie z wymaganiami danej aplikacji.

1.1 Problematyka rozprawy

Mimo znacz ˛ acego post˛epu, jaki dokonał si˛e w ostatnich latach w dziedzinie produkcji ukła-

dów scalonych o bardzo du ˙zej skali integracji, w szczególno´sci matrycowych przetworni-

ków CCD i CMOS, a tak ˙ze w obszarze systemów wbudowanych, współczesne praktyczne

(16)

realizacje sieci czujników video składaj ˛ a si˛e zazwyczaj z zestawu kamer, które przesyłaj ˛ a obrazy za po´srednictwem kanału komunikacyjnego do w˛ezła centralnego, w którym pro- wadzone jest przetwarzanie danych. W wi˛ekszo´sci przypadków analizowane s ˛ a przez ope- ratora systemu, ewentualnie w˛ezeł centralny wykorzystywany jest jako platforma oblicze- niowa do przetwarzania strumienia obrazów. Przetwarzanie lokalne, w poszczególnych w˛ezłach sieci (kamerach) w wi˛ekszo´sci przypadków sprowadza si˛e współcze´snie do naj- prostszych operacji takich jak regulacji jasno´sci, kontrastu, filtrowania kolorów itp. Rosn ˛ aca wydajno´s´c układów przetwarzania stosowanych w urz ˛ adzeniach mobilnych i systemach wbudowanych umo ˙zliwia obecnie wypełnianie znacznie bardziej zło ˙zonych zada ´n tzw. gł˛e- bokiego przetwarzania obrazów do poziomu umo ˙zliwiaj ˛ acego interpretacj˛e semantyczn ˛ a.

Głównym celem pracy jest opracowanie nowej architektury obliczeniowej dla kamery inte- ligentnej, przeznaczonej do pracy w automatycznym systemie nadzoru wizyjnego. Projek- towane rozwi ˛ azanie zostało oparte o układ reprogramowalny, zaprojektowany z wykorzy- staniem metodologii hardware-software codesign. Zadania obliczeniowe, w zale ˙zno´sci od ich charakteru zostały podzielone pomi˛edzy procesory ogólnego przeznaczenia (GPCPU) oraz zaprojektowane koprocesory osadzone w strukturze matrycowej układu FPGA. Ka- mera wyposa ˙zona w taki układ stanowi tzw. inteligentny w˛ezeł akwizycji i analizy obrazów, umo ˙zliwiaj ˛ acy budowanie skalowalnych, rozproszonych przestrzennie rozległych sieci au- tomatycznego nadzoru wizyjnego. Rozprawa doktorska zawiera opis wyników bada ´n i prac projektowych dotycz ˛ acych nast˛epuj ˛ acych zagadnie ´n:

• okre´slenie architektury sprz˛etowo-programowej kamery inteligentnej zbudowanej w oparciu o heterogeniczny układ reprogramowalny,

• opracowanie efektywnych algorytmów przetwarzania obrazu lub przystosowania zna- nych algorytmów, umo ˙zliwiaj ˛ acych detekcj˛e, ´sledzenie i opis, a nast˛epnie klasyfikacj˛e obiektów w polu widzenia pojedynczego w˛ezła sieci (kamery inteligentnej),

• efektywnego wykorzystania ograniczonych zasobów, tzn. ograniczonej przepustowo-

´sci sieci oraz ograniczonych mo ˙zliwo´sci w zakresie zasilania poszczególnych w˛ezłów sieci.

1.2 Uzasadnienie podj˛ecia bada ´n

W ostatnich kilku latach znacz ˛ aco wzrosło zapotrzebowanie na urz ˛ adzenia monitoringu wi- zyjnego. Stosuje si˛e je w celu zwi˛ekszenia bezpiecze ´nstwa w przestrzeni publicznej, do ochrony mienia, nadzoru przebiegu procesów przemysłowych, itp.

Towarzyszy temu wzrost ilo´sci danych generowanych, przesyłanych i przetwarzanych

w takich systemach. Ludzki operator nie jest w stanie poradzi´c sobie z natłokiem napły-

waj ˛ acych informacji wizyjnych. Scentralizowany schemat automatycznego przetwarzania

danych pochodz ˛ acych z sieci rozproszonych sensorów wizyjnych ma równie ˙z zestaw swo-

istych ogranicze ´n. Szybkie przesyłanie strumieni obrazów do centralnego w˛ezła wymaga

odpowiedniej, cz˛esto kosztownej, szerokopasmowej infrastruktury. W zło ˙zonych systemach

(17)

ilo´s´c danych mo ˙ze wr˛ecz przewy ˙zsza´c przepustowo´s´c kanałów komunikacyjnych i zdolno-

´sci przetwarzania platformy obliczeniowej. Proponowane ´srodki zaradcze np. kompresja strumienia video, z jednej strony umo ˙zliwiaj ˛ a do pewnego stopnia przezwyci˛e ˙zenie ograni- cze ´n, z drugiej strony s ˛ a ´zródłem innych kłopotów np. na poziomie analizy obrazu. Wspo- mniana kompresja zmniejsza wymagania stawiane ł ˛ aczom stosowanym do przesyłu danych wizyjnych, jednak ˙ze kompresja i dekompresja strumienia wideo jest operacj ˛ a stosunkowo kosztown ˛ a obliczeniowo, wprowadzaj ˛ ac ˛ a zniekształcenia obrazowe. W obliczu tych trud- no´sci, coraz wi˛eksz ˛ a popularno´s´c zyskuje idea sieci rozproszonych kamer inteligentnych, w której ka ˙zda kamera prowadzi pogł˛ebione, lokalne przetwarzanie danych wizyjnych naj- istotniejszych z punktu widzenia danej aplikacji systemu nadzoruj ˛ acego. Zrealizowany za- kres bada ´n wpisuje si˛e w współczesny nurt prac prowadzonych nad sieciami rozproszonych kamer inteligentnych, wzbogacaj ˛ ac go o istotne z praktycznego punktu widzenia aspekty:

• Adaptacja znanych algorytmów do specyfiki (wydajno´sci) platformy obliczeniowej.

Znaczna cz˛e´s´c algorytmów opracowywanych dla systemów nadzoru wizyjnego jest testowana jako samodzielne rozwi ˛ azania i nie umo ˙zliwia pracy w trybie czasu rze- czywistego. Potok przetwarzania pojedynczego sensora został zaprojektowany z naci- skiem na pr˛edko´s´c przetwarzania oraz współdziałanie algorytmów detekcji, ´sledzenia i rozpoznawania.

• Migracja schematu oblicze ´n w kierunku w pełni rozproszonego przetwarzania. Zna- cz ˛ aca wi˛ekszo´s´c publikacji dotycz ˛ acych sieci kamer w mniejszym lub wi˛ekszym stop- niu odwołuje si˛e do centralnego schematu oblicze ´n. W rozprawie przedstawiono zre- alizowan ˛ a implementacj˛e sieci homogenicznych, równoprawnych w˛ezłów (inteligent- nych kamer), co umo ˙zliwiło zwi˛ekszenie niezawodno´sci takiej sieci oraz jej skalowal- no´s´c.

• Dzi˛eki lokalnemu, rozproszonemu przetwarzaniu mo ˙zliwe jest zmniejszenie liczby transferów danych w sieci. Przeło ˙zyło si˛e to na obni ˙zenie poboru mocy przez system oraz zmniejszenie obci ˛ a ˙zenia infrastruktury komunikacyjnej.

1.3 Tezy i cel rozprawy

Przedstawione w punkcie 1.1 cele prowadz ˛ a do sformułowania hipotez:

Zastosowanie architektur sprz˛etowo-programowych i układów reprogramowalnych w projekcie kamery inteligentnej pozwala na istotne pogł˛ebienie lokalnej analizy strumienia obrazów przy

jednoczesnym znacznym obni˙zeniu zapotrzebowania na energi˛e zasilania.

Realizacja zada ´n przetwarzania obrazu bezpo´srednio w kamerze inteligentnej pozwala na stworzenie

skalowalnej sieci automatycznego nadzoru wizyjnego.

(18)

1.4 Wpływ rezultatów rozprawy na obszar potencjalnych zastoso- wa ´n

Szybki rozwój systemów nadzoru wizyjnego w minionych latach i znaczny wzrost liczby wykorzystywanych kamer spowodował odej´scie od klasycznego rozwi ˛ azania polegaj ˛ acego na analizie przeł ˛ aczanych obrazów przez ludzkiego operatora na rzecz systemów analizuj ˛ a- cych obraz automatycznie metodami wizji komputerowej. Nierozwi ˛ azanym dot ˛ ad proble- mem jest opracowanie architektury sieci oraz metod, które umo ˙zliwi ˛ a obsług˛e bardzo du-

˙zych sieci, w przypadku których infrastruktura niezb˛edna do transmisji danych oraz moc obliczeniowa potrzebna do ich przetworzenia wyklucza stosowanie rozwi ˛ aza ´n scentralizo- wanych. W tym kontek´scie zrealizowana praca wpływa na rozwój dyscypliny poprzez:

• zaproponowanie uniwersalnej architektury kamery inteligentnej – w˛ezła sieci. Algo- rytmy przetwarzania obrazów s ˛ a implementowane w układach FPGA, jednak cz˛esto s ˛ a one projektowane i testowane jako izolowane jednostki. Opracowana architektura umo ˙zliwia łatw ˛ a integracj˛e do potoku ró ˙znorodnych operacji przetwarzania obrazu, w szczególno´sci strumieniowych, co uproszcza testowanie, a tak ˙ze integracj˛e rozwi ˛ aza ´n innych zespołów badawczych.

• implementacje algorytmów przetwarzania obrazu w postaci akceleratorów sprz˛eto- wych, które charakteryzuj ˛ a si˛e skalowalno´sci ˛ a procesów i mo ˙zliwo´sci ˛ a wykorzystania dost˛epnych zasobów w danym układzie FPGA,

• rozwój metod zarz ˛ adzania w˛ezłami sieci kamer inteligentnych. Prace na temat zarz ˛ a- dzania energi ˛ a w sieci kamer cz˛esto bazuj ˛ a na mikrokontrolerach oraz sieciach radio- wych o niskiej przepustowo´sci. Zu ˙zycie energii w takim systemie jest niskie, jednak ograniczona wydajno´s´c platformy uniemo ˙zliwia realizacj˛e bardziej skomplikowanych zada ´n, a interfejs radiowy nie pozwala na transmisj˛e sekwencji obrazów z zadowa- laj ˛ ac ˛ a cz˛estotliwo´sci ˛ a. Alternatywnym podej´sciem jest opracowanie algorytmów ste- ruj ˛ acych cz˛estotliwo´sci ˛ a pracy procesora kamery na podstawie aktywno´sci w jej polu widzenia, jednak rozwi ˛ azania te cz˛esto uwzgl˛edniaj ˛ a jedynie informacje z pojedyn- czego w˛ezła, a nie z całej sieci. Prace dotycz ˛ ace sterowania trybem działania kamer na podstawie danych o aktywno´sci w polu widzenia całej sieci, s ˛ a do´s´c rzadkie.

• publikacj˛e otwartej bazy sekwencji obrazów, dedykowanej do systemów monitoringu otwartych przestrzeni miejskich. Du ˙za cz˛e´s´c obecnie dost˛epnych baz danych skupia si˛e na pojedynczym aspekcie nadzoru wizyjnego, jak np. obecno´s´c wielu obiektów jed- nej klasy w bazach przeznaczonych do testowania algorytmów wykrywania pieszych.

Dodatkowo wiele z nich jest rejestrowanych z my´sl ˛ a o wykorzystaniu w aplikacjach wspomagania kierowcy.

• opracowane i udost˛epnione narz˛edzia programowe mog ˛ a by´c wykorzystywane przez

inne zespoły naukowe.

(19)

1.5 Przegl ˛ ad zawarto´sci rozprawy

Rozprawa została podzielona na 7 rozdziałów dotycz ˛ acych tematyki sprz˛etowych imple- mentacji algorytmów przetwarzania obrazu w układach reprogramowalnych, architektury kamery inteligentnej i zarz ˛ adzania energi ˛ a i przepływem danych w sieci kamer inteligent- nych.

W rodziale 1 “Wst˛ep” przedstawiono tematyk˛e i zakres pracy, tezy główne oraz pomoc- nicze, przedstawiono w jaki sposób praca wpływa na dyscyplin˛e oraz streszczono zawarto´s´c rozprawy.

W rozdziale 2 “Przegl ˛ ad prac z dziedziny kamer inteligentnych oraz systemów auto- matycznego nadzoru” przedstawiono histori˛e systemów nadzoru wizyjnego oraz perspek- tywy ich rozwoju ze szczególnym uwzgl˛ednieniem architektur rozproszonych. Zdefinio- wano czym jest kamera inteligentna i jak z jej u ˙zyciem mo ˙zna budowa´c du ˙ze sieci sensorów wizyjnych. Omówiono w jaki sposób realizowane jest zarz ˛ adzanie przepływem informa- cji w takich sieciach oraz przedstawiono istniej ˛ ace projekty sieci automatycznego nadzoru i kamer inteligentnych.

W rozdziale 3 “Układy reprogramowalne” streszczono histori˛e układów reprogramo- walnych, ze szczególnym uwzgl˛ednieniem najnowszych rozwi ˛ aza ´n hybrydowych - ukła- dów SoC Zynq firmy Xilinx. Przedstawiono struktur˛e wewn˛etrzn ˛ a, a tak ˙ze zalety i wady tych układów. Dodatkowo opisano istniej ˛ ace metody projektowania struktury wewn˛etrznej układów FPGA.

W rozdziale 4 “Algorytmy przetwarzania obrazu w systemach automatycznego nad- zoru” opisano jaka funkcjonalno´s´c jest oczekiwana od systemów monitoringu wizyjnego i za pomoc ˛ a jakich algorytmów przetwarzania obrazu mo ˙zna je zrealizowa´c. Szczegółowo przedstawiono detektor cech punktowych FAST wraz z binarnym deskryptorem BRIEF, al- gorytm przybli ˙zonej mediany do wykrywania ruchomych obiektów wraz z procesem ety- kietowania i ´sledzenia oraz klasyfikacj˛e obiektów za pomoc ˛ a drzew decyzyjnych oraz de- skryptora obszarów LBP.

W rozdziale 5 “Implementacja elementów składowych” szczegółowo opisano imple- mentacj˛e algorytmów przetwarzania obrazu w docelowej platformie - układzie FPGA typu SoC. Du ˙z ˛ a uwag˛e zwrócono na architektur˛e całego układu oraz dokładnie przedstawiono budow˛e poszczególnych bloków na ni ˙zszym poziomie. Przedstawiono koncepcj˛e IP-corów mo ˙zliwych do ponownego u ˙zytku.

W rozdziale 6 “Weryfikacja eksperymentalna opracowanego rozwi ˛ azania” zawarto wszyst-

kie wyniki uzyskane w trackie bada ´n. Zwrócono uwag˛e na zu ˙zycie zasobów układu FPGA

przez opracowane rozwi ˛ azania ze szczególnym uwzgl˛ednieniem ich skalowalno´sci do wy-

maga ´n aplikacji. Przedstawiono równie ˙z pr˛edko´s´c działania poszczególnych układów w

porównaniu do innych platform przetwarzaj ˛ acych. Dokładnie opisano wyniki działania

ogólnego generatora drzew decyzyjnych dla układów programowalnych. Zaprezentowano

tak ˙ze szczegółowe testy modułu DMA pracuj ˛ acego pod kontrol ˛ a systemu operacyjnego Li-

nux i bez. Dodatkowo umieszczono rezultaty uzyskane w trakcie testów algorytmów zarz ˛ a-

dzania sieci ˛ a kamer inteligentnych, a tak ˙ze utworzon ˛ a baz˛e danych do testowania systemów

nadzoru wizyjnego i udost˛epnione na wolnej licencji oprogramowanie.

(20)

W rozdziale 7 “Podsumowanie” wskazano najwa ˙zniejsze osi ˛ agni˛ecia pracy, oceniono w

jakim stopniu zrealizowane zostały przyj˛ete cele, a tak ˙ze nakre´slono ´scie ˙zki dalszych prac.

(21)

Rozdział 2

Przegl ˛ ad prac z dziedziny kamer inteligentnych oraz systemów automatycznego nadzoru

W rozdziale 2 przedstawiono rozwój systemów nadzoru wizyjnego, z wyró ˙znieniem trzech generacji. Opisano popularne architektury systemów automatycznego nadzoru, od podej-

´scia z przetwarzaniem danych w serwerze centralnym, do współczesnych rozproszonych rozwi ˛ aza ´n, gdzie obliczenia wykonywane s ˛ a w w˛ezłach sieci kamer. Przedstawiono rów- nie ˙z koncepcj˛e kamery inteligentnej i zaprezentowano istniej ˛ ace rozwi ˛ azania. Szczególn ˛ a uwag˛e po´swi˛econo implementacjom w układach FPGA i uzasadniono dlaczego, takie po- dej´scie zostało w niniejszej pracy zrealizowane.

2.1 Systemy automatycznego nadzoru wizyjnego

Na przestrzeni minionych lat oczekiwania wobec systemów nadzoru wizyjnego (CCTV) wci ˛ a ˙z wzrastaj ˛ a, zapotrzebowanie na rozwi ˛ azania jest du ˙ze, co przyci ˛ aga zainteresowanie zarówno przedstawicieli przemysłu, jak i ´swiata nauki. Nadzór wizyjny jest wykorzysty- wany m.in. do ochrony własno´sci, zapewniania bezpiecze ´nstwa przestrzeni publicznej (np.

lotniska, dworce, parkingi), monitorowania ruchu ulicznego czy procesów przemysłowych.

Szybkiemu rozwojowi sprzyjaj ˛ a spadaj ˛ ace ceny kamer, infrastruktury do przesyłu danych i jednostek przetwarzaj ˛ acych. Wszystkie te elementy sprawiaj ˛ a, ˙ze systemów monitoringu wizyjnego jest instalowanych coraz wi˛ecej, a dodatkowo znacz ˛ aco wzrasta rozmiar najwi˛ek- szych z nich. Obecnie, nie ma przesłanek wskazuj ˛ acych, ˙zeby trend ten miał si˛e odwróci´c w najbli ˙zszym czasie.

Według szacunków z 2002 roku [128] w Londynie zostało zainstalowanych co najmniej pół miliona kamera CCTV, co oznacza, ˙ze jedna kamera przypadała na czternastu mieszka ´n- ców. Według doniesie ´n medialnych [46], w całej Wielkiej Brytanii jedna kamera przypada na trzydziestu dwóch mieszka ´nców, a mieszkaniec Londynu jest rejestrowany trzyna´scie razy na godzin˛e, czyli przeszło trzysta razy na dob˛e. W samym metrze znajduje si˛e 15516 kamer [4], które rocznie rejestruj ˛ a przeszło osiemdziesi ˛ at milionów pasa ˙zerów.

W tak du ˙zych systemach, zwa ˙zywszy na ilo´s´c informacji zawartych w rejestrowanych

strumieniach obrazów, analiza danych przez operatora czy operatorów jest w praktyce nie-

mo ˙zliwa. Wykazano, ˙ze operatorzy s ˛ a podatni na zm˛eczenie i spadek czujno´sci, gdy ˙z utrzy-

mywanie skupienia przy tak monotonnym zadaniu jest bardzo trudne czy wr˛ecz niemo ˙z-

liwe [63][72]. Z tych wzgl˛edów systemy, w których analiza danych jest realizowana automa-

tycznie, zyskały popularno´s´c. Naturalnym podej´sciem, które umo ˙zliwia równie ˙z przetwa-

rzanie i fuzj˛e informacji z kilku w˛ezłów (np. wiele punktów obserwacji tej same sceny) jest

(22)

przesłanie danych obrazowych do centralnego w˛ezła, który realizuje operacje ich analizy.

Podej´scie to odniosło komercyjny sukces, gdy ˙z mo ˙ze by´c dodane, jako rozszerzenie istniej ˛ a- cych systemów kamer. Rozwi ˛ azanie to, ma jednak swoje ograniczenia - transfer znacznych ilo´sci danych, jakim jest strumie ´n wideo, do w˛ezła centralnego wymaga odpowiedniej, cz˛e- sto kosztownej i kłopotliwej w instalacji, infrastruktury. Dodatkowo wraz ze skalowaniem si˛e systemu wymagania dotycz ˛ ace przepustowo´sci rosn ˛ a proporcjonalnie. W ekstremalnych warunkach, zapewnienie odpowiedniej mocy obliczeniowej, czy przepustowo´sci mo ˙ze nie by´c mo ˙zliwe, co skutkuje utrat ˛ a klatek obrazu lub spadkiem jako´sci zwi ˛ azanym z zasto- sowan ˛ a kompresj ˛ a [142]. Sam proces kompresji ogranicza ilo´s´c danych do wysłania, ale zwi˛eksza zapotrzebowania na moc obliczeniow ˛ a, zarówno przy nadawaniu, jaki i odtwa- rzaniu, co skutkuje wi˛ekszym zu ˙zyciem energii [99][122]. Dodatkowo silna, stratna kom- presja mo ˙ze niekorzystnie wpływa´c na rezultaty stosowanych algorytmów przetwarzania obrazów [61][103].

Maj ˛ ac na uwadze przedstawione problemy, kolejnym, naturalnym krokiem w ewolucji systemów nadzoru wizyjnego s ˛ a rozwi ˛ azania rozproszone [25]. Mo ˙zliwe s ˛ a ró ˙zne realizacje rozproszenia - wykorzystuj ˛ ace przetwarzanie w chmurze [225] czy te ˙z bazuj ˛ ace na realizacji operacji przetwarzania w w˛e´zle [161][6][27]. W˛ezły w takich systemach s ˛ a do pewnego stop- nia autonomiczne i zdolne do komunikacji, co koresponduje z ide ˛ a internetu rzeczy (IoT) [14]. Przetwarzanie danych wizyjnych w miejscu ich akwizycji zapewnia, ˙ze tylko istotne, z punktu widzenia aplikacji, dane s ˛ a transmitowane do centralnego serwera czy innych ka- mer w sieci. Ogranicza to znacz ˛ aco obci ˛ a ˙zenie infrastruktury komunikacyjnej. Dodatkowo mo ˙zliwo´s´c przetwarzania w w˛e´zle pozwala na modyfikacj˛e realizowanych operacji w za- le ˙zno´sci od stanu i potrzeb takiej inteligentnej sieci. Nale ˙zy mie´c na uwadze, ˙ze systemy rozproszone wprowadzaj ˛ a inne problemy. Współpraca w˛ezłów, synchronizacja, podział za- da ´n, współdzielenie zasobów czy ograniczona moc obliczeniowa zastosowanych platform sprawia, ˙ze jest to otwarty problem badawczy, pomimo, ˙ze s ˛ a dost˛epne komercyjne imple- mentacje.

2.1.1 Historia

Systemy nadzoru wizyjnego zaprezentowane w literaturze i komercyjnie stosowane przy- j˛eło si˛e dzieli´c na trzy generacje. Podział ten jest ´sci´sle powi ˛ azany z rozwojem technik przetwarzania, przechowywania i przesyłania danych wizyjnych. Geneza powstania sys- temów nadzoru wizyjnego z list ˛ a odkry´c naukowych, które doprowadziły do powstania tej technologi została dokładnie przedstawiona w pracy [154]. Za dat˛e pojawianie si˛e pierw- szych komercyjnych systemów CCTV, które oferowały akceptowaln ˛ a jako´s´c przyjmuje si˛e lata sze´s´cdziesi ˛ ate [3]. Startuj ˛ ac od tego punktu wyró ˙znia si˛e nast˛epuj ˛ ace generacje syste- mów nadzoru wizyjnego [3][194]:

• pierwsz ˛ a (1960-1980) - bazuj ˛ ac ˛ a na analogowym systemach CCTV. Systemy te były w

du ˙zej mierze przestrzennym rozszerzeniem mo ˙zliwo´sci ludzkiego wzroku. Kamery,

za po´srednictwem sygnału analogowego przesyłały obraz do centralnej lokalizacji, w

której był on analizowany przez operatora. Zwykle polegało to na wy´swietlaniu wielu

(23)

strumieni wideo na zestawie monitorów z ewentualnym przeł ˛ aczaniem si˛e widoków w przypadku wi˛ekszej liczby ´zródeł ni ˙z wy´swietlaczy. Wspomniane wcze´sniej pro- blemy ze znu ˙zeniem operatora, a tak ˙ze braki w kwestii technologii zapisu danych były istotnymi wadami takich systemów. Zwi˛ekszanie ich skali wi ˛ azało si˛e ze zwi˛ek- szaniem liczby operatorów i powodowało problemy z zapewnieniem odpowiedniej przepustowo´sci ł ˛ acza danych.

• drug ˛ a (1980-2000) - bazuj ˛ ac ˛ a na technice cyfrowej. Przełom w dost˛epno´sci wzgl˛ednie tanich komputerów, a tym samym mocy obliczeniowej oraz zwi˛ekszenie rozdzielczo-

´sci kamer przyczyniło si˛e do istotnych post˛epów w dziedzinie cyfrowego przetwarza- nia obrazów, a tak ˙ze cyfrowych technikach kompresji i przesyłania wideo. Zało ˙zeniem było usprawnienie istniej ˛ acych rozwi ˛ aza ´n, poprzez opracowanie szybkich (działaj ˛ a- cych w czasie rzeczywistym) metod automatycznej detekcj˛e zdarze ´n. W ten sposób operatorzy mogliby by´c informowani tylko o istotnych zdarzeniach lub zmianach na scenie. Automatyzacja umo ˙zliwiła instalacj˛e znacznie wi˛ekszych systemów i monito- ring rozległych obszarów.

• trzeci ˛ a (2000-) - bazuj ˛ ac ˛ a na systemach rozproszonych. Czynnikiem umo ˙zliwiaj ˛ acym zmian˛e podej´scia jest ponownie post˛ep technologiczny - dost˛epno´s´c wysokowydaj- nych, a jednocze´snie rozmiarowo małych i z niedu ˙zym zapotrzebowaniem na energi˛e platform obliczeniowych, czy znaczne zwi˛ekszenie pr˛edko´sci transmisji i rozwój roz- wi ˛ aza ´n chmurowych. Rozwi ˛ azania tej generacji oznaczaj ˛ a całkowite odej´scie od analo- gowych form przesyłania obrazu na rzecz w pełni cyfrowych. Przetwarzanie mo ˙ze by´c realizowane bezpo´srednio w w˛e´zle sieci lub jest tam przeniesiona cz˛e´s´c oblicze ´n. Na- wet w przypadku przesyłania surowych strumieni obrazów wymagana jest spora moc obliczeniowa, gdy ˙z wykorzystywane s ˛ a metody silnej kompresji w celu zmniejszenia ilo´sci danych. Pojawiaj ˛ a si˛e podej´scia bezprzewodowe, czy w˛ezły przeznaczone do pracy na zasilaniu bateryjnym. Rozbudowane sieci zawieraj ˛ a, poza kamerami, rów- nie ˙z inne sensory dostarczaj ˛ ace komplementarne informacje. Prace badawcze i prze- mysłowe skupione s ˛ a na opracowaniu architektur w˛ezłów, nowych topologiach sieci, a tak ˙ze fuzji danych.

Na przestrzeni lat prace zwi ˛ azane z nadzorem wizyjnym spotykały si˛e z du ˙zym zainte-

resowaniem i zapotrzebowaniem, o czym ´swiadczy´c mo ˙ze znaczna liczba dedykowanych

projektów. Ameryka ´nska DARPA (ang. Defense Advanced Research Projection Agency)

w 1997 roku wspierała projekt VSAM (ang. Visual Surveillance and Monitoring) [56][57],

którego celem było opracowanie systemu umo ˙zliwiaj ˛ acego obserwacj˛e zło ˙zonych scen (pole

bitwy) pojedynczemu operatorowi. Innym projektem sponsorowanym przez DARPA był

projekt HID (ang. Human Identification at a Distance) [155]. Unia Europejska za po´sred-

nictwem projektów CROMATICA (ang. Crowd Monitoring with Telematic and Communi-

cation Assistance) [67] oraz PRISMATICA (ang. (Pro-active Integrated Systems for Security

Management by Technological Institutional and Communication Assistance) [197] wspierała

opracowanie rozległych systemów nadzoru wizyjnego dla transportu publicznego. Projekt

(24)

ADVISOR (ang. Annotated Digital Video for Intelligent Surveillance and Optimised Retrie- val) [137] miał na celu opracowanie metod automatycznego opisu rejestrowanych sytuacji z ich klasyfikacj ˛ a w celu umo ˙zliwienia łatwego wyszukiwania interesuj ˛ acych zdarze ´n. W projekcie INDECT (ang. Intelligent Information System Supporting Observation, Searching and Detection for Security of Citizens in Urban Environment) [74] opracowano narz˛edzia do automatycznej detekcji zagro ˙ze ´n, których cz˛e´s´c bazowała na danych z systemów nadzoru wizyjnego.

2.1.2 Zastosowania

Systemy nadzoru wizyjnego stały si˛e integraln ˛ a cz˛e´sci ˛ a ´srodowiska miejskiego i znalazły szerokie spektrum zastosowa ´n. W ogólno´sci celem jest zrozumienie i opisanie zachowa ´n obiektów. Mo ˙zna wyró ˙zni´c kilka głównych pól wykorzystania [205]:

• kontrola dost˛epu do okre´slonych obszarów - w strategicznych lokacjach, jak bazy woj- skowe czy wa ˙zne jednostki rz ˛ adowe, tylko okre´slony zbiór osób jest upowa ˙zniony do wst˛epu. Cechy biometryczne takie jak wysoko´s´c, cechy charakterystyczne twarzy, czy typ chodu mog ˛ a by´c wykorzystane do automatycznego umo ˙zliwienia wej´scia,

• automatyczne identyfikacja poszukiwanych osób,

• analiza przepływu osób czy pojazdów,

• wykrywanie anomalii w zachowaniach i alarmowanie,

• ´sledzenie obiektów na du ˙zej przestrzeni, pomi˛edzy wieloma kamerami.

Przedstawione zastosowania tycz ˛ a si˛e nadzoru osób i pojazdów, jednak nie jest to jedyne mo ˙zliwe wykorzystanie. Monitorowanie ´srodowiska, np. upraw, czy kontrola jako´sci na linii produkcyjnej to niektóre z innych potencjalnych zastosowa ´n.

2.1.3 Stosowane metody

Na schemacie 2.1 przedstawiono zadania jakie mog ˛ a by´c realizowane na podstawie danych wizyjnych z pojedynczej kamery wraz z zaznaczaniem wymaga ´n dotycz ˛ acych ich realizacji.

Nie jest zaskoczeniem, ˙ze wraz ze wzrostem ”inteligencji” kamery, wzrasta zapotrzebowa- nie na moc obliczeniow ˛ a. Co jednak istotne, to fakt, ˙ze im przetwarzanie bardziej zaawanso- wane, tym zmniejsza si˛e ilo´s´c danych do transmisji. Najprostszy przypadek to przesyłanie surowego strumienia obrazów, a po drugiej stronie spektrum jest zrozumienie sceny i prze- słanie np. tylko decyzji o konieczno´sci podj˛ecia okre´slonej akcji.

Szczegółowy opis stosowanych metod przetwarzania obrazów w systemach nadzoru

wizyjnego przedstawiono w rozdziale 4, w szczególno´sci metod wykrywania ruchu, klasyfi-

kacji, rozpoznawania i ´sledzenia obiektów. Nale ˙zy zwróci´c uwag˛e na inne metody, które nie

zostały w niniejszej pracy poruszone, jak fuzja danych z wielu kamer (instalacja, kalibracja,

przeł ˛ aczanie zainteresowania, przesłanianie si˛e obiektów), czy analiza zachowa ´n. Szczegó-

łowy opis stosowanych metod mo ˙zna znale´z´c w pracy [205]. Istotnym zagadnieniem jest

(25)

Rysunek 2.1: Schemat blokowy przetwarzania danych w systemie nadzoru wizyjnego ze wskazaniem wymaga ´n poszczególnych etapów pod k ˛ atem mocy obliczeniowej i wymaganej przepustowo´sci

równie ˙z kwestia organizacji bazy danych, a tak ˙ze bezpiecze ´nstwo przetwarzanych i przesy- łanych danych.

2.1.4 Sieci sensorów wizyjnych

Interesuj ˛ acym trendem, który w ostatnich latach zyskał na popularno´sci, jest wykorzysta- nie relatywnie prostych i tanich urz ˛ adze ´n integruj ˛ acych sensor wizyjny, wbudowany pro- cesor i, zwykle bezprzewodowy, interfejs komunikacyjny do tworzenia bardzo rozległych sieci, nazywanych sieciami sensorów wizyjnych (VSN). W odró ˙znieniu od bardziej trady- cyjnych systemów nadzoru wizyjnego, du ˙zy nacisk jest tu poło ˙zony na niskie zu ˙zycie ener- gii, a tym samym, cz˛esto, mo ˙zliwo´s´c pracy przy zasilaniu bateryjnym. VSN bazuje w du ˙zej mierze na koncepcji bezprzewodowych sieci czujników (WSN). Głównym elementem ró ˙z- nicuj ˛ acym jest jednak ilo´s´c informacji dostarczanych przez sensory wizyjne. Przykładowo, pomiar ci´snienia, precyzyjnym, 24-bitowym czujnikiem, z cz˛estotliwo´sci ˛ a 60 pomiarów na sekund˛e generuje 180 bajtów na sekund˛e. Kamera o bardzo niskiej rozdzielczo´sci QVGA (320 × 240 pikseli), rejestruj ˛ aca kolorowe obrazy (8-bitów na kanał) z cz˛estotliwo´sci ˛ a 10 razy na sekund˛e, generuje 2304000 bajtów na sekund˛e. Oznacza to, ˙ze przy 6-razy ni ˙zszej cz˛e- stotliwo´sci próbkowania, danych jest 12800 razy wi˛ecej. Tak wielka ilo´s´c danych znacznie utrudnia transmisj˛e i sprawia, ˙ze ich przetwarzanie bezpo´srednio w w˛e´zle, celem ekstrakcji metadanych o scenie, jest szczególnie istotne. Pomimo tych ró ˙znic, prace w obr˛ebie sieci sensorów wizyjnych, tak jak w przypadku bezprzewodowych sieci czujników, s ˛ a skupione na ich skalowalno´s´c, mo ˙zliwo´sci samoorganizacji w˛ezłów, algorytmach efektywnego prze- pływu informacji, a tak ˙ze na łatwo´sci instalacji i dodawania w˛ezłów. Ten otwarty problem badawczy, który w chwili obecnej jest trudny do wdro ˙zenia ze wzgl˛edu na ograniczenia technologiczne, wydaje si˛e by´c bardzo istotny dla rozległych sieci nadzoru wizyjnego [160].

Wi˛ecej informacji na temat VSN mo ˙zna znale´z´c w pracach [174][182].

(26)

Rysunek 2.2: Schemat systemu nadzoru wizyjnego z w˛ezłem centralnym

2.1.5 Topologie systemów nadzoru wizyjnego oraz sieci sensorów wizyjnych Wraz ze spadkiem kosztu kamer oraz infrastruktury do przesyłu danych, sieci nadzoru wi- zyjnego staj ˛ a si˛e coraz rozleglejsze. Powoduje to, ˙ze problem skalowania rozwi ˛ azania jest szczególnie istotny, a jednym z najwa ˙zniejszych elementów maj ˛ acych na to wpływ jest ar- chitektura całej sieci. Wraz z rozwojem rozwi ˛ aza ´n opartych o rozproszone przetwarzanie zmienił si˛e sposób organizacji kamer w sieci [6], co przedstawiono w niniejszym rozdziale.

Klasyczne podej´scie do organizacji systemu nadzoru wizyjnego przedstawiono na sche- macie 2.2. W wielu istniej ˛ acych systemach opartych o t˛e architektur˛e, surowe dane obra- zowe s ˛ a przesyłane do w˛ezła centralnego, gdzie s ˛ a analizowane przez ludzkiego opera- tora/operatorów lub w sposób automatyczny. Nale ˙zy jednak zaznaczy´c, ˙ze architektur˛e t˛e mo ˙zna z powodzeniem stosowa´c dla rozproszonych rozwi ˛ aza ´n opartych o kamery inteli- gentne, które przetwarzaj ˛ a dane lokalnie. W takim wypadku w˛ezeł centralny odpowiada za synchronizacj˛e komunikacji, ewentualn ˛ a fuzj˛e danych i zarz ˛ adzanie na tej podstawie cał ˛ a sieci ˛ a. Podej´scie to jest koncepcyjnie proste oraz łatwe w implementacji, st ˛ ad jego du ˙za po- pularno´s´c. Do wad nale ˙zy zaliczy´c ograniczone mo ˙zliwo´sci skalowania systemu.

Na schemacie 2.3 zaprezentowano w pełni rozproszon ˛ a architektur˛e, która w swoim za- ło ˙zeniu całkowicie ró ˙zni si˛e od poprzedniej. Nie wyst˛epuje tutaj w˛ezeł centralny, a sie´c jest w pełni rozproszona. Podej´scie to wymaga, i nie mo ˙ze funkcjonowa´c bez, przetwarzania danych przez w˛ezły i mo ˙zliwo´sci ich samoorganizacji. Pomimo licznych zalet, synchroni- zacja oraz fuzja danych w tego typu sieciach bywa kłopotliwa, a problem ten pogł˛ebia np.

znaczne zró ˙znicowanie typów w˛ezłów pod wzgl˛edem konstrukcji, mo ˙zliwo´sci przetwarza-

nia i przesyłania danych.

(27)

Rysunek 2.3: Schemat w pełni rozproszonego systemu nadzoru wizyjnego

Po´srednim rozwi ˛ azaniem pomi˛edzy w pełni centraln ˛ a, a w pełni rozproszon ˛ a jest archi- tektura mieszana. Mog ˛ a w niej wyst˛epowa´c samoogranizuj ˛ ace si˛e grupy w pełni rozpro- szone, które jednak posiadaj ˛ a dedykowany w˛ezeł zbieraj ˛ acy informacje i b˛ed ˛ acy po´sredni- kiem z reszt ˛ a sieci. Mog ˛ a istnie´c równie ˙z klasyczne grupy, jak ze schematu 2.2, w których w˛ezeł centralny odpowiada za komunikacj˛e z innymi grupami. Dodatkowo w tym podej-

´sciu cz˛esto wyró ˙znia si˛e poziomy na jakich pracuj ˛ a poszczególne grupy. Tak hierarchiczna struktura odpowiada zadaniom i mo ˙zliwo´sciom w˛ezłów, co pozwala zarówno na łatwe ska- lowanie, jak i implementacj˛e. Np. na najni ˙zszym poziomie realizowane s ˛ a operacje detekcji obiektów, na wy ˙zszym poziomie odbywa si˛e ich rozpoznawanie, a na kolejnym ich ´sledze- nie [187]. Podej´scie hierarchiczne jest uznane za optymalne z punktu widzenia kosztów oraz zu ˙zycia energii [110]. Poszczególne grupy mog ˛ a wykorzystywa´c ró ˙zne interfejsy komuni- kacyjne, w zale ˙zno´sci od ich zadania. Architektura ta została przedstawiona na schemacie 2.4. W opinii autora, rozwi ˛ azanie to jest najlepszym wyborem w przypadku implementacji rozproszonej, ró ˙znorodnej sieci kamer inteligentnych tworz ˛ acych system automatycznego nadzoru wizyjnego.

Wybór odpowiedniej architektury sieci kamer ułatwia fuzj˛e danych z wielu kamer, co jest szczególnie istotne dla zada ´n typu kalibracja wzajemna czy realizacja paradygmatu ak- tywnej/wczesnej wizji (ang. active/early vision) [11][48].

2.2 Kamera inteligentna

Przestawione systemy nadzoru wizyjnego trzeciej generacji w du ˙zej mierze bazuj ˛ a na roz-

proszeniu przetwarzania danych obrazowych do w˛ezłów (kamer) sieci. Urz ˛ adzenia takie

(28)

Rysunek 2.4: Schemat hierarchicznego systemu nadzoru wizyjnego

przyj˛eło si˛e nazywa´c kamerami inteligentnymi. Według organizacji AIA (ang. Automated Imaging Association), najwi˛ekszej grupy zrzeszaj ˛ acej firmy z bran ˙zy wizji maszynowej, za cechy wyró ˙zniaj ˛ ace kamer˛e jako inteligentn ˛ a przyjmuje si˛e [25]:

• integracj˛e istotnych funkcji w jednym urz ˛ adzeniu (np. optyki, o´swietlenia, akwizycji obrazu i jego przetwarzania),

• wykorzystanie procesora i oprogramowania w celu uzyskania pewnego poziomu "in- teligencji"

• mo ˙zliwo´s´c realizacji ró ˙znych zda ´n.

Podana definicja jest szeroka i jest jedn ˛ a z wielu, które s ˛ a wykorzystywane przez me- dia, producentów i przedstawicieli nauki. Cz˛esto jako element wyró ˙zniaj ˛ acy wskazuje si˛e mo ˙zliwo´s´c przetwarzania danych obrazowych bezpo´srednio w kamerze. Nie jest to jednak okre´slenie jednoznaczne, gdy ˙z obecnie praktycznie ka ˙zda kamera cyfrowa ma na pokładzie elektronik˛e realizuj ˛ ac ˛ a operacje przetwarzania obrazu jak np. korekcja barwna czy korekcja gamma. Autor zgadza si˛e z opini ˛ a przedstawion ˛ a w pracy [25], ˙ze istotny jest rodzaj za- dania, jakie jest wykonywane i jego efekt. Tym, co wyró ˙znia kamer˛e inteligentn ˛ a jest fakt ekstrakcji ze strumienia obrazów cech specyficznych dla aplikacji i automatyczne genero- wanie jego opisu i/lub podejmowanie decyzji.

Nale ˙zy wspomnie´c, ˙ze systemy nadzoru wizyjnego to nie jedyne zastosowanie kamer

inteligentnych. W wielu aplikacjach zast˛epuj ˛ a one bardziej ogólne rozwi ˛ azania w postaci

komputerów klasy PC sparowanych ze ”zwykł ˛ a” kamer ˛ a, jak:

(29)

• rozpoznawanie cech biometrycznych i kontrola dost˛epu (rozpoznawanie twarzy, od- cisków palców, czy ´zrenicy),

• pomiary bezkontaktowe,

• identyfikacja i sortowanie elementów,

• inspekcja materiałów na liniach produkcyjnych (np. papieru, przewodów),

• odczytywanie kodów graficznych (jedno i dwu-wymiarowe kody kreskowe),

• nawigacja robotyczna czy sterowanie robotów manipulacyjnych.

W zwi ˛ azku ze wspomnian ˛ a, nieprecyzyjn ˛ a, definicj ˛ a kamery inteligentnej, mo ˙ze ona znale´z´c zastosowanie wsz˛edzie tam, gdzie stosowane s ˛ a metody wizji maszynowej. W dalszej cz˛e´sci rozdziału wi˛ekszo´s´c rozwa ˙za ´n dotyczy kamer inteligentnych dedykowanych dla systemów nadzoru wizyjnego, wi˛ec nie wszystkie dost˛epne rozwi ˛ azania i architektury s ˛ a przedsta- wione.

2.2.1 Historia

Nie jest jasne, gdzie po raz pierwszy u ˙zyto terminu kamera inteligentna, ale przyjmuje si˛e,

˙ze pochodzi z bran ˙zy militarnej b ˛ ad´z kosmicznej, gdzie taki samodzielny system umo ˙zli- wiaj ˛ acy analiz˛e sceny mógłby by´c wykorzystany na pokładzie rakiety [25]. W literaturze naukowej poj˛ecie kamera inteligentna pojawiło si˛e w pracy [158] z 1975 roku. Pierwsz ˛ a implementacj ˛ a kamery inteligentnej była optyczna mysz komputerowa opracowana przez firm˛e Xerox w 1981 roku [121]. Było to pierwsze rozwi ˛ azanie, które w kompaktowym roz- miarze ł ˛ aczyło sensor obrazowy oraz układ na bie ˙z ˛ aco przetwarzaj ˛ acy rejestrowane dane.

Celem było wyznaczenie przesuni˛ecia całego układu. Interesuj ˛ acy jest fakt, ˙ze w zwi ˛ azku z wielk ˛ a popularno´sci ˛ a tego rozwi ˛ azania, mysz optyczna jest najlepiej sprzedaj ˛ ac ˛ a si˛e kamer ˛ a inteligentn ˛ a w historii [25]. Przełom w rozwoju układów scalonych wysokiej integracji spo- wodował pojawienie si˛e inteligentnych kamer, dla których stosowano rozwi ˛ azania dedyko- wane do okre´slonego zadania [134]. Rozwój matryc CMOS przyniósł kolejne implementacje, np. imputer3 firmy VLSI Vision z wbudowanym procesorem firmy Intel [25]. Kolejne lata to szybki rozwój akademickich i komercyjnych rozwi ˛ aza ´n, w których wykorzystywane były aktualne osi ˛ agni˛ecia nauki i techniki: od coraz wydajniejszych jednostek obliczeniowych, po nowe technologie transmisji danych, jak np. ł ˛ acza bezprzewodowe.

Według bran ˙zowego eksperta mo ˙zna wyró ˙zni´c cztery generacje kamer inteligentnych

[66]. Pierwsza, zapocz ˛ atkowana w pó´znych latach osiemdziesi ˛ atych, to głównie rozwi ˛ aza-

nia akademickie. Ówczesna technologia nie umo ˙zliwiała integracji jednostki obliczeniowej

o wystarczaj ˛ acej wydajno´sci w kompaktowym rozmiarze kamery. Najcz˛e´sciej stosowano

dedykowane układy scalone do przetwarzania obrazu. Druga generacja jest ´sci´sle powi ˛ a-

zana z du ˙z ˛ a popularno´sci ˛ a i mo ˙zliwo´sciami procesorów sygnałowych w latach dziewi˛e´c-

dziesi ˛ atych. Problemem była trudno´s´c programowania takich układów. Trzecia generacja to

wykorzystanie komputera klasy PC jako jednostki obliczeniowej (lata po roku 2000). Roz-

wi ˛ azania tego typu były wi˛eksze i bardziej energochłonne ni ˙z oparte o DSP, ale znacznie

(30)

łatwiejsze w programowaniu dzi˛eki zastosowaniu popularnej platformy. Ostatnia genera- cja to rozpowszechnienie masowo produkowanych, tanich i wysokowydajnych jednostek procesorowych, znanych z telefonów komórkowych.

Opracowanie projektu kamery inteligentnej nie jest łatwym zadaniem i wymaga wiedzy z zakresu przetwarzania obrazów, wizji komputerowej i maszynowej (interpretacja obser- wowanej sceny), a tak ˙ze projektowania systemów wbudowanych i architektury kompute- rów (niskie zu ˙zycie energii, kompaktowy rozmiar, niska cena, praca w czasie rzeczywistym).

2.2.2 Budowa

Jako elementy składowe kamery inteligentnej mo ˙zna wyró ˙zni´c:

• układ optyczny (obiektyw), który zapewnia odpowiedni ˛ a ilo´s´c ´swiatła dla sensora.

Cz˛e´s´c ta mo ˙ze by´c na stałe zintegrowana w obudowie lub wymienna, w zale ˙zno´sci od wymaga ´n aplikacji.

• sensor obrazu w postaci przetwornika fotoelektrycznego w technologii matrycy CCD lub CMOS.

• układ przetwornika analogowo-cyforwego, który zwykle jest zintegrowany z prze- twornikiem fotoelektrycznym i dedykowanym cyfrowym modułem realizuj ˛ acym ope- racj˛e korekcji barwnej i gamma. Zwykle wszystkie te elementy s ˛ a zintegrowane z sam ˛ a matryc ˛ a w jeden układ scalony.

• system obliczeniowy - wyró ˙znik kamery inteligentnej. Wykorzystywane s ˛ a ró ˙zno- rodne rozwi ˛ azania, od specjalizowanych układów scalonych (ASIC), układów repro- gramowalnych (FPGA), przez procesory sygnałowe (DSP), procesory ogólnego prze- znaczenia (CPU), czy mikrokontrolery (uC).

• interfejsy komunikacyjne - w zale ˙zno´sci od potrzeb aplikacji s ˛ a to ł ˛ acza przewodowe b ˛ ad´z radiowe, działaj ˛ ace w oparciu o technik˛e cyfrow ˛ a lub analogow ˛ a. Do najpopu- larniejszych mo ˙zna zaliczy´c Ethernet, WiFi czy ZigBee.

• moduł zasilaj ˛ acy, który w niektórych aplikacjach mo ˙ze zawiera´c bateri˛e.

Na schemacie 2.5 przedstawiono uproszczon ˛ a struktur˛e wewn˛etrzn ˛ a kamery inteligent- nej z zaznaczonymi wymienionymi elementami wraz z kierunkiem przepływu danych.

Jednostki obliczeniowe

Du ˙za ilo´s´c informacji zawartych w strumieniu obrazów rejestrowanych przez kamer˛e inte- ligentn ˛ a oraz wysokie oczekiwania wobec jej funkcjonalno´sci sprawiaj ˛ a, ˙ze jednostka obli- czeniowa jest jej najwa ˙zniejszym komponentem.

Wykorzystywane platformy mo ˙zna podzieli´c na dwie grupy - sprz˛etowe oraz progra-

mowe. Do sprz˛etowych nale ˙zy zaliczy´c specjalizowane (ASIC) oraz układy reprogramo-

walne (FPGA). Grup˛e rozwi ˛ aza ´n programowych stanowi ˛ a natomiast procesory ogólnego

(31)

Rysunek 2.5: Schemat blokowy struktury wewn˛etrznej kamery inteligentnej najwy ˙zsza ´srednia najni ˙zsza

moc obliczeniowa ASIC FPGA CPU/DSP

zu ˙zycie energii CPU/DSP FPGA ASIC

mo ˙zliwo´s´c realizacji innego zadania CPU/DSP FPGA ASIC

koszt projektowania ASIC FPGA CPU/DSP

koszt jednostkowy FPGA CPU/DSP ASIC

Tablica 2.1: Porównanie platform mo ˙zliwych do zastosowania w kamerach inteligentnych

przeznaczenia (CPU) i procesory sygnałowe (DSP). W tabeli 2.1 porównano dost˛epne plat- formy pod k ˛ atem ich mo ˙zliwo´sci.

Analiza danych jasno wskazuje na specjalizowane układy scalone jako najwydajniejsze, przy tym o niskim zapotrzebowaniu na energi˛e i tanie w produkcji. Jednak zaporowe koszta zaprojektowania i uruchomienia produkcji wraz, z cz˛esto, zerowymi mo ˙zliwo´sciami rekon- figuracji do innego zadania sprawiaj ˛ a, ˙ze rozwi ˛ azanie to nie jest popularne. Po przeciw- nej stronie znajduj ˛ a si˛e procesory ogólnego przeznaczenia i procesory sygnałowe. Mo ˙zli- wo´sciami reprogramowania znacz ˛ aco odbiegaj ˛ a one od pozostałych rozwi ˛ aza ´n, jednak dla wielu zastosowa ´n ich wydajno´s´c jest zbyt niska. Rozwi ˛ azaniem po´srednim s ˛ a układy repro- gramowalne, które w du ˙zej mierze przypominaj ˛ a układy ASIC z mo ˙zliwo´sci ˛ a reprogramo- wania.

Osobn ˛ a kategori ˛ a, o której nale ˙zy wspomnie´c s ˛ a mikrokontrolery. Ze wzgl˛edu na znacz-

nie ni ˙zsz ˛ a moc obliczeniow ˛ a nie został uj˛ete w tabeli. Układy te wykorzystywane s ˛ a cz˛esto

w rozwi ˛ azaniach przeznaczonych dla bezprzewodowych sieci sensorów wizyjnych lub w

(32)

kamerach umo ˙zliwiaj ˛ acych prac˛e na baterii. Podej´scie takie charakteryzuje si˛e jednak znacz- nie mniejszymi mo ˙zliwo´sciami przetwarzania strumienia obrazów.

2.2.3 Zalety i wady

Kamer inteligentnych nie mo ˙zna bezpo´srednio porównywa´c do ”zwykłych” kamer, nale ˙zy to zrobi´c w odniesieniu do pełnego systemu wizyjnego składaj ˛ acego si˛e z kamery i jednostki obliczeniowej (lokalnej lub umieszczonej w innej lokalizacji). W takim porównaniu, jako zalety kamer inteligentnych mo ˙zna wymieni´c [25]:

• przetwarzanie obrazu w miejscu jego akwizycji. Oznacza to prac˛e na danych naj- wy ˙zszej jako´sci, bez zakłóce ´n zwi ˛ azanych z kompresj ˛ a, czy utraty cz˛e´sci obrazów w zwi ˛ azku z problemami z sieci ˛ a.

• wykorzystanie dedykowanych jednostek obliczeniowych jak układy DSP czy FPGA, które s ˛ a przystosowane do efektywnego przetwarzania du ˙zych ilo´sci danych w sposób równoległy.

• ograniczenie zapotrzebowania na transmisj˛e danych. Zamiast przesyłania surowego strumienia obrazów, który w wysokiej rozdzielczo´sci i rejestrowany z du ˙z ˛ a cz˛estotli- wo´sci ˛ a oznacza konieczno´s´c transferowania znacznych ilo´sci danych, przesyłane s ˛ a tylko pewne metadane o scenie.

• mo ˙zliwo´s´c sterowania procesem przetwarzania danych. Jest to pochodna wcze´sniej wymienionych zalet - w zwi ˛ azku z przetwarzaniem danych w kamerze mo ˙zliwe jest np. zmniejszenie cz˛estotliwo´sci próbkowania lub ograniczenie realizowanego prze- twarzania w zale ˙zno´sci od wykrytej sytuacji.

• mo ˙zliwo´s´c stworzenia systemów w pełni rozproszonych, w których komunikacja na- st˛epuje bezpo´srednio pomi˛edzy w˛ezłami sieci.

• wi˛eksze mo ˙zliwo´sci skalowania ”w gór˛e’ systemu w zwi ˛ azku z jego rozproszonym charakterem i autonomiczno´sci ˛ a jednostek tworz ˛ acych go.

• zwykle kompaktowe rozmiary.

Na podstawie przedstawionych zalet mo ˙zna doj´s´c do wniosku, ˙ze inteligentne kamery powinny by´c stosowane w zdecydowanej wi˛ekszo´sci przypadków, jednak na chwil˛e obecn ˛ a jest to nadal rozwi ˛ azanie alternatywne. Zwi ˛ azane jest to z nast˛epuj ˛ acymi wadami [25]:

• kamery inteligentne wci ˛ a ˙z s ˛ a nowo´sci ˛ a i rozwijaj ˛ acym si˛e rozwi ˛ azaniem w wielu za- stosowaniach, a nie ”dojrzałym” produktem.

• dedykowane jednostki obliczeniowe w kamerach inteligentnych w wielu przypadkach

s ˛ a efektywne, ale maj ˛ a ograniczon ˛ a liczb˛e funkcji, które mog ˛ a realizowa´c. Problem ten

w du ˙zo mniejszym stopniu dotyczy rozwi ˛ aza ´n opartych o procesory ogólnego prze-

znaczenia.

(33)

• utrudnione lub niemo ˙zliwe ulepszanie systemu. W przypadku rozwi ˛ aza ´n opartych o komputery klas PC czy serwerowe i niezale ˙zne kamery, mo ˙zliwe jest np. doło ˙zenie dedykowanych kamer rejestruj ˛ acych obraz w podczerwieni i wykorzystanie istniej ˛ a- cej infrastruktury obliczeniowej. Sam ˛ a jednostk˛e czy jednostki obliczeniowe równie ˙z znacznie łatwiej usprawni´c, poprzez ich wymian˛e (a zachowanie kamer) czy uspraw- nienie (dodatkowe procesory).

2.2.4 Przegl ˛ ad projektów kamer inteligentnych

W zale ˙zno´sci od zadania realizowanego przez kamer˛e, istniej ˛ ace rozwi ˛ azania mo ˙zna po- dzieli´c na trzy grupy:

• przeznaczone dla bezprzewodowych sieci sensorów wizyjnych. Rozwi ˛ azania z tej ka- tegorii cechuj ˛ a si˛e niskim kosztem i niskim zapotrzebowaniem na energi˛e, gdy ˙z cz˛esto s ˛ a to rozwi ˛ azania bazuj ˛ ace na zasilaniu bateryjnym. Jednostk ˛ a obliczeniow ˛ a jest zwy- kle mikrokontroler, lub prosty, energooszcz˛edny mikroprocesor. W obu przypadkach mo ˙zliwo´sci przetwarzania strumienia obrazów ograniczaj ˛ a si˛e do prostych operacji wykonywanych na obrazach w niskiej rozdzielczo´sci (QCIF, CIF, czy QVGA) z pr˛ed- ko´sci ˛ a do kilku klatek na sekund˛e lub mniej. Interfejsy komunikacyjne bazuj ˛ a zwykle na standardach, w których zu ˙zycie energii jest niskie, ale kosztem ograniczonej prze- pustowo´sci danych, jak ZigBee [88], czy 6LoWPAN. Wykorzystanie takich interfejsów umo ˙zliwia dłu ˙zsz ˛ a prac˛e na baterii, jednak praktycznie uniemo ˙zliwia przesyłanie su- rowych danych obrazowych, szczególnie, ˙ze jednostka obliczeniowa nie jest w stanie wykonywa´c algorytmów silnej kompresji wideo. W wi˛ekszo´sci tego typu kamer inte- ligentnych przesyłane dane s ˛ a ograniczone do metadanych o scenie [174].

• oparte o procesor sygnałowy lub jednostk˛e ogólnego przeznaczenia. Nie we wszyst- kich zastosowaniach niskie zu ˙zycie energii jest kluczowym aspektem. W wielu przy- padkach niezb˛edne s ˛ a bardziej zło ˙zone metody przetwarzania obrazów wymagaj ˛ ace wi˛ekszej mocy obliczeniowej. W takiej sytuacji bardzo cz˛esto wykorzystuje si˛e pro- cesory ogólnego przeznaczenia [51][52], sygnałowe [68][100] lub ich poł ˛ aczenie [207]

jako jednostki obliczeniowe. Kamery inteligentne z tej grupy umo ˙zliwiaj ˛ a analiz˛e wi- deo w czasie rzeczywistym, a cz˛esto równie ˙z równoległe, realizowan ˛ a w locie, kom- presj˛e. Pozwala to na przesyłanie zarówno metadanych o scenie jak i samego obrazu (np. w celu pó´zniejszej analizy, jako materiał dowodowy itp.). W zwi ˛ azku z tym roz- wi ˛ azania te zwykle wykorzystuj ˛ a popularne interfejsy komunikacyjne o du ˙zej prze- pustowo´sci, zarówno przewodowe (Ethernet) lub bezprzewodowe (WiFi).

• oparte o układy reprogramowalne. Jak wykazano w pracy [17], algorytmy przetwa-

rzania obrazów, zaimplementowane w układach FPGA, s ˛ a bardziej wydajne ni ˙z ich

implementacje programowe wykonywane przez współczesne procesory. Twierdze-

nie to jest szczególnie widoczne dla grupy metod, które przetwarzaj ˛ a obraz na pozio-

mie pikselowym lub w niedu ˙zym otoczeniu analizowanego piksela, gdy ˙z pozwalaj ˛ a

(34)

w pełni wykorzysta´c mo ˙zliwo´sci zrównoleglania operacji w układach reprogramowal- nych. W teorii podobne mo ˙zliwo´sci oferuj ˛ a układy graficzne, jednak ich zastosowanie, ze wzgl˛edów gabarytowych i zu ˙zycia energii nie jest zwykle mo ˙zliwe w kamerze inte- ligentnej. Inn ˛ a alternatyw ˛ a s ˛ a dedykowane układy scalone, jak rozwi ˛ azanie zaprezen- towane w pracy [5]. Jednak, jak opisano w 2.2.2, koszty opracowania dedykowanych układów scalonych o wysokiej sprawno´sci s ˛ a znacz ˛ ace, szczególnie, gdy planowane jest wykorzystanie najnowszych procesów technologicznych [112].

Układy FPGA oferuj ˛ a dodatkowo mo ˙zliwo´s´c rekonfiguracji i pozwalaj ˛ a na bezproble- mowe, bezpo´srednie poł ˛ aczenie z wieloma zewn˛etrznymi elementami jak matryce ob- razowe, czy inne sensory, a tak ˙ze z układami komunikacyjnymi. Nie wszystkie typy zada ´n da si˛e efektywnie zaimplementowa´c w układach reprogramowalnych, jednak popularnym rozwi ˛ azaniem jest wykorzystanie układów FPGA z wbudowanym rdze- niem procesorowym lub implementacja procesora w logice programowalnej. Z tych wzgl˛edów układy reprogramowalne s ˛ a popularn ˛ a platform ˛ a dla kamer inteligentnych [34][30][124][190].

Interesuj ˛ acym rozwi ˛ azaniem, które nie do ko ´nca jest zgodne z zaprezentowan ˛ a definicj ˛ a kamery inteligentnej jest VCQ-Board firmy Vision Components [200]. Płyta ta zawiera jed- nostk˛e obliczeniow ˛ a (układ FPGA z rodziny Zynq-7000 firmy Xilinx) i umo ˙zliwia konwersj˛e zwykłej kamery IP do kamery inteligentnej. Producent oferuje dedykowane oprogramowa- nie, które umo ˙zliwia wykorzystanie takiego poł ˛ aczenia do realizacji zada ´n zwi ˛ azanych z detekcj ˛ a i odczytywaniem tablic rejestracyjnych.

W niniejszej pracy zdecydowano si˛e na wybór rozwi ˛ azania po´sredniego, pomi˛edzy ka-

mer ˛ a opart ˛ a o procesor, a kamer ˛ a opart ˛ a o układ FPGA. Wykorzystano heterogeniczny

układ reprogramowalny wyposa ˙zony w silnie zintegrowan ˛ a ze sob ˛ a cz˛e´s´c procesorow ˛ a z

szybkimi rdzeniami ogólnego przeznaczenia oraz logik˛e repogramowaln ˛ a. Szczegóły doty-

cz ˛ ace tego typu układów i ich struktur˛e wewn˛etrzn ˛ a przedstawiono w rozdziale 3. Podej´scie

to umo ˙zliwiło wykorzystanie silnych stron obu elementów i w opinii autora jest rozwi ˛ aza-

niem optymalnym dla kamery inteligentnej.

Cytaty

Powiązane dokumenty

W artykule przedstawione zostały cechy oraz możliwości techniczne systemów kontroli i sterowania pracą źródeł o małej mocy przyłączonych do sieci niskiego

Oddzielnym zagadnieniem mającym wpływ na rozwój systemów pomiarowych w inteligentnych sieciach elektroenergetycznych jest ochrona danych przed nieuprawnionym dostępem

W obliczu występujących uwarunkowań (m.in. społeczno-gospodarczych, fi- nansowych i politycznych, organizacyjnych czy kadrowych) oraz nasilającej się konkurencji na

Dzięki większej sprawności fizycznej pacjenci coraz częściej czerpią radość i satysfakcję z aktywności ruchowej i sport staje się ich hobby. Istnieje wiele form aktywności,

In order to encourage a wide group of researchers to read and contribute to the SJLS, the Editorial Committee has decided to publish in this is- sue, articles written not only

However, to obtain numerical solutions for real fluids, it is convenient to use values given by the special solution, eqi;iations (4.2) and (4.4), ^-s initial val-ues for

Sztuczne sieci neuronowe (ang. artificial neural networks) są to systemy obliczeniowe przetwarzające informacje w sposób wzorowany na procesach zachodzących w mózgu

Jeśli jednak dojdzie do rezonansu kognityw- nego, to wykryta interpretacja seman- tyczna rozważanej sceny (pochodząca – przypomnijmy to – ze zbioru możliwych wniosków