CaS: Collection-aware Segmentation

Similar documents
Comparison of Non-linear Dimensionality Reduction Techniques for Classification with Gene Expression Microarray Data

Part-Based Recognition

Constrained Tetrahedral Mesh Generation of Human Organs on Segmented Volume *

Automatic 3D Reconstruction via Object Detection and 3D Transformable Model Matching CS 269 Class Project Report

Visibility Map for Global Illumination in Point Clouds

Recovering Primitives in 3D CAD meshes

. Learn the number of classes and the structure of each class using similarity between unlabeled training patterns

ART Extension for Description, Indexing and Retrieval of 3D Objects

Topological Properties

SCAN: A Structural Clustering Algorithm for Networks

Component visualization methods for large legacy software in C/C++

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

Lecture 7 - Meshing. Applied Computational Fluid Dynamics

Topic Maps Visualization

Curriculum Map by Block Geometry Mapping for Math Block Testing August 20 to August 24 Review concepts from previous grades.

CS 534: Computer Vision 3D Model-based recognition

Big Data Analytics of Multi-Relationship Online Social Network Based on Multi-Subnet Composited Complex Network

Graph/Network Visualization

Visualization methods for patent data

MAVIparticle Modular Algorithms for 3D Particle Characterization

Oracle8i Spatial: Experiences with Extensible Databases

Adding New Level in KDD to Make the Web Usage Mining More Efficient. Abstract. 1. Introduction [1]. 1/10

Distributed Dynamic Load Balancing for Iterative-Stencil Applications

Heat Kernel Signature

5. Binary objects labeling

VISUALIZING HIERARCHICAL DATA. Graham Wills SPSS Inc.,

Customer Training Material. Lecture 4. Meshing in Mechanical. Mechanical. ANSYS, Inc. Proprietary 2010 ANSYS, Inc. All rights reserved.

Graph Mining and Social Network Analysis

Introduction. Chapter 1

SECONDARY STORAGE TERRAIN VISUALIZATION IN A CLIENT-SERVER ENVIRONMENT: A SURVEY

The Scientific Data Mining Process

Categorical Data Visualization and Clustering Using Subjective Factors

Triangulation by Ear Clipping

College of Engineering

Modelling, Extraction and Description of Intrinsic Cues of High Resolution Satellite Images: Independent Component Analysis based approaches

A Short Introduction to Computer Graphics

How To Draw In Autocad

Dual Marching Cubes: Primal Contouring of Dual Grids

Everyday Mathematics. Grade 4 Grade-Level Goals. 3rd Edition. Content Strand: Number and Numeration. Program Goal Content Thread Grade-Level Goals

Binary Image Scanning Algorithm for Cane Segmentation

Big Data: Rethinking Text Visualization

Taking Inverse Graphics Seriously

Segmentation of building models from dense 3D point-clouds

What is Visualization? Information Visualization An Overview. Information Visualization. Definitions

Arrangements And Duality

Pennsylvania System of School Assessment

Robust NURBS Surface Fitting from Unorganized 3D Point Clouds for Infrastructure As-Built Modeling

TOWARDS SIMPLE, EASY TO UNDERSTAND, AN INTERACTIVE DECISION TREE ALGORITHM

From Scattered Samples to Smooth Surfaces

Angle - a figure formed by two rays or two line segments with a common endpoint called the vertex of the angle; angles are measured in degrees

Index Terms Domain name, Firewall, Packet, Phishing, URL.

Visualization Techniques in Data Mining

Data Mining. Cluster Analysis: Advanced Concepts and Algorithms

Process Mining by Measuring Process Block Similarity

NEW MEXICO Grade 6 MATHEMATICS STANDARDS

Fast Matching of Binary Features

Tracking Groups of Pedestrians in Video Sequences

1. A plane passes through the apex (top point) of a cone and then through its base. What geometric figure will be formed from this intersection?

A NEW METHOD OF STORAGE AND VISUALIZATION FOR MASSIVE POINT CLOUD DATASET

IDENTIFYING BANK FRAUDS USING CRISP-DM AND DECISION TREES

Behavioral Animation Modeling in the Windows Environment

Praktikum Wissenschaftliches Rechnen (Performance-optimized optimized Programming)

Clustering & Visualization

Clustering Data Streams

Towards 3D Modeling using Sketches and Retrieval

12-1 Representations of Three-Dimensional Figures

Bernice E. Rogowitz and Holly E. Rushmeier IBM TJ Watson Research Center, P.O. Box 704, Yorktown Heights, NY USA

CATIA Functional Tolerancing & Annotation TABLE OF CONTENTS

Georgia Standards of Excellence Curriculum Map. Mathematics. GSE 8 th Grade

