Konfiguracja



WSTĘP

Konfigurowanie oznacza wybór i połączenie zestawu danych komponentów w celu utworzenia agregatu (lub agregatów) spełniającego określone wymagania. Wszystkie typy komponentów są predefiniowane i żaden nowy typ komponentu nie może zostać utworzony podczas procesu konfiguracji. Wynikiem konfiguracji mogą być obiekty fizyczne (takie jak samochody lub windy), byty niefizyczne (takie jak usługi lub procesy złożone) lub heterogeniczne całości złożone zarówno z części fizycznych, jak i niefizycznych (takie jak systemy komputerowe z ich komponentami sprzętowymi i programowymi). Proces konfiguracji musi uwzględniać zarówno ograniczenia wewnętrzne, jak i zewnętrzne: te pierwsze odnoszą się do typu łączonego obiektu (obiektów) (a zatem obowiązują dla wszystkich jednostek tego typu) i wynikają głównie z interakcji między komponentami, podczas gdy te drugie zazwyczaj reprezentują wymagania, które powinien spełniać końcowy agregat (agregaty). Wszystkie te ograniczenia mogą być bardzo złożone i w wielu przypadkach utrudniać ręczne rozwiązywanie problemów konfiguracyjnych. Złożoność konfiguracji i jej znaczenie w wielu dziedzinach zastosowań pobudziły zainteresowanie jej automatyzacją. Od samego początku sztuczna inteligencja dostarczała różnych skutecznych technik do osiągnięcia tego celu. Jednym z pierwszych konfiguratorów był również jeden z pierwszych systemów eksperckich, który odniósł sukces komercyjny: system oparty na regułach produkcyjnych o nazwie R1 (McDermott, 1982, 1993). R1 został opracowany na początku lat osiemdziesiątych do konfiguracji systemów komputerowych VAX i jest wykorzystywany od kilku lat przez Digital Equipment Corporation. Od tego czasu konfiguracja zyskała na znaczeniu zarówno w przemyśle, jak i w marketingu, również ze względu na wsparcie, jakie oferuje strategii biznesowej masowej personalizacji, a także nowe możliwości komercyjne, jakie oferuje Internet. Konfiguracja jest obecnie ważnym obszarem zastosowań wielu technik sztucznej inteligencji i wciąż stanowi interesujące zagadnienie dla badań naukowych.

KONTEKST

Rosnąca złożoność i rozmiar produktów konfigurowalnych uświadomiły nam, że konfiguratory oparte na regułach produkcyjnych, takie jak R1, nie są skuteczne, szczególnie w fazie utrzymania baz wiedzy. W rzeczywistości zmiana jednej reguły może wymagać, jako efektu ubocznego, zmiany kilku innych reguł itd., a w przypadku niektórych produktów biblioteka komponentów może się często zmieniać. Aby częściowo rozwiązać ten problem, w obecnych systemach konfiguracyjnych wiedza dziedzinowa i wiedza sterująca służąca do rozwiązywania problemów są rozdzielone. Wiedza dziedzinowa jest reprezentowana w języku deklaratywnym, a wiedza sterująca (tj. mechanizmy wnioskowania) jest ogólna (tj. niezależna od konkretnego problemu do rozwiązania). Jest to powszechne podejście we współczesnych systemach opartych na wiedzy. Konfigurator opiera się na jawnej reprezentacji ogólnego modelu konfigurowalnych encji, który niejawnie reprezentuje wszystkie prawidłowe jednostki produktu. Mechanizmy wnioskowania implementują wiedzę sterującą i wykorzystują ją do wyciągania wniosków i obliczania konfiguracji. W odniesieniu do wiedzy dziedzinowej istnieje ogólna zgoda co do tego, jakie koncepcje należy reprezentować. W pracy (Soininen, Tiihonen, Männistö i Sulonen, 1998) autorzy wprowadzają powszechnie akceptowaną konceptualizację problemów konfiguracyjnych. Konceptualizacja ta obejmuje koncepcje:

•  komponentów, które są składnikami konfiguracji;
•  części opisujących strukturę kompozycyjną;
•  portów modelujących połączenia i kompatybilność między komponentami;
•  zasobów generowanych, używanych lub konsumowanych przez komponenty;
•  funkcji reprezentujących funkcjonalności;
•  atrybutów używanych do opisu komponentów, portów, zasobów i funkcji;
•  taksonomii, w których można organizować typy komponentów, portów, zasobów i funkcji;
•  ograniczeń określających warunki, które muszą spełniać konfiguracje.

Rysunek przedstawia uproszczony fragment wiedzy domenowej dotyczącej konfiguracji komputerów PC.



Opisuje on wszystkie warianty komputerów PC ważne dla danej domeny. Relacje typu "ma-część" modelują strukturę kompozycyjną komputerów PC (np. każdy komputer PC ma jeden lub dwa monitory, płytę główną itd.). Każdy komponent komputera PC może być typu podstawowego (niekonfigurowalnego) (np. monitor) lub typu zagregowanego (potencjalnie konfigurowalnego) (np. płyta główna). Podano kilka istotnych relacji taksonomicznych (np. dyski twarde są SCSI lub EIDE). Podstawowe komponenty mogą być połączone przez porty (podano tylko kilka portów): każdy port łączy się z co najwyżej jednym innym portem; dla niektórych portów połączenie jest opcjonalne (np. dla eide_port), dla innych obowiązkowe (np. dla device_eide_port). Niektóre atrybuty (np. cena) opisują komponenty. Zestaw ograniczeń modeluje interakcje między komponentami: np. trzecie ograniczenie określa, że dyski twarde muszą zapewniać wystarczającą ilość miejsca, co jest zasobem zużywanym przez systemy operacyjne. Rysunek 3 opisuje konkretny wariant komputera PC, spełniający wymagania określone na rysunku 2 (zawierającym również kryterium optymalizacji ceny).





