Što je računalni vid? AI za slike i video

Računalni vid identificira i često locira predmete na digitalnim slikama i videozapisima. Budući da živi organizmi obrađuju slike svojim vizualnim korteksom, mnogi su istraživači uzeli arhitekturu vizualnog korteksa sisavaca kao model za neuronske mreže dizajnirane za prepoznavanje slike. Biološka istraživanja sežu u 1950-te.

Napredak u računalnom vidu tijekom posljednjih 20 godina bio je apsolutno izuzetan. Iako još nisu savršeni, neki sustavi računalnog vida postižu 99% točnosti, a drugi pristojno rade na mobilnim uređajima.

Proboj u polju neuralne mreže za vid bio je YanN LeCun 1998. LeNet-5, sedmorazinska konvolucijska neuronska mreža za prepoznavanje rukom napisanih znamenki digitaliziranih na slikama od 32x32 piksela. Da bi se analizirale slike veće rezolucije, mrežu LeNet-5 trebalo bi proširiti na više neurona i više slojeva.

Današnji najbolji modeli klasifikacije slika mogu prepoznati raznolike kataloge objekata u HD rezoluciji u boji. Uz čiste duboke neuronske mreže (DNN), ljudi ponekad koriste i hibridne modele vida, koji kombiniraju duboko učenje s klasičnim algoritmima strojnog učenja koji izvršavaju određene podzadatke.

Ostali problemi s vidom, osim osnovne klasifikacije slike, riješeni su dubokim učenjem, uključujući klasifikaciju slika s lokalizacijom, otkrivanje objekata, segmentaciju objekata, prijenos stila slike, obojenje slike, rekonstrukcija slike, super-rezolucija slike i sinteza slike.

Kako funkcionira računalni vid?

Algoritmi računalnog vida obično se oslanjaju na konvolucijske neuronske mreže ili CNN-ove. CNN obično koriste slojeve konvolucije, udruživanja, ReLU, potpuno povezane i gubitke za simulaciju vizualnog korteksa.

Konvolucijski sloj u osnovi uzima integrale mnogih malih preklapajućih područja. Sloj za udruživanje izvodi oblik nelinearnog uzorkovanja prema dolje. ReLU slojevi primjenjuju nezasićenu funkciju aktiviranja f (x) = max (0, x) .

U potpuno povezanom sloju, neuroni imaju veze sa svim aktivacijama u prethodnom sloju. Sloj gubitka izračunava kako mrežni trening kažnjava odstupanje između predviđenih i istinitih oznaka, koristeći Softmax ili unakrsni entropijski gubitak za klasifikaciju.

Skupovi podataka za obuku za računalni vid

Mnogo je podataka o javnim slikama koji su korisni za trening modela vida. Najjednostavniji i jedan od najstarijih je MNIST koji sadrži 70 000 rukom napisanih znamenki u 10 klasa, 60 000 za trening i 10 000 za testiranje. MNIST je jednostavan skup podataka za modeliranje, čak i ako koristite prijenosno računalo bez hardvera za ubrzanje. CIFAR-10 i Fashion-MNIST slični su skupovi podataka iz 10 klasa. SVHN (kućni brojevi s prikazom ulice) skup je od 600 000 slika stvarnih kućnih brojeva izvučenih iz Google Street Viewa.

COCO je skup podataka većih razmjera za otkrivanje, segmentaciju i titriranje objekata, s 330 tisuća slika u 80 kategorija objekata. ImageNet sadrži oko 1,5 milijuna slika s ograničavajućim okvirima i naljepnicama, što ilustrira oko 100.000 fraza iz programa WordNet. Open Images sadrži oko devet milijuna URL-ova slika, s oko 5K oznaka.

Google, Azure i AWS imaju vlastite modele vizije obučene za vrlo velike baze podataka sa slikama. Možete ih koristiti takve kakve jesu ili pokrenuti učenje prijenosa kako biste ove modele prilagodili vlastitim skupovima podataka o slikama. Također možete izvesti učenje prijenosa koristeći modele zasnovane na ImageNetu i Open Images. Prednosti učenja prijenosa u odnosu na izgradnju modela od nule su u tome što je mnogo brže (satima, a ne tjednima) i što vam daje precizniji model. I dalje će vam trebati 1.000 slika po naljepnici za najbolje rezultate, iako se ponekad možete izvući i s 10 slika po naljepnici.

