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 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”:”https://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 🙂