Nieuwe versie herkenningsdatabase

Gestart door hiskodevries, mei 20, 2020, 19:41:53 PM

Vorige topic - Volgende topic

frankaroos

#90
Citaat van: Jacob Molenaar op juli 06, 2020, 08:43:01 AM
@Frank, volgens mij wordt gewoon het gemiddelde van de percentages genomen bij meerdere foto's, dus als er een foto tussen zit die wat minder duidelijk is trekt deze het totale gemiddelde omlaag.
Terwijl dat eigenlijk niet de manier is om percentages bij elkaar op te tellen, immers zou een foto met 90% en een foto met 60% juist moeten betekenen dat het uiteindelijke percentage omhoog moet, toch?
Het zal zoiets zijn denk ik inderdaad. Ik zal nog eens wat proeven** nemen. Bedankt.

**Even wachten tot het weer werkt  ;)

frankaroos

#91
Als ik twee foto's invoer 1) eerst de uitsnede en dan het overzicht en 2) eerst het overzicht en dan de uitsnede, dan krijg ik in beide gevallen dezelfde x% waarschijnlijkheid.

Als ik de waarschijnlijkheden van 1a) de uitsnede en 2a) het overzicht optel, en ik neem het gemiddelde, dan krijg ik x% + 0,65% in dit specifieke geval dan.

Dus twee foto's in voeren levert niet precies het gemiddelde op van de twee afzonderlijke invoeringen. De algoritme werkt dus toch iets anders.

hiskodevries

Zolang de oorzaak van de problemen met de productie omgeving van de herkenningssoftware niet zijn achterhaald is de testomgeving onbereikbaar.
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

hiskodevries

De oorzaak is gevonden en de testomgeving is weer beschikbaar.
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

frankaroos

Ik ben benieuwd; wat is de oorzaak geweest?

hiskodevries

compleet volgelopen directory met log files (zal niet nog een keer gebeuren)
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

frankaroos

Mooi, dat de oorzaak gevonden is  :duim:

Bart van Hoogstraten

De oude versie zit er helemaal naast met 45,8% Bronsprietwapenvlieg. De nieuwe versie heeft het bij het goede eind en dat zelfs met maar liefst 100%  :duim: :duim: :duim: :duim: https://waarneming.nl/observation/195903873/
Vriendelijke groet! Bart van Hoogstraten

De toekomst van Waarneming is onzeker. Draag bij aan het voortbestaan en betaal gewoon jaarlijks € 25,- abonnementskosten!
https://waarneming.nl/donate/

Michel Langeveld

#98
Twee vragen:
1) Is al bekend wanneer de nieuwe versie wordt ingevoerd? Mijn waarnemingen controleer ik bijna allemaal via de testlink en regelmatig sleutel ik dingen om. De nieuwe versie doet het aanmerkelijk beter.
2) Een aantal waarnemingen zijn automatisch gevalideerd tegen het oude image herkenning systeem. Worden deze images nog opnieuw bekeken? en bij te grote afwijking alsnog ter validatie aangeboden?

hiskodevries

#99
Ad 1 nee dat is nog niet bekend. Vanwege de uitval in juni is men wat voorzichtig geworden met de uitrollen in de vakantie periode gebeurd zowiezo niks

Ad 2, niet door ons
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

Martijn van Sluijs

Citaat van: Michel Langeveld op augustus 05, 2020, 13:30:02 PM
2) Een aantal waarnemingen zijn automatisch gevalideerd tegen het oude image herkenning systeem. Worden deze images nog opnieuw bekeken? en bij te grote afwijking alsnog ter validatie aangeboden?

Citaat van: hiskodevries op augustus 15, 2020, 15:43:26 PM
Ad 2, niet door ons

Dit is toch zo'n gek idee nog niet? Om iedere keer wanneer een nieuwe versie van de herkenningssoftware ingevoerd wordt, de tot dan toe automatisch gevalideerde waarnemingen door de nieuwe versie van de beeldherkenning halen? (bijvoorbeeld in de daluren van de server?)

Wanneer de nieuwe herkenningssoftware vervolgens een andere soort suggereert, en die suggestie bovendien binnen de percentagemarge van automatische validatie voor die andere/'nieuwe' soort valt, kunnen van deze waarneming het waarnemingsnummer en de soortgroep bijvoorbeeld opgeslagen worden in een lijstje. Dit lijstje bevat na doorlopen van deze automatisch gevalideerde waarnemingen als goed is een relatief klein aantal waarnemingen, met een relatief grote kans op foutieve automatische validaties. Het zou dan vervolgens aan de desbetreffende admin(groep) zijn om die lijst (of dit lijstje) door te werken of te verdelen onder elkaar (of links naast zich neer te leggen). De hoeveelheid codeerwerk hiervoor valt ook best wel mee...

Typisch iets waar de computer kan bijdragen! Om alle tot nu toe automatisch gevalideerde waarnemingen met de hand door de nieuwe beeldherkenning te halen/ zelf te controleren is onbegonnen werk, maar zo'n lijstje kan denk ik best wat bijdragen met relatief weinig moeite.

Wat betreft die percentages die per soort zijn ingesteld als 'grens' waarboven automatische validatie mogelijk is: is er rekening mee gehouden dat een nieuwe versie van de beeldherkenning ertoe leidt dat deze grenspercentages hoogstwaarschijnlijk grotendeels herzien zullen moeten worden? De gegeven percentages zijn tenslotte grotendeels arbitrair, en sterk gebonden aan de specifieke codering/structuur van de beeldherkenning en de achterliggende database (waarvan in ieder geval de tweede gewijzigd is ten opzichte van de vorige versie van de beeldherkenning, en de eerste vermoed ik ook(?)).

Gelukkig betekent een betere beeldherkenning dat de correctheid omhoog gaat. Dat kunnen we in dit topic ook lezen. Hierdoor kan de grenswaarde waarschijnlijk dus in veel gevallen naar beneden worden bijgesteld (waardoor het voorlopig gebruiken van de nieuwe automatische validatie met de huidige/'oude', hogere,  grenswaarden in ieder geval niet leidt tot meer foutief automatisch gevalideerde waarnemingen dan voorheen). Het kan echter in sommige gevallen natuurlijk ook andersom uitpakken, dat kan ik zo nog niet overzien ;).

Vriendelijke groeten,
Martijn

marcel234

#101
Citaat van: Martijn van Sluijs op augustus 15, 2020, 17:30:30 PM
Dit is toch zo'n gek idee nog niet? Om iedere keer wanneer een nieuwe versie van de herkenningssoftware ingevoerd wordt, de tot dan toe automatisch gevalideerde waarnemingen door de nieuwe versie van de beeldherkenning halen? (bijvoorbeeld in de daluren van de server?)
Ik neem aan dat de makers van de herkenningssoftware zo werken, maar daar wordt bewust over gezwegen. Hisko kan je vast wel aan een paar links over dit onderwerp helpen.

Martijn van Sluijs

Citaat van: marcel234 op augustus 15, 2020, 20:41:58 PM
Citaat van: Martijn van Sluijs op augustus 15, 2020, 17:30:30 PM
Dit is toch zo'n gek idee nog niet? Om iedere keer wanneer een nieuwe versie van de herkenningssoftware ingevoerd wordt, de tot dan toe automatisch gevalideerde waarnemingen door de nieuwe versie van de beeldherkenning halen? (bijvoorbeeld in de daluren van de server?)
Ik neem aan dat de makers van de herkenningssoftware zo werken, maar daar wordt bewust over gezwegen. Hisko kan je vast wel aan een paar links over dit onderwerp helpen.

Volgens mij heb ik een redelijk goed beeld van hoe de herkenningssoftware werkt en toegepast wordt, en ik kan deze reactie binnen die context niet plaatsen. Kun je hem toelichten? Waar wordt precies "bewust over gezwegen"?

Huidige situatie is volgens mij dat er eens in de zoveel tijd (lees: elke paar maanden/één keer per jaar(?)) een nieuwe versie van het model wordt getraind (met of zonder wijzigingen aan het model zelf, in ieder geval met een geupdate/grotere database). Waarnemingen worden vervolgens eventueel automatisch gevalideerd met de geldende beeldherkenningsversie op het moment van invoeren van de waarneming, en naar die validatie wordt momenteel (tenzij een validator er expliciet zelf naar kijkt) later niet meer gekeken. Ook niet met een nieuwe versie van de herkenningssoftware. Dat is dan ook het punt van mijn bijdrage, daar zou 'winst' kunnen worden gehaald. Gebruik maken van het 'voortschrijdend inzicht' van de herkenningssoftware dus. Ik zie in dat proces dus niet echt een "actie van de makers van de herkenningssoftware" waar "bewust over wordt gezwegen"...
Vriendelijke groeten,
Martijn

