  Self-occlusion is challenging for cloth manipulation, as it makes it
difficult to estimate the full state of the cloth. Ideally, a robot trying to
unfold a crumpled or folded cloth should be able to reason about the cloth's
occluded regions. We leverage recent advances in pose estimation for cloth to
build a system that uses explicit occlusion reasoning to unfold a crumpled
cloth. Specifically, we first learn a model to reconstruct the mesh of the
cloth. However, the model will likely have errors due to the complexities of
the cloth configurations and due to ambiguities from occlusions. Our main
insight is that we can further refine the predicted reconstruction by
performing test-time finetuning with self-supervised losses. The obtained
reconstructed mesh allows us to use a mesh-based dynamics model for planning
while reasoning about occlusions. We evaluate our system both on cloth
flattening as well as on cloth canonicalization, in which the objective is to
manipulate the cloth into a canonical pose. Our experiments show that our
method significantly outperforms prior methods that do not explicitly account
for occlusions or perform test-time optimization. Videos and visualizations can
be found on our
$\href{https://sites.google.com/view/occlusion-reason/home}{\text{project
website}}.$
