Publicatie:Digitalisering en automatische beeldherkenning voor de diacollecties van het Vlaams Architectuurinstituut
Een gevalstudie over de digitalisering van diacollecties en daaropvolgend gebruik van AI-tools om de dia's te verwerken en toegankelijk te maken.
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:
- 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)
- Basisregistratie dia’s ter voorbereiding op digitalisering: Registratie van dialaders, condition assessment, registratie van gekende auteursrechten.
- Onderzoek kwaliteitscontrole: Onderzoek naar hoe we de opnamekwaliteit kunnen controleren zodat we constante kwaliteit kunnen garanderen.
- Uitvoering digitalisering: Opstellen van lastenboek, selectie van leverancier, proefperiode, uitvoering digitalisering en kwaliteitscontrole
- 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:
- 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.
- Evaluatie automatische beeldherkenning: Gebruikers (architecten, historici en erfgoedmedewerkers) worden bevraagd naar de meerwaarde van de ontwikkelde beeldherkenningsflows
- Online publicatie van de dia’s: Ontsluiting van gedigitaliseerde dia’s + trefwoorden van automatische beeldherkenning op archiefhub.vai.be
- Onderzoek ontsluiting via IIIF: Ontwikkeling van een IIIF-manifest voor de publicatie van de dia’s, verrijkt met trefwoorden uit de automatische beeldherkenning.
- Communicatie en kennisdeling
Digitalisering
Voor de doelstellingen van het project was de digitalisering van de dia's een cruciale stap. De digitalisering bestond uit:
- Onderzoek naar digitaliseringsmethodieken
- Basisregistratie dia's ter voorbereiding van digitalisering
- Uitvoering van de digitalisering en kwaliteitscontrole
- Andere kwaliteitscontroles
Onderzoek naar digitaliseringsmethodieken
We onderzochten volgende methodieken:
- dia’s digitaliseren op hoge kwaliteit met drum-scanning
- individuele dia’s digitaliseren op hoge kwaliteit met flatbed scanning
- individuele dia’s digitaliseren op hoge kwaliteit fotograferen met een middenformaatcamera
- 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 | 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:
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.
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.
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:
- De diacollecties kunnen persoonlijk tot privacygevoelig materiaal bevatten. Het VAi wilde met behulp van AI dit materiaal sneller identificeren.
- 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.
- 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
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.
|
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):
|
target | identifier van verrijkte object
|
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:
- Een flow ontwikkelen om beelden en hun AI-metadata in het ABS te importeren
- Functionaliteiten aan de website toevoegen om beelden alsook hun metadata weer te geven en doorzoekbaar te maken
- 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')
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:
|
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.
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"
}]
}