Czarne skrzynki

Posted 8 październik 2009 by pak4
Categories: Bez kategorii

Koledzy opowiadali o swoim zastosowaniu HMM. Tak słuchałem, słuchałem i zacząłem mieć wrażenie, że ja już to znam. Nie metodę (choć owszem, obijała mi sie o uszy w różnych zastosowaniach), ale podejście. Tak traktowano kiedyś sterowniki rozmyte, sieci neuronowe, algorytmy genetyczne — nie interesowało (większości), co jest w środku. Ot, mamy ‘czarną skrzynkę’, tu wrzucamy dane, tu mamy algorytm, który ustala parametry, a tu mamy wyniki. I to wszystko.

Ciekawe tylko jakie jeszcze metody staną się modne dzięki tej łudzącej prostocie.

Trudności

Posted 16 czerwiec 2009 by pak4
Categories: Bez kategorii

Tags:

Triangulation scanners may perform poorly on materials that are shiny, have low surface albedo, or that have significant subsurface scattering.
Bernardini F., Rushmeier H., The 3D Model Acquisition Pipeline, Computer Graphics Forum, vol. 21 (2002), no. 2, pp. 149-172

To taka prawda, którą zna się z doświadczenia, ale która jest słabo udokumentowana, bo i któżby chciał się chwalić własnymi słabościami?

Przesłać pokrzywy

Posted 21 maj 2009 by pak4
Categories: Bez kategorii

Owcarek podchalański napisał: Jeśli do sie wkleić pokrzywy jako załącnik do meila, to jo moge pare pokrzyw spod Turbacza przesłać, kieby ftosi fcioł.

Obawiam się, że się nie da. Należałoby zacząć od tego, co to jest pokrzywa w meilu. Pierwsza myśl jest oczywista — to taka roślinka na obrazku. Dałoby się. Tyle, że po ewentualnym wydrukowaniu i przyrządzeniu okazałoby się, że smakuje jak papier. No, może z dodatkiem barwników.

Druga myśl — to obiekt trójwymiarowy. No i jest problem — trochę jak z obrazem, wszystko zależy od dokładności, ale oddanie pokrzywy będzie oznaczało setki tysięcy, jeśli nie miliony punktów — czyli kilkadziesiąt megabajtów (przynajmniej). O wiele za dużo na załącznik… No i wydruk wcale nie musi smakować lepiej — gipsem, plastikiem lub żywicą. W tym ostatnim przypadku może być trójący.

A może chodzi o kod DNA? Tu znowu mamy problemy, gdyż nie znam długości genomu pokrzywy. Genom roślin różni się istotnie w zależności od gatunku — najmniejszy to 124  852 Mbp, ale już w przypadku róży jest dziesięciokrotnie większy, w przypadku tytoniu niemal pięćdziesięciokrotnie. Weźmy rozmiar genomu róży — 1,25 Gbp. To jednak pary nukleotydów, żeby uzyskać zapis binarny należałoby je pomnożyć przez dwa. 2,5 GB to o wiele za dużo jak na załącznik mejla…

(Oczywiście pominąłem trudności w odtwarzaniu. Pominąłem też inne informacje poza genomem, istotne dla odtworzenia rośliny.)

Skanery 3D: zastosowania

Posted 12 maj 2009 by pak4
Categories: Bez kategorii

Tags: ,

Wczoraj pytano mnie o zastosowania skanerów przestrzennych. I miałem problemy z odpowiedzią, przynajmniej tak z zaskoczenia. To tak, jak z wieloma nowymi rzeczami — widzi się dzisiątki możliwych zastosowań, ale gdzie sa te praktyczne?

Zacznijmy od najbliższych mi — czyli skanowanie obiektów ‘dziedzictwa kulturowego’. Rzeźb, płaskorzeźb, budynków (z zewnątrz i od wewnątrz). A to wszystko dla: dokumentowania i wizualizacji. (Czyli dla konserwatorów i internautów.)

U nas wciąż takie prace są traktowane jako pewna sensacja (zresztą, co tu mówić — widziałem plakaty Nocy Muzeów, gdzie chwalono się możliwością prezentacji filmów z YouTube’a — czyli wciąż skok technologiczny jest przed muzeami).

