upscaler
uwg · Kit
Holds a set of image upscaling models gathered from the OpenModelDB community, for people who want to enlarge low-resolution pictures with AI on their own comp…
Finds moments in surveillance video by typing a plain-language description, then returns the best-matching frames with their timestamps. For people who would rather search footage than scrub through it.
CCTV Visual RAG is a kit in the Developer category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page, a zip of its files. Nothing in it runs by itself.
pip install -U huggingface_hub hf download alinawazmahar/cctv-visual-rag --repo-type space --local-dir cctv-visual-rag cd cctv-visual-rag
CCTV Visual RAG lets you search camera footage by describing what you want to see. It samples frames from a video, turns them into CLIP embeddings, and stores them in a FAISS index. A text query is matched against that index, and the closest frames come back with timestamps.
It suits developers and analysts who review recorded video and want to jump to a moment instead of watching all of it. It is also a small, readable example of text-to-image search for people learning CLIP and FAISS.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Security | Footage reviewers | Find a moment in recorded video by description | Search for a person walking |
| Traffic | Road monitoring teams | Spot vehicles in sampled frames | Search for multiple vehicles |
| Software | Developers | Study a CLIP plus FAISS retrieval pipeline | Read the search and video helper files |
| Education | Students | Learn how text queries match images | Compare results for red car and empty road |
Anyone who needs live alerts or object tracking can skip it, since it searches stored frames by text.
The app runs in two places.
| Use case | Who | What they get back |
|---|---|---|
| Moment search | Reviewers | The top matching frames for a typed description |
| Timestamp lookup | Analysts | The time in the video where each match appears |
| Pipeline study | Developers | A working example of frame sampling, embeddings and an index |
The online page needs nothing installed. A local copy needs the following.
pip install -U huggingface_hub hf download alinawazmahar/cctv-visual-rag --repo-type space --local-dir cctv-visual-rag cd cctv-visual-rag pip install gradio==5.34.2 pip install -r requirements.txt python app.py
Type a short description of what you want to find and read the frames and timestamps it returns. On a local copy, this command starts the page.
python app.py
| Tool | What it does |
|---|---|
| CLIP | Turns frames and your text query into embeddings that can be compared |
| FAISS | Holds the frame embeddings and finds the closest ones to a query |
| OpenCV | Pulls frames out of the video |
| Gradio | Provides the page you type into |
You type "red car". The app compares that phrase with the indexed frames and returns the best matches, each with the time in the video where it appears.
If you are new to this, think of it as a search box for video. Type one simple phrase such as person walking and see which frames come up, then try a different phrase and compare.
If you know the field, frames are sampled at 1 FPS and embedded with the CLIP ViT-B/32 model, which is openai/clip-vit-base-patch32. The vectors go into a FAISS IndexFlatIP, so a text embedding is scored against them by inner product. The top K frames come back with timestamps. Sampling at one frame per second means brief events can fall between samples.
The Space keeps the sampled frames and the index in its own repository folders. Its README lists no benchmark numbers.
Finds moments in surveillance video by typing a plain-language description, then returns the best-matching frames with their timestamps. For people who would rather search footage than scrub through it.
Made by alinawazmahar on Hugging Face. These notes are Mindket's, written from its Space page and README; the app's own files and license are on Hugging Face.
What it is: CCTV Visual RAG lets you search camera footage by describing what you want to see. It samples frames from a video, turns them into CLIP embeddings, and stores them in a FAISS index. A text query is matched against that index, and the closest frames come back with timestamps.
Who it suits: It suits developers and analysts who review recorded video and want to jump to a moment instead of watching all of it. It is also a small, readable example of text-to-image search for people learning CLIP and FAISS.
Industry | Who uses it | How they use it | Example
Security | Footage reviewers | Find a moment in recorded video by description | Search for a person walking
Traffic | Road monitoring teams | Spot vehicles in sampled frames | Search for multiple vehicles
Software | Developers | Study a CLIP plus FAISS retrieval pipeline | Read the search and video helper files
Education | Students | Learn how text queries match images | Compare results for red car and empty road
Anyone who needs live alerts or object tracking can skip it, since it searches stored frames by text.
Where to use it: The app runs in two places.
Use case | Who | What they get back
Moment search | Reviewers | The top matching frames for a typed description
Timestamp lookup | Analysts | The time in the video where each match appears
Pipeline study | Developers | A working example of frame sampling, embeddings and an index
How to set it up: The online page needs nothing installed. A local copy needs the following.
pip install -U huggingface_hub
hf download alinawazmahar/cctv-visual-rag --repo-type space --local-dir cctv-visual-rag
cd cctv-visual-rag
pip install gradio==5.34.2
pip install -r requirements.txt
python app.py
How to use it: Type a short description of what you want to find and read the frames and timestamps it returns. On a local copy, this command starts the page.
python app.py
Tool | What it does
CLIP | Turns frames and your text query into embeddings that can be compared
FAISS | Holds the frame embeddings and finds the closest ones to a query
OpenCV | Pulls frames out of the video
Gradio | Provides the page you type into
Example: You type "red car". The app compares that phrase with the indexed frames and returns the best matches, each with the time in the video where it appears.
For newcomers and experts: If you are new to this, think of it as a search box for video. Type one simple phrase such as person walking and see which frames come up, then try a different phrase and compare.
If you know the field, frames are sampled at 1 FPS and embedded with the CLIP ViT-B/32 model, which is openai/clip-vit-base-patch32. The vectors go into a FAISS IndexFlatIP, so a text embedding is scored against them by inner product. The top K frames come back with timestamps. Sampling at one frame per second means brief events can fall between samples.
Video sampled at 1 frame a second
CLIP embeds each frame
FAISS indexes the embeddings
Your text query is embedded too
Top frames return with timestamps
Good to know: The Space keeps the sampled frames and the index in its own repository folders. Its README lists no benchmark numbers.
Open the Space in your browser, or copy it to your own Hugging Face account from its page. Nothing in this kit runs by itself.
README.md 5 KB
Listed Hugging Face Spaces in the same category that share the most tags with this one.
| Product | Likes | Built with | License | Last change |
|---|---|---|---|---|
| CCTV Visual RAG This page | 2 | gradio | mit | |
| First Order Motion Model 中文展示版Shares computer-vision · gradio | 1 | gradio | mit | |
| FLUX.1 [dev]Shares gradio | 9,583 | gradio | mit | |
| InstantIDShares gradio | 3,659 | gradio | apache-2.0 | |
| Chat With Janus-Pro-7BShares gradio | 2,036 | gradio | mit | |
| PhotoMakerShares gradio | 1,960 | gradio | apache-2.0 |
uwg · Kit
Holds a set of image upscaling models gathered from the OpenModelDB community, for people who want to enlarge low-resolution pictures with AI on their own comp…
nerijs · Kit
A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…
microsoft · Kit
Turns written conversations into spoken audio with up to four speakers and about 90 minutes of speech, an open Microsoft text-to-speech model for research on p…
masterofaudio2077 · Kit
Reads Egyptian Arabic text aloud and follows the short vowel marks you write into it. A fine-tune of VoiceTut-TTS that keeps its 19 built-in voices and voice c…
hugging-quants · Kit
Runs Meta's Llama 3.1 8B Instruct chat model in 4-bit AWQ form, so it fits on a GPU with about 4 GiB of free memory for the weights. For developers who want a…
besktech · Kit
Scores a Russian-first decision from a context and a list of options, giving a probability for yes/no, choice or rating questions. Runs on a plain CPU, for tea…