Michel Langeveld

#103
Ach ja. Als men niet exact wil verklappen hoe het systeem werkt heb ik daar respect voor. De website is razend populair en draait goed. Zelf ben ik ook druk aan het waarnemen en heb daar best veel lol in en en zeer leerzaam allemaal. Nu lachen we nog om sommige missers van het identificatie systeem (pixels die als vleermuizen worden erkend), maar het slaat regelmatig de spijker flink raak op zijn kop. Elk jaar zal het algoritme wel een stap blijven maken. Beeldherkenning staat nog in de kinderschoenen. Het zal niet lang duren voordat het systeem zich met experts kan meten en het zal deze ook overtreffen. Beetje zelfde ontwikkeling als de schaakprogramma's waarvan men ooit zei dat deze nooit grootmeesters zou kunnen winnen. Ondertussen probeer ik een beetje mee te denken en ga verder met waarnemen.

Martijn van Sluijs

Citaat van: marcel234 op augustus 15, 2020, 21:31:17 PM
Citaat van: Martijn van Sluijs op augustus 15, 2020, 21:09:59 PM
Volgens mij heb ik een redelijk goed beeld van hoe de herkenningssoftware werkt en toegepast wordt, en ik kan deze reactie binnen die context niet plaatsen.
Ik denk dat je dat niet hebt.

Alright then :rolleye: :P. Wellicht vraag ik ze nog eens op uit interesse, maar in zijn algemeenheid heb ik er geen twijfel over of ik weet hoe beeldherkenningssoftware werkt hoor haha.

Citaat van: marcel234 op augustus 15, 2020, 21:31:17 PM
Want ik kan me niet voorstelen dat de herkennningssoftware op deze manier https://forum.waarneming.nl/index.php/topic,467512.msg2392421.html#msg2392421 wordt getest.

Nee natuurlijk niet. Aangezien er redelijk lange tijd tussen nieuwe versies van de herkenningssoftware zitten, zal het ongeveer als volgt in elkaar zitten, waar bij het proces telkens deels of geheel wordt doorgelopen. Men begint met de volledige gevalideerde fotodatabase. Daarop laat men een 'Convolutional Neural Network' 'leren' (hoe dit precies in zijn werk gaat wil ik je graag tot in de puntjes uitleggen, maar lijkt mij nogal buiten de strekking van dit forum).

Het belangrijkste is in ieder geval om een balans te vinden tussen 'overfitten' en geen herkenning hebben. Dat wil zeggen: voorkomen dat alleen zeer sterk gelijkende foto's op de foto's in de database herkend worden, maar er wel voor zorgen dat soorten 'gegeneraliseerd' herkend worden. Zodat dus ook nieuwe foto's van die soort worden herkend.

Wanneer de volledige database als trainingsmateriaal wordt gebruikt, en de volledige database ook als testmateriaal wordt gebruikt, kan het voorkomen dat een erg complex model superhoog scoort. Superfijn toch, 99% herkenning!! Niet dus. Vaak is dit een gevolg van 'overfitting'. Wanneer je het model een nieuwe foto aanrijkt die deze nog niet eerder heeft gezien, weet het model er vaak slecht raad mee, omdat het heeft  geleerd de specifieke foto's uit de database te herkennen in plaats van patronen/'soorten'.

Om dit te voorkomen zijn allerlei trucjes bedacht, waarbij de meest gebruikte optie 'K-fold cross-validation' is, waarbij tijdens het trainen bij iedere iteratie van het proces steeds een ander stukje apart wordt gehouden (vaak ca. 20% van de data, afhankelijk van de grootte van de database), waarna vervolgens het model iedere iteratie van het proces op dat stukje getest/gescoord wordt (wederom, is hier tot in de puntjes uit te leggen, maar niet echt de juiste plaats lijkt mij).

Het uiteindelijke percentage correcte voorspellingen in die 'K-fold cross-validation' van de laatste iteratie geeft vaak al een vrij aardige indicatie van de kwaliteit van het model, maar voor de kwaliteit wordt vaak gekeken naar de 'confusion matrix', waaruit duidelijk wordt wat goed en fout gaat (de waarden en percentages correct voorspelde foto's die hieruit rollen zou je in principe 'testwaarden' kunnen noemen). In de confusion matrix is ook te zien als welke soort een foutief voorspelde soort dan wel voorspeld is etc. etc. Diegenen die statistiek in hun opleiding hebben gehad, zullen zo vast nog wel de termen 'vals positief' en 'vals negatief' herkennen. Ik kan mij zo voorstellen dat in dit geval wordt gepoogd om het aantal vals positieven zo laag mogelijk te houden. Liever geen voorspelling dan een onjuiste voorspelling.

Het bericht waarnaar je hier verwijst is dan ook slechts bedoeld om dingen eruit te vissen die tijdens de ontwikkeling over het hoofd worden gezien. Daar wordt vaak gekeken naar de grote lijnen, en het optimaliseren van het model in het algemeen (met eventueel preprocessing, en vooral neural network design (layers, aantal neurons, leersnelheid, en nog een heleboel parameters)). Wat gepoogd wordt in zo'n publieke testfase als via dit bericht is om erachter te komen of er toch niet wat 'overfitting' in het model is geslopen (er blijven altijd wat valkuilen, wat voor gekozen methode om dit te voorkomen dan ook), en om eventuele terugkerende fouten bij bepaalde soorten of soortgroepen eruit te vissen voordat het geheel in gebruik wordt genomen...
Vriendelijke groeten,
Martijn

Michel Langeveld

Het overfitten is wel een interessant probleem. Ik heb wel eens gehoord bij beeldherkenning op foto's met tank ja / nee wat perfect werkte. Toen bleek dat bij nieuwe foto's dat het totaal niet werkte. Gebleken was dat in de input alle zonnige foto's tanks hadden en alle regenachtigefoto's geen tanks. Uiteindelijk had men dus een systeem gebouwd om zonnige foto's van regenfoto's te onderscheiden. Overfitten ligt mogelijk om te loer bij donkere foto's => vleermuis en paddenstoel op berk => berkenzwam. Ook zie ik bij zoogdieren wel gekke dingen gebeuren wat lijkt dat de trainingsdata te eenzijdig was. Maar goed - bottomline ben ik dus zeker tevreden over het nieuwe systeem.

hiskodevries

nee, ik verwacht het niet snel door personeelswisselingen bij naturalis systeembeheer
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

Michiel en Milka

https://waarneming.nl/observation/199112972/

Dit bonte Bont zandoogje wordt met resp. 99,9% (oud) en 91% (nieuw) herkend als Argusvlinder. De foto is uit de Jura, maar omdat beide soorten hier voorkomen meld ik hem toch maar.
Automatische herkenning staat blijkbaar gewoon aan op observation.org? Bij de dagvlinders trouwens in veel gevallen behulpzaam.
Groet, Michiel

Platbuik

 Bij het gebruik van de herkenningssoftware op wnl ( https://waarneming.nl/fieldwork/observations/create/? ) valt het mij op (en stoort ook eerlijk gezegd) dat men na het bepalen van een soort van een plaatje, niet in staat is om tegelijk het Levensstadium over te nemen :-\
Als er verschil duidelijk is tussen -tig soorten parelmoervlinders of glazenmakers, waarom dan ook niet even ingevuld dat het een rups of imago is? Ik zie bij libellen veel opmerkingen achteraf van admins dat men niet moet vergeten om "imago" in te vullen. Allemaal werk dat voor een groot deel onnodig is. Laat de software dat doen.

Bij determinatie van kevers blijkt dat er technisch geen belemmeringen zijn, Levensstadium wordt dan netjes ingevuld.

Wie gaat over deze kwestie, en hoeveel van mijn corona-vrijetijd heeft deze instantie nodig om dat goed te organiseren/regelen?
---88:  A. van Leur (Þlatbuik)

hiskodevries

Citeeren hoeveel van mijn corona-vrijetijd heeft deze instantie nodig om dat goed te organiseren/regelen
de herkennings software is nog niet in staat om het levensstadium te bepalen van een foto.
Het valideren is niet tijdrovender geworden. het kost exact evenveel klikken om een waarneming  goed te keuren of een waarneming goed te keuren en op imago te zetten
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

Michel Langeveld

Hoi Hisko,

Is er nog nieuws tav het invoeren van de nieuwe versie?
Of laat dit nog even op zich wachten?

Mvg,

Michel

hiskodevries

Michel, we sjorren daar elke week een keer aan.
Maar tot nu toe blijft het antwoord hetzelfde
'Wegens gebrek aan systeembeheerders is geen tijd om dit live te zetten en de oude versie standby te houden in geval van calamiteiten'
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

Michel Langeveld


Platbuik

Citaat van: hiskodevries op oktober 15, 2020, 10:45:18 AM
Citeeren hoeveel van mijn corona-vrijetijd heeft deze instantie nodig om dat goed te organiseren/regelen
de herkennings software is nog niet in staat om het levensstadium te bepalen van een foto.
Het valideren is niet tijdrovender geworden. het kost exact evenveel klikken om een waarneming  goed te keuren of een waarneming goed te keuren en op imago te zetten
Zelf ben ik geen admin, maar de waarnemer die telkens met de hand het Levensstadium moet invoeren.
Zoals ik al zei
CiteerBij determinatie van kevers blijkt dat er technisch geen belemmeringen zijn, Levensstadium wordt dan netjes ingevuld.
Dus wat je zegt klopt niet helemaal. Het zou toch ook idioot zijn als een algoritme van een rups én van een vlinder een soort kan bepalen, en dat in dat traject onderweg niet even wordt vastgehouden via welke kenmerken je tot een uitkomst gekomen bent! Die van een rups en de volwassen vlinder verschillen nogal.
En dit zal ook opgaan voor andere wezens. Dat niet alles tot in detail te bepalen is, zoals "imago niet uitgekleurd" bij libellen en juffers, lijkt me logisch, maar er moet meer kunnen dan nu geleverd wordt.

De vrije tijd die ik te spenderen heb zou aan het invullen van de parameters van dat algoritme besteed kunnen worden, als het zo werkt tenminste. Daar kan ik wellicht bij assisteren.
Bij wie moet ik zijn?
---88:  A. van Leur (Þlatbuik)

Michel Langeveld

#114
Net als jij ben ik een medewaarnemer. Toch een reactie van wat ik er van begrijp. Uit het algoritme komt wat je er uit wilt laten komen. De computer traint het algoritme wat hierbij hoort. Er komen nu 22.303 soorten uit. Dit is getrained met laten we zeggen minimaal 50 foto's per soort = meer dan een miljoen foto's. Ik verwacht dat dit trainen wel even duurt. Door een dimensie levensfase toe te voegen zou dit een factor complexer worden. Ik vermoed dat dit huidige systeem het maximaal haalbare was aan de hand van rekentijd / geld. Ik denk dus niet dat op dit moment het algoritme ergens kennis heeft over de levensfase. Dit zou er dan helemaal bijgetrained moeten worden.

hiskodevries

Inderdaad kleed herkennen is niet een kwestie van een vinkje zetten en dan maar afwachten. Je moet de software die het model opbouwt gaan leren wat kleden zijn en weken/maanden lang aan knopjes draaien tot de goede uitkomst tevoorschijn komt.
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

Platbuik

Dit lijkt op het eerste, digitale zwarte gat. Daar blijf ik uit :-X
---88:  A. van Leur (Þlatbuik)

Henk Soepenberg

Citaat van: Platbuik op oktober 15, 2020, 10:37:54 AM
Bij determinatie van kevers blijkt dat er technisch geen belemmeringen zijn, Levensstadium wordt dan netjes ingevuld.

Maar bij de kevers is het stadium imago de standaardinstelling. Als ik bijvoorbeeld een foto van een larve van een aziatisch lieveheersbeestje upload wordt deze wel herkend als aziatisch lhb'tje, maar niet als larve. Het stadium moet ik dan dus zelf aanpassen.
Vriendelijke groeten,
Henk

hiskodevries

dat is een andere discussie en heeft niets met de herkenning te maken
Was getekend Hisko de Vries.

Wil je een fotovraag stellen op het forum lees dan dit eerst https://forum.waarneming.nl/smf/index.php?topic=452369.0

Henk Soepenberg

Citaat van: hiskodevries op oktober 16, 2020, 11:04:00 AM
dat is een andere discussie en heeft niets met de herkenning te maken

Nee, gewoon even een vaststelling  ;)
Vriendelijke groeten,
Henk