Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



01.12.2022

Wyższy poziom programowania

Progress oferuje nowe narzędzia programistyczne: Progress Telerik, Progress Kendo UI i...
01.12.2022

Łączność w podróży

VMware SD-WAN VMware zaprezentował rozwiązanie SD-WAN nowej generacji, w tym nowego...
01.12.2022

Bezpieczne e-maile

Nowa aplikacja firmy Cypherdog Security Inc. umożliwia bezpieczną wymianę maili i...
01.12.2022

Pierwszy w branży

Schneider Electric wprowadza na rynek APC Smart-UPS Ultra. To pierwszy w branży...
01.12.2022

Przełączniki 10G dla MŚP

Nowe urządzenia to przełączniki 10G kompatybilne z systemem Omada SDN.
01.12.2022

Zarządzanie danymi

Firma Synology wprowadziła na rynek czterokieszeniowy DiskStation DS923+.
01.12.2022

Nowatorski system chłodzenia

OVHcloud zaprezentował nową, autorską technologię hybrydowego zanurzeniowego chłodzenia...
01.12.2022

Linia smart routerów

D-Link zaprezentował najnowszą rodzinę routerów Smart Wi-Fi z algorytmami sztucznej...
04.11.2022

Nowa platforma Red Hat

Nowa platforma Red Hat Enterprise Linux (RHEL) w wersjach 8.7 i 9.1 Beta obsługuje...

Przetwarzanie obrazów z Computer i Custom Vision

Data publikacji: 06-10-2022 Autor: Beata Zalewa

Computer Vision umożliwia odczytywanie tekstów i etykiet, opisów produktów, rozpoznawanie znanych osób, miejsc, budynków oraz sortowanie zdjęć. Custom Vision to usługa rozpoznawania obrazów, która pozwala na tworzenie, wdrażanie i ulepszanie własnych modeli służących do identyfikacji obrazów.

 

Azure Cognitive Services to zestaw interfejsów API używanych przez programistów do integracji tych usług z ich aplikacjami. Umożliwia to dodanie nowych funkcjonalności: od rozpoznawania zawartości obrazów po rozpoznawanie i syntezę mowy. Sztuczna inteligencja (ang. Artificial Intelligence, AI) z uwagi na dużą liczbę usług jest już powszechnie wykorzystywana w aplikacjach (ramka Usługi wykorzystujące sztuczną inteligencję). Tym razem przyjrzymy się dokładniej usługom Azure Computer i Custom Vision. Jest to obszar AI, w którym systemy oprogramowania zaprojektowano do wizualnego postrzegania świata za pomocą kamer, obrazów i wideo.


> Computer Vision


Computer Vision to szereg algorytmów do przetwarzania obrazów, które mogą identyfikować obiekty, dodawać etykiety, indeksować, moderować obrazy oraz filmy czy oznaczać zawartość przeznaczoną tylko dla osób pełnoletnich. Programiści, inżynierowie AI i analitycy używają Computer Vision w wielu sytuacjach, aby zapewnić jakość i niezawodność. Można to zrobić, korzystając z kombinacji niestandardowych modeli uczenia maszynowego i rozwiązań platformy jako usługi (PaaS), w tym wielu usług kognitywnych na platformie Microsoft Azure. Choć komputery nie mają oczu, które działają tak jak ludzkie, to dzięki Computer czy Custom Vision potrafią przetwarzać obrazy z kamer na żywo, cyfrowych zdjęć lub filmów. Ta umiejętność jest kluczem do tworzenia oprogramowania, które może naśladować ludzką percepcję wzrokową. Co ważne, oko ludzkie może się pomylić, np. źle oszacować to, co widzi. Natomiast odpowiednio przetrenowane usługi kognitywne są nieomylne, a wyniki ich działania – powtarzalne.


Niektóre potencjalne zastosowania Computer Vision obejmują organizację treści, wyodrębnianie tekstu i analizę przestrzenną.