Everyday Mathematics. Grade 4 Grade-Level Goals CCSS EDITION. Content Strand: Number and Numeration. Program Goal Content Thread Grade-Level Goal

Time series clustering and the analysis of film style

Visualizing Large Graphs with Compound-Fisheye Views and Treemaps

GEOMETRY COMMON CORE STANDARDS

Everyday Mathematics CCSS EDITION CCSS EDITION. Content Strand: Number and Numeration

Model Repair. Leif Kobbelt RWTH Aachen University )NPUT $ATA 2EMOVAL OF TOPOLOGICAL AND GEOMETRICAL ERRORS !NALYSIS OF SURFACE QUALITY

DATA STRUCTURES USING C

Data Mining Clustering (2) Sheets are based on the those provided by Tan, Steinbach, and Kumar. Introduction to Data Mining

FEAWEB ASP Issue: 1.0 Stakeholder Needs Issue Date: 03/29/ /07/ Initial Description Marco Bittencourt

Off-line Model Simplification for Interactive Rigid Body Dynamics Simulations Satyandra K. Gupta University of Maryland, College Park

MODERN VOXEL BASED DATA AND GEOMETRY ANALYSIS SOFTWARE TOOLS FOR INDUSTRIAL CT

Data Mining Cluster Analysis: Basic Concepts and Algorithms. Lecture Notes for Chapter 8. Introduction to Data Mining

Information Visualization of Attributed Relational Data

For example, estimate the population of the United States as 3 times 10⁸ and the

Seminar. Path planning using Voronoi diagrams and B-Splines. Stefano Martina

Algebra Academic Content Standards Grade Eight and Grade Nine Ohio. Grade Eight. Number, Number Sense and Operations Standard

How To Create A Surface From Points On A Computer With A Marching Cube

Medical Information Management & Mining. You Chen Jan,15, 2013 You.chen@vanderbilt.edu

Warning! Construction Zone: Building Solids from Nets

Introduction to Computer Graphics

The Science and Art of Market Segmentation Using PROC FASTCLUS Mark E. Thompson, Forefront Economics Inc, Beaverton, Oregon

The STC for Event Analysis: Scalability Issues

The Value of Visualization 2

Transcription:

CaS: Collection-aware Segmentation Raquel Costa Manuel J. Fonseca Alfredo Ferreira INESC-ID/IST/Technical University of Lisbon Lisboa rgcc@ist.utl.pt {mjf,alfredo.ferreira}@inesc-id.pt Abstract Ao longo dos tempos, a segmentação tem provado ser um desafio devido à sua subjectividade. A segmentação depende não apenas do domínio em causa mas acima de tudo da interpretação que os humanos fazem do objecto. Para cada contexto, diversas soluções específicas foram propostas com diferentes objectivos, limitações e vantagens. Neste trabalho propomos ultrapassar algumas dessas limitações usando o algoritmo de segmentação Collection-aware Segmentation (CaS). Este algoritmo identifica segmentos de objectos em colecções baseados na sua individualidade nessa colecção. Para esse efeito realizámos um conjunto de testes para compreender como as pessoas segmentam objectos numa colecção. A partir dos resultados destes testes desenvolvemos os algoritmos Adaped-CaS e Geons-augmented CaS. Avaliações experimentais com utilizadores mostraram que a abordagem proposta produz segmentações com significado para os humanos. Abstract Segmentation has always proven to be a challenge because of its subjectiveness. It depends not only of application domain but also most on human interpretation. To each context, several specific solutions were proposed with different goals, limitations and advantages. With this work we propose to overcome some of those limitations by improving Collection-aware Segmentation algorithm (CaS). This algorithm identifies segments of objects in collections based on ir individuality among collection in which objects belong. To that end we performed a set of tests to understand how humans segment a collection of objects. From results of se tests we developed Adaped-CaS and Geons-augmented CaS algorithms. Experimental evaluation with users revealed that our approach produces a segmentation that is meaningful for humans. Keywords 3D Object Segmentation, 3D Object Collections, Automatic Segmentation, Similarity Estimation 1. Introduction Each human being interprets environment from his own point of view. This generates an huge range of possible interpretations of world, and his components. Thus, segmentation of objects may vary from individual to individual. Indeed, it and has been subject of studies in different areas, from mamatics to philosophy. Over past decades object segmentation has been also tackled within computer graphics domain, as a result of growing number of 3D objects in digital format and widespread of applications that use m. Many computer graphics applications, as animation, collision detection, object indexing and retrieval use segmentation approaches as a stage of core process. However, most of existing object segmentation techniques are domain or context dependent. These perform well in domain and context for which y were designed for, but not so good in or domains or contexts. To overcome this limitation we adopt a different approach that extends Collection Aware Segmentation (CaS) method. This was originally proposed in [Ferreira 09] embedded in a solution for indexing and retrieval of 3D objects. In this paper we extend CaS to make it a stand-alone segmentation technique that produces meaningful results to users, independently of object domain. With present work we isolated CaS approach of indexing and retrieval application, thus creating a segmentation algorithm that is application independent. As original CaS approach, Adapted CaS is based on Hierarchical Fitting Primitives [Falcidieno 06] algorithm and uses Spherical Harmonics shape descriptor [Kazhdan 03]. By adding geon analysis [Biederman 87], we improved algorithm, achieving better segmentation, closer to human perception. To evaluate proposed approach, we conducted an experimental evaluation where several tests were performed. The first test focusing on understanding how humans segment 3D objects. From results of this test we devel-

