cropping images leads to poorer results
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 22/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Área
- machine-learning
Línea de trabajo
Start by running the reproduction script on the attached images.zip, comparing the detection output for the original and cropped versions of each image; the predictor is built by ocr_predictor with db_resnet34, crnn_vgg16_bn, assume_straight_pages=False and straighten_pages=True. Find where the two runs diverge (detection boxes or page straightening, not recognition alone). Done means either a documented explanation of the difference or a reproducible case with a proposed change. The thread has no comments, so expect to work without maintainer guidance.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Bug description
In order to save memory I am cropping images from shape (1080, 1920, 3) to shape (1080, 1080, 3).
In the original image docTR is able to find all the numbers that I am looking for.
In the same but cropped image docTR does not find all numbers.
I would expect the results to be the same.
Is there a reason for the results I am getting?
Code snippet to reproduce the bug
from pathlib import Path
import cv2
from doctr.io import DocumentFile
from doctr.models import ocr_predictor
# initialize OCR predictor
predictor = ocr_predictor(
det_arch="db_resnet34",
reco_arch="crnn_vgg16_bn",
pretrained=True,
assume_straight_pages=False,
straighten_pages=True,
)
for i in range(1, 5):
print(f"\nProcessing image #{i}:")
for crop in [False, True]:
if crop:
preprocessed_image_filename = f"image_{i}__cropped.png"
else:
preprocessed_image_filename = f"image_{i}__original.png"
preprocessed_image_path = Path(__file__).parent / "images" / preprocessed_image_filename
# Load the preprocessed image
preprocessed = cv2.imread(str(preprocessed_image_path))
# Load OCR predictor with requested models
_, buf = cv2.imencode(".png", preprocessed)
doc = DocumentFile.from_images(buf.tobytes())
# Run OCR
result = predictor(doc)
# Print plain text result
output_text = ""
for page in result.pages:
for block in page.blocks:
for line in block.lines:
output_text += " ".join(w.value + " " for w in line.words)
print(f"OCR Result for {preprocessed_image_filename} (Crop: {crop}):\n{output_text}\n")
Error traceback
running the script gives the following output:
Processing image #1:
OCR Result for image_1__original.png (Crop: False):
490374 303 2 -
OCR Result for image_1__cropped.png (Crop: True):
- - - - - - - 49037 - - - - - ( - 0. 2 I à - - à - . r . - - - a à - - -
Processing image #2:
OCR Result for image_2__original.png (Crop: False):
489556 5022 - - à 1
OCR Result for image_2__cropped.png (Crop: True):
. 2 I a - - . - - - 5022 - - - - - - - - I 89556
Processing image #3:
OCR Result for image_3__original.png (Crop: False):
489556 303 S 2 A
OCR Result for image_3__cropped.png (Crop: True):
. I - ( 2 G - - - - - I - - - - - 56 1
Processing image #4:
OCR Result for image_4__original.png (Crop: False):
- 5 489556 3012 à
OCR Result for image_4__cropped.png (Crop: True):
A 489556 a à - - - - - I - I - - - - à I I
Environment
Collecting environment information...
DocTR version: v1.0.0
PyTorch version: 2.7.1+cu126 (torchvision 0.22.1+cu126)
OpenCV version: 4.11.0
OS: Ubuntu 24.04.2 LTS
Python version: 3.12.3
Is CUDA available (PyTorch): No
CUDA runtime version: Could not collect
GPU models and configuration: Could not collect
Nvidia driver version: Could not collect
cuDNN version: Could not collect
- Lenguaje dominante
- Python
- Estrellas
- 6.4k
- Forks
- 684
- Merge medio
- 20 h 28 min
- PR fusionados (30 d)
- 28
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de mindee/doctr
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
Los mantenedores suelen responder en 1 día
-
ext: tests topic: ci type: enhancement
Dificultad 3/5 Medio día Aptitud para principiantes 45/100
mindee/doctr#2171 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Per-task YAML configuration for the reference training scriptsPosiblemente ocupada @felixdittrich92 la tomó hace 19 días. Abiertoext: references topic: documentation type: new feature
mindee/doctr#2149 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Release tracker - v1.2.0Quizá libre de nuevo @felixdittrich92 la tomó hace 61 días y no hay ningún pull request abierto. Abiertocritical
mindee/doctr#2126 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
[table structure] Extend table structure datasetQuizá libre de nuevo @simont2k la tomó hace 82 días y no hay ningún pull request abierto. Abiertotopic: table comprehension
mindee/doctr#2119 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de mindee/doctr
Issues similares
-
documentation good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
drevendev/HungryCrab#273 ·
Los mantenedores suelen responder en 1 día
-
good first issue help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
drevendev/BeautifulRepo#19 ·
Los mantenedores suelen responder en 2 días
-
Moonshot: Kimi K3 always sends `reasoning_effort="max"`, though the API now accepts `low` and `high`Abiertoaccepted
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
UKGovernmentBEIS/inspect_ai#5939 ·
Los mantenedores suelen responder en 1 día
-
bug linux
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Fill paper for Screen2WordsAbiertoarea:data data-quality
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
reacher-z/Awesome-CUA#1468 ·
Los mantenedores suelen responder en 1 día