KONFIGURACJA AUTOMATYCZNA

Pomimo powszechnego konsensusu co do konceptualizacji problemu, istnieje szeroki wachlarz podejść do konfiguracji, odwołujących się do różnych paradygmatów sztucznej inteligencji. Można wyróżnić dwa główne nurty obecnych podejść do konfiguracji: frameworki oparte na ograniczeniach i frameworki oparte na logice. Frameworki oparte na ograniczeniach kładą nacisk na kombinatoryczne aspekty problemów konfiguracyjnych o dużych przestrzeniach poszukiwań i niewielkiej liczbie rozwiązań, podczas gdy frameworki oparte na logice kładą nacisk na opis struktury kompozycyjnej produktu. Jeśli chodzi o frameworki oparte na ograniczeniach, powszechnie stosowane są podejścia oparte na problemie spełniania ograniczeń (CSP) i jego rozszerzeniach. W szczególności klasyczny paradygmat CSP został rozszerzony w celu przezwyciężenia niektórych jego ograniczeń. W rzeczywistości, z jednej strony, w klasycznym CSP zestaw zmiennych jest stały i wszystkim im przypisuje się wartości w każdym rozwiązaniu. Z drugiej strony, w zadaniu konfiguracji liczba i typy komponentów, które będą częścią ostatecznej, prawidłowej konfiguracji, zwykle nie są znane z góry, ponieważ są wybierane przez konfiguratora w trakcie procesu konfiguracji. Ten fakt motywował wprowadzenie paradygmatu Dynamic CSP (DCSP) (znanego również jako Conditional CSP). DCSP jest definiowany - jako klasyczny CSP - na podstawie stałego zestawu zmiennych, ale - w odróżnieniu od klasycznego CSP - w fazie rozwiązywania problemu bierze pod uwagę tylko podzbiór zmiennych istotnych dla rozwiązania (tj. zmienne aktywne). DCSP formalizuje pojęcie określonego typu ograniczenia, tj. ograniczeń aktywności, które mogą dodawać lub usuwać zmienne z potencjalnego rozwiązania w zależności od warunków nałożonych na zmienne już aktywne. Proces wyszukiwania rozpoczyna się od początkowego zestawu aktywnych zmiennych, a dodatkowe zmienne są wprowadzane (lub wyraźnie pomijane) w miarę postępu wyszukiwania, w zależności od spełnionych ograniczeń aktywności. W Generative CSP typy komponentów można zwięźle opisać i zarządzać nimi; ponadto definiowane są ograniczenia generyczne: są to schematy ograniczeń, które można instancjonować na określonych zmiennych aktywowanych w określonym punkcie procesu konfiguracji. W swojej pracy autorzy przezwyciężają drugie główne ograniczenie CSP w odniesieniu do problemów konfiguracyjnych: CSP jest w istocie "płaski", tj. nie pozwala na prostą reprezentację struktury produktu konfiguracyjnego. Aby przezwyciężyć to ograniczenie, Sabin i Freuder proponują Composite CSP, rozszerzenie CSP, które pozwala uwzględnić nie tylko zmieniające się zestawy komponentów, ale także hierarchiczną strukturę końcowych konfiguracji. W Composite CSP zmienne przyjmują nie tylko wartości atomowe, ale także wartości reprezentujące całe podproblemy. Za każdym razem, gdy zmiennej przypisywana jest wartość podproblemu, podproblem jest "rozszerzany", a problem dynamicznie modyfikowany: konkretnie, jest on "udoskonalany" poprzez uwzględnienie zmiennych i ograniczeń w podproblemie. W ten sposób łatwo jest dostosować mechanizmy wnioskowania CSP do Composite CSP. Również sam klasyczny CSP odgrywa ważną rolę w konfiguracji. W rzeczywistości przedstawiono podejście wykorzystujące standardowe techniki CSP do rozwiązywania problemów konfiguracyjnych. Co więcej, kilka wyników badań nad konfiguracją w pewien sposób odnosi się do standardowego frameworka CSP. Na przykład autorzy badają problem generowania wyjaśnień dla problemów konfiguracyjnych wyrażonych jako CSP. Autorzy proponują podejście do rozwiązywania problemów konfiguracyjnych wyrażonych jako CSP, w których nie jest możliwe jednoczesne spełnienie wszystkich wymagań użytkownika i konieczne jest ustalenie satysfakcjonującego kompromisu między nimi. Rrozszerza CSP o wsparcie interaktywnego rozwiązywania problemów, jak w przypadku interaktywnej konfiguracji produktu, gdzie interaktywność odnosi się do dokonywania przez użytkownika wyborów w trakcie procesu konfiguracji. Dokładniej rzecz ujmując, podejście to zapewnia użytkownikowi takie funkcje, jak utrzymanie spójności (tj. nieścisłości są wykrywane tak szybko, jak to możliwe), przywracanie spójności (tj. wskazówki ułatwiające złagodzenie niespójnych wyborów) i wyjaśnienia (tj. identyfikacja minimalnych zbiorów niespójnych wyborów). Na koniec Freuder, Carchrae i Beck, 2003 opisują podejście mające na celu usunięcie wartości zmiennych w CSP, które mogłoby doprowadzić do ślepej uliczki w rozwiązywaniu CSP. Wreszcie opisują podejście do usuwania wartości zmiennych w CSP, które prowadziłoby do ślepej uliczki w rozwiązywaniu CSP. W odniesieniu do frameworków opartych na logice, analizuje logikę opisową (DL) jako wygodne narzędzie do modelowania produktów konfigurowalnych. Logika opisowa umożliwia opis wiedzy o konfiguracji za pomocą ekspresyjnych języków pojęciowych o rygorystycznej semantyce, zwiększając w ten sposób zrozumiałość wiedzy i ułatwiając jej ponowne wykorzystanie. Co więcej, potężne mechanizmy wnioskowania dostępne obecnie mogą być wykorzystywane zarówno w trybie offline przez inżynierów wiedzy, jak i online przez system konfiguracji. Ponadto artykuł opisuje komercyjną rodzinę konfiguratorów opartych na DL, opracowaną przez AT&T. Soininen, Niemelä, Tiihonen i Sulonen, 2000 opisują podejście, w którym wiedza domenowa jest reprezentowana za pomocą języka wysokiego poziomu, a następnie mapowana na zestaw reguł ograniczeń wagowych - formę programów logicznych oferujących wsparcie dla wyrażania wyborów oraz ograniczeń kardynalności i zasobów. Konfiguracje są obliczane poprzez znalezienie stabilnych modeli Herbranda takiego programu logicznego. Sinz, Kaiser i Küchlin, 2003 przedstawia podejście szczególnie dostosowane do kontekstu przemysłowego (w rzeczywistości zostało ono opracowane do wykorzystania przez DaimlerChrysler do konfiguracji ich linii Mercedes). W podejściu Sinza wiedza domenowa jest wyrażana jako formuły w logice zdań; następnie jest ona walidowana poprzez uruchomienie modułu sprawdzającego spełnialność, który może również dostarczyć wyjaśnień w przypadku awarii. Jednak niniejsza praca ma na celu walidację bazy wiedzy, a nie rozwiązywanie problemów konfiguracyjnych. Istnieją również podejścia hybrydowe, które uzgadniają ramy oparte na ograniczeniach i ramy oparte na logice. Na przykład zarówno Magro i Torasso, 2003, jak i Junker i Mailharro, 2003 opisują hybrydowe frameworki oparte na logice opisu struktury konfigurowalnego produktu (czerpiąc inspirację z języków logicznych wywodzących się z języków ramowych, takich jak DL) oraz na ograniczeniach opisu możliwych sposobów interakcji między komponentami. Konstrukcje DL są tłumaczone na koncepcje programowania z ograniczeniami w celu rozwiązania problemu konfiguracji. Z kolei Magro i Torasso, 2003 przyjmuje mechanizm wnioskowania specyficzny dla konfiguracji, który zasadniczo wyszukuje modele o strukturze drzewa w domenach skończonych w celu uzyskania opisów koncepcyjnych i dostosowuje niektóre techniki propagacji ograniczeń do logicznego frameworka. W większości formalizacji zadanie konfiguracji jest teoretycznie niewykonalne (przynajmniej NP-trudne w najgorszym przypadku), a w niektórych przypadkach niewykonalność ta pojawia się również w praktyce, a rozwiązywanie problemów konfiguracyjnych może wymagać ogromnej ilości czasu procesora. Istnieje kilka sposobów radzenia sobie z takimi sytuacjami: dostarczenie konfiguratorowi zestawu heurystyk specyficznych dla danej dziedziny, zdefiniowanie ogólnych mechanizmów fokusowania , wykorzystanie technik kompilacji , ponowne wykorzystanie poprzednich rozwiązań , zdefiniowanie technik dekompozycji problemu na zestaw prostszych podproblemów . Konfiguracja ma rosnący rynek komercyjny. W rzeczywistości opracowano kilka systemów konfiguracyjnych, a obecnie dostępne są narzędzia komercyjne . Ponadto niektóre witryny internetowe zostały wyposażone w funkcje konfiguracyjne, aby pomóc klientom w wyborze odpowiedniego produktu w szerokim zakresie dziedzin, takich jak samochody i komputery .

