PicQuery  by greyovo

Android app for local image search via natural language

created 2 years ago
431 stars

Top 69.9% on sourcepulse

GitHubView on GitHub
Project Summary

PicQuery enables users to search their local Android image gallery using natural language queries, powered by OpenAI's CLIP model. It offers a privacy-focused, offline solution for efficiently finding images based on descriptive text, benefiting users who manage large personal photo collections and prioritize data security.

How It Works

The application leverages OpenAI's CLIP model to encode both images and text queries into vector representations. These image vectors are stored locally in a database. During a search, the user's text query is encoded into a vector, which is then compared against the indexed image vectors to find the most similar matches. This approach allows for semantic understanding of image content, enabling searches like "kitty in the grass" rather than relying solely on filenames or metadata.

Quick Start & Requirements

  • Installation: Download from Google Play or install via APK from Releases.
  • Prerequisites: Android device. For building from source, requires quantized CLIP model files (clip-image-int8.ort, clip-text-int8.ort or vision_model.ort, text_model.ort) placed in the app/src/main/assets directory.
  • Setup: First launch requires indexing, with subsequent searches reportedly under 1 second for 8,000+ photos.
  • Links: Google Play, Releases, Queryable (iOS inspiration)

Highlighted Details

  • Completely offline operation for indexing and searching.
  • Supports both English and Chinese natural language queries.
  • Claims search results in under 1 second for over 8,000 photos.
  • Free with no in-app purchases.

Maintenance & Community

The project acknowledges contributions from @mazzzystar and @Young-Flash. Discussions can be found via a provided link.

Licensing & Compatibility

  • License: MIT License.
  • Compatibility: Permissive license suitable for commercial use and integration with closed-source applications.

Limitations & Caveats

The FAQ notes potential FileNotFoundException or InvocationTargetException if model files are not correctly placed in the app/src/main/assets directory, indicating a manual step is required for building from source.

Health Check
Last commit

3 weeks ago

Responsiveness

1 week

Pull Requests (30d)
1
Issues (30d)
0
Star History
26 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.