---
title: Klasyfikacja obrazów w bazach danych z wykorzystaniem sztucznej inteligencji, przy użyciu narzędzia Altova MapForce
date: 2023-07-31
categories:
  - data-integration
  - database-mapping
  - tools
tags:
  - ai
  - artificial-intelligence
  - data-mapping
  - database-mapping
  - mapforce
description: Integracja danych oparta na sztucznej inteligencji z MapForce umożliwia automatyzację generowania i wprowadzania do bazy danych tagów generowanych przez systemy AI, w sposób w pełni skalowalny.
---
Status: #blog

Tags:  #ai #artificial-intelligence #data-mapping #database-mapping #mapforce

Categories: [data-integration](/blog/pl/category/data-integration.md) | [data-integration](/blog/pl/category/data-integration.md) 
# Klasyfikacja obrazów w bazach danych z wykorzystaniem sztucznej inteligencji, przy użyciu narzędzia Altova MapForce

Jednym z najpopularniejszych przykładów zastosowania sztucznej inteligencji w naszym codziennym życiu jest rozpoznawanie twarzy. Rozpoznawanie twarzy to proces identyfikacji lub weryfikacji tożsamości osoby na podstawie jej rysów twarzy. Technologia ta jest wykorzystywana w wielu aplikacjach, takich jak odblokowywanie telefonów za pomocą funkcji FaceID, oznaczanie znajomych na platformach mediów społecznościowych, takich jak Facebook, oraz rejestracja na lotniskach lub w hotelach za pomocą skanerów biometrycznych. Rozpoznawanie twarzy może uczynić nasze życie wygodniejszym i bezpieczniejszym, ale może również budzić obawy dotyczące prywatności i etyki. Na przykład, jak możemy mieć pewność, że nasze dane dotyczące twarzy nie zostaną wykorzystane w sposób niezgodny z prawem lub skradzione przez hakerów lub osoby działające w złej wierze? Jak możemy zapobiec wykorzystywaniu rozpoznawania twarzy do celów inwigilacji lub dyskryminacji? Jak możemy zapewnić, że rozpoznawanie twarzy jest dokładne i sprawiedliwe, i że nie zawiera żadnych uprzedzeń ani błędów?

