Programmēšana

Kas ir datorvīzija? AI attēliem un video

Datora redze identificē un bieži atrod objektus digitālajos attēlos un videoklipos. Kopš dzīvie organismi apstrādā attēlus ar redzes garozu, daudzi pētnieki ir izmantojuši zīdītāju vizuālās garozas arhitektūru kā paraugu neironu tīkliem, kas paredzēti attēlu atpazīšanai. Bioloģiskie pētījumi meklējami pagājušā gadsimta 50. gados.

Datoru redzes progress pēdējos 20 gados ir bijis pilnīgi ievērojams. Lai gan dažas datorredzes sistēmas vēl nav ideālas, tās sasniedz 99% precizitāti, bet citas mobilajās ierīcēs darbojas pienācīgi.

Izrāviens neironu tīkla redzes laukā bija Yann LeCun 1998. gada LeNet-5, septiņu līmeņu konvolucionālais neironu tīkls ar roku rakstītu ciparu atpazīšanai, kas digitalizēti 32x32 pikseļu attēlos. Lai analizētu augstākas izšķirtspējas attēlus, LeNet-5 tīkls būtu jāpaplašina, iekļaujot vairāk neironu un vairāk slāņu.

Mūsdienu labākie attēlu klasifikācijas modeļi var identificēt dažādus objektu katalogus ar augstas izšķirtspējas krāsu. Papildus tīriem dziļo neironu tīkliem (DNN) cilvēki dažreiz izmanto hibrīdus redzes modeļus, kas apvieno dziļu mācīšanos ar klasiskajiem mašīnmācīšanās algoritmiem, kas veic noteiktus apakšuzdevumus.

Citas redzes problēmas bez pamata attēlu klasifikācijas ir atrisinātas, padziļināti mācoties, ieskaitot attēlu klasifikāciju ar lokalizāciju, objektu noteikšanu, objektu segmentēšanu, attēla stila pārsūtīšanu, attēla krāsošanu, attēla rekonstrukciju, attēla superizšķirtspēju un attēlu sintēzi.

Kā darbojas redze datorā?

Datora redzes algoritmi parasti paļaujas uz konvolucionālajiem neironu tīkliem jeb CNN. CNN vizuālās garozas simulēšanai parasti izmanto konvolīcijas, apvienošanas, ReLU, pilnībā savienotus un zaudējumu slāņus.

Konvolucionārais slānis pamatā ņem daudzu mazu reģionu, kas pārklājas, integrālus. Apvienošanas slānis veic nelineāras lejupējas atlases veidu. ReLU slāņi izmanto nepiesātinošo aktivizācijas funkciju f (x) = max (0, x).

Pilnībā savienotā slānī neironiem ir savienojumi ar visām iepriekšējā slāņa aktivizācijām. Zaudējumu slānis aprēķina, kā tīkla apmācība soda par novirzi starp prognozētajām un patiesajām etiķetēm, klasificēšanai izmantojot Softmax vai cross-entropia zaudējumus.

Datoru redzes apmācības datu kopas

Ir daudz publisku attēlu datu kopu, kas noder redzes modeļu apmācībai. Vienkāršākais un viens no vecākajiem ir MNIST, kas satur 70 000 ar roku rakstītus ciparus 10 klasēs, 60K apmācībai un 10K testēšanai. MNIST ir viegli modelējama datu kopa, pat izmantojot klēpjdatoru bez paātrinājuma aparatūras. CIFAR-10 un Fashion-MNIST ir līdzīgas 10 klases datu kopas. SVHN (ielas skata māju numuri) ir 600 000 reālu māju numuru kopa, kas iegūti no Google Street View.

COCO ir lielāka mēroga datu kopa objektu noteikšanai, segmentēšanai un parakstiem ar 330K attēliem 80 objektu kategorijās. ImageNet satur aptuveni 1,5 miljonus attēlu ar ierobežojošām kastēm un etiķetēm, kas ilustrē apmēram 100 000 frāzes no WordNet. Atvērtie attēli satur aptuveni deviņus miljonus attēlu vietrāžu URL, un tiem ir aptuveni 5K etiķetes.

Google, Azure un AWS visiem ir savi redzējuma modeļi, kas apmācīti ļoti lielām attēlu datu bāzēm. Varat izmantot tos, kādi tie ir, vai arī veikt pārsūtīšanas apmācību, lai pielāgotu šos modeļus savām attēlu datu kopām. Mācību pārsūtīšanu var veikt arī, izmantojot modeļus, kuru pamatā ir ImageNet un Open Images. Mācīšanās ar pārsūtīšanu priekšrocības salīdzinājumā ar modeļa izveidošanu no jauna ir tās, ka tā ir daudz ātrāka (stundas, nevis nedēļas) un ka tā sniedz precīzāku modeli. Lai sasniegtu labākos rezultātus, jums joprojām būs nepieciešami 1000 attēli uz etiķetes, lai gan dažreiz jūs varat iztikt ar tikai 10 attēliem vienā etiķetē.

