Learning to Infer Graphics Programs from Hand-Drawn Images

07/30/2017
by   Kevin Ellis, et al.
0

We introduce a model that learns to convert simple hand drawings into graphics programs written in a subset of . The model combines techniques from deep learning and program synthesis. We learn a convolutional neural network that proposes plausible drawing primitives that explain an image. These drawing primitives are like a trace of the set of primitive commands issued by a graphics program. We learn a model that uses program synthesis techniques to recover a graphics program from that trace. These programs have constructs like variable bindings, iterative loops, or simple kinds of conditionals. With a graphics program in hand, we can correct errors made by the deep network, measure similarity between drawings by use of similar high-level geometric structures, and extrapolate drawings. Taken together these results are a step towards agents that induce useful, human-readable programs from perceptual input.

READ FULL TEXT

page 1

page 6

page 7

page 9

page 10

research
06/04/2018

Program Synthesis from Visual Specification

Program synthesis is the process of automatically translating a specific...
research
06/09/2019

Write, Execute, Assess: Program Synthesis with a REPL

We present a neural program synthesis approach integrating components wh...
research
02/08/2021

Learning from Shader Program Traces

Deep networks for image processing typically learn from RGB pixels. This...
research
11/19/2020

DeepMorph: A System for Hiding Bitstrings in Morphable Vector Drawings

We introduce DeepMorph, an information embedding technique for vector dr...
research
03/02/2021

Dual Reinforcement-Based Specification Generation for Image De-Rendering

Advances in deep learning have led to promising progress in inferring gr...
research
01/20/2022

Physically Embodied Deep Image Optimisation

Physical sketches are created by learning programs to control a drawing ...
research
12/23/2022

Detecting Exploit Primitives Automatically for Heap Vulnerabilities on Binary Programs

Automated Exploit Generation (AEG) is a well-known difficult task, espec...

Please sign up or login with your details

Forgot password? Click here to reset