Programavimas

Kas yra kompiuterio matymas? AI vaizdams ir vaizdo įrašams

Kompiuterinė vizija identifikuoja ir dažnai suranda objektus skaitmeniniuose vaizduose ir vaizdo įrašuose. Kadangi gyvi organizmai vaizdus apdoroja regima žieve, daugelis tyrinėtojų žinduolių regos žievės architektūrą laikė neuroninių tinklų, skirtų atpažinti vaizdą, modeliu. Biologiniai tyrimai siekia 1950-uosius.

Kompiuterinio matymo pažanga per pastaruosius 20 metų buvo nepaprastai nuostabi. Nors dar nėra tobula, kai kurios kompiuterinės regėjimo sistemos pasiekia 99% tikslumą, o kitos tinkamai veikia mobiliuosiuose įrenginiuose.

Proveržis neuroninio tinklo regėjimo srityje buvo Yanno LeCuno 1998 m. LeNet-5, septynių lygių, konvoliucinis neuroninis tinklas atpažinti ranka rašomus skaitmenis, suskaitmenintus 32x32 pikselių vaizduose. Norint išanalizuoti didesnės raiškos vaizdus, ​​„LeNet-5“ tinklą reikėtų išplėsti į daugiau neuronų ir daugiau sluoksnių.

Šiandien geriausi vaizdų klasifikavimo modeliai gali nustatyti įvairius objektų katalogus HD raiška ir spalvotais. Be grynųjų giliųjų neuroninių tinklų (DNN), žmonės kartais naudoja ir hibridinius regėjimo modelius, kurie gilų mokymąsi sujungia su klasikiniais mašininio mokymosi algoritmais, atliekančiais konkrečias užduotis.

Kitos regėjimo problemos, be pagrindinio vaizdo klasifikavimo, buvo išspręstos giliai mokantis, įskaitant vaizdų klasifikavimą su lokalizavimu, objektų aptikimą, objektų segmentavimą, vaizdo stiliaus perkėlimą, vaizdo spalvinimą, vaizdo rekonstravimą, super super skiriamąją gebą ir vaizdų sintezę.

Kaip veikia kompiuterinis matymas?

Kompiuterio regėjimo algoritmai dažniausiai remiasi konvoliuciniais neuroniniais tinklais arba CNN. CNN vizualinei žievei imituoti paprastai naudoja konvoliucinius, kaupimo, ReLU, visiškai sujungtus ir praradimo sluoksnius.

Konvoliucinis sluoksnis iš esmės apima daugelio mažų sutampančių regionų integralus. Sujungimo sluoksnis atlieka netiesinės žemyn atrankos formą. „ReLU“ sluoksniuose taikoma nesočioji aktyvavimo funkcija f (x) = maks. (0, x).

Visiškai sujungtame sluoksnyje neuronai turi ryšius su visais ankstesnio sluoksnio aktyvavimais. Nuostolių sluoksnis apskaičiuoja, kaip tinklo mokymas baudžia nuokrypį tarp numatomų ir tikrų etikečių, klasifikavimui naudojant „Softmax“ arba kryžminio entropijos nuostolius.

Kompiuterinio regėjimo mokymo duomenų rinkiniai

Yra daug viešų vaizdinių duomenų rinkinių, kurie yra naudingi treniruojant regėjimo modelius. Paprasčiausias ir vienas seniausių yra „MNIST“, kuriame yra 70 000 ranka rašytų skaitmenų 10 klasių, 60K mokymui ir 10K testavimui. „MNIST“ yra lengva modeliuoti duomenų rinkinys, netgi naudojant nešiojamąjį kompiuterį be pagreičio įrangos. „CIFAR-10“ ir „Fashion-MNIST“ yra panašūs 10 klasės duomenų rinkiniai. SVHN („Street View“ namų numeriai) yra 600 tūkst. Realių namų numerių vaizdų rinkinys, išgautas iš „Google Street View“.

COCO yra didesnio masto duomenų rinkinys, skirtas objektams aptikti, segmentuoti ir subtitruoti, su 330K vaizdais 80 objektų kategorijose. „ImageNet“ yra apie 1,5 milijono vaizdų su surišamomis dėžutėmis ir etiketėmis, iliustruojančiomis apie 100 000 „WordNet“ frazių. „Atviruose vaizduose“ yra apie devyni milijonai vaizdų URL su maždaug 5K etiketėmis.

„Google“, „Azure“ ir AWS turi savo vizijos modelius, mokomus naudoti labai didelėse vaizdų duomenų bazėse. Galite naudoti juos tokius, kokie yra, arba paleisti mokymąsi, kad pritaikytumėte šiuos modelius savo vaizdų duomenų rinkiniams. Taip pat galite atlikti mokymąsi perkeldami naudodami modelius, pagrįstus „ImageNet“ ir „Open Images“. Mokymosi perkėlimo privalumai, palyginti su modelio kūrimu nuo nulio, yra tai, kad jis yra daug greitesnis (valandomis, o ne savaitėmis) ir kad jis suteikia tikslesnį modelį. Norint pasiekti geriausių rezultatų, vis tiek reikės 1 000 vaizdų vienoje etiketėje, nors kartais galite išvengti net 10 vaizdų etiketėje.

