1. Wprowadzenie Wykrywanie obiektów na obrazach Mariusz Borawski Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Wykrywanie obiektów jest jednym z ważniejszych zadań realizowanych w ramach zaawansowanego przetwarzania i rozpoznawania obrazów. Stwierdzenie co znajduje się na zdjęciu wymaga najpierw określenia jakie obiekty i w których miejscach się na nim znajdują. Przykładowo, jeżeli konieczne jest zidentyfikowanie osoby na zdjęciu, pierwszym etapem jest zawsze określenie jej dokładnego położenia. Wykrywanie obiektów wiąże się zwykle z ich wstępnym rozpoznaniem. Przy czym w przypadku obiektów bardzo prostych dalszy proces obróbki danych nie zawsze jest już konieczny. Taka sytuacja ma miejsce w przypadku obiektów bardzo licznych o niewielkich rozmiarach. Przykładem mogą być krople wody. Wykrywanie obiektów może służyć nie tylko do określenia co się znajduje na zdjęciu, ale i do określenia liczebności obiektów. Przykładowo dysponując zdjęciem powierzchni szyby pokrytej kroplami wody można określić ich liczebność oraz rozmiary, a to jest już podstawą do przeprowadzenia procesu decyzyjnego, który może na przykład prowadzić do uruchomienia wycieraczki samochodowej. Takie analizy liczebności i rozmiaru kropel przeprowadza się również w przypadku kalibracji spryskiwaczy. W rolnictwie spryskiwacze wykorzystuje się między innymi do zwalczania szkodników i chorób roślin. Krople wytwarzane przez spryskiwacz muszą charakteryzować się odpowiednią wielkością i rozmiarami. Zapewnia to z jednej strony odpowiednią skuteczność, gdyż zbyt duże krople będą odbijały się od roślin i szkodników zamiast do nich przylegać. Z drugiej strony zaś daje określone oszczędności dzięki zapewnieniu określonej nie za dużej ilości preparatu na jednostkę powierzchni. Analiza zdjęcia jednolitej powierzchni pokrytej kropami ze spryskiwacza zapewnia szybką i wiarygodną informację dotyczącą prawidłowego ustawienia parametrów jego pracy. Rys. 1. Bezprzewodowa minikamera CMOS z mikrofonem i wyjściem telewizyjnym [6] Wykrywanie obiektów pozwala na automatyczne wykrywanie wszelkiego rodzaju intruzów. Zwykle opiera się to na detekcji ruchu. Dzięki niskim cenom miniaturowych kamer rozwiązania takie są coraz bardziej popularne gdyż zapewniają oprócz samej detekcji możliwość podejrzenia na monitorze jaki obiekt znalazł się w obszarze monitorowanym. Rysunek 1 przedstawia przykładową tego typu minikamerę CMOS wyposażoną dodatkowo w mikrofon i akumulator. Obraz jest przesyłany bezprzewodowo do odbiornika, który można
podłączyć do telewizora lub komputera z kartą telewizyjną. Cena takiego zestawu wynosi poniżej 100 euro. Przy czym główny koszt stanowi tutaj moduł odbiornika-nadajnika. Cena najtańszych modułów minikamer, które można podłączyć bezpośrednio do telewizora wynosi około 20 euro [5]. Produkowane są minikamery z układami przetwarzającymi obraz potrafiącymi wykryć ruch, co pozwala na podłączenie do takiej minikamery na przykład układu załączającego oświetlenie. Niewielkie rozmiary i niskie ceny minikamer sprawiają, że znajdują one coraz szersze zastosowanie. Przykładem może być zdalny odczyt wskazań przyrządów, z których obraz poprzez minikamerę może zostać przesłany w dowolne inne miejsce. Minikamery pozwalają obserwować matkom dzieci śpiące w łóżeczkach, czy też bawiące się na podwórku. Dziecko w tym przypadku może być śledzone przez oprogramowanie wykrywające obiekty. Wyjście poza dozwolony obszar może spowodować włączenie się alarmu, który ostrzeże matkę przed niebezpieczeństwem. Zwalnia to matkę z konieczności ciągłego obserwowania dziecka. Można się spodziewać, że w najbliższych latach, dzięki zwiększaniu mocy obliczeniowej tanich mikrokomputerów jednoukładowych, pojawiać się będzie coraz więcej mikrosystemów zaopatrzonych w minikamery. Te mikrosystemy wyposażone w algorytmy wykrywania obiektów będą realizować różnorodne użyteczne funkcji od prostych informacyjnych po bardziej skomplikowane związane z podejmowaniem decyzji i wykonywaniem określonych czynności. 2. Wykrywanie fragmentów obiektów Wykrywanie skomplikowanych obiektów jest procesem złożonym, a przez to wymagającym złożonych algorytmów. W celu ułatwienia tworzenia tego typu algorytmów wykrywanie złożonych obiektów wykonuje się w kilku etapach. W pierwszym etapie wykrywane są mniejsze fragmenty obiektu, których rodzaj i wzajemne ułożenie pozwala na zidentyfikowanie obiektu. Bardzo często w tym celu wykorzystuje się algorytmy wykrywania linii. Przykłady takich algorytmów można znaleźć w pracach [2,8]. Wspomagane są one poprzez algorytmy wykrywania okręgów [7,9]. Algorytmy wykrywania linii często są realizowane poprzez wykrywanie, krótkich odcinków linii, które później są łączone w dłuższe fragmenty. Przykład działania takiego algorytmu przedstawiono na rysunku 2. Na lewym rysunku znajduje się budynek, dla którego wyodrębniono krótkie odcinki linii przedstawione na prawym rysunku. Efekt działania algorytmów wykrywania linii przypomina wynik działania algorytmów wykrywania krawędzi. Zasadnicza różnica polega na wykrywaniu, przez algorytmy wykrywania linii, krótkich, prostoliniowych odcinków krawędzi. Rys. 2. Zdjęcie budynku, oraz wykryte odcinki linii W przypadku pewnych rodzajów obiektów ich wykrywanie polega na wykryciu tylko i wyłącznie odcinków linii. Przykładem takiego obiektu może być droga, czy też rzeka na
zdjęciach lotniczych i satelitarnych. Zarówno drogę, jak i rzekę można traktować jako obiekty składające się z krótkich odcinków linii. Dzięki temu upraszcza to proces ich wykrywania. Wykrywanie ich polega na znalezieniu powiązanych ze sobą odcinków prostej o określonym kolorze. Podobne podejście stosować można do wykrywania pasa określającego środek jezdni. Stanowi on linię ciągłą lub przerywaną. Może ona przechodzić w łuk na zakrętach, ale analizując ją na zdjęciach zrobionych z bardzo bliska można taktować łuk, jako krótkie odcinki prostych połączone ze sobą końcami. Takie podejście może być stosowane do określenia położenia pojazdu względem środka jezdni. Do obiektów, które można traktować jako składające się z krótkich odcinków prostych można traktować podmorskie kable, czy też rurociągi. Dla statku, który kontroluje ich stan ważne jest aby przemieszczał się w ich pobliżu. Do kontroli położenia statku względem podmorskiego rurociągu lub kabla wykorzystuje się sonar. Sonar jest urządzeniem, które rejestruje obraz dna morskiego wysyłając w jego kierunku wiązkę dźwiękową, a następnie odczytuje siłę powracającego echa w kolejnych chwilach czasu. Dzięki temu uzyskuje się jedną linię obrazu. Wysyłając w kierunku dna wiązkę dźwiękową wielokrotnie podczas ruchu sonaru uzyskuje się obraz dna morskiego. Obraz taki można uzyskać nawet przy bardzo dużych głębokościach akwenu. Ze względu na niewielką przenikalność światła w wodzie wykorzystanie sonaru jest bardzo skuteczną i relatywnie tanią metodą zdobycia informacji o obiektach znajdujących się na dnie. Rysunek 3 po lewej stronie przedstawia obraz sonarowy podmorskiego rurociągu. W przypadku awarii rurociągu wysyłany jest statek, który płynie w pobliżu rurociągu poszukując miejsca jego przerwania. Do utrzymania statku w pobliżu rurociągu wykorzystywany jest sonar. Obraz z sonaru pozwala nawigatorowi określić położenie statku względem rurociągu. Proces utrzymania odpowiedniej pozycji statku względem rurociągu można zautomatyzować wykorzystując algorytmy wykrywania linii. Na rysunku 3 po prawej stronie został przedstawiony wynik pracy algorytmu wykrywania linii. Wykryte i oznaczone na biały kolor zostały fragmenty długich linii co jest podstawą do zidentyfikowania na obrazie sonarowym rurociągu. Rys. 3. Podmorski rurociąg na obrazie sonarowym [1] oraz wykryte linie Wykrywanie linii wiąże się nie tylko z określeniem miejsca ich występowania ale i kierunku. Jest to informacja ułatwiająca rozpoznawanie większych obiektów składających się z odcinków linii. Znając kierunki linii można łączyć ze sobą krótkie odcinki, których końce znajdują się w pobliżu siebie. Tworzą się w ten sposób długie linie, których wzajemne ułożenie i orientacja pozwalają na rozpoznanie obiektu który tworzą. Rysunek 4 po lewej stronie przedstawia zdjęcie wykonane z samolotu linii z Nazca. Jest to ogromnych rozmiarów rysunek trójkąta. Powstał on poprzez usunięcie ciemnych kamieni leżących na pustyni, co spowodowało odsłonięcie jaśniejszego podłoża. Rysunek 4 po lewej stronie przedstawia
wynik działania algorytmu wykrywania linii. Kolory znajdujące się na tym rysunku zależą od kierunku przebiegu linii. Rys. 4. Zdjęcie z samolotu linii z Nazca, oraz wykryte kierunki linii 3. Wykrywanie na podstawie koloru i tekstury Istnieje wiele obiektów, którym nie można przypisać żadnego kształtu lub kształt jest bardzo skomplikowany, albo zmienny. Przykładem tego typu obiektów jest twarz. Każdy człowiek ma nieco inny kształt twarzy, ponadto twarz widziana pod różnymi kątami, wygląda odmiennie. Na twarzy mogą pojawić się obiekty, które zmieniają jej kształt, na przykład włosy, czapka, okulary itp. Wszystko to w znaczący sposób utrudnia wykrywanie twarzy. Wspólną cechą wszystkich twarzy jest kolor. Dla każdej rasy człowieka jest on bardzo charakterystyczny. Sprawia to, że kolor jest wykorzystywany do wykrywania twarzy lub jako jeden z czynników pozwalających wykryć twarz [4]. Przy wykrywaniu obiektów na podstawie koloru konieczne jest określenie koloru jaki ma być wykrywany oraz jego zakresu. Dokonać tego można poprzez pobranie próbek koloru obiektów wzorcowych (ilustruje to rysunek 5). Proces pobierania próbek koloru polega na oznaczeniu obszarów w którym znajdują się obiekty wzorcowe. Oznaczenie to jest wykonywane ręcznie. Po oznaczeniu obszarów wyznacza się średni kolor i dopuszczalne odchyłki współrzędnych koloru od koloru wzorcowego. Daje to możliwość określenia jego zakresu. obrazek fragmenty twarzy średni kolor i zakres Rys. 5. Określanie koloru twarzy
Wykrywanie na podstawie koloru nie ogranicza się tylko do twarzy. Możliwe jest wszędzie tam, gdzie kolor obiektu znacznie odbiega od kolorów innych otaczających go obiektów. Takie podejście stosować można do wykrywania różnego rodzaju obszarów o charakterystycznym kolorze na zdjęciach satelitarnych. Przykładem mogą być skały zawierające tlenek żelaza. Są one zabarwione na charakterystyczny brązowo-czerwony kolor. Dzięki czemu łatwo mogą być wykryte na podstawie koloru. Skały takie przedstawiono na rysunku 6 po lewej stronie, natomiast wynik wykrywania na rysunku po prawej stronie. Obszary wykryte oznaczono kolorem białym. Rys. 6. Wykrywanie skał zawierających tlenek żelaza W praktyce w większości przypadków wykrywanie obiektów na podstawie tylko koloru jest mało skuteczne. Wynika to ze zmiennej charakterystyki oświetlenia obiektów. Kolor obiektu zależy od pory dnia. O każdej porze dnia promienie słoneczne pokonują inną drogę poprzez atmosferę, w związku z tym inne jest zabarwienie światła słonecznego rano, a inne w samo południe. To zabarwienie wpływa bezpośrednio na rejestrowany przez aparat kolor obiektu. Kolor światła słonecznego zależy nie tylko od pory dnia, ale również od stanu atmosfery i miejsca w którym znajduje się fotografowany obiekt. Inny jest kolor światła słonecznego w bezchmurny dzień, inny kiedy słońce zakrywają chmury, a jeszcze inny gdy światło słoneczne nie pada bezpośrednio na obiekt, ale w sposób pośredni (gdy obiekt znajduje się w cieniu). Obiekt fotografowany może być oświetlany nie tylko światłem słonecznym, ale również światłem sztucznym. Światło sztuczne jest tak generowane aby przypominało światło słoneczne, ale zawsze ma nieco inny skład widmowy. Inny jest kolor światła żarówek wolframowych, inny świetlówek, a jeszcze inny żarówek LED-owych. Wszystko to również przekłada się na kolor rejestrowanego obiektu. Człowiek aby zniwelować zmiany kolorów obiektów posiada specjalny system usuwania dominującego zabarwienia, który pozwala odbierać kolory w podobny sposób niezależnie od oświetlenia. Podobnie jest w przypadku aparatów fotograficznych, które również wyposażone są w taki system. Jest on jednak mniej doskonały niż u człowieka, co powoduje, że często może dojść do przekłamania kolorów obiektów. Ze wglądu na wspomniane wyżej problemy z rejestracją kolorów wykrywanie na podstawie koloru jest mało skuteczne. Jeżeli zakres kolorów przyjmie się zbyt mały to przy zmianie oświetlenia obiekt może zostać nie wykryty. Jeżeli natomiast zakres kolorów przyjmie się zbyt duży to wykryte zostają te obiekty, które nie powinny zostać wykryte. Z tego względu łączy się wykrywanie na podstawie koloru, z wykrywaniem na podstawie zmienności kolor obiektu. Większość obiektów charakteryzuje się lokalnymi niewielkimi
zmianami kolorystyki. Zmiany te określa się mianem tekstury pokrywającej obiekt. Daje to możliwość wykrycia obiektów na podstawie tekstury. Wykrywanie na podstawie tekstury łączy się z wykrywaniem na podstawie koloru. Dzięki czemu można przyjąć większą tolerancję koloru. Wykrywanie na podstawie tekstury jest możliwe do zrealizowania o ile tekstura pokrywająca obiekt posiada elementy powtarzające się w wielu miejscach. Najkorzystniejszą sytuacją jest taka w której te elementy powtarzają się cyklicznie. Upraszcza to proces wykrywania. Przykładem łączonego wykrywania obiektów na podstawie zarówno koloru, jak i tekstury może być wykrywanie określonych obszarów rolniczych. W tym celu pobiera się próbki kolorów i tekstur z obiektów wzorcowych. Ilustruje to rysunek 7. Rys. 7. Pobieranie próbek tekstur obszarów (źródło zdjęcia satelitarnego: [3]) Rys. 8. Oznakowane obszary Wzorcowe kolory i tekstury pozwalają na oznakowanie obszarów rolniczych na zdjęciu. Wykonane oznakowanie zostało przedstawione na rysunku 8. Kolorami czerwonym,
zielonym i niebieskim zaznaczono znalezione obszary. Natomiast kolorem czarnym i białym obszary niesklasyfikowane. Innym przykładem łączonego wykrywania obiektów na podstawie zarówno koloru, jak i tekstury jest wykrywanie czystego nieba. Niebo posiada charakterystyczny kolor, jednak wiele obiektów na ziemi posiada kolor zbliżony. Przykładem może być woda. Do wykrycia nieba niezbędne jest zatem wykorzystanie również tekstury. Tekstura nieba jest bardzo regularna, jednak regularność ta jest możliwa do wykrycia jedynie za pomocą analizy częstotliwościowej. Z analizy częstotliwościowej wynika, że obraz czystego nieba jest w bardzo charakterystyczny sposób pofalowany. Przez niebo przebiegają dwa rodzaje fal: fale płaskie poziome i fale płaskie pionowe. Przy czym fal tych jest bardzo wiele, różnią się częstotliwością i fazą. Ze względu na to, że nakładają się na siebie są praktycznie niedostrzegalne. Wykonując jednak analizę częstotliwościową można je wyraźnie zaobserwować. Rysunek 9 po prawej stronie przedstawia zdjęcie na którym znajduje się ocean, fragment skały i czyste niebo. Na rysunku po lewej kolorem niebieskim zaznaczono wykryty obszar nieba. Jest on mniejszy od faktycznego obszaru nieba. Wynika to z faktu, że do wykonania analizy częstotliwościowej konieczne jest wyodrębnienie fragmentu zdjęcia o określonych minimalnych rozmiarach. Jeżeli w ramach tego fragmentu znajduje się fragment jakiegokolwiek obiektu nie będącego niebem to wykrycie fal przebiegających przez niebo staje się niemożliwe. Rys. 9. Wykrywanie nieba 4. Inne metody wykrywania obiektów W przypadku, kiedy mamy do czynienia nie z pojedynczym zdjęciem, ale z sekwencją zdjęć z nieruchomej kamery, możliwe jest wykrycie obiektów przemieszczających się. Jest to szczególnie przydatne w przypadku kamer monitorujących. Kamery te są albo nieruchome, albo poruszają się wprawiane w ruch przez silniki elektryczne. Ruch tych kamer jest dość powolny i regularny co pozwala na łatwe wyznaczenie toru ich ruchu. Tor ten daje możliwość na określenie wzajemnego przesunięcia kolejnych klatek filmu między sobą, dzięki temu obraz z takiej kamery można traktować tak samo jak obraz z kamery nieruchomej. Wykrywanie obiektów przemieszczających się względem innych obiektów jest możliwe na podstawie analiz różnic w zawartości kolejnych klatek filmu. Dzięki temu, że znany jest obraz przez pojawieniem się nowego obiektu, można łatwo określić gdzie on się pojawił. Podczas jego ruchu różnice pomiędzy kolejnymi klatkami pozwalają na śledzenie jego ruchu. Takie wykrywanie obiektów jest dość proste, ale przy założeniu statyczności kamery w miarę skuteczne. Dzięki temu może być realizowane przy niewielkiej mocy obliczeniowej, co powoduje, że może być przeprowadzone nawet przez niewielki komputer jednoukładowy zamontowany przy kamerze.
Rysunek 10 po prawej stronie przedstawia obraz z nieruchomej kamery. Po prawej stornie przedstawiono wynik wykrywania zmian w obrazie. Ze względu na to, że ulegał zmianie obraz w telewizorze uzyskał on jasny kolor, pozostałe elementy pozostają ciemne, w wyniku tego, że nie uległy zmianie podczas rejestracji kolejnych klatek filmu. Należy zwrócić tu uwagę, że zdjęciu po prawej stronie pojawiły się kontury obiektów. Wynika to z niewielkich drgań podłoża kamery, co powodowało niewielkie jej przesunięcie. Problem ten dotyczy jednak głównie dobrych kamer. W przypadku minikamer o kiepskich parametrach, obraz z kamery jest nieco rozmyty co niweluje ten efekt. Rys. 10. Wykrywanie zmian Odrębnym zagadnieniem jest wyodrębnienie wszystkich obiektów ze zdjęcia. W tym przypadku chodzi o wykrycie i oznakowanie wszystkich możliwych obiektów ze zdjęcia. Zagadnienia takie pojawiają się głównie w obróbce tekstu, ale mogą pojawić się na przykład również przy wykrywaniu kropel wody, czy obiektów pływających w wodzie. Wyodrębnienie może być początkowym procesem rozpoznawania obiektów, ale może też mieć znaczenie statystyczne, kiedy wyodrębnione obiekty podlegają procesowi pomiaru w celu określenia ich statystycznych własności. Przykład wyodrębnienia obiektów przedstawiono na rysunku 11. Rys. 11. Wyodrębnienie wszystkich obiektów 5. Podsumowanie
Wykrywanie obiektów pozwala na oznakowanie interesujących obiektów w celu ich identyfikacji, określenia miejsca w którym się znajdują na obrazie oraz przeprowadzenia analiz statystycznych określających ich liczebność rozmiary itp. Ze względu na niewielkie koszty minikamer metody wykrywania obiektów będą miały coraz większe znaczenie w życiu codziennym ułatwiając pracę. Literatura 1. Belderson R.H., Kenyon N. H., Stride A.H., Stubs A.R., Sonographs of the sea floor, Amsterdam, London, New York 1972 2. Gonzalez R., Woods R., Digital Image Processing, Prentice-Hall, New Jersey, 2002 3. Google maps http://maps.google.pl 4. Hjelmås, E.; Low, B. K., Face Detection: A Survey, Computer Vision and Image Understanding Volume: 83, Issue: 3, September, 2001, pp. 236-274 5. http://www.conrad.de/ce/de/product/190826/cmos-sw-platinenkamera-m-ir-u- MICRO/2409010 6. http://www.conrad.de/ce/de/product/751528/24-ghz-mini-funk-farb-kamera- Set/SHOP_AREA_17188&promotionareaSearchDetail=005 7. Nixon M. S., Aguado, A. S., Feature Extraction and Image Processing, Newnes, Oxford 2002 8. Richards J. A., Jia X., Remote Sensing Digital Image Analysis, Springer Berlin Heidelberg, 2006 9. Russ C., The image processing handbook, CRC Press, Boca Raton 2007