PRZYSZŁE TRENDY

Wiele obecnych podejść do konfiguracji i systemów konfiguracji oprogramowania dotyczy konfiguracji urządzeń/produktów mechanicznych lub elektronicznych i jest tworzonych z myślą o wykorzystaniu przez ekspertów dziedzinowych, takich jak inżynierowie produkcji lub sprzedaży. Obecnie zakres konfiguracji rośnie, a stosowanie technik automatycznej konfiguracji do obiektów niefizycznych zyskuje coraz większe znaczenie. Konfiguracja produktów programowych i złożonych usług opartych na prostszych to dwa obszary badawcze i dziedziny zastosowań, które obecnie przyciągają uwagę badaczy. Możliwość tworzenia zrozumiałych wyjaśnień dla swoich wyborów lub napotkanych niespójności oraz sugerowania przywracania spójności to niektóre z potrzeb, które systemy konfiguracji dzielą z wieloma systemami opartymi na wiedzy lub eksperckimi. Jednakże cel, jakim jest apewnienie opłacalnego korzystania z systemów konfiguracji również przez użytkowników niebędących ekspertami, oraz wdrażanie konfiguratorów w Internecie, przyczyniają się do wzmocnienia znaczenia tych kwestii. Wyjaśnienia i uzupełnienia odnoszą się również do tematu konfiguracji interaktywnej, która wciąż stanowi wyzwanie dla badaczy. Oprócz tych możliwości, konfiguracja interaktywna wymaga również skutecznych mechanizmów radzenia sobie z niekompletną i/lub przyrostową specyfikacją wymagań (oraz z ich wycofywaniem), a także jest wymagająca pod względem wydajności algorytmów. Rzeczywiste bazy wiedzy o konfiguracji mogą być bardzo obszerne i zazwyczaj są stale modyfikowane w trakcie cyklu życia. Obecnie część wysiłków badawczych koncentruje się na zdefiniowaniu zaawansowanych technik oraz zaprojektowaniu i wdrożeniu narzędzi wspierających pozyskiwanie wiedzy, weryfikację i utrzymanie bazy wiedzy. Ponadto, ściślejsza integracja konfiguracji z modelami biznesowymi i konfiguratorów z systemami oprogramowania korporacyjnego jest ważnym celem dla wielu firm (a także dla dostawców oprogramowania korporacyjnego). Konfiguracja rozproszona to kolejny ważny temat, zwłaszcza w środowisku, w którym określony, złożony produkt/usługa jest dostarczany przez różnych dostawców, którzy muszą ze sobą współpracować, aby go wytworzyć. Na koniec warto wspomnieć o rekonfiguracji istniejących systemów, która wciąż pozostaje otwartym problemem.