Kompiuterinės vizijos programos

Nors kompiuterio matymas nėra tobulas, jis dažnai yra pakankamai geras, kad būtų praktiškas. Geras pavyzdys yra savaeigių automobilių regėjimas.

„Waymo“, anksčiau buvęs „Google“ savarankiškai važiuojančių automobilių projektas, reikalauja išbandyti septynis milijonus mylių viešųjų kelių ir galimybę saugiai važiuoti kasdien eisdamas. Įvyko bent viena avarija, kurioje dalyvavo „Waymo“ furgonas; policijos manymu, nebuvo manoma, kad programinė įranga yra kalta.

„Tesla“ turi tris savaime važiuojančio automobilio modelius. 2018 m. „Tesla“ visureigis savaeigiu režimu pateko į mirtiną avariją. Pranešime apie avariją sakoma, kad vairuotojas (kuris buvo nužudytas), nepaisydamas daugybės konsolės perspėjimų, nuleido rankas nuo vairo ir kad nei vairuotojas, nei programinė įranga nebandė stabdyti, kad neatsitrenktų į betoninę užtvarą. Nuo to laiko programinė įranga buvo patobulinta, kad vairuotojo rankos būtų labiau reikalingos, o ne rodoma, kad jos būtų ant vairo.

„Amazon Go“ parduotuvės yra nemokamos savitarnos mažmeninės parduotuvės, kuriose parduotuvių kompiuterio regėjimo sistema aptinka, kai pirkėjai pasiima ar grąžina atsargas; pirkėjus atpažįsta ir apmokestina per „Android“ ar „iPhone“ programas. Kai „Amazon Go“ programinė įranga praleidžia daiktą, pirkėjas gali jį laikyti nemokamai; kai programinė įranga melagingai užregistruoja paimtą daiktą, pirkėjas gali pažymėti prekę ir susigrąžinti už tą mokestį.

Sveikatos priežiūros srityje yra regos taikymas tam tikriems požymiams klasifikuoti patologijos skaidrėse, krūtinės ląstos rentgeno nuotraukose ir kitose medicininėse vaizdavimo sistemose. Keletas iš jų parodė vertę, palyginti su kvalifikuotais žmonėmis, kai kurių pakanka reguliavimo patvirtinimui. Taip pat yra realaus laiko sistema paciento kraujo netekimui operacijos ar gimdymo kambaryje įvertinti.

Yra naudingų vizijos programų, skirtų žemės ūkiui (žemės ūkio robotai, pasėlių ir dirvožemio stebėjimas bei nuspėjamoji analizė), bankininkystei (sukčiavimo nustatymas, dokumentų tikrinimas ir nuotoliniai indėliai) ir pramoniniam stebėjimui (nuotoliniai šuliniai, teritorijos apsauga ir darbo veikla).

Taip pat yra prieštaringai vertinamų ar net nebenaudojamų kompiuterinio matymo programų. Vienas iš jų yra veido atpažinimas, kuris, kai vyriausybė naudojasi, gali būti privataus gyvenimo pažeidimas, ir kuris dažnai turi tendencijas dėl treniruočių, dėl kurių neteisingai atpažįstami ne balti veidai. Kita yra „deepfake“ karta, kuri yra daugiau nei šiek tiek šiurpi, kai naudojama pornografijai ar apgaulėms ir kitiems apgaulingiems vaizdams kurti.

Kompiuterinės vizijos pagrindai ir modeliai

Daugelis giliųjų mokymosi sistemų turi didelę paramą kompiuterinei vizijai, įskaitant „Python“ pagrindu sukurtas sistemas „TensorFlow“ (pagrindinis pasirinkimas gamybai), „PyTorch“ (pagrindinis pasirinkimas akademiniams tyrimams) ir „MXNet“ („Amazon“ pasirinkta sistema). „OpenCV“ yra specializuota kompiuterio matymo biblioteka, kuri nukreipta į realaus laiko vizualines programas ir naudoja MMX ir SSE instrukcijas, kai jos yra prieinamos; ji taip pat palaiko pagreitį naudojant CUDA, OpenCL, OpenGL ir Vulkan.

„Amazon Rekognition“ yra vaizdo ir vaizdo analizės paslauga, galinti identifikuoti objektus, žmones, tekstą, scenas ir veiklą, įskaitant veido analizę ir pasirinktines etiketes. „Google Cloud Vision“ API yra iš anksto parengta vaizdų analizės paslauga, galinti aptikti objektus ir veidus, skaityti atspausdintą ir ranka rašytą tekstą ir kaupti metaduomenis į jūsų vaizdų katalogą. „Google AutoML Vision“ leidžia mokyti pasirinktinius vaizdų modelius. Tiek „Amazon Rekognition Custom Labels“, tiek „Google AutoML Vision“ mokosi perkėlimo.

