JavaWeb application

Projekt – rozpoznawanie twarzy

Face detection

Projekt z wykorzystaniem API służącego do rozpoznawania twarzy potrafi wyświetlać szczegółowe informacje dotyczące osób z wczytanego zdjęcia.
Dostęp: https://github.com/bykowski/face-recognition-microsoftApiClient

Aplikacja powstała na bazie kodu dostarczonego przed producenta:
https://docs.microsoft.com/pl-pl/azure/cognitive-services/face/quickstarts/java
Kod został przepisany, aby działał w ramach Spring Framework i mógł działać z wykorzystaniem przeglądarki internetowej.

Do komunikacji z API została wykorzystywana jest klasa RestTemplate, która przyjmuje:

  • URI, która składa się z adresu bazowego, oraz atrybutów twarzy jakie są oczekiwane w odpowiedzi z API. Dodatkowo parametrami są informacje dotyczące identyfikowania twarzy, które mogą być wykorzystywane do późniejszego sprawdzenia, czy dana twarz była wcześniej już rozpoznana;
  • Nagłówek, który informuje jaki rodzaj wymienianej informacji znajduje się w Body. Dodatkowo w nagłówku przekazywany jest klucz subscriptionKey (będącym kluczem niezbędnym do posługiwania się API);
  • Body, który ma format JSON. W nim przekazywana jest para klucz-wartość, gdzie kluczem jest url, a body stanowi adres do obrazka. Przykładową postacią może być:
    {“url”:”http://bykowski.pl/wp-content/uploads/2017/08/przemyslaw_bykowski.jpg”}

Obiektem zwracanym jest obszerny plik w formacie JSON. Plik zwraca tablicę z informacjami dotyczących wszystkich rozpoznanych osób na zdjęciu. Plik JSON z użyciem JACKSona został przemapowany na obiekty klas.

Aby skorzystać aplikacji należy wpisać klucz subscriptionKey w pliku application.properties. Darmowy klucz można wygenerować pod adresem:
https://azure.microsoft.com/pl-pl/try/cognitive-services/?api=face-api

Aplikacja domyślenie uruchamia się na:
http://localhost: 8080

UI przyjmuje adres do zdjęcia, a po wciśnięciu przycisku wyświetla w tabeli informacje twarzy rozpoznanych na zdjęciu.

Rozwiązanie nie uwzględnia obsługi wyjątków, stworzone pod zastosowanie happy patch 🙂

 

Tags:
Show Buttons
Hide Buttons