Publicatie:Digitalisering en automatische beeldherkenning voor de diacollecties van het Vlaams Architectuurinstituut

Uit Meemoo Kennisbank
Naar navigatie springen Naar zoeken springen


Samenvatting

Een gevalstudie over de digitalisering van diacollecties en daaropvolgend gebruik van AI-tools om de dia's te verwerken en toegankelijk te maken.


Referentie
Titel Digitalisering en automatische beeldherkenning voor de diacollecties van het Vlaams Architectuurinstituut (Voorkeurstitel)
Locatie
Uitgever
Jaar van uitgave 2023
Rechten CC-BY
Persistent ID


Auteur

Wim Lowet (Digitaal strateeg VAi) i.s.m. Frits Vandenweghe (Projectmedewerker 'Van de lichtbak af')

Projectbeschrijving

Met het project ‘Van de lichtbak af’ wilde het Vlaams Architectuurinstituut (VAi) een selectie van ca. 30 000 dia’s uit zijn collectie digitaliseren en verwerken met automatische beeldherkenning door gebruik van Artificial Intelligence (AI).

Dia's in de VAi Collectie

De dia's binnen het VAi zijn een waardevolle maar verborgen collectie. Ze documenteren het werk en de activiteiten van architecten en geven de gebouwde omgeving weer. Ze documenteren studiereizen van architecten en hebben betrekking op het werk van collega-ontwerpers. Het gaat niet enkel om foto’s, maar ook om gefotografeerde tekeningen, maquettes, kaartmateriaal en tekstdocumenten. Dit allemaal over ontwerpdisciplines, tijd en landsgrenzen heen

De digitalisering van deze collectie was urgent om verschillende redenen:

  • Dia’s zijn een fragiel medium. Stof, vuil en licht versnellen de degradatie waardoor ze onbruikbaar worden.
  • Dia's zijn moeilijk te raadplegen door gebruikers in de leeszaal.
  • Betekenisvolle ordening en context dreigen bij elke manipulatie verstoord te raken.

Selectie van de diacollecties

Het Vlaams Architectuurinstituut selecteerde zes afgebakende diacollecties binnen de VAi collectie. Al deze diacollecties zijn afkomstig uit archieven die behoren tot de Collectie van de Vlaamse Gemeenschap.

Collectie Omschrijving
Diacollectie van Lou Jansen Lou Jansen (1935-2019) was een architect die vanaf de jaren ‘60 een architectuurproductie in laat modernisme realiseerde. Zijn collectie van ca. 4200 dia’s ontstond vanuit zijn architectuurpraktijk, studiereizen (o.m. Democratische Republiek Congo) en docentschap.
Diacollectie van Frans De Groodt Frans De Groodt (1912-2009) vormde zich als architect in de jaren ‘30 en later als stedenbouwkundige. Zijn interesse lag vooral bij het historisch erfgoed en de restauratie van monumenten. Zijn collectie van ca.1500 dia’s documenteren zijn architectuurreizen die hem inspireerden voor zijn architectuurpraktijk en in het onderwijs en verenigingsleven. Er zijn ook reeksen over bepaalde regio’s en specifieke thema’s.
Diacollectie van Georges Baines Georges Baines (1925-2013) was een bekroond architect bekend om eigen werk in internationaal modernisme en zijn restauraties van modernistische gebouwen. Zijn collectie dia’s van ca. 5000 dia’s documenteert zijn studiereizen, het eigen oeuvre, zijn grote interesse voor Le Corbusier en bevat ook beeldmateriaal voor zijn lesopdrachten. Er is een onvolledige lijst (divers en 24x36 mm) gemaakt door Baines
Diacollectie van Dries Jageneau Dries Jageneau (1949-1993) werkte als architect voor de stad Antwerpen, was actief lid van Aktiegroep Oude Stad en Vrije Actiegroep Antwerpen en was een pionier in het mobiliteitsdenken in België. Zijn diacollectie van ca. 5000 stuks geeft neerslag van zijn bezigheden (1970-90).
Diacollectie van Christian Kieckens Christian Kieckens (1951-2020) was een architect en actief in het architectuuronderwijs maar ook gangmaker in de kunst en cultuur en legde mee de basis van de huidige rijke architectuurcultuur in België. Zijn diacollectie van ca. 9000 stuks (24x36 mm) documenteert zijn studiereizen die hij ondernam ter ondersteuning van zijn werk en onderzoek. Er is een lijst gemaakt door de architect.
Diacollectie van de Provinciale Commissie voor Momumenten en Landschappen (PCML) PCML (1970-1990) is de Antwerpse afdeling van de Koninklijke Commissie voor Monumenten en Landschappen die sinds 1935 de regering ondersteunt bij haar beleid omtrent het behoud en de restauratie van monumenten. De fototheek met ca. 5600 dia’s is een neerslag van de activiteiten van de PCML, zoals de vroege inventariscampagnes van waardevol erfgoed. Er is geen lijst (24x36 mm) voorhanden.

Status auteursrechten

De dia's bevinden zich niet in het publiek domein. Dit betekent dat we voor online publicatie toestemming nodig hebben van de makers en/of rechthebbenden. Dit was voor het grootste deel van de dia's eenvoudig, omdat de makers van de beelden samenvielen met de schenkers van de archieven (Uitzondering hierop is de diacollectie van PCML)

De zes archieven werden geschonken aan de Provincie Antwerpen. In de schenkingscontracten is telkens overeengekomen dat de schenker zijn reproductierechten op het archief - inclusief de dia's - overdroeg aan de provincie Antwerpen. (Uitzondering hierop was het archief van Frans De Groodt, met wie geen overdracht van auteursrechten is afgesproken). In 2018 gingen de archieven over naar de Vlaamse Gemeenschap en werden de daarbij horende rechten overgedragen. Van de Vlaamse Gemeenschap kreeg het VAi via een langdurige bruikleen de toestemming om de archieven te reproduceren en te gebruiken in overeenstemming met de rechten waarover de Vlaamse Gemeenschap beschikt.

Extra stappen die het VAi ondernam:

  • We namen contact op met Frans De Groodt en verkregen toestemming om de diacollectie online te publiceren met het Rights Statement 'In Copyright'
  • We maakten een lijst van dia's die niet door de schenkers zijn gemaakt. Wanneer we de contactgegevens konden achterhalen namen we contact op en vroegen we toestemming om de dia's online te publiceren onder het Righsts Statement 'In Copyright'.

Dia's waarvan de fotograaf niet kon worden achterhaald, of waarvoor de fotograaf geen toestemming verleende, hebben we niet gepubliceerd. Dit had een grote impact op de collectie van PCML. Aangezien deze dia's voor het grootste deel door onbekende fotografen werden gemaakt, kunnen we op dit moment de volledige diacollectie niet publiceren.

Projectdoelstellingen