WNIOSKI

Konfiguracja jest ważnym obszarem sztucznej inteligencji od początku lat osiemdziesiątych, kiedy to zaczęła budzić zainteresowanie badaczy pracujących w środowisku akademickim i przemyśle. Niniejszy artykuł przedstawia ogólny przegląd obszaru konfiguracji, wprowadzając problem konfiguracji, krótko przedstawiając ogólną konceptualizację zadań konfiguracyjnych oraz zwięźle opisując niektóre reprezentatywne propozycje z literatury dotyczące rozwiązywania problemów konfiguracyjnych. Jak zilustrowaliśmy, w ciągu ostatnich kilku lat z powodzeniem zastosowano kilka podejść wykorzystujących techniki konfiguracji w celu rozwiązania problemów dotyczących szerokiego zakresu rzeczywistych dziedzin zastosowań, od samochodów po systemy komputerowe, od oprogramowania po plany podróży. Teoretyczne wyniki osiągnięte przez środowisko akademickie znalazły skuteczne, namacalne zastosowania w środowisku przemysłowym, przyczyniając się w ten sposób do upowszechnienia konfiguratorów zarówno przemysłowych, jak i komercyjnych. Takie zastosowania - z kolei - stworzyły nowe wyzwania, generując znaczną wymianę pomysłów między badaczami akademickimi i przemysłowymi.


Komputerowe widzenie w eksperymentach z korytem falowym



WSTĘP

W ciągu ostatnich kilku dekad podjęto szereg prób powstrzymania wycieków ropy (lub innych zanieczyszczeń powierzchniowych) na otwartym morzu za pomocą pływającej bariery. Wiele z tych prób nie zakończyło się sukcesem, zwłaszcza w obecności fal i prądów. Względne możliwości tych zapór nie zostały odpowiednio określone ilościowo z powodu braku standardowych analiz lub procedur testowych. W związku z tym potrzebne są dalsze analizy i programy eksperymentalne w celu zidentyfikowania ważnych parametrów skuteczności zapór. Aby osiągnąć pożądane osiągi pływających zapór na otwartym morzu, konieczne jest zbadanie statycznych i dynamicznych reakcji poszczególnych sekcji zapór pod wpływem fal; tego rodzaju testy przeprowadza się zazwyczaj w korycie falowym, gdzie warunki otwartego morza można odtworzyć w odpowiedniej skali. Tradycyjne metody wykorzystują mierniki pojemnościowe lub konduktometryczne do pomiaru fal. Jeden z tych mierników umożliwia pomiar tylko w jednym punkcie; Co więcej, nie jest w stanie wykryć interfazy między dwoma lub więcej płynami, takimi jak woda i węglowodór. Dodatkową wadą konwencjonalnych falomierzy jest ich koszt. Inne eksperymenty, takie jak pomiary prędkości, pomiary stężenia piasku, pomiary poziomu dna, zachowanie falochronu itp., a także zestaw tradycyjnych metod lub instrumentów używanych w tych eksperymentach, od EMF, ADV do pomiaru prędkości, po czujniki ciśnienia, przewody pojemnościowe, czujniki akustyczne, echosondy do pomiaru wysokości fali i stężenia piasku, są powszechnie stosowane w eksperymentach z korytem falowym. Wszystkie instrumenty mają błąd towarzyszący i koszty towarzyszące (większość z nich jest zbyt droga dla wielu laboratoriów, które nie mogą sobie pozwolić na takie wydatki), pewne ograniczenia, a niektóre z nich wymagają długiego okresu kalibracji. W niniejszym artykule przedstawiono kolejną możliwość eksperymentów z korytem falowym - wizję komputerową, która wykorzystuje tanią i niedrogą technologię (popularne kamery wideo i komputery), jest kalibrowana automatycznie (po opracowaniu zadania kalibracji), jest technologią nieinwazyjną, a jej potencjalne zastosowania mogą obejmować wszelkiego rodzaju eksperymenty przeprowadzane w korytach falowych. Programiści sztucznej wizji mogą zapewnić systemom wizji komputerowej wszystkie możliwości w polu widzenia kamery wideo. Większość eksperymentów przeprowadzonych w korytach falowych, a także nowe, można przeprowadzić, programując systemy wizji komputerowej. W rzeczywistości w niniejszym artykule przedstawiono nowy rodzaj eksperymentu z korytem falowym, eksperyment, którego nie można by przeprowadzić bez technologii sztucznej wizji.

