|
## Quick start: landmark detection |
|
|
|
[](https://arxiv.org/abs/1812.01584) |
|
|
|
### Install DELF library |
|
|
|
To be able to use this code, please follow |
|
[these instructions](INSTALL_INSTRUCTIONS.md) to properly install the DELF |
|
library. |
|
|
|
### Download Oxford buildings dataset |
|
|
|
To illustrate detector usage, please download the Oxford buildings dataset, by |
|
following the instructions |
|
[here](EXTRACTION_MATCHING.md#download-oxford-buildings-dataset). Then, create |
|
the file `list_images_detector.txt` as follows: |
|
|
|
```bash |
|
# From tensorflow/models/research/delf/delf/python/examples/ |
|
echo data/oxford5k_images/all_souls_000002.jpg >> list_images_detector.txt |
|
echo data/oxford5k_images/all_souls_000035.jpg >> list_images_detector.txt |
|
``` |
|
|
|
### Download detector model |
|
|
|
Also, you will need to download the pre-trained detector model: |
|
|
|
```bash |
|
# From tensorflow/models/research/delf/delf/python/examples/ |
|
mkdir parameters && cd parameters |
|
wget http://storage.googleapis.com/delf/d2r_frcnn_20190411.tar.gz |
|
tar -xvzf d2r_frcnn_20190411.tar.gz |
|
``` |
|
|
|
**Note**: this is the Faster-RCNN based model. We also release a MobileNet-SSD |
|
model, see the [README](README.md#pre-trained-models) for download link. The |
|
instructions should work seamlessly for both models. |
|
|
|
### Detecting landmarks |
|
|
|
Now that you have everything in place, running this command should detect boxes |
|
for the images `all_souls_000002.jpg` and `all_souls_000035.jpg`, with a |
|
threshold of 0.8, and produce visualizations. |
|
|
|
```bash |
|
# From tensorflow/models/research/delf/delf/python/examples/ |
|
python3 extract_boxes.py \ |
|
--detector_path parameters/d2r_frcnn_20190411 \ |
|
--detector_thresh 0.8 \ |
|
--list_images_path list_images_detector.txt \ |
|
--output_dir data/oxford5k_boxes \ |
|
--output_viz_dir data/oxford5k_boxes_viz |
|
``` |
|
|
|
Two images are generated in the `data/oxford5k_boxes_viz` directory, they should |
|
look similar to these ones: |
|
|
|
 |
|
 |
|
|
|
### Troubleshooting |
|
|
|
#### `matplotlib` |
|
|
|
`matplotlib` may complain with a message such as `no display name and no |
|
$DISPLAY environment variable`. To fix this, one option is add the line |
|
`backend : Agg` to the file `.config/matplotlib/matplotlibrc`. On this problem, |
|
see the discussion |
|
[here](https://stackoverflow.com/questions/37604289/tkinter-tclerror-no-display-name-and-no-display-environment-variable). |
|
|