COSS.fi

COSS.fi

Avoimen lähdekoodin ratkaisut kuvantunnistukseen

Kuvantunnistus

Kuva: Pixabay

Artikkeli on toteutettu osana Muutoskyvykkyyttä avoimen lähdekoodin osaamisen avulla (Open MemoryLab) -hanketta. Lue lisää hankkeen sivuilta: www.xamk.fi/tutkimus-ja-kehitys/openmemorylab/

Hankkeen toteutus: 01.10.2022 – 31.12.2023

Rahoittaja ja päärahoituslähde: Etelä-Savon elinkeino-, liikenne- ja ympäristökeskus, Euroopan sosiaalirahasto (ESR) REACT-EU

Konenäköön (computer vision) pohjautuvat teknologiaratkaisut ovat kehittyneet nopeasti viime vuosina. Konenäköä hyödynnetäänkin nykyään jo useilla eri aloilla kuten esimerkiksi turvallisuus- ja terveydenhuoltoaloilla, maataloudessa, älykkäissä kaupungeissa (smart city) sekä teollisuudessa.

Ohessa on listattuna seitsemän suosituinta avoimen lähdekoodin (ml. tekoälypohjaisia) valmis- tai osatoteutusratkaisuja hyödynnettäväksi kuvantunnistuksessa. Parhaiten soveltuvimman ratkaisun löytäminen juuri tiettyyn konenäkötehtävään saattaa olla haastavaa lukuisten eri saatavilla olevien työkalujen, alustojen ja ohjelmistokirjastojen joukosta. Jokaisen ratkaisun kohdalla on pyritty tuomaan lyhyesti esille tärkeimpiä toiminnallisuuksia ja hyödyntämisesimerkkejä.

 

OpenCV

OpenCV tarjoaa laajimman ja suosituimman konenäön (computer vision) kirjaston. OpenCV:n algoritmit soveltuvat moniin erilaisiin käyttötapauksiin kuten kasvojen ja liikkuvien esineiden tunnistamiseen sekä seurantaan. OpenCV tukee eri ohjelmointikieliä kuten C++, Pythonia sekä Javaa. OpenCV:tä hyödyntävät jo lukuisat suuret kansainväliset yritykset esimerkiksi Google, Facebook, IBM, Toyota, Sony, Honda sekä Microsoft.

Vahvuudet:

+ Käyttö on ilmaista
+ Laaja yhteisön tuki
+ Tarjoaa yli 2500 algoritmiä
+ Antaa vapauden muokata koodia tarpeisiin sopivaksi

Heikkoudet:

– Ei aloittelijaystävällinen, käyttö vaatii harjoittelua

Lisenssi:
OpenCV 4.5.0 tai uudempi versio: Apache License 2.0
OpenCV 4.4.0 tai vanhempi versio: 3-clause BSD License

Koodi: github.com/opencv/opencv

Lisätietoja: opencv.org

 

TensorFlow

TensorFlow on yksi suosituimpia ja kattavimpia koneoppimisen alustoja. TensorFlow on varsin hyödyllinen koneoppimiseen perustuvien kuvantunnistussovellusten kehittämisessä. TensorFlow:n kirjastosta löytyykin näihin valmiita malleja tai vaihtoehtoisesti se sallii käyttäjien kehittää konenäköön liittyviä koneoppimismalleja omien tarpeidensa pohjalta esimerkiksi kasvojen tunnistamiseen ja esineiden luokitteluun. TensorFlow tukee useita eri ohjelmointikieliä kuten Pythonia, C:tä, C++, Javaa sekä JavaScriptiä. TensorFlow tarjoaa myös laajan kokoelman erilaisia oppimateriaaleja yleisesti koneoppimiseen liittyen.

Heikkoudet:

– Vaatii laitteelta paljon, raskas prosessoida

Heikkoudet:

– Ei aloittelijaystävällinen, käyttö vaatii harjoittelua

Lisenssi: Apache License 2.0

Koodi: github.com/tensorflow/tensorflow

Lisätietoja: www.tensorflow.org

 

Keras

Keras tarjoaa Python-pohjaisen, syväoppimiseen (deep learning) keskittyvän ohjelmistokirjaston ja rajapinnan. Keras toimii käyttöliittymänä edellä esiteltyyn koneoppimisalusta TensorFlowiin. Se sopii erityisesti aloittelijoille, koska se mahdollistaa nopeasti ja helposti neuroverkkomallin luomisen. Kerasia hyödyntää jo moni tieteellinen organisaatio ympäri maailman kuten CERN sekä NASA.

