Maybaygiare.org

Blog Network

A Gentle Introduction to Computer Vision

Tweet Share

Viimeksi päivitetty 5.heinäkuuta 2019

Computer Vision, usein lyhennettynä CV, määritellään tutkimusalaksi, joka pyrkii kehittämään tekniikoita, joiden avulla tietokoneet ”näkevät” ja ymmärtävät digitaalisten kuvien, kuten valokuvien ja videoiden sisällön.

tietokonenäön ongelma vaikuttaa yksinkertaiselta, koska ihmiset, jopa hyvin pienet lapset, ratkaisevat sen triviaalisesti. Se on kuitenkin suurelta osin edelleen ratkaisematon ongelma, joka perustuu sekä biologisen näkökyvyn rajalliseen ymmärtämiseen että näköhavainnon monimutkaisuuteen dynaamisessa ja lähes äärettömän vaihtelevassa fyysisessä maailmassa.

tässä viestissä tutustutaan lempeästi tietokonenäön alaan.

tämän postauksen luettuasi tiedät:

  • tietokoneen näkökentän tavoitteen ja sen erottuvuuden kuvankäsittelystä.
  • mikä tekee tietokonenäön ongelmasta haastavan.
  • tyypillisiä ongelmia tai tehtäviä, joita harjoitetaan tietokonenäössä.

Kick-start your project with my new book Deep Learning for Computer Vision, including step-by-step tutorials and the Python source code files for all examples.

aloitetaan.

a Gentle Introduction to Computer Vision

a Gentle Introduction to Computer Vision
Photo by Axel Kristinsson, some rights reserved.

yleiskatsaus

Tämä opetusohjelma on jaettu neljään osaan; ne ovat:

  1. halu, että tietokoneet näkevät
  2. mikä on Tietokonenäkö
  3. Tietokonenäön haaste
  4. tehtävät Tietokonenäössä

halu, että tietokoneet näkevät

olemme upeina kuvissa.

älypuhelimissa on kamerat, eikä kuvan tai videon ottaminen ja jakaminen ole koskaan ollut helpompaa, mikä on johtanut Instagram-kaltaisten nykyaikaisten sosiaalisten verkostojen uskomattomaan kasvuun.

YouTube saattaa olla toiseksi suurin hakukone, ja videoita ladataan satoja tunteja joka minuutti ja katsotaan miljardeja videoita joka päivä.

internet koostuu tekstistä ja kuvista. Tekstin indeksointi ja haku on suhteellisen suoraviivaista, mutta kuvien hakemiseksi ja hakemiseksi algoritmien on tiedettävä, mitä kuvat sisältävät. Pisimpään kuvien ja videoiden sisältö on pysynyt läpinäkymättömänä, parhaiten kuvattuna ne ladanneen henkilön antamien metakuvausten avulla.

saadaksemme kuvatiedoista kaiken irti, tarvitsemme tietokoneita ”näkemään” kuvan ja ymmärtämään sen sisältöä.

Tämä on mitätön ongelma ihmiselle, jopa pienille lapsille.

  • henkilö voi kuvata kerran näkemänsä valokuvan sisällön.
  • henkilö voi tiivistää videon, jonka on nähnyt vain kerran.
  • henkilö voi tunnistaa kasvot, jotka hän on nähnyt vain kerran aiemmin.

vaadimme tietokoneilta vähintään samoja ominaisuuksia avataksemme kuviamme ja videoitamme.

Haluatko syväoppimisen tuloksia Tietokonenäköön?

ota ilmainen 7 päivän sähköpostin pikakurssi nyt (näytekoodilla).

klikkaa ilmoittautuaksesi ja saat myös ilmaisen PDF Ebook-version kurssista.

lataa ilmainen Minikurssi

mikä on Tietokonenäkö?

Tietokonenäkö on tutkimusala, joka keskittyy tietokoneiden näkemisen auttamiseen.

abstraktilla tasolla tietokoneen näköongelmien tavoitteena on havainnoidun kuvadatan avulla päätellä jotain maailmasta.

— Page 83, Computer Vision: Models, Learning, and Inference, 2012.

se on monitieteinen ala, jota voisi yleisesti kutsua tekoälyn ja koneoppimisen alakentäksi, johon voi liittyä erikoistuneiden menetelmien käyttöä ja yleisoppimisen algoritmien hyödyntämistä.

yleiskatsaus tekoälyn ja Tietokonenäön suhteesta

katsaus tekoälyn ja Tietokonenäön suhteeseen

monitieteisenä tutkimusalueena se voi näyttää sotkuiselta, ja tekniikoita on lainattu ja käytetty uudelleen monilta eri tekniikan ja tietojenkäsittelytieteen aloilta.

yksi näkökyvyn ongelma voidaan helposti ratkaista käsityönä tehdyllä tilastollisella menetelmällä, kun taas toinen voi vaatia laajan ja monimutkaisen kokonaisuuden yleistettyjä koneoppimisalgoritmeja.