Het project heeft volgende doelstellingen:

  • Een bedreigde, ongebruikte collectie veiligstellen en zichtbaar maken
  • Kennis over digitalisering van dia’s verhogen
  • Bruikbaarheid van de gedigitaliseerde diacollectie verhogen door gebruik van automatische beeldherkenning
  • Kennis over dia digitalisering en automatische beeldherkenning binnen de erfgoedsector verhogen
  • Toepassingen en processen ontwikkelen voor architecturaal erfgoed die door andere actoren worden hergebruikt.
  • Kennis verhogen over omgang met privacygevoelig materiaal, auteursrechten en licenties.

Projectverloop en planning

Het project doorliep twee fases:

Fase I (22/02/2021-21/02/2022) | Werkpakketten:

  1. Onderzoek digitaliseringmethode: Onderzoek naar de technische vereisten van de digitalisering, een goede aanpak m.b.t. de diversiteit van de dia’s en beschikbare digitaliseringsmethodes (bv. contactvelmethode)
  2. Basisregistratie dia’s ter voorbereiding op digitalisering: Registratie van dialaders, condition assessment, registratie van gekende auteursrechten.
  3. Onderzoek kwaliteitscontrole: Onderzoek naar hoe we de opnamekwaliteit kunnen controleren zodat we constante kwaliteit kunnen garanderen.
  4. Uitvoering digitalisering: Opstellen van lastenboek, selectie van leverancier, proefperiode, uitvoering digitalisering en kwaliteitscontrole
  5. Proof of concept automatische beeldherkenning: Aan de hand van een proefproject doen we onderzoek naar efficiënte methodes om de gedigitaliseerde dia’s automatisch te beschrijven op een manier die de verwerking en ontsluiting van de dia’s ten goede komt.

Fase II (22/02/2022-21/02/2023) | Werkpakketten:

  1. Uitvoering automatische beeldherkenning: Uitbouw van de proof of concept uit fase I tot een bruikbare tool en het uitvoeren van de beeldherkenning op de digitale beelden. Verwerken van de resultaten en import in het VAi archiefbeheersysteem.
  2. Evaluatie automatische beeldherkenning: Gebruikers (architecten, historici en erfgoedmedewerkers) worden bevraagd naar de meerwaarde van de ontwikkelde beeldherkenningsflows
  3. Online publicatie van de dia’s: Ontsluiting van gedigitaliseerde dia’s + trefwoorden van automatische beeldherkenning op archiefhub.vai.be
  4. Onderzoek ontsluiting via IIIF: Ontwikkeling van een IIIF-manifest voor de publicatie van de dia’s, verrijkt met trefwoorden uit de automatische beeldherkenning.
  5. Communicatie en kennisdeling

Digitalisering

Voor de doelstellingen van het project was de digitalisering van de dia's een cruciale stap. De digitalisering bestond uit:

  1. Onderzoek naar digitaliseringsmethodieken
  2. Basisregistratie dia's ter voorbereiding van digitalisering
  3. Uitvoering van de digitalisering en kwaliteitscontrole
  4. Andere kwaliteitscontroles

Onderzoek naar digitaliseringsmethodieken

We onderzochten volgende methodieken:

  1. dia’s digitaliseren op hoge kwaliteit met drum-scanning
  2. individuele dia’s digitaliseren op hoge kwaliteit met flatbed scanning
  3. individuele dia’s digitaliseren op hoge kwaliteit fotograferen met  een middenformaatcamera
  4. Meerdere dia’s tegelijk fotograferen op lagere resolutie en kwaliteit via de contactvelmethode

Beoordeling

De contactvelmethode is vooral interessant om grote hoeveelheden bulkmateriaal te digitaliseren, zoals bv. negatieven, waarbij er ook vaak dubbele shots op de strips staan. Dit was bij onze diacollecties minder het geval. Het aantal dia’s (30.000) maakte bovendien dat individuele digitalisering haalbaar was. De optie van een flatbed scanner werd niet gekozen omdat met een middenformaatcamera hogere snelheden en kwaliteit kunnen worden behaald. Drum-scanning was tot slot geen optie was omwille van de vereiste tijdsbesteding. Drum-scanning levert hoge kwaliteit, maar vereist dat de dia’s uit de raampjes worden gehaald, wat niet haalbaar of verantwoordbaar was om dit binnen het project voor 30.000 dia's te doen.

We kozen daarom om gebruik te maken van de derde methode: digitalisering van individuele dia’s met een middenformaatcamera. Deze optie beoordeelden we als de methode die de beste balans bood tussen prijs, haalbaarheid en geboden kwaliteit. De dia's ingeraamd laten tijdens digitalisering was een bewuste keuze. Het leidt tot minder goede prestaties m.b.t. scherpte en kleuren, maar 30.000 dia’s uit het raam halen zou logistiek een te grote impact hebben gehad.

Basisregistratie dia’s ter voorbereiding van digitalisering

De projectmedewerker digitaliseerde alle dia’s op niveau van de dialader. Dit werk werd uitgevoerd in een spreadsheet dat nadien geüpload werd in het archiefbeheersysteem (ABS) van het VAi.

Velden voor de beschrijving van de diacollectie, toegepast tijdens het project
VELDEN TOELICHTING VOORBEELD
reference_code inventarisnummer BE/653717/0099-CK/0281
other_number oud nummer aangebracht door architect
title titel voor dialader Dialader met werk van Borromini en omgevingsbeelden van Porto en Wenen
other_title noteer opschriften op de dialader
start_year jaartal 1991
end_year jaartal 2002
date_text een volledige datum - indien voorhanden
archive_level_description_value beschrijvingsniveau Bestanddeel
archive_value inventarisnummer van het bovenliggend beschrijvingsniveau (de dialader) BE/653717/0099-CK/0161
top_archive_value inventarisnummer van het archief BE/653717/0099-CK, Archief van Christian Kieckens
content_remarks nadere beschrijving van de inhoud van de dialader 69 dia's met werk van Francesco Borromini alsook omgevingsbeelden van Porto 1991 en omgevingsbeelden van Wenen 2002. 2 aangekochte beelden. Gefotografeerd door Christian Kieckens.
container_id nummer van de doos waarin de dialader wordt bewaard
extent_medium aantal dia's in de lader 69 dia's
hoeveelheid kleinbeeld dia's aantal dia's van dit formaat 69 dia's
hoeveelheid dia's met afwijkend diaformaat aantal dia's die geen kleinbeeld zijn 0
hoeveelheid afwijkende media aantal objecten in de lader die geen dia's zijn 0
Bevat archiefdocumenten documenten zoals plannen, kalken, tekeningen (ja of nee) nee
type container dialader, envelop, doosje, klasseur, album... Duolader met 2x50 frames
dia materiaal materiaal van de beelddrager, bv. film (detail), glas film
kader materiaal materiaal van het kader, bv.plastic, papier, metaal, geen… plastic
Toestand score algemene score van de toestand 1
Schadekenmerken bv. stof, gebroken, schimmel, krassen, vocht
Fysieke kenmerken beeldkenmerken die digitaal gecorrigeerd kunnen worden, bv. Blauwe schijn
archive_note interne opmerkingen 2 dia's hebben een copyright: © Hallen für neue kunst Schaffhausen
Auteursrecht namen van de fotografen. Christian Kieckens; Fotograaf onbekend
Creditline volg vast stramien Archief van Christian Kieckens, Collectie Vlaamse gemeenschap, © Kieckens (foto); Archief van Christian Kieckens, Collectie Vlaamse gemeenschap, © Hallen für neue kunst Schaffhausen
archivist_note archiefverwerking door: naam en datum beschrijving Archiefbeschrijving (Qi), 02/04/2021, Frits Vandenweghe