Zastosowanie kolejne, o którym niewiele wiem, poza tym, że jest dość popularne, to tak zwana ‘odwrotna inżynieria’. Czyli robienie projektu na podstawie istniejącego urządzenia (choćby prototypu). Czyżbym nie wiedział dlatego, że to sposób na podróbki?

Zresztą wiele rzeczy można badać dla potrzeb nowych produktów — jeden z producentów skanerów chwali się na przykład zastosowaniem własnego urzadzenia do dokładnych pomiarów biustów dla potrzeb firm bieliźniarskich…

Gdy jesteśmy przy firmach — kolejne ‘wzorcowe’ zastosowanie to kontrola jakości produkcji. Czyli — sprawdzenie jak się ma wyprodukowane urządzenie, czy podzespół do modelu. Zastosowanie tyleż ważne, co łatwo umykające uwagi postronnego obserwatora.

(I dalej: słyszę o wykorzystywaniu skanerów do obmierzania hal produkcyjnych dla potrzeb reorientacji produkcji. W dużych firmach to się opłaci. A przynajmniej opłacało, gdyż wskazywano na przykłady z obecnie kulejącego przemysłu motoryzacyjnego.)

I wreszcie ostatnie zasotoswanie — kryminalistyka. Skaner dając trójwymiarowy model lepiej dokumentuje, czy to miejsce przestępstwa, czy uszkodzenia (np. kości) niż ‘płaskie’ fotografie. Umożliwia też wirtualne badanie lotu pocisków (na podstawie dziur), jak też dopasowanie narzędzie do uszkodzenia, którego dokonało.

To wszystko zagadnienia, z którymi się spotkałem (a jeszcze medycyna i pomiary protez zębowych, a jeszcze pomiary… owoców…) — jak widać możliwości jest dużo, ale też można się domyślać, że wciąż są ograniczenia. Urządzenia są dość drogie, jeszcze droższe jest oprogramowanie. Obsługa wymaga odpowiednich kwalifikacji. A dokładność nie dość wysoka do niektórych zastosowań. (I limiotowana mocami obliczeniowymi komputerów.)

Misinterpretation

Posted 15 kwiecień 2009 by pak4
Categories: Bez kategorii

Sophisticated representational systems are capable of making mistakes [...]. My own visual faculties are generally good enough that when I think I am looking at a dog, it really is a dog. As proud as I am of this fact, this miracle of perception occasionally breaks down. Late at night in a fog-shrouded park, raccoons look like dogs, shadows look like people, and I am frequently confused.

Christopher Parisien, Paul Thagard, How Stanley the Volkswagen Represents the World, Minds & Machines (2008) vol. 18, p. 173

Modele

Posted 27 luty 2009 by pak4
Categories: Bez kategorii

Edwin Bendyk pisze o błędnych modelach matematycznych, które sprawiły, że niepotrzebnie wybito bydło w obawie przed pryszczycą.

To przypomina mi pytanie profesora, mojego długoletniego szefa, adresowane do specjalistów od modelowania (gdy tylko podpadli… i tylko wtedy, niestety):

– Co państwo modelujecie?

I tu padały zwykle odpowiedzi wskazujące na różne rzeczywiste obiekty i zjawiska. Profesor przecząco kręcił głową:

– Nie. Państwo modelujecie nie rzeczywistość, a własne wyobrażenia o niej.

I miał rację.

Nie oznacza to, że modelowanie jest złe. Oznacza to tylko, że można je wykorzystać zasadniczo w trzech celach. Po pierwsze, weryfikacji własnych wyobrażeń (czy hipotezy dotyczące zjawisk odpowiadają badanej rzeczywistości?). Po drugie, dla dobrania parametrów modelu (także przez porównanie go z rzeczywistością, ale z różnymi parametrami). Po trzecie wreszcie, po takim zweryfikowaniu modelu, testowaniu zachowania systemu (zjawiska, obiektu…) poza zakresem, który jest możliwy dla badań empirycznych.

Ludzie i roboty

Posted 24 luty 2009 by pak4
Categories: Bez kategorii

W drodze do pracy przeczytałem artykuł Geoggreya Landisa (NASA) pt. Robots and humans: synergy in planetary exploration (Acta Astronautica 55 (2004) str. 985-990). Przyznaję, że zupełnie odwykłem od artykułów prezentujących nie precyzyjnie przeprowadzone badania, a swobodne wizje i wytyczające kierunki. (Swoją drogą nauczyłem się używać, że pomysłów jest dużo i są tanie, że burze mózgów bywają aż nazbyt efektywne, natomiast problemem jest ubranie pomysłów w praktykę. Tak bardzo czasochłonną i pełną diabełków tkwiących w szczegółach.)

