iNaturalist en het Computer Vision, een korte geschiedenis

Op dit moment is Inaturalist al weer bezig met de zesde versie van het Computer Kijk (Computer Vision) model
waarbij in September 2020 18 miljoen fotos apart gezet zijn waarme zo'n 35.000 soorten wereld wijd herkend kunnen worden.
De aanpak is het zelfde als voor model 5 alleen met veel meer fotos omdat er nu veel meer soorten in iNaturalist
2000 fotos heeft. In het verleden werden wel meer dan 2000 fotos per soort gebruikt maar de extra rekenkracht weegt niet op tegen het succes.
In totaal zal het doorrekenen van het model 210 dagen kosten en in het voorjaar van 2021 klaar zijn.
Naast het doorrekenen van hetzelfde model met meer fotos en meer soorten wordt tgelijkertijd het huidige systeem vergeleken
met "TensorFlow 2, Xception vs Inception" wat waarschijnlijk ditzelfde model niet in 210 dagen maar in 60 dagen doorrekend.
Als dit nieuwe TensorFlow 2, Xception vs Inception goed werkt dan wordt het zelfs nog winter 2021 een nieuwe model opgeleverd.
Om dit door rekenen was een nieuwe hardware besteld maar door COVID is dit nog niet geinstalleerd.
In het huidige model zijn 25.000 van de 300.000 soorten die waargenomen zijn in iNaturalist.
https://www.inaturalist.org/blog/42626-we-passed-300-000-species-observed-on-inaturalist#comments

Hoe wordt nu bepaald of een soort opgenomen wordt in het model ?
Als van een soort 100 waarnemingen met foto waarvan er minsten 50 een Research Grade community ID heeft wordt opgenomen in de training. (actually, that’s really verifiable + would-be-verifiable-if-not-captive, In het model worden ook ontsnapte en gekweekte soorten opgenomen). Voor de training wordt dus niet alleen en uitsluitend Research Grade fotos gebruikt.

Globaal waren de oude versies:
May 2017 Model 1
Aug 2017 Model 2
Jan 2018 Model 3
Feb 2019 Model 4
Sep 2019 Model 5
Mar 2020 Model 6

Training

Training Set 1

In deze groep zitten geidentificeerde met

  1. De waarneming heeft een Taxon of een Genus, Familie toegewezen
  2. De waarneming heeft geen flags
  3. De waarneming heeft alle quality metrics gehaald behalve het toegestasnde wild / naturalized, dit zijn items die genoemd worden in de DQA, Quality Assesment

Validation Set 1

Met deze groep fotos wordt tijdens de training de voortgang van de training bekeken, een Toets of Examen dat het trainingmodel moet afleggen. De eisen aan deze validatieset zijn hetzelfde als van de Training Set 1 maar het is maar 5% van het aantal fotos.

TestSet 1

Met deze groep fotos wordt als de training is afgelopen gekeken of het model goed werkt. Het betreft uitsluitend fotos met een Community taxon, dus fotos die waarschijnlijk wel goed moeten zijn omdat meerdere personen een determinatie toegeveogd hebben aan de waarneming. Het bijzondere is dus dat aan de training ook minder zekere fotos mee mogen doen terwijl het testen tegen absoluut zekere waarnemingen gedaan wordt. Zie ook https://forum.inaturalist.org/t/identification-quality-on-inaturalist/7507 Om te voorkomen dat er te veel soorten zijn waarvan er te weinig fotos zijn worden er niet te veel beperkingen aan de fotos gesteld. In de toekomst worden de eisen misschien strenger
  1. Fotos van Nieuwe gebruikers
  2. CID'd obs, waarnemingen met alleen een Computer Vision ID
  3. vision-based ID
  4. Gebruik geen fotos van IDs by users with X maverick IDs

Het computer is niet te downloaden maar misschien dat er later nog een API komt. Training your own with https://www.kaggle.com/c/inaturalist-challenge-at-fgvc-2017

Croppen van fotos, Volgorde, Best Photo First

Al hoewel het op iNaturalist neit vaak gezegd wordt is het Croppen van een foto een goede methode om betere resultaten te krijgen.
Het model neemt ook geografische data nog niet echt mee. In het verleden werden enorme aantallen Californische soorten voorgesteld maar in de loop van de modellen is dat wel afgenomen.

Best Photo First
Het is naast croppen erg verstandig om je beste foto het eerste neer te zetten omdat het model alleen de eerste foto van de waarneming gebruikt om een voorstel voor de soort te doen.
De locatie, nauwkeurigheid van een foto die je neemt buiten de iNat app om is meestasl minder nauwkeurig dan wanner je de interne app gebruikt van iNat. Ook kun je dan inzoomen met je vingers spread out, zodat je de crop functionaliteit niet hoeft te gebruiken. Het model gebruikt niet het tijd van het seizoen (eikels en kastanjes in de herfst, Trekvogels in voorjaar en herfst. Geen zomervogels als gierzwaluw in de winter en verspreidinggegevens van soorten.. ALpenroosjes worden niet tot de ALpen beperkt.

In 2017 the amount of recognised species was 20.000 and now it is still.....20.000?

https://www.inaturalist.org/pages/help#cv-taxa
FWIW, there's also discussion and some additional charts at https://forum.inaturalist.org/t/psst-new-vision-model-released/10854/11
https://forum.inaturalist.org/t/identification-quality-on-inaturalist/7507
https://www.pyimagesearch.com/2017/03/20/imagenet-vggnet-resnet-inception-xception-keras/
https://www.inaturalist.org/posts/31806-a-new-vision-model#activity_comment_5763380

Neural Networks (specifically, VGG16) pre-trained on the ImageNet dataset with Python and the Keras deep learning library.

The pre-trained networks inside of Keras are capable of recognizing 1,000 different object categories, similar to objects we encounter in our day-to-day lives with high accuracy.

Back then, the pre-trained ImageNet models were separate from the core Keras library, requiring us to clone a free-standing GitHub repo and then manually copy the code into our projects.

This solution worked well enough; however, since my original blog post was published, the pre-trained networks (VGG16, VGG19, ResNet50, Inception V3, and Xception) have been fully integrated into the Keras core (no need to clone down a separate repo anymore) — these implementations can be found inside the applications sub-module.

Because of this, I’ve decided to create a new, updated tutorial that demonstrates how to utilize these state-of-the-art networks in your own classification projects.

Specifically, we’ll create a special Python script that can load any of these networks using either a TensorFlow or Theano backend, and then classify your own custom input images.

To learn more about classifying images with VGGNet, ResNet, Inception, and Xception, just keep reading.

= = = = = = = = = = = = = = = = =

https://towardsdatascience.com/xception-from-scratch-using-tensorflow-even-better-than-inception-940fb231ced9

Xception: Implementing from scratch using Tensorflow
Even better than Inception
Convolutional Neural Networks (CNN) have come a long way, from the LeNet-style, AlexNet, VGG models, which used simple stacks of convolutional layers for feature extraction and max-pooling layers for spatial sub-sampling, stacked one after the other, to Inception and ResNet networks which use skip connections and multiple convolutional and max-pooling blocks in each layer. Since its introduction, one of the best networks in computer vision has been the Inception network. The Inception model uses a stack of modules, each module containing a bunch of feature extractors, which allow them to learn richer representations with fewer parameters.
Xception paper — https://arxiv.org/abs/1610.02357

= = = = = = = = = = = = = = = = = = = = =
https://towardsdatascience.com/review-xception-with-depthwise-separable-convolution-better-than-inception-v3-image-dc967dd42568
Inthis story, Xception [1] by Google, stands for Extreme version of Inception, is reviewed. With a modified depthwise separable convolution, it is even better than Inception-v3 2 for both ImageNet ILSVRC and JFT datasets. Though it is a 2017 CVPR paper which was just published last year, it’s already had more than 300 citations when I was writing this story. (Sik-Ho Tsang @ Medium)

= = = = = = = = = = = = = = = = = = = = = = = = = = = =
https://laptrinhx.com/xception-from-scratch-using-tensorflow-even-better-than-inception-212761016/
Convolutional Neural Networks (CNN) have come a long way, from the LeNet-style, AlexNet, VGG models, which used simple stacks of convolutional layers for feature extraction and max-pooling layers for spatial sub-sampling, stacked one after the other, to Inception and ResNet networks which use skip connections and multiple convolutional and max-pooling blocks in each layer. Since its introduction, one of the best networks in computer vision has been the Inception network. The Inception model uses a stack of modules, each module containing a bunch of feature extractors, which allow them to learn richer representations with fewer parameters.

Xception paper — https://arxiv.org/abs/1610.02357

Posted by optilete optilete, November 03, 2020 21:01

Comments

Thumb
Posted by ahospers 7 months ago (Flag)
Thumb

''Zelf herken ik niet veel meer dan de courantste tuinvogels, maar ik heb de technologie aan mijn zijde. Althans, dat zal moeten blijken. Op enkele meters van het pad geeft een grijsbruin vogeltje van jetje. Op mijn smartphone verschijnt in de Birdnet-app een spectrogram, dat de frequentie van de zang doorheen de tijd weergeeft. Een druk op de knop en een neuraal netwerk vergelijkt het patroon met bijna duizend soorten uit Europa en Noord-Amerika. Op basis van je locatie selecteert de app van het New Yorkse Cornell Lab of Ornithology en de Technische Universität in het Duitse Chemnitz de waarschijnlijkste soort. Heggenmus, is de conclusie. We kijken naar de jury: Spanoghe knikt.''

https://www.eoswetenschap.eu/technologie/computer-zegt-heggenmus-detectie-apps-presteren-wonderbaarlijk-goed-en-verrassend

Posted by optilete 7 months ago (Flag)
Thumb

In de nieuwste versie heb ik nog een table toe gevoegd. Ook interessant zijn de videokaarten die ze gebruiken..van d
May 2017 Model 1
Aug 2017 Model 2
Jan 2018 Model 3
https://tweakers.net/nieuws/174428/apple-presenteert-eigen-m1-soc-met-16-miljard-transistors-voor-macs.html
https://tweakers.net/pricewatch/723719/nvidia-quadro-gp100/specificaties/
https://www.cadstunter.nl/nvidia-quadro-gp100

Posted by ahospers 7 months ago (Flag)

Add a Comment

Sign In or Sign Up to add comments