Ontology proposal: Image regions

What for

Currently we don't have a way to describe a link between certain parts of an image, and another concept. We have at best nie:relatedTo, which is very generic. Associating a concept would be useful in several situations :

  • Alice takes a photo of Bob. The camera software detects a face, and pops up a list of contacts. Alice picks Bob in her list of contacts, and that association is stored in Tracker
  • Alice takes a panorama from the top of Monmartre in Paris. She then draws on the picture various frames, and adds a label to each frame: "Tour Eiffel", "Townhall"...

This concept is already present at least on Facebook and Flickr, so the miners synchronizing data with these sites could take advantage of such an ontology.

Proposed solution

I want to create a new ontology for image region. I assign for now the prefix mir to this ontology.

Proposed classes

mir:Region a rdfs:Class
    rdfs:subClassOf rdfs:Resource
    rdfs:label "Image region"
    rdfs:comment "A region in an image"

mir:Boundary a rdfs:Class
    rdfs:subClassOf rdfs:Resource
    rdfs:label "Boundary"
    rdfs:comment "A boundary for an image region"

mir:Rectangle a rdfs:Class
    rdfs:subClassOf mir:Boundary
    rdfs:label "Rectangle"
    rdfs:comment "A rectangular boundary"

mir:Polygon a rdfs:Class
    rdfs:subClassOf mir:Boudary
    rdfs:label "Polygon"
    rdfs:comment "A polygonal boundary"

mir:Circle a rdfs:Class
    rdfs:subClassOf mir:Boundary
    rdfs:label "Circle"
    rdfs:comment "A circular boundary"

mir:Point a rdfs:Class
    rdfs:subClassOf rdfs:Resource
    rdfs:label "Point"
    rdfs:comment "A point in an image"

Proposed properties

# We use rdfs:label for labelling regions, or maybe nie:title

mir:describes a rdf:Property
    rdfs:label "Describes"
    rdfs:comment "The concept described by the region"
    rdfs:range rdfs:Resource
    rdfs:domain mir:Region

mir:boundary a rdf:Property
    rdfs:label "Boundary"
    rdfs:comment "The boundary of the region"
    rdfs:range mir:Boundary
    rdfs:domain mir:Region

mir:topLeft a rdf:Property
    rdfs:label "Top left"
    rdfs:comment "Top left corner of a rectangle"
    rdfs:range mir:Point
    rdfs:domain mir:Rectangle

mir:width a rdf:Property
    rdfs:label "Width"
    rdfs:comment "The width of a rectangle, in pixels"
    rdfs:range xsd:integer
    rdfs:domain mir:Rectangle

mir:height a rdf:Property
    rdfs:label "Height"
    rdfs:comment "The height of a rectangle, in pixels"
    rdfs:range xsd:integer
    rdfs:domain mir:Rectangle

# This is not very RDFish... But RDF lists are a pain
# Or we could make the predicate multi valued with range mir:Point, and compute the convex envelope or all the mir:Point ?
mir:points a rdf:Property
    rdfs:label "Points"
    rdfs:comment "The points of a polygon, under the form (x1,y1),(x2,y2),...,(xn,yn)"
    rdfs:range xsd:string
    rdfs:domain mir:Polygon

mir:center a rdf:Property
    rdfs:label "Center"
    rdfs:comment "The center of a circle"
    rdfs:range mir:Point
    rdfs:domain mir:Circle

mir:radius a rdf:Property
    rdfs:label "Radius"
    rdfs:comment "The radius of a circle"
    rdfs:range xsd:double
    rdfs:domain mir:Circle

mir:left a rdf:Property
    rdfs:label "Left"
    rdfs:comment "The number of pixels from the left border of the image to the point"
    rdfs:range xsd:integer
    rdfs:domain mir:Point

mir:top a rdf:Property
    rdfs:label "Top"
    rdfs:comment "The number of pixels from the top border of the image to the point"
    rdfs:range xsd:integer
    rdfs:domain mir:Point

Attic/Tracker/ImageRegions (last edited 2023-08-14 12:50:33 by CarlosGarnacho)