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.

Svårigheten med att identifiera rätt objektiv för Canon

Har du tagit en bild för att sedan i datorn upptäcka att objektivet som syns där inte stämmer med verkligheten? Det beror på att objektividentifiering tidigare varit ett träsk där ingen standard funnits.

I fallet Canon har olika modeller av objektiv fått samma identifieringsnummer och tredjepartsobjektiv har åkt snålskjuts på Canons befintliga identifieringsnummer.  Mellanringar rapporteras inte alls och teleförlängare med samma optiska uppbyggnad klumpats ihop. Först under senare tid har det börjat klarna upp.

Lite historia

Canons EF-objektiv började 1987 och varje modell numrerades digitalt, se kronologin för objektiven hos EFLens.com eller hos Canon Lens Museum. De olika numren finns samlade hos exiv2. Canons första EF-objektiv EF 50/1.8 börjar med nr 1. Numren verkar inte slaviskt följa tiden för när de släpptes.

EF-objektiven släpptes innan Canon hade skapat någon digital systemkamera som först kom 1995. Då i samarbete med Kodak där Canon stod för kamera och Kodak för det digitala bakstycket. En av kamerorna från 1995 var Canon EOS DCS 3c. I dess bildfiler hittar man inga identifieringsnummer utan enbart brännvidd.

Brännvidden i millimeter.

1998 släpptes Canon EOS D2000 som också den var ett samarbete mellan Kodak och Canon. I dess bildfiler finner man också där enbart brännvidden.

Från Kodak DCS 520c, i praktiken samma kamera som Canon EOS D2000.

Vill man se hur Canons version av kameran, EOS D2000, och inte enbart Kodaks, DCS 520c, sparade sina data finns en råfil hos raw.pixls.us inklusive Exif.

Först år 2000 släppte Canon sin helt egna digitala systemkamera, Canon EOS D30. I Exif hade då även MakerNotes dykt upp där tillverkaren själv fick ha egna fält fyllda med egna data. I Canons MakerNotes ingår en stor mängd information inklusive numret på det objektiv som används och då under taggen LensType.

Under taggen LensType står nr 190
Här har LensType, samt alla andra taggar gjorts läsliga i programmet exiv2

Några år senare blev det åter dags att skapa en ny tagg. Denna gång med namnet LensModel där objektivet eller objektivet plus teleförlängaren står i klartext.

Problematik

Att objektiven numreras i taggen Lenstype borde innebära att varje objektiv går att identifiera. Tyvärr har olika modeller blandats ihop som exempelvis flertalet av modellerna EF 75-300/4-5.6 där vissa modeller fått samma LensType-nummer. Inte ens Canon själv klarar av att särskilja dem åt om man ser till hur Canons program Digital Photo Professional hanterar bilderna.

Utöver det begagnar tredjepartstillverkare som Sigma och Tamron redan befintliga och upptagna LensType-nummer för sina egna modeller.

Canon EF 85/1.2L USM som har LensType-nummer 137 delar samma nummer med följande objektiv från tredjepartstillverkare:

  • Sigma 18-50mm f/2.8-4.5 DC OS HSM
  • Sigma 50-200mm f/4-5.6 DC OS HSM
  • Sigma 18-250mm f/3.5-6.3 DC OS HSM
  • Sigma 24-70mm f/2.8 IF EX DG HSM
  • Sigma 18-125mm f/3.8-5.6 DC OS HSM
  • Sigma 17-70mm f/2.8-4 DC Macro OS HSM | C
  • Sigma 17-50mm f/2.8 OS HSM
  • Sigma 18-200mm f/3.5-6.3 DC OS HSM [II]
  • Tamron AF 18-270mm f/3.5-6.3 Di II VC PZD
  • Sigma 8-16mm f/4.5-5.6 DC HSM
  • Tamron SP 17-50mm f/2.8 XR Di II VC
  • Tamron SP 60mm f/2 Macro Di II
  • Sigma 10-20mm f/3.5 EX DC HSM
  • Tamron SP 24-70mm f/2.8 Di VC USD
  • Sigma 18-35mm f/1.8 DC HSM | A
  • Sigma 12-24mm f/4.5-5.6 DG HSM II
  • Sigma 70-300mm f/4-5.6 DG OS

