Naukowa symbioza

W zaciszach pracowni uniwersyteckich powstają nie tylko rozprawy naukowe. Placówki akademickie często pełnią też funkcję ośrodków badawczych, których sponsorami - i jednocześnie beneficjentami - są wielkie przedsiębiorstwa. W szacownym Cambridge działają laboratoria pod patronatem Microsoftu.

W zaciszach pracowni uniwersyteckich powstają nie tylko rozprawy naukowe. Placówki akademickie często pełnią też funkcję ośrodków badawczych, których sponsorami - i jednocześnie beneficjentami - są wielkie przedsiębiorstwa. W szacownym Cambridge działają laboratoria pod patronatem Microsoftu.

Ośrodek w Cambridge jest jednym z pięciu oddziałów Microsoft Research rozlokowanych na świecie (pozostałe znajdują się w Stanach Zjednoczonych i Chinach), w których ponad 600 naukowców z wielu krajów pracuje nad różnego rodzaju zagadnieniami związanymi z technologiami informatycznymi. Ponieważ są to placówki badawcze powiązane ze środowiskiem akademickim, efektem ich działań nie muszą być komercyjne produkty, choć w wielu przypadkach tak właśnie się stało.

Podczas tegorocznych dni otwartych Microsoft Research Cambridge (MRC) dziennikarze z całej Europy mieli okazję zapoznać się z kilkoma najciekawszymi projektami realizowanymi obecnie w ośrodku. Reprezentują one cztery główne obszary badań, którymi zajmuje się MRC: uczenie się i postrzeganie maszyn, zasady i narzędzia programowania, systemy i sieci oraz systemy interaktywne.

Oko w oko

Największe wrażenie wywarł na nas projekt badawczy o nazwie i2i, czyli po prostu "oko w oko". Naukowcy zmierzyli się w nim z problemem komputerowego odwzorowania przestrzeni trójwymiarowej na podstawie zdjęć stereoskopowych (wykonanych za pomocą dwóch obiektywów).

To, co dla naszego mózgu jest chlebem powszednim, stanowi nie lada wyzwanie dla komputera - a w zasadzie dla programisty próbującego opracować metodę przekształcania informacji pochodzących z obiektywów na matematyczny model trójwymiarowy. Ludzki umysł bez kłopotu rozróżnia kształty, co ma kluczowe znaczenie w momencie składania dwóch nieznacznie przesuniętych względem siebie obrazów dwuwymiarowych, które widzimy oczami, w jeden obraz przestrzenny. Poszczególne elementy otoczenia potrafimy błyskawicznie zidentyfikować, toteż wiemy, którym fragmentom obrazu z lewego oka odpowiadają fragmenty odebrane przez prawe oko.

Tymczasem komputer nie operuje - przynajmniej na razie - pojęciem kształtu. Owszem, dzięki programom wykorzystującym proces uczenia pecety mogą rozróżniać przedmioty na podstawie ich cech zewnętrznych, jednak te podstawy sztucznej inteligencji bardzo trudno zastosować w typowych aplikacjach, ponieważ moduł kognitywny pochłaniałby większość mocy obliczeniowej i przerósłby z czasem możliwości komputera (problem stale rosnącej "bazy wiedzy"). Dlatego naukowcy starają się znaleźć prostsze rozwiązania umożliwiające "zrozumienie" zawartości obrazu przez komputer na podstawie pewnych cech charakterystycznych.

Kształt w stogu pikseli

Efekty działania narzędzia SmartErase z Digital Suite 9.

Efekty działania narzędzia SmartErase z Digital Suite 9.

