Avkoda Canons metadata med Exiftool

Exchangeable image file format, Exif, är en öppen standard som innebär att kameratillverkaren bäddar in viktig data i bildfilen. Exempelvis vilket fabrikat och vilken kameramodell. Även kamerainställningar som bländare/ISO/slutartid, datum/tid och geografisk position. Utöver det finns det även någonting som heter MakerNote.

I MakerNote får kameratillverkaren själv bestämma sina egna metadatataggar. Inte heller behöver kameratillverkaren berätta vad taggarna innebär eller är till för och kan t.o.m. välja att kryptera taggarna.

Varför en kameratillverkare inte publicerar en lista över vad taggarna i MakerNote betyder är en gåta. Speciellt när vissa delar innehåller viktig information som exempelvis black level, d.v.s. den förskjutning man måste göra med råfilen för att den inte ska få färgstick.

Black level 2048 till vänster vs black level 0 till höger.

Att felsöka andras kameraproblem försvåras också när man inte vet vilka specifika inställningar som använts eller vilka temperaturer kameran haft.

Det verkar bra märkligt att från kameratillverkarens sida bädda in en mängd information såsom slutarläge, exponeringsräknare eller flimmerreducering för att sedan aldrig låta fotograferna ta del av dem.

Exiftool

Ett populärt program för att analysera metadata är Exiftool och med programmet kan man själv försöka sig på att avkoda just sådana metadatataggar i fältet MakerNote som fortfarande är okända. Exiftool har för Canon en förteckning över vilka taggar som är avkodade. Tänk på att de inte behöver stämma till 100%. Exempelvis taggen som döps till Measured EV 2 som man trodde hade med uppmätt exponeringsvärde att göra har med nyare kameror värden som är helt uppåt väggarna.

Exiftool för Linux

Ladda ned senaste version, packa upp och lägg filen exiftool och dess mapp lib i din lokala användarmapp Hem>.local>bin. Se till att visa dolda filer är ikryssad.

Öppna terminalen någonstans och kontrollera att det är senaste version du har genom att skriva:

$ exiftool -ver

Nu kan du börja analysera dina råfiler. Med kommandot -U visas okända taggar och om man lägger till kommandot -G får man reda på om det rör sig om Exif, MakerNotes eller Composite (taggar som Exiftool själv skapar genom att kombinera vissa befintliga taggar).

Exempel där * syns är vad som kallas för wildcard. Har man 100 råfiler i CR2-format behöver man inte beskriva alla vid namn utan alla filer som har CR2 i slutet kommer användas. Fungerar i Linux men ej i Windows.

$ exiftool -U -G *CR2

För att få ned allt till textfiler kan man lägga till -w för write.

out är mappnamnet och  %f_%e.txt innebär att varje textfil får samma namn som råfilens namn.

exiftool -U -G -w out/%f_%e.txt *CR2

Linux: diff i Terminalen

Öppna Terminalen i den mapp där du har dina textfiler och välj två som du vill analysera skillnaden hos.

$ diff _M7D0195_CR2.txt _M7D0196_CR2.txt
Kommandot diff i Linux för att jämföra skillnader.

För att exportera allt till en textfil lägger man till följande i slutet:

$ diff _M7D0195_CR2.txt _M7D0196_CR2.txt > Ny-textfil.txt

Windows: fc i CMD

För att jämföra textfilernas skillnad kan man öppna kommandotolken, CMD, i den mapp man har sina textfiler liggandes. Därefter skriver man när man jämför textfilerna:

fc _M7D0195_CR2.txt _M7D0196_CR2.txt
Kommandot fc i Windows för att jämföra skillnader.

För att exportera allt till en textfil lägger man till följande i slutet:

fc _M7D0195_CR2.txt _M7D0196_CR2.txt > Ny-textfil.txt

Exempel från verkligheten

R6 flimmerreducering

Jag tog totalt 40 bilder med flimmerreduceringen från en R6 av/på.

