BUG: Unreadable images interrupt the entire AI-tagging process
I maintainer di solito rispondono entro 6 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- opencv, python
- Ambito
- backend, machine-learning
Direzione di ricerca
Inizia da backend/app/models/ObjectClassifier.py e backend/app/utils/images.py; segui come get_classes() gestisce un’immagine che OpenCV non riesce a caricare e come il ciclo di etichettatura aggiorna isTagged. Controlla i test esistenti per la classificazione delle immagini e l’elaborazione in batch. Il lavoro è completato quando le immagini non leggibili vengono ignorate senza interrompere il batch, mentre le immagini elaborate correttamente senza rilevamenti vengono contrassegnate come etichettate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Is there an existing issue for this?
- I have searched the existing issues
What happened?
Description
The AI-tagging process can terminate unexpectedly when PictoPy encounters an image that OpenCV cannot load or decode(corrupt or unsupported image).
In ObjectClassifier.get_classes() (backend/app/models/ObjectClassifier.py), cv2.imread() returns None when an image cannot be loaded. However, image_util_classify_and_face_detect_images() (backend/app/utils/images.py) directly calls len(classes) without checking for None, resulting in a TypeError that interrupts the entire tagging batch.
Expected Behaviour
- Unreadable images should be logged and skipped.
- Their isTagged status should remain False.
- Processing should continue with the remaining images.
- Successfully processed images with no detections should still be marked as tagged.
Actual behaviour
- Application retrieves multiple untagged images from the database.
- YOLO processes images sequentially.
- One image is corrupt or unreadable.
- get_classes() returns None.
- len(None) raises a TypeError.
- The entire tagging batch terminates.
- Remaining images are not processed during that run.
Why Does This Matter?
A single unreadable image can prevent an entire batch of otherwise valid images from receiving AI-generated tags. Handling such failures individually would improve the reliability and stability of PictoPy's AI-tagging pipeline.
Proposed Solution
Handle the None return value before accessing len(classes). Skip the unreadable image and continue processing the remaining images.
Record
- I agree to follow this project's Code of Conduct
- Lingua principale
- Python
- Stelle
- 313
- Fork
- 755
- Merge medio
- 6g 36m
- PR unite (30g)
- 8
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di AOSSIE-Org/PictoPy
-
enhancement possible-duplicate
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
AOSSIE-Org/PictoPy#1715 · 2 commenti ·
I maintainer di solito rispondono entro 6 giorni
-
BUG: /folders/all-folders takes over a second when folders contain both images and videosForse già presa @Saurabhyadav0 l’ha presa 1 giorno fa. Apertabug enhancement possible-duplicate
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
AOSSIE-Org/PictoPy#1708 · 3 commenti ·
I maintainer di solito rispondono entro 6 giorni
-
Add unit tests for personUtils.tsForse già presa @mystic-fae l’ha presa oggi. Apertaenhancement
Difficoltà 1/5 1-3 ore Idoneità per principianti 62/100
AOSSIE-Org/PictoPy#1707 · 3 commenti ·
I maintainer di solito rispondono entro 6 giorni
-
bug possible-duplicate
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
AOSSIE-Org/PictoPy#1700 · 3 commenti ·
I maintainer di solito rispondono entro 6 giorni
-
BUG: Share page returns HTTP 500 when the unlock cookie contains a non-ASCII characterForse di nuovo libera @swastiksharma45 l’ha presa 7 giorni fa e non c’è nessuna pull request aperta. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
AOSSIE-Org/PictoPy#1696 · 6 commenti ·
I maintainer di solito rispondono entro 6 giorni
Tutte le issue di AOSSIE-Org/PictoPy
Issue simili
-
add entry to blockAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
StevenBlack/hosts#3299 ·
-
`garak --report` overwrites the input report when its name has no ".report"Forse già presa @0z5a l’ha presa oggi. Apertaneeds-triage
Difficoltà 2/5 Mezza giornata Idoneità per principianti 72/100
I maintainer di solito rispondono entro 2 giorni
-
plot_graph crashes when a mesh node has no m2m edgeForse già presa @tygvi l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
mllam/neural-lam#883 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
future-agi/future-agi#4092 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
transcript analytics: a text whose only protected spans the prose pass redacts is withheld wholeAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
WingedGuardian/GENesis-AGI#4641 ·
I maintainer di solito rispondono entro 1 giorno