Użytkowanie multimediów
1. Standardy multimedialne
1.10. Przegląd narzędzi służących wyszukiwaniu
Konstruowane na podstawie indeksów narzędzia do wyszukiwania treści obrazowej wykorzystują różnorakie struktury słownikowe do konstrukcji indeksu, list obiektowych czy też mechanizmów dostępu do danych fizycznych przeszukiwanych obiektów multimedialnych. Poniżej krótko scharakteryzowano wybrane wyszukiwarki (zebrane przez P. Bonińskiego).
W pierwszej kolejności warto wymienić rozwiązania komercyjne, o szerokiej skali zastosowań.
QBIC
QBIC (Query By Image Content) jest pierwszym komercyjnym systemem indeksowania danych obrazowych ich zawartością, wprowadzonym na rynek przez firmę IBM. Mimo swojej prostoty, jest to jeden z bardziej znanych systemów typu CBIR, który z pewnością wpłynął na kształt późniejszych rozwiązań w tej dziedzinie.
QBIC obsługuje dużą gamę form zapytań: przykładowego obrazu, zakreślonego konturu, rozkładu kolorów bądź wybranego fragmentu tekstury. Wykorzystywane przez system indeksy są relatywnie proste i obejmują podstawowe cechy histogramowe, zmodyfikowane teksturowe cechy Tamury jako kombinacja skrośności, kontrastu i kierunkowości oraz cechy kształtu, w tym cyrkularność, mimośród, orientacja głównych osi i grupa momentów inwariantnych.
Efektywność systemu QBIC nie jest wysoka, tym niemniej znalazł on zastosowania komercyjne, np. był wykorzystywany przez słynne rosyjskie muzeum Ermitaż w Sankt Petersburgu. Funkcjonalność systemu QBIC jest obecnie dostępna w komercyjnym systemie zarządzania bazą danych IBM DB2 w ramach rozszerzenia oferowanego pod nazwą DB2 Image Extender.
Virage
System Virage jest kolejnym, szeroko znanym systemem typu CBIR, z zastosowaniami komercyjnymi. Obsługuje różne formy zapytań: przykładowy obraz, kontur, tekstura, rozkład kolorystyczny. Virage umożliwia modyfikację parametrów indeksowania poprzez przypisanie wag każdej wyznaczanej cesze. Koncepcja ta została po raz pierwszy zastosowana w praktycznym systemie właśnie w Virage i była często wykorzystywana w rozwiązaniach późniejszych.
System Virage znalazł zastosowanie w wielu instytucjach i firmach, choćby w stacji telewizyjnej CNN, w dużej mierze dzięki integracji z bazą danych firmy Sybase oraz Oracle. Swego czasu Virage był też stosowany jako silnik wyszukujący w usłudze Altavista PhotoFinder, co jest dowodem skuteczności tego rozwiązania.
Natomiast zdecydowana większość prac nad systemami indeksowania zawartością prowadzona jest na uniwersytetach i innych środowiskach badawczych, dlatego tutaj właśnie można znaleźć największe bogactwo koncepcji i rozwiązań w obszarze systemów wyszukiwania. Poniżej wymieniono kilka przykładowych rozwiązań.
SCORE
SCORE (System for COntent based REtrieval of pictures) proponuje specjalny model reprezentacji zawartości obrazów. Każdy z obrazów w bazie danych jest opisany przez zmodyfikowany diagram encji reprezentujących obiekt oraz związków. Encje nie oznaczają tu jednak typów, ale konkretne obiekty. Podobnie symbol związku dotyczy jednego konkretnego powiązania, a nie zbioru powiązań. Wyróżnione są dwa typy związków: akcje opisują pewne sytuacje rozpoznawane w obrazie (np. pies goni kota), zaś relacje przestrzenne określają względne pozycje występujących obiektów (na lewo, pod spodem, z przodu).
Tworzenie zapytania polega na graficznym wyborze kilku obiektów z palety ikon. Następnie użytkownik określa dodatkowe parametry i atrybuty obiektów (kolor, rozmiar, liczba) oraz definiuje żądane związki między obiektami. Wykonanie zapytania uwzględnia przybliżone dopasowywanie wartości atrybutów oraz akcji (np. sosna jest drzewem) i reguły dedukcji dla związków przestrzennych (np. przechodniość relacji na lewo).
Photobook
Jednym z najbardziej znanych systemów jest opracowany w MIT Media Lab system Photobook. Rozwiązanie to jest interesujące ze względu na próbę połączenia koncepcji w pełni automatycznego indeksowania obrazów zawartością z adnotacjami dodawanymi przez użytkownika, wspierającymi proces wyszukiwania. Wykorzystywane są cechy kształtu i tekstury, posiada też zestaw cech dedykowany rozpoznawaniu twarzy (jest to efekt współpracy z firmą Viisage Technology, która zaowocowała systemem FaceID, wykorzystywanym przez policję w Stanach Zjednoczonych).
SMDS
SMDS jest jedną z pierwszych prób opracowania podstaw technologii multimedialnych. Formalnie zdefiniowano instancję medium, która reprezentuje jeden konkretny typ mediów, np. audio, wideo, obrazy, dokumenty. Instancja medium zawiera w sobie poszczególne egzemplarze danego typu (np. ścieżka audio) oraz cechy opisujące zawartość tych egzemplarzy. Określono również formalnie strukturę bazy danych, która oprócz instancji mediów obejmuje również elementy pozwalające na osłabianie treści zapytań, np. hierarchię generalizacji cech (mustang jest przykładem forda) lub dopuszczenie substytutów wartości atrybutów (kolor żółty można zastąpić pomarańczowym).
Zaproponowane definicje są na tyle ścisłe, że pozwalają utworzyć język zapytań w formie operacji logicznych (podobny do języka PROLOG). Wykorzystano także język bazujący na składni SQL, który na niższym poziomie wykorzystuje odpowiednie formuły logiczne. Poniższe zapytanie w języku SMDS-SQL znajduje obrazy, na których dostrzegalny jest biały ford:
SELECT M<br />
FROM smds source1 M<br />
WHERE FindType(M)=image<br />
AND FindObjWithFeature(ford)<br />
AND Color(ford, white, S)
SEMCOG
Język CSQLjest częścią systemu zarządzania bazą danych SEMCOG, który służy do przechowywania obrazów statycznych. System wprowadza hierarchiczną strukturę modelowania obrazów, która wspiera zarówno zapytania na poziomie całych obrazów, jak też poszczególnych obiektów. Dodatkowo uwzględniono dwojaki charakter przechowywanych obrazów -- ich cechy wizualne i semantyczne. Uwzględnienie cech wizualnych pozwala np. na tworzenie zapytań o podobieństwo dwóch obrazów (dotyczące kształtów, kolorów, rozmiarów), natomiast cechy semantyczne umożliwiają wyszukiwanie obrazów na podstawie opisu treści obrazowej, który jest definiowany ręcznie przez użytkownika lub półautomatycznie przez algorytmy przetwarzania
obrazów.
Model zakłada, że obraz jest obiektem złożonym z wielu obiektów składowych, które mają określoną semantykę i cechywizualne (np. człowiek, samochód). Struktura każdego obiektu obejmuje więc jego obraz (zbiór pikseli), cechy semantyczne i relacje przestrzenne. Obiekty mogą również zawierać kolejne podobiekty i relacje przestrzennemiędzy nimi. W zapytaniach można specyfikować kryteria selekcji, odwołujące się do semantyki obrazów, wizualnego podobieństwa obrazów oraz relacji przestrzennych, określonych w modelu obrazu. Poniższe, przykładowe zapytanie wyszukuje wszystkie obrazy, na których widoczna jest osoba na prawo od obiektu podobnego do zadanego obrazu obiektu.
Język MOQL (Multimedia Object Query Language)
MOQL jest rozszerzeniem języka OQL opracowanego dla obiektowych baz danych. Celem twórców była reprezentacja dowolnych danych multimedialnych. Sposób przechowywania nie został konkretnie określony, natomiast założono, że oprócz samych mediów, dostępne będą również informacje semantyczne dotyczące interesujących obiektów wchodzących w ich skład.
Rozszerzenia OQL dotyczą przede wszystkim nowych wyrażeń, jakie można stosować w ramach klauzuli WHERE. Są to m.in. predykaty i funkcje przestrzenne –- np. intersect, predykaty i funkcje temporalne – np. overlap, predykat CONTAINS. Składnia zapytań została również poszerzona o specjalną klauzulę PRESENT, która daje szerokie możliwości definiowania sposobu prezentacji wyników.
Przedstawione poniżej, przykładowe zapytanie wyszukuje pary (obraz, wideo), gdzie wszystkie samochody widoczne na obrazku mają być wyszukane z wideo-klipu. Obraz i wideo są prezentowane w oknach o określonej pozycji i rozmiarze. Pokaz obrazu trwa 20 sekund i rozpoczyna się 10 sekund przed początkiem klipu wideo, który jest odtwarzany przez 30 minut.
SELECT m, v<br />
FROM Images m, Videos v<br />
WHERE FOR ALL c IN (SELECT r FROM Cars r WHERE m CONTAINS r)<br />
v CONTAINS c<br />
PRESENT atWindow(m, (0,0), (300, 400))<br />
AND atWindow(v, (301, 401), (500, 700))<br />
AND play(v, 10, normal, 30*60) parStart display(m, 0, 20)
ASSERT
ASSERT jest jednym z nielicznych przykładów systemu CBIR do zastosowań medycznych. Jest on dedykowany indeksowaniu obrazów CT (Computed Tomography) płuc ze wsparciem detekcji symptomów rozedmy płuc. Do oceny charakteru i rodzaju zmian wykorzystano deskryptory cech teksturowych.
GIFT/medGIFT
Bardzo interesującym i dostępnym w ramach fundacji GNU jest GNU Image Finding Tool (GIFT), opracowany na uniwersytecie w Genewie system typu CBIR. Do komunikacji z klientem wykorzystuje on bazujący na XML protokół MRML (Multimedia Retrieval Markup Language){http://www.mrml.org), dający szereg możliwości, takich jak: uzyskanie informacji o kolekcjach obrazów na serwerze, dostępnych algorytmach, ich parametrach, itp. Ustandaryzowany sposób komunikacji teoretycznie umożliwia uniezależnienie klienta od konkretnego rodzaju serwera.
Z pewnością GIFT jest interesującą, rozwojową platformą do budowy własnych rozwiązań typu CBIR, szczególnie, że projekt dostępny jest w ramach licencji GNU GPL daje dostęp do pełnych kodów źródłowych.
FIRE
Flexible Image Retrieval Engine (FIRE) jest projektem związanym z projektem IRMA, mającym na celu realizację systemu typu CBIR o uniwersalnym przeznaczeniu, z architekturą umożliwiającą łatwą rozbudowę systemu o nowe cechy, metryki i struktury danych.