SaraVision
Image recognition
Artur Majtczak

Artur Majtczak

Saturday, 20 March 2021 17:18

SaraVision

Czy aby rozpoznać nowy przedmiot musisz go oglądać 1000 razy? Czy jak obejrzysz go kolejne 100000 razy będziesz go lepiej rozpoznawał? Myślę, że nie, a tak właśnie działają systemy rozpoznawania obrazu oparte na kaskadowym klasyfikatorze Haara czy sieciach neuronowych.

SaraVision to projekt rozpoznawania obrazu koncepcyjnie zupełnie odmienny od podejścia, w którym cały świat pokłada największe nadzieje, czyli od coraz lepszych sieci neuronowych uczących się na coraz większych i bardziej dostępnych bazach danych. My zakładamy, że wystarczy niejednokrotnie tylko jedno lub kilka spojrzeń na przedmiot aby go zapamiętać i w przyszłości rozpoznać. Wszystko zaczęło się od potrzeby, aby w jednym z naszych podprojektów nazwanym roboczo SaraEye, podnoszącym dotychczasowych asystentów Google i Alexa do poziomu 2.0 dodać zmysł wzroku i trochę inteligencji.

Na początku, aby sprawdzić pewne podstawowe założenia napisaliśmy prosty program rozpoznający zestaw znaków MNIST co opisuję na naszym blogu w lekko prowokacyjnym artykule "Bezsensowność wykorzystywania głębokiego uczenia, czy sieci neuronowych do rozpoznawania obrazu". Już tam udało się stworzyć program bardzo uniwersalny, rozpoznający znaki niezależnie od ich wielkości, pochylenia czy rodzaju czcionki, ale to była tylko programistyczna "piaskownica".

Kolejnym etapem było stworzenie czegoś bardziej uniwersalnego, pozwalającego na rozpoznawanie dowolnych przedmiotów, a na początek pozwalającego na szybkie wykrywaniu podstawowych figur geometrycznych i sprawdzenie też pewnej teorii, że nasz mózg świetnie widzi to czego nie widać, dosłownie dorysowując w wyobraźni brakujące elementy (patrz: percepcja wzrokowa i gestaltizm, teoria reifikacji), i że nasz system zadziała podobnie:

  

 

Udało się, działa podobnie, co widać na tym amatorskim filmie poniżej, a działa tak, że nie musi być widać całego kwadratu aby wykryć, że ten kwadrat tam jest (patrz film poniżej).
Może się wydawać, że wykrywanie prostych figur jest łatwe i każdy programista to zrobi. Można użyć do tego kilku "gotowców", można też wszystko zalgorytmizować, ale nam nie chodzi o pisanie algorytmu na każdy kształt, ale napisanie jednego na wszystkie kształty, a co najważniejsze nie chcemy też systemu uczyć tysiącem obrazów.

 

 

Kolejnym krokiem było sprawdzenie systemu, czy poradzi sobie z wykrywaniem twarzy na obrazie wideo z kamery. Co ważne system ma za zadanie wykryć twarz bardzo szybko, twarz może być pochylona w lewo lub w prawo, lekko bokiem, bokiem, źle oświetlona, widoczna w kolorze lub promieniach IR - udało się. System, mimo że jest w trakcie budowy poradził sobie prawie 20 x szybciej od standardowych systemów wykrywania twarzy, a co najważniejsze radził sobie tam gdzie inne systemu nie radziły sobie praktycznie wcale (np. twarz oświetlona z jednej strony przez słońce z głową lekko pochyloną w bok):


(film zrobiony na mikrokomputerze Raspberry Pi 4, użycie jednego rdzenia CPU na poziomie 20-30%, obraz analizowany w czasie rzeczywistym dla utrudnienia z ruchomej kamery typu pan tilt, która śledzi twarz użytkownika)


Jesteśmy na początku drogi, ale rezultaty jakie otrzymujemy wydają się rewelacyjne, a już myślimy o systemie rozpoznawania przestrzeni trójwymiarowej opartym o naszą metodę.

Chociaż w tej chwili myślimy o zastosowaniu naszej metody w naszym innym podprojekcie SaraEye, możliwości tego systemu są ogromne, a główne to:

1. Nie uczymy systemu tysiącami próbek, wystarczy kilka, kilkanaście.
2. Nie jest ważny kąt, pod którym analizujemy rozpoznawany obraz.
3. Do 20 x większa szybkość rozpoznawania obiektów.
4. Minimalna moc komputera (mikrokomputer Raspberry Pi może wykryć twarz w 10ms, a nie w 500 ms)
5. Nie jest potrzebne połączenie z internetem.

Nie neguję żadnych metod rozpoznawania obrazu opartych na sieciach neuronowych, olbrzymiego postępu tych metod szczególnie w ostatnich latach. Uważam, że narzędzia typu tensorflow są genialne, ale uważam też, że można wiele rzeczy zrobić inaczej, że nie wszystko należy wpychać do sieci neuronowych, a jeżeli już chcemy je wykorzystać dajmy im takie dane, na których sieci mają szansę działać najlepiej.

 