TŁO

Eksperymenty z korytem falowym są bardzo wrażliwe na wszelkie zaburzenia; dlatego też, jeśli pożądane są miarodajne pomiary, obowiązkowe jest stosowanie nieinwazyjnych metod pomiarowych. W rzeczywistości prace teoretyczne i eksperymentalne, których wyniki zostały zaproponowane w literaturze, były prowadzone głównie w celu skupienia się na warunkach równowagi układu . W przeciwieństwie do większości tradycyjnych metod stosowanych w eksperymentach z korytem falowym, systemy wizyjne są nieinwazyjne, ponieważ kamera znajduje się na zewnątrz zbiornika, a ponadto zapewniają lepszą dokładność niż większość tradycyjnych instrumentów. Niniejsza praca jest częścią projektu badawczego Komisji Europejskiej "Zaawansowane narzędzia do ochrony wybrzeża Galicji i północnej Portugalii przed wyciekami ropy na morzu", w ramach którego należy przeprowadzić szereg pomiarów w kanale falowym, takich jak chwilowe położenie powierzchni wody lub ruchy pływającej zapory bezpieczeństwa. Aby osiągnąć te cele, konieczna jest metoda nieinwazyjna (ze względu na obecność obiektów wewnątrz zbiornika), a metoda musi umożliwiać rozróżnienie co najmniej dwóch różnych płynów, biorąc pod uwagę wyciek ropy. Inne prace wykorzystujące analizę obrazu do pomiaru profilu fal powierzchniowych zostały opracowane w ciągu ostatnich dziesięciu lat , ale nie zostały opracowane ani w czasie rzeczywistym, ani jako metody nieinwazyjne. W niektórych z tych technik konieczne jest zabarwienie wody barwnikiem fluorescencyjnym, co w większości przypadków jest niewygodne, zwłaszcza gdy konieczne jest użycie dwóch płynów.

RAMY POMIARU POZIOMU FAL W STRUMIENIU FALOWYM Z WYKORZYSTANIEM TECHNIK SZTUCZNEGO WIDZENIA

Poniżej przedstawiono system sztucznego widzenia , który uzyskuje położenie swobodnej powierzchni we wszystkich punktach obrazu, na podstawie którego można obliczyć wysokości fal. W tym celu musimy zarejestrować zbiornik falowy podczas generowania fal i prądów (ramka skalowania), a następnie musimy użyć ramek tworzących obraz, aby uzyskać grzbiet wody (używając technik widzenia komputerowego opisanych w rozdziale 3) i przełożyć odległości na obrazie na odległości rzeczywiste (biorąc pod uwagę rektyfikację obrazu).

Rektyfikacja obrazu

Zniekształcenie soczewki to błąd optyczny soczewki, który powoduje różnice w powiększeniu obiektu w różnych punktach obrazu; Proste linie w świecie rzeczywistym mogą wydawać się zakrzywione na płaszczyźnie obrazu . Ponieważ każdy element obiektywu jest promieniowo symetryczny, a elementy są zazwyczaj rozmieszczone z dużą precyzją na tej samej osi optycznej, zniekształcenie to jest prawie zawsze promieniowo symetryczne i nazywane jest promieniową dystorsją soczewki. Istnieją dwa rodzaje dystorsji soczewki: dystorsja beczkowata i dystorsja poduszkowata. Większość obiektywów wykazuje obie te właściwości w różnych skalach. Aby uniknąć błędu dystorsji soczewki i zapewnić narzędzie do przekształcania odległości obrazu (liczby pikseli) na odległości rzeczywiste (mm), konieczne jest zastosowanie procedury rektyfikacji. Większość procedur rektyfikacji obrazu obejmuje dwuetapowy proces. Jednak w naszym przypadku interesuje nas jedynie przekształcenie pomiarów pikseli na odległości rzeczywiste (mm). Przekształcenie punktów z powierzchni świata rzeczywistego na płaszczyznę obrazu niewspółpłaszczyznowego wymagałoby operatora, który zastosowany do wszystkich klatek znacznie spowolniłby cały proces, co nie jest odpowiednie dla naszego podejścia w czasie rzeczywistym. W związku z tym opracowano procedurę .NET, która tworzy mapę z odpowiednim współczynnikiem (między odległościami pikseli a odległościami rzeczywistymi) dla każdej grupy pikseli (cztery najbliższe punkty kontrolne na obiekcie docelowym). Dane wejściowe dla modelu to sfotografowany obraz arkusza docelowego oraz wymiary obiektu docelowego (odległości między punktami kontrolnymi w kierunkach x i y).