Dla peceta obraz jest tylko chaotycznym zbiorem pikseli, plikiem zawierającym informacje o kolorze poszczególnych punkcików. Z tego miszmaszu komputer sam nie wyłowi żadnego przekazu. Jeśli jednak poda mu się kryteria, np. "wszystkie obszary wyznaczone przez czarne piksele to kwadraty", a sam obraz nie będzie zbyt złożony, można uzyskać pewne rezultaty. Niestety, na co dzień mamy do czynienia z obrazami o bardzo skomplikowanej budowie, więc taka metoda na niewiele by się zdała. Lecz gdy pojawia się drugie źródło danych o nieznacznie tylko odmiennej zawartości, bogactwo i różnorodność treści okazują się błogosławieństwem ułatwiającym zadanie: wystarczy zanalizować oba pliki, wyszukać podobieństwa i różnice, dopasować je do siebie, a następnie przekształcić w matematyczny model przestrzenny.

Właśnie na tej zasadzie działa i2i, który z obrazów uzyskanych przez dwa obiektywy tworzy obraz dwuwymiarowy, zawierający jednak dane o głębi. Powstałym w ten sposób modelem przestrzennym łatwo manipulować, uzyskując np. efekt wirtualnych podróży. Twórcy i2i skupili się na razie na innym, dość banalnym na pierwszy rzut oka zastosowaniu: uzyskaniu efektu rozmowy prosto w oczy podczas wideokonferencji.

Patrzeć na wprost

Gdy rozmawiasz z kimś z użyciem komunikatora internetowego i kamery, masz wrażenie nienaturalności konwersacji, ponieważ twój rozmówca nie może ci patrzeć prosto w oczy. Wzrok uczestników wideokonferencji skierowany jest bowiem na ekran, na którym pojawiają się komunikaty, a nie w stronę obiektywu. Dzięki zastosowaniu dwóch kamer i algorytmów analizy obrazów stereoskopowych komputer może jednak utworzyć model przestrzenny twarzy, a następnie "ustawić" go tak, żeby znajdował się dokładnie na wprost ekranu. Co więcej, tak uzyskane "cyber ego" można potraktować jak każdy graficzny obiekt 3D, wzbogacając scenę o efekty specjalne - dowolne tło czy animowane elementy, również interaktywne.

Na obecnym etapie technologia pozwala na przetwarzanie w czasie rzeczywistym obrazów o niskiej rozdzielczości, uzyskanych np. z kamer internetowych. Wyższa rozdzielczość wymaga bardziej intensywnych obliczeń, niemożliwych do wykonania na bieżąco, lecz wciąż osiągalnych po jakimś czasie. Warunek jest jeden: model przestrzenny jest tym lepszy, im bardziej różnorodne są obrazy wejściowe. Algorytmy łatwiej sobie poradzą z analizą, gdy będą miały więcej punktów odniesienia. Dla niektórych to świetne usprawiedliwienie bałaganu panującego w pokoju.

Genialne nożyczki

Ten sam problem - rozróżnianie kształtów przez oprogramowanie komputerowe - ma do rozwiązania inny zespół badawczy, który zajmuje się matematycznymi technikami analizy i przetwarzania obrazu. Naukowcy postanowili ulepszyć narzędzia do edycji fotografii, wzbogacając je o pewną dozę sztucznej inteligencji, dzięki której proces zaawansowanego retuszowania zdjęć stałby się prostszy i bardziej zautomatyzowany.

W projekcie o nazwie GrabCut za cel postawiono udoskonalenie sposobu zaznaczania obiektów, które mają zostać wycięte i wklejone w innym miejscu lub przeniesione do innych obrazów stanowiących tło. Chodziło o to, żeby użytkownik wskazywał tylko prostokątny obszar zawierający obiekt do wyjęcia, a całą resztą miałoby się zająć oprogramowanie. Ale jak tego dokonać, skoro komputer nie rozróżnia kształtów i nie wie, co nas naprawdę interesuje w zaznaczonym obszarze?

Informacje o jednej tylko właściwości obrazu, wykorzystywane w dotychczasowych narzędziach, takich jak "magiczna różdżka" (kolor) czy "inteligentne nożyczki" lub "magnetyczne lasso" (kontrast), zupełnie się nie sprawdzały w roli selektora, dając błędne rezultaty. Z pomocą przyszły teorie naukowe, badania i algorytmy matematyczne, na podstawie których utworzono udane połączenie obu metod - technologię zwaną GrabCut.