Thursday, 04 March 2021 14:00

Nowy wygląd SaraEye

Już wiemy jak będzie wyglądał nasz asystent głosowy SaraEye - jeden z naszych podprojektów sztucznej inteligencji SaraAI.
Jak pisaliśmy wcześniej dzięki uzyskanemu dofinansowaniu mocno przyspieszyliśmy.

Projekt SaraEye to podniesienie asystentów głosowych na wyższy poziom poprzez dodanie im zmysłu wzroku i inteligencji.
Więcej informacji znajdziecie na stronie projektu SaraAI.com/SaraEye, a tu chciałbym przedstawić naszą drogę od modelu do ostatecznego wyglądu.

Sam pomysł stworzenia Sary urodził się dawno temu, w czasach gdy internet raczkował, nie działało rozpoznawanie mowy i nie było dostępu do otwartych baz wiedzy. Na szczęście tamte ograniczenia są już za nami co pozwoliło nam powrócić do projektu i rozpocząć pierwsze testy wymyślonych wcześniej założeń. Na jednym z naszych pierwszych opublikowanych filmów widać naszego pierwszego prototypowego asystenta zrobionego ze zwykłej kamery IP, gdzie pokazujemy pewne aspekty asystenta, które chcielibyśmy bardziej rozwijać. Ten zaledwie półtoraminutowy film, mimo że starszy, amatorski, pokazuje kilka kluczowych rozwiązań, jak nawiązywanie swoistej więzi z urządzeniem czy ciągłość dialogu, co wydaje się nam być kluczowe i co opisywaliśmy już w innym artykule "Szukamy sztucznej Inteligencji, a dostajemy... głośnik.".

Po wstępnych testach, widząc ograniczenia jakie dawało wykorzystywanie standardowych kamer IP dalej rozwijaliśmy naszego asystenta dodając mocniejszy procesor, zestaw 6 mikrofonów i szybkie silniki, aby kamera potrafiła nadążyć za szybkim ruchem. Tak powstała kolejna hybrydowa wersja SaraEye:


W tym samym czasie powstał też nasz pierwszy film pokazujący część z funkcjonalności, które chcemy zrobić w już komercyjnej wersji SaraEye:

Pod koniec 2020 roku, dzięki uzyskanemu dofinansowaniu na SaraEye i współpracy z MindSailors Design Studio, tworzymy wreszcie ostateczny kształt i funkcjonalności SaraEye, którą już niedługo zaprezentujemy w działaniu, a w tej chwili możemy zdradzić już jej wygląd:

Jak Wam się podoba?

 

Friday, 20 November 2020 08:52

Fundusze europejskie

Sara AI realizuje projekt dofinansowany z Funduszy Europejskich z Programu Operacyjnego Polska Wschodnia 2014-2020, Działanie 1.1. Platformy startowe dla nowych pomysłów 1.1.2 Rozwój startupów w Polsce Wschodniej pt. „SaraCam – interaktywny asystent głosowy oparty o autorskie algorytmy rozpoznawania obrazu z funkcją śledzenia wzrokiem i rozpoznawania twarzy”

Cel projektu: Celem projektu jest wprowadzenie na rynek urządzenia SaraCam, tj. Asystenta AI o przełomowej funkcjonalności związanej z wykorzystaniem kamery i własnych algorytmów w celu aktywacji i autentyfikacji wzrokiem oraz funkcjonalność śledzenia wzrokiem.
Planowane efekty: Dzięki realizacji projektu na rynek wprowadzona zostanie nowa innowacja produktowa - moduł sprzętowy SaraCam.
Termin realizacji: 01.12.2020 – 30.11.2022
Wartość projektu: 1.157.698,84 PLN
Kwota dofinansowania: 913.548,87 PLN

Miło nam poinformować, że nasz projekt sztucznej inteligencji, zdobył wyróżnienie w kategorii START UP Z POTENCJAŁEM POLSKA-ŚWIAT w konkursie promującym innowacyjne i kreujące wartość produkty i usługi: "Orzeł Innowacji" dziennika "Rzeczpospolita".

 

Sunday, 11 October 2020 20:40

Dobre wiadomości...

Miło nam poinformować, że jeden z naszych podprojektów Sztucznej Intelignecji SaraAI - interaktywny asystent głosowy oparty o autorskie algorytmy rozpoznawania obrazu "SaraCam" otrzymał dofinansowanie z Polskiej Agencji Rozwoju Przedsiębiorczości.

Termin realizacji: 01.12.2020 – 28.02.2022
Wartość projektu: 1.232.608,08 PLN
Kwota dofinansowania: 937.279,70 PLN

Page 2 of 3