Przygotowanie i procedura laboratoryjna

Eksperyment przeprowadzono w kanale falowym o długości 17,29 m w Centrum Innowacji Technologicznych w Budownictwie i Inżynierii Lądowej (CITEEC) na Uniwersytecie w A Coru?a w Hiszpanii. Przekrój kanału ma wymiary 77 cm (wysokość) x 59,6 cm (szerokość). Generowanie fal odbywa się za pomocą łopatki tłokowej. W pobliżu jego ściany końcowej znajduje się absorber fal, zapobiegający odbiciu fal. Składa się on z perforowanej płyty o długości 3,04 m, którą można umieszczać pod różnymi kątami. Układ eksperymentalny przedstawiono na rysunku.



W celu walidacji systemu, wygenerowano pojedyncze fale i zmierzono je na podstawie obrazów zarejestrowanych przez kamerę wideo zamontowaną z boku, która rejestrowała długość kanału o długości 1 m. Fale mierzono również za pomocą jednego falomierza przewodnościowego umieszczonego w obszarze kanału rejestrowanym przez kamerę wideo. Te czujniki zapewniają dokładność ± 1 mm przy maksymalnej częstotliwości próbkowania 30 Hz. Do rejestracji fal użyto kamery wideo Sony DCR-HC35E, pracującej w standardzie PAL Western Europe, o rozdzielczości 720 x 576 pikseli i rejestrującej 25 klatek na sekundę. Kamerę zamontowano na standardowym statywie i ustawiono w odległości około 2 m od ściany bocznej zbiornika .

Pozostała ona nieruchoma przez cały czas trwania testu. Procedura jest następująca:

•  Umieścić jeden znak na szklanej ścianie bocznej kanału pomiarowego, na dnie filmowanego obszaru ;
•  Umieścić szablon z równoodległymi znakami (krzyżykami) w płaszczyźnie pionowej, równoległej do ściany bocznej kanału pomiarowego.
•  Umieścić kamerę w pewnej odległości od płaszczyzny docelowej (tj. ściany bocznej zbiornika) w zależności od pożądanej rozdzielczości.
•  Wyregulować kamerę, uwzględniając znaki na szablonie.
•  Zapewnić równomierne i frontalne oświetlenie szablonu.
•  Sfilmuj szablon.
•  Zapewnij równomierne oświetlenie płaszczyzny docelowej i jednolicie kolorowe tło na przeciwległej ścianie bocznej (aby zablokować wszelkie niepożądane obiekty w polu widzenia);
•  Rozpocznij filmowanie.

Znacznik umieszczono poziomo na szklanej ścianie bocznej koryta, na dnie filmowanego obszaru, aby określić rzeczywistą odległość między dnem zbiornika a tym znakiem, uniknąć filmowania dna zbiornika, a tym samym sfilmować mniejszy obszar (co prowadzi do lepszej rozdzielczości). Jeśli chodzi o oświetlenie laboratorium, należy unikać bezpośredniego oświetlenia, dzięki czemu możemy pracować bez odblasków i odbić. Aby uzyskać takie oświetlenie, wyłączono wszystkie światła w laboratorium i umieszczono dwie lampy halogenowe o mocy 200 W po obu stronach filmowanego obszaru, jedna przed drugą.

Postprodukcja obrazu wideo

Przechwytywanie obrazu przeprowadzono na komputerze PC z procesorem Pentium 4, 3,00 GHz i 1,00 GB pamięci RAM, z systemem Windows XP. Nagrywanie odbywało się za pomocą kamery Sony DCR-HC35E1, a do przesyłania danych cyfrowych z kamery do komputera wykorzystano szybką kartę interfejsu IEEE 1394 FireWireTM. Zdjęcia były przechowywane w nieskompresowanym formacie bitmapowym, aby zapobiec utracie informacji. Deinterlacing nie był konieczny ze względu na wysoką jakość uzyskanych obrazów, a wszystko odbywało się w czasie rzeczywistym. Opracowano automatyczne narzędzie do pomiaru fal z kolejnych obrazów. Narzędzie zostało opracowane w środowisku .NET Framework, z wykorzystaniem języka C++ i biblioteki OpenCV (Open Source Computer Vision Library, opracowanej przez firmę Intel2). Procedura przetwarzania obrazu komputerowego jest następująca:

•  Wyodrębnij klatkę z wideo.
•  Używając różnych algorytmów przetwarzania obrazu komputerowego, uzyskaj stałą wartość "piksel na mm" dla każdego piksela.
•  Za pomocą różnych algorytmów widzenia komputerowego uzyskuje się grzbiet fali.
•  Oblicz odpowiadającą wysokość dla wszystkich pikseli w grzbiecie fali.
• o Podaj wyniki.
•  Powtarzaj proces do zakończenia filmu.

Aby uzyskać stałą "piksel na mm", szablon z równoodległymi znakami (krzyżykami) umieszcza się na szklanej ścianie zbiornika i filmuje. Następnie procedura C++ rozpoznaje środek krzyżyków.

Wyniki

