Our design approach for the requirements in our ontology is based on the Linked Open Terms (LOT) methodology. Due to the already existing ontologies for describing fiducial markers in medical sciences, we decided to focus on fiducial markers used within the domain of augmented reality, primarily for position and orientation estimation (commonly defined as a pose). We started by doing an analysis of the different types of markers that exist for different applications within the domain of computer vision. Next, using this set of different markers with their own use-cases for different scenarios and environmental conditions, we have listed a set of use cases, design goals and required data for each type of marker.
Based on the marker analysis and their data, we determined the common attributes and properties of each marker. Two of the main common properties of each marker is the inclusion of an identifier and its ability to be used to determine a pose. Depending on the type of encoding and error correction, these markers use a dictionary that contains a set of possible identifiers that can be encoded within the marker. Image sensors that scan for these markers should know which dictionary is used.
For the terminologies used for these properties we relied on common terms used within academic research as well as standardisation's of fiducials and their intrinsic properties for various domains. We also investigated frameworks and libraries that scan for markers and the variable names that were used for expressing the data.
Our ontology uses the OWL 2 DL grammar. In total our ontology adds more than 55 classes, 30 data and object properties and more than 30 individuals for existing fiducial markers and dictionaries.
IRI: http://purl.org/fidmark/Barcode1D
IRI: http://purl.org/fidmark/Barcode2D
IRI: http://purl.org/fidmark/ActiveMarker
A marker that uses visible light communication in order to transmit data.
IRI: http://purl.org/fidmark/AP3PPoseComputation
IRI: http://purl.org/fidmark/AprilTag
IRI: http://purl.org/fidmark/ARTag
IRI: http://purl.org/fidmark/ARToolKit
IRI: http://purl.org/fidmark/ArUco
IRI: http://purl.org/fidmark/ARPlatform
IRI: http://purl.org/fidmark/Barcode
IRI: http://purl.org/fidmark/BinaryID
IRI: http://purl.org/fidmark/BullsEye
IRI: http://purl.org/fidmark/CALTag
IRI: http://purl.org/fidmark/CCTag
IRI: http://purl.org/fidmark/Chilitags
IRI: http://purl.org/fidmark/ChromaTag
IRI: http://purl.org/fidmark/CircularBarcode
IRI: http://purl.org/fidmark/CCC
IRI: http://purl.org/fidmark/Cybercode
IRI: http://purl.org/fidmark/EPnPPoseComputation
IRI: http://purl.org/fidmark/FiducialMarker
IRI: http://purl.org/fidmark/FourierTag
IRI: http://purl.org/fidmark/ImageDescriptor
IRI: http://purl.org/fidmark/IPPEPoseComputation
IRI: http://purl.org/fidmark/InterSense
IRI: http://purl.org/fidmark/MarkerPoseEstimation
IRI: http://purl.org/fidmark/MarkerDetection
IRI: http://purl.org/fidmark/MarkerDictionary
IRI: http://purl.org/fidmark/MarkerDictionaryCode
IRI: http://purl.org/fidmark/MarkerOrigin
IRI: http://purl.org/fidmark/MarkerlessPoseEstimation
IRI: http://purl.org/fidmark/MaxiCode
IRI: http://purl.org/fidmark/MultiRing
IRI: http://purl.org/fidmark/PassiveMarker
A printed marker is a passive marker.
IRI: http://purl.org/fidmark/PnPPoseComputation
IRI: http://purl.org/fidmark/P3PPoseComputation
IRI: http://purl.org/fidmark/PiTag
IRI: http://purl.org/fidmark/PoseOutput
IRI: http://purl.org/fidmark/QRCode
IRI: http://purl.org/fidmark/reacTIVision
IRI: http://purl.org/fidmark/RuneTag
IRI: http://purl.org/fidmark/TopoTag
IRI: http://purl.org/fidmark/VisualCode
IRI: http://purl.org/fidmark/WhyCon
IRI: http://purl.org/fidmark/WhyCode
IRI: http://purl.org/fidmark/code
IRI: http://purl.org/fidmark/codes
IRI: http://purl.org/fidmark/hasImageDesciptor
has characteristics: functional, inverse functional
IRI: http://purl.org/fidmark/hasMarker
IRI: http://purl.org/fidmark/hasDictionary
IRI: http://purl.org/fidmark/hasHeight
IRI: http://purl.org/fidmark/hasWidth
IRI: http://purl.org/fidmark/hasOrigin
IRI: http://purl.org/fidmark/isImageDescriptorOf
has characteristics: functional, inverse functional
IRI: http://purl.org/fidmark/partOf
A fiducial marker can be part of a larger fiducial marker.
IRI: http://purl.org/fidmark/asImage
IRI: http://purl.org/fidmark/asNFT
IRI: http://purl.org/fidmark/asPATT
IRI: http://purl.org/fidmark/asZFT
IRI: http://purl.org/fidmark/dictionarySize
IRI: http://purl.org/fidmark/hammingDistance
In a 16h5 dictionary, the first number indicates the amount of bits that can be encoded, the second number the minimum hamming distance.
IRI: http://purl.org/fidmark/markerBits
In a 16h5 dictionary, the first number indicates the amount of bits that can be encoded, the second number the minimum hamming distance.
IRI: http://purl.org/fidmark/markerCode
IRI: http://purl.org/fidmark/markerData
IRI: http://purl.org/fidmark/markerIdentifier
IRI: http://purl.org/fidmark/maxIdentifiers
IRI: http://purl.org/fidmark/crowns
IRI: http://purl.org/fidmark/version
IRI: http://purl.org/fidmark/DICT_APRILTAG_16h5
IRI: http://purl.org/fidmark/DICT_APRILTAG_25h9
IRI: http://purl.org/fidmark/DICT_APRILTAG_36h10
IRI: http://purl.org/fidmark/DICT_APRILTAG_36h11
IRI: http://purl.org/fidmark/DICT_ARTAG
IRI: http://purl.org/fidmark/DICT_4X4_100
IRI: http://purl.org/fidmark/DICT_4X4_1000
IRI: http://purl.org/fidmark/DICT_4X4_250
IRI: http://purl.org/fidmark/DICT_4X4_50
IRI: http://purl.org/fidmark/DICT_5X5_100
IRI: http://purl.org/fidmark/DICT_5X5_1000
IRI: http://purl.org/fidmark/DICT_5X5_250
IRI: http://purl.org/fidmark/DICT_5X5_50
IRI: http://purl.org/fidmark/DICT_6X6_100
IRI: http://purl.org/fidmark/DICT_6X6_1000
IRI: http://purl.org/fidmark/DICT_6X6_250
IRI: http://purl.org/fidmark/DICT_6X6_50
IRI: http://purl.org/fidmark/DICT_7X7_100
IRI: http://purl.org/fidmark/DICT_7X7_1000
IRI: http://purl.org/fidmark/DICT_7X7_250
IRI: http://purl.org/fidmark/DICT_7X7_50
IRI: http://purl.org/fidmark/DICT_ARUCO_MIP_16h3
IRI: http://purl.org/fidmark/DICT_ARUCO_MIP_25h7
IRI: http://purl.org/fidmark/DICT_ARUCO_MIP_36h12
IRI: http://purl.org/fidmark/DICT_ARUCO_ORIGINAL
IRI: http://purl.org/fidmark/OriginBottomLeft
IRI: http://purl.org/fidmark/OriginBottomRight
IRI: http://purl.org/fidmark/OriginCenter
IRI: http://purl.org/fidmark/DICT_CHILLITAGS
IRI: http://purl.org/fidmark/DICT_MIP_16h3
IRI: http://purl.org/fidmark/DICT_MIP_25h7
IRI: http://purl.org/fidmark/DICT_MIP_36h12
IRI: http://purl.org/fidmark/DICT_REACTIVISION_AMOEBA
IRI: http://purl.org/fidmark/DICT_REACTIVISION_YAMAARASHI
IRI: http://purl.org/fidmark/OriginTopLeft
IRI: http://purl.org/fidmark/OriginTopRight
IRI: http://purl.org/fidmark/DICT_TOPOTAG_3X3
IRI: http://purl.org/fidmark/DICT_TOPOTAG_4X4
IRI: http://purl.org/fidmark/DICT_TOPOTAG_5X5
The authors would like to thank Silvio Peroni for developing LODE, a Live OWL Documentation Environment, which is used for representing the Cross Referencing Section of this document and Daniel Garijo for developing Widoco, the program used to create the template used in this documentation.