Skip to content

Needle: A Database for Image Content Retrieval using Natural Language Queries

License

Notifications You must be signed in to change notification settings

UIC-InDeXLab/Needle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✨ Needle: A Database for Image Content Retrieval

Needle is an advanced system for Image retrieval, designed to empower researchers and developers with a powerful tool for querying images using natural language descriptions. It’s based on the research presented in our paper, introducing a novel approach to efficient and scalable retrieval.

🚀 Why Needle?

  • Seamlessly retrieve image content from large datasets.
  • Extendable and modular design to fit various research needs.
  • Backed by cutting-edge research for accurate and robust retrieval.
  • 200% improvement over CLIP from OpenAI

🎥 Demonstration

In this demonstration, we demonstrate Needle's effectiveness on complex natural language queries. In default configuration, Needle generates 4 base images (k = 4) with image size 512x512.

Demo


⚙️ Installation

Installing Needle is quick and straightforward. Make sure you have Docker and Docker Compose installed, then, use the one-liner below to install Needle:

curl -fsSL https://raw.githubusercontent.com/UIC-InDeXLab/Needle/main/scripts/install.sh -o install.sh && bash install.sh && rm install.sh 

Then, you can start needle service using this command:

needlectl service start

🧹 Uninstallation

To uninstall Needle, run:

curl -fsSL https://raw.githubusercontent.com/UIC-InDeXLab/Needle/main/scripts/uninstall.sh | bash  

🔍 A Little About needlectl

needlectl is the core command-line utility for interacting with Needle. It allows you to:

  • 🔎 Perform searches on multimedia datasets.
  • 🛠️ Add or update image datasets (directories) for retrieval. With needlectl, you can easily integrate Needle into your workflows for seamless and intuitive operation. More on needlectl in here

📚 Reference

Needle is developed as part of the research presented in our paper:

If you use Needle in your work, please cite our paper to support the project:

@article{erfanian2024needle,
  title={Needle: A Generative-AI Powered Monte Carlo Method for Answering Complex Natural Language Queries on Multi-modal Data},
  author={Erfanian, Mahdi and Dehghankar, Mohsen and Asudeh, Abolfazl},
  journal={arXiv preprint arXiv:2412.00639},
  year={2024}
}

🌟 Contributions & Feedback

We welcome contributions, feedback, and discussions! Feel free to open issues or submit pull requests in our GitHub repository.

Let’s build the future of multimodal content retrieval together!