AUTOREFERAT ROZPRAWY DOKTORSKIEJ
|
|
- Adrian Dąbrowski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej KATEDRA AUTOMATYKI I INŻYNIERII BIOMEDYCZNEJ AUTOREFERAT ROZPRAWY DOKTORSKIEJ MATEUSZ KOMORKIEWICZ AKCELERACJA ALGORYTMÓW DETEKCJI, ANALIZY I KLASYFIKACJI OBIEKTÓW NA PODSTAWIE STRUMIENIA WIDEO W UKŁADACH REPROGRAMOWALNYCH Kraków 2014 PROMOTOR: dr hab. inż. Marek Gorgoń, prof. n. AGH
2 1. Wprowadzenie Systemy wizyjne są coraz częściej wykorzystywane jako źródło sprzężenia zwrotnego w automatycznych układach regulacji. Dzieje się tak, ponieważ rejestracja i analiza obrazu pozwala na bezkontaktowe zebranie informacji o stanie obiektu. W wielu przypadkach jest to jedyny sposób na uzyskanie danych potrzebnych do wypracowania sterowania. Jako przykład takiego wykorzystania systemów wizyjnych można wymienić: bezdotykową inspekcję obiektów na taśmie produkcyjnej, sterowanie autonomicznymi pojazdami lub kontrolę nad robotami wykorzystywanymi na sali operacyjnej. W odróżnieniu od standardowych czujników, takich jak np. termopara czy czujnik ciśnienia, gdzie mierzona wartość napięcia w bezpośredni sposób odpowiada rzeczywistej wartości mierzonego parametru, uzyskanie interesującej informacji w systemach wizyjnych wymaga przetworzenia danych wejściowych na zupełnie innym poziomie. Obraz cyfrowy jest przechowywany jako zbiór liczb, które dokładnie i jednoznacznie określają jasność lub kolor pikseli. Taki sposób reprezentacji nie pozwala jednak na automatyczne rozpoznanie tego, co znajduje się na obrazie. Informacja ta jest natomiast konieczna w celu stworzenia zaawansowanych systemów wizyjnych. Procedura umiejscowienia, identyfikacji i analizy obiektów, którą ludzki mózg wykonuje w ułamkach sekundy, w systemach cyfrowych ciągle pozostaje otwartym zagadnieniem badawczym. Co więcej, stosunkowo rzadko może być wykonana w czasie rzeczywistym. W związku z tym detekcja, analiza i klasyfikacja obiektów jest ciągle dynamicznie rozwijającą się dziedziną badań naukowych. Świadczy o tym duża liczba odbywających się co roku konferencji poświęconych tej tematyce. Są to m. in. IEEE Conference on Computer Vision and Pattern Recognition, International Conference on Image Analysis and Recognition, International Conference on Image Processing, Computer Vision and Pattern Recognition i inne. Ważność tematu potwierdzają również wysokie nakłady finansowe na rozwój tych zagadnień oraz liczne projekty badawcze [Bubliński i inni, 2011],[INDECT, 2010]. Wyrazem zainteresowania są również konkursy o zasięgu międzynarodowym, w których różne algorytmy mają za zadanie możliwie najdokładniej wykryć obiekty znajdujące się na obrazie [Everingham i inni, 2012], [Fiscus i inni, 2009]. 2
3 3 Pomimo wielu lat badań, aktualnie dostępne algorytmy nie potrafią poradzić sobie z rozpoznaniem i analizą obiektów w każdych warunkach oświetlenia lub w dowolnych położeniach kamery. Co więcej algorytmy, które charakteryzują się wysoką skutecznością, wymagają wykonania tak dużej ilości obliczeń, że nie ma możliwości ich wykorzystania w systemach czasu rzeczywistego. W przypadku części zastosowań, dozwolone jest czekanie na wynik działania algorytmu (wykonanie operacji off-line). Istnieją jednak takie aplikacje, gdzie cały proces powinien być wykonywany z klatki na klatkę w taki sposób, aby system nie przeoczył ważnych wydarzeń i mógł na nie odpowiednio szybko zareagować [Komorkiewicz, 2013]. Dobrym przykładem jest konieczność natychmiastowego wykrycia wtargnięcia pieszych na jezdnię przy sterowaniu pojazdem autonomicznym. Z drugiej strony, można zaobserwować ciągły rozwój platform sprzętowych, na których mogą być realizowane wyżej wymienione algorytmy [Kryjak i inni, 2011]. Procesory ogólnego przeznaczenia, DSP, układy GPU czy układy reprogramowalne są coraz szybsze i posiadają coraz więcej zasobów. Zauważalna jest tendencja do zwiększania mocy obliczeniowej głównie poprzez zwiększanie liczby elementów, które równolegle wykonują operacje na danych (instrukcje SSE, AVX, potoki renderujące, elementy logiczne). Spośród wymienionych wyżej rozwiązań właśnie układy reprogramowalne, umożliwiają osiągnięcie najwyższego stopnia zrównoleglenia przetwarzania danych. Jednakże ich efektywne wykorzystanie wymaga dogłębnej wiedzy o architekturze platformy, jak również o naturze implementowanego algorytmu. Celowym wydaje się więc prowadzenie badań w kierunku możliwości akceleracji algorytmów detekcji, klasyfikacji i analizy obiektów w układach reprogramowalnych. Z jednej strony polegają one na takich modyfikacjach oryginalnych algorytmów lub tworzeniu nowych, aby była możliwa ich równoległa implementacja w układach FPGA. Z drugiej strony, badane są nowe architektury sprzętowe, które umożliwiają akcelerację już istniejących algorytmów [Wiatr, 2003],[Gorgoń, 2007]. W ramach niniejszej pracy, przedstawiono kilka implementacji wybranych algorytmów detekcji, klasyfikacji i analizy obiektów na obrazie w układach reprogramowalnych. Zaproponowane nowe architektury sprzętowe zostały dokładnie przebadane pod kątem ilości używanych zasobów logicznych oraz maksymalnej częstotliwości pracy. Dokładnie sprawdzono również wpływ zastosowanych rozwiązań oraz wybranych reprezentacji liczbowych na zmianę dokładności implementowanych algorytmów i uzyskane rezultaty. Zaproponowane architektury sprzętowe umożliwiły wykonywanie algorytmów detekcji, analizy i klasyfikacji obiektów na ciągłym strumieniu danych wideo. Dzięki temu, możliwe jest tworzenie zaawansowanych systemów wizyjnych, które są w stanie analizować strumień obrazu w czasie rzeczywistym.
4 1.1. Teza i cel rozprawy Teza i cel rozprawy We wstępie wskazano na problemy związane z dużą liczbą operacji, które muszą być wykonane w celu realizacji algorytmów detekcji, analizy i klasyfikacji obiektów. Wraz ze wzrostem rozdzielczości obrazów jak również liczbą klatek, które muszą być przetwarzane, aby możliwa była ciągła praca na strumieniu wideo, zagadnienie to jeszcze bardziej się komplikuje. Podkreśla się również, konieczność zachowania reżimów czasu rzeczywistego przy realizacji tych algorytmów w wielu systemach wizyjnych oraz fakt, że procesory ogólnego przeznaczenia nie są w stanie zapewnić tego warunku dla części algorytmów. Różnice pomiędzy procesorami ogólnego przeznaczenia, a układami reprogramowalnymi, które umożliwiają dużo większe zrównoleglenie wykonywanych operacji, jak również lepsze dostosowanie architektury do wykonywania konkretnych zadań, prowadzą do sformułowania tezy rozprawy: Sprzętowa akceleracja algorytmów detekcji, analizy i klasyfikacji obiektów na podstawie strumienia wideo, pozwoli na wykonywanie tych zaawansowanych algorytmów w czasie rzeczywistym. W celu udowodnia tezy, w kolejnych rozdziałach przedstawiono szereg implementacji sprzętowych wybranych algorytmów detekcji, analizy i klasyfikacji obiektów. Starano się wybrać algorytmy, które są istotne i często wykorzystywane w praktyce przetwarzania obrazów. Celem pracy było takie ich przyśpieszenie względem istniejących implementacji sprzętowych lub programowych, aby możliwe było przetwarzanie strumienia wideo o jak najwyższej rozdzielczości i liczbie klatek na sekundę. Aby zweryfikować zaprojektowane moduły w rzeczywistych zastosowaniach, zaprezentowane zostały trzy kompletne systemy wizyjne, realizujące funkcje detekcji, analizy i klasyfikacji obieków na podstawie strumienia wideo Zawartość pracy Rozprawa składa się z sześciu rozdziałów oraz jednego dadatku, poświęconych akceleracji algorytmów detekcji, analizy i klasyfikacji obiektów na podstawie strumienia wideo w układach reprogramowalnych. W kolejnych rozdziałach zostały omówione następujące zagadnienia: Rozdział 1. Wstęp: przedstawiono istotę systemów wizyjnych w automatyce. Omówiono problemy związane z wykorzystaniem informacji wizyjnej jak również powody, dla których konieczna jest akceleracja algorytmów detekcji, analizy i klasyfikacji obiektów. W rozdziale tym wskazane zostały różnice pomiędzy układami reprogramowalnymi, a procesorami ogólnego
5 1.2. Zawartość pracy 5 przeznaczenia GPP. Dodatkowo omówiono różne aspekty akceleracji algorytmów. Przedstawiono również problemy związane z przetwarzaniem obrazów w postaci strumienia wideo. Rozdział 2. Akceleracja algorytmu obliczania przepływu optycznego metoda Horna- Schuncka: W rozdziale zaprezentowano sprzętową implementację algorytmu obliczania przepływu optycznego metodą Horna-Schuncka. Zaproponowano w pełni potokową architekturę, która umożliwia osiągnięcie bardzo wysokiej wydajności przetwarzania danych wizyjnych. Przedstawiono również metodologię, która pozwoliła na zmierzenie wpływu przyjętej reprezentacji stałoprzecinkowej zarówno na dokładność obliczanego przepływu optycznego, jak i na jakość detekcji (segmentacji) obiektów ruchomych na obrazie. Ponadto w rozdziale przedstawiono wyniki weryfikacji sprzętowej. Zaprezentowano działający na karcie ewaluacyjnej system, który w czasie rzeczywistym oblicza przepływ optyczny dla strumienia wizyjnego z kamery wysokiej rozdzielczości. Rozdział 3. Akceleracja algorytmów analizy obiektów pierwszego planu: W rozdziale zaprezentowano dwie architektury sprzętowe realizujące jednoprzebiegową analizę obiektów pierwszego planu. Charakteryzują się w pełni potokową pracą i nie wymagają zewnętrznej pamięci RAM do przechowywania danych. Zaprojektowane moduły umożliwiają wyznaczenia takich parametrów jak: określenie liczby segmentów maski binarnej, ich pola powierzchni, liczby pikseli brzegowych oraz położenia i rozmiarów prostokąta ograniczającego, obliczenie deskryptora teksturowego GLCM dla obszarów obrazu, którym odpowiadają kolejne segmenty maski binarnej. Zaprezentowano również wyniki sprzętowej weryfikacji zaprezentowanego modułu indeksacji i obliczania deskryptora GLCM na karcie ewaluacyjnej z układem Virtex 6 firmy Xilinx. Rozdział 4. Metoda zmiany kolejności danych dla szybkiego obliczania histogramów blokowych: W rozdziale zaprezentowano nowatorską metodę zmiany kolejności danych w strumieniu wizyjnym, która umożliwia zaprojektowanie architektur sprzętowych pracujących z bardzo wysoką częstotliwością. Omówiono jak różne konfiguracje latencji sumatorów i pamięci BRAM wpływają na czasy odczytu i przetwarzania danych. Przedstawiono również architekturę sprzętową, która pozwala na wydajną, potokową zmianę kolejności danych. Zaprezentowano przykład zastosowania opisanej metody do rozwiązania problemu obliczania histogramów blokowych dla pola przepływu optycznego. Badania przeprowadzono zarówno dla elementów obliczeniowych działających na zmienno- jak i stałoprzecinkowej reprezentacji danych. Rozdział 5. Akceleracja algorytmu detekcji i klasyfikacji obiektów Histogram of Oriented Gradients (HOG):
6 1.2. Zawartość pracy 6 W rozdziale przedstawiono sprzętową implementację algorytmu Histogram of Oriented Gradients, który jest szczególnie chętnie wykorzystywany w systemach wizyjnych do wykrywania obiektów na obrazach. W pierwszej kolejności omówiono oryginalny algorytm. W dalszej kolejności przebadano, jak modyfikacje różnych aspektów obliczeń wpływają na uzyskane rezultaty. Ponadto sprawdzono, jak implementacja poszczególnych kroków w reprezentacji stałoprzecinkowej wpływa na zmianę wyników detekcji. Zaproponowano kilka różnych architektur sprzętowych, które pozwalają uzyskać zarówno dużą dokładność wykrywania obiektów, jak również wysoką wydajność przetwarzania danych. Zaprezentowano moduł w pełni zgodny z wynikami uzyskiwanymi przez implementację algorytmu HOG w bibliotece OpenCV. Dokonano również jego weryfikacji sprzętowej na karcie ewaluacyjnej ML605 z układem Virtex 6 firmy Xilinx. Rozdział 6. Podsumowanie: W rozdziale zawarto podsumowanie prac opisanych w rozprawie oraz omówiono uzyskane wyniki. Podano wykaz publikacji, które powstały na podstawie przedstawionych badań. Zaprezentowano również kierunki dalszych prac nad akceleracją algorytmów detekcji analizy i klasyfikacji obiektów. Dadatek A: W dodatku przedstawiono inżynierski aspekt niniejszej rozprawy. Zaprezentowano karty ewaluacyjne, które były wykorzystywane do implementacji algorytmów detekcji, analizy i klasyfikacji obiektów. Opisano również implementacje modułów pomocniczych, które umożliwiały komunikację karty z otoczeniem i wydajny dostęp do zewnętrznej pamięci RAM.
7 2. Wybrane wyniki 2.1. Obliczanie przepływu optycznego Czasy obliczania przepływu optycznego dla obrazów o różnych rozdzielczościach w układzie FPGA serii Virtex 7, w zależności od konfiguracji modułów, zostały przedstawione w tabeli 2.1. Ponieważ w architekturze sprzętowej, każda iteracja algorytmu jest realizowana przez osobne, dodatkowe moduły sprzętowe, wykonanie kolejnych iteracji nie wydłuża czasu obliczeń. Wpływa na niego jedynie rozmiar obrazu oraz maksymalna częstotliwość pracy uzyskanej architektury. W tej samej tabeli, przedstawiono również czasy obliczeń dla procesora Core i7 2600K (3,4 GHz) obliczającego przepływ optyczny metodą Horna-Schuncka przy wykorzystaniu funkcji dostępnych w bibliotece OpenCV. Procesor ten ma wsparcie dla instrukcji AVX pozwalającą na przetwarzanie do 8 zmiennych pojedynczej precyzji w tym samym czasie. Jeśli przyjmiemy, że przez przetwarzanie obrazu w czasie rzeczywistym, należy rozumieć zdolność systemu do przetwarzania 60 klatek na sekundę, to czas obliczeń dla pojedynczej Iteracje CPU FPGA Prz. CPU FPGA Prz. CPU FPGA Prz. 1 5,8 1,63 3,6 25,44 7,00 3,6 38,62 9,63 4,0 2 5,56 1,73 3,2 27,61 7,41 3,7 50,23 10,19 4,9 4 9,08 1,76 5,2 37,6 7,56 5,0 72,71 10,40 7,0 8 15,92 1,78 8,9 66,88 7,63 8,8 119,09 10,49 11, ,2 1,64 18,4 133,71 7,03 19,0 214,53 9,67 22, ,79 2,17 26,2 244,37 9,33 26,2 399,97 12,82 31, ,72 2,24 52,1 498,43 9,63 51,8 769,61 13,24 58, ,61 2,40 90,3 953,75 10,29 92,7 1509,44 14,14 106,7 Tabela 2.1: Czas wyznaczania przepływu optycznego w milisekundach dla układu FPGA i procesora CPU w zależności od rozmiaru obrazu i liczby iteracji algorytmu oraz uzyskane przyspieszenie 7
8 2.1. Obliczanie przepływu optycznego 8 klatki obrazu musi być mniejszy niż 16,6 ms. Komputer z procesorem Core i7, z włączonym wsparciem dla instrukcji SIMD potrafi wykonać maksymalnie od 8 do 9 iteracji na obrazie VGA w czasie rzeczywistym. Warto zwrócić uwagę, że w przypadku układu FPGA przetworzenie obrazu HD o rozdzielczości pikesli wymaga jedynie 14,14 ms. Przetworzenie tego samego obrazu na najszybszej z badanych architektur procesorowych (Core i7) wymaga 1509,44 ms. Uzyskane przyspieszenie wynosi w tym przypadku 107. Dzięki tak znacznej akceleracji, system jest w stanie przetwarzać strumień wideo w czasie rzeczywistym. W celu umożliwienia weryfikacji sprzętowej modułów do obliczania przepływu optycznego, zaprojektowano kompletny system wizyjny, który został zrealizowany na karcie ewaluacyjnej. Założono, że powinien on umożliwiać obliczanie przepływu optycznego dla strumienia wizyjnego odbieranego z kamery wysokiej rozdzielczości. Na rysunku 2.1 zostało przedstawione zdjęcie, prezentujące działanie opisywanego systemu. Kamera z wyjściem HDMI jest źródłem obrazu, który jest przetwarzany przez kartę z układem reprogramowalnym ML605 firmy Xilinx [Xilinx, 2012]. Obliczony przepływ jest przekształcany na odpowiednią mapę kolorów i wyświetlany na ekranie monitora. Na rysunku widoczny jest zarys osoby, która obraca podłużnym przedmiotem (tuba plakatowa) dookoła osi przechodzącej przez jego środek. W ten sposób, punkty które leżą na prawo od osi, przesuwają się w przeciwną stronę niż punkty na lewo od osi (np. jedne w górę, drugie w dół), dodatkowo ponieważ jest to ruch obrotowy, punkty leżące dalej od osi obrotu posiadają większą prędkość liniową niż punkty bliżej osi. Obserwując uważnie przedstawiony rysunek, widać, że przepływ został obliczony poprawnie. Jedna część tuby jest zielona, podczas gdy druga jest niebieska, co świadczy o różnych zwrotach wektora prędkości. Dodatkowo można Rysunek 2.1: Działający system vizyjny obliczający przepływ optyczny
9 2.2. Zmiana kolejności danych 9 zauważyć, że punkty leżące bliżej środka obrotu posiadają jaśniejszy kolor, co świadczy o tym, że mają mniejszą prędkość Zmiana kolejności danych Sprzętowa architektura do obliczania histogramów z bloków pola wektorowego przepływu optycznego została zaprezentowana na rysunku 2.2. Maksymalny rozmiar obsługiwanego obrazu został ustalony na pikseli, co pozwala na przetwarzanie obrazu o rozdzielczości Full HD (dodatkowe 8 pikseli w pionie wynika ze stosowania bloków pikseli). W klasycznym przypadku obliczania histogramu (gdy latencja sumatora wynosi 0, a latencja dostępu do pamięci 1) nie jest wykorzystywana jednostka zmiany kolejności danych i wartości wejść są przesyłane bezpośrednio do modułu obliczającego wartość histogramu. Jeśli suma latencji sumatora i dostępu do pamięci przekracza jeden cykl zegara, konieczne jest wykorzystanie jednostki zmieniającej kolejność danych w celu oddzielenia następujących po sobie próbek, które należą do tych samych bloków. Na etapie obliczania histogramu przetestowano wiele konfiguracji. W pierwszej kolejności przebadano zarówno stało-, jak i zmiennoprzecinkowe sumatory. Latencja była zmieniana od 0 do 2 cykli zegara dla sumatorów stałoprzecinkowych. Dla sumatorów zmiennoprzecinkowych przetestowano konfiguracje z latencją 0, 1, 4, 8, 12 cykli zegara. Dodatkowo przebadano 2 konfiguracje sumatorów: jedną opartą na elementach logicznych LUT6, drugą wykorzystującą bloki DSP48, dedykowane do operacji arytmetycznych. Sprawdzono także wiele możliwych konfiguracji pamięci. Latencja była ustawiana na 1, 2 (rejestry typu core lub primitive) lub 3 (pełne rejestry wyjściowe) cykle zegara. Możliwość różnych opcji konfiguracji doprowadziły do stworzenia i przetestowania 58 różnych architektur sprzętowych. Wyniki testowania dla wybranych architektur zostały przedstawione w tabelach 2.2 i 2.3. W każdej z nich zaprezentowano najważniejsze parametry roz- wartość modułu w numer przedziału i adres bloku synchronizacja wideo blok b pierwszy ostatni jednostka zmiany kolejności danych jednostka odczytu + sumator latencja od 0 do 12 przedziały histogramów (pamięć) latencja od 1 do 3 czyszczenie wynik Rysunek 2.2: Sprzętowa architektura do szybkiego obliczania histogramu
10 2.2. Zmiana kolejności danych 10 ważanych architektur. Latencje sumatora i pamięci zostały podane w 2 pierwszych wierszach. W dalszej kolejności podano zużycie zasobów. Poszczególne skróty oznaczają: FF (flip-flops) przerzutniki, LUT 6 (look up table) 6-wejściowe tablice logiczne z jednym wyjściem, SLICE komórki typu slice układu FPGA, BRAM 18 i 36 wewnętrzne pamięci blokowe o rozmiarze 2 kb i 4kB [Xilinx, 2011], DSP48 dedykowane bloki arytmetyczne składające się z sumatora i mnożarki. Podano również maksymalne częstotliwości pracy otrzymanych architektur uzyskane symulacyjnie w programie Xilinx ISE DS po fazie place and route dla układu XC6VLX240T z serii Virtex 6. W drugiej kolumnie każdej z tabel znajduje się konfiguracja z latencją sumatora równą 0 i latencją dostępu do pamięci równą 1. Jest to jedyna konfiguracja, która do poprawnego działania nie wymaga jednostki zmiany kolejności danych (klasyczna konfiguracja modułu obliczania histogramu). Konfiguracja ta jest wykorzystywana jako punkt odniesienia do pomiarów uzyskanego przyspieszenia. Została podana w celu pokazania, w jak znacznym stopniu użycie jednostki zmiany kolejności danych pozwala poprawić maksymalną częstotliwość pracy modułu obliczającego histogramy. W tabeli 2.2 przedstawiono rezultaty testowania architektury do stałoprzecinkowego obliczania histogramu (32 bity). Warto zauważyć, że klasyczna architektura pozwala na osiągnięcie maksymalnej częstotliwości pracy równej 170 MHz. Dzięki zastosowaniu jednostki zmieniającej kolejność danych możliwe jest wykorzystanie elementów przetwarzających o większej latencji. Wydłużenie latencji z 0 do 1 cyklu zegara pozwala zwiększyć maksymalną częstotliwości pracy o około 40% przy tej samej konfiguracji pamięci. Z kolei wykorzystanie pamięci o większej latencji dostępu (dodatkowe buforowanie odczytu) umożliwia zwiększenie częstotliwości od 27% do ponad 68%. Konfiguracja, w której sumator ma latencję równą jednemu cyklowi zegara, a odczyt pamięci wprowadza latencję 3 Latencja pamięci Latencja sumatora FF LUT SLICE BRAM BRAM DSP MAX CLK 170 MHz 236 MHz 216 MHz 329 MHz 276 MHz 396 MHz Przyspieszenie 1 1,4 1,3 1,9 1,6 2,3 Tabela 2.2: Architektury do obliczania histogramów ze stałoprzecinkową reprezentacją danych
11 2.3. Wykrywanie obiektów algorytmem HOG 11 cykle zegara, pozwala na osiągnięcie maksymalnej częstotliwości pracy wynoszącej 396 MHz. W stosunku do klasycznej architektury jest to przyspieszenie o ponad 2,3 raza. W dalszej części eksperymentów, 32-bitowy sumator stałoprzecinkowy został zamieniony na sumator zmiennoprzecinkowy pojedynczej precyzji. Latencja sumatora zmiennoprzecinkowego może wynosić od 0 do 12 cykli zegara. W czasie testów przebadane zostały konfiguracje z latencją 0, 1, 4, 8 i 12 cykli zegara. Okazało się, że najlepsze rezultaty uzyskano dla sumatora pracującego z maksymalną latencją (12 cykli zegara). Jak zostało pokazane w tabeli 2.3, architektura, która nie wykorzystuje jednostki zmiany kolejności danych i posiada łączną latencję równą jednemu cyklowi zegara, może pracować z maksymalną częstotliwością równą 61 MHz. W efekcie dodania jednostki zmieniającej kolejność danych i zwiększenia latencji sumatora do 12 cykli zegara maksymalna częstotliwość pracy wzrasta czterokrotnie do 252 MHz. Skonfigurowanie pamięci do pracy z większą latencją pozwala na dalszą poprawę tego wyniku. Najlepsza z architektur, której łączna latencja wynosi 15 cykli zegara, może pracować z maksymalną częstotliwością równą 383 MHz, co jest ponad 6,3 raza lepszym wynikiem w porównaniu do klasycznej architektury. Latencja pamięci Latencja sumatora FF LUT SLICE BRAM BRAM DSP MAX CLK 61 MHz 252 MHz 65 MHz 369 MHz 71 MHz 383 MHz Przyspieszenie 1 4,1 1,1 6,0 1,2 6,3 Tabela 2.3: Architektury obliczające histogram z precyzją zmiennoprzecinkową 2.3. Wykrywanie obiektów algorytmem HOG W celu porównania wydajności przeprowadzono pomiary czasu obliczania algorytmu HOG na komputerze wyposażonym w procesor Core i (3,4 GHz). Program był skompilowany w 2 wersjach: z wykorzystaniem instrukcji SIMD i bez nich. W tym przypadku były to instrukcje AVX pozwalające na wykonywanie tej samej operacji na 8 wartościach pojedynczej precyzji jednocześnie. Obliczono również, ile czasu potrzeba na ukończenie tej samej operacji
12 2.3. Wykrywanie obiektów algorytmem HOG 12 Implementacja HOG Przyspieszenie CPU bez SIMD 89,21 ms 0,41 CPU z SIMD 36,59 ms 1,0 FPGA ZP 16,03 ms 2,28 FPGA SP v. 0 3,16 ms 11,58 FPGA SP v. 1 2,44 ms 15,00 FPGA SP v. 2 2,37 ms 15,44 Tabela 2.4: Czas przetwarzania klatki o rozmiarze 640x480 pikseli, przy oknie detekcji równym 7x15 bloków. ZP - moduł zmiennoprzecinkowy, SP - moduł stałoprzecinkowy w układzie reprogramowalnym FPGA. Do testów przyjęto rozmiar obrazu pikseli i rozmiar okna klasyfikacji 7 15 bloków. Jeśli przyjmie się, że aby mówić o przetwarzaniu strumienia wizyjnego w czasie rzeczywistym, w ciągu jednej sekundy musi zostać przetworzonych 60 klatek (standardowa wartość w monitorach LCD), to przetworzenie jednej ramki powinno zajmować nie więcej niż 16,7 ms. Żadna z implementacji programowych nie jest w stanie spełnić tego wymagania. Oryginalna implementacja z biblioteki OpenCV wykorzystująca instrukcje SIMD, realizowana na wydajnym procesorze, wymaga ponad 36 ms na przetworzenie pojedynczej klatki obrazu. Wersja bez instrukcji SIMD realizuje tę samą operację w czasie ponad 89 ms. W tabeli 2.4 przedstawiono również przyspieszenie, które uzyskano dzięki implementacji algorytmu HOG na platformie FPGA, w porównaniu do najszybszej wersji realizowanej na procesorze CPU. Można zauważyć, że architektura sprzętowa obliczająca oryginalną wersję algorytmu w wersji zmiennoprzecinkowej uzyskuje ponad dwukrotne przyspieszenie i umożliwia przetwarzanie obrazu w czasie rzeczywistym. Z kolei architektury stałoprzecinkowe pozwalają na uzyskanie maksymalnie ponad piętnastokrotnego przyspieszenia względem algorytmu realizowanego na procesorze CPU. Do weryfikacji sprzętowej wybrano wersję architektury która realizuje najbardziej złożoną wersję algorytmu w zmiennoprzecinkowej reprezentacji danych. Celem opisywanej implementacji było także sprawdzenie, czy układy rekonfigurowalne mają potencjał, aby wykonywać oryginalne wersje algorytmów bez żadnych uproszczeń numerycznych oraz czy mogą konkurować na tym polu z układami CPU i GPU. Zaprezentowany został działający system, który dokonuje klasyfikacji 3 typów obiektów (głowa, człowiek, rower) z oknami detekcji o rozmiarach 32 32, i pikseli. Przetwarza on strumień wideo o rozmiarach pikseli w czasie rzeczywistym (60 klatek na sekundę). Wykonywany jest oryginalny algorytm HOG w wersji z biblioteki OpenCV bez żadnych uproszczeń, które zmniejszałyby jego dokładność. Opisana implementacja została przetestowana z wykorzystaniem karty ewaluacyjnej
13 2.4. Podsumowanie 13 Rysunek 2.3: Działajacy system realizujacy algorytm HOG, przetwarzanie 60 klatek na sekund e o rozdzielczos ci ML605 z układem Virtex 6 VC6VLX240T wyprodukowanej przez firm e Xilinx. Do odbioru strumienia wizyjnego uz yto karty rozszerzen Avnet DVI I/O FMC. Projekt został zweryfikowany przez porównanie wyników implementacji programowej z wynikiem symulacji oraz przez zebranie danych z działajacego systemu (wykorzystano logowanie do pami eci BRAM z przesyłaniem danych do komputera z wykorzystaniem jednostki UART). Wyniki przetwarzania sekwencji wideo z bazy danych [Berclaz i inni, 2011] zostały zaprezentowane na rysunku Podsumowanie Celem badan przedstawionych w niniejszej rozprawie była akceleracja algorytmów detekcji, analizy i klasyfikacji obiektów w układach reprogramowalnych FPGA. Zagadnienie to jest bardzo istotne w przypadku tworzenia zaawansowanych automatycznych systemów wizyjnych, które wymagaja realizacji złoz onych obliczeniowo algorytmów. W pracy zaprezentowano szereg metod i architektur pozwalajacych na wydajna realizacj e tych zadan w czasie rzeczywistym. Uzyskane wyniki w pełni potwierdzaja tez e rozprawy i pokazuja, z e układy FPGA sa dobra platforma do implementacji i akceleracji zaawansowanych algorytmów wizyjnych. Umoz liwiaja one s cisła integracj e sensorów wizyjnych z elementami przetwarzajacymi dane w systemach wbudowanych. Ich zastosowania obejmuja automatyczny monitoring wizyjny, autonomiczne pojazdy, medyczne systemy obrazowania i wiele innych.
14 Bibliografia [Berclaz i inni, 2011] Berclaz, J., Fleuret, F., Turetken, E., i Fua, P. (2011). Multiple object tracking using k-shortest paths optimization. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 33(9): (Cytowane na stronie 13) [Bubliński i inni, 2011] Bubliński, Z., Chmiel, W., Jabłoński, M., Kadłuczka, P., Kryjak, T., Mikrut, Z., Pawlik, P., i Tadeusiewicz, R. (2011). System inteligentnego monitoringu przestrzeni i obiektów szczególnego znaczenia simpoz. W Pomiary Automatyka Robotyka, numer 69. (Cytowane na stronie 2) [Everingham i inni, 2012] Everingham, M., Van Gool, L., Williams, C. K. I., Winn, J., i Zisserman, A. (2012). The PASCAL Visual Object Classes Challenge 2012 (VOC2012) Results. (Cytowane na stronie 2) [Fiscus i inni, 2009] Fiscus, J., Garofolo, J., Rose, T., i Michel, M. (2009). Avss multiple camera person tracking challenge evaluation overview. W Advanced Video and Signal Based Surveillance, AVSS 09. Sixth IEEE International Conference on, strony (Cytowane na stronie 2) [Gorgoń, 2007] Gorgoń, M. (2007). Architektury rekonfigurowalne do przetwarzania i analizy obrazu oraz dekodowania cyfrowego sygnału wideo. AGH Uczelniane Wydawnictwa Naukowo-Dydaktyczne, Kraków. (Cytowane na stronie 3) [INDECT, 2010] INDECT (Październik 2010). Indect description of system architecture 2.2. The INDECT Consortium. (Cytowane na stronie 2) [Komorkiewicz, 2013] Komorkiewicz, M. (2013). Real-time detection of movement in prohibited direction for video surveillance system. Image Processing and Communications, 17(4): (Cytowane na stronie 3) [Kryjak i inni, 2011] Kryjak, T., Komorkiewicz, M., i Gorgon, M. (2011). Real-time moving object detection for video surveillance system in fpga. W Design and Architectures for Signal and Image Processing (DASIP), 2011 Conference on, strony 1 8. (Cytowane na stronie 3) 14
15 BIBLIOGRAFIA 15 [Wiatr, 2003] Wiatr, K. (2003). Akceleracja obliczeń w systemach wizyjnych. Wydawnictwa Naukowo-Techniczne, Warszawa. (Cytowane na stronie 3) [Xilinx, 2011] Xilinx (2011). Virtex-6 FPGA Memory Resources, User Guide, UG363 v1.6. Xilinx, San Jose CA. (Cytowane na stronie 10) [Xilinx, 2012] Xilinx (2012). UG534 ML605 Hardware User Guide v1.8. Xilinx, San Jose CA. (Cytowane na stronie 8)
Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall
Grzegorz Sułkowski, Maciej Twardy, Kazimierz Wiatr Wykorzystanie układów FPGA w implementacji systemów bezpieczeństwa sieciowego typu Firewall Plan prezentacji 1. Architektura Firewall a załoŝenia 2. Punktu
Autoreferat Rozprawy Doktorskiej
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Autoreferat Rozprawy Doktorskiej Krzysztof Kogut Real-time control
PORTFOLIO: Demonstratory algorytmów monitoringu wizyjnego oraz wideodetektora w zasobach rekonfigurowalnych i heterogenicznych
PORTFOLIO: Demonstratory algorytmów monitoringu wizyjnego oraz wideodetektora w zasobach rekonfigurowalnych i heterogenicznych Autorzy: Marek Gorgoń, Tomasz Kryjak, Mateusz Komorkiewicz, Mateusz Zuń Wprowadzenie.
CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu
CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki
Projektowanie systemów za pomocą języków wysokiego poziomu ESL
Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie Wydział IET Katedra Elektroniki Projektowanie systemów za pomocą języków wysokiego poziomu ESL Ćwiczenie 2 Implementacja funkcji Hash z użyciem
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych
Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych autor: Robert Drab opiekun naukowy: dr inż. Paweł Rotter 1. Wstęp Zagadnienie generowania trójwymiarowego
Uwaga! Upadek! Opis zadania konkursowego
Uwaga! Upadek! Opis zadania konkursowego Zadanie Opracowanie algorytmu automatycznie rozpoznającego upadek osoby na nagraniu wideo i wdrożenie stworzonego rozwiązania jako usługi na superkomputerowej platformie
Architektura komputerów
Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna
PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK
1 PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK POLITECHNIKA CZĘSTOCHOWSKA 2 Trendy rozwoju współczesnych procesorów Budowa procesora CPU na przykładzie Intel Kaby Lake
Samochodowy system detekcji i rozpoznawania znaków drogowych. Sensory w budowie maszyn i pojazdów Maciej Śmigielski
Samochodowy system detekcji i rozpoznawania znaków drogowych Sensory w budowie maszyn i pojazdów Maciej Śmigielski Rozpoznawanie obrazów Rozpoznawaniem obrazów możemy nazwać proces przetwarzania i analizowania
Metody optymalizacji soft-procesorów NIOS
POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Warszawa, 27.01.2011
Adam Korzeniewski - p. 732 dr inż. Grzegorz Szwoch - p. 732 dr inż.
Adam Korzeniewski - adamkorz@sound.eti.pg.gda.pl, p. 732 dr inż. Grzegorz Szwoch - greg@sound.eti.pg.gda.pl, p. 732 dr inż. Piotr Odya - piotrod@sound.eti.pg.gda.pl, p. 730 Plan przedmiotu ZPS Cele nauczania
Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i
VI Seminarium PLOUG Warszawa Styczeñ 2003 Strojenie systemu Linux pod k¹tem serwera bazy danych Oracle 9i Marcin Przepiórowski Strojenie systemu Linux pod kątem serwera bazy danych Oracle 9i 7 1. Wstęp
Wykorzystanie architektury Intel MIC w obliczeniach typu stencil
Wykorzystanie architektury Intel MIC w obliczeniach typu stencil Kamil Halbiniak Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok IV Instytut Informatyki Teoretycznej i Stosowanej
RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,
RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem
i3: internet - infrastruktury - innowacje
i3: internet - infrastruktury - innowacje Wykorzystanie procesorów graficznych do akceleracji obliczeń w modelu geofizycznym EULAG Roman Wyrzykowski Krzysztof Rojek Łukasz Szustak [roman, krojek, lszustak]@icis.pcz.pl
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Budowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1
i sieci komputerowe Szymon Wilk Superkomputery 1 1. Superkomputery to komputery o bardzo dużej mocy obliczeniowej. Przeznaczone są do symulacji zjawisk fizycznych prowadzonych głównie w instytucjach badawczych:
Opis przedmiotu zamówienia
Opis przedmiotu zamówienia Stanowiska do badań algorytmów sterowania interfejsów energoelektronicznych zasobników energii bazujących na układach programowalnych FPGA. Stanowiska laboratoryjne mają służyć
Realizacja w układzie FPGA algorytmu pomiaru prędko kompensowanym enkoderze inkrementalnym
Realizacja w układzie FPGA algorytmu pomiaru prędko dkości, bazującego na kompensowanym enkoderze inkrementalnym realizowany w ramach projektu badawczego rozwojowego Metody inteligentnego przetwarzania
Komputer IBM PC niezależnie od modelu składa się z: Jednostki centralnej czyli właściwego komputera Monitora Klawiatury
1976 r. Apple PC Personal Computer 1981 r. pierwszy IBM PC Komputer jest wart tyle, ile wart jest człowiek, który go wykorzystuje... Hardware sprzęt Software oprogramowanie Komputer IBM PC niezależnie
Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,
Przetwarzanie równoległe PROJEKT OMP i CUDA Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego przy użyciu komputera równoległego z procesorem wielordzeniowym z pamięcią
Research & Development Ultrasonic Technology / Fingerprint recognition
Research & Development Ultrasonic Technology / Fingerprint recognition DATA SHEETS & OPKO http://www.optel.pl email: optel@optel.pl Przedsiębiorstwo Badawczo-Produkcyjne OPTEL Spółka z o.o. ul. Otwarta
IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7
Łukasz Deńca V rok Koło Techniki Cyfrowej dr inż. Wojciech Mysiński opiekun naukowy IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE
Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości
Politechnika Lubelska Wydział Elektrotechniki i Informatyki PRACA DYPLOMOWA MAGISTERSKA Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Marcin Narel Promotor: dr inż. Eligiusz
Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.
Programowanie Układów Logicznych kod kursu: ETD6203 Szczegóły realizacji projektu indywidualnego W1 24.02.2016 dr inż. Daniel Kopiec Projekt indywidualny TERMIN 1: Zajęcia wstępne, wprowadzenie TERMIN
i ruchów użytkownika komputera za i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Promotor: dr Adrian Horzyk
System śledzenia oczu, twarzy i ruchów użytkownika komputera za pośrednictwem kamery internetowej i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Mirosław ł Słysz Promotor:
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny
Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych
Mechatronika i inteligentne systemy produkcyjne Modelowanie systemów mechatronicznych Platformy przetwarzania danych 1 Sterowanie procesem oparte na jego modelu u 1 (t) System rzeczywisty x(t) y(t) Tworzenie
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane
Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2012/2013
PROGRAMOWALNE STEROWNIKI LOGICZNE
PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu
Organizacja typowego mikroprocesora
Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają
Architektura potokowa RISC
Architektura potokowa RISC Podział zadania na odrębne części i niezależny sprzęt szeregowe Brak nawrotów" podczas pracy potokowe Przetwarzanie szeregowe i potokowe Podział instrukcji na fazy wykonania
Kurs Zaawansowany S7. Spis treści. Dzień 1
Spis treści Dzień 1 I Konfiguracja sprzętowa i parametryzacja stacji SIMATIC S7 (wersja 1211) I-3 Dlaczego powinna zostać stworzona konfiguracja sprzętowa? I-4 Zadanie Konfiguracja sprzętowa I-5 Konfiguracja
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Opis stanowiska laboratoryjnego do projektowania i weryfikacji algorytmów sterujących autonomicznych pojazdów
Kompresja sekwencji obrazów - algorytm MPEG-2
Kompresja sekwencji obrazów - algorytm MPEG- Moving Pictures Experts Group (MPEG) - 988 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie et TélégraphieT
Architektura mikroprocesorów TEO 2009/2010
Architektura mikroprocesorów TEO 2009/2010 Plan wykładów Wykład 1: - Wstęp. Klasyfikacje mikroprocesorów Wykład 2: - Mikrokontrolery 8-bit: AVR, PIC Wykład 3: - Mikrokontrolery 8-bit: 8051, ST7 Wykład
Problemy optymalizacji układów napędowych w automatyce i robotyce
Akademia Górniczo-Hutnicza im. Stanisława Staszica Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Katedra Automatyki Autoreferat rozprawy doktorskiej Problemy optymalizacji układów napędowych
Automatyka i Robotyka II stopień ogólno akademicki
Załącznik nr 7 do Zarządzenia Rektora nr 10/12 z dnia 21 lutego 2012r. KARTA MODUŁU / KARTA PRZEDMIOTU Kod modułu Nazwa modułu Nazwa modułu w języku angielskim Obowiązuje od roku akademickiego 2013/2014
Arkadiusz Łapiński ETI V gr.9.4. Sieć neuronowa w inteligentnym pojeździe, Tribolite
Arkadiusz Łapiński ETI V gr.9.4 Sieć neuronowa w inteligentnym pojeździe, Tribolite 1 Cel: Określenie czy określony obszar jest drogą (betonową) czy nie. Główne cechy: wykorzystuje kamerę (przechwytującą
Wykład 6. Mikrokontrolery z rdzeniem ARM
Wykład 6 Mikrokontrolery z rdzeniem ARM Plan wykładu Cortex-A9 c.d. Mikrokontrolery firmy ST Mikrokontrolery firmy NXP Mikrokontrolery firmy AnalogDevices Mikrokontrolery firmy Freescale Mikrokontrolery
Politechnika Gdańska. Gdańsk, 2016
Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Katedra Systemów Geoinformatycznych Aplikacje Systemów Wbudowanych Programowalne Sterowniki Logiczne (PLC) Krzysztof Bikonis Gdańsk,
WPROWADZENIE Mikrosterownik mikrokontrolery
WPROWADZENIE Mikrosterownik (cyfrowy) jest to moduł elektroniczny zawierający wszystkie środki niezbędne do realizacji wymaganych procedur sterowania przy pomocy metod komputerowych. Platformy budowy mikrosterowników:
Przykładowe pytania DSP 1
Przykładowe pytania SP Przykładowe pytania Systemy liczbowe. Przedstawić liczby; -, - w kodzie binarnym i hexadecymalnym uzupełnionym do dwóch (liczba 6 bitowa).. odać dwie liczby binarne w kodzie U +..
1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro
1. Cel ćwiczenia Celem ćwiczenia jest zaprojektowanie sterowania układem pozycjonowania z wykorzystaniem sterownika VersaMax Micro oraz silnika krokowego. Do algorytmu pozycjonowania wykorzystać licznik
Sterowniki Programowalne (SP)
Sterowniki Programowalne (SP) Wybrane aspekty procesu tworzenia oprogramowania dla sterownika PLC Podstawy języka funkcjonalnych schematów blokowych (FBD) Politechnika Gdańska Wydział Elektrotechniki i
INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227
INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne 2 Algorytmy Nazwa algorytm wywodzi się od nazwiska perskiego matematyka Muhamed ibn
Sprawdzian test egzaminacyjny 2 GRUPA I
... nazwisko i imię ucznia Sprawdzian test egzaminacyjny 2 GRUPA I 1. Na rys. 1 procesor oznaczony jest numerem A. 2 B. 3 C. 5 D. 8 2. Na rys. 1 karta rozszerzeń oznaczona jest numerem A. 1 B. 4 C. 6 D.
Mechatronika i inteligentne systemy produkcyjne. Aktory
Mechatronika i inteligentne systemy produkcyjne Aktory 1 Definicja aktora Aktor (ang. actuator) -elektronicznie sterowany człon wykonawczy. Aktor jest łącznikiem między urządzeniem przetwarzającym informację
Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC
Architektura Systemów Komputerowych Rozwój architektury komputerów klasy PC 1 1978: Intel 8086 29tys. tranzystorów, 16-bitowy, współpracował z koprocesorem 8087, posiadał 16-bitową szynę danych (lub ośmiobitową
Akademia Górniczo - Hutnicza im. Stanisława Staszica w Krakowie. Projekt. z przedmiotu Analiza i Przetwarzanie Obrazów
30 czerwca 2015 Akademia Górniczo - Hutnicza im. Stanisława Staszica w Krakowie Projekt z przedmiotu Analiza i Przetwarzanie Obrazów Wykrywanie tablic rejestracyjnych Jagieła Michał IS (GKiPO) Michał Jagieła
PRACA DYPLOMOWA STUDIA PIERWSZEGO STOPNIA. Łukasz Kutyła Numer albumu: 5199
PRACA DYPLOMOWA STUDIA PIERWSZEGO STOPNIA Łukasz Kutyła Numer albumu: 5199 Temat pracy: Metody kompresji obrazu implementowane we współczesnych systemach telewizji cyfrowej opartej o protokół IP Cel i
Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................
PL B1. Sposób i układ pomiaru całkowitego współczynnika odkształcenia THD sygnałów elektrycznych w systemach zasilających
RZECZPOSPOLITA POLSKA (12) OPIS PATENTOWY (19) PL (11) 210969 (13) B1 (21) Numer zgłoszenia: 383047 (51) Int.Cl. G01R 23/16 (2006.01) G01R 23/20 (2006.01) Urząd Patentowy Rzeczypospolitej Polskiej (22)
Wykład 2. Mikrokontrolery z rdzeniami ARM
Źródło problemu 2 Wstęp Architektura ARM (Advanced RISC Machine, pierwotnie Acorn RISC Machine) jest 32-bitową architekturą (modelem programowym) procesorów typu RISC. Różne wersje procesorów ARM są szeroko
Sprawdzian test egzaminacyjny GRUPA I
... nazwisko i imię ucznia Sprawdzian test egzaminacyjny GRUPA I 1. Na rys. 1 procesor oznaczony jest numerem A. 2 B. 3 C. 5 D. 8 2. Na rys. 1 karta rozszerzeń oznaczona jest numerem A. 1 B. 4 C. 6 D.
Oprogramowanie. DMS Lite. Podstawowa instrukcja obsługi
Oprogramowanie DMS Lite Podstawowa instrukcja obsługi 1 Spis treści 1. Informacje wstępne 3 2. Wymagania sprzętowe/systemowe 4 3. Instalacja 5 4. Uruchomienie 6 5. Podstawowa konfiguracja 7 6. Wyświetlanie
Podsystem graficzny. W skład podsystemu graficznego wchodzą: karta graficzna monitor
Plan wykładu 1. Pojęcie podsystemu graficznego i karty graficznej 2. Typy kart graficznych 3. Budowa karty graficznej: procesor graficzny (GPU), pamięć podręczna RAM, konwerter cyfrowo-analogowy (DAC),
Wykrywanie twarzy na zdjęciach przy pomocy kaskad
Wykrywanie twarzy na zdjęciach przy pomocy kaskad Analiza i przetwarzanie obrazów Sebastian Lipnicki Informatyka Stosowana,WFIIS Spis treści 1. Wstęp... 3 2. Struktura i funkcjonalnośd... 4 3. Wyniki...
Programowanie Układów Logicznych kod kursu: ETD6203 W dr inż. Daniel Kopiec. Pamięć w układach programowalnych
Programowanie Układów Logicznych kod kursu: ETD623 Pamięć w układach programowalnych W6 6.4.26 dr inż. Daniel Kopiec Plan wykładu Pamięć w układach programowalnych Zasada działania, podział pamięci Miara
Laboratorium Komputerowe Systemy Pomiarowe
Jarosław Gliwiński, Łukasz Rogacz Laboratorium Komputerowe Systemy Pomiarowe ćw. Programowanie wielofunkcyjnej karty pomiarowej w VEE Data wykonania: 15.05.08 Data oddania: 29.05.08 Celem ćwiczenia była
Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer
Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący
OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA
OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA 1. Dostawa 100 szt. komputerów stacjonarnych do pracy biurowej 1. Wydajność obliczeniowa Komputer uzyskujący w teście SYSMark 2012 Rating min. 95 pkt. Wykonawca załączy
CYFROWY ANALIZATOR SIECI PRZEMYSŁOWYCH JAKO NARZĘDZIE DO DIAGNOSTYKI MAGISTRALI CAN
Szybkobieżne Pojazdy Gąsienicowe (17) nr 1, 2003 Sławomir WINIARCZYK Emil MICHTA CYFROWY ANALIZATOR SIECI PRZEMYSŁOWYCH JAKO NARZĘDZIE DO DIAGNOSTYKI MAGISTRALI CAN Streszczenie: Kompleksowa diagnostyka
Autoreferat Rozprawy Doktorskiej
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Autoreferat Rozprawy Doktorskiej Tomasz Dziwiński Wybrane metody
Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego
Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.
Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe
Przetworniki cyfrowo analogowe oraz analogowo - cyfrowe Przetworniki cyfrowo / analogowe W cyfrowych systemach pomiarowych często zachodzi konieczność zmiany sygnału cyfrowego na analogowy, np. w celu
Numeryczna algebra liniowa
Numeryczna algebra liniowa Numeryczna algebra liniowa obejmuje szereg algorytmów dotyczących wektorów i macierzy, takich jak podstawowe operacje na wektorach i macierzach, a także rozwiązywanie układów
PROCESOR Z ODBLOKOWANYM MNOŻNIKIEM!!! PROCESOR INTEL CORE I7 4790K LGA1150 BOX
amigopc.pl 883-364-274 SKLEP@AMIGOPC.PL PROCESOR INTEL CORE I7-4790K QUAD CORE, 4.00GHZ, 8MB, LGA1150, 22NM, 84W, VGA, BOX CENA: 1 473,00 PLN CZAS WYSYŁKI: 24H PRODUCENT: INTEL NUMER KATALOGOWY: BX80646I74790K
Sterowanie układem zawieszenia magnetycznego
Politechnika Śląska w Gliwicach Wydział: Automatyki, Elektroniki i Informatyki Kierunek: Automatyka i Robotyka Specjalność: Komputerowe systemy sterowania Sterowanie układem zawieszenia magnetycznego Maciej
Zarządzanie pamięcią w systemie operacyjnym
Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej
Raport Hurtownie Danych
Raport Hurtownie Danych Algorytm Apriori na indeksie bitmapowym oraz OpenCL Mikołaj Dobski, Mateusz Jarus, Piotr Jessa, Jarosław Szymczak Cel projektu: Implementacja algorytmu Apriori oraz jego optymalizacja.
KATEDRA MECHANIKI I PODSTAW KONSTRUKCJI MASZYN. Instrukcja do ćwiczeń laboratoryjnych z elementów analizy obrazów
POLITECHNIKA OPOLSKA KATEDRA MECHANIKI I PODSTAW KONSTRUKCJI MASZYN Instrukcja do ćwiczeń laboratoryjnych z elementów analizy obrazów Przetwarzanie obrazu: skalowanie miary i korekcja perspektywy. Opracował:
Dydaktyczno-badawczy Poligon ITS Akademii Techniczno-Humanistycznej w Bielsku-Białej WSPÓLNA REALIZACJA
Dydaktyczno-badawczy Poligon ITS Akademii Techniczno-Humanistycznej w Bielsku-Białej WSPÓLNA REALIZACJA 1. Konstrukcja wsporcza ze znakiem VMS, skanerem 3D, stacją pogodową, kamera ANPR, kamera poglądowa,
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: ANALIZA I PRZETWARZANIE OBRAZÓW CYFROWYCH Kierunek: Informatyka Rodzaj przedmiotu: moduł specjalności obowiązkowy: Programowanie aplikacji internetowych Rodzaj zajęć: wykład, laboratorium
LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q
LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone
Analiza ilościowa w przetwarzaniu równoległym
Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Analiza ilościowa w przetwarzaniu równoległym 10. Analiza ilościowa w przetwarzaniu równoległym...2 10.1 Kryteria efektywności przetwarzania równoległego...2
PL B BUP 14/16
RZECZPOSPOLITA POLSKA (12) OPIS PATENTOWY (19) PL (11) 229798 (13) B1 (21) Numer zgłoszenia: 410735 (51) Int.Cl. G01R 19/00 (2006.01) Urząd Patentowy Rzeczypospolitej Polskiej (22) Data zgłoszenia: 22.12.2014
PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk PROLOG www.agh.edu.pl Pewnego dnia przyszedł na świat komputer Komputery
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie. dr inż. Adam Piórkowski. Jakub Osiadacz Marcin Wróbel
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Problem magazynowania i przetwarzania wielkoformatowych map i planów geologicznych. Promotor: dr inż. Adam Piórkowski Autorzy: Jakub Osiadacz
Sieciowe Sterowanie Robotem Przemysłowym KUKA KR3 Sprzężonego z Systemem Wizyjnym oraz Systemem Rozpoznawania Mowy
Sieciowe Sterowanie Robotem Przemysłowym KUKA KR3 Sprzężonego z Systemem Wizyjnym oraz Systemem Rozpoznawania Mowy Jakub Machnik, Michał Grycman, Mateusz Konieczny Politechnika Śląska, Gliwice, Polska
Urządzenia zewnętrzne
Urządzenia zewnętrzne SZYNA ADRESOWA SZYNA DANYCH SZYNA STEROWANIA ZEGAR PROCESOR PAMIĘC UKŁADY WE/WY Centralna jednostka przetw arzająca (CPU) DANE PROGRAMY WYNIKI... URZ. ZEWN. MO NITORY, DRUKARKI, CZYTNIKI,...
Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011
Układy arytmetyczne Joanna Ledzińska III rok EiT AGH 2011 Plan prezentacji Metody zapisu liczb ze znakiem Układy arytmetyczne: Układy dodające Półsumator Pełny sumator Półsubtraktor Pełny subtraktor Układy
Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego
Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego Dziś bardziej niż kiedykolwiek narzędzia używane przez
System wizyjny OMRON Xpectia FZx
Ogólna charakterystyka systemu w wersji FZ3 w zależności od modelu można dołączyć od 1 do 4 kamer z interfejsem CameraLink kamery o rozdzielczościach od 300k do 5M pikseli możliwość integracji oświetlacza
Teoria przetwarzania A/C i C/A.
Teoria przetwarzania A/C i C/A. Autor: Bartłomiej Gorczyński Cyfrowe metody przetwarzania sygnałów polegają na przetworzeniu badanego sygnału analogowego w sygnał cyfrowy reprezentowany ciągiem słów binarnych
Architektura komputerów
Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)
ELEMENTY AUTOMATYKI PRACA W PROGRAMIE SIMULINK 2013
SIMULINK część pakietu numerycznego MATLAB (firmy MathWorks) służąca do przeprowadzania symulacji komputerowych. Atutem programu jest interfejs graficzny (budowanie układów na bazie logicznie połączonych
Programowalne Układy Logiczne Konfiguracja/Rekonfiguracja
Programowalne Układy Logiczne Konfiguracja/Rekonfiguracja dr inż. Paweł Russek Program wykładu Metody konfigurowania PLD Zaawansowane metody konfigurowania FPGA Rekonfigurowalne systemy obliczeniowe Pamięć
Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy
Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy Wykorzystane materiały: Zadanie W dalszej części prezentacji będzie omawiane zagadnienie rozpoznawania twarzy Problem ten można jednak uogólnić
Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych
Systemy wbudowane Wykład 11: Metody kosyntezy systemów wbudowanych Uproszczone metody kosyntezy Założenia: Jeden procesor o znanych parametrach Znane parametry akceleratora sprzętowego Vulcan Początkowo
Zastosowanie stereowizji do śledzenia trajektorii obiektów w przestrzeni 3D
Zastosowanie stereowizji do śledzenia trajektorii obiektów w przestrzeni 3D autorzy: Michał Dajda, Łojek Grzegorz opiekun naukowy: dr inż. Paweł Rotter I. O projekcie. 1. Celem projektu było stworzenie
ARCHITEKTURA PROCESORA,
ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy
Julia 4D - raytracing
i przykładowa implementacja w asemblerze Politechnika Śląska Instytut Informatyki 27 sierpnia 2009 A teraz... 1 Fraktale Julia Przykłady Wstęp teoretyczny Rendering za pomocą śledzenia promieni 2 Implementacja
RZECZPOSPOLITA (12) OPIS PATENTOWY (19) PL (11)
RZECZPOSPOLITA (12) OPIS PATENTOWY (19) PL (11) 161259 (13) B1 (21) Numer zgłoszenia: 282353 (51) IntCl5: G01R 13/00 Urząd Patentowy (22) Data zgłoszenia: 16.11.1989 Rzeczypospolitej Polskiej (54)Charakterograf
Szybkie prototypowanie w projektowaniu mechatronicznym
Szybkie prototypowanie w projektowaniu mechatronicznym Systemy wbudowane (Embedded Systems) Systemy wbudowane (ang. Embedded Systems) są to dedykowane architektury komputerowe, które są integralną częścią