Datorvīzijas lietojumi

Lai gan datora redze nav perfekta, tā bieži ir pietiekami laba, lai būtu praktiska. Labs piemērs ir redzējums pašpiedziņas automašīnās.

Waymo, kas agrāk bija Google pašbraucošo automašīnu projekts, pieprasa testus septiņiem miljoniem jūdžu koplietošanas ceļiem un spēju droši pārvietoties ikdienas satiksmē. Ir noticis vismaz viens negadījums, kurā iesaistīts Waymo furgons; netika uzskatīts, ka programmatūra būtu pie vainas, norāda policija.

Tesla ir trīs pašpiedziņas automašīnu modeļi. 2018. gadā Tesla apvidus automobilis pašpiedziņas režīmā bija iekļuvis letālā negadījumā. Ziņojumā par negadījumu teikts, ka autovadītājam (kurš tika nogalināts), neraugoties uz vairākiem konsoles brīdinājumiem, rokas no stūres bija nolaistas un ka ne vadītājs, ne programmatūra nemēģināja bremzēt, lai nenonāktu pret betona barjeru. Kopš tā laika programmatūra ir modernizēta, lai prasītu, nevis ieteiktu, lai vadītāja rokas būtu uz stūres.

Amazon Go veikali ir bez kases pašapkalpošanās mazumtirdzniecības veikali, kur veikalā esošā datora redzamības sistēma nosaka, kad pircēji paņem vai atdod krājuma priekšmetus; pircējus identificē un iekasē maksu, izmantojot Android vai iPhone lietotni. Kad Amazon Go programmatūrai pietrūkst kādas preces, pircējs to var glabāt bez maksas; kad programmatūra nepatiesi reģistrē paņemto lietu, pircējs var atzīmēt preci un saņemt atmaksu par šo maksu.

Veselības aprūpē ir redzes lietojumi, lai klasificētu noteiktas pazīmes patoloģijas slaidos, krūšu kurvja rentgenos un citās medicīniskās attēlveidošanas sistēmās. Daži no tiem ir pierādījuši vērtību, salīdzinot ar kvalificētiem praktizējošiem cilvēkiem, daži no tiem ir pietiekami, lai to apstiprinātu. Ir arī reāllaika sistēma, lai novērtētu pacienta asins zudumu operācijas vai dzemdību telpā.

Ir noderīgas redzes lietojumprogrammas lauksaimniecībai (lauksaimniecības roboti, ražas un augsnes monitorings un prognozējošā analīze), banku lietošanai (krāpšanas atklāšana, dokumentu autentifikācija un attālās noguldījumi) un rūpnieciskajai uzraudzībai (attālās akas, vietas drošība un darba aktivitātes).

Ir arī pretrunīgi vērtētas vai pat novecojušas datorredzes lietojumprogrammas. Viens no tiem ir sejas atpazīšana, kas, ja to izmanto valdība, var būt privātuma aizskārums, un kuram bieži ir tendence uz apmācību, kas mēdz nepareizi identificēt nebaltās sejas. Vēl viena ir dziļu viltojumu paaudze, kas ir vairāk nekā nedaudz rāpojoša, ja to izmanto pornogrāfijai vai viltus un citu krāpniecisku attēlu radīšanai.

Datora redzes ietvari un modeļi

Lielākajai daļai dziļo mācību sistēmu ir būtisks atbalsts datora redzējumam, tostarp uz Python balstītas sistēmas TensorFlow (vadošā izvēle ražošanai), PyTorch (vadošā izvēle akadēmiskajiem pētījumiem) un MXNet (Amazon izvēlētā sistēma). OpenCV ir specializēta datorvīzijas bibliotēka, kas vērsta uz reāllaika redzes lietojumprogrammām un izmanto MMX un SSE instrukciju priekšrocības, kad tās ir pieejamas; tam ir arī atbalsts paātrinājumam, izmantojot CUDA, OpenCL, OpenGL un Vulkan.

Amazon Rekognition ir attēlu un video analīzes pakalpojums, kas var identificēt objektus, cilvēkus, tekstu, ainas un darbības, tostarp sejas analīzi un pielāgotas etiķetes. Google Cloud Vision API ir iepriekš sagatavots attēlu analīzes pakalpojums, kas var noteikt objektus un sejas, lasīt drukātu un ar roku rakstītu tekstu un veidot metadatus jūsu attēlu katalogā. Google AutoML Vision ļauj apmācīt pielāgotus attēlu modeļus. Gan Amazon Rekognition Custom Labels, gan Google AutoML Vision veic pārsūtīšanas mācības.