Aplikacije za računalni vid

Iako računalni vid nije savršen, često je dovoljno dobar da bude praktičan. Dobar primjer je vizija u samovozećim automobilima.

Waymo, nekada Googleov projekt samovozećih automobila, polaže testove na sedam milijuna kilometara javnih cesta i mogućnost sigurne navigacije u svakodnevnom prometu. Dogodila se najmanje jedna nesreća u kojoj je sudjelovao kombi Waymo; prema policiji nije se vjerovalo da je softver kriv.

Tesla ima tri modela samovozećeg automobila. 2018. godine SUV Tesla u režimu samovoze sudjelovao je u smrtnoj nesreći. Izvještaj o nesreći kaže da je vozač (koji je poginuo) imao ruke s upravljača unatoč višestrukim upozorenjima s konzole te da ni vozač ni softver nisu pokušali kočiti kako bi izbjegli udaranje u betonsku barijeru. Softver je od tada nadograđivan tako da zahtijeva, a ne sugerira da ruke vozača budu na upravljaču.

Amazon Go trgovine su samoposlužne maloprodajne prodavaonice bez naplate u kojima sustav računalnog vida u trgovini otkriva kada kupci pokupe ili vrate artikle na zalihi; kupce prepoznaje i naplaćuje putem aplikacije za Android ili iPhone. Kada softver Amazon Go propusti neki predmet, kupac ga može zadržati besplatno; kada softver lažno registrira preuzetu stvar, kupac može označiti stavku i dobiti povrat za tu naknadu.

U zdravstvu postoje aplikacije za vid za klasificiranje određenih značajki dijapozitiva, rentgenskog snimanja prsnog koša i drugih medicinskih sustava za snimanje. Nekoliko njih pokazalo je vrijednost u usporedbi s vještim ljudskim praktičarima, a neke dovoljno za regulatorno odobrenje. Postoji i sustav u stvarnom vremenu za procjenu gubitka krvi pacijenta u operacijskoj ili porođajnoj sobi.

Postoje korisne aplikacije za viziju za poljoprivredu (poljoprivredni roboti, nadzor usjeva i tla i prediktivna analitika), bankarstvo (otkrivanje prijevara, provjera autentičnosti dokumenata i depoziti na daljinu) i industrijsko praćenje (udaljeni bunari, zaštita radilišta i radna aktivnost).

Postoje i aplikacije računalnog vida koje su kontroverzne ili čak zastarjele. Jedno je prepoznavanje lica, što kada se koristi od vlade može predstavljati narušavanje privatnosti i koje često ima pristranost prema obuci koja pogrešno identificira nebijela lica. Druga je generacija deepfake-a koja je više nego pomalo jeziva kada se koristi za pornografiju ili stvaranje podvala i drugih prijevara.

Okviri i modeli računalnog vida

Većina okvira za duboko učenje imaju značajnu podršku za računalni vid, uključujući okvire temeljene na Pythonu TensorFlow (vodeći izbor za proizvodnju), PyTorch (vodeći izbor za akademska istraživanja) i MXNet (Amazonov okvir izbora). OpenCV je specijalizirana knjižnica za računalni vid koja se naginje aplikacijama za vid u stvarnom vremenu i koristi prednosti MMX i SSE uputa kad su dostupne; također ima podršku za ubrzanje pomoću CUDA, OpenCL, OpenGL i Vulkan.

Amazon Rekognance usluga je za analizu slika i videozapisa koja može identificirati predmete, ljude, tekst, scene i aktivnosti, uključujući analizu lica i prilagođene naljepnice. Google Cloud Vision API je unaprijed pripremljena usluga analize slika koja može otkriti predmete i lica, čitati ispisan i rukom napisan tekst i ugraditi metapodatke u vaš katalog slika. Google AutoML Vision omogućuje vam osposobljavanje prilagođenih modela slika. I Amazon Rekogmination Custom Labels i Google AutoML Vision izvode učenje prijenosa.

