Określenie czy zdjęcie zrobione przez użytkownika przedstawia ten sam obiekt

0

Cześć

Potrzebuje ukierunkowania na to jak w ogóle podejść do następującego problemu.

  • Użytkownik dostaje przykładowe zdjęcie określonego obiektu na określonym obszarze (na przykład-tablica pamiątkowa, niewielki pomnik itd)
  • Użytkownik musi zrobić zdjęcie możliwie zbliżone do tego zdjęcia (zbliżona perspektywa, odległość od obiektu itd)
  • Zdjęcie może być wykonane w różnych warunkach oświetleniowych, pogodzie, porze dnia, czasem w nocy, czasem w dzień
  • Jeśli pomnik/tablica/płaskorzeźba jest np. między oknami, to zdjęcie przedstawiające dwa identyczne okna pomiędzy którymi nie ma tego obiektu nie powinno być zaliczone
  • Rozpoznawanie jest na zasadzie TAK/NIE - slbo to właściwe zdjęcie albo nie
  • Do rozpoznania jest 7-8 obiektów
  • Całość ma stać na AWS - najlepiej jako lambda lub inna usługa serverless tak aby minimalizować stałe koszty
  • Całość jest modułem większego systemu i realizuje konkretną funkcjonalność przydatną w systemie al nie niezbędną

Na razie moje proste podejście polegało na użyciu gotowych rozwiązań a konkretnie: https://awslabs.github.io/aws-ai-solution-kit/en/deploy-image-similarity/
Generalnie działa, ale jednak 1 zdjęcie porównawcze powoduje że poprawne inne zdjęcia ale z niceo innej perspektywy już odpadają.

Zakładam, że potrzebuję jakiegoś modelu ML, ale kompletnie nie mam w tym doświadczenia. Poprosiłbym o zasugerowanie kierunku, w którym pójść.
Zakładam, że każdy obrazek z tych 7-8 to będzie osobny model. Specyfika zadania jest tak że mogę miec bardzo dużo zdjęć z różnych perspektyw.

0

Temat jest nie trywialny gdyż nie ma jasnej granicy kiedy według ciebie zdjęcia są podobne a kiedy nie. Czyli musisz znaleźć jakiś analizator obrazu który porówna zdjęcia i zwróci ci procent zbieżności a to ty zdecydujesz kiedy są podobne a kiedy nie. Kiedyś do takich rzeczy używało się transformaty Fouriera ale uczenie takiego modelu będzie wymagało tysięcy zdjęć w zbiorze uczącym (niezależnie czy pójdziesz w ML czy jakieś sieci neuronowe będziesz potrzebował dużego zbioru uczącego). Może opisz jaki problem chcesz rozwiązać to będzie łatwiej coś doradzić.

0

Niekoniecznie tysięcy, kilkaset już wystarczy, mamy transfer learning.

1 użytkowników online, w tym zalogowanych: 0, gości: 1