Figure 1. Two different types of segmentation: a) Part Based Segmentation; b) Surface Based Segmentation. (Figure taken from [Shamir 08]) oped and refined our approach. Then, to evaluate efficacy and effectiveness of approach we executed performance tests to study execution time and memory requirements. Finally, to validate quality of segmentation, we organized a test where users where asked to compare results of manual segmentation made by humans with results produced automatically by segmentation algorithms. In remaining of this document we start with a brief presentation of related work on three-dimensional object segmentation. Then we describe original Collection Aware Segmentation algorithm, followed by its evolution and explanation on detail of how se work. On section 4 we describe evaluation tests and discuss corresponding results. In last section, we present conclusions of this work and reflect on future research paths on this topic. 2 Related Work 2.1 Categorization of segmentation approaches Some authors [Agathos 07, Shamir 08] classify segmentation techniques in two categories depending on kind of segmentation accomplished, represented in Figure 1. The part based segmentation is closer to user perception and divides object into sub-components, while surface based segmentation are accomplished by analysing surface shape features. Among se two types, 3D object segmentation has been widely studied and different solutions that uses distinct approaches have been proposed. Some of existing and more relevant are presented next. 2.2 Region Growing and Clustering The region growing methodology follows a exploratory approach that starts by visiting a seed (a face of mesh), n agglomerates adjacent faces by transversing mesh and it stops when it reaches a stop condition. Such Figure 2. Hierarchical decomposition with fuzzy area represented in red. (Figure taken from [Katz 03]) condition can be segment convexity. Then process is restarted using a non visited face as a new seed. The approach proposed by Zuckerberger on [Zuckerberger 02], uses a depth first or breadth first search to transverse a graph that represents mesh and seed where it starts is a node of this graph. From this transverse is creates a segment and n, it restarts transversing on an unvisited node of graph forming a new segment. In a similar way, Attene et al. [Falcidieno 06] approach also agglomerates faces, but instead of creating patch by patch, it creates all patches simultaneously. These are organized as an hierarchical tree in which leafs are mesh triangles and root is entire object. This tree is built bottom to top and clusters adjacent faces with minimum merging cost that can be calculated on different ways. Attene et al. uses primitives by fitting m to resultant cluster. Previously, Katz and Tal [Katz 03] had proposed to generate, in an iterative clustering, various results of segmentation given a number of clusters, and n chooses which is best segmentation. It starts by creating a representative group of clusters and n each adjacent face is clustered until it reaches a ray r between seed and limit of patch. This is used to agglomerate faces that have more probability of belonging to a given segment, thus creating fuzzy areas, illustrated Figure 2. Lastly it is needed to transform fuzzy decomposition in a final decomposition by refining limits. 2.3 Skeleton Based This approach uses skeleton of object to determine segmentation. The most used method to extract skeleton is Reeb Graph. For instance, Tierny et al. [Tierny 07] extract an enhanced topological skeleton by finding feature points located on object extremities using geodesic distances. These are used to create a function that indicates distance from a given point of mesh to each feature point of mesh and from re is built Reeb graph. After having skeleton, object is seg-