„Microsoft Computer Vision“ API gali identifikuoti objektus iš 10 000 katalogo su etiketėmis 25 kalbomis. Jis taip pat pateikia identifikuotų objektų ribojančius langelius. „Azure Face“ API atlieka veido aptikimą, kuris vaizduose suvokia veidus ir atributus, asmens identifikavimą, kuris atitinka asmenį jūsų privačioje saugykloje, kurioje yra iki milijono žmonių, ir suvokiamą emocijų atpažinimą. „Face API“ gali veikti debesyse arba kraštuose konteineriuose.

„IBM Watson Visual Recognition“ gali klasifikuoti vaizdus iš anksto apmokyto modelio, leisti mokyti pasirinktinius vaizdų modelius su perkėlimo mokymu, atlikti objektų aptikimą skaičiuojant objektus ir mokyti vizualiai tikrinti. „Watson“ vizualinis atpažinimas gali veikti debesyje arba „iOS“ įrenginiuose, naudojančiuose „Core ML“.

Duomenų analizės paketas „Matlab“ gali atpažinti vaizdą naudodamas mašininį mokymąsi ir gilųjį mokymąsi. Jis turi papildomą „Computer Vision Toolbox“ ir gali integruotis su „OpenCV“.

Kompiuterinio regėjimo modeliai nuėjo ilgą kelią nuo „LeNet-5“ ir dažniausiai yra CNN. Pavyzdžiui, „AlexNet“ (2012), „VGG16“ / „OxfordNet“ (2014), „GoogleLeNet / InceptionV1“ (2014), „Resnet50“ (2015), „InceptionV3“ (2016) ir „MobileNet“ (2017–2018). „MobileNet“ regos neuroninių tinklų šeima buvo sukurta atsižvelgiant į mobiliuosius įrenginius.

[Taip pat: Kaggle: Kur duomenų mokslininkai mokosi ir varžosi]

„Apple Vision“ sistema atlieka veido ir veido orientyrų aptikimą, teksto aptikimą, brūkšninių kodų atpažinimą, vaizdų registravimą ir bendrų funkcijų stebėjimą. „Vision“ taip pat leidžia naudoti individualius „Core ML“ modelius tokioms užduotims kaip klasifikavimas ar objektų aptikimas. Jis veikia „iOS“ ir „MacOS“. „Google ML Kit SDK“ turi panašias galimybes ir veikia „Android“ ir „iOS“ įrenginiuose. „ML Kit“ papildomai palaiko natūralios kalbos API.

Kaip matėme, kompiuterinės regėjimo sistemos tapo pakankamai geros, kad būtų naudingos, o kai kuriais atvejais ir tikslesnės nei žmogaus regėjimas. Naudojant perkėlimo mokymą, regėjimo modelių pritaikymas tapo praktiškas paprastiems mirtingiesiems: kompiuterinė vizija nebėra išskirtinė daktaro laipsnio tyrėjų sritis.

Skaitykite daugiau apie mašininį mokymąsi ir gilųjį mokymąsi:

  • Gilus mokymasis ir mašininis mokymasis: supraskite skirtumus
  • Kas yra mašininis mokymasis? Intelektas, gautas iš duomenų
  • Kas yra gilus mokymasis? Algoritmai, imituojantys žmogaus smegenis
  • Mašininio mokymosi algoritmai paaiškinti
  • Kas yra natūralios kalbos apdorojimas? AI kalbai ir tekstui
  • Automatinis mašininis mokymasis arba „AutoML“ paaiškinimas
  • Paaiškintas vadovaujamas mokymasis
  • Pusiau prižiūrimas mokymasis paaiškintas
  • Neprižiūrimas mokymasis paaiškintas
  • Išaiškintas mokymasis apie sustiprinimą
  • Kaggle: Kur duomenų mokslininkai mokosi ir varžosi
  • Kas yra CUDA? Lygiagretus GPU apdorojimas

Skaitykite mašininio ir gilaus mokymosi apžvalgas:

  • Kaip pasirinkti debesies mašinos mokymosi platformą
  • „Deeplearning4j“: gilus mokymasis ir ETL JVM
  • Apžvalga: „Amazon SageMaker“ žaidžia pasivyti
  • „TensorFlow 2“ apžvalga: lengvesnis mašininis mokymasis
  • Peržiūra: „Google Cloud AutoML“ yra tikrai automatizuotas mokymasis mašinomis
  • Apžvalga: „MXNet“ gilus mokymasis spindi „Gluon“
  • „PyTorch“ apžvalga: gili mokymosi sistema sukurta greičiui
  • Apžvalga: Keras plaukia giliai mokydamasis
$config[zx-auto] not found$config[zx-overlay] not found