Przeprowadzono porównanie danych wyodrębnionych z obrazów wideo z danymi zmierzonymi za pomocą konwencjonalnych instrumentów. Porównania te nie mają na celu walidacji procedury, ponieważ konwencjonalne instrumenty również obarczone są błędami; raczej porównania te mają na celu uzasadnienie wykorzystania obrazów wideo jako alternatywnej metody pomiaru danych dotyczących fal i zmian profilu. Różne izolowane pomiary za pomocą konduktometru wykonano w tym samym czasie, gdy kamera wideo rejestrowała obraz. Następnie porównano wyniki uzyskane obiema metodami. Proces pomiaru za pomocą konduktometru i sztucznego systemu wizyjnego w tym samym czasie obejmuje rozpoznanie jednego punktu na osi x (w nagranym wideo), w którym znajduje się konduktometr (aby ułatwić to zadanie, wokół konduktometru naklejono jeden kolorowy znacznik). Po ustaleniu punktu pomiaru konduktometru tworzymy plik z wysokością fali w tym punkcie x dla każdego obrazu wideo. Podczas nagrywania przez kamerę wideo tworzony jest jeden plik z pomiarem konduktometru. Mając oba pliki pomiarowe, musimy ręcznie określić ten sam punkt czasowy w obu plikach (ze względu na trudność jednoczesnej inicjalizacji obu systemów). Teraz możemy porównać oba pomiary. Przeprowadzono wiele testów z różnymi parametrami fali, takimi jak okres i wysokość fali, oraz z użyciem fal regularnych (formy sinusoidalnej) i nieregularnych. Przeprowadzono testy z falami o wysokości od 40 mm do 200 mm.

WNIOSKI

Dla tych celów opracowano sztuczny system wizyjny, ponieważ systemy te są nieinwazyjne i potrafią rozróżnić wiele różnych obiektów lub płynów (wszystko, co ludzkie oko może rozróżnić) w obrazie, a metoda nieinwazyjna jest niezbędna. Inne interesujące aspekty, jakie oferują te systemy, to:

•  Niższa cena niż tradycyjne systemy pomiarowe.
•  Łatwiejsza i szybsza kalibracja.
• o Brak konieczności montażu infrastruktury, aby wiedzieć, co dzieje się w różnych punktach zbiornika (tylko jedna kamera zamiast szeregu czujników).
•  Ponieważ system jest nieinwazyjny, nie zakłóca on eksperymentów ani ich pomiarów.
•  Zapewnia wysoką dokładność.
•  Wreszcie, system ten jest innowacyjnym pomysłem zastosowania technik wizji komputerowej w dziedzinie inżynierii lądowej i wodnej, a w szczególności w portach i na wybrzeżach. Nie opracowano dotychczas żadnych podobnych prac.



Klastrowanie sieci neuronowych oparte na zachowaniu



WSTĘP

Obszar optycznego rozpoznawania znaków (OCR) w trybie offline jest od wielu lat przedmiotem intensywnych badań . Jednym z pierwszych kroków w klasycznej architekturze rozpoznawacza tekstu jest wstępne przetwarzanie, w którym następuje redukcja szumów i normalizacja. Wiele systemów nie wymaga kroku binaryzacji, więc obrazy są utrzymywane w jakości szarości. Poprawa jakości dokumentów nie tylko wpływa na ogólną wydajność systemów OCR, ale może również znacznie poprawić czytelność dokumentów dla czytelników. W wielu przypadkach szum obrazów dokumentów jest niejednorodny, a technika dopasowana do jednego typu szumu może nie być prawidłowa dla całego zestawu dokumentów. Jednym możliwym rozwiązaniem tego problemu jest użycie kilku filtrów lub technik i zapewnienie klasyfikatora w celu wybrania odpowiedniego. Sieci neuronowe były używane do ulepszania dokumentów w celu zapoznania się z przeglądem przetwarzania obrazu za pomocą sieci neuronowych). Jedną z zalet filtrów sieci neuronowych do ulepszania obrazu i usuwania szumów jest to, że dla każdego typu szumu można automatycznie wytrenować inny filtr neuronowy. W tej pracy zaproponowano klasterowanie filtrów sieci neuronowych w celu uniknięcia konieczności etykietowania danych treningowych i zmniejszenia liczby filtrów potrzebnych systemowi ulepszania. W tym celu zaproponowano aglomeracyjny algorytm hierarchicznego klasteryzacji nadzorowanych klasyfikatorów. Technikę tę zastosowano w celu odfiltrowania szumu tła z biura (plamy po kawie i ślady stóp na dokumentach, złożone arkusze z zdegradowanym wydrukowanym tekstem itp.)

KONTEKST

W poprzednich pracach do przywracania obrazu stosowano wielowarstwowe perceptrony (MLP): dane wejściowe do MLP to piksele w ruchomym oknie, a dane wyjściowe to przywrócona wartość bieżącego piksela. Użyliśmy również filtrów sieci neuronowych do oszacowania poziomu szarości jednego piksela na raz : dane wejściowe do MLP składały się z kwadratu pikseli, który był wyśrodkowany na pikselu do wyczyszczenia, a do uzyskania rozdzielczości służyły cztery jednostki wyjściowe. Mając zbiór zaszumionych obrazów i ich odpowiednie czyste odpowiedniki, wytrenowano sieć neuronową. Za pomocą wytrenowanej sieci cały obraz został wyczyszczony przez skanowanie wszystkich pikseli za pomocą MLP. MLP działa zatem jak nieliniowe jądro splotu. Uniwersalna właściwość aproksymacji MLP gwarantuje zdolność sieci neuronowej do aproksymacji dowolnego ciągłego odwzorowania (Bishop, 1996). To podejście wyraźnie przewyższa inne klasyczne filtry przestrzenne w redukcji lub eliminacji szumu z obrazów (filtr średni, filtr medianowy i filtr zamykający/otwierający (Gonzalez, 1993)), gdy jest stosowane w celu wzmocnienia i oczyszczenia jednorodnego szumu tła


