NVIDIA / NVIDIA/NeMo-Retriever

[FEA]: Deduplicate images that match any tables or charts

Open
#389 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
Dominant language
Python
Stars
3k
Forks
349
Avg merge
1d 23h
Merged PRs (30d)
116

Description

Is this a new feature, an improvement, or a change to existing functionality?

New Feature

How would you describe the priority of this feature request

Significant improvement

Please provide a clear description of problem this feature solves

When ingesting PDFs using nv-ingest, we often see duplicate extractions for the same visual element. For example, a chart might be detected both as a “chart” (via the YOLOX-based detection pipeline) and as an “image” (extracted directly from the PDF’s raw data). This leads to repeated entries referencing effectively the same content. In other cases, a large single figure is decomposed into smaller images, and then also recognized via the chart/table detection, further duplicating results.

Users have reported that in research papers and technical PDFs, these duplicates clutter downstream applications (like RAG or multi-modal analytics) with multiple references to the same entity, forcing a manual deduplication step.

Describe the feature, and optionally a solution or implementation and any alternatives

The deup stage in the pipeline may be a good place to implement post-processing to deduplicate or merge these overlapping detections. One alternative is to check Overlapping Bounding Boxes: If a bounding box from the “raw PDF extraction” phase substantially overlaps or exactly covers the bounding box from a YOLOX chart/table detection, treat them as one entity. We would likely want to keep the tables and charts and drop the images if they are duplicates.

Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the pipeline's deup stage and the code handling raw PDF images alongside YOLOX chart and table detections. Review how bounding boxes and element types are represented, then define completion as merging or dropping substantially overlapping image detections while retaining the corresponding tables or charts, with coverage for the duplicate cases described.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.