Därefter jämförde jag de okända taggarna och kunde se att en tagg, Canon File Info 0x0020, ändrade sig i takt med att jag aktiverade och inaktiverade flimmerreduceringen. Genom att lägga till kommandot nedan kunde jag isolera taggen för att få en enklare överblick.

 |grep "File Info 0x0020"

Det blev rätt tydligt att taggen hade med flimmerreduceringen att göra.

exiftool -U /home/macgyver/Publikt/Canon/Exiftool/0x0020/*CR3 |grep "File Info 0x0020"


Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 0
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1
Canon File Info 0x0020          : 1

Därefter postade jag informationen i Exiftools forum och bidrog till att taggen accepterades av Exiftool.

En mindre analys av snöleopardbilder

Snöleopard naturhistoriska museet i Helsingfors

Under hösten 2022 dök det upp fantastiska fotografier på snöleoparder från en fotograf vid namn Kittiya Pawlowski. Fotografierna fick stor spridning men det uppdagades snabbt att snöleoparderna på fotografierna var inklistrade och tagna från andra fotografer.

Det fanns många tecken på att inte allt stod rätt till. Ny hemsida, okänt namn att associera med katter och bilder fulla med metadata som spretade åt alla håll.

Några år tidigare, 2017, hade den svenske fotografen Björn Persson också fotograferat snöleoparder. Flera av fotografierna stod ut och två av dem liknar faktiskt två som Kittiya Pawlowski publicerat 2022. Det släpptes en bok på engelska, Searching for the snow leopard.

Även i Björn Perssons fall med snöleoparderna var det saker som inte stod rätt till. Att han 2019 nagelfors efter att ha skickat in ett fotografi på en bildmanipulerad elefant till African Geographics gjorde att hans övriga fotografier ifrågasattes. Han fann sig snabbt och berättade att han var konstfotograf. Tyglarna är friare som konstfotograf än för någon som kallar sig wildlife photojournalist.

Kan Kittiya Pawlowskis hemsida och snöleopard ha varit en känga åt Björn Persson från en konkurrent?

Detta handlar dock inte om fotograferna bakom bilderna utan om de bilder som publicerats av dem och hur man kan analysera bilderna. Någonting som är tacksamt då det rör sig om bilder med hyfsad upplösning och delvis bevarad metadata.

Innan jag går vidare till bilderna vill jag poängtera att fotografiet överst föreställande en snöleopard är taget i Naturhistoriska museet i Helsingfors.

Kittiya Pawlowskis bilder

Hitta bilder

Om man kan få tag i fler bilder än enbart snöleopardsbilderna kan man leta efter mönster. I Kittiya Pawlowskis fall fanns det mängder med bilder tagna från olika fotografer och med olika kameror. Fanns det några bilder som liknade varandra i metadata och bildsätt?

Det finns web crawlers som man kan använda för att söka igenom sidor efter bilder. En som är gratis och som även söker i historik är Archive.org. Man kan också leta i den aktuella sidans sitemap. I Kittiyas fall kopierade jag allt från sidans sitemap och lade in i ett excelark för att sortera på enbart bildadresser.

När bildadresserna var utsorterade skapade jag ett textdokument med bildadresserna i och kunde i Terminalen hämta hem samtliga bilder med kommandot

$ wget -i kittiya.txt

Det gav mig 300 bildfiler i en mapp att analysera. Det gick dessutom snabbare än att manuellt sitta och ladda ned varje bild.

Sortering

Med 300 bildfiler behöver man sortera. Jag valde att sortera efter datum när bildfilerna skapats och fick fram att Kittiya Pawlowski bör ha varit i Nepal i slutet av 2017 och början av 2018. Det bör vara hennes egna bilder eller att hon kommit över en hel bildserie med högupplösta från ett och samma tillfälle.

$ exiftool -createdate *jpg

Det gick även att sortera efter LensID för att se vilka objektiv som förekom.

$ exiftool -lensID *jpg

De bilder som inte var 500mm f/4 eller 35mm f/1.8 hade andra upphovsmän och hämtade bland annat från Adobes bildbank.

Jag delade upp bilderna i mappar efter objektiv och datum:

exiftool '-filename<${lensid;}/${CreateDate}/%f%-c.%le' -d %Y/%m/%d -r *.jpg

Metadatataggen Document Ancestors

När man använder Photoshop sparas en metadatatagg som heter Document Ancestors. Adobe beskriver taggen på följande vis:

If the source document for a copy-and-paste or place operation has a document ID, that ID is added to this list in the destination document’s XMP.

De bilder som har denna tagg bör vara sammanslagningar av olika bilder. Det innebär inte automatiskt att det rör sig om klipp och klistra utan det kan vara så enkelt som att en råfil exporterats till Photoshop med olika inställningar och lagts in som lager. Men ser man att den existerar och att den innehåller mängder med strängar bör man granska bilden extra noga.

Nedan en jämförelse mellan Kittiya Pawlowskis bilder över grottor, cave1.jpg/cave2.jpg/DSC_2456.jpg, samt en av hennes bilder på en bekräftad inklistrad snöleopard, print3.jpg.

Analys

  • Kittiya Pawlowskis fotografier från Nepal börjar den 19 december 2017 och slutar den 7 januari 2018.

  • Kameran är en Nikon med objektiven 35mm f/1.8 och ett 500mm f/4. Med tanke på vinjettering och kromatisk aberration ute vid kanterna med nämnda objektiv bör det vara småbildsformat. Bilden som skickats in högupplöst till Alpine Mag har Nikon D850 och AF-S VR Nikkor 500mm f/4G ED inbäddat i Exif. Kameran har sparat i Nikons råformat .NEF
  • Bilderna har redigerats i tidszonen -06, d.v.s. amerikansk tidszon.
  • Det saknas GPS-taggar i samtliga bilder.
$ exiftool -a -G -gps* *jpg
  • Om man öppnar bilden från Alime Mag och granskar den inklistrade snöleoparden ser man att ryggen, halva vänster framben samt svans är pixliga medan vänster framtass, buk och vänster bakben är softa. Man ser också om man zoomar in på pixelnivå att både bakgrund såväl som klippa har inslag av färgrikare pixlar medan snöleoparden är så gott som grå. Detta trots att bakgrunden är av snö och klippan av grå sten. Andedräkten ser ut att komma bakom munnen och inte ur munnen.
  • Kittiya Pawlowski är fortsatt en pseudonym som vi inte vet vem som döljer sig bakom namnet. Av alla de bilder som tagits finns inga spegelbilder någonstans av fotografen. Bilder från resan 2017 borde ha publicerats tidigare någonstans innan idén om att lura alla med inklistrade snöleoparder växt fram. Spåren som finns är serienumret 3089861 från hennes Nikon D850 och bildstilen som ser karaktäristisk ut. Namnen på vissa bildfiler står ut och är som fingeravtryck, exempelvis maphfgh.jpg och DSC_3190+copyssssssss.jpg.
  • Det finns ett ny sida som ser ut att vara skapad av samma person bakom pseudonymen Kittiya. Sidorna ser likadana ut, filnamnen har liknande struktur och samma email har använts för att hävda upphovsrätt när ”hennes” material granskats. Handen  som hon skissar med ser med tanke på hårväxten ut att tillhöra en man.
  • Ytterligare en sida med så gott som identisk text som de andra två sidorna har framkommit.

Björn Perssons snöleopardbilder

Hitta bilder

Sidan hionlife.se har sju snöleopardbilder tagna av Björn Persson. Alla publicerade i en artikel om en fotoresa för att fotografera snöleoparder.

Genom att kolla sidans sitemap och underliggande sitemaps hittades inga fler bilder av intresse.

https://hionlife.se/wp-content/uploads/2018/05/snowleopard1.jpg
https://hionlife.se/wp-content/uploads/2018/05/snowleopard2.jpg
https://hionlife.se/wp-content/uploads/2018/05/snowleopard3.jpg
https://hionlife.se/wp-content/uploads/2018/05/snowleopard4.jpg
https://hionlife.se/wp-content/uploads/2018/05/snowleopard5.jpg
https://hionlife.se/wp-content/uploads/2018/05/snowleopard6.jpg
https://hionlife.se/wp-content/uploads/2018/05/snowleopard7.jpg

Utöver det finns det lågupplösta bilder hos Facebookssidan Snow Leopard Conservancy och dess hemsida.

Analys

Enligt Exif är kamerautrustningen en Canon EOS 5D III. Objektivet ett Canon EF 100-400/4-5.6L IS USM + en teleförlängare om x1.4. Det ser ut att stämma med bilden från hionlife.se. Kamerans serienummer stämmer med Björn Perssons tidigare bilder från Afrika. Bilderna är tagna mellan 2017-03-03 och 2017-03-08.

Mellan bildfilerna skiljer det sig rejält i metadatataggen Document Ancestors. Bild nr 2, 4, 5 och 7 ser ut att behöva granskas noggrannare.

  • Bild nr 2 – En snöleopard står på en klippkant med månen i bakgrund. Himlen ovan snöleoparden ser ut att ha blivit suddad. Snöleoparden står bredvid en grästuva som återfinns på en helt annan bild och plats, nämligen nr 3. Beskrivningen om bilden handlar om bildserien som enligt Exif togs 2017-03-07. Bild nr 2 är enligt Exif dock tagen dagen innan, 2017-03-06.
  • Bild nr 4 finns det inte mycket mer att gå efter, mer än att man ser att någonting gjorts som loggats i Document Ancestors. Snöleoparden är för lågupplöst. Det finns två andra liknande och lågupplösta bilder. En från Snow Leopard Conservancys hemsida tagen 2017-03-03 och en från dess Facebook.
  • Bild nr 5 – En snöleopard som stirrar ut över en klippkant. Samma snöleopard återfinns speglad på en annan bild. Utöver det har klippkanten kromatisk aberration medan den sittande snöleoparden inte har det. Kameran som använts, en 5D III, har fixed pattern noise som blir synligt när man ljusar upp de mörka partierna i klippan.  Snöleoparden saknar mönstret i bruset.
  • Bild nr 7 visar en suddig snöleopard som jagar blåfår. Slutartiden ligger på 1/500 sekund och borde vara tillräckligt kort för att inte ge en så pass suddig bild på en springande snöleopard. Slutartiden räckte gott och väl för springande blåfår. Två av blåfåren längst till vänster har dubbelt upp av grön kromatisk aberration längs med benen. Komprimeringen i Photoshop låg på 8/12, så det kan vara en orsak, men jag har inte sett det innan. Annars stämmer det att denna typ av kromatisk aberration ökar ut mot bildens kanter.
    Det finns en liknande lågupplöst bild utan blåfår men med en snöleopard hos Snow Leopard Conservancys Facebook.

Bild nr 1, 3 och 6 då? Dessa ingår i en bildserie. Både i datum, filnummer och i terräng. Komprimeringen ligger på 12/12 och där återfinns inte samma komprimeringsrutor som i den med blåfår. Taggen Document Ancestors saknas helt. Det ser ut som att det varit en snöleopard framför kameran. Tiden stämmer för skymning om man korrigerar svensk tidszon med aktuell plats.

Bättre verktyg på väg

Både Canon och Nikon har tidigare försökt sig på att digitalt signera bildfiler som en form av äkthetsstämpel, men för båda företagen knäcktes systemen. Canon introducerade därefter Truthmark, men sidan och funktionen verkar ha fallit i glömska.

Nu är det åter på gång, men med en större mängd aktörer inom bild- och nyhetsbranschen som jobbar med att få till ett verktyg för att öka transparensen från att ett fotografi tagits tills det har publicerats. Jag kan tänka mig att sökmotorer skulle kunna belöna sådana bilder genom att lägga dem högre upp bland sökresultaten.

Kameror som kommer få stöd för detta redan 2023 är Sony A7 IV, Leica M11 och Nikon Z9.

Bara ladda upp en råfil

Har du problem med dina bilder från din kamera? Är de brusiga, för mörka, har konstigt mönster eller heta pixlar? Ladda då också upp råfiler när du ber om hjälp även om du inte ens brukar fota i råformat. Det underlättar och folk behöver inte ställa 20 frågor.

Råfiler enklare att felsöka

JPEG från kameror kan redan vara objektivkorrigerade, uppljusade, uppskärpta och brusreducerade.

Framför allt är de färginterpolerade. Om man har en het pixel kan den ”smitta” av sig till dussinet pixlar runt omkring.

En laserskada är lättare att upptäcka från ett par råfiler som inte är färginterpolerade än från en JPEG.

Kamerans eller kameratillverkarens val av färginterpoleringsmetod behöver heller inte vara optimal för motivet som du har fotograferat.

Stark vinjettering

En del kameror har dolda fält utanför bilden med pixlar som inte tar emot ljus. I råfiler kan dessa användas för att optimera bilden och även avgöra var gränsen för svart ska gå. Det går också att brusreducera så kallat dynamiskt radbrus med hjälp av de dolda pixlarna.

Övre vänstra hörnet i bildsensorn från en 6D. Notera det svarta fält som finns över och till vänster om den aktiva bilden.

En rosa sol är lättare att felsöka om man har tillgång till en råfil. Det är troligen bara utfrätt högdager som vitbalanserats.

Klippt högdager som blivit rosa.

Exif är oftast kvar

Exchangeable image file format, Exif, är i råfiler intakt om man inte aktivt raderar det. Det är metadata som exempelvis beskriver vilka inställningar som användes när bilden togs och är viktig för felsökning. Med JPEG kan Exif rensas vid överföring från kamera till telefon eller vid uppladdning till sociala medier.

Råkonverterare ”sabbar” felsökningen

En råkonverterare kan mycket väl uppskärpa en hel bild, inklusive en blå himmel, och därmed bidra till mer synligt brus än vad som redan finns. De flesta råkonverterare berättar heller inte vad som gjorts med en råfil för att få den att se ut på ett visst vis.

Att enbart publicera skärmdumpar utan att också ha råfiler att jämföra med gör att felsökningen tar längre tid än den behöver.

Undvik att köpa stulen kamerautrustning

1Ds serienummer

Moderna kameror, objektiv och blixtar är märkta med serienummer. Vissa av dessa nummer syns inte enbart utanpå utrustningen utan även i bildfilernas Exif. Publicerar man fotografier tagna med stulen utrustning och Exif är orörd kan andra utläsa vilket eller vilka serienummer kamera och objektiv har.

Innan man köper ett objektiv eller en kamera kan man jämföra mot databaser där kamerautrustning som stulits har serienummer publicerade. Det räcker oftast att fråga om ett fotografi som tagits med utrustningen. Detta fotografi laddar man upp till Jeffrey’s Image Metadata Viewer eller Exifmeta och letar upp lens serial number eller serial number.

Som en parentes stämmer inte alltid serienumret på Canons äldre objektiv med det som sparas digitalt i bildfilens Exif. I skärmdumpen ovan ingår bokstäver i det digitala serienumret trots att bokstäver helt saknas från det serienummer som står inskrivet på objektivet.  Om ett sådant objektiv har stulits är det det digitala serienumret som är sökbart.

Tre databaser över stulen kamerautrustning där serienummer finns att tillgå är:

  • Fotosidan – Sveriges största fotosida. Här skriver man in serienumret i sökfältet och jämför med kameramodell eller objektiv.
  • Lenstag – Internationell sida där ägarna har registrerat sin utrustning innan den stals.
  • Stolencamerafinder – Internationell sida som genomsöker fotografiers Exif på flertalet sidor. Ladda upp bild eller klistra in serienummer.

Serienummer för 16-35/4L IS