YoungIT / godeye-core

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GodEye

Contributors Forks Stargazers Issues LinkedIn


Logo

GodEye

An open-source image OSINT tool
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Product Name Screen Shot

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

Web demo

A demo of the app can be accessed at this url: https://godeye.yitec.net

Getting Started

Prerequisites

  • Python 3.8
  • GPU with cuda support

Installation

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

Pipeline selection

Depending on the pipeline that you select, you will need to install specific pretrained models and metadatas.

TIBHannover (default)

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

Running with Docker

For simplicity, you can run the whole system with an interactive demo with a single Docker command

docker compose up -d

Running manually

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.

Change the type of pipeline

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

Roadmap

See the open issues for a full list of proposed features (and known issues).

Contributing

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!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

YITEC - contact@yitec.group

Project Link: https://github.com/YoungIT/godeye-core

(back to top)

License

GodEye has Apache 2.0 license, which can be found in the LICENSE file

About


Languages

Language:Python 100.0%