1. A method to create a portrait image in real time with a cell phone camera, the method comprising: receiving an image from a camera and a depth measurement from a depth sensor, the camera and the depth sensor substantially collocated with each other; separating the image into an image of a foreground object and an image of a background object using the depth measurement and a neural network trained to receive the image and the depth measurement and to identify the foreground object and the background object, the neural network running on a processor optimized to execute operations associated with the neural network wherein the neural network comprises a plurality of layers arranged sequentially, each layer in the plurality of layers comprising a plurality of nodes performing a plurality of computations in parallel; measuring an amount of time associated with separating the image into the image of the foreground object and the image of the background object; when the amount of time exceeds a predetermined amount of time, distributing a first plurality of nodes associated with a first layer in the plurality of layers across multiple processors associated with a cell phone until the amount of time is below the predetermined amount of time; blurring the image of the background object; and overlaying the image of the foreground object and the blurred image of the background object to obtain the portrait image.