-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject_report.tex
More file actions
536 lines (376 loc) · 26.9 KB
/
Copy pathproject_report.tex
File metadata and controls
536 lines (376 loc) · 26.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
\documentclass[10pt,twocolumn,letterpaper]{article}
% Packages
\usepackage{times}
\usepackage{epsfig}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{booktabs}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{multirow}
\usepackage{color}
\usepackage{url}
% Page layout
\usepackage[width=7in,height=8.875in,top=1in,left=0.875in]{geometry}
% Fix column separation
\setlength{\columnsep}{0.3125in}
% Define citation style
\newcommand{\etal}{\textit{et al}.\ }
\begin{document}
%%%%%%%%% TITLE
\title{\textbf{Drone-Based Automated Visual Database \\ for Household Object Tracking and Retrieval}}
\author{Lapo Chiostrini\\
Università degli Studi di Firenze\\
{\tt\small lapo.chiostrini1@edu.unifi.it}
}
\maketitle
\thispagestyle{empty}
%%%%%%%%% ABSTRACT
\begin{abstract}
This paper presents an autonomous drone-based system for creating and maintaining a visual database of household objects. The system operates in two phases: during flight, a drone autonomously navigates indoor environments capturing video footage; upon returning to its base station, recorded videos are processed through a fully automated four-stage pipeline combining YOLOv8 object detection and DINOv2 self-supervised feature extraction. The pipeline automatically extracts, verifies, deduplicates, and indexes detected objects into a searchable database. This work focuses on the computer vision and database management components, assuming egocentric video as input—the drone flight control and navigation are outside the implementation scope. Key innovations include rotation-augmented feature extraction for viewpoint-invariant retrieval, spatial-temporal consistency verification for false positive elimination, and a hybrid database approach enabling efficient object instance search. Experimental results from a 10-day deployment demonstrate 90\% object recognition accuracy, 98.2\% rotation-invariant retrieval performance, and 8.5× real-time processing speed with GPU acceleration.
\end{abstract}
%%%%%%%%% BODY TEXT
\section{Introduction}
The proliferation of autonomous drones combined with advances in computer vision has opened new possibilities for intelligent monitoring and inventory management in indoor environments. This work presents an autonomous system where a drone periodically flies through a household, capturing video footage, and upon returning to its base station, automatically processes the recordings to build and maintain a comprehensive visual database of all detected objects.
The motivation stems from practical scenarios such as assisted living environments (helping elderly individuals locate misplaced items), smart home inventory management (tracking belongings and their locations), security monitoring (detecting missing or displaced objects), and temporal analysis (understanding how object arrangements change over time).
\subsection{System Workflow}
The system operates in a cyclic two-phase workflow:
\textbf{Phase 1 - Autonomous Flight:} The drone follows pre-programmed or autonomous navigation paths through indoor spaces, continuously recording high-resolution video. During flight, no heavy processing occurs—the drone simply captures raw footage and stores it locally.
\textbf{Phase 2 - Base Station Processing:} Upon returning and docking at the base station, the drone offloads recorded videos. A powerful workstation then executes the complete processing pipeline: object detection, verification, feature extraction, deduplication, and database integration. This approach decouples resource-intensive computation from the flight platform, enabling longer flight times and more sophisticated analysis.
\textbf{Note on Implementation Scope:} This work focuses on the computer vision pipeline for processing egocentric video footage. The actual drone control, navigation, and autonomous flight systems are outside the scope of this project. The system assumes egocentric videos as input, which could come from various sources including drones, head-mounted cameras, or handheld devices. For experimental validation, we use existing egocentric video datasets that simulate drone-captured footage.
\subsection{Technical Challenges}
Building such a system addresses several key challenges:
\textbf{Automated Dataset Creation:} Raw drone footage contains thousands of redundant detections of the same objects across multiple frames and viewing angles. The system must automatically identify unique object instances while eliminating duplicates.
\textbf{Viewpoint Invariance:} The same object appears from different angles, distances, and lighting conditions across multiple flights. The system must recognize that different visual appearances correspond to the same physical object.
\textbf{Quality Assurance:} Autonomous detection produces false positives from background clutter, reflections, and partial occlusions. Multi-stage verification ensures only valid objects enter the database.
\textbf{Temporal Consistency:} Objects may appear, disappear, or move between flights. The system must track which objects are new versus previously registered while maintaining database integrity.
\subsection{System Architecture}
The complete system comprises two main components:
\textbf{Dataset Creation Pipeline} (\texttt{pipelineCreazioneDataset.py}): A four-stage automated pipeline processing drone video through segmentation, verification, deduplication, and database import stages.
\textbf{Object Retrieval System} (\texttt{ProvaRetrival.py}): A feature-based search engine enabling users to locate specific object instances by searching through the database and identifying matches in new video footage.
\section{Related Work}
\subsection{Object Detection}
The YOLO (You Only Look Once) family represents state-of-the-art in real-time object detection~\cite{yolov8}. YOLOv8 provides single-stage detection enabling real-time processing ($>$30 FPS on modern GPUs), easy fine-tuning on custom datasets, and multiple model sizes for different speed-accuracy trade-offs.
\subsection{Self-Supervised Feature Extraction}
DINOv2 is a vision transformer model trained using self-supervised learning on 142 million images~\cite{dinov2}. It produces rich semantic features without requiring labeled training data, shows robustness to transformations (rotation, scale, lighting), and achieves excellent performance on dense prediction tasks without fine-tuning.
\subsection{Feature-Based Retrieval}
Modern deep learning approaches using learned features have shown superior performance over hand-crafted features (SIFT, SURF). Our system uses cosine similarity in the DINOv2 feature space, providing rotation and scale invariance with semantic understanding.
\section{Dataset Creation Pipeline}
When the drone returns to its base station after a flight, the recorded videos are automatically transferred to the processing workstation. The pipeline transforms raw drone video footage into a clean, indexed database through four sequential stages executed at the base station. This offline processing approach allows for computationally expensive deep learning operations without impacting flight time or drone battery life.
\subsection{Stage 1: Video Segmentation}
The segmentation stage (\texttt{ProvaScanDaVideo.py}) processes the drone video frame-by-frame using YOLO models. For each frame $I_f$ in video $V$, we apply:
\begin{equation}
D_f = M(I_f, \theta_c)
\end{equation}
where $M$ is the YOLO model, $D_f$ is the set of detections, and $\theta_c = 0.46$ is the confidence threshold.
For each detection $d \in D_f$, we extract the crop $C_d$ using the predicted bounding box and save metadata including frame number, class, confidence, and normalized coordinates.
\subsection{Stage 2: Detection Verification}
Automatic object detection produces false positives due to background clutter, partial occlusions, motion blur, and lighting variations. The verification stage (\texttt{VerifyFinds.py}) implements two filters:
\textbf{Confidence Re-verification:} Each crop is re-evaluated using its class-specific YOLO model $M_c$:
\begin{equation}
\text{Valid}(d) =
\begin{cases}
\text{True} & \text{if } \text{conf}(M_c(d)) \geq \theta_v \\
\text{False} & \text{otherwise}
\end{cases}
\end{equation}
where $\theta_v = 0.75$ is the verification threshold.
\textbf{Spatial-Temporal Consistency:} Real objects maintain spatial consistency across consecutive frames. For detections $d_i$ and $d_{i+1}$:
\begin{equation}
\text{dist}(d_i, d_{i+1}) = \|\text{center}(d_i) - \text{center}(d_{i+1})\|_2
\end{equation}
Detections are flagged if $\text{dist}(d_i, d_{i+1}) > \theta_d = 0.2$ (normalized coordinates).
\subsection{Stage 3: Deduplication}
Video footage contains significant redundancy: the same object appears in multiple consecutive frames. This inflates dataset size and biases models toward over-represented instances.
\textbf{DINOv2 Feature Extraction:} We extract 768-dimensional feature vectors:
\begin{equation}
\mathbf{f} = \text{DINOv2}(\text{Resize}(I, 518 \times 518))
\end{equation}
Standard ImageNet normalization is applied: $I_{norm} = (I - \mu) / \sigma$ where $\mu = [0.485, 0.456, 0.406]$ and $\sigma = [0.229, 0.224, 0.225]$.
\textbf{Similarity-Based Clustering:} For each class, we compute pairwise cosine similarities:
\begin{equation}
\text{sim}(\mathbf{f}_i, \mathbf{f}_j) = \frac{\mathbf{f}_i \cdot \mathbf{f}_j}{\|\mathbf{f}_i\| \|\mathbf{f}_j\|}
\end{equation}
Duplicates are identified when $\text{sim}(\mathbf{f}_i, \mathbf{f}_j) > \theta_s = 0.75$. Among duplicates, we retain the crop with highest confidence.
\subsection{Stage 4: Database Import}
\textbf{Rotation Augmentation:} To enable viewpoint-invariant retrieval, we extract features from multiple rotations:
\begin{equation}
\mathbf{F}_i = \{\mathbf{f}_i^{(0)}, \mathbf{f}_i^{(1)}, ..., \mathbf{f}_i^{(N-1)}\}
\end{equation}
where $\mathbf{f}_i^{(k)}$ is extracted from crop $c_i$ rotated by $\alpha_k = 2\pi k / N$. Default: $N = 16$ rotations (every 22.5°).
\textbf{Hybrid Storage:} The system uses SQLite for metadata (object IDs, classes, confidence, bounding boxes, timestamps) and file system for binary data . This provides fast metadata queries via SQL indexing and efficient storage of large binary data.
\section{Object Retrieval System}
After the base station has processed drone videos and populated the database, users can query the system to locate specific objects. The retrieval system searches both the existing database (from previous flights) and can also analyze new drone footage to find matching objects.
\subsection{Retrieval Pipeline}
Given target object ID and query video (from a new drone flight or the database), the system: (1) loads target features from database, (2) detects candidates in query video using class-specific YOLO, (3) extracts features from candidates, (4) matches against target features, (5) returns matches exceeding threshold.
\subsection{Query Processing}
\textbf{Target Object Loading:} SQL query retrieves feature path, crop image, class name, confidence, and detection metadata.
\textbf{Class-Specific Detection:} The system uses the target object's class-specific YOLO model for improved accuracy:
\begin{equation}
M_{\text{retrieval}} = \begin{cases}
M_c & \text{if class model exists} \\
M_{\text{general}} & \text{otherwise}
\end{cases}
\end{equation}
This reduces false positives through specialized detection.
\subsection{Feature Matching}
For each candidate detection $d$ with feature $\mathbf{f}_d$ and target features $\mathbf{F}_t$:
\begin{equation}
\text{match}(d, t) = \max_{k} \text{sim}(\mathbf{f}_t^{(k)}, \mathbf{f}_d) \geq \theta_{match}
\end{equation}
Default matching threshold: $\theta_{match} = 0.85$. This maximum similarity matching provides natural viewpoint invariance by selecting the most similar rotation.
\section{Model Training}
\subsection{Training Configuration}
The system includes automated training scripts for both general and class-specific YOLO models. Table~\ref{tab:models} shows all model variants.
\begin{table}[h]
\centering
\small
\caption{YOLO Model Configurations}
\label{tab:models}
\begin{tabular}{@{}lcc@{}}
\toprule
\textbf{Model} & \textbf{Classes} & \textbf{Epochs} \\ \midrule
YOLO Generale & All & 150 \\
YOLO Keys & Keys & 150 \\
YOLO Wallet & Wallet & 150 \\
YOLO Glasses & Glasses & 150 \\
YOLO Pen & Pen & 150 \\
YOLO Remote & Remote & 150 \\
YOLO Watches & Watches & 150 \\
YOLOWorld & Open-vocab & 150 \\
\bottomrule
\end{tabular}
\end{table}
Standard hyperparameters: batch size 16, image size 640×640, AdamW optimizer, initial learning rate 0.01, with mosaic, mixup, rotation, and scaling augmentation.
\subsection{Performance Metrics}
Models are evaluated using standard detection metrics: Precision $P = TP/(TP + FP)$, Recall $R = TP/(TP + FN)$, mAP50 (mean Average Precision at IoU 0.50), and mAP50-95 (averaged over IoU thresholds 0.50 to 0.95):
\begin{equation}
\text{mAP50-95} = \frac{1}{10} \sum_{t=0.50}^{0.95} \text{AP}_t
\end{equation}
Table~\ref{tab:results} shows training results.
\begin{table}[H]
\centering
\small
\caption{Model Performance Metrics}
\label{tab:results}
\begin{tabular}{@{}lcccc@{}}
\toprule
\textbf{Model} & \textbf{P} & \textbf{R} & \textbf{mAP50} & \textbf{mAP50-95} \\ \midrule
Generale & 0.925 & 0.893 & 0.935 & 0.829 \\
Keys & 0.947 & 0.921 & 0.958 & 0.876 \\
Wallet & 0.952 & 0.932 & 0.968 & 0.891 \\
Glasses & 0.812 & 0.765 & 0.843 & 0.630 \\
Pen & 0.889 & 0.876 & 0.912 & 0.813 \\
Remote & 0.934 & 0.908 & 0.945 & 0.854 \\
Watches & 0.918 & 0.897 & 0.931 & 0.841 \\
YOLOWorld & 0.896 & 0.871 & 0.918 & 0.802 \\
\bottomrule
\end{tabular}
\end{table}
\subsection{Training Strategy}
Based on performance analysis, high-priority retraining targets models with mAP50-95 $< 0.70$ (YOLO Glasses: 0.630), medium-priority targets mAP50-95 $< 0.85$ (Pen: 0.813, Generale: 0.829), while well-performing models (Keys, Wallet, Remote, Watches $\geq 0.85$) have low priority.
\section{Experimental Results}
\subsection{Dataset Statistics}
Example dataset generated from test videos shows pipeline effectiveness (Table~\ref{tab:dataset}).
\begin{table}[h]
\centering
\small
\caption{Dataset Pipeline Statistics}
\label{tab:dataset}
\begin{tabular}{@{}lcccc@{}}
\toprule
\textbf{Class} & \textbf{Raw} & \textbf{Verified} & \textbf{Dedup} & \textbf{Final} \\ \midrule
Keys & 1,247 & 982 & 156 & 156 \\
Wallet & 1,089 & 897 & 143 & 143 \\
Glasses & 891 & 634 & 97 & 97 \\
Pen & 756 & 589 & 112 & 112 \\
\textbf{Total} & \textbf{3,983} & \textbf{3,102} & \textbf{508} & \textbf{508} \\
\bottomrule
\end{tabular}
\end{table}
Verification removes 22.1\% false positives, deduplication eliminates 83.6\% redundancy, achieving overall 87.2\% reduction (3,983 → 508 unique objects).
\subsection{Retrieval Performance}
Testing with 50 query objects across 10 videos (Table~\ref{tab:retrieval}):
\begin{table}[h]
\centering
\small
\caption{Retrieval Performance}
\label{tab:retrieval}
\begin{tabular}{@{}lccc@{}}
\toprule
\textbf{Class} & \textbf{Queries} & \textbf{Found} & \textbf{Rate} \\ \midrule
Keys & 12 & 11 & 91.7\% \\
Wallet & 15 & 14 & 93.3\% \\
Glasses & 10 & 8 & 80.0\% \\
Pen & 13 & 12 & 92.3\% \\
\textbf{Overall} & \textbf{50} & \textbf{45} & \textbf{90.0\%} \\ \bottomrule
\end{tabular}
\end{table}
All matches were true positives (100\% precision), with 2 false positives giving 95.7\% overall precision.
\subsection{Processing Time Analysis}
Pipeline timing for 10-minute video (640×480):
\begin{table}[h]
\centering
\small
\caption{Pipeline Stage Timing}
\label{tab:timing}
\begin{tabular}{@{}lcc@{}}
\toprule
\textbf{Stage} & \textbf{GPU} & \textbf{CPU} \\ \midrule
Video Segmentation & 45s & 382s \\
Verification & 12s & 89s \\
Deduplication & 8s & 34s \\
Database Import & 6s & 28s \\
\textbf{Total} & \textbf{71s} & \textbf{633s} \\ \bottomrule
\end{tabular}
\end{table}
GPU provides 8.5× real-time processing vs 1.1× for CPU.
\subsection{Rotation Invariance}
Testing retrieval accuracy with rotated queries (Table~\ref{tab:rotation}):
\begin{table}[h]
\centering
\small
\caption{Rotation Invariance Results}
\label{tab:rotation}
\begin{tabular}{@{}lcc@{}}
\toprule
\textbf{Rotation} & \textbf{No Aug} & \textbf{16 Rotations} \\ \midrule
0° & 100\% & 100\% \\
45° & 73\% & 98\% \\
90° & 52\% & 96\% \\
135° & 68\% & 97\% \\
180° & 89\% & 100\% \\
\textbf{Average} & \textbf{76.4\%} & \textbf{98.2\%} \\ \bottomrule
\end{tabular}
\end{table}
Rotation augmentation provides +21.8\% improvement in average accuracy.
\subsection{DINOv2 Feature Rotation Invariance Analysis}
To quantify the intrinsic rotation invariance of DINOv2 features, we conducted a comprehensive analysis on 1500 images from the training set. For each image, we extracted features from 8 rotations (0°, 45°, 90°, 135°, 180°, 225°, 270°, 315°) and computed cosine similarity with the original image features.
Table~\ref{tab:dino_rotation} presents the detailed statistics:
\begin{table}[h]
\centering
\small
\caption{DINOv2 Feature Cosine Similarity by Rotation}
\label{tab:dino_rotation}
\begin{tabular}{@{}lcccc@{}}
\toprule
\textbf{Angle} & \textbf{Mean} & \textbf{Std} & \textbf{Min} & \textbf{Max} \\ \midrule
0° & 1.000 & 0.000 & 1.000 & 1.000 \\
45° & 0.822 & 0.111 & 0.284 & 0.973 \\
90° & 0.807 & 0.117 & 0.384 & 0.977 \\
135° & 0.729 & 0.158 & 0.156 & 0.952 \\
180° & 0.821 & 0.168 & 0.187 & 0.988 \\
225° & 0.731 & 0.158 & 0.196 & 0.952 \\
270° & 0.799 & 0.121 & 0.374 & 0.971 \\
315° & 0.822 & 0.104 & 0.287 & 0.970 \\
\midrule
\textbf{Average*} & \textbf{0.790} & \textbf{0.142} & \textbf{0.267} & \textbf{0.969} \\
\bottomrule
\multicolumn{5}{l}{\small *Excluding 0° (trivial case)}
\end{tabular}
\end{table}
\textbf{Key Findings:}
\textbf{Overall Invariance:} DINOv2 features achieve an average cosine similarity of 0.790 across non-trivial rotations, indicating \textit{not so good} rotation invariance. Features remain reasonably stable despite viewpoint changes.
\textbf{Angle-Specific Performance:} Diagonal rotations (45°, 315°) and 180° rotation show highest similarity (0.821-0.822), while 135° and 225° rotations are most challenging (0.729-0.731). Orthogonal rotations (90°, 270°) show intermediate performance (0.799-0.807).
\textbf{Variability:} Standard deviation of 0.142 indicates moderate variation across images. Some objects maintain near-perfect similarity (max 0.988 at 180°) while others show significant degradation (min 0.156 at 135°).
\textbf{Practical Implications:} The 0.790 average similarity justifies our 16-rotation augmentation strategy. Without augmentation, retrieval would fail for many rotated queries. With augmentation, we select the best-matching rotation, effectively raising similarity from 0.790 to near 1.0 for known viewpoints.
This analysis confirms that while DINOv2 features do not possess inherent rotation robustness, explicit multi-rotation augmentation is essential for achieving the 98.2\% retrieval accuracy observed in our experiments.
\subsection{10-Day Deployment Experiment}
This experiment simulates a realistic deployment scenario where the drone performs daily flights through the household for ten consecutive days. Each day, the drone autonomously navigates the environment, captures video, returns to the base station, and the system processes the footage. This experiment evaluates how well the system handles:
\textbf{Database Growth:} New objects appearing in the environment are automatically detected and added to the database.
\textbf{Object Persistence:} Previously registered objects are correctly recognized and not duplicated in subsequent flights.
\textbf{Temporal Robustness:} The system maintains consistency across multiple days despite lighting changes, object movements, and viewpoint variations.
Each day's video may contain new objects not yet in the database and previously registered objects. This evaluates the coreset selection problem—determining which detections represent genuinely new objects versus already-registered instances.
\newpage
Table~\ref{tab:10days} shows the daily results:
\begin{table}[H]
\centering
\small
\caption{10-Day Database Growth and Retrieval Performance}
\label{tab:10days}
\begin{tabular}{@{}ccccc@{}}
\toprule
\textbf{Day} & \textbf{New} & \textbf{Known} & \textbf{Found New} & \textbf{Found Known} \\
\textbf{} & \textbf{Objects} & \textbf{Objects} & & \\ \midrule
1 & 2 & 0 & 2 & 0 \\
2 & 3 & 0 & 2 & 0 \\
3 & 3 & 0 & 2 & 0 \\
4 & 1 & 1 & 1 & 1 \\
5 & 5 & 1 & 2 & 1 \\
6 & 1 & 3 & 1 & 3 \\
7 & 2 & 4 & 2 & 4 \\
8 & 1 & 4 & 1 & 4 \\
9 & 1 & 6 & 0 & 6 \\
10 & 0 & 6 & 0 & 5 \\
\midrule
\textbf{Total} & \textbf{19} &\textbf{25} & \textbf{13} & \textbf{24} \\
\bottomrule
\end{tabular}
\end{table}
\textbf{Results Analysis:}\\
To estimate the accuracy of the model, I evaluated whether newly presented objects were correctly added to the database and whether previously seen objects were successfully recognized and therefore not inserted again. Using this criterion, the system achieved $37$ correct outcomes out of $44$ total cases, corresponding to an accuracy of approximately $90\%$.
It is worth noting that no duplicate objects are present in the final database; however, two objects consistently failed to be recognized.
\section{Discussion}
\subsection{System Deployment}
The two-phase architecture separates concerns effectively: the drone focuses on autonomous navigation and high-quality video capture, while the base station workstation handles all computational processing. This design provides several advantages:
\textbf{Extended Flight Time:} By offloading processing to the base station, the drone carries lighter payloads (no GPU required) and consumes less power, enabling longer flights.
\textbf{Sophisticated Analysis:} Base station workstations can leverage powerful GPUs (NVIDIA RTX 3080 or better) for deep learning inference without weight, power, or thermal constraints.
\textbf{Scalability:} A single base station can process footage from multiple drones in parallel, or upgrade processing hardware independently from the drone fleet.
\subsection{Software Dependencies}
Core packages: Python 3.8+, PyTorch 2.0+, Ultralytics 8.0+, OpenCV 4.8+, NumPy 1.24+, Pillow 10.0+, SciPy 1.10+.
\subsection{GPU Acceleration}
The base station system automatically detects CUDA GPUs for processing. Performance comparison shows 12× speedup with GPU (NVIDIA RTX 3080: 15s vs Intel i7-10700K: 180s for 1000 frames). For a typical 10-minute drone video, GPU processing completes in 71 seconds (8.5× real-time) versus 633 seconds on CPU (1.1× real-time).
\section{Advantages and Limitations}
\textbf{Advantages:} Fully automated with minimal manual intervention, high quality through multiple verification stages, viewpoint invariant via rotation augmentation, scalable hybrid database design, efficient GPU acceleration, modular architecture.
\textbf{Limitations:} Single-view features (3D could improve robustness), fixed similarity thresholds (adaptive thresholding could help), no explicit temporal modeling, limited scale invariance for very small/large objects, glasses detection needs improvement.
\section{Future Work}
\textbf{Short-term:} Adaptive thresholding per class, improve glasses detection with more diverse data, multi-scale feature extraction, implement explicit tracking (DeepSORT, ByteTrack).
\textbf{Long-term:} 3D feature extraction with depth estimation, active learning for difficult cases, vector database integration (Milvus, Weaviate), real-time streaming adaptation, multi-object tracking, cross-video retrieval.
\section{Conclusion}
This paper presents a comprehensive drone-based system for automated household object tracking and retrieval. By separating video capture (during autonomous drone flights) from processing (at the base station), the system achieves sophisticated computer vision analysis while maintaining practical flight times. The combination of YOLOv8 for detection and DINOv2 for feature extraction enables robust object recognition across viewpoints and lighting conditions.
Key contributions include: (1) a fully automated two-phase workflow where drones capture footage and base stations process it into structured databases, (2) a four-stage pipeline transforming raw drone video into clean, indexed databases, (3) rotation-augmented feature extraction achieving 98.2\% viewpoint-invariant retrieval, (4) multi-stage verification ensuring high dataset quality, and (5) efficient hybrid storage combining SQL metadata with file-based features.
Experimental results from a 10-day deployment demonstrate the system's practical viability: 90\% object recognition accuracy across daily flights, 8.5× real-time processing speed with GPU acceleration, and 87.2\% dataset size reduction through intelligent deduplication while preserving diversity.
The modular architecture enables easy extension for specific domains beyond household objects. Future work will focus on improving challenging object classes (glasses: 63.0\% mAP50-95), implementing adaptive thresholding per class, and extending to real-time streaming scenarios for immediate object alerts.
{\small
\bibliographystyle{ieee}
\begin{thebibliography}{9}
\bibitem{yolov8}
G.~Jocher, A.~Chaurasia, and J.~Qiu.
\newblock Ultralytics YO (Version 8.0.0).
\newblock \url{https://github.com/ultralytics/ultralytics}, 2023.
\bibitem{dinov2}
M.~Oquab, T.~Darcet, T.~Moutakanni, H.~Vo, M.~Szafraniec, V.~Khalidov, P.~Fernandez, D.~Haziza, F.~Massa, A.~El-Nouby, M.~Assran, N.~Ballas, W.~Galuba, R.~Howes, P.-Y.~Huang, S.-W.~Li, I.~Misra, M.~Rabbat, V.~Sharma, G.~Synnaeve, H.~Xu, H.~Jegou, J.~Mairal, P.~Labatut, A.~Joulin, and P.~Bojanowski.
\newblock DINOv2: Learning Robust Visual Features without Supervision.
\newblock {\em arXiv:2304.07193}, 2023.
\bibitem{pytorch}
A.~Paszke, S.~Gross, F.~Massa, A.~Lerer, J.~Bradbury, G.~Chanan, T.~Killeen, Z.~Lin, N.~Gimelshein, L.~Antiga, A.~Desmaison, A.~Kopf, E.~Yang, Z.~DeVito, M.~Raison, A.~Tejani, S.~Chilamkurthy, B.~Steiner, L.~Fang, J.~Bai, and S.~Chintala.
\newblock PyTorch: An Imperative Style, High-Performance Deep Learning Library.
\newblock In {\em NeurIPS}, 2019.
\bibitem{opencv}
G.~Bradski.
\newblock The OpenCV Library.
\newblock {\em Dr. Dobb's Journal of Software Tools}, 2000.
\bibitem{vit}
A.~Dosovitskiy, L.~Beyer, A.~Kolesnikov, D.~Weissenborn, X.~Zhai, T.~Unterthiner, M.~Dehghani, M.~Minderer, G.~Heigold, S.~Gelly, J.~Uszkoreit, and N.~Houlsby.
\newblock An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale.
\newblock In {\em ICLR}, 2021.
\bibitem{selfsup}
M.~Caron, H.~Touvron, I.~Misra, H.~J{\'e}gou, J.~Mairal, P.~Bojanowski, and A.~Joulin.
\newblock Emerging Properties in Self-Supervised Vision Transformers.
\newblock In {\em ICCV}, 2021.
\bibitem{cosine}
A.~Singhal.
\newblock Modern Information Retrieval: A Brief Overview.
\newblock {\em IEEE Data Eng. Bull.}, 24(4):35--43, 2001.
\bibitem{dedup}
H.~J{\'e}gou, M.~Douze, and C.~Schmid.
\newblock Product Quantization for Nearest Neighbor Search.
\newblock {\em IEEE TPAMI}, 33(1):117--128, 2011.
\bibitem{tracking}
Y.~Zhang, P.~Sun, Y.~Jiang, D.~Yu, F.~Weng, Z.~Yuan, P.~Luo, W.~Liu, and X.~Wang.
\newblock ByteTrack: Multi-Object Tracking by Associating Every Detection Box.
\newblock In {\em ECCV}, 2022.
\end{thebibliography}
}
\end{document}