We consider the bilinear inverse problem of recovering two vectors, and , from their entrywise product. We consider the case where and have known signs and are sparse with respect to known dictionaries of size and , respectively. Here, and may be larger than, smaller than, or equal to . We introduce -BranchHull, which is a convex program posed in the natural parameter space and does not require an approximate solution or initialization in order to be stated or solved. Under the assumptions that and satisfy a comparable-effective-sparsity condition and are – and -sparse with respect to a random dictionary, we present a recovery guarantee in a noisy case. We show that -BranchHull is robust to small dense noise with high probability if the number of measurements satisfy . Numerical experiments show that the scaling constant in the theorem is not too large. We also introduce variants of -BranchHull for the purposes of tolerating noise and outliers, and for the purpose of recovering piecewise constant signals. We provide an ADMM implementation of these variants and show they can extract piecewise constant behavior from real images.