Vahvuudet:

+ Nopea, helppokäyttöinen ja käyttäjäystävällinen
+ Laaja yhteisön tuki
+ Tarjoaa backend-tukea

Heikkoudet:

– Ominaisuudet voisivat olla parempia
– Vikojen löytäminen ja niiden korjaaminen saattaa olla haastavaa

Lisenssi: Apache License 2.0

Koodi: github.com/keras-team/keras

Lisätietoja: keras.io

 

SimpleCV

SimpleCV on Python-pohjainen eri avoimen lähdekoodin kirjastojen ja ohjelmistojen kokoelma, jonka avulla voit helposti kehittää konenäkösovelluksia. SimpleCV:n avulla saat pääsyn useisiin eri konenäkökirjastoihin kuten aiemmin esiteltyyn OpenCV:hin ilman, että tarvitset syvällistä tietoa monimutkaisista käsitteistä kuten bittisyvyyksistä, väriavaruuksista, puskurinhallinnasta tai eri tiedostomuodoista.

Vahvuudet:

+ Ilmainen käyttää
+ Monet algoritmeista ovat pitkälle optimoituja
+ Hyvä dokumentaatio

Heikkoudet:

– Ei tue muita ohjelmointikieliä kuin Pythonia

Lisenssi: BSD 3-Clause tai “Revised” License

Koodi: github.com/sightmachine/SimpleCV

Lisätietoja: simplecv.org

 

BoofCV

BoofCV on Java-pohjainen konenäköohjelmisto, joka on kehitetty hyödynnettäväksi erityisesti reaaliaikaisiin konenäköratkaisuihin. BoofCV sisältää kaikkien perusominaisuuksien lisäksi myös edistyneitä ominaisuuksia.

Vahvuudet:

+ Käyttäjäystävällinen käyttöliittymä
+ Tarjoaa tukea usealla eri kielellä

Heikkoudet:

– Hidas low-level kuvien prosessoinnissa

Lisenssi: Apache License 2.0

Koodi: github.com/lessthanoptimal/BoofCV

Lisätietoja: boofcv.org

 

CAFFE

CAFFE (eli Convolutional Architecture for Fast Feature Embedding) tarjoaa syväoppimisen ja konenäön ohjelmistokehyksen, joka on kehitetty Kalifornian yliopistossa, Berkeleyssä. CAFFE kehitetty C++-ohjelmointikielellä ja se tukee useita erilaisia syväoppimisarkkitehtuureja, jotka liittyvät muun muassa kuvien luokitteluun ja jaotteluun. Erityisesti CAFFE soveltuu hyödynnettäväksi teollisissa sekä tieteellisissä tarkoituksissa sen nopeuden ja tehokkaan kuvien prosessointikyvyn vuoksi.

Vahvuudet:

+ Nopea ja helppokäyttöinen
+ Tukee useita kieliä

Heikkoudet:

– Dokumentointi voisi olla parempaa

Lisenssi:
Caffe uses a shared copyright model: each contributor holds copyright over
their contributions to Caffe: github.com/BVLC/caffe/blob/master/LICENSE

Koodi: github.com/BVLC/caffe

Lisätietoja: caffe.berkeleyvision.org

 

DeepFace

DeepFace on alunperin Facebookin tutkimusryhmän kehittämä, suosittu ja helppokäyttöinen Python-pohjainen konenäkökirjasto kasvojentunnistukseen syväoppimisen avulla. Mikäli etsit kuvanprosessointityökaluja erityisesti reaaliaikaiseen kasvojentunnistukseen ja analysointiin, DeepFace on hyvä keino hyödyntää parhaita syväoppimisen tunnistusmalleja kuten Google FaceNetiä, VGG-Facea, OpenFacea tai Facebookin DeepFacea.

Vahvuudet:

+ Ilmainen käyttää
+ Kevyt ja helppo asentaa
+ Tukee suosittuja tunnistusmalleja

Heikkoudet:

– Cloud APIa ei ole saatavilla

Lisenssi: MIT License

Koodi: github.com/serengil/deepface

Lisätietoja: en.wikipedia.org/wiki/DeepFace

 

Scroll to Top