O tym dokumencie
Ten dokument to Deliverable D5.6 („Ocena przypadków testowych (drugi przyrost)”) pracy pakiet WP5 („Przypadki testowe aplikacji i walidacja”). Dokument opisuje finał ocena przepływu narzędzia ALMA wykorzystywanego do implementacji aplikacji użytkownika końcowego od INTRACOM i IOSB.
Wstęp
Ten dokument dostarczalny 5.6 opisuje ocenę przepływu narzędzia ALMA drugiego przyrostu oraz ostateczne aplikacje testowe firm INTRACOM i IOSB. Ostateczna ocena odbywa się za pomocą w odniesieniu do listy wymagań użytkownika końcowego, podanej w Deliverable 5.1 na początku projektu ALMA, oraz propozycje wartości dla użytkownika końcowego zdefiniowane w Deliverable 6.5
Struktura dokumentu
Rozdział 2 zawiera krótki przegląd przepływu narzędzia ALMA z perspektywy użytkownika. w sekcja 3, IOSB i INTRACOM oceniają przypadki testowe i dają końcową ocenę dla Przepływ narzędzia ALMA w sekcji 4.
Ocena przypadków testowych
IOSB
Opis przypadku testowego
Rysunek 3-1 przedstawia schemat blokowy przypadku testowego przetwarzania obrazu IOSB, który jest aplikacja do śledzenia obiektów oparta na transformacji cech niezmiennej w skali (SIFT, David Lowe i in. [1]) algorytm. SIFT to algorytm przetwarzania obrazu używany do wykrywania interesujących punktów na obrazie (tzw. Keypoints) i opisać je jako cechy niezmiennicze skali (nazywane również deskryptorami w dalszej części). Na podstawie tych deskryptorów obiekty mogą być: znalezione ponownie w innych obrazach, niezależnie od ich skali lub orientacji.
Aplikacja będzie wdrażana w dwóch krokach. W pierwszej kolejności odczytywane są obrazy i interesujące cechy obiektów zostaną wyodrębnione za pomocą algorytmu SIFT. ten deskryptory tych interesujących funkcji będą przechowywane w tablicy deskryptorów i oznaczone w obrazy wejściowe do celów wizualizacji.
Drugi przyrost wykorzystuje wyniki pierwszego przyrostu. Znalezione deskryptory z tablica deskryptorów zostanie dopasowana do bazy danych z deskryptorami obrazów referencyjnych obiekty do śledzenia. Wreszcie pozytywne dopasowania, co oznacza pomyślną identyfikację obiekty w obrazie wejściowym zostaną następnie oznaczone i zwizualizowane na obrazie wyjściowym.
Kompilator Matrix-to-C
W celu dostosowania kodu referencyjnego Scilab funkcje rozdzielone w makrach Scilab były połączone w jednym pliku. Do pliku dołączono funkcję głównego sterownika, usuwając wszystko funkcjonalność odczytu, zapisu i wyświetlania obrazów, które nie będą wykorzystywane w systemie docelowym.
W pierwszym kroku większość wykorzystywanych zmiennych musi być otagowana wskazówką dotyczącą rozmiaru dla MFE kompilator, jeśli rozmiar nie może być wywnioskowany przez inicjalizację, jak na przykład:
//MFE?:mfe_size_noscalar(good_Keypoints,1:1000,5);
good_Keypoints = [];
W drugim kroku niektóre funkcje i wyrażenia Scilab muszą zostać ponownie zaimplementowane, ponieważ:
nie są obsługiwane przez kompilator MFE:
Zastąpienie funkcji wewnętrznych Scilab
Przykład:
temp = znajdź(odległość(:,x) <= min_dist*ambig_thr); //oryginalny kod Scilab
Funkcję wyszukiwania należy zastąpić pętlą ręczną:
//MFE?:mfe_size(temp,1,1:1000);
temp= [];
dla i=1:rozmiar(odleg,1);
if(dist(i,x) <= min_dist*ambig_thr)
temp(1,$+1) = ja;
kończyć się;
kończyć się;
Inne zastąpione funkcje i wyrażenia to
- oznacza funkcję
- a = H\b ; równanie rozwiązujące H a= b z macierzą H i wektorami a, b
- Struktury
Struktury nie są obsługiwane i należy je zastąpić dodatkowymi zmiennymi.
- Funkcja rozmiaru
Przykład:
[nbr_of_kp, indeks] = rozmiar (punkty kluczowe);musi być zastąpiony przez:
nbr_of_kp = rozmiar (punkty kluczowe, 1);
indeks = rozmiar (Kluczowe, 2); - Wyrażenia w funkcjach sterujących
Przykład:
if(max(rozmiar(temp))==1)
musi być zastąpiony przez:
len = max(rozmiar(temp));
jeśli(dł==1)