StrokeAggregator: Consolidating Raw Sketches into Artist-Intended Curve Drawings

1University of British Columbia 2Universidad Panamericana

Abstract

When creating line drawings, artists frequently depict intended curves using multiple, tightly clustered, or overdrawn, strokes. Given such sketches, human observers can readily envision the intended aggregate curves, and can mentally assemble the artist’s envisioned 2D imagery. Algorithmic stroke consolidation—replacement of overdrawn stroke clusters by corresponding aggregate curves—can benefit a range of sketch processing and sketch-based modeling applications which are designed to operate on consolidated, intended curves. We propose StrokeAggregator, a novel stroke consolidation method that significantly improves on the state of the art, and produces aggregate curve drawings validated to be consistent with viewer expectations. Our framework clusters strokes into groups that jointly define intended aggregate curves by leveraging principles derived from human perception research and observation of artistic practices. We employ these principles within a coarse-to-fine clustering method that starts with an initial clustering based on pairwise stroke compatibility analysis, and then refines it by analyzing interactions both within and in-between clusters of strokes. We facilitate this analysis by computing a common 1D parameterization for groups of strokes via common aggregate curve fitting. We demonstrate our method on a large range of line drawings, and validate its ability to generate consolidated drawings that are consistent with viewer perception via qualitative user evaluation, and comparisons to manually consolidated drawings and algorithmic alternatives.

Download

Video

Bibtex

@article{ liu2018strokeaggregator,
	author    = {Liu, Chenxi and Rosales, Enrique and Sheffer, Alla},
	title     = {StrokeAggregator: Consolidating Raw Sketches into Artist-Intended Curve Drawings},
	journal   = {ACM Transaction on Graphics},
	year      = {2018},
	volume    = {37},
	number    = {4},
	doi       = {10.1145/3197517.3201314},
	publisher = {ACM},
	address   = {New York, NY, USA},
}