Aglomeracyjne klasteryzacja hierarchiczna


Aglomeracyjne klasteryzacja hierarchiczna jest uważana za wygodniejsze podejście niż inne algorytmy klasteryzacji, głównie dlatego, że przyjmuje bardzo niewiele założeń dotyczących danych . Zamiast szukać pojedynczego podziału (opartego na znalezieniu lokalnego minimum), ten algorytm klasteryzacji konstruuje strukturę hierarchiczną poprzez iteracyjne scalanie klastrów zgodnie z pewną miarą odmienności, zaczynając od singletonów, aż do momentu, gdy dalsze scalanie nie będzie możliwe (jeden ogólny klaster). Proces klasteryzacji hierarchicznej można zilustrować za pomocą drzewa zwanego dendogramem, które pokazuje, w jaki sposób próbki są scalane i stopień odmienności każdej unii. Dendogram można łatwo rozbić na danym poziomie, aby uzyskać klastry o pożądanej kardynalności lub z konkretną miarą odmienności. Ogólny algorytm hierarchicznego klastrowania można nieformalnie opisać następująco:

1. Inicjalizacja: M singletonów jako M klastrów.
2. Obliczenie odległości odmienności między każdą parą klastrów.
3. Proces iteracyjny:

a) Określenie najbliższej pary klastrów i oraz j.
b) Połączenie dwóch najbliższych klastrów w nowy klaster i+j.
c) Zaktualizowanie odległości odmienności z nowego klastra i+j do wszystkich pozostałych klastrów.
d) Jeśli pozostało więcej niż jeden klaster, przejdź do kroku a).

4. Wybierz liczbę N klastrów dla danego kryterium.

Klastrowanie oparte na zachowaniu nadzorowanych klasyfikatorów

Gdy punkty zbioru, który ma zostać zgrupowany, są nadzorowanymi klasyfikatorami, należy zdefiniować zarówno odległość odmienności, jak i sposób scalania dwóch klasyfikatorów

1. Odległość odmienności między dwoma klastrami może być oparta na zachowaniu klasyfikatorów w odniesieniu do zestawu danych walidacyjnych. Im bardziej podobne są wyniki dwóch klasyfikatorów, tym są one bliżej siebie.
2. Aby połączyć najbliższą parę klastrów, nowy klasyfikator jest trenowany przy użyciu powiązanych danych treningowych obu klastrów. Inną możliwością jest zbudowanie zespołu dwóch klasyfikatorów.

Gdy dwa klastry są scalane, nowy MLP jest trenowany przy użyciu powiązanych danych treningowych dwóch scalonych MLP. Ten algorytm klastrowania oparty na zachowaniu został zastosowany do ulepszania drukowanych dokumentów o typowe szumy z biura (złożone arkusze, pomarszczone arkusze, plamy po kawie, …). Zestaw MLP jest trenowany jako filtry neuronowe dla różnych typów szumu, a następnie grupowany w grupy w celu uzyskania zredukowanego zestawu neuronowych filtrów klastrowych. W celu automatycznego określenia, który filtr klastrowy jest najbardziej odpowiedni do czyszczenia i ulepszania rzeczywistego zaszumionego obrazu, klasyfikator obrazu jest również trenowany przy użyciu MLP. Wyniki eksperymentalne przy użyciu tego systemu ulepszania pokazują doskonałe rezultaty w czyszczeniu zaszumionych dokumentów .

PRZYSZŁE TRENDY

Ulepszanie dokumentów staje się coraz bardziej istotne ze względu na ogromną ilość skanowanych dokumentów. Ponadto nie tylko wpływa na ogólną wydajność systemów OCR, ale może również znacznie poprawić czytelność dokumentów dla czytelników. Metodę zaproponowaną w tej pracy można ulepszyć dwojako: poprzez wykorzystanie zespołów MLP, gdy dwa MLP są scalane, oraz poprzez ulepszenie metody wyboru filtru klastrowanego neuronowo, który jest najbardziej odpowiedni do ulepszenia danego zaszumionego obrazu.

WNIOSEK

Zaproponowano aglomeracyjne hierarchiczne klastrowanie klasyfikatorów uczenia nadzorowanego, które wykorzystuje miarę podobieństwa między klasyfikatorami w oparciu o ich zachowanie w zestawie danych walidacyjnych. Jako zastosowanie tej procedury klastrowania zaprojektowaliśmy system ulepszania obrazów dokumentów przy użyciu filtrów sieci neuronowych. Zarówno obiektywne, jak i subiektywne oceny metody czyszczenia wykazują doskonałe wyniki w czyszczeniu zaszumionych dokumentów. Tę metodę można również wykorzystać do czyszczenia i przywracania innych typów obrazów, takich jak zaszumione tła w zeskanowanych dokumentach, poplamiony papier dokumentów historycznych, rozpoznawanie licencji pojazdów itp.


Powrót


[ 310 ]