AI Image Engine is a modern, high-performance Android application designed for smart photo management. It leverages advanced AI models and local processing to help users organize, analyze, and optimize their photo library.
- Exact Duplicate Finding: Identifies identical files based on size and metadata.
- Perceptual Hashing: Uses advanced algorithms to find visually similar photos even if they have different resolutions or formats.
- Space Optimization: Calculates potential savings and provides a streamlined interface to resolve duplicate groups.
- Cloud Analysis (NVIDIA NIM): Integrates with NVIDIA's Vision Language Models (VLM) for deep semantic understanding of image content.
- Smart Tagging: Automatically generates descriptive tags and categories for your photos.
- Image Insights: Detects objects, scenes, and faces to make your gallery searchable by content.
- Smart Albums: Auto-organizes photos into categories like Nature, People, Documents, etc.
- Secure Operations: Robust file operations (Move, Copy, Delete) with progress tracking.
- Optimized Performance: Multi-level caching (Memory & Disk) for smooth scrolling and fast image loading.
- Modern UI: Built entirely with Jetpack Compose following Material 3 guidelines.
- Clean Architecture: Separation of concerns using Repository pattern and MVVM.
- Performance Monitoring: Real-time tracking of thermal states and processing metrics to ensure device stability.
- Language: Kotlin
- UI Framework: Jetpack Compose (Material 3)
- Dependency Injection: Hilt (Dagger)
- Database: Room Persistence Library
- Networking: Retrofit & OkHttp
- Image Loading: Coil
- Concurrency: Kotlin Coroutines & Flow
- Background Tasks: WorkManager
- AI Integration: NVIDIA NIM API, Custom Perceptual Hashing
com.ai.imageengine/
├── api/ # Retrofit interfaces for AI services
├── compression/ # Image compression logic
├── database/ # Room DB entities and DAOs
├── di/ # Hilt dependency injection modules
├── ml/ # AI/ML analysis (SmartPhotoAnalyzer)
├── repository/ # Data layer coordination
├── similarity/ # Visual similarity & duplicate detection
├── ui/ # Compose screens and components
├── utils/ # Helper classes (ImageProcessing, Thermal)
└── viewmodel/ # UI state management
- Clone the repository
- Add your API Keys: Update the
Config.kt(or equivalent) with your NVIDIA NIM API credentials. - Build: Open in Android Studio (Ladybug or newer) and sync Gradle.
- Run: Deploy to an Android device (API 24+).
This project is licensed under the MIT License.