ODDS: Object Description Driven by Semantic

Main contributors:

Associate collaborators:

Project description

Mesh segmentation and semantic annotation are used as preprocessing steps for many applications, including shape retrieval, mesh abstraction, and adaptive simplification. In current practice, these two steps are done sequencially: a purely geometrical analysis is employed to extract the relevant parts, and then these parts are annotated.

We introduce an original framework where annotation and segmentation are performed simultaneously, so that each of the two steps can take advantage of the other. Inspired by existing methods used in image processing, we employ an expert's knowledge of the context to drive the process while minimizing the use of geometric analysis. For each expert domain, a multi-layer ontology can be designed on top of a basic shape knowledge layer, containing object features concepts (geometry, topology, attributes, …), each associated with an elementary algorithm for its detection. An expert can define the upper layers of the ontology to address a specific domain without the need to reconsider the elementary algorithms. This approach has a twofold advantage: on one hand it allows to leverage domain knowledge from experts even if they have limited or no skills in geometry processing and computer programming; on the other hand, it provides a solid ground to be easily extended in different contexts with a limited effort.

Context

This project is part of the 3DCI project, funded with support from FEDER and BPI France (was Oseo). The aim of the 3DCI project (FUI AAP14) consists in developping an original and innovative system for default detection during the inspection phase of electronic components of electronic board manufacturing.

In the 3DCI project, I was involved with ISIT (UMR 6284 UdA – CNRS) to design new segmentation methods driven by expert knowledge and using abstract descriptions (such as graphs). The two application contexts are the present project and the medical imaging segmentation.

Publications

Slides


Download

A complete archive with ontologies, mesh examples and source code is available for download here:

Installation guide

This software is available under GPL3 license, and it comes with a documentation described in readme.txt files available in each key directory.

The source code is separated into two parts: C⧺ and java.

The C⧺ side corresponds to mesh manipulation, while java side corresponds to the ontology manipulation. The communication between the two sides is done using sockets.

System requirement

This software has been compiled and used with success under Debian GNU/Linux (unstable, 2014 and 2015) and Debian Ubuntu (2014).

The following dependencies are required (software versions are given as indications, and it may work with other versions):

Compilation (C⧺)

Compilation (java)

Install development environment

Load the project

Documentation

We provide for development usage a complete documentation for both C⧺ and Java classes, available at the following addresses: