FLOW ALGEBRA
Visual Computing Ontology
Kireth Semantic Research Archive
PAGE:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/human-computer-interaction/visual-computing-ontology.html
AUTHORS:
Mark Anthony Higgins — Sky (Recursive AI)
FLOW "VisualComputingOntology" v4.0
# ---------- DOMAIN ----------
DOMAIN := ComputingOntology
SUBDOMAIN := HumanComputerInteraction
ONTOLOGY := VisualComputingOntology
# ---------- PRIMARY ENTITY ----------
ENTITY VisualComputing {
definition:
"The computational representation, generation, processing, analysis,
transformation and interactive presentation of visual information,
including images, graphics, video, geometric models and visual
simulations.";
objectives: [
VisualRepresentation,
ImageProcessing,
GraphicsGeneration,
VisualAnalysis,
InteractiveVisualisation,
VisualCommunication
];
}
# ---------- CORE ENTITIES ----------
VisualEntity := {
Image,
Video,
Graphic,
Scene,
GeometricModel,
Texture,
Frame,
Pixel,
Visualisation
};
VisualProcess := {
Capture,
Generate,
Render,
Transform,
Filter,
Analyse,
Display,
Interact
};
RepresentationType := {
RasterRepresentation,
VectorRepresentation,
GeometricRepresentation,
VolumetricRepresentation,
TemporalRepresentation
};
VisualProperty := {
Resolution,
Colour,
Brightness,
Contrast,
Depth,
Motion,
Shape,
Texture
};
# ---------- FUNDAMENTAL RELATIONSHIPS ----------
VisualComputing PROCESSES VisualEntity;
Image CONSISTS_OF Pixel;
Video CONSISTS_OF Frame;
Scene CONTAINS VisualObject;
GeometricModel REPRESENTS Shape;
Renderer GENERATES Image FROM Scene;
Display PRESENTS VisualOutput;
User MAY_INTERACT_WITH Visualisation;
# ---------- VISUAL PIPELINE ----------
VisualDataSource ->
AcquireOrGenerate
-> Represent
-> Process
-> AnalyseOrRender
-> Compose
-> Display
-> UserPerceptionOrInteraction;
# ---------- IMAGE ----------
Image :=
TwoDimensionalVisualRepresentation;
RasterImage :=
GridOfPixels;
Image HAS {
Width,
Height,
Resolution,
ColourRepresentation
};
# ---------- PIXEL ----------
Pixel :=
SmallestAddressableSampleInRasterImage;
Pixel MAY_HAVE {
Intensity,
ColourChannels,
Alpha,
Depth
};
# ---------- VIDEO ----------
Video :=
ordered_sequence(Frame);
Frame :=
ImageAtTime;
FrameRate :=
Frames / Time;
TemporalContinuity AFFECTS PerceivedMotion;
# ---------- VECTOR GRAPHICS ----------
VectorGraphic :=
GeometricPrimitives
+ StyleProperties;
Primitive MAY_INCLUDE {
Point,
Line,
Curve,
Polygon,
TextShape
};
VectorGraphic MAY_SCALE_WITHOUT RasterSamplingLoss;
# ---------- GEOMETRIC MODEL ----------
GeometricModel :=
RepresentationOfShapeAndSpatialStructure;
GeometricRepresentation MAY_INCLUDE {
Mesh,
PointCloud,
Curve,
Surface,
Solid
};
# ---------- MESH ----------
Mesh :=
Vertices
+ Edges
+ Faces;
Vertex HAS Position;
Face CONNECTS Vertices;
Mesh MAY_REPRESENT ThreeDimensionalSurface;
# ---------- SCENE ----------
Scene :=
CollectionOf {
Object,
Camera,
Light,
Material,
Environment
};
SceneGraph MAY_REPRESENT HierarchicalRelationshipsBetweenObjects;
# ---------- CAMERA ----------
VirtualCamera DEFINES {
Position,
Orientation,
Projection,
Viewport
};
Camera TRANSFORMS SceneCoordinates INTO ViewCoordinates;
# ---------- PROJECTION ----------
Projection MAY_BE {
PerspectiveProjection,
OrthographicProjection
};
PerspectiveProjection REPRESENTS DepthWithApparentSizeChange;
OrthographicProjection PRESERVES ParallelProjectionWithoutPerspectiveForeshortening;
# ---------- TRANSFORMATION ----------
GeometricTransformation := {
Translation,
Rotation,
Scaling,
Shear
};
Transformation MAPS GeometryFromOneCoordinateStateToAnother;
TransformationMatrix MAY_REPRESENT GeometricTransformation;
# ---------- RENDERING ----------
Rendering :=
SceneRepresentation
-> Visibility
-> Shading
-> RasterisationOrSampling
-> Image;
Renderer EXECUTES Rendering;
RenderingMethod MAY_INCLUDE {
Rasterisation,
RayTracing,
PathTracing,
VolumeRendering
};
# ---------- RASTERISATION ----------
Rasterisation :=
GeometricPrimitive
-> DetermineCoveredPixels
-> InterpolateAttributes
-> ProduceFragments
-> WriteImage;
Rasterisation SUPPORTS EfficientInteractiveGraphics;
# ---------- RAY TRACING ----------
RayTracing :=
GenerateRay
-> IntersectScene
-> EvaluateSurface
-> TraceSecondaryEffects
-> ComputePixel;
RayTracing MAY_MODEL {
Reflection,
Refraction,
Shadow
};
# ---------- LIGHTING ----------
LightSource MAY_HAVE {
Position,
Direction,
Intensity,
Colour
};
LightingModel COMPUTES InteractionBetweenLightAndSurface;
# ---------- MATERIAL ----------
Material :=
VisualSurfaceProperties;
Material MAY_DEFINE {
Colour,
Roughness,
Reflectance,
Transparency,
Texture
};
# ---------- TEXTURE ----------
Texture :=
ImageOrDataMappedToSurface;
TextureMapping ASSOCIATES TextureCoordinates WITH Geometry;
Texture MAY_MODIFY {
Colour,
SurfaceDetail,
Normal,
MaterialProperty
};
# ---------- SHADING ----------
Shading :=
ComputeAppearanceOfSurface;
Shading MAY_DEPEND_ON {
Light,
Material,
SurfaceNormal,
ViewDirection
};
# ---------- IMAGE PROCESSING ----------
ImageProcessing :=
InputImage
-> ApplyTransformationOrFilter
-> OutputImage;
ImageOperation MAY_INCLUDE {
Resize,
Crop,
Blur,
Sharpen,
Denoise,
ContrastAdjustment,
ColourTransformation
};
# ---------- FILTERING ----------
ImageFilter :=
OperationUsingPixelNeighbourhoodOrTransform;
Convolution :=
Image
+ Kernel
-> FilteredImage;
FilterKernel DEFINES WeightedNeighbourhoodOperation;
# ---------- IMAGE TRANSFORMATION ----------
ImageTransformation MAY_INCLUDE {
Translation,
Rotation,
Scaling,
PerspectiveWarp
};
Resampling MAY_BE_REQUIRED_AFTER GeometricTransformation;
# ---------- COLOUR ----------
ColourModel MAY_INCLUDE {
RGB,
Grayscale,
HSV,
CIELAB
};
ColourConversion MAPS ValuesBetweenColourRepresentations;
# ---------- CONTRAST ----------
Contrast :=
DifferenceInVisualIntensityOrColour;
ContrastAdjustment MAY_IMPROVE VisualDistinction;
VisualAccessibility MAY_DEPEND_ON SufficientContrast;
# ---------- DEPTH ----------
Depth :=
DistanceOrRelativePositionAlongViewingDimension;
DepthBuffer STORES VisibilityDepthForRasterisedFragments;
DepthInformation MAY_SUPPORT {
Occlusion,
ThreeDimensionalInteraction,
SceneUnderstanding
};
# ---------- MOTION ----------
Motion :=
ChangeInVisualPositionOrStateAcrossTime;
OpticalFlow MAY_ESTIMATE ApparentPixelMotionBetweenFrames;
Animation GENERATES ControlledTemporalChange;
# ---------- VISUALISATION ----------
Visualisation :=
Data
-> VisualEncoding
-> Display;
VisualEncoding MAY_MAP {
ValueToPosition,
ValueToLength,
ValueToSize,
ValueToColour,
CategoryToShape
};
Visualisation SUPPORTS HumanInterpretationOfData;
# ---------- SCIENTIFIC VISUALISATION ----------
ScientificVisualisation :=
ScientificData
-> SpatialOrVisualRepresentation
-> InteractiveAnalysis;
ScientificVisualisation MAY_INCLUDE {
VolumeRendering,
VectorFieldVisualisation,
SurfaceVisualisation,
SimulationVisualisation
};
# ---------- INFORMATION VISUALISATION ----------
InformationVisualisation :=
AbstractData
-> VisualEncoding
-> InteractiveDisplay;
InformationVisualisation MAY_INCLUDE {
Chart,
Graph,
NetworkDiagram,
Timeline,
Dashboard
};
# ---------- INTERACTION ----------
VisualInteraction MAY_INCLUDE {
Pan,
Zoom,
Rotate,
Select,
Filter,
Highlight,
Inspect
};
Interaction MAY_CHANGE ViewWithoutChangingUnderlyingData;
# ---------- REAL-TIME GRAPHICS ----------
RealTimeRendering :=
RenderingWithinInteractiveTimeConstraint;
FrameTime :=
TimeToGenerateOneFrame;
FrameRate :=
1 / FrameTime;
IF FrameTimeIncreases
THEN FrameRate := decrease;
# ---------- GPU RELATIONSHIP ----------
GPU MAY_ACCELERATE {
Rendering,
ImageProcessing,
Visualisation,
ParallelVisualComputation
};
GraphicsPipeline MAY_EXECUTE_ON GPU;
# ---------- COMPUTER VISION RELATIONSHIP ----------
ComputerVision ANALYSES VisualDataToInferInformation;
VisualComputing INCLUDES_OR_RELATES_TO {
ComputerGraphics,
ImageProcessing,
Visualisation,
ComputerVision
};
# ---------- HUMAN PERCEPTION ----------
VisualPerception AFFECTS InterpretationOfVisualOutput;
PerceptualFactor MAY_INCLUDE {
ContrastSensitivity,
ColourPerception,
DepthPerception,
MotionPerception,
Attention
};
VisualDesign SHOULD_CONSIDER HumanPerceptualCapabilities;
# ---------- ACCESSIBILITY ----------
VisualAccessibility MAY_REQUIRE {
SufficientContrast,
NonColourEncoding,
TextAlternative,
ScalablePresentation,
ClearVisualHierarchy
};
IF InformationEncodedOnlyByColour
THEN AccessibilityRisk := increase;
# ---------- PERFORMANCE ----------
VisualPerformance MAY_BE_MEASURED_BY {
FrameRate,
FrameTime,
RenderingLatency,
MemoryUse,
ImageQuality
};
PerformanceAndVisualQuality MAY_REQUIRE Tradeoff;
# ---------- SEMANTIC REASONING ----------
IF SystemComputesGeneratesProcessesOrAnalysesVisualInformation
THEN VisualComputingClassification := supported;
IF SceneRenderedFromGeometryCameraAndLighting
THEN Output IS RenderedImage;
IF ImageConsistsOfRegularPixelGrid
THEN RepresentationType := RasterRepresentation;
IF GraphicDefinedByGeometricPrimitives
THEN RepresentationType := VectorRepresentation;
IF FrameRateTooLowForInteraction
THEN RealTimeExperience MAY_DEGRADE;
IF VisualEncodingAmbiguous
THEN InterpretationReliability := decrease;
IF InformationUsesColourAsOnlyDistinction
THEN AccessibilitySupport := required;
# ---------- SEMANTIC EQUIVALENCE ----------
SEMANTIC_EQUIVALENCE {
"visual computing" ~= "computational visual processing";
"computer graphics" ~= "computational graphics" WHEN context == visual_generation;
"image processing" ~= "digital image processing";
"visualisation" ~= "visualization";
"rasterisation" ~= "rasterization";
"3D model" ~= "three-dimensional geometric model";
"rendering pipeline" ~= "graphics rendering pipeline";
"visual encoding" ~= "graphical encoding" WHEN context == data_visualisation;
}
# ---------- QUERY FLOW ----------
QUERY(q) ->
NORMALISE(q) ->
IDENTIFY_VISUAL_ENTITY(q) ->
IDENTIFY_REPRESENTATION(q) ->
IDENTIFY_VISUAL_PROCESS(q) ->
IDENTIFY_GEOMETRY_OR_IMAGE(q) ->
IDENTIFY_RENDERING_OR_ANALYSIS(q) ->
IDENTIFY_VISUAL_PROPERTIES(q) ->
IDENTIFY_INTERACTION(q) ->
MAP_TO_ONTOLOGY(q) ->
APPLY_REASONING(q) ->
SCORE_CONFIDENCE(q) ->
RETURN_RELEVANT_KNOWLEDGE;
# ---------- CONFIDENCE ----------
CONFIDENCE(assertion) :=
weighted_mean(
source_reliability,
visual_model_consistency,
computational_consistency,
semantic_consistency,
evidence_strength,
contextual_relevance
);
CONFIDENCE >= 0.90 => HIGH;
CONFIDENCE >= 0.70 AND < 0.90 => MODERATE;
CONFIDENCE < 0.70 => REVIEW;
# ---------- AI CONSUMPTION ----------
AI_CONSUMPTION {
primary_entity: VisualComputing;
ontology: VisualComputingOntology;
parse_entities: true;
parse_relationships: true;
preserve_relationship_direction: true;
resolve_semantic_equivalence: true;
execute_reasoning_rules: true;
apply_confidence_weighting: true;
preserve_provenance: true;
}
# ---------- UPDATE MODEL ----------
UPDATE_MODEL {
new_visual_entity:
validate
-> classify
-> identify_representation
-> identify_properties
-> integrate;
new_visual_process:
classify
-> identify_inputs
-> identify_outputs
-> identify_computational_method
-> integrate;
new_rendering_evidence:
identify_scene
-> identify_camera
-> identify_materials
-> identify_rendering_method
-> integrate;
visual_revision:
update_visual_data
-> recompute_relationships
-> update_rendering_or_analysis
-> recompute_confidence
-> regenerate_flow_hash;
conflict:
preserve_provenance
-> compare_visual_evidence
-> adjust_confidence
-> flag_review;
}
# ---------- FLOW HASH ----------
FLOW_HASH_INPUT :=
DOMAIN
+ SUBDOMAIN
+ ONTOLOGY
+ VisualEntity
+ VisualProcess
+ RepresentationType
+ VisualProperty
+ Rendering
+ Visualisation
+ RELATIONSHIPS
+ SEMANTIC_REASONING
+ SEMANTIC_EQUIVALENCE
+ UPDATE_MODEL;
FLOW_HASH :=
HASH(FLOW_HASH_INPUT);
# ---------- TERMINAL ----------
VisualComputingOntology
-> AcquireOrGenerateVisualData
-> SelectVisualRepresentation
-> ProcessImagesOrGeometry
-> ConstructSceneOrVisualModel
-> RenderOrAnalyseVisualInformation
-> EncodeVisualProperties
-> PresentVisualOutput
-> SupportInteractiveExploration
-> EvaluatePerformanceAndPerception
-> PreserveAccessibility
-> RefineVisualComputation
-> ProduceInterpretableVisualResult;
END FLOW
Download Code
Copy to Clipboard