tietokoneen näkemys kenttänä on älyllinen raja. Kuten mikä tahansa raja, se on jännittävä ja epäjärjestelmällinen, eikä ole usein luotettavaa auktoriteettia, johon vedota. Monilla hyödyllisillä ideoilla ei ole teoreettista pohjakosketusta, ja jotkut teoriat ovat käytännössä hyödyttömiä; kehittyneet alueet ovat laajalti hajallaan, ja usein toinen näyttää täysin saavuttamattomissa toiselta.

— Page xvii, Computer Vision: A Modern Approach, 2002.

tietokonenäön tavoitteena on ymmärtää digitaalisten kuvien sisältöä. Tyypillisesti tähän liittyy sellaisten menetelmien kehittäminen, joilla pyritään toistamaan ihmisen näkökykyä.

digitaalisten kuvien sisällön ymmärtämiseen voi sisältyä kuvauksen irrottaminen kuvasta, joka voi olla objekti, tekstikuvaus, kolmiulotteinen malli ja niin edelleen.

Tietokonenäkö on tietojen automaattista poimimista kuvista. Informaatio voi tarkoittaa mitä tahansa 3D-malleista, kameran sijainnista, kohteen tunnistamisesta ja tunnistamisesta kuvan sisällön ryhmittelyyn ja etsimiseen.

— Page ix, Programming Computer Vision with Python, 2012.

Tietokonenäkö ja kuvankäsittely

Tietokonenäkö eroaa kuvankäsittelystä.

Kuvankäsittely on prosessi, jossa luodaan uusi kuva olemassa olevasta kuvasta, tyypillisesti yksinkertaistaen tai parantaen sisältöä jollakin tavalla. Se on eräänlainen digitaalinen signaalinkäsittely, eikä sen tarkoituksena ole ymmärtää kuvan sisältöä.

tietty tietokonenäköjärjestelmä voi vaatia kuvankäsittelyn kohdistamista raakaan syöttöön, esim.esikäsittelyyn.

esimerkkejä kuvankäsittelystä ovat:

  • normalisoivat kuvan fotometriset ominaisuudet, kuten kirkkauden tai värin.
  • rajaamalla kuvan rajoja, kuten keskittämällä jokin esine valokuvaan.
  • poistaa kuvasta digitaalisen kohinan, kuten digitaaliset artefaktit heikolta valotasolta.

Tietokonenäön haaste

tietokoneiden näkemisen helpottaminen osoittautuu erittäin vaikeaksi.

tietokonenäön tavoitteena on poimia kuvista hyödyllistä tietoa. Tehtävä on osoittautunut yllättävän haastavaksi; se on miehittänyt tuhansia älykkäitä ja luovia mieliä neljän viime vuosikymmenen aikana, ja tästä huolimatta olemme vielä kaukana siitä, että pystyisimme rakentamaan yleiskäyttöisen ”näkemiskoneen.”

— Page 16, Computer Vision: Models, Learning, and Inference, 2012.

tietokoneen näkeminen tuntuu helpolta ehkä siksi, että se on ihmiselle niin vaivatonta.

aluksi sen uskottiin olevan triviaalisesti yksinkertainen ongelma, jonka opiskelija voisi ratkaista kytkemällä kameran tietokoneeseen. Vuosikymmenten tutkimuksen jälkeen ”tietokonenäkö” on edelleen ratkaisematta, ainakin mitä tulee ihmisen näkökyvyn kykyihin.

tietokoneen katsominen oli jotain sellaista, mitä tekoälyn alan johtavat asiantuntijat ajattelivat kesäopiskelijan projektin vaikeustasolla jo kuusikymmentäluvulla. Neljäkymmentä vuotta myöhemmin tehtävä on yhä ratkaisematta ja vaikuttaa pelottavalta.

— Page xi, Multiple View Geometry in Computer Vision, 2004.

yksi syy on se, että meillä ei ole vahvaa käsitystä siitä, miten ihmisen näkökyky toimii.

biologisen näön tutkiminen edellyttää havaintoelinten, kuten silmien, ymmärtämistä sekä havainnon tulkintaa aivoissa. Paljon edistystä on tapahtunut sekä prosessin kartoittamisessa että järjestelmän käyttämien temppujen ja oikoteiden löytämisessä, vaikka kuten kaikissa aivoja koskevissa tutkimuksissa, on vielä paljon tehtävää.

Havaintopsykologit ovat vuosikymmenten ajan yrittäneet ymmärtää, miten visuaalinen järjestelmä toimii, ja vaikka he voivatkin keksiä optisia illuusioita erottaakseen joitakin sen periaatteista, täydellinen ratkaisu tähän pulmaan on edelleen vaikeasti löydettävissä

— Page 3, Computer Vision: Algorithms and Applications, 2010.

toinen syy siihen, miksi ongelma on niin haastava, on visuaalisen maailman monimutkaisuus.

tietty kohde voidaan nähdä mistä suunnasta tahansa, missä valaistusolosuhteissa tahansa, minkä tahansa tyyppisellä okkluusiolla muista kohteista ja niin edelleen. Todellisen näköjärjestelmän on kyettävä ”näkemään”missä tahansa äärettömästä määrästä kohtauksia ja silti poimimaan jotain merkityksellistä.

tietokoneet toimivat hyvin tiukasti rajoittuneissa ongelmissa, eivät näköhavainnon kaltaisissa rajattomissa ongelmissa.

tehtävät Tietokonenäössä

alalla on kuitenkin tapahtunut kehitystä, erityisesti viime vuosina kameroiden ja älypuhelinten optisen merkintunnistuksen ja kasvontunnistuksen tavarajärjestelmien kanssa.

Tietokonenäkö on poikkeuksellisessa kehitysvaiheessa. Itse aihe on ollut olemassa 1960-luvulta lähtien, mutta vasta viime aikoina on ollut mahdollista rakentaa hyödyllisiä tietokonejärjestelmiä tietokonenäön ideoiden avulla.

— Page xviii, Computer Vision: A Modern Approach, 2002.

vuonna 2010 julkaistu tietokonenäön oppikirja otsikolla ”Computer Vision: Algorithms and Applications” sisältää listan korkean tason ongelmista, joissa tietokonenäön kanssa on onnistuttu.

  • optisten merkkien tunnistus (OCR)
  • Konetarkastus
  • vähittäiskauppa (esim. automaattitarkastukset)
  • 3D-mallirakennus (fotogrammetria)
  • Lääketieteellinen kuvantaminen
  • Autoturvallisuus
  • Match move (esim. CGI: n yhdistäminen elokuvien eläviin näyttelijöihin)
  • Motion capture (mocap)
  • valvonta
  • sormenjälkitunnistus ja biometriikka

se on laaja tutkimusalue, jolla on monia erikoistehtäviä ja tekniikoita sekä erikoistumisia kohdesovellusalueisiin.

Tietokonenäöllä on monenlaisia sovelluksia, sekä vanhoja (esimerkiksi mobiilirobottinavigointi, teollisuustarkastus ja sotilastiedustelu) että uusia (esim., ihmisen tietokoneen vuorovaikutus, kuvan haku digitaalisissa kirjastoissa, lääketieteellinen kuva-analyysi ja synteettisten kohtausten realistinen renderointi tietokonegrafiikassa).

— Page xvii, Computer Vision: A Modern Approach, 2002.

voi olla hyödyllistä zoomata joihinkin yksinkertaisempiin tietokonenäkötehtäviin, joita todennäköisesti kohtaat tai olet kiinnostunut ratkaisemaan, koska saatavilla on valtava määrä digitaalisia valokuvia ja videoita.

monissa suosituissa tietokonenäkösovelluksissa asioita yritetään tunnistaa valokuvista; esimerkiksi:

  • Objektiluokitus: mikä laaja objektiluokka tässä kuvassa on?
  • objektin tunnistus: minkä tyyppinen tietty esine on tässä valokuvassa?
  • objektin todentaminen: onko esine valokuvassa?
  • Object Detection: missä ovat valokuvan esineet?
  • Object Landmark Detection: mitkä ovat valokuvan kohteen keskeiset kohdat?
  • objektien segmentointi: mitkä Pikselit kuuluvat kuvan kohteeseen?
  • Object Recognition: mitä esineitä tässä valokuvassa on ja missä ne ovat?

muut yleiset esimerkit liittyvät tiedonhakuun; esimerkiksi kuvan kaltaisten kuvien tai objektin sisältävien kuvien löytäminen.

lisätietoja

tästä osiosta saa lisää resursseja aiheeseen, jos haluaa mennä syvemmälle.

Kirjat

  • Computer Vision: Models, Learning, and Inference, 2012.
  • Programming Computer Vision with Python, 2012.
  • Multiple View Geometry in Computer Vision, 2004.
  • Computer Vision: Algorithms and Applications, 2010.
  • Computer Vision: A Modern Approach, 2002.

Artikkelit

  • Tietokonenäkö, Wikipedia.
  • Konenäkö, Wikipedia.
  • digitaalinen kuvankäsittely, Wikipedia.

Yhteenveto

tässä postauksessa löysit lempeän johdannon tietokonenäön alaan.

erityisesti opit:

  • tietokonenäön kentän tavoitteen ja sen erottuvuuden kuvankäsittelystä.
  • mikä tekee tietokonenäön ongelmasta haastavan.
  • tyypillisiä ongelmia tai tehtäviä, joita harjoitetaan tietokonenäössä.

onko sinulla kysyttävää?
kysy kysymyksesi alla olevissa kommenteissa ja teen parhaani vastatakseni.

Develop Deep Learning Models for Vision Today!

Syväoppiminen Tietokonenäköön

kehitä omat Näkömallit minuuteissa

…vain muutamalla rivillä python-koodia

Discover how in my new Ebook:
Deep Learning For Computer Vision

se tarjoaa itseopiskelua aiheista kuten:
luokittelu, objektien havaitseminen (yolo ja rcnn), kasvojentunnistus (vggface ja facenet), tietojen valmistelu ja paljon muuta…

tuo vihdoin Syväoppiminen Visioprojekteihisi

Ohita akateemikot. Pelkkiä Tuloksia.

see What ’ s Inside

Tweet Share Share

Vastaa

Sähköpostiosoitettasi ei julkaista.