A native Android application implementing Fast Neural Style Transfer for artistic image transformation on mobile devices. Built with custom TensorFlow optimizations and efficient on-device inference.
Download APK - Working demo for Android devices
Note: Enable "Install from unknown sources" in your Android settings
- Real-time Style Transfer: Transform photos with artistic styles inspired by famous painters
- Multiple Art Styles: Van Gogh, Picasso, and other artistic styles available
- 100% On-Device Processing: All inference runs locally - no network required, no data uploaded
- Dynamic Input Support: Handles variable image sizes without predefined tensor dimensions
- Custom Model Optimization: Hand-tuned for mobile hardware constraints
- Intuitive UI: Clean, user-friendly interface with gallery integration
- Performance Optimized: ~4-5 second inference time on modern devices
Inference time: ~4.3 seconds on test device
- Framework: Native Android with TensorFlow Lite
- Model: Custom Fast Neural Style Transfer implementation
- Optimization: TensorFlow C_API integration for performance
- UI: Modern Android Architecture Components
- Custom Architecture: Redesigned Fast Neural Style Transfer network optimized for mobile deployment
- Ultra-Lightweight Model: Reduced to only 210,000 parameters through architectural innovations
- Dynamic Input Handling: Supports variable image dimensions without predefined tensor sizes
- Custom TensorFlow Inference: Hand-written inference pipeline bypassing TensorFlow Lite API limitations
- 100% Offline Processing: Complete on-device inference - no network connection required
- Individual Style Training: Each artistic style trained from scratch for optimal quality
- Android NDK Integration: Native C/C++ components for performance-critical operations
- Privacy-First Design: Zero data upload - all processing stays on your device
- Model size optimization for mobile deployment
- Custom inference pipeline reducing overhead
- Memory-efficient image processing
- Hardware-specific optimizations
- Languages: Java, C++, Python (training)
- Frameworks: Android SDK, TensorFlow, TensorFlow Lite
- Native Development: Android NDK, JNI
- Model Training: TensorFlow (Python)
- Build Tools: Gradle, CMake
- Android Version: 6.0 (API level 23) or higher
- RAM: Minimum 3GB recommended
- Storage: 50MB for app + processing space
- Permissions: Camera, Storage access
- Download the APK from the link above
- Enable "Install from unknown sources" in Android settings
- Install the downloaded APK
- Grant necessary permissions (camera, storage)
- Gallery: Select a photo from your device or take a new one
- Styles: Choose from available artistic styles
- Transfer: Apply the selected style to your image
- Save/Share: Keep your artistic creation or share it
The app includes various artistic styles inspired by:
- Van Gogh: Starry night and post-impressionist styles
- Picasso: Cubist and abstract interpretations
- Abstract Art: Modern artistic transformations
- Classical Paintings: Various historical art movements
- Inference Time: 4-5 seconds (average)
- Model Size: Optimized for mobile deployment
- Memory Usage: Efficient resource management
- Compatibility: Tested on Android 6.0+
The app implements a custom Fast Neural Style Transfer architecture, redesigned from the original paper with significant optimizations for mobile deployment. Through architectural innovations and careful network design, the model achieves high-quality style transfer with only 210,000 parameters - a dramatic reduction from typical implementations while maintaining visual quality.
- Custom Architecture Design: Redesigned Fast Style Transfer architecture from scratch
- Parameter Reduction: Optimized network to only 210,000 parameters through architectural innovations
- Per-Style Training: Individual model training from scratch for each artistic style
- Memory Management: Efficient buffer handling for mobile constraints
- Custom TensorFlow C_API Implementation: Direct native integration bypassing TensorFlow Lite limitations
- Dynamic Tensor Handling: Support for variable input dimensions without predefined sizes
- Zero Network Dependencies: Complete offline functionality - no server communication
- Privacy-Focused Architecture: All processing stays on device, no data transmission
- Asynchronous Processing: Non-blocking UI operations with real-time feedback
- Optimized Memory Management: Efficient resource handling for mobile constraints
Note: Source code is not publicly available. This is a demo application.
The app was built using:
- Custom TensorFlow model training pipeline
- Android Studio with NDK configuration
- TensorFlow Lite model conversion and optimization
- Custom native library compilation
- JNI integration and testing
- Development Year: 2021
- Model Training: Custom dataset and style images
- Testing: Multiple Android devices and versions
- Performance: Optimized for production use
This is a demonstration project. For questions or collaboration opportunities, please reach out through GitHub issues.
This project is a portfolio demonstration. Please contact for licensing information.
Constantin Shafranski
Data Scientist | AI & ML Expert
LinkedIn | GitHub
Built with passion for mobile AI and artistic creativity π¨π±