mented in areas where each skeleton node corresponds to a segment of object. 2.4 Geometry and Structure-Based The Taylor and Plumber algorithms, by Mortara et.al. [Mortara 03] uses object shape to perform segmentation based on geometry and structure. These algorithms detects tubular features by blowing bubbles that starts on a seed that is predefined and stops blowing when it finds an abrupt change on object shape, such as a bifurcation. Later, Mortara et al. [Mortara 06] used Plumber approach to find tubular zones in objects that represents human body. 2.5 Feature Points and Core Extraction In an attempt to overcome pose invariant limitation a new approach arises called Feature Points and Core Extraction that was proposed by Katz et al. in [Katz 05]. This initially creates a pose invariant representation of object, n extracts feature points and core. After finding core it is necessary to extract rest of segments which is done by matching each part to feature points. In end, it reverse initial process so object can come back to same shape. 2.6 SDF A different approach was proposed by Shapira et al. in [Shapira 08]. They use shape diameter function (SDF) for segmenting objects. In short, this gives diameter of an object in a neighbour of a point and is used to merge points that have same or close diameter values using a histogram. 2.7 Automatic Segmentation of 3D Collections The above referred approaches, as most existing approaches, segment 3D objects individually. The segmentation is performed object by object individually, instead of segmenting various objects simultaneously. Indeed, this is a relatively recent concept: to accomplish automatic simultaneous segmentation of sets of objects. The approaches that use automatic segmentation of 3D collections use information of similar objects to improve results. The group of Thomas Funkhouser in Priceton is one of groups that is already studying this subject. They presented an algorithm [Golovinskiy 09] that builds a graph whose nodes represents mesh faces and edges represents edges of mesh that connects adjacent faces of same object. They also represent correspondence between faces of different meshes. In next step algorithm executes a hierarchical clustering of graph, were adjacent faces of same model, and correspondent faces of different models are going to probably belong to same segment. 2.8 Discussion Several segmentation approaches have emerged as decomposition of 3D objects as is used in many different applications in distinct domains that require different segmentations. This also makes task of evaluating approaches hard to perform, due due large number of approaches. Neverless, Funckhouser and his team defined a benchmark for 3D mesh segmentation [Chen 09], compared seven mesh segmentation algorithms and draw some interesting conclusions. However, a common limitation is need of inputs provided by users in order to decompose objects. Some need to predefine seeds like in Region Growing and Iterative Clustering Approaches. Ors to select level of hierarchy generated by segmentation approach, se are all approaches that produce a hierarchical segmentation. The result of segmentation has more segments that it should have producing over segmented result. Some approaches try to overcome this limitation by using post-processing stage that removes extra segments by merging m to ors or by initially predefining a maximum number of segments. The individual segmentation of objects can be considered a limitation if we consider segmenting a collection of objects. If segmentation decomposes object by object as it is in major approaches, n it can take more time to decompose entire collection than if segmentation was performed simultaneously. In order to overcome limitations highlighted above, we propose a different solution based on CaS algorithm, presented in next section. This is a segmentation approach that will be application independent. 3 Collection-aware Segmentation In this section we present a distinct approach for segmenting 3D objects whose main goal is to overcome some limitations found on existing approaches. We extracted Collection-aware Segmentation (CaS) algorithm from indexing and retrieval context where it was embedded [Ferreira 09], as a step of a complete solution, and extended it to a fully fledged 3D object segmentation algorithm. This led to original CaS and to evolution for Geons-Augmented CaS. 3.1 Original CaS for Retrieval The original CaS, integrated in a retrieval solution, did not indeed produced any object segmentation per se. Instead, it decomposes all objects in a collection and stores ir subparts in a shape pool, used n for indexing collection. This approach, depicted in Figure 3 has two main stages: initialization stage and iteration stage. In first stage foundations of segmentation are computed and loaded into memory, while in following stage objects of collection are iteratively segmented into subparts. The initialization starts by generating, for each object on collection respective hierarchical segmented mesh (HSM) using Hierarchical Fitting Primitives (HFP) as proposed by Attene et al. [Falcidieno 06]. This approach consists on merging clusters and n fitting m to primitives to create final clusters. Next it saves resulting HSM on HSM Set, producing a set of segmented meshes. Then is computed for each mesh, ob-