Microsoft Computer Vision API var identificēt objektus no 10 000 kataloga ar etiķetēm 25 valodās. Tas atgriež arī identificēto objektu ierobežojošās rūtiņas. Azure Face API veic sejas noteikšanu, kas uztver sejas un atribūtus attēlā, personas identifikāciju, kas atbilst personai jūsu privātajā krātuvē, kurā ir līdz vienam miljonam cilvēku, un uztver emociju atpazīšanu. Face API var darboties mākonī vai konteineros uz malas.

IBM Watson vizuālā atpazīšana var klasificēt attēlus no iepriekš apmācīta modeļa, ļauj apmācīt pielāgotus attēlu modeļus ar pārsūtīšanas apmācību, veikt objektu noteikšanu ar objektu skaitīšanu un apmācīt vizuālai pārbaudei. Watson vizuālā atpazīšana var darboties mākonī vai iOS ierīcēs, izmantojot Core ML.

Datu analīzes pakete Matlab var veikt attēlu atpazīšanu, izmantojot mašīnmācīšanos un padziļinātu mācīšanos. Tam ir izvēles rūtiņa Computer Vision Toolbox, un to var integrēt ar OpenCV.

Datoru redzes modeļi kopš LeNet-5 ir gājuši tālu, un tie galvenokārt ir CNN. Piemēri: AlexNet (2012), VGG16 / OxfordNet (2014), GoogLeNet / InceptionV1 (2014), Resnet50 (2015), InceptionV3 (2016) un MobileNet (2017-2018). MobileNet redzes neironu tīklu saime tika veidota, domājot par mobilajām ierīcēm.

[Arī vietnē: Kaggle: Kur datu zinātnieki mācās un sacenšas]

Apple Vision ietvars veic sejas un sejas orientieru noteikšanu, teksta noteikšanu, svītrkodu atpazīšanu, attēlu reģistrēšanu un vispārēju funkciju izsekošanu. Vision arī ļauj izmantot pielāgotus Core ML modeļus tādiem uzdevumiem kā klasifikācija vai objektu noteikšana. Tas darbojas ar iOS un macOS. Google ML Kit SDK ir līdzīgas iespējas, un tas darbojas Android un iOS ierīcēs. ML Kit papildus atbalsta dabiskās valodas API.

Kā mēs redzējām, datorredzes sistēmas ir kļuvušas pietiekami labas, lai būtu noderīgas, un dažos gadījumos precīzākas nekā cilvēka redze. Izmantojot pārejas mācības, redzes modeļu pielāgošana ir kļuvusi praktiska tikai mirstīgajiem: datorvīzija vairs nav ekskluzīva doktora līmeņa pētnieku joma.

Lasiet vairāk par mašīnmācīšanos un padziļinātu mācīšanos:

  • Dziļa mācīšanās pret mašīnmācīšanos: izprot atšķirības
  • Kas ir mašīnmācīšanās? Izlūkošana, kas iegūta no datiem
  • Kas ir dziļa mācīšanās? Algoritmi, kas atdarina cilvēka smadzenes
  • Mašīnmācīšanās algoritmi ir izskaidroti
  • Kas ir dabiskās valodas apstrāde? AI runai un tekstam
  • Tiek izskaidrota automatizēta mašīnmācīšanās vai AutoML
  • Vadīta mācīšanās paskaidrota
  • Skaidrota daļēji uzraudzīta mācīšanās
  • Nepamatota mācīšanās ir izskaidrota
  • Skaidrota mācīšanās par pastiprināšanu
  • Kaggle: Kur datu zinātnieki mācās un sacenšas
  • Kas ir CUDA? Paralēla GPU apstrāde

Lasiet mašīnmācīšanos un padziļinātas mācību atsauksmes:

  • Kā izvēlēties mākoņa mašīnas mācību platformu
  • Deeplearning4j: padziļināta mācīšanās un ETL JVM
  • Pārskats: Amazon SageMaker spēlē panākumus
  • TensorFlow 2 pārskats: vienkāršāka mašīnmācīšanās
  • Pārskats: Google Cloud AutoML ir patiesi automatizēta mašīnmācīšanās
  • Pārskats: MXNet dziļā mācīšanās spīd ar Gluon
  • PyTorch pārskats: dziļa mācību sistēma, kas izveidota ātrumam
  • Pārskats: Keras mācās dziļi mācoties
$config[zx-auto] not found$config[zx-overlay] not found