Powyższy fragment został wygenerowany przez [ChatGPT](https://www.bing.com/ck/a?!&&p=0ed506ef90d7a915JmltdHM9MTY4NzgyNDAwMCZpZ3VpZD0wNGJiZTc1My05OWRhLTY2YzAtMDRjNi1mNjAzOThiZDY3MTkmaW5zaWQ9NTI0Mg&ptn=3&hsh=3&fclid=04bbe753-99da-66c0-04c6-f60398bd6719&psq=chatgpt&u=a1aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2hhdEdQVA&ntb=1) w odpowiedzi na moje prośbę o opisanie zalet i zagrożeń związanych ze sztuczną inteligencją, a także o podanie konkretnego przykładu. Jest interesujące, że ChatGPT wybrał FaceID jako przykład, ponieważ FaceID to tylko jedna z form analizy obrazu, a wykorzystanie sztucznej inteligencji do klasyfikacji obrazów oferuje potencjał do automatyzacji wielu zadań w realnym świecie.

Jednym z typowych zastosowań jest katalog produktów, w którym firma zarządza informacjami o produktach dostarczanymi przez wielu różnych producentów. Produkt umieszczony w tej bazie danych może mieć nazwę, która niekoniecznie zawiera dokładny opis produktu. Na przykład, "wellington" to buty, "fedora" to kapelusz, "mongoose" to rower, a "żółta, błyszcząca ryba iglica" to przynęta wędkarska. Możemy wykorzystać klasyfikację obrazów opartą na sztucznej inteligencji, korzystając z [API Computer Vision firmy Microsoft Azure Cognitive Services](https://learn.microsoft.com/en-us/azure/cognitive-services/computer-vision/quickstarts-sdk/image-analysis-client-library?tabs=windows%2Cvisual-studio&pivots=programming-language-rest-api), aby rozwiązać ten problem. Usługa Computer Vision przyjmuje jako dane wejściowe dane obrazu lub adres URL i zwraca informacje o jego zawartości. Jedna z usług generuje tagi klasyfikujące obrazy na podstawie zestawu danych treningowych zawierającego rozpoznawalne obiekty, organizmy żywe, krajobrazy i czynności, na których został wytrenowany system sztucznej inteligencji Azure. Te tagi pozwalają nam odpowiednio kategoryzować produkty w bazie danych i mogą nawet odpowiadać słowom kluczowym, których użytkownik może użyć do wyszukiwania produktów w katalogu.

![dekoracyjny obraz przedstawiający "mózg" sztucznej inteligencji ](/blog/images/blog_MF_AI.jpg)

<!--more-->

Możemy stworzyć mapowanie danych oparte na sztucznej inteligencji, wykorzystując narzędzie [Altova MapForce](https://www.altova.com/pl/mapforce), aby przesyłać obrazy produktów do systemu sztucznej inteligencji Computer Vision za pomocą jego interfejsu API. Altova MapForce to nagradzane, graficzne narzędzie do mapowania danych, przeznaczone do konwersji i integracji danych w dowolnym formacie. Interfejs API Computer Vision wykorzystuje sztuczną inteligencję do analizy każdego obrazu i zwraca listę tagów. MapForce obsługuje usługi internetowe bezpośrednio w ramach mapowania, a następnie można wstawić te tagi z powrotem do dedykowanego pola w bazie danych dla każdego produktu, wykorzystując funkcję przetwarzania wyników pośrednich lub łańcuchowego mapowania danych.

To mapowanie danych oparte na sztucznej inteligencji umożliwia automatyczne generowanie i dodawanie tagów generowanych przez AI do katalogów produktów, w sposób w pełni skalowalny. Tagi zwracane przez system AI są opatrywane w wskaźnik pewności, co ułatwia ustawienie progu w procesie mapowania, aby wykorzystywać tylko te tagi, które charakteryzują się wystarczająco wysokim poziomem pewności.

Zaczęliśmy od niewielkiej bazy danych zawierającej przykładowe produkty związane z rekreacją na świeżym powietrzu i wykorzystaliśmy program [Altova DatabaseSpy](https://www.altova.com/pl/databasespy) do dodania pola do tabeli produktów, przeznaczonego do przechowywania tagów AI. DatabaseSpy łączy się z większością popularnych baz danych, ułatwiając edycję zapytań SQL, projektowanie struktury bazy danych, edycję zawartości oraz konwersję baz danych, przy znacznie niższych kosztach niż rozwiązania dedykowane do pojedynczych baz danych. Poniżej znajduje się okno z wynikami zapytania DatabaseSpy, pokazujące zawartość bazy danych oraz nowe, puste pole.

[![Przykładowa baza danych dla katalogu produktów](/blog/images/sample-database.png)](sample-database.png)

Oto, w losowej kolejności, miniaturki przykładowych zdjęć produktów:

[![Obrazy do katalogu produktów, przechowywane oddzielnie od bazy danych.](/blog/images/products.png)](products.png)

Użyliśmy również narzędzia DatabaseSpy, aby zweryfikować proste zapytanie SQL, które miało na celu pobranie jedynie identyfikatorów (które są kluczami głównymi tabeli) oraz odpowiadających im nazw plików obrazów.

[![Wynik zapytania SQL dotyczącego mapowania danych dla klasyfikacji obrazów baz danych opartej na sztucznej inteligencji](/blog/images/mapping-query-result.png)](mapping-query-result.png)

Zapytanie SQL stanowi pierwszy element wejściowy dla mapowania danych przy użyciu technologii sztucznej inteligencji MapForce. Składa się ono z trzech głównych komponentów: wyniku zapytania, żądania do API analizy obrazów Azure oraz skryptu SQL, który służy do zapisywania odpowiedzi z API z powrotem do bazy danych.

[![Przegląd kompleksowego mapowania danych dotyczących klasyfikacji obrazów bazujących na sztucznej inteligencji](/blog/images/mapping1-1030x317.png)](mapping1.png)

Przyjrzyjmy się teraz dokładniej zapytaniu wysyłanemu do interfejsu API sztucznej inteligencji:

### Wynik zapytania SQL jako źródło danych do mapowania

[![Część dotycząca danych wejściowych w systemie klasyfikacji obrazów baz danych opartym na sztucznej inteligencji](/blog/images/mapping-left-side-1.png)](mapping-left-side-1.png)

Zapytanie Select generuje tabelę danych, która zasadniczo jest listą kluczowych numerów i odpowiadających im nazw plików obrazów. Jednak interfejs API akceptuje tylko żądania dotyczące jednego obrazu na raz. Mapując identyfikator (id) z zapytania do sekcji "envelope" na górze komponentu API, generujemy nowe wywołanie API dla każdego zwróconego identyfikatora, przechodząc iteracyjnie przez każdy obraz na liście. Inna linia połączenia, wychodząca z identyfikatora i znajdująca się w prawym górnym rogu, zostanie później wykorzystana do utworzenia skryptu aktualizacji SQL.

Projektant tabeli bazy danych zdecydował się odwoływać się do obrazów produktów za pomocą nazw plików, zamiast przechowywać obrazy jako obiekty binarne (BLOB) w bazie danych. Interfejs API do analizy obrazów wykorzystujący sztuczną inteligencję może przyjmować zarówno surowe dane obrazu, jak i adres URL do obrazu dostępnego publicznie. Dlatego możemy po prostu przekazać adres URL obrazu do API w naszym zapytaniu. Funkcja "concat" znajdująca się powyżej łączy ścieżkę, tworząc kompletny adres URL.

**Wykonanie żądania do usługi internetowej opartej na sztucznej inteligencji**

Centralna część schematu, wykorzystującego sztuczną inteligencję, przedstawia funkcję usługi internetowej, która wywołuje interfejs API analizy obrazów oparty na sztucznej inteligencji, a następnie przetwarza wyniki, które są zwracane

[![Funkcje usługi internetowej oraz przetwarzanie końcowe danych mapowania obrazów baz danych, wykorzystujących sztuczną inteligencję](/blog/images/mapping-center.png)](mapping-center.png)

Zwróć uwagę na ikonę koperty oznaczoną jako "Treść" po obu stronach (żądanie i odpowiedź) funkcji usługi internetowej. Interfejs API wymaga przekazania obiektu JSON jako treść żądania i określa, że odpowiedź będzie dokumentem JSON. Niebieskie i czerwone przyciski znajdujące się obok ikon "Treść" otwierają okno dialogowe, w którym można zdefiniować strukturę danych dla żądania i odpowiedzi.

[![Określenie struktury funkcjonalności usługi internetowej do klasyfikacji obrazów bazujących na sztucznej inteligencji](/blog/images/request-structure-dialog.png)](request-structure-dialog.png)

Odpowiedź z interfejsu API sztucznej inteligencji wymaga dalszej obróbki. Etykiety są zwracane jako listy obiektów JSON, a każda etykieta jest opatrzona liczbą, która reprezentuje poziom pewności trafności w procentach. Poniżej znajduje się przykład. Poniżej znajduje się odpowiedź sztucznej inteligencji w oryginalnym formacie JSON dla obrazu parasola:

[![Przykład surowej odpowiedzi z usługi internetowej do klasyfikacji obrazów baz danych, opartej na sztucznej inteligencji](/blog/images/response-1.png)](response-1.png)

Funkcja filtrująca o większym priorytecie wybiera te tagi, których poziom pewności wynosi 88% lub więcej. Następnie funkcja łączenia łączy te tagi w jeden ciąg znaków oddzielonych przecinkami. Należy zauważyć, że tag "deszcz" ma poziom pewności wynoszący 42%.

Oto ciąg znaków, który chcemy zastosować do głównego produktu w bazie danych, po wyodrębnieniu tylko tych tagów, które nas interesują:

[![Lista tagów do aktualizacji bazy danych, przetworzona na podstawie powyższej odpowiedzi](/blog/images/response-2.png)](response-2.png)

### Generowanie polecenia SQL UPDATE na podstawie odpowiedzi generowanych przez sztuczną inteligencję

Prawa część systemu mapowania danych, opartego na sztucznej inteligencji, otrzymuje każdy przetworzony wynik, porównuje go z odpowiednim identyfikatorem bazy danych i przypisuje ciąg tagów do pola "ai-tags" w tabeli bazy danych "cat-products".

[![Utworzenie instrukcji SQL aktualizującej, która umożliwi zakończenie procesu mapowania danych do klasyfikacji obrazów w bazie danych, wykorzystującego sztuczną inteligencję](/blog/images/mapping-right-side.png)](mapping-right-side.png)

### Analiza wyników mapowania danych opartych na sztucznej inteligencji

Przycisk "Podgląd wyniku" znajdujący się poniżej głównego panelu mapowania w MapForce pozwala nam zobaczyć przykładowy rezultat: uruchamia cały proces mapowania danych, rozpoczynając od oryginalnego zapytania SELECT, wykonuje żądania API, przetwarza wyniki analizy opartej na sztucznej inteligencji i, w końcu, generuje instrukcje aktualizacji SQL, tworząc kompletny skrypt aktualizacji SQL

[![Skrypt aktualizacji bazy danych, wygenerowany przez system mapowania danych do klasyfikacji obrazów baz danych, wykorzystujący sztuczną inteligencję](/blog/images/update-script.png)](update-script.png)

Możemy użyć opcji "Uruchom skrypt SQL" z głównego menu MapForce, aby uruchomić skrypt i interaktywnie wprowadzać aktualizacje bazy danych. Alternatywnie, możemy teraz wdrożyć tę transformację na instancji serwera [MapForce Server](https://www.altova.com/pl/mapforce-server) w naszej sieci, gdzie może być ona uruchamiana automatycznie jako część procesu importu nowych produktów do katalogu. Korzystając z [FlowForce Server](https://www.altova.com/pl/flowforceserver), możemy zdefiniować pewne wyzwalacze, które automatycznie przetwarzają dane, weryfikują je, a następnie wykonują oznaczanie obrazów przy użyciu sztucznej inteligencji, a na końcu przekazują je do bazy danych produkcyjnej.

W naszych zapytaniach do API Computer Vision platformy Microsoft Azure Cognitive Services, użyto domyślnego, wstępnie wytrenowanego modelu wizyjnego, który jest standardem dla tego przykładu. Model wizyjny dostosowany do konkretnych potrzeb mógłby precyzyjniej określać tagi dla specjalistycznych zastosowań, ale to wykracza poza zakres tego wpisu na blogu.

[Kliknij tutaj, aby uzyskać więcej informacji](https://www.altova.com/pl/mapforce) na temat funkcji mapowania i konwersji danych dostępnych w programie MapForce, lub [kliknij tutaj, aby pobrać](https://www.altova.com/pl/download-trial.html) bezpłatną, w pełni funkcjonalną wersję próbną na 30 dni, zawierającą pliki pomocy, samouczki oraz wiele przykładów mapowania danych.

* * *