Mimo własnej rezerwy wobec artykułu, prezentującego na ilustracji (nr 3, str. 986) kosmonautę jako kowboja prowadzącego swojego robota jak muła, sam tekst okazał się dość inspirujący, choć propozycje są proste.  Autor widzi otóż trzy zastosowania robotów.

  • Pierwsza, to roboty zwiadowcy, autonomiczne, zbierające i przesyłające dane.
  • Druga, to ‘teleroboty’ — zdalnie sterowane przez ludzi. (I — dla mnie ciekawostka — w miarę zbliżone do człowieka, przynajmniej odwzorowujące jego zdolności manualne i widzenie przestrzenne, a to dla łatwiejszego zdalnego operowania robotem, przykładem jest “robot-centaur”.)
  • Trzecia — roboty-muły (to one mnie tak rozbawiły), noszące ekwipunek za kosmonautą-zwiadowcą.

Idee inspirujące, bo wskazują one kilka dość kierunków interesujących prac badawczych:

  • - autonomiczności i sztuczną inteligencję robota,
  • - zdolności pokonywania terenu podobne do człowieka, z łatwym prowadzeniem przez człowieka,
  • - wreszcie zdalne sterowanie przy wykorzystaniu ruchów rąk (nóg też?), wraz z transmisją stereoobrazu.

Mamy tu wbrew pozorom sporo rzeczy do zrobienia — choćby taka prosta, wydawałoby się, rzecz, jak sprawna transmisja w czasie ‘rzeczywistym’ obrazu (przestrzennego — powiedzmy, że dwóch obrazów) i informacji o ruchu operatora, wymagałaby dobrze opracowanej kompresji obrazów, przemyślenia rozłożenia obliczeń między komputer pokładowy robota, a centrum sterowania, itp. Na to wszystko zaś nakładać się mogą ograniczenia związane z masą wynoszonego w przestrzeń kosmiczną pojazdu, oraz odpornością jego elektroniki na promieniowanie kosmiczne (które w przeszłości ograniczało moc obliczeniową pokładowych komputerów).

Widzenie przestrzenne (2)

Posted 23 styczeń 2009 by pak4
Categories: Bez kategorii

Myśląc o postrzeganiu przestrzennym, myślimy przede wszystkim o widzeniu dwuocznym. Cóż więc prostszego, niż wyposażyć komputer w dwie kamery?

Rzeczywiście — wyposażenie jest dość proste. (W gruncie rzeczy dwie kamery wcale nie są potrzebne — można wykorzystać jedną i lustra, albo jedną i ruch.) Niestety — to jedna ‘prosta’ rzecz, którą trzeba zrobić.

System z dwoma kamerami (tak jak z oczami) wykorzystuje fakt, że oddalony obiekt jest w obu obrazach przesunięty. Różnica przesunięcia maleje z odległością i dość prosto można wyliczyć wzór pozwalający odległość wyliczyć.

Pozostaje jedno ‘ale’ — które punkty na obrazach sobie odpowiadają. Dla nas to oczywiste i nawet nie myślimy o tym, jak sami punkty z sobą łączymy. Nie jest to oczywiste dla komputera.

Najbardziej oczywiste rozwiązanie, to poszukiwanie takich samych framgentów na obu obrazach.  Dla każdego piksela więc, bierze się go wraz z otoczeniem (sąsiadami w odpowiednio dobranej ramce) i próbuje dopasować do każdego piksela (z otoczeniem) w drugim obrazie. Idealnego dopasowania raczej nie uzyskamy (choćby dlatego, że patrząc z innego punktu mamy trochę inne oświetlenie i skróty perspektywiczne), ale możemy w każdym przypadku wyliczyć różnicę obu grup pikseli. Najmniejsza różnica wskaże najlepsze dopasowanie — możemy więc przyjąć, że wiemy gdzie leży odpowiednik.

