All Projects → Gauravv97 → CameraBlur

Gauravv97 / CameraBlur

Licence: Apache-2.0 license
Android app for blurring image background using machine learning

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to CameraBlur

magisk-pixel2-features
A magisk module that provides Pixel 2 Features like Google Lens, Google Camera w/ Motion Pictures and Ambient Sense w/ Music Matching
Stars: ✭ 27 (-50.91%)
Mutual labels:  pixel2
liveGestureDemo
仿映客双屏直播,OpenCV 竖屏检测,人脸贴纸
Stars: ✭ 26 (-52.73%)
Mutual labels:  portrait-mode
Mmsegmentation
OpenMMLab Semantic Segmentation Toolbox and Benchmark.
Stars: ✭ 2,875 (+5127.27%)
Mutual labels:  deeplabv3
Segmentation models.pytorch
Segmentation models with pretrained backbones. PyTorch.
Stars: ✭ 4,584 (+8234.55%)
Mutual labels:  deeplabv3
Bebop-Autonomy-Vision
An autonomous, vision-based Bebop drone.
Stars: ✭ 24 (-56.36%)
Mutual labels:  deeplabv3
LightNet
LightNet: Light-weight Networks for Semantic Image Segmentation (Cityscapes and Mapillary Vistas Dataset)
Stars: ✭ 710 (+1190.91%)
Mutual labels:  deeplabv3
night image semantic segmentation
[ICIP 2019] : This is the official github repository for the paper "What's There in The Dark" accepted in IEEE International Conference in Image Processing 2019 (ICIP19) , Taipei, Taiwan.
Stars: ✭ 25 (-54.55%)
Mutual labels:  deeplabv3
TF SemanticSegmentation
Semantic image segmentation network with pyramid atrous convolution and boundary-aware loss for Tensorflow.
Stars: ✭ 26 (-52.73%)
Mutual labels:  deeplabv3
glDelegateBenchmark
quick and dirty benchmark for TFLite gles delegate on iOS
Stars: ✭ 13 (-76.36%)
Mutual labels:  deeplabv3
Automated-objects-removal-inpainter
Automated object remover Inpainter is a project that combines Semantic segmentation and EdgeConnect architectures with minor changes in order to remove specified object/s from list of 20 objects from all the input photos
Stars: ✭ 88 (+60%)
Mutual labels:  deeplabv3
backscrub
Virtual Video Device for Background Replacement with Deep Semantic Segmentation
Stars: ✭ 691 (+1156.36%)
Mutual labels:  deeplabv3
3D-PV-Locator
Repo for "3D-PV-Locator: Large-scale detection of rooftop-mounted photovoltaic systems in 3D" based on Applied Energy publication.
Stars: ✭ 35 (-36.36%)
Mutual labels:  deeplabv3
image-background-remove-tool
✂️ Automated high-quality background removal framework for an image using neural networks. ✂️
Stars: ✭ 767 (+1294.55%)
Mutual labels:  deeplabv3

CameraBlur:Portrait mode using DeeplabV3+ Semantic Image Segmentation

A simple android app to implement Portrait mode using a single sensor like in Pixel 2 (well not exactly exactly like Pixel 2's). This app allows you to either click image from your phone or select an image from storage and apply the blur. This app can run on ARM32 bit ARM v7A as well as ARM64 ARMv8-A.

Downloads

Download apk from here

Some Samples



Features

  • Select image from storage or click them using camera
  • Blur a variety of subjects (most centered subject will be selected rest will be background).
  • SoftBlur around edges

For developers

I have 3 pre-trained models of different crop sizes Default 1025 px. You can use any one of them but with increased crop size the processing time also increases (by a lot), so use them as per your requirement. Crop size is the size of the image that the input image will be resized to and sent for processing. The output dimensions are always less than crop size.

For using 1537 px: Copy InputSize 1537px\frozen_inference_graph.pband paste it in CameraBlur\app\src\main\assets\.

Then change CameraBlur\app\src\main\java\com\anondev\gaurav\camerablur\DeeplabProcessor.javaline 28

From

public final static int INPUT_SIZE = 1025;

to

public final static int INPUT_SIZE = 1537; 

Changelog

v0.0.2 Added SoftBlur around edges

v0.0.3 Implemented blur using Android RenderScript

v1.0.0 Exported MobilenetV2 model with depth multiplier=0.5(mobilenetv2_dm05_coco_voc_trainaug ). Accuracy is slightly reduced but performance gain is extremely high.

Attributions/Thanks/External code

This application wouldn't have been possible without the great material produced by the community. I would like to give special thanks to the authors of essential parts I've got on the internet and used in the code.:

  • DeepLabv3+:
@article{deeplabv3plus2018,
  title={Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation},
  author={Liang-Chieh Chen and Yukun Zhu and George Papandreou and Florian Schroff and Hartwig Adam},
  journal={arXiv:1802.02611},
  year={2018}
}
  • MobileNetv2:
@inproceedings{mobilenetv22018,
  title={Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segmentation},
  author={Mark Sandler and Andrew Howard and Menglong Zhu and Andrey Zhmoginov and Liang-Chieh Chen},
  booktitle={CVPR},
  year={2018}
}

Photo Credits

About

Copyright 2018 Gaurav Chaudhari, and licensed under the Apache License, Version 2.0. No attribution is necessary but it's very much appreciated. Star this project if you like it!

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].