Keypoint-Driven Line Drawing Vectorization via PolyVector Flow -- dataset generation

April 9, 2022 ยท View on GitHub

Example

TLDR: dataset was generated from vector drawings ("Quick, Draw" and "Creative Birds"

Subset: (500 MB, 40 000 images) google drive link Full dataset: (14 GB, 927 000 images) onedrive link

Processing ndjson

See generate_quickdraw.py and generate_quickdraw_svg.py. Given path to ndjson, it dumps corresponding svg file and npz keypoints data to the output folder.

Requirements

Python: ndjson, svgpathtools, shapely, simplification

Data Generation

TLDR: Adobe Illustrator + Adobe ExtendScript
Requirements: Windows, Adobe Illustrator

Bugs and Warnings

  • 32-bit only

  • Data leak detected, rendering speed decreases. We recommend reload the program after 500 images (hence loop limits in the code)

  • Bug: your template file (template_mybrush.ai) should be cleared Example

Instructions

  1. Open ExtendScript. Update basePath variable Example
  2. Link with Illustrator (it will load the program) Example
  3. Once you run the script, Illustrator may freeze Example
  4. Observe the progress in Console (top right) Example
Citation
@article{Puhachov2021KeypointPolyvector,
    author = {Ivan Puhachov and William Neveu and Edward Chien and Mikhail Bessmeltsev},
    title = {Keypoint-Driven Line Drawing Vectorization via PolyVector Flow},
    journal = {ACM Transactions on Graphics (Proceedings of SIGGRAPH Asia)},
    volume = {40}, number = {6}, year = {2021}, month = dec,
    doi = {10.1145/3478513.3480529}
}