1. A system for training a visual prosthesis comprising: a) a reference image presentation tool; b) a fitness function optimization algorithm; c) a first processor configured to i) present a non-visual reference stimulus corresponding to a reference image to a user having a visual prosthesis via the reference image presentation tool; ii) output a series of stimulation patterns to the user to induce corresponding user perceived images; and iii) receive a series of user perception inputs corresponding to the respective user perceived images including features of the respective perceived images, wherein at least one stimulation pattern in the series of stimulation patterns is determined at least in part based on the fitness function optimization algorithm and at least one previously received user perception input in the series of user perception inputs; d) a user input device for providing the user perception inputs to the first processor; the user input device configured to accept and output the user perception inputs received by the first processor, the user input device comprising: an array of mechanical projections arranged with respect to a surface, wherein the mechanical projections are configured to be manually movable by a user to form a physical relief corresponding to a perceived image; a plurality of position sensors coupled to respective mechanical projections for determining the position of each mechanical projection with respect to the surface; and a second processor for receiving position information from the plurality of position sensors and for outputting user perception input based on the received position information.