|
# Handcrafted solution example for the S23DR competition |
|
|
|
This repo provides an example of a simple algorithm to reconstruct wireframe and submit to S23DR competition. |
|
|
|
|
|
The repo consistst of the following parts: |
|
|
|
- `script.py` - the main file, which is run by the competition space. It should produce `submission.parquet` as the result of the run. |
|
- `hoho.py` - the file for parsing the dataset at the inference time. Do NOT change it. |
|
- `handcrafted_solution.py` - contains the actual implementation of the algorithm |
|
- other `*.py` files - helper i/o and visualization utilities |
|
- `packages/` - the directory to put python wheels for the custom packages you want to install and use. |
|
|
|
## Solution description |
|
|
|
The solution is is simple. |
|
|
|
1. Using provided (but noisy) semantic segmentation called `gestalt`, it taks the centroids of the vertex classes - `apex` and `eave_end_point` and projects them to 3D using provided (also noisy) monocular depth. |
|
2. The vertices are connected using the same segmentation, by checking for edges classes to be present - `['eave', 'ridge', 'rake', 'valley']`. |
|
3. All the "per-image" vertex predictions are merged in 3D space if their distance is less than threshold. |
|
4. All vertices, which have zero connections, are removed. |
|
|
|
|
|
## Example on the training set |
|
|
|
See in [notebooks/example_on_training.ipynb](notebooks/example_on_training.ipynb) |
|
|
|
--- |
|
license: apache-2.0 |
|
--- |
|
|
|
|