bedded a step of gmentasolution gmentaderstand ssary to ce one of ge (CaS) and also e of that are se of ents rend or ent, this in 4 n where nd loaded. coll Collec- SM) uspproach m to HSM ignature esents a ect with here for y if it is unique, on ed using ts. If going to child utes ir on it passes on stage ents on he entire final ition we now in stages he iterae stages purpose. figure 6 ws both Observing figure 6 is possible to visualize that after adding During execution, HSM nodes to iteration NDL stage initialization traverses stage HSMs, ends, so it passes to next stage, iteration stage. This will use level by level, that is, each new iteration corresponds to a all structures previously built. level on hierarchy. In order to support segmentation, iteration During stage execution, uses NDL. iteration In practice, stage traverses each iteration HSMs, of stage levelis by anlevel, iteration that is, to each NDL. new iteration So, thiscorresponds stage starts to a on first level element on hierarchy. of NDL In order and to verifies support if is decomposable or not. iteration stage uses NDL. In practice, each iteration segmentation, of stage is an iteration to NDL. So, this stage starts Like was on previously first element referred, of CaS/HFP NDL and verifies segments if is decomposable objects based on or not. collection where y belong. The figure 7 represents steps for labeling a segment as decomposable Like was previously referred, CaS/HFP segments objects first based verifies on if collection has reached where yminimal belong. The triangle figure 7 or not. It count byrepresents calculating steps minimal for labeling number a segment of triangles as decomposable between both or not. childit nodes first verifies and compares if has reached this minimal minimal with triangle a previously count defined by calculating value minimum minimal triangle numbercount, of triangles in thisbe- valueboth is three, child nodes if and minimal compares is bellow this minimal mini- with a case thistween mum triangle previously count defined segment value isminimum decomposable triangleifcount, is above in this n case segment this value is labled is three, as non if decomposable. minimal is bellow This step minimum triangle count segment is decomposable if is above prevents from reaching triangles of mesh. n segment is labled as non decomposable. This step Figure 4: Overall architecture of original CaS, Figure prevents 3. from Overall reaching architecture triangles of mesh. In with case of tworesult stages being (Initialization no, passesand to original Iteration). next step that iscas, with two main stages: initialization In execution case of of result K-Within being no, Range it passes (K-WR). to next This step algorithm and that isiteration. used to execution verify if ofa segment K-Within is singular, Range (K-WR). for that This it was previously algorithmdefined is used to two verify thresholds, if a segment issimilarity singular, for andthat similar stages, count it was thresholds. previously initialization defined The stage first two where thresholds, inputs is usedsimilarity of to verify iteration objects similar stageare count aresimilar computed thresholds. or not, and The saved tofirst be and threshold similar n is passes used to verify and if two of two ject iteration objects signature if twostage objects onusing where are multidimensional similar spherical segmentation or not, harmonics tospace be is actually similar has shape to executed. descriptor (SHA) of twointroduced objects on by Kazhdan multidimensional et al. [Kazhdan space has03]. to be The less bedistance less m similar threshold, this is computed using segments resulting signatures signatures and are stored distance in between shape pool m. for Then, furr As represented m similar on figures threshold, 5 and 6this is CaS/HFP computed Decomposer using seg- by receiving signatures and entire collection distance of between objectsm. on Then, ini- startsments processing. second tialization threshold second stage. threshold is used On thisis so stage used when for so when comparing each comparing a segment object it computes a segment with In all respective withsegments all iterationhierarchical segments that are that stage, eachsegmented onare on shape signature on Mesh shape pool, using pool, it shape cannot it cannot pool Hierarchical have is verified more have similar for Fitting more similar segments its uniqueness, Primitives segments than this thus generates thansimilar similar being flagged a binary count count threshold. iswith built old. this bottom With result this to top. it result is It going it starts is going toon verify to verify leafs that if segment represents is is for treethresh- decomposition. that singular, triangles singular, to be This singular to of means be singular mesh, thatnumber if n number for of each similar of ofsimilar pairs segments of segments neighbors elements has has to be is itbelow above to be calculates a pre-defined above similar similar merging count, threshold, count, cost. if isthis ithat if isconsidered that cost case, case, calculated n unique, n by segment segment thus fitting decomposable. isalabeled labeled primitive as decomposable. as decomposable. (cylinder, This similarity cone, sphere Ifisnot, not, computed and it labels it labels plane) using astonot not decomposable. decomposable. differences resulting cluster, between n object it compares signatures. values and clusters pairs If that result have is less segment cost. being This new decomposable, cluster generated n it is If If from result object clustering is decomposable, are saved as n a parent it is decomposed node of se byclus- ters, tohsm decompose and corresponding tree. getit his it, repeats child for that, nodes. HSM it process on After goes having to HSM until it Set respective reaches child and nodes, get- exploring goingisto decompose segmentit, being for that, decomposable, it goes to n respective it is going HSMting top and its of get child calculates three hisnodes, child where ir nodes. computing it respective is saved After ir signatures, having entire signatures object. adds child and m This nodes, adding to tree it calculates m will be signature to transversed ir Shape pool respective Pool. and during insert If signatures, both object iteration nodes isadds on not stage decomposable, m Non andsegmented contains to signature segments List that are going to be important for result. it passes pool (NSL), toand next insert this list element both contains nodes on on segments shape Non pool. Segmented that are going The iteration List After computing se trees, initialization stage saves (NSL), to be mstage this processed on finishes list contains next HSM Set. when re iteration are segments and no more that removes decomposable are going pro- to be processed element on from next iteration NDL passing and removes to next element processed element from NDL passing to next element segments on onndl shape that also pool willand be processed. algorithm Alsoends in bycase re-oturning As decomposition result entire being shape not algorithm pool. decomposable Indeed, is based it does it onpasses not singularity to produce next on NDL segmented of anelement that object. also versions The will second NDL. be processed. Also in case of result being not ofdecomposable objects step of init initialization passes model tocollection. stage next is to compute SHA signatures of each object. These are element on An iteration NDL. ends when reaches end of NDL but 3.2 shapeadapted descriptors, CaS thatfor is, Decomposition a numerical representation of iteration stage may ended or not. This depends on object in a multidimensional space. Using se representations produce NSL, ends if An To iteration makes segmentations when NSL isit not reaches empty comparison forbetween objects i means endin that of segments a collection, are new NDLsegments but easier and we to be processed. So, it appends all elements on NDL, adapted iteration this comparison stage original may is used CaS ended to for label or decomposition. not. a segment This depends asas decomposable in on original, orif not. NSL NSL, Also is Adapted when not empty CaS each consists signatures it means onfinishes that are two main being new segments stages: computed, to be initialization itprocessed. saves mso, and on it appends signature all iteration. pool. elements on NDL, These stages have similar purpose One of to main those goals on of this original Adapted CaS, CaS but technique are slightly is to different present andcollection compriseof new objects datadecomposed, structures, as it depicted is no longer in Figure necessary 4. to have Shape Pool, instead this adapted approah uses a Signature Pool, so it is only necessary to visit The Adapted CaS decomposer receives as input entire this set to label a segment as decomposable or not. This is collection also one of of objects differences on on initialization initialization stage. stage, Onwhere this stage, instead for ofeach saving object, object it computes with respective corresponding signature HSMon using shape HFP. pool, Thisit generates saves a signature binary tree onthat is Signature built bottom Pool to and top. also It starts without on shape leafs that poolrepresents re no longer triangles exists of second HSM built during iteration stage instead is used mesh, n for each pair of neighbours it calculates to lists, Non Segmented List (NDL), that has next merging next segments cost. This to be cost processed is calculated and by fitting segments a primitive that are (cylinder, labeled ascone, not decomposable sphere and plane) and to Nonresulting Segmented cluster, List n it compares values and clusters pairs that have less cost. This new cluster generated from clustering are saved as a parent node of se clusters, in tree. It repeats process until it reaches top of three has reached end of NDL and NSL is empty, meaning that re are no more segments to be decomposed. So, approach ends by returning entire collection of decomposed objects. Figure 4. Overall architecture of Adapted Figure CaS, 5: with Overall new architecture NDL andof NSL adapted structures. CaS, with two stages(initialization and Iteration). Figure 5: Overall architecture of adapted CaS, with two stages(initialization and Iteration). Model Collection Model Collection Initialization Initialization HSMs Signatures NDL HSMs Signatures NDL Iteration Decomposed Decomposed Object Object Figure 6: 6: 5. High level fluxogram of of Adapted of Adapted CaS CaS CaS. 3.3 3.3 Geons-augmented CaS/HFP CaS/HFP Decomposer Decomposer During execution of Manual Segmentation Test Using HFP. One execution of complains of Manual of Segmentation users was that some Test Us- During ingobjects HFP. were Oneover of segment. complains Thisof happens users because was that it was some objects where used it were is HFP saved over approach. segment. entire After object. This executing happens These trees, adapted because stored CaS it was in used approach HSM HFP set, withwill approach. different be transversed similarity After executing and during similar count iteration adapted thresh- produce we notice widifferent that decomposed thissimilarity problem objects. still andhappens Figure similar5 on count presents this thresh- ap- an stage CaS approach tolds olds proach, so, to overcome this limitation was introduced a highwe level notice fluxogram that this of problem decomposition still happens process. on this approach, new feature. so, to The overcome introduction this limitation of geons it was to verify introduced if an a object is decomposable or not. new Since feature. decomposition The introduction algorithm of is based geons on to verify singularity of is an decomposable object, second or not. step of initialization stage if an object The geons are simple 3D objects, like cylinders, cones, cubes. isthe to compute ory proposed SHA by Bieldman signatureson of[4] each called object. Recognitiongeons shape by Components are descriptors, simpletheory defends 3Dthat objects, is, a numerical likethat cylinders, likerepresentation English cones, words cubes. of These The are The that object ory are constituted inproposed a multidimensional by bya number Bieldman of space. phonetics,complex [4] Using called se Recognitiojects bycan Components also be composed Theory defends by se simpler that3d like objects, English that representations makes comparison between segments easier ob- words that is, by aresegmenting constituted se bycomplex a number objects of phonetics,complex we get se simpler objects objects this and can (Figure comparison also be8). is used to label a segment as decomposable by segmenting or not. Thus, seeach complex computed objects signature we get se is stored simpler on composed by se simpler 3D objects, that is, objects signature (Figurepool 8). for later use. Iteration The main goal of this Adapted CaS technique is to present collection of objects decomposed. Thus shape poll is no longer necessary to and was replaced by Signature Pool. It is only necessary to visit this set to label a segment as decomposable or not. Without shape pool, no longer exists a second HSM build during iteration stage. Instead two lists are used: Non Segmented List (NDL), that contains segments to be processed and segments that are not labeled as decomposable and Non Segmented List (NSL) that contains segments that are going to be processed on next iteration. So, at end of initialization stage, NDL contains all objects in collection. During its execution, iteration stage traverses HSMs, level by level, that is, each new iteration corre-

