Dziesięć lat temu
badacze rozpoznawania obrazów
sądzili, że nauczenie komputera
rozróżniania kota od psa
jest prawie niemożliwe
nawet przy sporym postępie
rozwoju sztucznej inteligencji.
Teraz jest to możliwe
z dokładnością większą niż 99%.
Nazywamy to klasyfikacją obrazu:
dostarcz obraz,
przypisz do niego etykietę...
komputery znają teraz
tysiące innych kategorii.
Jestem doktorantem
na Uniwersytecie Waszyngtońskim
i pracuję nad projektem "Darknet",
który jest frameworkiem
sieci neuronowej
do ćwiczenia i testowana
modeli rozpoznawania obrazów.
Sprawdźmy więc, co "Darknet" sądzi
o tym obrazie.
Wprowadzenie tego obrazu do klasyfikatora
nie tylko da nam prognozę,
czy to pies czy kot,
ale nawet prognozę konkretnej rasy.
Taki poziom szczegółowości
jest teraz dostępny.
I jest to poprawne rozpoznanie.
Mój pies to naprawdę malamut.
Dokonaliśmy niesamowitego postępu
w klasyfikacji obrazów,
ale co się stanie,
jeśli wprowadzimy taki obraz?
Klasyfikator zwraca podobną prognozę
i jest poprawna - na zdjęciu jest malamut,
ale na podstawie samej etykiety
nie można dowiedzieć się wiele
na temat tego,
co dzieje się na zdjęciu.
Do tego potrzeba
czegoś bardziej zaawansowanego.
Pracuję nad wykrywaniem obiektów.
Patrzymy na obraz i próbujemy
znaleźć wszystkie obiekty,
wpisujemy je w bryły brzegowe
i je nazywamy.
Oto co się dzieje, kiedy wprowadzimy
ten obraz do detektora.
Z tego rodzaju rezultatem
możemy zrobić znacznie więcej,
stosując nasze algorytmy.
Komputer wie,
że na zdjęciu jest kot i pies.
Zna ich względne położenie,
ich wielkość.
Może też uzyskać dodatkowe informacje:
w tle leży książka.
Żeby zbudować system
na rozpoznawaniu obrazu,
powiedzmy samoprowadzący się pojazd
lub manipulator robotyczny,
potrzeba właśnie tego typu informacji.
Potrzeba czegoś do interakcji
ze światem fizycznym.
Kiedy zacząłem pracować
nad wykrywaniem obiektów,
przetworzenie jednego obrazu
zajmowało 20 sekund.
Aby lepiej odczuć dlaczego prędkość
jest tak ważna w tej dziedzinie,
pokażę przykład detektora obiektów,
który przetwarza obraz w 2 sekundy.
To 10 razy szybciej
niż ten przetwarzający obraz w 20 sekund,
a i tak można zaobserwować,
że zanim dokonał prognozy,
zmieniła się cała sytuacja,
a to nie byłoby zbyt użyteczne
w zastosowaniu.
Jeśli dziesięciokrotnie
przyspieszymy ten proces,
tak wygląda detektor
przy pięciu klatkach an sekundę.
Wygląda to dużo lepiej,
ale na przykład
w przypadku znacznego ruchu
nie chciałbym, żeby taki system
prowadził mój samochód.
Tak wygląda nasz system
działający w czasie rzeczywistym
na moim laptopie.
Płynnie śledzi mnie
w trakcie poruszania się w ramie
i jest odporny na dużą
różnorodność zmian wielkości,
pozy,
rotacji poziomej.
O to chodziło.
Tego właśnie potrzeba,
żeby budować systemy
na rozpoznawaniu obrazu.
(Brawa)
Zaledwie w kilka lat
przeszliśmy od 20 sekund na obraz
do 20 milisekund na obraz
- tysiąc razy szybciej.
Jak to się stało?
W przeszłości systemy wykrywania obiektów
rozbiłyby ten obraz
na mnóstwo obszarów
i wprowadziłyby każdy z nich
do klasyfikatora,
a wysokie rezultaty klasyfikatora
byłyby uważane za wykrycie obiektów.
Ale to wymagało wprowadzenia obrazu
do klasyfikatora tysiące razy,
tysięcy ewaluacji sieci neuronowych,
aby otrzymać wykrycie.
Zamiast tego nauczyliśmy pojedynczą sieć
całkowitego wykrywania.
Tworzy ona wszystkie bryły brzegowe
i prawdopodobieństwa klasowe jednocześnie.
Nasz system, zamiast tysiąc razy
analizować obraz
do jednego wykrycia,
analizuje go tylko raz
i dlatego nazywamy to
metodą wykrywania obrazów YOLO.
Z tą prędkością nie musimy
ograniczać się jedynie do obrazów.
Możemy przetwarzać wideo
w czasie rzeczywistym.
Teraz zamiast kota i psa
można też obserwować
ich ruch i interakcję.
Trenowaliśmy ten detektor
na osiemdziesięciu różnych klasach
w zbiorze danych Microsoft COCO.
Zawiera on różnorodne rzeczy,
na przykład łyżkę i widelec, miskę
i podobne przedmioty codziennego użytku.
Zawiera również
bardziej egzotyczne obrazy:
zwierzęta, samochody, zebry, żyrafy.
Teraz zrobimy coś dla zabawy.
Skierujemy detektor na publiczność
i zobaczymy, co się da wykryć.
Czy ktoś chce pluszaka?
Mam tu kilka misiów.
Możemy trochę obniżyć
nasz próg wykrywalności,
aby znaleźć więcej osób na widowni.
Zobaczmy, czy uda nam się
rozpoznać te znaki stopu.
Widzimy kilka plecaków.
Zróbmy niewielkie zbliżenie.
Świetnie.
Całe przetwarzanie ma miejsce
w czasie rzeczywistym
na laptopie.
Należy pamiętać,
że jest to system wykrywania
obiektów do użytku ogólnego,
więc możemy go wytrenować
dla dowolnej kategorii obrazów.
Ten sam kod, którego używamy
do znalezienia znaków stopu, pieszych,
lub rowerów w autonomicznym pojeździe
można wykorzystać
do znalezienia komórek rakowych
w biopsji tkanki.
Badacze na całym świece
używają już tej technologii
do rozwoju w dziedzinach
takich jak medycyna, czy robotyka.
Dziś rano czytałem pracę
omawiającą zliczanie zwierząt
w Parku Narodowym Nairobi
przy wykorzystaniu YOLO jako
części systemu wykrywania obiektów.
Jest to możliwe ponieważ "Darknet"
jest programem open source,
będącym własnością publiczną
do wolnego użytku.
(Brawa)
Chcieliśmy jednak, żeby wykrywanie
było bardziej przystępne i przydatne,
więc poprzez połączenie
optymalizacji modelu,
binaryzacji i aproksymacji sieci
otrzymaliśmy wykrywanie obiektów
działające na telefonie.
(Brawa)
Jestem bardzo podekscytowany,
bo mamy potężne rozwiązanie problemu
rozpoznawania obrazów
na komputerach o niskiej wydajności
i każdy może je wykorzystać
i stworzyć coś przy jego użyciu.
Reszta zależy od was
i ludzi na całym świecie
z dostępem do tego oprogramowania.
Nie mogę się doczekać tego,
co ludzie stworzą
przy użyciu tej technologii.
Dziękuję.
(Brawa)