Den programvara man använder för att fixa till bilderna behöver alltså inte enbart klara av att läsa vilket LensType-nummer som objektivet har utan även ha en lista med tredjepartsobjektiv som delar numren med Canons objektiv. För att avgöra vilket det rör sig om kan programvaran läsa av maximal bländaröppning och brännviddens ändlägen för att kunna matcha rätt objektiv.

För Canons vita teleobjektiv använde Canon fram till EF 800/5.6L IS USM som släpptes 2008 samma LensType-nummer för själva objektivet såväl som för objektivet tillsammans med teleförlängare. Vad innebär det i praktiken? Jo, att programvaran man efteråt använder behöver ta hänsyn till vilken brännvidd som också registreras. Tyvärr kommer inte programvaran kunna avgöra vilken version det är på teleförlängaren varför fel objektivkorrigeringsprofil kan komma att väljas. Exempel:

  • EF 800/5.6L IS USM har LensType 249
  • EF 800/5.6L IS USM + x1.4 har LensType 249
  • EF 800/5.6L IS USM + x1.4 III har LensType 249
  • EF 800/5.6L IS USM + x2 har LensType 249
  • EF 800/5.6L IS USM + x2 III har LensType 249

Först med EF 70-200/2.8L IS II USM från 2010 rättades problemet nästan till där olika kombinationer av objektiv och teleförlängare fick egna LensType-nummer, även om Canon inte tog hänsyn till versionerna på teleförlängarna. Exempel:

  • EF 70-200/2.8L IS II USM har LensType 251
  • EF 70-200/2.8L IS II USM +x1.4 har LensType 252
  • EF 70-200/2.8L IS II USM +x1.4 III har LensType 252
  • EF 70-200/2.8L IS II USM +x2 har LensType 253
  • EF 70-200/2.8L IS II USM +x2 III har LensType 253

LensModel

Med Canon EOS 5D introducerades en ny Canontagg, LensModel. Till skillnad från LensType som bara har ett nummer står det i klartext i taggen LensModel. Här har det blivit lättare för tredjepartstillverkare då de kan skriva Sigma eller Tamron i detta fält.

RFLensType

Med Canons senaste RF-fattning introducerades även en ny tagg i fältet Makernotes. Alla RF-objektiv har ett eget RFLensType-nummer men delar på ett gemensamt LensType-nummer som är 61182.

Canon RF 50/1.2L USM har det gemensamma LensType-numret 61182 och det individuella RFLensType-numret 287. Detta kan ställa till det för program som inte är uppdaterade och som därför tror det ska använda 61182 oavsett vliket RF-objektiv det än rör sig om. Det kan även bli som så att programmet börjar titta efter maximal bländaröppning och brännvidd för att gissa sig till vilket objektiv det är.

Mellanringar

Rapporteras ej vidare till bildfilerna vilket innebär att man inte kan veta om en mellanring använts eller ej. Det går därmed ej heller att applicera rätt objektivkorrigering då vinjetteringen blir annorlunda.

Vad kan man själv göra?

Ofta inte så mycket mer än att själv ändra i bildfilernas metadata. Men, med exempelvis exiv2 som darktable använder kan man via en konfigurationsfil se till att få rätt namn på objektivet.

Exempel med Sigma 500/4.5 APO EX DG HSM:

Detta objektiv rapporterar 500mm och använder LensType-nummer 172. Med hjälp av konfigurationsfilen .exiv2 i hemmappen i Linux eller exiv2.ini i användarmappen i Windows kan man se till att skriva LensType-numret och vad det nya namnet ska vara, exempelvis 172=Sigma 500/4.5 APO EX DG HSM.

Canons råformat CRAW

Med Canon EOS M50 introducerades råformatet CR3. Canon har tidigare använt CR2 och CRW. Med CR3 kom  möjligheten att välja CRAW, som står för Compact RAW. I stället för den vanliga förlustfria komprimeringen i en CR3-fil, RAW, innebär CRAW att man använder förstörande komprimering. Data kastas bort för att spara plats. Ungefär som de JPEG-bilder vi vanligen stöter på.

Fördel och nackdel med CRAW?