NDL Minimal TriCount Reached? Not NO K-WR Singular? Figure 7: 6. Decomposition fluxogram fluxogram of adaptedofcas Adapted CaS. sponds to Archa level onbarrel hierarchy. In order to support Cylinder Cone segmentation, iteration stage uses NDL. In practice, each iteration of stage is an iteration to NDL. So, this stage starts on first element of NDL and verifies if is decomposable or not. Cube Ex-Cylinder Ex-Handle Handle To segment objects based on collection where y belong, it is necessary to compare each sub-part with all or sub-parts. Figure 6 illustrates steps for labelling a segment Ex-Pyramidas decomposable Pyramid or Plan not. It first verifies Wedge if has reached minimal triangle count by calculating number Figure of triangles 8: Example between ofboth group child of nodes geonsand used compares on Geons-augmented approach this with a previously defined value - minimum triangle count. If triangle count is below this threshold, segment As CaS is flagged approach as uses non-decomposable. HFP that uses This primitives step prevents calculate from reaching cost of merging triangles clusters of and mesh. re are some to In of case Geons minimum that aretriangle same count as have senot primitives been reached, so, using se objects can helps to stop segmentation when element passes to next step in decomposition it find a geon. The Figure 9 represents decomposition process. fluxogramthis andstep is similar consiststo on figure execution 7 andofdescription a K-Withinof Range section(k-wr) 3.2 being search. main Thisdifference algorithmafter returns first firstcom- parison, ifwhose minimal signatures triangle are within count of a predefined child nodes rangeis and above is usedminimum to verifytriangle a segment count predefined, is singular. n For it com- that K- elements end, parestwo thresholds segmentedwere withpreviously entiredefined: collection of similarity geons by comparing signature of segment with each geon signature. Then, if it is not similar, it proceeds as previous and similar count thresholds. The first threshold is used to verify description, if twothat objects is, itare executes similar or K-WR. not, toin be similar case of being similar of two to any objects of ongeons, multidimensional n segmentspace is libeled has distance to asbe notless decomposable. m similar threshold, this is computed using segments signatures and distance between m. Then, second threshold is used when comparing a segment with all segments that are on signature pool, it NDL Minimal TriCount NO Similar to NO K-WR Singular? cannot have more Reached? similar segments Geon? than similar count threshold. With this result it is verified if segment NO is singular, to be singular number of similar segments has to be above similar count, if is that case, n Not segment is labelled as decomposable. If not, it labels as not decomposable. If result is segment being decomposable, n it is going to decompose it, for that, it goes to respective Figure HSM9: and Decomposition get his child nodes. fluxogram After having of geons child augmented it calculates CaS ir respective signatures, adds m nodes, to signature pool and insert both nodes on Non Segmented List (NSL), this list contains segments that are going to be processed on next iteration and removes processed element from NDL passing to next ele- NO In order to compare segments to geons it is necessary to predefine best similar values between m. So, best values for similarity thresholds between segments and geons where studied. To compare objects it is used, as was already referred, Spherical Harmonics (SHA). One is that y are not scale invariant, that is, it takes into account scale when comparing to objects, using difference between signatures. So, it was not only necessary to discover best similarity threshold for usual geons but also a profound study about different scales and different smooth variations on geons to really overcome this problem of scale invariance. To overcome this limitation a study was performed on cylinder, for that, is was used several different types of cylinders. In Figure 10 are represented different variations of cylinders, first row are cylinders that are closed both on top as on bottom. The middle row are Figure 7. Group of geons used on Geonsaugmented to or CaS. (bottom) but still has some thickness on cylinders with a hole in cross object from one side (top) sides. The last row has cylinders that are totally open, without a base or a top. Also not scale invariance is shown on Figre 10. As this study was only about ment cylinders, on NDL that samealso is necessary will be processed. to do for Also remaining case geons. of result being not decomposable it passes to next element on NDL. As one of primitives used on HFP is plane, this An primitive iteration was ends added when to it reaches group of geons. end ofbut still NDLthis butis oneiteration of main stageproblems may ended of using or not. HFP, Thisusing depends planes, on this NSL, makesif results NSL is of not segmentation empty it means in plane that instead are new of volume segments as it should to be processed. be, meaning So, that it appends geons alllike elements cube does on notndl, work on remove this approach. m fromthus, NSL a good andpath restarts to follow a newin future is to use anor hierarchical technique instead of iteration by vising again first element on NDL. HFP and make a deeper study of se thresholds. The iteration stage and entire algorithm ends when it has reached end of NDL and NSL is empty, meaning that re are no more segments to be decomposed. So, approach ends by returning entire collection of decomposed objects. Cylinder 1 Cylinder 2 Cylinder 3 3.3 Geons-augmented CaS Decomposer During execution of manual segmentation test using HFP, one of complains of users was that some objects were over segment. This happens because it was Cylinder 4 Cylinder 5 Cylinder 6 Cylinder 7 Cylinder 8 used HFP approach. After executing adapted CaS approach with different similarity and similar count thresholds we notice that this problem still happens on this approach, so, to overcome this limitation it was introduced a new feature. The introduction of geons to verify if an object is decomposable or not. Cylinder 9 Cylinder 10 Cylinder 11 Cylinder 12 The geons are simple 3D objects, like cylinders, cones, cubes. The ory proposed by Biederman on [Biederman 87] called Recognition by Components states Figure that, 10: like SetEnglish of cylinders words that usedare toconstituted stop fromby over a segmenting number of phonetics, complex objects can also be composed by se simpler 3D objects, that is, by segmenting 4. EXPERIMENTAL EVALUATION complex objects we get se simpler objects. Thus we After completing approach implementation, it was necessaryato setverify of geons, efficiency partially depicted and effectiveness in Figureof7, to im- algo- added prove rithmdecomposition and refine results approach. according So, several to human tests were perception. exe- Since CaS approach uses HFP that uses primitives to calculate cost of merging clusters and re are some of geons that are same as se primitives, using