Tak brzmi teoria. Z praktyką jest gorzej. A bierze się to stąd, że teoria zapomina, iż może być więcej podobnych grup pikseli. Choćby płaskie powierzchnie jednolitego koloru — skąd komputer ma wiedzieć jak się ma jeden fragment takiej powierzchni do innego? Albo nawet krawędzie między dwoma jednolitymi powierzchniami? Na całej krawędzi będzie występować podobne podobieństwo. Albo powtarzające się wzory…

Wiele z tych zastrzeżeń znika, gdy przyjmie się prostą zasadę poszukiwania odpowiednika, tylko tam gdzie może on być. Dokładniej: w przedziale, gdzie może on być. Zwykle kamery są ustawione równolegle — przy dobrym ich dopasowaniu można dla każdego piksela wyznaczyć linię (często prostą!) na której muszą się znajdować jego odpowiedniki w drugim obrazie.

Nie zawsze da się określić położenie z dokładnością do linii — ale już kilka linii stanowi istotną pomoc. Pomoc stanowi też przyjęcie założeń na zakres postrzeganej przestrzeni — możemy nie dopuszczać dopasowań zbyt ‘dalekich’ i zbyt ‘bliskich’.

Jakie to daje efekty? Najkrócej mówiąc niezłe, choć nie rewelacyjne. Nawet z ograniczeniami wciąż istnieje problem jednolitych powierzchni. Właściwie wszyscy zajmujący się tematem dodają, że nie należy oczekiwać, że zostanie ustalona odległość poza ‘krawędziami’ (z tym, że chodzi tu także o zmiany kolorów). Drugie ograniczenie, to kwestia obiektów niewidocznych w jednej kamerze — my ludzie, zwykle wiemy (z kontekstu), gdzie one są — komputer ma tu ‘białą plamę’.

Mimo wszystko, to najskuteczniejsza z metod, w których wykorzystuje się parę kamer (i nic więcej). Inne metody bywają szybsze, ale są mniej dokładne.

Widzenie przestrzenne (1)

Posted 11 styczeń 2009 by pak4
Categories: Bez kategorii

W podręczniku psychologii* przedstawiono następujące ‘wskazówki głębi’, które pozwalają nam postrzegać przestrzennie świat:

1. Wskazówki dwuoczne.

1. a. Konwergencja.

1.b. Różnica siatkówkowa.

2. Wskazówki jednooczne.

2.a. Brak ruchu.

2.a.1. Wielkość.

2.a.2. Wysokość.

2.a.3. Perspektywa liniowa.

2.a.4. Interpozycja (okluzja).

2.a.5. Gradient powierzchni.

2.b. Ruch.

2.b.1. Paralaksa ruchowa.

Nie piszę w tym blogu o psychologii. Piszę o bliskich mi działach informatyki (czasem może robotyki) i tym, co mnie naprawdę interesuje nie jest postrzeganie głębi przez człowieka, a przez maszynę. Jest to zadanie bardzo trudne dla komputera, choć wykonywane intuicyjnie przez ludzi**. Ale to, że ludziom się udaje stanowi inspirację dla badaczy na całym świecie. I każda z dróg, które służą postrzeganiu przez człowieka ma swój informatyczny odpowiednik. A nawet dróg jest więcej (może psycholodzy coś przeoczyli?), gdyż mozna wykorzystać ostrość wzroku, czy postać rzucanego cienia.

Metod jest bardzo wiele i omówienie ich przekracza możliwości tej notki. Ta notka ma jedynie służyć za zapowiedź notek przyszłych, poświęconych kolejno stosowanym metodom.

—-

*) Stephen M. Kosslyn, Robin S. Rosenberg, Psychologia, Znak 2006

**) Czytałem już wniosek stąd wyciągnięty, że należy przemyśleć na nowo, co jest proste, a co jest trudne, i co naprawdę wymaga inteligencji, a co nie. To wniosek bardzo uproszczony, bo trudno porównywać zmienne zadania, z rozwiązaniami ’sprzętowymi’, także tymi zrealizowanymi w toku ewolucji.

Wizualizacja 3D

Posted 23 grudzień 2008 by pak4
Categories: Bez kategorii

Właśnie dostałem mejla od kolegi, którym wstrząsnęły wiadomości podawane w telewizji, konkretnie stwierdzenie, że gliwicka firma I3D, która zdobyła kontrakt na wizualizację wnętrz Boeninga 787 posiada jedyny w Polsce projektor 3D.

