Table of Contents
Here's a blank template to get started: To avoid retyping too much info. Do a search and replace with your text editor for the following: github_username
, godeye-core
, twitter_handle
, linkedin_username
, email_client
, email
, project_title
, project_description
A demo of the app can be accessed at this url: https://godeye.yitec.net
- Python 3.8
- GPU with cuda support
To run the project, please refer to the following steps
Clone the project and update the submodules
git clone https://github.com/YoungIT/godeye-core
cd godeye-core
git submodule update --init --remote
Depending on the pipeline that you select, you will need to install specific pretrained models and metadatas.
To run the TIBHannover pipeline manually, you need to download the pretrained model.
mkdir -p resources/tibhannover/models
wget https://github.com/TIBHannover/GeoEstimation/releases/download/pytorch/epoch.014-val_loss.18.4833.ckpt -O resources/tibhannover/models/epoch=014-val_loss=18.4833.ckpt
For simplicity, you can run the whole system with an interactive demo with a single Docker command
docker compose up -d
If you want to run the whole system manually, you can refer to the following steps.
First, create a seperated conda environment
conda create -n py38_godeye python=3.8 -y
conda activate py38_godeye
Install the required dependencies
pip install -e .
To run the pipeline that will produce a prediction based on an image, run the following command
python src/core/core.py img=[YOUR IMAGE PATH]
For example, you could run with a sample image from the assets
directory
python src/core/core.py img=assets/imgs/london.jpeg
The output contains a list of coordinates that are possibly the location where the image was taken. You can copy and paste one of the coordinate into Google Maps to see the exact location.
You can customize the pipeline that is used to predict the image location by overriding running parameters. This section shows a list of supported pipeline and their corresponding command
Pipeline | Description | Run command |
---|---|---|
StreetClip + city | Use StreetClip with candidate classname set to cities | python src/core/core.py candidate-generation=streetclip geo-estimation=city-to-coord location-ranking=random metadata-extractor=empty img=YOUR_IMAGE_PATH |
StreetClip + country | with candidate classname set to country | python src/core/core.py candidate-generation=streetclip geo-estimation=country-to-coord location-ranking=random metadata-extractor=empty img=YOUR_IMAGE_PATH |
TIBHannover | Use TIBHannover to produce the coordinate | python src/core/core.py candidate-generation=streetclip geo-estimation=tibhannover location-ranking=random metadata-extractor=exif img=YOUR_IMAGE_PATH |
- Integrate TIB Hannover geolocation
- Integrate Streetclip
- Intergrate google streetview with image comparison
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
YITEC - [email protected]
Project Link: https://github.com/YoungIT/godeye-core
GodEye has Apache 2.0 license, which can be found in the LICENSE file