stub Co to jest wizja komputerowa? - Unite.AI
Kontakt z nami
Kurs mistrzowski AI:

AI 101

Co to jest widzenie komputerowe?

mm
Zaktualizowano on

Co to jest widzenie komputerowe?

Algorytmy widzenia komputerowego są obecnie jednymi z najbardziej transformacyjnych i potężnych systemów sztucznej inteligencji na świecie. Komputerowe systemy wizyjne zobacz zastosowanie w pojazdach autonomicznych, nawigacji robotów, systemach rozpoznawania twarzy i nie tylko. Czym jednak dokładnie są algorytmy widzenia komputerowego? Jak oni pracują? Aby odpowiedzieć na te pytania, zagłębimy się w teorię widzenia komputerowego, algorytmy widzenia komputerowego i zastosowania systemów widzenia komputerowego.

Jak działają komputerowe systemy wizyjne?

Aby w pełni docenić działanie komputerowych systemów wizyjnych, poświęćmy najpierw chwilę na omówienie, w jaki sposób ludzie rozpoznają obiekty. Najlepszym wyjaśnieniem, jak neuropsychologia rozpoznaje przedmioty, jest model opisujący początkową fazę Rozpoznawanie obiektów jako taki, w którym podstawowe składniki obiektów, takie jak forma, kolor i głębia, są najpierw interpretowane przez mózg. Sygnały z oka docierające do mózgu są analizowane w celu wyciągnięcia najpierw krawędzi obiektu, a następnie krawędzie te są łączone w bardziej złożoną reprezentację, która dopełnia formę obiektu.

Komputerowe systemy wizyjne działają bardzo podobnie do ludzkiego układu wzrokowego, najpierw rozpoznając krawędzie obiektu, a następnie łącząc te krawędzie w formę obiektu. Duża różnica polega na tym, że ponieważ komputery interpretują obrazy jako liczby, komputerowy system wizyjny musi w jakiś sposób zinterpretować poszczególne piksele tworzące obraz. Komputerowy system wizyjny przypisze wartości pikselom obrazu i badając różnicę wartości między jednym obszarem pikseli a innym obszarem pikseli, komputer będzie w stanie rozpoznać krawędzie. Na przykład, jeśli dany obraz jest w skali szarości, wartości będą się wahać od czarnego (reprezentowanego przez 0) do białego (reprezentowanego przez 255). Nagła zmiana zakresu wartości sąsiadujących ze sobą pikseli będzie wskazywać na krawędź.

Tę podstawową zasadę porównywania wartości pikseli można również zastosować w przypadku kolorowych obrazów, porównując komputerowo różnice między różnymi kanałami kolorów RGB. Skoro wiemy, jak komputerowy system wizyjny bada wartości pikseli w celu interpretacji obrazu, przyjrzyjmy się architekturze komputerowego systemu wizyjnego.

Konwolucyjne sieci neuronowe (CNN)

Podstawowym rodzajem sztucznej inteligencji wykorzystywanej w zadaniach związanych z widzeniem komputerowym jest jeden w oparciu o splotowe sieci neuronowe. Co to właściwie jest splot?

Sploty to procesy matematyczne stosowane przez sieć w celu określenia różnicy wartości pomiędzy pikselami. Jeśli wyobrażasz sobie siatkę wartości pikseli, wyobraź sobie mniejszą siatkę przesuwaną po tej głównej siatce. Wartości poniżej drugiej siatki są analizowane przez sieć, więc sieć bada tylko kilka pikseli na raz. Nazywa się to często techniką „przesuwanych okien”. Wartości analizowane przez przesuwane okno są podsumowywane przez sieć, co pomaga zmniejszyć złożoność obrazu i ułatwia sieci wyodrębnianie wzorców.

Splotowe sieci neuronowe to tzw podzielony na dwie różne sekcje, sekcję splotową i sekcję w pełni połączoną. Warstwy splotowe sieci to ekstraktory cech, których zadaniem jest analizowanie pikseli obrazu i tworzenie ich reprezentacji, z których gęsto połączone warstwy sieci neuronowej mogą uczyć się wzorców. Warstwy splotowe rozpoczynają się od sprawdzenia pikseli i wyodrębnienia cech obrazu niskiego poziomu, takich jak krawędzie. Późniejsze warstwy splotowe łączą krawędzie w bardziej złożone kształty. Miejmy nadzieję, że do końca sieć będzie miała reprezentację krawędzi i szczegółów obrazu, którą będzie mogła przekazać do w pełni połączonych warstw.

Adnotacja obrazu

Chociaż splotowa sieć neuronowa może sama wyodrębniać wzorce z obrazów, dokładność komputerowego systemu wizyjnego można znacznie poprawić, dodając adnotacje do obrazów. Adnotacja obrazu to proces dodawania metadanych do obrazu, który pomaga klasyfikatorowi w wykrywaniu ważnych obiektów na obrazie. Stosowanie adnotacji obrazowych jest ważne wszędzie tam, gdzie komputerowe systemy wizyjne muszą być bardzo dokładne, na przykład podczas sterowania autonomicznym pojazdem lub robotem.

Istnieje wiele sposobów opisywania obrazów w celu poprawy wydajności komputerowego klasyfikatora wizyjnego. Adnotacje obrazu często wykonuje się za pomocą ramek ograniczających, czyli ramek otaczających krawędzie obiektu docelowego i informujących komputer, aby skupił swoją uwagę na ramce. Segmentacja semantyczna to inny rodzaj adnotacji obrazu, który działa poprzez przypisanie klasy obrazu do każdego piksela obrazu. Innymi słowy, każdy piksel, który można uznać za „trawę” lub „drzewo”, zostanie oznaczony jako należący do tych klas. Technika ta zapewnia precyzję na poziomie pikseli, ale tworzenie adnotacji segmentacji semantycznej jest bardziej złożone i czasochłonne niż tworzenie prostych ramek ograniczających. Istnieją również inne metody adnotacji, takie jak linie i punkty.

Bloger i programista specjalizujący się w Nauczanie maszynowe i głęboki Learning tematy. Daniel ma nadzieję pomóc innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.