ing, through PIDDAC Program funds. References [Agathos 07] A. Agathos, I. Pratikakis, S. Perantonis, N. Sapidis, and P. Azariadis. 3d mesh segmentation methodologies for cad applications. Computer-Aided Design and Applications, 4(6):827 841, 2007. [Biederman 87] I. Biederman. Recognition-bycomponents: A ory of human image understanding. Psychological Review, 94:115 147, 1987. [Chen 09] Xiaobai Chen, Aleksey Golovinskiy, and Thomas Funkhouser. A benchmark for 3D mesh segmentation. ACM Transactions on Graphics (Proc. SIG- GRAPH), 28(3), August 2009. [Falcidieno 06] M. Atteneand B. Falcidieno and M. Spagnuolo. Hierarchical mesh segmentation based on fitting primitives. Visual Computer, 22(3):181 193, 2006. [Ferreira 09] [Golovinskiy 09] A. Ferreira, S. Marini, M. Fonseca M. Attene, M. Spagnuolo, J. Jorge, and B. Falcidieno. Thesaurus-based 3d object retrieval with part-in-whole matching. International Journal of Computer Vision, 2009. A. Golovinskiy and T. Funkhouser. Consistent segmentation of 3d models. Computers & Graphics, 33(3):262 269, 2009. [Mortara 03] [Mortara 06] [Shamir 08] [Shapira 08] [S.Jayanti 06] M. Mortara, G. Patane, M. Spagnuolo, B. Falcidieno, and J. Rossignac. Blowing bubbles for multi-scale analysis and decomposition of triangle meshes. Algorithmica, 38(1):227 248, 2003. M. Mortara, G. Patane, and M. Spagnuolo. From geometric to semantic human body models. Computers & Graphics, 30(2):185 196, 2006. A. Shamir. A survey on mesh segmentation techniques. Computer Graphics Forum, 27(6):1539 1556, 2008. L. Shapira, A. Shamir, and D. Cohen- Or. Consistent mesh partitioning and skeletonization using shape diameter function. The Visual Computer, 24(4):249 259, 2008. S.Jayanti, Y. Kalyanaraman, N. Iyer, and K. Ramani. Developing an engineering shape benchmark for cad models. Computer-Aided Design, 38(9):939 953, 2006. [Tierny 07] J. Tierny, J.-P. Vandeborre, and M. Daoudi. Topology driven 3d mesh hierarchical segmentation. In International Conference on Shape Modeling and Applications, pages 215 220, 2007. [Zuckerberger 02] E. Zuckerberger. Polyhedral surface decomposition with applications. Computers and Graphics, 26(5):733 743, 2002. [Katz 03] [Katz 05] S. Katz and A. Tal. Hierarchical mesh decomposition using fuzzy clustering and cuts. In ACM SIGGRAPH 2003 papers, pages 954 961, NY, USA, 2003. ACM. S. Katz, G. Leifman, and A. Tal. Mesh segmentation using feature point and core extraction. The Visual Computer, 21(8 10):649 658, 2005. [Kazhdan 03] Michael Kazhdan, Thomas Funkhouser, and Szymon Rusinkiewicz. Rotation invariant spherical harmonic representation of 3d shape descriptors. In Proceedings of 2003 Eurographics/ACM SIGGRAPH symposium on Geometry processing, SGP 03, pages 156 164, Aire-la-Ville, Switzerland, Switzerland, 2003. Eurographics Association.