Organizacja treści (ang. content organization) to identyfikacja obiektów lub przedmiotów na zdjęciach i porządkowanie zdjęć na jej podstawie. Takie funkcjonalności do rozpoznawania fotografii są powszechnie używane w aplikacjach do ich przechowywania i w mediach społecznościowych. Przy publikowaniu zdjęcia na jakiejś stronie oceniana jest jego zawartość (sprawdza się, czy nie ma na nim nagości, pornografii lub treści uważanych za społecznie nieakceptowalne). Takie aplikacje potrafią wykrywać na fotografiach znaki wodne, symbole lub ukryty przekaz. Podczas pandemii powstało wiele aplikacji wykrywających, czy klienci sklepów noszą maseczki. Tak samo na lotniskach mamy aplikacje skanujące twarze w celu znajdowania osób poszukiwanych listami gończymi.


Wyodrębnianie tekstu (ang. text extraction) polega na analizowaniu obrazów i dokumentów PDF zawierających tekst oraz wyodrębnianiu go tak, aby można go było potem edytować.


Z kolei analiza przestrzenna (ang. spatial analysis) to identyfikowanie ludzi lub przedmiotów, np. samochodów, w przestrzeni i mapowanie ich ruchu. Może ona przetwarzać wideo, a następnie wykrywać osoby w filmie. Po wykryciu ludzi system śledzi ich przemieszczanie się w czasie, a następnie generuje zdarzenia, gdy ludzie wchodzą w interakcję z interesującymi ich regionami. Wszystkie operacje dają wgląd w pole widzenia jednej kamery. Pozwala to np. sprawdzić, ile osób jest w sklepie, ile wchodzi, ile wychodzi, czy trzymają odpowiedni dystans, ile osób przypada na metr kwadratowy.


Dla aplikacji AI obraz jest tylko tablicą wartości pikseli. Te wartości liczbowe mogą być używane jako funkcje do trenowania modeli uczenia maszynowego, które wykonują prognozy dotyczące obrazu i jego zawartości.


> Zasoby platformy Azure


Należy pamiętać, że aby korzystać w pełni z usługi Computer Vision, musimy utworzyć zasób w subskrypcji platformy Azure. Możemy użyć dedykowanego zasobu mowy lub wielousługowego zasobu usług kognitywnych (zasób Cognitive Services, który zawiera m.in. usługę Computer Vision).


Zasób Computer Vision tworzymy tylko dla jednej, konkretnej usługi. Używamy go, jeśli nie zamierzamy korzystać z żadnych innych usług kognitywnych lub jeśli chcemy oddzielnie śledzić wykorzystanie i koszty zasobu Computer Vision.


Zasób Cognitive Services to ogólny zasób usług poznawczych, który obejmuje Cognitive Services wraz z wieloma innymi usługami poznawczymi, takimi jak analiza tekstu czy tekst translatora. Używamy go, jeśli planujemy korzystać z wielu usług kognitywnych i chcemy uprościć administrację i programowanie.


Niezależnie od tego, jaki rodzaj zasobu wybierzemy, po utworzeniu zobaczymy dwie wartości, których będziemy potrzebować, aby skorzystać z Computer Vision: klucz i punkt końcowy. Klucz (ang. key) używany jest do uwierzytelniania aplikacji klienckich; punkt końcowy (ang. endpoint) udostępnia adres HTTP, pod którym można uzyskać dostęp do zasobu.


Możemy wyświetlić te wartości na zakładce Keys and Endpoint w naszym zasobie w portalu Azure.


> Analiza obrazów


Po utworzeniu odpowiedniego zasobu w ramach subskrypcji możemy przesyłać obrazy do usługi Computer Vision w celu wykonania zadań analitycznych. Computer Vision analizuje obraz, ocenia wykryte obiekty i generuje czytelną dla człowieka frazę, która opisuje to, co zostało wykryte na obrazie. W zależności od zawartości obrazu usługa może zwrócić wiele wyników lub fraz. Każda zwrócona fraza ma podany wynik zaufania, wskazujący, na ile procent algorytm jest pewny dostarczonego opisu. Frazy o najwyższym wyniku zaufania są wymienione w pierwszej kolejności.


Opisy obrazów generowane przez Computer Vision opierają się na zestawie tysięcy rozpoznawalnych obiektów, które można wykorzystać do sugerowania znaczników obrazu. Te znaczniki mogą być powiązane z obrazem jako metadane podsumowujące atrybuty obrazu i są szczególnie przydatne, jeśli chcemy zindeksować obraz wraz z zestawem kluczowych terminów, które mogą być użyte do wyszukiwania obrazów o określonych atrybutach lub treści.


Aby zrozumieć tę koncepcję, warto samodzielnie przetestować usługę na stronie aidemos.microsoft.com/computer-vision. Strona pozwala na przetestowanie kilku wybranych funkcjonalności i nie wymaga tworzenia zasobów w Azure. Jeśli wybierzemy opcję Analyze and describe images i którykolwiek z dostępnych tam obrazów, zobaczymy, że zwrócone frazy są posortowane pod obrazem od najwyższego wyniku zaufania do najniższego. Wynik zaufania (ang. confidence) określa, jak bardzo AI jest pewne rozpoznanych obiektów. Jak widać na rys. 3, AI rozpoznało na obrazie kilka cech charakterystycznych. Dodatkowo wygenerowało opis do zdjęcia i sprawdziło, czy nie ma na nim treści dla dorosłych. Na przykład tagi zwrócone dla naszego obrazu obejmują: budynek (100% pewności), samochód (100% pewności), droga (100% pewności), na zewnątrz (100% pewności), pojazd (98% pewności), pojazd lądowy (98% pewności), ulica (96% pewności), koło (88% pewności), miasto (83% pewności), żółty (69% pewności), taxi (60% pewności).


> Wyszukiwanie tekstu


Wiele obrazów zawiera teksty. Może to być tekst pisany na maszynie lub odręczny. Typowe przykłady to obrazy ze znakami drogowymi, zeskanowane dokumenty w formacie obrazu (JPEG lub PNG), a nawet zdjęcie tablicy, na której zrobiono notatki markerem podczas spotkania. Aby utrwalić rezultaty spotkania, zrobiliśmy zdjęcie, a teraz chcielibyśmy te zapiski przerobić na profesjonalny zapis, czyli przerzucić informacje np. do Worda lub OneNote’a w celu dalszej edycji.


Umiejętność rozpoznawania tekstu drukowanego i odręcznego na obrazach jest korzystna w wielu sytuacjach, takich jak:

 

  • robienie notatek;
  • digitalizacja formularzy (dokumentacja medyczna, dokumenty historyczne) umożliwiająca np. dostęp do akt parafialnych czy ksiąg wieczystych online bez konieczności osobistego pojawiania się w urzędzie;
  • skanowanie wydrukowanych lub odręcznych czeków na wpłaty bankowe;
  • skanowanie umów, faktur, rachunków;
  • skanowanie zamówień, kodów, etykiet.


Usługa Computer Vision udostępnia dwa interfejsy programowania aplikacji (API), których można używać do odczytywania tekstu z obrazów: OCR API i Read API.


Optyczne rozpoznawanie znaków (OCR) umożliwia systemom AI odczytywanie tekstu z obrazów, pozwalając aplikacjom na wyodrębnianie informacji z fotografii, zeskanowanych dokumentów i innych źródeł zdigitalizowanego tekstu. Zdolność systemów komputerowych do przetwarzania tekstu pisanego lub drukowanego to obszar AI, w którym widzenie komputerowe łączy się z przetwarzaniem języka naturalnego. Potrzebujemy usługi Computer Vision, aby „odczytać” tekst, a następnie usługi przetwarzania języka naturalnego, aby nadać sens temu odczytanemu tekstowi.

 

[...]

 

Autorka pracuje jako Senior Chatbot Developer. Jest niezależnym konsultantem, trenerem i prelegentem na konferencjach. Od ponad 16 lat zajmuje się technologiami Microsoftu, głównie .NET, AI i Azure, w tym programowaniem i optymalizacją aplikacji.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

prenumerata Numer niedostępny Spis treści

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik \"IT Professional\"