Program analizuje obraz zarówno pod względem koloru, jak i kontrastu, dzięki czemu może odseparować pierwszy plan od tła. Nawet jeśli w pewnych miejscach popełni błędy, ich ręczna korekta trwa sekundy, ponieważ narzędzie na bieżąco modyfikuje swoje oceny zgodnie z sugestiami użytkownika. Na koniec przeprowadzana jest analiza krawędzi obiektu w celu określenia tzw. otoczki alfa (alpha matte; piksele na krawędzi są bowiem mieszanką tła i obiektu; aby wycięty obiekt łagodnie wpasował się w nowe tło, konieczna jest właśnie informacja o tym, jak zmieszać piksele konturu w obrazie docelowym).

Mimo że efekty działania narzędzia GrabCut są rewelacyjne, to jego twórcy wciąż udoskonalają technologię, pracując nad modułem rozpoznawania obiektów. Zależy im na tym, żeby użytkownik jak najrzadziej musiał interweniować podczas selekcji obiektów. Chodzi o to, aby np. kliknięcie policzka sfotografowanej twarzy wystarczyło oprogramowaniu do zrozumienia, że chodzi właśnie o ludzkie oblicze. Po prostu na podstawie wstępnej analizy struktury i konturów twarzy komputer rozpoznawałby obiekt, co pozwoliłoby mu odszukać pozostałe elementy składowe i zaznaczyć całą facjatę włącznie z włosami.

Wypisz, zamaluj

Nieco prostszym zadaniem, mogącym uzupełniać GrabCut, jest substytucja obrazu, czyli wypełnianie usuniętych elementów zdjęcia treścią najbardziej odpowiadającą wyglądowi tła. Mówiąc prościej, jeśli zaznaczysz niechciany fragment obrazu i usuniesz go, aplikacja powinna "inteligentnie" zastąpić powstałą dziurę, biorąc pod uwagę to, co znajduje się w otoczeniu. W ten sposób otrzymałbyś efektywne narzędzie do poprawiania fotografii, np. wykadrowania obiektów czy postaci burzących kompozycję ujęcia.

Do poprawnego działania algorytmów wystarczy bardzo pobieżne zaznaczenie niepożądanego fragmentu obrazu i jego wycięcie. Informacje zawarte w tle - struktura, kolor i wzór - są zwykle na tyle bogate, że na podstawie ich analizy oprogramowanie "wymyśli" najodpowiedniejsze wypełnienie dziury. Oczywiście im więcej powtarzających się struktur tła, jak np. w trawie, tym lepsze efekty odtworzenia brakującego fragmentu obrazu.

Narzędzie, zwane początkowo PatchWorks, było na tyle skuteczne, że znalazło się w pakiecie Digital Image Suite 9 (funkcja SmartErase). Inny ciekawy projekt naukowców z Cambridge o nazwie Blender, pozwalający na kopiowanie fragmentów obrazu z zachowaniem kolorów docelowych, także został włączony do pakietu jako BlendBrush.

Nie tylko grafika

Laboratoria Microsoftu nie pracują wyłącznie nad problemami graficznymi. Naukowcy zaprezentowali także inne projekty: Read, w którym tradycyjną wyszukiwarkę internetową wspomaga przeglądarka, automatycznie analizująca zawartość stron będących wynikiem wyszukiwania i przedstawiająca je w bardziej uporządkowanej postaci, Network Inference - narzędzie do mapowania topologii niewielkich sieci i monitorowania stanu połączeń (dzięki niemu użytkownik nie tylko pozna strukturę sieci, ale łatwo odkryje i naprawi źródło problemów z połączeniami) oraz SenseCam - niewielkie urządzenie rejestrujące w 128 MB wewnętrznej pamięci obrazy otoczenia w chwili, gdy wykryty zostanie ruch, zmiana temperatury czy natężenia światła (może ułatwić życie ludziom cierpiącym na zaniki pamięci czy chorobę Alzheimera).

Więcej informacji o Microsoft Research Cambridge i jego projektach: http://research.microsoft.com/cambridge


Zobacz również