1. A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to: control a plurality of physical assets to cause each physical asset to output a visual output pattern on one or more visual output elements of the physical asset; capture at least one image of a target physical asset using an image capture device, wherein the at least one image comprises a current state of the one or more visual output elements of the target physical asset, wherein the image capture device is a mobile image capture device whose physical location is not fixed; determine an identification of the target physical asset based on the current state of the one or more visual output elements of the target physical asset; determine a physical location of the target physical asset based on a physical location of the image capture device when the at least one image of the target physical asset was captured; and store location data identifying the determined physical location of the target physical asset in an asset database in association with configuration information for the physical asset.