Specifieke velden voor het diaproject die geen overeenkomstig veld hebben in het ABS, werden bij de upload naar het ABS als tekst toegevoegd in tekstvelden:

Screenshot uit het ABS van het VAi

Uitvoering digitalisering en kwaliteitscontrole

Lastenboek

Het VAi stelde met advies van meemoo een lastenboek op om de digitalisering van de dia's uit te besteden. De opdracht werd gegund aan het bedrijf Picturae.

Download het lastenboek.

Kwaliteitscontrole

Samen met digitaliseringsbedrijf Picturae en consultancybureau HIP zette het VAi een proces op voor de kwaliteitscontrole van de digitalisering. De opzet van het proces nam ca. drie maanden in beslag. Het bleek niet haalbaar om de dia’s te digitaliseren volgens de gevraagde norm Guidelines Digitisation of Photographic Materials. Dit kwam om dat de norm verouderd is en omdat de benodigde targets moeilijk te verkrijgen waren.

Omdat een actuele norm voor diadigitalisering momenteel niet beschikbaar is, werd een apart kwaliteitscontroleproces uitgetekend op basis van enkele cruciale parameters die het VAi kon nameten met gangbare software als Photoshop. De methode werd uitgeschreven door HIP. Deze beschrijft:

  • de te digitaliseren targets voor elke dagproductie
  • de na te meten criteria en hun toleranties

Met Picturae werd overeenkomen om de targets van elke dagproductie tijdens digitalisering aan te leveren. De projectmedewerker van het VAi mat de targets vervolgens na.

Rapport kwaliteitscontrole

HIP maakte een neerslag van het proces van kwaliteitscontrole in een rapport.

Download het rapport.

Kwaliteitscontroles na digitalisering

Naast opnamekwaliteit controleerden we volgende zaken:

  • Volledigheid van de digitalisering: Hiervoor vergeleken we het aantal scans met de hoeveelheid getelde dia’s tijdens de basisregistratie
  • Conformiteit TIFF (Uncompressed Baseline TIFF v6.0): Hiervoor deden we een test met een steekproef van de reproducties met het programma DPF Manager
  • Bestandsnaamgeving: Hiervoor maakten we een filelist van alle bestanden en deden we enkele controles in Excel
  • Integriteit van de bestanden: De dia's werden aangeleverd volgens de Bagit specificatie.

Automatische beeldherkenning

Een belangrijke doelstelling van het project is onderzoek naar toepassingen van automatische beeldherkenning om de verwerking van het gedigitaliseerde beeldmateriaal te ondersteunen. Het VAi wilde Artificial Intelligence (AI) inzetten voor drie cases:

  1. De diacollecties kunnen persoonlijk tot privacygevoelig materiaal bevatten. Het VAi wilde met behulp van AI dit materiaal sneller identificeren.
  2. De diacollecties bestaan niet enkel uit beelden, maar ook  uit gefotografeerde tekstdocumenten en tekeningen. Met behulp van AI wilden we beeldmateriaal en gedigitaliseerd archiefmateriaal scheiden.
  3. Het taggen van architectuurbeelden met trefwoorden die inzicht geven in de typologie van het gebouw of ontwerp op het beeld.

Het traject voor de automatische beeldherkenning besloeg projectfase I en II. In beide fase werkten we samen met het Tegenlichtproject (een samenwerking van ADVN, FOMU en KOERS). De focus van het project Tegenlicht lag op andere cases (gezichtsherkenning en tekstherkenning), maar omdat bepaalde componenten voor de beeldherkenningsinfrastructuur gemeenschappelijk golden (bv. ingest, data submission, IIIF-proef…) was het evident dat beide projecten samenwerkten.

In fase I werkten we aan een vooronderzoek. In de tweede fase bouwden we het vooronderzoek verder uit tot een beeldherkenningsinfrastructuur. De partners van Tegenlicht en VAi besteedden in beide fasen de opdracht uit aan consultancybureau Datable.

Vooronderzoek (Fase I)

Het vooronderzoek werd uitgevoerd door het bureau Datable. De samenwerking werd georganiseerd op basis van sprints, waarbij Datable, VAi en de partners van Tegenlicht om de twee weken een opvolgvergadering hadden.

Het vooronderzoek omvat:

  • Een analyse van de gedigitaliseerde dia’s
  • Onderzoek naar manieren waarop de gedigitaliseerde dia’s en metadata kunnen worden ingeladen in de beeldherkenningsinfrastructuur (ingest & store). Hierbij werd ook intake via de meemoo API onderzocht
  • Technische uitwerking van de cases: Analyse, onderzoek naar beschikbare AI tools en eerste beschrijving van een mogelijke workflow. Voor VAi werden volgende cases uitgetest:
    • Face detection
    • Object recognition (tagging)
    • Document image classification
  • Onderzoek naar een tool waarmee kwaliteitscontrole kan worden uitgevoerd
  • Export van beeldherkenningsdata naar een formaat dat door het ABS kan worden ingelezen
  • Onderzoek naar een IIIF manifest voor gedigitaliseerde dia’s en AI-tags (Zie onder bij hoofdstuk IIIF)
  • Prijsestimaties voor het gebruik van AI-tools
  • Rapportage

Uitwerking beeldherkenningsinfrastructuur (Fase II)

In fase I werd de beeldherkenningsinfrastructuur verder uitgewerkt op basis van het vooronderzoek.

Algemene beeldherkenningsinfrastructuur

De beeldherkenningsinfrastructuur werd uitgewerkt op basis van vijf componenten: Knime, Google Cloud, Labelstudio, MongoDB en externe AI services.

Component Beschrijving
Knime Knime is een low code platform waarin workflows kunnen worden ontwikkeld die de overdracht van beelden tussen verschillende platformen kan uitvoeren. Het is Knime dat
  • beelden opvraagt uit meemoo of op een harde schijf
  • de beelden stuurt naar services als Clarifai, Google Vision of Labelstudio
  • waarmee exportformaten kunnen worden geconfigureerd

De door Datable ontwikkelde Knime workflows zijn te raadplegen op https://hub.knime.com/henkv/spaces/ADVNVAi/latest/~IsDJlc-gQyDFFESB/. Deze bevatten workflows voor projecten ‘Van de lichtbak af’ en ‘Tegenlicht’.

