PAK vol. 57, nr 7/2011 721 Krzysztof OKARMA, Marek GRUDZIŃSKI ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE, ul. 26. Kwietnia 10, 71-126 Szczecin Poprawa dokładności detekcji krawędzi dla systemów skanowania 3D opartych na projekcji wzorców prążkowych Dr inż. Krzysztof OKARMA Adiunkt w Katedrze Przetwarzania Sygnałów i Inżynierii Multimedialnej Zachodniopomorskiego Uniwersytetu Technologicznego w Szczecinie. Absolwent Wydziału Elektrycznego (1999) i Informatyki (2001) Politechniki Szczecińskiej, stopień doktora nauk technicznych uzyskał na Wydziale Elektrycznym (2003), gdzie pełni funkcję prodziekana ds. studenckich. Autor ponad 100 publikacji z zakresu przetwarzania i analizy obrazów oraz sygnałów. e-mail: okarma@zut.edu.pl Mgr inż. Marek GRUDZIŃSKI Słuchacz studiów doktoranckich Wydziału Inżynierii Mechanicznej i Mechatroniki Zachodniopomorskiego Uniwersytetu Technologicznego w Szczecinie, aktualnie realizuje pracę doktorską w Instytucie Technologii Mechanicznej z zakresu zastosowania technik fotogrametrycznych do pozycjonowania detali w obrabiarkach CNC. Absolwent Wydziału Elektrycznego Zachodniopomorskiego Uniwersytetu Technologicznego w Szczecinie (kierunek automatyka i robotyka). e-mail: marek.grudzinski@zut.edu.pl Streszczenie Jedną z najdokładniejszych metod skanowania 3D jest użycie technik fotogrametrycznych z wykorzystaniem światła strukturalnego. Istotnym elementem tego procesu jest detekcja krawędzi wykonywana dla każdego prążka światła widocznego na powierzchni obiektu. Typowa jej dokładność ograniczona wielkością piksela jest często niewystarczająca, a jej poprawa może być uzyskana przestawioną kilkuprzebiegową metodą subpikselową, stanowiącą część wizyjnego systemu pozycjonowania detali na obrabiarkach CNC. Słowa kluczowe: pozycjonowanie detali na obrabiarkach CNC, skanowanie 3D, detekcja krawędzi, fotogrametria. Increase in the edge detection accuracy for 3D scanning based on fringe patterns Abstract One of the most accurate methods of 3D scanning is based on photogrammetry algorithms using the structured light with some fringe patterns. Such light is emitted towards a scanned object and the image analysis of the captured frame is performed. From analysis of the projected pattern changes on the scanned object surface, the depth information can be obtained using the photogrammetry algorithms [7]. One of the most important elements of such scanning is the accuracy of the edge detection which is performed for each line of the projected light pattern. The most popular edge detection methods, such as the Canny algorithm, are often insufficient because of their accuracy limited by the image resolution. For this reason a multi-pass method leading to the sub-pixel accuracy is proposed and verified experimentally. The obtained results are dependent on the noise amount in the image, as shown in Fig. 7. That is why for further experiments calibration of a multi-camera system with more sources of structured light is necessary. The presented method can be used as a part of the video based positioning system for details machined on CNC machines. In order to achieve high accuracy of the measurements, some images of the details with exactly known dimensions obtained by the calibrated multi-camera system should be analysed. Keywords: CNC detail positioning, 3D scanning, edge detection, photogrammetry. 1. Wprowadzenie Analiza obrazów stanowi coraz powszechniej stosowane narzędzie umożliwiające nie tylko szybką detekcję zdarzeń, czy też klasyfikację obiektów, ale także dokonywanie pomiarów oraz ocenę dokładności procesów zachodzących w różnych zastosowaniach przemysłowych. Oprócz dużych możliwości związanych z zastosowaniami biomedycznymi techniki wizyjne są coraz częściej wykorzystywane do rozpoznawania osób na podstawie zdjęć twarzy, rozpoznawania numerów tablic rejestracyjnych oraz śledzenia pojazdów w Inteligentnych Systemach Transportowych, czy też w systemach kontroli jakości. Dynamiczny rozwój systemów wizyjnych związany jest nie tylko ze wzrostem wydajności obliczeniowej współczesnych systemów komputerowych, częściowo związanym z możliwościami wykorzystania akceleracji obliczeń z wykorzystaniem procesorów graficznych (GPU), ale również ze wzrostem rozdzielczości oraz wydajności powszechnie dostępnych kamer cyfrowych. Jednym z nowych obszarów zastosowań technik analizy obrazu może być pozycjonowanie detali na obrabiarkach sterowanych numerycznie. Biorąc pod uwagę dokładność pozycjonowania niezbędną do zapewnienia wymaganej dokładności dalszej obróbki, systemy takie nie były dotychczas stosowane. Zastosowanie systemu wizyjnego do tego celu umożliwiłoby jednak całkowite wyeliminowanie ręcznego pozycjonowania poprzez określenie miejsca i sposobu dokonania dokładnego pomiaru za pomocą sondy przedmiotowej. Przy zapewnieniu odpowiedniej dokładności skalibrowanego systemu wizyjnego możliwe byłoby nawet całkowite wyeliminowanie pomiaru sondą, a nawet sterowanie obrabiarką oparte na systemie wizyjnym. Podstawowym elementem takiego systemu jest skaner 3D, który umożliwia uzyskanie chmury punktów reprezentujących obiekt w przestrzeni trójwymiarowej. Detekcja takich punktów jest dokonywana na podstawie analizy przebiegu krawędzi prążków emitowanych w kierunku obiektu ze źródła światła strukturalnego. System tego rodzaju wymaga oczywiście kalibracji podstawowymi informacjami jest względne usytuowanie w przestrzeni kamer oraz źródeł światła. W celu uzyskania pełnego modelu przedmiotu obrabianego niezbędne jest zastosowanie kilku kamer oraz kilku źródeł światła, a dodatkowa poprawa dokładności może być uzyskana poprzez zastosowanie dodatkowego stolika obrotowego zsynchronizowanego z podsystemem akwizycji obrazu. Dokładność uzyskanego trójwymiarowego modelu detalu przed obróbką uzależniona jest w znaczącym stopniu od dokładności detekcji krawędzi. Jest to sprawa kluczowa ze względu na fakt, iż rozdzielczość wzorców prążkowych uzyskiwana ze źródeł światła strukturalnego może być poważnie ograniczona (szczególnie w przypadku prążków o charakterze innym niż równoległe np. prążki skośne). Dokładność interpretacji, a następnie odwzorowania krawędzi prążków w przestrzeni 3D przy wykorzystaniu znanych algorytmów wykrywania krawędzi jest ściśle uzależniona od rozdzielczości matrycy kamery, przez co pożądane jest uzyskanie dokładności na poziomie subpikselowym. 2. Techniki fotogrametrii do celów skanowania 3D Techniki fotogrametryczne [8] pozwalają na odtworzenie kształtu i położenia fotografowanego obiektu względem arbitralnie ustalonego lokalnego układu współrzędnych. W przypadku systemów skanowania wizyjnego, takich jak optyczne skanery 3D, lokalny układ współrzędnych związany jest ściśle z punktem przecięcia osi optycznych kamery oraz źródła oświetlenia (projek-
722 PAK vol. 57, nr 7/2011 tor światła strukturalnego lub laser). Układ ten musi być ściśle określony i pozostaje niezmienny podczas całego procesu skanowania. Sposób umieszczenia układu skanującego względem skanowanego obiektu pozostaje jednak dowolny. Obiekt powinien znaleźć się zarówno w polu widzenia kamery, jak również w polu oświetlenia (rysunek 1). Podstawową zasadą jest zapewnienie przecięcia osi optycznych pod kątem pozwalającym na zaobserwowanie zniekształceń wzorca światła strukturalnego lub ugięcia się prążka światła laserowego na powierzchni skanowanego przedmiotu. Jednocześnie kąt ten dobiera się eksperymentalnie w taki sposób, aby zarejestrować możliwie największą część oświetlanego przedmiotu. Pełną informację o powierzchni można otrzymać jedynie wyświetlając bardzo gęste światło rastrowe. Jednak ograniczona rozdzielczość kamery powoduje ograniczenie minimalnej szerokości pojedynczego prążka. W związku z tym przestrzenie pomiędzy krawędziami pozostają nieznane i można je przybliżać technikami interpolacji na podstawie sąsiednich krawędzi lub stosując technikę tzw. sinusoidalnych prążków o zmiennej fazie (ang. phase shifting) [5]. Wszystkie techniki wykrywania krawędzi oraz skanowania powierzchni powodują powstawanie błędów związanych z efektami krawędziowymi i niedostateczną rozdzielczością obrazu. Miejsca, w których krawędzie są bardzo zbliżone utrudniają prawidłową identyfikację i wyznaczenie kąta wyświetlania prążków. Zastosowanie w tym miejscu kodu Gray a może również wiązać się z nieprawidłowym zakodowaniem pikseli i powstawaniem szumów wokół trójwymiarowego obrazu. 3. Algorytmy detekcji krawędzi Rys. 1. Fig. 1. Idea systemu skanowania 3D opartego na analizie obrazu z oświetleniem strukturalnym wraz z ilustracją zmiany kątów nachylenia ramion trójkąta w zależności od położenia skanowanego punktu Idea of the 3D scanning system based on analysis of an image with structural light and illustration of changes of the triangle angles depending on the scanned point position Do wyznaczenia położenia dowolnego punktu w przestrzeni oświetlonej światłem strukturalnym i zarejestrowanym przez kamerę wykorzystuje się technikę triangulacji polegającą na znalezieniu punktu przecięcia ramion trójkąta na podstawie znajomości kątów nachylenia ramion względem podstawy. Ramiona trójkąta tworzą fizycznie w przestrzeni proste łączące wybrany punkt na skanowanej przestrzeni wraz z ogniskami optycznymi kamery i źródła oświetlenia, a długość podstawy stanowi fizyczna odległość tych ognisk. Dodatkowa informacja dotycząca zmiany wysokości obiektu rejestrowana jest jako zmiana położenia w pionie na matrycy kamery (przy znanym współczynniku proporcji tego przekształcenia), co jest zilustrowane na rysunku 2. Dla każdego osobliwego punktu w skanowanej przestrzeni można zbudować reprezentujący go układ geometryczny prostych przecinających się w tym punkcie. Główna trudność sprowadza się do określenia z możliwie największą dokładnością kątów trójkąta triangulacyjnego. Uzyskana w wyniku triangulacji chmura punktów stanowi reprezentację powierzchni skanowanego obiektu. Związany z nią lokalny układ odniesienia może zostać przetransformowany do dowolnego innego układu. Duża liczba skanowanych punktów przekłada się na finalną dokładność odwzorowania skanowanej powierzchni. W przypadku użycia skanera optycznego wykorzystującego prążki strukturalne analizie nie podlega pojedynczy punkt, lecz grupa punktów powiązana ze wzorcem strukturalnym. Dla prążków równoległych jest to granica między poszczególnymi prążkami, przy założeniu, że znany jest dokładny kąt projekcji każdego prążka (czyli jedno z ramion trójkąta triangulacyjnego). Precyzyjna informacja o rozmiarze matrycy i ogniskowej kamery pozwala z kolei wyznaczyć kąt odchylenia prostej od osi optycznej kamery (drugie ramię trójkąta), dzięki czemu możliwe jest przeprowadzenie obliczeń triangulacyjnych. W celu uzyskania dużej dokładności skanowania wymagana jest dokładna kalibracja geometrii stanowiska, w tym ustalenie względnego położenia osi optycznych, kalibracja torów optycznych (dystorsja obrazu), zapewnienie równoległości kierunków pionowych oraz poziomych matrycy kamery i projektora, a także korekcja wpływu zmian ogniskowej przy ustalaniu ostrości. Nie bez znaczenia pozostaje również rozdzielczość i ostrość wyświetlanego rastra oraz rozdzielczość natywna matrycy kamery, szczególnie przy obserwacji gęstego rastra pod dużym kątem. Otrzymany z kamery obraz cechuje się pewną ograniczoną dokładnością odwzorowania szczegółów. Wykrywanie krawędzi wyświetlonych, a następnie zarejestrowanych na zdjęciach prążków odbywa się przy pomocy znanych algorytmów (omówionych poniżej) lub przy pomocy analizy kodu Graya. Dokładność tych metod jest ograniczona do pojedynczego piksela obrazu i z taką też dokładnością (przeliczając rozmiar jednego piksela na metryczną jednostkę długości) przeprowadzana jest triangulacja i wyznaczane jest położenie każdego punktu w przestrzeni 3D. Taka metoda obarczona jest znacznym, stosunkowo łatwo zauważalnym błędem odwzorowania, szczególnie w przypadku skanowania dużych detali ze znacznej odległości od kamery. Zastosowanie typowych algorytmów interpolacji krawędzi wykrytych klasycznymi metodami przynosi niewielką poprawę odwzorowania rzeczywistej powierzchni. W dalszym ciągu błąd uwarunkowany jest przede wszystkim rozmiarem pojedynczego piksela, co ilustruje rysunek 2. Rys. 2. Fig. 2. Ilustracja ograniczenia dokładności detekcji krawędzi dla klasycznego filtru Canny ego Illustration of edge detection accuracy limits for the classic Canny filter Techniki detekcji krawędzi mają fundamentalne znaczenie dla wielu innych algorytmów przetwarzania i analizy obrazów (np. segmentacji), jak również ich kompresji. Mają one również istotne znaczenie dla procesów ekstrakcji informacji związanych przykładowo z rozpoznawaniem obiektów czy też widzeniem robotów. Jednym z najbardziej oczywistych zastosowań są również techniki daktyloskopii cyfrowej, czy też analiza zdjęć lotniczych i satelitarnych. Typowymi metodami detekcji krawędzi używanymi w analizie obrazów cyfrowych są techniki oparte na filtracji splotowej. Do tej grupy zaliczyć można filtry gradientowe oparte na analizie pierwszej pochodnej, do których zaliczyć można filtrację operatorem Robertsa, jak również filtry Prewitta oraz Sobela. Inną technikę, wykorzystującą tzw. dopasowanie szablonów, stanowi wykorzystanie maski Kirscha. Bardziej złożony filtr, zaproponowany przez Johna Canny ego [2], jest jedną z najczęściej wykorzystywanych metod gradientowych detekcji krawędzi. Jego działanie oparte jest na czterech etapach, z których pierwszy stanowi wygładzanie obrazu z wykorzystaniem filtru splotowego Gaussa. Następnie wykonywana jest operacja różniczkowania z wykorzystaniem prostych masek trójelementowych o elementach [-1 0 1] w pionie i w poziomie. W efekcie uzyskiwany jest moduł gradientu obrazu
PAK vol. 57, nr 7/2011 723 oraz jego kierunek. W trzecim kroku wyszukiwane są lokalne maksima gradientu, które są następnie poddawane podwójnemu progowaniu. Kolejna grupa gradientowych detektorów krawędzi bazuje na obliczaniu drugiej pochodnej funkcji obrazu i poszukiwaniu jej przejścia przez zero. Najpopularniejszy z tego rodzaju detektorów [6] jest filtr Laplace a oraz jego modyfikacja wykorzystująca dodatkowo wygładzanie [1] określana jako LoG (ang. Laplacian of Gaussian). Wszystkie te techniki cechują się jednakże ograniczeniem dokładności detekcji do pojedynczych pikseli, przy czym dodatkowo nie wszystkie z nich gwarantują ciągłość wykrytych krawędzi. Subpikselowa detekcja krawędzi jest zazwyczaj oparta na algorytmach klasycznych z dodatkowymi modyfikacjami pozwalającymi na poprawę dokładności. Podobne podejście zostało również przedstawione w niniejszym artykule. Najpopularniejszą technikę stanowią metody interpolacyjne pozwalające na uzyskanie gładkiej krzywej przechodzącej dokładnie przez wyznaczone punkty (piksele reprezentujące wykrytą krawędź), najczęściej z wykorzystaniem wielomianów sklejanych 3. stopnia. Dla wyznaczonego wielomianu wyznaczana jest druga pochodna, a następnie punkt przejścia przez zero reprezentujący krawędź. Jednakże dokładność wyznaczania krawędzi jest wówczas silnie uzależniona od obecności i wielkości szumu na obrazie. Techniki subpikselowej detekcji krawędzi oparte na zgrubnej detekcji oraz interpolacji lub aproksymacji funkcji gradientu są wciąż stosunkowo rzadko wykorzystywane w analizie obrazu [4], poza zastosowaniami geodezyjnymi czy też teledetekcją. Osobnym zagadnieniem, stanowiącym wciąż otwarte pole badań, pozostaje poszukiwanie krawędzi w obrazach kolorowych, zwłaszcza z dokładnością subpikselową [3]. W algorytmach detekcji krawędzi w obrazach kolorowych zazwyczaj stosuje się niezależną detekcję dla trzech kanałów RGB (następnie krawędzie są poddawane dalszej analizie) lub rozwiązania bazujące na gradiencie wektorowym [7] oraz wektorowych statystykach porządkowych [9]. 4. Założenia proponowanej metody Zaproponowana w niniejszej pracy metoda dokładniejszej detekcji krawędzi działa w oparciu o procedury interpretacji jasności pikseli wokół miejsca prawdopodobnego wystąpienia krawędzi (wykrytego znaną metodą detekcji krawędzi podczas eksperymentów wykorzystano filtr Canny ego). Interpolacja funkcji gradientu wyznaczanej w otoczeniu wykrytej krawędzi jest powiązana z filtracją medianową jej pochodnej w celu eliminacji wpływu szumów obecnych w pobliżu krawędzi skanowanego obiektu wynikających m.in. z jego nierównomiernego oświetlenia. Metoda ta pozwala określić położenie punktu krawędzi na zdjęciu z dokładnością przekraczającą 1/10 część piksela. Głównym założeniem jest jednak możliwość powiązania zaproponowanej techniki z procedurami skanowania trójwymiarowego. Wybrane punkty reprezentujące wykryte krawędzie na granicy prążków światła strukturalnego mogą posłużyć do przeprowadzenia procedur fotogrametrycznych w celu uzyskania możliwie najdokładniejszej pozycji punktów w przestrzeni 3D, a tym samym do uzyskania modelu o geometrii bardziej zbliżonej do rzeczywistego obiektu. Odpowiednie powiązanie procedur subpikselowego wykrywania krawędzi, fotogrametrii i techniki światła strukturalnego pozwoliłoby również na znacznie dokładniejsze odwzorowanie rzeczywistych krawędzi przedmiotu w trójwymiarowym modelu wirtualnym. O ile detekcja krawędzi na płaskim obrazie jest stosowana powszechnie, to transformacja informacji o krawędziach do modelu przestrzennego jest wysoce skomplikowana. Płaski obraz nie zawiera niestety wystarczającej ilości informacji i można interpretować krawędzie w różny sposób. Powiązanie zaproponowanej techniki detekcji krawędzi wyświetlanego rastra oraz detekcji rzeczywistych krawędzi obiektu dałoby w rezultacie zbiór punktów odwzorowujących z dużym prawdopodobieństwem krawędź obiektu. Podsumowując, wykorzystując techniki subpikselowe udoskonalić można detekcję zarówno realnych krawędzi obiektów, jak również sztucznych krawędzi na powierzchni obiektu wynikających z oświetlenia strukturalnego. Wynikiem działania filtru krawędziowego jest zazwyczaj obraz binarny, gdzie jedynki odpowiadają pikselom reprezentującym wykryte krawędzie. Subpikselowy filtr krawędziowy zaproponowany przez autorów działa dla tych pikseli analizowanego zdjęcia, które użyty wcześniej filtr Canny ego sklasyfikował jako krawędzie - każdy taki piksel określony zostaje jako środek maski dla kolejnych jej położeń. Jasność pikseli wewnątrz maski filtru jest analizowana w ograniczonym otoczeniu wokół jej środka, przy czym maska ma postać wektora o wymiarach [1 R] lub [R 1] w zależności od wykrytego kierunku krawędzi, gdzie R określa promień maski. Decyzja o lokalnym kierunku wykrytej krawędzi jest podejmowana na podstawie porównania różnic średniej jasności po obu stronach środka w kierunku pionowym i poziomym. Dla krawędzi poziomych działanie filtru opiera się o analizę pikseli powyżej i poniżej środka maski. Analogicznie dla krawędzi pionowych wykorzystywane są piksele z lewej i prawej strony. Promień maski musi być dobrany tak, aby zredukować prawdopodobieństwo wystąpienia dwóch krawędzi w jego otoczeniu, co też stanowi pewną trudność w opracowaniu odpowiednich procedur dla obrazów zaszumionych. Docelowo rozmiar maski filtru wykorzystywanego do wyznaczenia lokalnego gradientu powinien być wyznaczany adaptacyjnie w zależności od gęstości prążków widocznych na obrazie. Dalszym etapem działania filtru jest analiza danych wokół środka maski. Ze względu na ograniczoną rozdzielczość obrazu i gęstość prążków rastra pozyskana próbka danych musiałaby zawierać co najwyżej kilkanaście pikseli. Poprawnie skonfigurowane oraz skalibrowane stanowisko skanujące pozwala na uzyskanie obrazu o wysokim kontraście i zaznaczeniu krawędzi z niewielkim stopniem rozmycia, stąd próbka danych o rozmiarze kilkunastu pikseli jest wystarczająca do przeprowadzenia poprawnej detekcji. Pozyskane dane zostają przefiltrowane z wykorzystaniem filtru medianowego w celu redukcji szumów impulsowych w postaci pojedynczych pikseli o mocno wyróżniającej się jasności. Wektor z próbką danych zostaje następnie rozszerzony o wartości interpolowane (użyta została interpolacja typu spline) w celu odtworzenia (zasymulowania) lokalnego charakteru powierzchni, utraconego w związku z ograniczoną rozdzielczością kamery. Poszukiwanie krawędzi ogranicza się następnie do wyszukania średniej ważonej jasności rozszerzonej próbki danych. W zależności od dokładności interpolacji analizowanej próbki obrazu uzyskiwany jest wynik z odpowiednią dokładnością wskazujący położenie krawędzi powierzchni. W przypadku projekcji światła strukturalnego dąży się do możliwie najbardziej kontrastowego obrazu o możliwie najmniejszym stopniu rozmycia, w którym krawędź na granicy prążków jest łatwa do wykrycia i przeanalizowania. Inaczej jest w przypadku krawędzi rzeczywistych obiektu, szczególnie gdy struktura materiału nie jest jednolita a załamanie powierzchni niewielkie. Dodatkowe szumy widoczne na zdjęciu mogą mocno utrudnić lub całkowicie uniemożliwić detekcję, tak więc promień filtru musiałby zostać odpowiednio zwiększony. Zaproponowana procedura detekcji może zostać następnie zastosowana do poprawy wyników działania procedur fotogrametrycznych. Algorytm wyznaczania położenia punktów w 3D opiera się między innymi o znajomość kąta między osią optyczną kamery i prostą łączącą wybrany punkt w przestrzeni z ogniskiem obiektywu. Kąt ten w znanej proporcji zależnej od zdolności skupiającej obiektywu ma odwzorowanie dla osi optycznej i odpowiadającego mu punktu na matrycy. Położenie tego punktu na matrycy jest jednak nieprecyzyjne i podane z dokładnością do jednego piksela, co powoduje niedokładności w interpretacji rzeczywistej geometrii. Dokładność ta może jednak zostać poprawiona, co potwierdzają wyniki eksperymentalne przedstawione w następnym rozdziale.
724 PAK vol. 57, nr 7/2011 5. Weryfikacja eksperymentalna Procedury przedstawione w poprzednich rozdziałach zostały zaimplementowane i przetestowane w środowisku Matlab w oparciu o dane pozyskane z roboczego stanowiska z jedną kamerą i rzutnikiem multimedialnym wykorzystanym do wyświetlania wzorców prążkowych. Przykładowe wyniki uzyskiwane z wykorzystaniem proponowanej metody subpikselowej detekcji krawędzi są przedstawione na kolejnych rysunkach. Ze względu na roboczy charakter stanowiska laboratoryjnego używanego w eksperymentach wykorzystano obiekt w postaci stalowego obrobionego bloku o znanych wymiarach i regularnych płaszczyznach i krawędziach. Po dokładnym skalibrowaniu stanowiska możliwe jest prowadzenie dalszych eksperymentów z wykorzystaniem detali o wymiarach pozyskanych na podstawie pomiarów na maszynie współrzędnościowej, co pozwoli na znacznie dokładniejsze określenie błędów poszczególnych metod. Do celów weryfikacji przydatności zaproponowanej metody przy skanowaniu 3D wybrano płaski fragment powierzchni detalu ograniczając pole działania procedur fotogrametrycznych do wybranego obszaru na obrazie 2D (rys. 3). Zrealizowano to nakładając maskę na obraz przedstawiający scenę oświetloną światłem jednolitym, wykorzystaną w procesie progowania do odrzucenia ciemnego tła i obszaru maski. Analizowana powierzchnia została obrobiona frezem podczas jednego przejazdu, można więc uznać, że jest zbliżona do modelu płaskiego, opisanego równaniem płaszczyzny z = A x+b y+d. zawierający nieregularną krawędź przedmiotu. Porównanie uzyskanych dla niej wyników przedstawia rysunek 4. W wyniku zastosowania filtru subpikselowego zaobserwowano znaczną poprawę ciągłości wykrywanych krawędzi, co pozwoliło na dokładniejsze odwzorowanie ich w przestrzeni 3D. Ilustruje to rysunek 5, na którym widać wyraźnie wpływ zaokrąglania współrzędnych wykrytej przez filtr Canny ego krawędzi do jednego piksela, czego wynikiem są schodkowe krawędzie (efekt aliasingu). Dodatkowo zaobserwowano poprawę równomierności rozkładu krawędzi w przestrzeni wynikającą ze stałej szerokości wyświetlanych prążków. Filtr Canny ego pozwala wykryć krawędzie, których geometryczny rozkład okazuje się bardzo nieregularny (niezgodny z faktyczną szerokością prążków). Niedokładna detekcja krawędzi na płaskim obrazie 2D, w połączeniu z technikami fotogrametrycznymi, zakładającymi znane kąty projekcji poszczególnych prążków, powoduje w rezultacie znaczne przemieszczenie krawędzi względem hipotetycznej płaszczyzny modelowej (brak efektu współpłaszczyznowości). Zastosowanie filtru subpikselowego pozwala na wyraźną redukcję tego efektu, co przedstawia rysunek 6, na którym przemieszczenia położenia krawędzi wykrytych filtrem Canny ego (jasne krzyżyki) oraz większa współpłaszczyznowość krawędzi wykrytych zaproponowaną metodą (ciemne punkty) są dobrze widoczne. Przedstawione wyniki pozwalają postawić tezę o poprawie dokładności odwzorowania rzeczywistego modelu obiektu w przestrzeni 3D. W celu jej weryfikacji należy zastosować wskaźnik jakości odwzorowania, który może stanowić np. wariancja odchylenia punktów od modelowej płaszczyzny (lub odchylenie standardowe). Ponieważ założono, że rzeczywista powierzchnia jest płaska (zależy to oczywiście od dokładności jej obróbki), wyznaczono metodą najmniejszych kwadratów równania powierzchni najlepiej aproksymujących chmurę punktów 3D uzyskaną z użyciem obu rozważanych metod detekcji krawędzi. Rys. 3. Fig. 3. Przykładowa bryła oświetlona światłem strukturalnym z zaznaczonym analizowanym fragmentem powierzchni używanym w dalszych eksperymentach oraz trójwymiarowa reprezentacja wybranego fragmentu powierzchni uzyskana w wyniku skanowania Example object illuminated by structural light with the analysed surface marked fragment used in further experiments and 3D representation of the chosen surface fragment obtained after scanning Rys. 5. Fig. 5. Ilustracja wpływu zaokrąglenia współrzędnych krawędzi w metodzie Canny ego na uzyskany model 3D (krzyżyki) w porównaniu do proponowanej metody (kropki) Illustration of the impact of rounding the edge coordinates by Canny method on the resulting 3D model (crosses) compared to the proposed method (dots) Rys. 4. Fig. 4. Powiększenie fragmentu analizowanej powierzchni z zaznaczeniem krawędzi uzyskanych filtrem Canny ego (czarna) oraz metodą subpikselową (biała) Zoom of the analysed surface fragment with edges obtained using Canny filter (marked as black) and sub-pixel method (marked as white) W celu weryfikacji zachowania proponowanej metody subpikselowej w pobliżu krawędzi obiektu wybrany został fragment Rys. 6. Fig. 6. Widok punktów reprezentujących zeskanowaną powierzchnię pod niewielkim kątem Illustration of the points representing the scanned surface at a slight angle
PAK vol. 57, nr 7/2011 725 Uzyskane wartości odchylenia standardowego przy powyższych założeniach wynoszą odpowiednio 0,0906 dla metody wykorzystującej filtr Canny ego oraz 0,0507 dla proponowanej metody subpikselowej. Wynik taki wykazuje przydatność tej metody do poprawy dokładności skanowania optycznego opisywaną metodą. Do celów bardziej precyzyjnej analizy błędów proponowanej metody należałoby wykonać pomiary skanowanego detalu na maszynie współrzędnościowej, co pozwolić może na dalsze udoskonalenie proponowanego algorytmu. 6. Podsumowanie Rys. 7. Fig. 7. Fragment zeskanowanej płaszczyzny w postaci chmury punktów oraz dopasowana do niej metodą najmniejszych kwadratów płaszczyzna modelowa (ciemne krzyżyki). Widoczne są niewielkie szumy powstałe w wyniku efektu krawędziowego podczas skanowania Scanned surface fragment as a cloud of points and matched model plane using the least squares method (dark crosses). Small noise caused by edge effects during the scan are visible Następnie dla obu przypadków obliczono odchylenie standardowe odległości punktów od modelu płaszczyzny. Ponieważ obie chmury punktów zawierają błędne piksele (szumy, efekt krawędziowy, zbyt gęste prążki) konieczna jest ich dodatkowa filtracja poprzez odrzucenie wartości skrajnych porównując odległości punktów z odchyleniem standardowym (przyjęto, że odległość większa niż 10-krotna wartość odchylenia standardowego jest błędna, zatem dla opisywanego przykładu 88 z 6427 punktów tworzących chmurę punktów zostało odrzuconych). Algorytm subpikselowego wykrywania krawędzi zaproponowany w niniejszym artykule stanowi uzupełnienie klasycznych metod detekcji wykorzystywanych przy analizie przebiegu prążków strukturalnych wyświetlonych na skanowanym obiekcie. Uzyskane wyniki są obiecujące, tak więc biorąc pod uwagę kalibrację wizyjnego systemu pozycjonowania detali na obrabiarkach CNC, możliwe jest uzyskanie znaczącej poprawy dokładności dokonywanych pomiarów wielkości i położenia przedmiotów obrabianych. Jednym z zasadniczych celów dalszych badań jest określenie błędów pomiaru parametrów geometrycznych detali przy wykorzystaniu systemu wizyjnego, co będzie możliwe po kalibracji stanowiska zawierającego kilka kamer oraz kilka projektorów światła strukturalnego, jak również dokonania dokładnych pomiarów detali z użyciem maszyny współrzędnościowej. Artykuł powstał częściowo dzięki wsparciu w ramach grantu Ministerstwa Nauki i Szkolnictwa Wyższego nr N502 147238 pt. Wykorzystanie technik wizyjnych do pozycjonowania przedmiotów obrabianych na obrabiarkach CNC umowa nr 1472/B/T02/2010/38. Rys. 8. Fig. 8. Prezentacja graficzna wektora residuów dla poszczególnych punktów w odniesieniu do płaszczyzny modelowej bez odrzucania punktów skrajnie odległych (góra) oraz po ich odrzuceniu (dół) Graphical presentation of the residues vector for individual points in relation to the model plane without filtering the extremely outlying points (top) and after their rejection (bottom) 7. Literatura [1] Basu M.: Gaussian-based edge-detection methods - a survey. IEEE Trans. on Systems, Man, and Cybernetics Part C: Applications and Reviews, vol. 32 no. 3, pp. 252 260, 2002. [2] Canny J.: A computational approach to edge detection. IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 8, pp. 679 714, 1986. [3] Cheng Sh.Ch., Wu T.L.: Subpixel Edge detection of color images by principal axis analysis and moment-preserving principle. Pattern Recognition, vol. 38, pp. 527 537, 2005. [4] Fabijańska A.: Lokalizacja krawędzi na poziomie subpikselowym w obrazach rozgrzanych metali i ich stopów. Elektronika konstrukcje, technologie, zastosowania, R. LI nr 12, pp. 58 61, 2010. [5] Kato J., Yamaguchi I.: Phase-shifting fringe analysis for laser diode wavelength-scanning interferometer. Optical Review, vol. 7 no. 2, pp. 158 163, 2000. [6] Kimmel R., Bruckstein A.M.: On regularized Laplacian zero crossings and other optimal edge integrators. International Journal of Computer Vision, vol. 53 no. 3, pp. 225 243, 2003. [7] Lee H.C., Cok D.R.: Detecting boundaries in a vector field. IEEE Trans. on Signal Processing, vol. 39, pp. 1181 1194, 1991. [8] Luhmann T., Robson S., Kyle S., Harley I.: Close Range Photogrammetry: Principles, Techniques and Applications. John Wiley & Sons, 2008. [9] Trahanias P.E., Venetsanopoulos A.N.: Vector order statistics operators as color edge detectors. IEEE Transactions on Systems, Man, and Cybernetics, vol. 26, pp. 135 143, 1996. otrzymano / received: 15.04.2011 przyjęto do druku / accepted: 06.06.2011 artykuł recenzowany