Man vinner plats då CRAW kan ta hälften så mycket i filstorlek som RAW. Man kan ta fler bilder i följd innan kamerans buffert säger stopp och fler filer får plats på minneskortet och på hårddisken. Under de flesta förhållanden ser man dessutom knappt någon skillnad mot RAW.

Nackdelen är att komprimeringsartefakter kan visa sig när man ljusar upp extremt mörka partier.

Exempel

Bilden högst upp är tagen vid Tokyo station med en skyskrapa framför solen. En liten del av grön färgkanal har klippt högdagern vilket får anses acceptabelt. Så länge inte alla tre färgkanaler är klippta i högdagern kan man försöka rekonstruera från den som inte klippt.

Kameran, en Canon EOS R6 har stort dynamiskt omfång och klarar av man exponerar för högdagern för att sedan efteråt i datorn ljusa upp skuggorna. Åtminstone i RAW.

Råfiler att ladda ned finns här inklusive xmp-filer för den som använder darktable. De vanligtvis maskade pixlarna till vänster och ovan i Canons råfiler har jag i XMP-filerna valt att vara synliga. Den förstörande komprimering brukar synas tydligast där vid uppljusning.

Nedan syns två utsnitt från 200%. Den övre, RAW med förlustfri komprimering, har ett fint brus i det upplättade området.

RAW

Den nedre bilden däremot, CRAW med förstörande komprimering, har ett mosaikmönster. Speciellt i det gröna grenverket syns det.

CRAW

Mönstret är dessutom känsligt för vilken typ av färginterpoleringsmetod man använder. Det framträder mer tydligt med metoder som riktar sig mot detaljer såsom AMaZE, RCD och AHD.

CRAW med färginterpoleringsmetod VNG4
CRAW med färginterpoleringsmetod LMMSE

Mängder med fartkameror plundrade på kamerautrustning

Fartkamera

Trafiksäkerhetskameror, eller bara fartkameror, har i Stockholmsområdet de senaste månaderna utsatts för plundring av insatser innehållande radar, blixt och kamerautrustning.  Fram till den 19:e oktober hade så många som 150 fartkameror plundrats. Enligt SVT ska varje enhet kosta 250 000 kronor att ersätta.

I fartkameran sitter en 24 GHz-radar RS242 från SENSYS, en studioblixt och en kamera med objektiv samt ett polfilter.

Tidigare har det rapporterats att kameran ska vara en som har en upplösning om 36 megapixlar vilket Nikon D800 och D810 har. Trafikverket har dessutom historiskt sett valt Nikon i sina fartkameror. Bland annat D1, D70, D80 och D200.

Polfilter med filtergänga om 67 mm vilket enbart ett fåtal objektiv från Canon har. Canon 100/2.8L Macro IS USM som har 67 mm filtergänga ser det åtminstone inte ut som på bild.

Aftonbladet skriver den 19 oktober att det rör sig om kameror från Canon och att man misstänker att de kommer användas i kriget i Ukraina. Archive.org sparade originaltexten.

”I skåpen sitter så kallade DSLR-kameror av märket Canon. Exakt likadana kameror har hittats i ryska hemmabyggda drönare.”

Ryssland har tidigare använt just kameror från Canon i sin drönarmodell Orlan 10.

Trafikverket nekar dock till att ha några kameror från Canon.

”Det är ett faktafel. Det är ingenting annat än Nikon-kameror i fartkamerorna, säger Eva Lundberg.”

Nikon D800 och D810 har däremot använts i den ryska drönaren Ptero-G0. En drönare som verkar i kriget i Ukraina.

Vid 01:20 den 21 oktober grep polisen en svensk 20-årig man i Riala i Norrtälje med koppling till stölderna. Detta enligt SvD.

Källkritikbyrån lade den 21 oktober upp en artikel om att Aftonbladet har sakfel angående kameramärke samt att någon koppling till ryska drönare mer är av ett rykte.

Tre män häktade

Den 20-årige mannen från Riala häktades den 24 oktober. Den 25 oktober häktades ytterligare två unga svenska män. En från Gustavsberg på 21 år och en från Sollentuna på 22 år. Alla tre är motorintresserade.

7 november rapporterade Norrtelje tidning att trio släppts, men att misstankarna återstår.

8 november rapporterade TV4 om att man från Trafikverket ska försöka stöldsäkra fartkameror.

