Smart Library Shelf Auditing System
Automated book identification and placement verification using YOLO and multi-feature analysis
Overview
Contributed to the development of an automated library shelf auditing system using computer vision for real-time book detection, identification, and shelf auditing. This project was developed for the National Library of Luxembourg, enabling efficient visual inventory management across their extensive collection.
Project Context
I worked on vision-based inventory management solutions, deploying YOLO and feature matching techniques to automate visual auditing workflows.
System Architecture
graph TD
classDef input fill:#e1f5fe,stroke:#01579b,stroke-width:2px,color:#000000;
classDef process fill:#f3e5f5,stroke:#4a148c,stroke-width:2px,color:#000000;
classDef result fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px,color:#000000;
classDef feature fill:#fff3e0,stroke:#e65100,stroke-width:2px,color:#000000;
A(["Camera Input<br/>(Shelf Image/Video)"]) --> B["YOLO Book Detection<br/>(Spine Localization)"]
subgraph Identification ["Identification Methods"]
direction LR
C["Data Matrix Decode<br/>(Primary Path)"]
D["Feature-Based<br/>Identification<br/>(Fallback Path)"]
end
B --> C
B --> D
D --> E["Multi-Descriptor Matching"]
subgraph Descriptors ["Feature Extractors"]
direction LR
F["SIFT"] ~~~ G["LBP"] ~~~ H["Gabor"] ~~~ I["HOG"]
end
E --> Descriptors
C --> J(["Inventory Database<br/>(Present / Missing / Wrong Order / Misshelved)"])
Descriptors --> J
class A input;
class B,C,D,E process;
class F,G,H,I feature;
class J result;
Detection Pipeline
Primary Path: Barcode Decoding
- Data Matrix / ISBN barcode detection
- Direct database lookup for instant identification
- Works best for books with visible, undamaged barcodes
Fallback Path: Feature Matching
When barcodes are unreadable, the system uses multi-descriptor matching with books in database:
| Descriptor | Purpose | Strength |
|---|---|---|
| SIFT | Scale-invariant features | Rotation/scale robust |
| LBP | Texture patterns | Lighting invariant |
| Gabor | Frequency/orientation | Pattern recognition |
| HOG | Shape gradients | Structural features |
Inventory Status Detection
| Status | Description | Action |
|---|---|---|
| ✅ Present | Book in correct location | No action needed |
| ❌ Missing | Book not found on shelf | Alert librarian |
| ❌ Wrong Order | Book in wrong order | Alert librarian |
| ⚠️ Misshelved | Book in wrong location | Alert librarian |
| ⚠️ Extra | Unlisted book detected | Alert librarian |
Technologies Used
| Category | Tools |
|---|---|
| Object Detection | YOLO |
| Feature Extraction | SIFT, ORB, LBP, HOG, Gabor |
| Barcode | Data Matrix |
| Framework | OpenCV, PyTorch |
| Languages | Python |