20 kwietnia 2007

TPAW, wersja druga

Na etapie analizy wyników pierwszej wersji testów, okazało się, że dobrze by było, aby dodawanie nowych testów było zautomatyzowane a serwer automatycznie przeanalizował wszystkie prace testowanych osób i na ich podstawie sporządził odpowiednie wykresy.

Idealne narzędzie do testów wyglądało by następująco:
  1. Użytkownik może wgrać na serwer własny obrazek do testów.
  2. Może wybrać ile kroków i jakie stopnie rozmycia ma mieć test.
  3. Otrzymuje link do testu, który może rozesłać testowanym osobom.
  4. Serwer analizuje co narysowały ankietowane osoby.
  5. W wyniku otrzymujemy raport w postaci opisu i wykresów.
Czyli działanie badacza ograniczało by się do umieszczenia nowego obrazka na serwerze i rozesłania linków.

Oczywiście można się także postarać o całe „zaplecze”, czyli bazę „testerów”, system powiadamiania o nowych testach, logowanie użytkowników i statystyki.

Niestety, ze względu na ograniczenia technologii klient-serwer oraz inne ograniczenia techniczne, realizacja takiego „idealnego narzędzia” w praktyce jest bardzo utrudniona.
Największe problemy to:
  • przygotowanie właściwego, szybkiego algorytmu rozmycia
  • napisanie skryptu rozpoznającego rysunki (OCR)
Zdecydowałem się na częściową rezygnację z „idealnych” założeń i przygotowanie wersji w miarę funkcjonalnej.

Zamiast dokładnego odpowiednika Gaussian Blur w Photoshopie udało mi się przygotować jego odpowiednik, który choć jest stosunkowo wolny, działa w miarę poprawnie. Wykonując system cache udało mi się odciążyć serwer i wielokrotnie przyspieszyć powtórne ładowanie obrazków.

Zamiast OCR zastosowałem metodę ręcznej oceny zebranych prac. Na początku — nad podstawie analizy rzeczowej — trzeba wyszczególnić cechy obrazka. Po zebraniu wyników, trzeba każdy rysunek ocenić, zaznaczając bądź nie występowanie na rysunku każdej z cech.

Na podstawie tak zebranych danych, można przygotować raport z badania.

Tym samym powstało narzędzie do wykonywania Testów Pogłębionej Analizy Wizualnej, z którego może skorzystać każdy.

Jak to działa?

  1. Należy wgrać obrazek na serwer: http://taat.pl/testy/tpaw/new_image.html
  2. Wybrać stopnie rozmycia, podglądając zmiany przyciskiem Upload (http://taat.pl/testy/tpaw/new_steps.php)
  3. Pod spodem wpisać dane testu i cechy z analizy rzeczowej i dodać nowy test przyciskiem Confirm
  4. Nowy test powinien się pojawić na: http://taat.pl/testy/tpaw/display_tests.php
    Tam też można znaleźć link, który należy rozesłać testowanym osobom (Begin test #…) oraz narzędzie do przeglądania i oceny prac (przycisk Browse results).

  5. Po ocenieniu prac, można zobaczyć raport z testu (View test summary). W raporcie znajduje się krótki opis testu, zestawienie obrazków oraz wykresy sporządone na podstawie ocen. Przykładowy raport: http://taat.pl/testy/tpaw/resultstid.php?tid=21


Zapraszam do testowania.

TPAW, wersja pierwsza

Test Pogłębionej Analizy Wizualnej wykonałem w wersji online.

Cały eksperyment przygotowałem po angielsku. Tak mi wygodniej (podczas pisania skryptów „myślę po angielsku”).

Całe założenie opierało się na następującej koncepcji:
  • przygotowanie obrazka do testów w Photoshopie
  • przygotowanie kolejnych, rozmytych kroków za pomocą filtra Gaussian Blur
  • umieszczeniu obrazków na serwerze
  • przygotowanie wyświetlania sekwencji rozmytych obrazków
  • zintegrowania sekwencji z mechanizmem rysowania online
  • wysłania linka z tak przygotowanym testem do ankietowanych osób
  • użytkownicy rysują to co widzą w kolejnych krokach, a wyniki są zapisywane na serwerze
  • wszystkie rysunki zbierane są w jednej tabeli zbiorczej i analizowane przez prowadzącego badanie
Na początku największym problemem było przygotowanie aplikacji, która pozwoliła by ankietowanym użytkownikom rysować na ekranie i zapisywać rysunki na serwerze.

Przyjąłem rozwiązanie następujące: użytkownik rysuje myszą obrazek, a aplikacja Flash przechwytuje pozycję kursora myszy w równych interwałach i zapisuje na serwerze.
Tym samym powstaje wektorowy obrazek tego co narysuje użytkownik. Na serwerze przechowywane są informacje o punktach.
Dzięki takiemu rozwiązaniu ilość przesyłanych danych jest mała, jakość rysunku zadowalająca, a dodatkowo rysowanie obrazka może zostać odtworzone punkt po punkcie tworząc film, na którym także widać, w jakiej kolejności ankietowany rysował obrazki.


W moim przykładowym teście udział wzięło około 70 użytkowników.
Testowane osoby zostały wybrane przypadkowo, przez ogłoszenie o możliwości wzięcia udziału w takim teście. Nie wszyscy zapisywali każdy krok badania, dodatkowo niektórzy nie traktowali badania poważnie rysując kwiatki lub różnego rodzaju obsceniczne cuda. Tym samym, tą część wyników trzeba odrzucić.

A wyglądało to mniej więcej tak:

Czarno biały obrazek źródłowy:

i przykładowe rozmycia:

Link, który otrzymywała ankietowana osoba:

Przykładowe rysunki ankietowanej osoby:

Ze względu na bardzo duże rozmiary,
nie podaję linku do tabelarycznego zestawienia wszystkich wyników.