All Projects → batman-nair → project-defude

batman-nair / project-defude

Licence: other
Refocus an image just by clicking on it with no additional data

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to project-defude

Plant-Disease-Identification-using-CNN
Plant Disease Identification Using Convulutional Neural Network
Stars: ✭ 89 (+28.99%)
Mutual labels:  project, final-year-project
wrangler
Wrangler Transform: A DMD system for transforming Big Data
Stars: ✭ 63 (-8.7%)
Mutual labels:  project
project-based-learning
Curated list of project-based tutorials
Stars: ✭ 73,036 (+105749.28%)
Mutual labels:  project
Awesome Python Scripts
🚀 Curated collection of Awesome Python Scripts which will make you go wow. Dive into this world of 360+ scripts. Feel free to contribute. Show your support by ✨this repository.
Stars: ✭ 198 (+186.96%)
Mutual labels:  project
go-echo-boilerplate
The fastest way to build a restful API with golang and echo framework. Includes common required features for modern web applications. A boilerplate project with golang and Echo.
Stars: ✭ 53 (-23.19%)
Mutual labels:  project
destructible terrain demo
A simple demo on how to create destructible terrain on Godot.
Stars: ✭ 23 (-66.67%)
Mutual labels:  project
alfred-sublime-text
Filter and open your Sublime Text (2 and 3) project files from Alfred.
Stars: ✭ 66 (-4.35%)
Mutual labels:  project
github-project-todo-md
A Tool that sync between GitHub Project Board <-> Todo Markdown text.
Stars: ✭ 17 (-75.36%)
Mutual labels:  project
pais-mvs
Multi-view stereo image-based 3D reconstruction
Stars: ✭ 55 (-20.29%)
Mutual labels:  depth-estimation
made-in-cameroon
A curated list of awesome tools and projects built by Cameroonian developers
Stars: ✭ 14 (-79.71%)
Mutual labels:  project
DSGN
DSGN: Deep Stereo Geometry Network for 3D Object Detection (CVPR 2020)
Stars: ✭ 276 (+300%)
Mutual labels:  depth-estimation
IEEEMAITSongs
Songs Lyrics Fetcher using Python on Frontend via Brython 🔥
Stars: ✭ 23 (-66.67%)
Mutual labels:  project
assign-one-project-github-action
Automatically add an issue or pull request to specific GitHub Project(s) when you create and/or label them.
Stars: ✭ 140 (+102.9%)
Mutual labels:  project
helm-fzf
Fzf using Helm as a front end
Stars: ✭ 16 (-76.81%)
Mutual labels:  project
DiverseDepth
The code and data of DiverseDepth
Stars: ✭ 150 (+117.39%)
Mutual labels:  depth-estimation
HRM Software
Human resource management C# based with SQL database desktop software.
Stars: ✭ 22 (-68.12%)
Mutual labels:  project
node-js-project-structure
No description or website provided.
Stars: ✭ 21 (-69.57%)
Mutual labels:  project
iam
企业级的 Go 语言实战项目:认证和授权系统
Stars: ✭ 1,900 (+2653.62%)
Mutual labels:  project
mcnp
📊复杂网络建模课程设计. The project of modeling of complex networks course.
Stars: ✭ 69 (+0%)
Mutual labels:  project
ATtiny13-TinySolder
T12 Quick Heating Soldering Station
Stars: ✭ 45 (-34.78%)
Mutual labels:  project

Project Defude

Project Defude Project Defude Project Defude

Synthetic Defocusing using Monocular Depth Estimation

Graded blurring of an image based on how far a point is from focus using just a single image with no extra data. To achieve this we generate a depth map for the image using machine learning. Create blurred versions of the image in levels based on how far a point is from the depth of focus. Stitch the different blurred images to create the final image with the selected point fully focussed and points further away become more blurred.

How to run

You'll need to setup Tensorflow v1 and OpenCV for the bare minimum run.

Install a trained model for depth estimation.

sh ./depth/get_model.sh model_kitti depth/

This will download the model which will give the best results for the sample in the repo.

Call main.py with model path and image path

python main.py --model_path /path/to/model --image_path /path/to/image

The image will load up. Clicking anywhere sets that as the point of focus, regenerating the image.

I've actually pushed in the depth data for the sample images, so you can actually run the program without tensorflow or a trained model for the sample images :)

To use our nice GUI

Install dependencies from requirements.txt

Run the gui version as

python gui.py --model_path /path/to/model

Gui version requires some additional packages. Install as necessary.

Depth Estimation

We have used the method based on the paper Unsupervised Monocular Depth Estimation with Left-Right Consistency. You can find more about their amazing paper here. They train a machine learning model to generate a depth map using just a single image.

How the machine learing model is trained in simple terms:

The model is trained on a large set of stereo(left-right) images to generate a right image from a given left image. Generating the right image, the model is learning internally about the depth of various points in the image.

Once the model is trained. We can give it a simple image and it will be able to generate a depth map for that image.

You can learn more about their amazing project on github. Their trained models give way better results than what we can so we are using that. The depth estimation code we have is a minimal stripped down version just to run the model.

The Team

This was done as a final year project by Haritha Paul, Navin Mohan, Roshan V and me.

Leave a star if you liked the project. :)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].