We consider the bilinear inverse problem of recovering two vectors, and , in from their entrywise product. For the case where the vectors have known signs and belong to known subspaces, we introduce the convex program BranchHull, which is posed in the natural parameter space and does not require an approximate solution or initialization in order to be stated or solved. Under the structural assumptions that and are the members of known and dimensional random subspaces, we prove that BranchHull recovers and up to the inherent scaling ambiguity with high probability, whenever . This problem is motivated by applications in the sweep distortion removal task in dielectric imaging, where one of the signals is a nonnegative reflectivity, and the other signal lives in a known wavelet subspace. Additional potential applications are blind deconvolution and self-calibration.