Microsoft Computer Vision API može prepoznati predmete iz kataloga od 10 000, s naljepnicama na 25 jezika. Također vraća ograničavajuće okvire za identificirane objekte. Azure Face API vrši prepoznavanje lica koje prepoznaje lica i atribute na slici, identifikaciju osobe koja odgovara pojedincu u vašem privatnom spremištu do milijun ljudi i prepoznavanje uočenih emocija. Face API može se izvoditi u oblaku ili na rubu u spremnicima.

IBM Watson Visual Recognition može klasificirati slike iz unaprijed obučenog modela, omogućiti vam obuku prilagođenih modela slika s učenjem prijenosa, izvođenje detekcije objekata brojanjem predmeta i osposobljavanje za vizualni pregled. Watson Visual Recognition može se pokretati u oblaku ili na iOS uređajima koji koriste Core ML.

Paket za analizu podataka Matlab može izvršiti prepoznavanje slika pomoću strojnog učenja i dubokog učenja. Ima opcijski Computer Vision Toolbox i može se integrirati s OpenCV-om.

Modeli računalnog vida daleko su napredovali od LeNet-5 i uglavnom su CNN-ovi. Primjeri uključuju AlexNet (2012), VGG16 / OxfordNet (2014), GoogLeNet / InceptionV1 (2014), Resnet50 (2015), InceptionV3 (2016) i MobileNet (2017-2018). Neuronske mreže vida MobileNet dizajnirane su s obzirom na mobilne uređaje.

[Također na: Kaggle: Gdje znanstvenici podataka uče i natječu se]

Okvir Apple Vision izvodi otkrivanje lica i lica, prepoznavanje teksta, prepoznavanje crtičnog koda, registraciju slika i opće praćenje značajki. Vision također omogućuje upotrebu prilagođenih Core ML modela za zadatke poput klasifikacije ili otkrivanja predmeta. Radi na iOS-u i macOS-u. Google ML Kit SDK ima slične mogućnosti i radi na Android i iOS uređajima. ML Kit dodatno podržava API-je prirodnog jezika.

Kao što smo vidjeli, sustavi računalnog vida postali su dovoljno dobri da budu korisni, a u nekim slučajevima i precizniji od ljudskog vida. Koristeći učenje transfera, prilagodba modela vida postala je praktična za puke smrtnike: računalni vid više nije isključiva domena istraživača na doktorskoj znanosti.

Pročitajte više o strojnom učenju i dubokom učenju:

  • Dubinsko učenje nasuprot strojnom učenju: shvatite razlike
  • Što je strojno učenje? Inteligencija izvedena iz podataka
  • Što je duboko učenje? Algoritmi koji oponašaju ljudski mozak
  • Objašnjeni algoritmi strojnog učenja
  • Što je obrada prirodnog jezika? AI za govor i tekst
  • Objašnjeno automatizirano strojno učenje ili AutoML
  • Objašnjeno nadzirano učenje
  • Objašnjeno polunadgledano učenje
  • Objašnjeno učenje bez nadzora
  • Objašnjeno učenje pojačanja
  • Kaggle: Gdje znanstvenici podataka uče i natječu se
  • Što je CUDA? Paralelna obrada za GPU

Pročitajte recenzije strojnog učenja i dubokog učenja:

  • Kako odabrati platformu za strojno učenje u oblaku
  • Deeplearning4j: Dubinsko učenje i ETL za JVM
  • Pregled: Amazon SageMaker igra sustizanje
  • Pregled TensorFlow 2: Lakše strojno učenje
  • Pregled: Google Cloud AutoML uistinu je automatizirano strojno učenje
  • Recenzija: MXNet duboko učenje sjaji s Gluonom
  • Pregled PyTorcha: Okvir dubokog učenja stvoren za brzinu
  • Prikaz: Keras plovi dubokim učenjem