Sukces firmy oczywiście się chwali, ale stwierdzenie, że posiada ona jedyny w Polsce projektor 3D jest, delikatnie mówiąc, nieścisłe — widziałem przynajmniej trzy inne (jak najbardziej w Polsce, więcej — w tych samych Gliwicach i choć mam powody sądzić, że Gliwice są tu ponad średnią krajową, to jednak spodziewałbym się przynajmniej paru innych w największych polskich centrach naukowo-uniwersyteckich) — i to nie licząc kin IMAX 3D. Jeden znajduje się w moim miejscu pracy.

Ale blog ma być “popularnonaukowy”, więc nie mogę ograniczyć się do marudzenia na niekompetencję dziennikarzy telewizyjnych — powinienem powiedzieć jak to działa.

Otóż może to działać na kilka sposobów. Zasadniczo potrzebujemy okularów — istnieją co prawda metody wizualizacji 3D bez okularów (wydruk lentykularny, znany z ‘pocztówek 3D’; czy monitory trójwymiarowe*) mają one jednak swoje ograniczenia (odpowiednio: statyczność prezentacji oraz ograniczony obszar, z którego możemy widzieć przestrzennie).

Sposób z okularami wszyscy znają — idea jest ta sama, co w obrazkach trójwymiarowych dla dzieci — mamy dwa nałożone na siebie obrazy, z których każdy przypisano do jednego oka. Zadaniem okularów (dobranych do techniki druku) jest odfiltrowanie dla właściwego oka odpowiedniego obrazu.

I tu pojawia się kilka możliwości.

Po pierwsze, można podzielić obrazy kolorami, to jednak się odbija na jakości barw. (Choć opracowano już metodę tak dzielącą spektra barwne, by ludzkie oko nie odczuwało straty.)

Po drugie, można zastosować obrazy o różnej polaryzacji światła. Rozwiązanie to jest bardzo eleganckie — obrazy są spolaryzowane w kierunkach do siebie prostopadłych. Okulary posiadają filtry polaryzacyjne. Wadą jest cena — ekran, na który rzutujemy obrazy (z odpowiednio spolaryzowanych dwóch projektorów), musi zachowywać polaryzację światła odbitego. To oznacza wykorzystanie drogich materiałów do jego konstrukcji.

Wreszcie istnieje technika ‘dynamiczna’, która prezentuje oba obrazy naprzemiennie z dużą częstotliwością. Okulary są zsynchronizowane (zastosowanie ma łączność bezprzewodowa) z projektorem, odpowiednio ‘zamykając’ i ‘otwierając’ się. Tak działa system, który znam z pracy — to wbrew pozorom jedno z tańszych rozwiązań.

Czy można zrobić taki zestaw z domu? Zapewne najprościej (i najtaniej) byłoby z dwoma projektorami (podłączonymi do jednej karty) i podziałem kolorów — choć ze stratą dla jakości barw. Dwa projektory, odpowiednie nakładki na soczewki (separujące), okulary — jest to wydatek spory, ale i Polacy się bogacą, a elementy składowe tanieją — sądzę, że niejednego na to stać. I zawsze można liczyć na to, że dla dziennikarzy wciąż będzie to ‘jedyny system w Polsce’.

*) Technika druku lentykularnego polega na naniesieniu folii lentykularnej (soczewkowej) na odpowiednio przygotowany wydruk. Wstępnie należy więc przygotować serię obrazów płaskich odpowiadających różnym punktom widokowym (robiąc fotografię, bądź odpowiednią wizualizację, na przykład w 3DMaksie), następnie podzieić je na pasma i ułożyć, tak by pasma odpowiadały ułożeniu soczewek folii. Brzmi to w sposób skomplikowany, ale jest osiągalne nawet w domowych warunkach (pod warunkiem zakupu folii i odpowiedniego programu) — po dobraniu wielkości pasem do rodzaju folii i drukarki, wystarczy trwale nałożyć folie (dopasować można ruchem ręki).

Monitory trójwymiarowe działają podobnie, choć obrazy są tylko dwa, a obraz de facto wyświetlany pod dwoma różnymi kątami (także z podziałem na pasma). Technologia ta także tanieje, ale trzeba siedzieć sztywno przed monitorem by dobrze (przestrzennie) widzieć.