Externe AI Services Het VAi maakte gebruik van volgende AI services:
Google Cloud Automatische beeldherkenningsoftware vereist dat de beelden over het web kunnen worden aangesproken. Hiervoor is gebruik gemaakt van Google buckets in de Google Cloud. Bestanden van het VAi konden via Knime tijdelijk worden opgeslagen in een Google bucket. Voor communicatie met cloud services werden de bestanden omgezet met een Base64 codering, m.b.v. een Knime node.
Label Studio Label Studio liet de menselijke gebruiker toe om de beelden samen met de resultaten van de automatische beeldherkenning te raadplegen en controleren. Labelstudio kan gebruikt worden als validatietool, maar het VAi gebruikte Label Studio vooral als werkbank om privacygevoelig materiaal te ontdekken op basis van AI tags (zie onder)
MongoDB Metadata met gegevens over de oorspronkelijke bestanden en de verrijkingen worden opgeslagen in JSON-formaat. De JSON-files werden tijdens het project opgeslagen in een MongoDB.

Metadatabeheer

Automatische beeldherkenning vereist het beheer van verschillende metadata:

  • metadata over de beelden (objectmetadata)
  • de annotaties die door de AI-tools werden gecreëerd

Objectmetadata

De JSONs werden gestructureerd volgens een genormaliseerd formaat, gebaseerd op het formaat dat gebruikt werd in het CRAFTED project.

Voorbeeld:

 {
  "_id": "625ea6499f271c1f78ffcdbc",
  "id": "VNE_000151_001",
  "edm:dataProvider": "ADVN",
  "file_path": "/Danny Cortier/VNE_000151/VNE_000151_001.jpg",
  "media_metadata": {
    "OME": {
      "@xmlns": "http://www.openmicroscopy.org/Schemas/OME/2016-06",
      "@xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
      "@xsi:schemaLocation": "http://www.openmicroscopy.org/Schemas/OME/2016-06 http://www.openmicroscopy.org/Schemas/OME/2016-06/ome.xsd",
      "Image": {
        "@ID": "Image:0",
        "@Name": "/media/henk/ADVNVAi/ADVN/Danny Cortier/VNE_000151/VNE_000151_001.jpg",
        "Pixels": {
          "@BigEndian": "true",
          "@DimensionOrder": "XYCZT",
          "@ID": "Pixels:0",
          "@PhysicalSizeX": "1.0",
          "@PhysicalSizeXUnit": "µm",
          "@PhysicalSizeY": "1.0",
          "@PhysicalSizeYUnit": "µm",
          "@PhysicalSizeZ": "1.0",
          "@PhysicalSizeZUnit": "µm",
          "@SizeC": "1",
          "@SizeT": "1",
          "@SizeX": "1290",
          "@SizeY": "876",
          "@SizeZ": "1",
          "@TimeIncrement": "1.0",
          "@TimeIncrementUnit": "s",
          "@Type": "uint8",
          "Channel": {
            "@ID": "Channel:0:0",
            "@SamplesPerPixel": "1",
            "LightPath": {}
          }
        }
      }
    }
  }
 }
