9. Sztuczna Inteligencja w robotyce
Kamera TV która zapisała ten obraz znajdowała się w stałej odległości o analizowanych obiektów, znajdujących się na stanowisku oświetlanym pizd lampę halogenową. Uzyskany obraz ma 256 poziomów jasności i wymiary 512x512 pikseli.
W pierwszym etapie obraz zostaje poddany procesowi binaryzacji. Istotne jest przypisanie każdemu z pikseli obrazu Jednego z dwóch poziomów jasności, W tym przypadku założono poziomy 0 i 255, odpowiadające odpowiednio barwom czarnej i białej. Aby przypisać pikselom odpowiedni poziom jasności musi być zdefiniowana uprzednio wartość progowa. Od niej zależy to, czy na pozyskanym z kamery obrazie poziomy jasności pikseli będą znajdowały się poniżej czy powyżej wartości progowej. Wynikiem procesu binaryzacji jest zawsze znaczna redukcja informacji zawartej w obrazie. Zatem odpowiedni dobór wartości progowej jest bardzo istotny, ponieważ bez niej mogłyby zostać utracone w obrazie informacje, bez których rozpoznanie obiektu stałoby się niemożliwe. Po zdefiniowaniu wartości progowej w tym przypadku wszystkie piksele staną się czarne lub białe - rys. 9.8.
Rysunek 9.8
Obraz układu scalonego po binaryzacji [20,21J
264
W drugim etapie wstępnego przetwarzania zbinaryzowany obraz jest poddawany segmentacji. W tym przykładzie ma to na celu wydzielenie z obrazu fragmentu przedstawiającego oznaczenia na obudowie układu scalonego. Pomiar wartości cech opisujących obrazy rozpoznawanych układów scalonych jest dokonywany w ten sposób, że wycinek obrazu o wymiarach 200 x 75 pikseli uzyskany w operacji maskowania, który reprezentuje fragment obudowy układu scalonego wraz z widocznymi na nim oznaczeniami, jest dzielony pionowymi liniami na określoną liczbę sektorów o ustalonych wcześniej wymiarach. Wielkość wszystkich sektorów powinna być taka sama lub jak najbardziej zbliżona. Liczba białych pikseli występujących w poszczególnych sektorach zamaskowanego fragmentu obrazu jest przyjęta jako wartości cech opisujących rozpoznawany obraz układu scalonego. W tym etapie przetwarzania obrazu nastąpiła jeszcze większa redukcja informacji zawartej w obrazie. Z wielu tysięcy wartości określających stopień jasności poszczególnych pikseli na początku przetwarzania po segmentacji zostaje stosunkowo niewielki zbiór liczb naturalnych. Tenże zbiór zawiera całą istotną informację potrzebną do rozpoznania obiektu w obrazie. Analizując osiem typów układów scalonych, przy podziale fragmentu obrazu na cztery równe cz^^^Bymjarach 5,0x75 pikseli, otrzymano wzor-
U
... „ . ... ,nrrnwc wartości cech różnych typów układów scalonych (20.21]
Tablica 9.1. W/0'ŁU”
■». 1. Typ 1 Piksele |
UCY 7453 |
SN 7406N |
UCY 7404 |
SN 7403N |
UCY 7417 |
UCY 7438 |
UCA 6410 |
UL 1201 |
rśdt. r |
83 |
759 |
0 |
570 |
109 |
332 |
99 |
8 |
[5.2 |
707 |
779 |
568 |
526 |
666 |
619 |
458 |
689 | |
[51 |
706 |
467 |
604 |
835 |
775 |
428 |
698 |
702 |
[sck.4 |
555 L_____ |
474 |
439 |
627 |
251 |
274 |
Din |
240 | |
£ Otrzymane w ten sposób liczby stanowią dane wejściowe, na podstawie których można skonstruować zbór treningowy do nauczania sieci neuronowej prawidłowej realizacji zadania rozpoznawania. Po ukończeniu procesu treningu i po podaniu na wejścia liczby odpowiadające białym pikselom w poszczególnych sektorach obrazu sieć powinna wskazać, do której z uprzednio określonych klas przynależności ten układ należy.
Do rozpoznawania układów scalonych można wykorzystać różne rodzaje sieci neuronowych. Mogą to być sieci nieliniowe wielowarstwowe bez sprzężeń zwrotnych, sieci Kohonena, a także sieci Hopfielda.
Dalej pokazano wyniki pracy na nieliniowej sieci neuronowej Hopfielda, składającej się z trzech warstw. Warstwy wejściowe i ukryte składają się z trzech neuronów, a warstwa wyjściowa ma osiem neuronów, co odpowiada liczbie klas przynależności rozpoznawanych układów scalonych. Ten z neuronów, który wykazuje największą wartość sygnału na swoim wyjściu, wskazuje na klasę przyna-jężności aktualnie rozpoznawanego układu scalonego. Po treningu sieci, w przypadku podziału obrazu układu na trzy i cztery równe sektory, otrzymano różne tyyniki rozpoznawania.
W przypadku podziału na cztery sektory wyniki stu eksperymentów wykazały bezbłędne wytypowanie właściwej klasy przynależności układu — tabl. 9.2.
Tablica 9.2. Wyniki rozpoznawania obrazów układów scalonych (podział obrazu na 4 sektory) dla \I sieci trój warstwowej [20, 21]
•Wyniki |
UCY 7453 |
SN 7406N |
UCY 7404 |
SN 7403N |
UCY 7417 |
UCY 7438 |
UCA 6410 |
UL 1201 | |
Trafne |
100 |
100 |
100 |
100 |
100 |
100 |
100 |
100 |
'Błędne |
0 |
0 |
| 0 |
0 |
0 |
0 |
0 |
0 |
i. Inaczej było przy podziale na trzy sektory. W przypadku trójwymiarowej przestrzeni cech opisującej obrazy rozpoznawanych układów scalonych pojawiły się pierwsze błędy procesu rozpoznawania. Łatwo więc stwierdzić, że nie należy zbytnio zmnMŚC?3Ć ilości informacji o danym obiekcie, bo efekty są odwrotne od oczel
265