Sztuczna inteligencja w służbie bezpieczeństwa
2008-07-29, Wtorek 18:08:48 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC
Etap moich obecnych praktyk w CI TASK-u polegający na zabawie z analogową kamerą i strumieniowaniem sygnałów audio/wideo dobiegł końca. I całe szczęście, ponieważ teraz pracuję nad czymś nieco ciekawszym.
Na trzecim piętrze nowego budynku Wydziału ETI Politechniki Gdańskiej, tuż przed drzwiami prowadzącymi do CI TASK-u znajduje się urządzenie marki Panasonic o nazwie BM-ET330. Do czego służy? Do skanowania tęczówki oka, a w związku z tym do wpuszczania do obiektu jedynie upoważnionych osób. Ale... Jak każde urządzenie tego typu czasem się myli. I jest podatny na pewne złośliwe działania. To właśnie poszukiwania sposobu na ominięcie urządzeń tego typu doprowadziły mnie do strony internetowej pracowni biometrii NASK. Na jednej ze stron BiometricLabs.pl dot. testu żywotności można przeczytać, że starsze wersje ww. urządzenia (ET100 i w mniejszym stopniu ET300) uznawały wysokiej jakości zdjęcia oczu za prawdziwe oczy. Niedługo sprawdzimy, czy i nasza wersja sprzętu jest na to podatna.
Powracając jednak do nowego zadania. Jest ono w dużej mierze związane z ww. biometria oraz sztuczna inteligencją bez której nie może się obejść biometria. Mowa o oprogramowaniu umożliwiającym odnalezienie twarzy na zdjęciu/filmie i porównanie go ze zdjęciami znajdującymi się w bazie danych. Istnieje do tego mnóstwo SDK oraz zwyczajnego oprogramowania do tego służącego, zarówno komercyjnego, jak i opartego o bardziej liberalne licencje (m.in. GPL i BSD). Problem polega jedynie na tym, iż całość specjalizuje się w lokalizacji twarzy, a z jej rozpoznaniem bywają duże problemy. Oprogramowanie Open Source typu OpenCV (rozwój zapoczątkowany przez korporację Intel) zazwyczaj, jeżeli już potrafi rozpoznawać twarz to robi to z wykorzystaniem najstarszych (przeszło dwudziestoletnich) algorytmów np. PCA/Eigenfaces, które nie radzą sobie najlepiej. Oprogramowanie komercyjne... Cóż, strony oferujące takowe nie chwalą się cenami, co oznacza, iż zaczynają się one co najmniej od 2.000 USD. Jest jeszcze jedna kategoria - prace magisterskie/doktorskie i naukowe. Są boskie! Wykorzystują najnowsze osiągnięcia, rozbudowane sieci neuronowe itp. rozwiązania z zakresu sztucznej inteligencji. Ale... Najczęściej nie są dostępne dla szerszej publiczności, ponieważ są przygotowywane do wdrożenia do komercyjnych produktów. Ich testy można jednak znaleźć w Internecie ;-]
Dochodzę powoli do wniosku, że wybór dwóch specjalności związanych z inżynierią biomedyczną oraz aplikacjami rozproszonymi był całkiem niezłym wyborem. Zarówno jedna, jak i druga specjalność umożliwiają zapoznanie się ze sztuczną inteligencją i wykorzystanie jej do typowo ludzkich zadań. Już nie wspominając, iż sama teoria funkcjonuje na granicy dwóch światów: inżynierskiego i humanistycznego.
Na samo zakończenie wspomnę jedynie, iż mam ochotę zapoznać się w najbliższym czasie z RoboCode i napisać małe co nieco na jego temat w kategorii Techblog ;-)
PS. Gdybyście kiedykolwiek chcieli spod Linuksa przemielić MBR dysku twardego tak, jak to robi windowsowy fdisk /mbr to polecam wykorzystać polecenie install-mbr (instalacja pod Debianem/Ubuntu sprowadza się do komendy apt-get install mbr). Kilkanaście minut się z tym męczyłem, nim dopadłem odpowiednie informacje w Google ;-)