Veld Toelichting
id unieke id voor het bestand (verplicht)
dataset dataset: subset van de content provider (optioneel)
edm:isShownBy http-url naar het bestand by CP  (optioneelfile-path: verwijzing naar lokale kopie (voor verwerking, verplicht)
edm:dataProvider content provider (van wie beeld afkomstig is) (optioneel)
source_record metadata van oorspronkelijk record (optioneel)
edm:type type mediabestand: IMAGE, AUDIO, VIDEO, TEXT, 3D (optioneel)
media_metadata gegevens over beeld (bv. x,y resolutie) (optioneel). Voor beeldbestanden wordt gebruik gemaakt van het OME-XML schema (verplicht)

Verrijkingen

Het gestructureerd formaat voor het opslaan van verrijkingen is gebaseerd op het W3C Web annotations format en het EDM profile for Annotations. Het gebruikte formaat is analoog met het formaat gebruikt voor het CRAFTED project. Het formaat is gestructureerd in JSON-LD en bevat informatie over:

  • de verrijking (id, tool, datum, soort)
  • body: de inhoud van de verrijking (type, taal, inhoud, formaat, confidence level)
  • target: identificatie van het verrijkte bestand (id, onderdeel)

Voorbeeld:

 {
  "@context" : {
    "jsonld" : "http://www.w3.org/ns/anno.jsonld",
    "edm" : "https://www.europeana.eu/schemas/context/edm.jsonld",
    "skos" : "http://www.w3.org/2004/02/skos/core#"
  },
  "id" : "f4df38dd-42a0-434b-bd00-e8fb62505ba4",
  "type" : "Annotation",
  "motivation" : "tagging",
  "creator" : {
    "name" : "Google Vision API",
    "type" : "SoftwareAgent"
  },
  "created" : "2022-04-20T17:18:30.554",
  "confidenceLevel" : "0.8965",
  "body" : [ {
    "id" : "http://www.wikidata.org/entity/Q39908",
    "exactMatch" : "http://vocab.getty.edu/aat/300209935",
    "language" : "en",
    "type" : "TextualBody",
    "value" : "Pants",
    "format" : "text/plain"
  }, {
    "type" : "Dataset",
    "value" : {
      "mid" : "/m/07mhn",
      "name" : "Pants",
      "score" : 0.8964063,
      "boundingPoly" : {
        "normalizedVertices" : [ {
          "x" : 0.8672568,
          "y" : 0.63113594
        }, {
          "x" : 0.9573641,
          "y" : 0.63113594
        }, {
          "x" : 0.9573641,
          "y" : 0.840463
        }, {
          "x" : 0.8672568,
          "y" : 0.840463
        } ]
      }
    },
    "format" : "application/json"
  } ],
  "target" : {
    "id" : "0197-TOP_0001_026_img-005",
    "type" : "Image",
    "selector" : {
      "type" : "FragmentSelector",
      "conformsTo" : "http://www.w3.org/TR/media-frags/",
      "value" : "xywh=percent:87,63,9,21"
    }
  }
 }
Veld Toelichting
@context verwijzing naar de gebruikte schema's
id unieke id (UUID) voor de verrijking (annotatie)
type default: 'Annotation'
motivation type verrijking, bv.
  • tagging: tag of label onderwerp (incl. gezichtsdetectie)
  • classifying: documenttype bepalen
  • identifying: geïdentificeerde persoon (gezichtsidentificatie)
  • describing: weergeven van de inhoud (bv. op basis van OCR)
creator tool waarmee de verrijking werd gemaakt
created datum
body bevat verrijking. Een annotatie kan meerdere bodies bevatten (bv. een annotatie met de gereconcilieerde waarden, één met de ruwe output van de service):
  • id: identifier, in de vorm van WD URI
  • exactMatch: alternatieve URI (AAT)
  • language: iso taalcode
  • type: klasse van de body (Text, Dataset…)
  • value: waarde (tekst, json …)
  • format: bv. "text/plain" of "application/json"
  • selector: onderdeel waarop de annotatie betrekking heeft, uitgedrukt volgens de media-fragments standaard. Omdat er wordt gewerkt met verschillende versies van één bestand, worden de parameters (xywh) als percentage genoteerd.
  • confidence_level
target identifier van verrijkte object
  • type: Image of Video

Ingest

Een ingestflow via de API van meemoo werd ontwikkeld en uitgetest. VAi schreef zich tijdens het project in voor het digitale instroomtraject van meemoo, maar de ingest van gereproduceerde dia’s in het meemoo archiefsysteem was nog niet voldoende gevorderd.  De beelden werden daarom met objectmetadata via harde schijf aangeleverd bij Datable.

Case herkenning van persoonlijke en privacygevoelige beelden

Onder persoonlijke en privacygevoelige beelden verstaan we:

  • Hooggevoelige beelden: Beelden met naakt, of herkenbare personen in zwem-/badkledij
  • Beelden die stammen uit de familiale sfeer of privé-sfeer
    • familiefeestjes of feestjes thuis
    • foto’s van familieleden op reis, zonder referentie naar architectuur, waarbij het familielid en niet de omgeving centraal staat
    • foto’s van vrienden in een privé-context
  • Beelden met nummerplaten

Voor deze case gingen we aanvankelijk uit van een flow met een face detection tool, geleverd door Google Vision, die uitgetest werd tijdens het vooronderzoek in fase I. Tijdens het gebruik van de flow in fase II bleek dit veel valse positieven op te leveren: De meeste beelden met gezichten waren helemaal niet privacygevoelig of persoonlijk. Toch kon het aantal te controleren dia’s al gevoelig worden teruggebracht: Van de 35.564 dia’s werden er 2386 beelden herkend met gezichten op het beeld. (7%)

We zetten daarom een nieuw werkproces op op basis van de resultaten van de objectherkenning (zie onder). Objectherkenning herkent personen op een beeld (tag ‘person’). Dit leverde 4689 hits op. Goede resultaten om hooggevoelige beelden te identificeren kregen we door beelden te filteren op tags uit de objectherkenningsflow die kunnen wijzen op hooggevoelige beelden, zoals ‘People in nature’, ‘Shorts’, ‘Swimwear’ enz. Uit alle tags die de objectherkenning opleverde werden uiteindelijk 44 tags geselecteerd die kunnen wijzen op een verhoogd risico. 172 beelden hadden deze tags, waarvan een groot deel inderdaad hooggevoelig was.

Nummerplaten konden worden herkend dankzij de tag ‘vehicle registration plate’ die eveneens voortkwam uit de objectherkenning. Op 413 beelden werden nummerplaten herkend. Het VAi vroeg bij de Gegevensbeschermingsautoriteit na of de nummerplaten voor publicatie geblurred moesten worden. Hoewel de autoriteit blurring aanraadde, was dit niet noodzakelijk vanwege de ouderdom van de beelden.

Dit leverde alles bij elkaar deze flow op om privacygevoelige beelden te herkennen:

  • Hooggevoelige beelden controleren ahv de risicovolle tags (hoog risico)
  • Beelden controleren op materiaal uit de privé-sfeer aan de hand van:
    • beelden uit dialaders waarvan uit de beschrijving blijkt dat er foto’s zijn die in de privé-sfeer vallen (hoog risico)
    • beelden met herkende gezichten (gemiddeld risico)
    • beelden met herkende personen, maar zonder herkende gezichten (laag risico)

Automatische beeldherkenning kan de archivaris dus ondersteunen bij de controle op privacygevoelige en persoonlijke beelden. Om te controleren op beelden uit de privé-sfeer bleek het toch nog nodig om door ca. 14 % van de beelden te gaan. Een model trainen om automatisch beelden met familiefeesten en dergelijke te herkennen kan een mogelijkheid zijn om dit in de toekomst te vereenvoudigen.

Case scheiden van fotomateriaal en gedigitaliseerde documenten (documenttypes)

Voor deze flow trainde Datable een model in het platform Clarifai. Het VAi leverde beeldmateriaal om het model te trainen. Op basis van de dia’s werden vijf categorieën onderscheiden:

  • kleurenfoto
  • zwart-witfoto
  • tekstdocument
  • bouwtekening
  • tekening

Vooronderzoek

Tijdens het vooronderzoek gingen we ervan uit dat een beeld slechts één categorie toegewezen kon krijgen. Tijdens de uitvoering veranderden we deze aanpak. Veel dia’s bevatten bv. pagina’s uit architectuurpublicaties met zowel tekst als afdrukken van bouwtekeningen. We kozen daarom voor een labeling benadering, waarbij één beeld meerdere categorieën kan krijgen.

Voor de uitvoering kozen we voor het Clarifai platform, omdat dit een meer interactieve en gebruiksvriendelijke interface biedt voor het trainen en toetsen van een custom model. De service van Google Vertex is vergelijkbaar qua performantie, maar heeft een meer complexe architectuur. Bovendien is het deployment van het model (d.w.z. het model beschikbaar houden als webservice) erg duur.

Er werd een custom model VAi_visual-classifier_model ontwikkeld op het Clarifai platform. Dit model werd getraind aan de hand van een set van 200 beelden. Na het trainen van het model werden de data beoordeeld en verfijnden we het model door het toevoegen van bijkomend beeldmateriaal. Zo werden extra samples van gedigitaliseerde dia's toegevoegd, opdat deze ook als kleurenfoto zouden worden gelabeld.

Uitvoering

Tijdens de uitvoering werden alle gedigitaliseerde dia’s gelabeld in Clarifai. Dit leverde per beeld een JSON op met alle categorieën, vergezeld door een confidenceLevel.

We gebruikten vervolgens het confidenceLevel van Clarifai om tresholds vast te leggen. De categorie werd slechts toegekend vanaf een bepaald confidenceLevel. Die treshold verschilt per categorie.

De tresholds legden we vast door alle beelden met categorieën en confidenceLevels in te laden in Label Studio. De beelden werden vervolgens op confidenceLevel gesorteerd. Door te scrollen kon worden vastgesteld vanaf welk confidenceLevel het aantal foute toekenningen buitenproportioneel toenam.

Tabel met het resultaat:

Term Treshold relevantie Aantal gevonden beelden uit 35.564 beelden
1 - tekening > 0.15 1501
2 - bouwtekening > 0.01 1854
3 - tekstdocument > 0.5 105
4 - Foto kleur > 0.01 33171
5 - Foto zwart/wit > 0.7 730

De tresholds legden we vast in Knime. Bij export van metadata naar een importformaat over het ABS, weerhoudt Knime enkel de categorieën met een voldoende hoog confidenceLevel.

Case taggen van architectuurtypologieën (objectherkenning)

Voor deze case hebben we tijdens vooronderzoek en uitvoering de oorspronkelijke doelstelling herbekeken. Datable raadde het trainen van een eigen model om architectuurtypologieën uit te werken af. Dit zou pionierend werk zijn dat enorm veel resources zou kosten. We besloten uiteindelijk om een flow uit te werken op basis van de Google Vision API die objecten op een beeld kan herkennen.

In het vooronderzoek bekeken we welke tools het meest geschikt waren en hoe de objectherkenning op een adequate manier kon gebeuren. Veel termen waren niet relevant voor gebruik binnen het VAi. We besloten om te werken met een flow waarbij we niet relevante termen konden aanduiden.

In fase II:

  • werd de objectherkenning toegepast op alle beelden
  • gingen drie personen door alle termen waarna een finale lijst werd opgesteld van bruikbare en niet-bruikbare termen
  • reconcilieerden we alle termen met Wikidata
  • laadden we alle termen (zowel bruikbaar als niet-bruikbaar) op in het ABS. Vanaf dat moment kreeg iedere term een ABS id. Datable kreeg dit id terug om importformaten te generen voor de upload van AI-data in het ABS.
  • werden alle termen vertaald naar het Nederlands

Merk op dat we geen kwaliteitscontrole uitvoerden. Dit gaat in tegen de opzet van het project waarbij we de automatische beeldherkenning vooral willen gebruiken om verwerkingstijden terug te dringen. De objectherkenning wordt dus aangeboden AS IS. Om verwarring met door de mens toegekende trefwoorden te vermijden, maken we een aparte trefwoordenlijst voor de AI-tags. Hetzelfde geldt voor de labels die voortkwamen uit de documenttype flow.

Elke respons van de Google Vision API gaf volgende velden:

  • mid: tag identifier uit de Google Knowledge Graph Search API
  • description: tag als string
  • score: betrouwbaarheidsscore
  • topicality: relevantie van de tag (bv. ‘tower’ is relevanter bij een foto van de Eiffeltoren, dan wanneer er een toren op de achtergrond te zien is.)
  • boundingPoly: coördinaten (enkel voor localizedObjectAnnotations)

Voorbeeld:

 {
  "responses" : [ {
    "labelAnnotations" : [ {
      "mid" : "/m/05s2s",
      "description" : "Plant",
      "score" : 0.9210817,
      "topicality" : 0.9210817
    },
    {
      "mid" : "/m/03d49p1",
      "description" : "Monochrome photography",
      "score" : 0.7494492,
      "topicality" : 0.7494492
    }],
    "localizedObjectAnnotations" : [ {
      "mid" : "/m/0cgh4",
      "name" : "Building",
      "score" : 0.5559456,
      "boundingPoly" : {
        "normalizedVertices" : [ {
          "x" : 0.1735361,
          "y" : 0.0550867
        }, {
          "x" : 0.73457795,
          "y" : 0.0550867
        }, {
          "x" : 0.73457795,
          "y" : 0.6138385
        }, {
          "x" : 0.1735361,
          "y" : 0.6138385
        } ]
      }
    } ]
  } ]
 }

Tabel met cijfergegevens over het aantal herkende objecten:

Aantal verwerkte beelden Aantal annotaties Aantal verschillende annotaties Gemiddeld aantal annotaties per beeld
36731 454991 1674 12

Inladen van beelden in archiefbeheersysteem en collectiewebsite

Een doelstelling van het project was de publicatie van de dia’s op de collectiewebsite (collectie.vai.be). De content van de collectiewebsite wordt automatisch aangevuld vanuit het archiefbeheersysteem (ABS) van het VAi.

Om deze doelstelling te behalen moesten we:

  1. Een flow ontwikkelen om beelden en hun AI-metadata in het ABS te importeren
  2. Functionaliteiten aan de website toevoegen om beelden alsook hun metadata weer te geven en doorzoekbaar te maken
  3. De API-connectie tussen het ABS en de collectiewebsite aanpassen

Beelden in het ABS

Beelden krijgen in het ABS hun eigen beschrijving en worden vervolgens gekoppeld aan de beschrijving van de dialader. De metadatavelden voor beelden bestaan vooral uit essentiële beheersmetadata en koppelingen met de AI-trefwoorden. Het is niet de bedoeling dat beelden inhoudelijk worden beschreven door medewerkers. Er zijn dan ook nauwelijks inhoudelijke metadatavelden beschikbaar.

In het ABS is er een strikt onderscheid tussen metadata die door mensen zijn toegevoegd en metadata die door AI zijn toegevoegd. De trefwoorden die voortkomen uit de twee AI-tools (Clarifai en Google Vision) worden opgelijst in twee aparte trefwoordlijsten per tool. Iedere term heeft een koppeling met het AAT- en Wikidata-equivalent.

AI-trefwoorden worden aan beelden toegevoegd via twee relaties, die enkel dienen voor AI-toepassingen (Relaties: 'AI-document type' en 'AI object labels')

Opslag van AI-trefwoorden bij beelden in het ABS van het VAi.
Opslag van AI-trefwoorden bij beelden in het ABS van het VAi.

Upload van beelden in het ABS

Het VAi zorgde zelf voor de nodige configuraties in het archiefbeheersysteem om beelden te kunnen toevoegen en koppelen aan archiefbeschrijvingen.

Op het ABS draait een API waarmee het VAi records in bulk kan toevoegen en updaten. De API ondersteunt echter geen upload van beelden. De leverancier van het ABS ontwikkelde daarom voor het VAi een aparte uploadtool, waarbij beelden via FTP worden opgeladen naar een uploadserver.

JSONs

Elk beeld krijgt een sidecar JSON-bestand mee met de metadata. Dit JSON-bestand is zoveel mogelijk opgesteld volgens de richtlijnen van de Qi-API, zodat de nood aan nieuwe documentatie tot een minimum kan worden beperkt. In samenspraak met Datable en de leverancier van het ABS besloten we om te werken met één JSON per beeld i.p.v. een upload CSV. De annotaties waren immers te complex om op te laden met CSV.

Logica om de JSON-bestanden te produceren werd door Datable geprogrammeerd in het KNIME-platform. JSON-bestanden en beelden worden aan elkaar gekoppeld via de bestandsnaam.

Voorbeeld (deze JSON komt overeen met het record van het screenshot boven):

 {
    "node_id": 1,
    "record": {
        "name": "0012-FDG_0095_001_img-004_M",
        "thesaurus_media_type_id": 1,
        "thesaurus_image_status_id": 2,
        "publication_online": 1,
        "archive_id": "BE/653717/0012-FDG/0095",
        "top_archive_id": "BE/653717/0012-FDG",
        "privacy_sensitive": 0,
        "copyright_type_id": "1",
        "privacy_reviewer": "Frits Vandenweghe"
    },
    "relationships": {
        "206": [
            {
                "target_id": "126",
                "tagging_tool": "Google Vision",
                "tagging_date_iso": "2022-04-20T17:07:17.318",
                "tagging_tool_output": "{ \"type\" : \"Dataset\", \"value\" : { \"mid\" : \"/m/079cl\", \"description\" : \"Skyscraper\", \"score\" : 0.9409289, \"topicality\" : 0.9409289 }, \"format\" : \"application/json\"}",
                "tagging_confidence_level": 0.9409289
            },
            {
                "target_id": "15",
                "tagging_tool": "Google Vision",
                "tagging_date_iso": "2022-04-20T17:07:17.318",
                "tagging_tool_output": "{ \"type\" : \"Dataset\", \"value\" : { \"mid\" : \"/m/0jjw\", \"description\" : \"Art\", \"score\" : 0.79649043, \"topicality\" : 0.79649043 }, \"format\" : \"application/json\"}",
                "tagging_confidence_level": 0.79649043
            },
            {
                "target_id": "18",
                "tagging_tool": "Google Vision",
                "tagging_date_iso": "2022-04-20T17:07:17.318",
                "tagging_tool_output": "{ \"type\" : \"Dataset\", \"value\" : { \"mid\" : \"/m/0d9wj\", \"description\" : \"Urban design\", \"score\" : 0.84110934, \"topicality\" : 0.84110934 }, \"format\" : \"application/json\"}",
                "tagging_confidence_level": 0.84110934
            },
            {
                "target_id": "2",
                "tagging_tool": "Google Vision",
                "tagging_date_iso": "2022-04-20T17:07:17.318",
                "tagging_tool_output": "{ \"type\" : \"Dataset\", \"value\" : { \"mid\" : \"/m/0cgh4\", \"description\" : \"Building\", \"score\" : 0.95744216, \"topicality\" : 0.95744216 }, \"format\" : \"application/json\"}",
                "tagging_confidence_level": 0.95744216
            },
            {
                "target_id": "2",
                "tagging_tool": "Google Vision",
                "tagging_date_iso": "2022-04-20T17:18:30.554",
                "tagging_tool_output": "{ \"type\" : \"Dataset\", \"value\" : { \"mid\" : \"/m/0cgh4\", \"name\" : \"Building\", \"score\" : 0.6037788, \"boundingPoly\" : { \"normalizedVertices\" : [ { \"x\" : 0.0022734946, \"y\" : 0.725938 }, { \"x\" : 0.095746584, \"y\" : 0.725938 }, { \"x\" : 0.095746584, \"y\" : 0.966805 }, { \"x\" : 0.0022734946, \"y\" : 0.966805 } ] } }, \"format\" : \"application/json\"}",
                "tagging_confidence_level": 0.6037788
            },
            {
                "target_id": "2",
                "tagging_tool": "Google Vision",
                "tagging_date_iso": "2022-04-20T17:18:30.554",
                "tagging_tool_output": "{ \"type\" : \"Dataset\", \"value\" : { \"mid\" : \"/m/0cgh4\", \"name\" : \"Building\", \"score\" : 0.8385025, \"boundingPoly\" : { \"normalizedVertices\" : [ { \"x\" : 0.52538866, \"y\" : 0.5613726 }, { \"x\" : 0.6565514, \"y\" : 0.5613726 }, { \"x\" : 0.6565514, \"y\" : 0.7654884 }, { \"x\" : 0.52538866, \"y\" : 0.7654884 } ] } }, \"format\" : \"application/json\"}",
                "tagging_confidence_level": 0.8385025
            },
            {
                "target_id": "256",
                "tagging_tool": "Google Vision",
                "tagging_date_iso": "2022-04-20T17:07:17.318",
                "tagging_tool_output": "{ \"type\" : \"Dataset\", \"value\" : { \"mid\" : \"/m/034z7h\", \"description\" : \"Cityscape\", \"score\" : 0.7795051, \"topicality\" : 0.7795051 }, \"format\" : \"application/json\"}",
                "tagging_confidence_level": 0.7795051
            },
            {
                "target_id": "41",
                "tagging_tool": "Google Vision",
                "tagging_date_iso": "2022-04-20T17:07:17.318",
                "tagging_tool_output": "{ \"type\" : \"Dataset\", \"value\" : { \"mid\" : \"/m/025s3q0\", \"description\" : \"Landscape\", \"score\" : 0.77541226, \"topicality\" : 0.77541226 }, \"format\" : \"application/json\"}",
                "tagging_confidence_level": 0.77541226
            },
            {
                "target_id": "51",
                "tagging_tool": "Google Vision",
                "tagging_date_iso": "2022-04-20T17:07:17.318",
                "tagging_tool_output": "{ \"type\" : \"Dataset\", \"value\" : { \"mid\" : \"/m/09nm_\", \"description\" : \"World\", \"score\" : 0.8994821, \"topicality\" : 0.8994821 }, \"format\" : \"application/json\"}",
                "tagging_confidence_level": 0.8994821
            },
            {
                "target_id": "74",
                "tagging_tool": "Google Vision",
                "tagging_date_iso": "2022-04-20T17:07:17.318",
                "tagging_tool_output": "{ \"type\" : \"Dataset\", \"value\" : { \"mid\" : \"/m/01g6gs\", \"description\" : \"Black-and-white\", \"score\" : 0.82547975, \"topicality\" : 0.82547975 }, \"format\" : \"application/json\"}",
                "tagging_confidence_level": 0.82547975
            },
            {
                "target_id": "75",
                "tagging_tool": "Google Vision",
                "tagging_date_iso": "2022-04-20T17:07:17.318",
                "tagging_tool_output": "{ \"type\" : \"Dataset\", \"value\" : { \"mid\" : \"/m/0vlys\", \"description\" : \"Tower block\", \"score\" : 0.85104156, \"topicality\" : 0.85104156 }, \"format\" : \"application/json\"}",
                "tagging_confidence_level": 0.85104156
            }
        ],
        "207": [
            {
                "target_id": "2",
                "tagging_tool": "Clarifai",
                "tagging_date_iso": "2022-06-28T15:04:38.9",
                "tagging_tool_output": "{ \"type\" : \"Dataset\", \"value\" : [ { \"id\" : \"bouwtekening\", \"name\" : \"bouwtekening\", \"value\" : 0.43696153, \"app_id\" : \"VAi_types\" }, { \"id\" : \"foto_zw\", \"name\" : \"foto_zw\", \"value\" : 0.1595397, \"app_id\" : \"VAi_types\" }, { \"id\" : \"tekening\", \"name\" : \"tekening\", \"value\" : 0.020345688, \"app_id\" : \"VAi_types\" }, { \"id\" : \"tekstdocument\", \"name\" : \"tekstdocument\", \"value\" : 0.000104114915, \"app_id\" : \"VAi_types\" }, { \"id\" : \"foto_kleur\", \"name\" : \"foto_kleur\", \"value\" : 0.00006478306, \"app_id\" : \"VAi_types\" } ], \"format\" : \"application/json\"}",
                "tagging_confidence_level": 0.43696153
            }
        ]
    }
 }

Uitleg bij enkele relevante velden:

Veld Toelichting
name Beeldcode die door het VAi wordt gebruikt voor het beeld
thesaurus_media_type_id Type media. '1' verwijst naar de term 'image'
archive_id inventarisnummer van de dialader waar het beeld uit voortkomt
top_archive_id inventarisnummer van het archief, in dit geval het archief van Frans De Groodt
privacy_sensitive Aanduiding of een beeld privacygevoelig is. '0' betekent niet privacygevoelig. Deze waarde komt uit Knime.
copyright_type_id Aanduiding van de copyright status. "1" staat voor 'In Copyright'
privacy_reviewer Naam van de laatste persoon die de privacy-aanduiding heeft gewijzigd
relationships.206 206 is het id van de relatie 'AI object labels'. Per label is er één object
relationships.207 207 is het id van de relatie 'AI document type'. Per documenttype is er één object
target_id Alle labels en documenttypes zijn in het ABS opgeslagen als aparte trefwoordlijsten. Het target_id bevat het id van een term in de lijst.

Bv. bij de relatie 'AI object labels' verwijst id 126 naar de term 'wolkenkrabber'.

andere Per term wordt opgeslagen:
  • tagging tool: de tool die de annotatie heeft gemaakt
  • tagging_date_iso: de datum waarop de annotatie is gebeurd
  • tagging_tool_output: de rauwe output van de tool in JSON. Zo bewaren we bv. ook informatie als de 'topicality'
  • tagging_confidence_level: de confidence score van de annotatie

Ontwikkeling van website

De website werd ontwikkeld binnen een bredere herziening van de collectiewebsite van het VAi. Dit gebeurde in samenwerking met webontwikkelaar Entity One. Binnen het project besloten we om proefredenen de objectherkenningen mee te publiceren. Bij de AI-tags is een pagina voorzien waarop websitebezoekers meer uitleg krijgen over de herkomst van de trefwoorden.

De website is raadpleegbaar op archiefhub.vai.be.

Zoeken naar beelden via object labels
Zoeken naar beelden via object labels

IIIF

Het VAi wil op lange termijn overgaan naar ontsluiting van de digitale collectie via IIIF. Onderzoek naar hoe de dia’s en hun AI-gecreëerde metadata konden worden ontsloten was daarom een doelstelling van het project.

Opzet en vooronderzoek (fase I)

Samen met Datable werd een manifeststructuur uitgewerkt voor de weergave van de diacollecties en hun AI-metadata in een IIIF-viewer. Een basislogica in Knime is geïmplementeerd om IIIF-manifests te genereren.

Opzet

Het IIIF manifest diende gegevens te bevatten over:

  • het beeld
  • de collectie waarvan het beeld deel uitmaakt
  • de toegekende metadata (d.w.z. afkomstig van een beeldherkenning-, validatie of crowdsourcingstool)

Voor de implementatie is gekozen voor IIIF specificatie v3.0. Deze werd tijdens het project nog niet ondersteund door bestaande open viewers of hosting services, maar de keuze was meer geschikt voor ons project omdat:

  • het de recentere versie is
  • v3.0 verder bouwt op de W3C Annotation standaard, die generieker is dan annotatiemethodes in eerdere versies van IIIF.

Uitwerking van het IIIF manifest profiel

Uitgangspunten:

  • Eén manifest per beeld. Dit manifest bevat de annotations. (Een andere keuze zou kunnen zijn om annotaties te scheiden van de manifests en er vanuit de annotaties naar te verwijzen)
  • Manifests en collections worden gescheiden. Zo kan het VAi later flexibel meerdere collecties samenstellen van gedigitaliseerde dia’s.

Implementatie (fase II)

Het VAi heeft momenteel geen beschikking over IIIF-infrastructuur om de manifests ook uit te testen. Het VAi hoopt dit op termijn te kunnen doen i.s.m. meemoo, dat een IIIF-infrastructuur uitbouwt. In plaats van echte URLs voor beelden werd er daarom gewerkt met dummy-urls.

IIIF manifests en collection manifests worden gecreëerd aan de hand van een Knime workflow (ADVNVAi_IIIF).

Template voor IIIF-manifest (met voorbeeld annotaties):

 {
  "@context": "http://iiif.io/api/presentation/3/context.json",
  "id": "$MANIFEST-ID",
  "type": "Manifest",
  "label": {
    "nl": [
      "$IMAGE_FILENAME"
    ]
  },
  "provider":[
    {"id": "$HOMEPAGE"},
    {"type": "Agent"},
    {"label": "$NAAM_ORGANISATIE"}
 ],
  "items": [
    {
      "id": "$CANVAS_ID",
      "type": "Canvas",
      "height": "$HEIGHT",
      "width": "$WIDTH",
      "items": [
        {
          "id": "$ANNOTATIONS_PAGE_ID",
          "type": "AnnotationPage",
          "items": [
            {
              "id": "$ANNOTATION_ID",
              "type": "Annotation",
              "motivation": "painting",
              "body": {
                "id": "$IMAGE_URL",
                "type": "Image",
                "format": "image/jpeg",
                "height": "$HEIGHT",
                "width": "$WIDTH"
              },
              "target": "$CANVAS_ID"
            }
          ]
        }
      ]
    }
  ],
  "annotations": [
        {
          "id": "$ANNOTATION_ID",
          "type": "AnnotationPage",
          "items": [
            {
              "@context": "http://iiif.io/api/presentation/3/context.json",
              "id": "https://example.org/iiif/image-1/annotation/01-image",
              "creator": {
                "id": "https://cloud.google.com/vision/",
                "type": "Software",
                "name": "Google Vision"
              },
              "created": "$DATE",
              "type": "Annotation",
              "motivation": "describing",
              "body": [
                {
                  "type": "TextualBody",
                  "language": "en",
                  "value": "Office building",
                  "purpose": "tagging",
                  "selector": {
                    "type": "FragmentSelector",
                    "conformsTo": "http://www.w3.org/TR/media-frags/",
                    "value": "xywh=percent:25,25,50,50"
                  }
                },
                {
                  "type": "TextualBody",
                  "language": "en",
                  "value": "Photo",
                  "purpose": "classifying"
                },
                {
                  "type": "SpecificResource",
                  "source": "http://vocab.getty.edu/aat/300046300",
                  "purpose": "classifying"
                }
              ],
              "target": "https://example.org/iiif/image-1/manifest"
            }
          ]
        }
      ]
 }

Voorbeeld van een IIIF-collection:

 {
  "@context" : "http://iiif.io/api/presentation/3/context.json",
  "id" : "http://vai.be//collections/CK",
  "type" : "Collection",
  "label" : {
    "nl" : "Collectie Christian Kieckens"
  },
  "requiredStatement" : {
    "label" : {
      "en" : [ "Attribution" ]
    },
    "value" : {
      "en" : "Provided by Vlaams Architectuurinstituut"
    }
  },
  "items" : [ {
    "id" : "http://vai.be/0099-CK_0200_001_img-001_B/manifest.json",
    "type" : "Manifest",
    "label" : {
      "en" : "0099-CK_0200_001_img-001_B"
    }
  }, {
    "id" : "http://vai.be/0099-CK_0200_001_img-002_B/manifest.json",
    "type" : "Manifest",
    "label" : {
      "en" : "0099-CK_0200_001_img-002_B"
 }]
 }