Ryska spionparet

Den 29 november rapporterade SVT om att det ryska spionparet som polisen gripit ”…tidigare gjort affärer med Radioexport. Bland annat handlade det om transistorer och fartkameror, varav de senare officiellt skulle användas i den kommande OS-satsningen i ryska Sotji 2014.”

Utredningar i Uppsala län nedlagda

Sveriges radio rapporterade den 8 december att polisen lagt ned samtliga utredningar om fartkamerorna i Uppsala län. ”…det har inte gått att hitta några spår av tjuvarna över huvud taget”

Åtal 2024

Den 19 april 2024 åtalades i Norrtälje tingsrätt sju personer för grov stöld och försök till grov stöld, alternativt häleri

Avrapporteringspm från CT 2022-10-23

INLEDNING RLC larmar ut att Trafikverket tappat kontakten med vissa kameror för automatisk trafikkontroll längs Riksväg 52 mellan Nyköping och Katrineholm. Det har i närtid skett stölder av kameror ur kameraskåpen vilket gör att RLC beordrar patruller från Nyköping och Katrineholm att kontrollera kameraskåp och fordon längs den aktuella vägsträckan samt anslutande vägar.

HÄNDELSEFÖRLOPP
Patrull 41-9210 med PA RV och PA LA samt 41-2640 med PA CT färdas i sydöstlig riktning längs Riksväg 52 och möter en bil i höjd med Grindstugan. Vid slagning på aktuellt fordon så framkom att det var hemmahörande på annan ort och beslut om att vända och göra en kontroll kring vad den har för ärende i området togs.

Patrull 41-2640 vände på avtagsväg mot Åbol/Alléstugan och 41-9210 vände vid busshållplats Kråketorp. Patrullerna färdades nu i nordvästlig riktning på Riksväg 52 och 41-2640 kom ikapp aktuell bil strax efter busshållplatsen vid Davidstorp. Patrull 41-2640 genomförde sedan fordonsstoppet i höjd med Överby och 41-9210 anslöt till platsen i direkt anslutning.

Undertecknad inledde med att kontrollera förarens körkort och konstaterade att det var W som framförde fordonet. W är tillika ägare av fordonet. På passagerarplats fram satt en ung kvinna med vit tröja som identifierades som M och på passagerarplats vänster bak satt en ung man med grön tröja som identifierades som P. På passagerarplats höger bak satt en ung man med svart tröja som identifierades som A. Eftersom bilen var av kombimodell utan insynsskydd genomfördes visuell kontroll av bilens bagageutrymme. I bagageutrymmet observerades en större slägga samt ett mörkt klädesplagg som låg ovanpå en flerfärgad sportbag. Invid sportbagen låg en blå skruvdragare.

W tillfrågas vad han har verktygen till och W svarar att de är bra att ha, till att skruva på saker. W blir även tillfrågad var de varit i kväll och han uppger att de åkt från Stockholm och ätit mat i Nyköping samt att de nu skulle vidare mot Strängnäs eller Eskilstuna för att träffa kompisar. På fråga vilken väg de kört kunde inte W uppge vilken väg de kört från Nyköping, W mindes inga ortsnamn eller platser längs vägen men att de inte körde på någon motorväg efter Nyköping.

Beslut om husrannsakan inhämtades från JFL inhämtades och PA VR bad W att kliva ut och uppmanade honom att öppna bagageluckan. Undertecknad, PA RV och PA LA såg nu även handskar samt PA RV anträffade en NIKON-systemkamera i väskan, systemkameran hade kablar utstickande från kamerahuset samt är av samma modell som Trafikverket uppgett sitter i kameraskåpen. Under väskan låg en avbitartång och en spärrnyckel samt i en sidoficka i bagaget låg en större batteridriven lampa.

I fickan bakpå förarstolen invid platsen där P satt anträffades ett par handskar samt vad som ser ut att vara en pannlampa. I mittkonsolen anträffades ytterligare handskar samt en större mängd kontanter i 500-kronorssedlar. I samband med det anträffade godset samt de misstänkta brottsverktygen tas beslut om att samtliga personer som färdats i personbilen ska gripas. De gripna förs till arresten i Katrineholms polisstation.

I tjänsten,
PA CT