Calendar

MS1 – Inception

Deliverables
Documentation
  • Project presentation: context, problem, goals, tasks, expected results, related work. Calendar, communication plan and assignments by team member.
  • Project calendar: tasks list by team member, project schedule for first semester, including an ideia of what to do on the second one.
  • Communication plan: documentation website, Git repository, Jira backlog, Discord server.
Development
  • (infra) Repositories and base environment.
  • (architecture) Candidate high-level architecture.
Model
  • (data) Start of manual annotation.

MS2 – Elaboration

28/09 – 04/10
Documentation
  • Actors and first use cases, organized.
  • Start the improved state of the art (related work + technologies).
  • First mock-ups.
Development
  • (infra) All services starting with docker-compose.
  • (nginx) Reverse proxy in front of frontend and API.
  • (frontend) Project scaffold and base map page.
  • (API) Project scaffold, health endpoint, base data models.
  • (queue) Broker running, basic publish/consume test.
  • (geospatial DB) Initial schema (zone, image, detection, tree).
  • (NoSQL DB) Initial job collection.
  • (object storage) Areas for raw images and videos.
Model
  • (data) Define the "tree" class and annotation rules.
  • (data) Annotate street-level images of the pilot area.
  • (training) Start of manual training.
  • (training) Log metrics.
05 – 09/10
Documentation
  • Final state of the art.
  • Functional and non-functional requirements, with assumptions and dependencies.
  • Final use cases.
  • Deployment diagram with technologies.
  • Final mock-ups.
Development
  • (frontend) Select a zone, upload a file, list jobs.
  • (API) Create zone, upload, job status, list trees (GeoJSON).
  • (queue) API publishes a job, a worker consumes it.
  • (object storage) Store the original file.
  • (NoSQL DB) Job status (pending, processing, done, failed).
  • (geospatial DB) Store a tree with coordinates.
Model
  • (pipeline) Minimal flow: image, detection, tree on the map.
  • (evaluation) First metrics on a small test set.
10 – 12/10: buffer, fixes

MS3 – Legal Requirements, Technical Risks & Business Plan

12 – 18/10
Documentation
  • GDPR: personal data collected and why, anonymization, right to be forgotten, encryption and access control.
  • Licensing: licences of all third-party and open-source dependencies, conflicts.
Development
  • (API) Authentication (JWT) and roles (admin, validator, viewer).
  • (geospatial DB) Users, roles, migrations.
  • (frontend) Login and role-based navigation.
  • (nginx) HTTPS and rate limiting.
Model
  • (privacy) Automatic blurring of faces and licence plates.
  • (data) Ingestion of street-level images for the pilot area.
19 – 25/10
Documentation
  • Sector regulation: Law 59/2021 and municipal tree rules.
  • Technical risks: external dependencies and alternatives, technical debt, brittle components.
Development
  • (pipeline) Abstraction over the image source.
  • (queue) Retries and failed-jobs queue.
  • (API) Input validation.
  • (frontend) Job progress.
  • (object storage) Raw and blurred images kept separate.
Model
  • (training) More data, compared with the pre-trained baseline.
  • (evaluation) Metrics on a validation set.
  • (data) Start the manual reference survey in a few streets.
26 – 30/10
Documentation
  • Business plan: SWOT, TOWS matrix (SO, ST, WO, WT), PESTEL.
  • Terms and conditions: conditions of use, liability disclaimers, jurisdiction.
Development
  • (frontend) Tree detail: source image, coordinates, confidence.
  • (API) Tree detail and list by zone.
  • (geospatial DB) Spatial indexes.
  • Base tests for critical components.
Model
  • (geolocation) First version of the position estimate.
  • (deduplication) Approach defined, partial implementation.
31/10 – 02/11: buffer, fixes

MS4 – System Component Validation

02 – 08/11
Documentation
  • Define scenarios and targets for each MS4 topic. Revisit MS3 topics that overlap.
Development
  • (infra) Production-like environment.
  • (pipeline) Deduplication v1: cluster nearby detections.
  • (geospatial DB) One tree linked to many source images, embeddings stored.
  • (API) Tree–image association.
Model
  • (geolocation) Triangulation between views v1.
  • (evaluation) Localization error (MAE, RMSE) against reference points.
  • (deduplication) Visual embeddings as tie-breaker.
09 – 15/11
Documentation
  • Start collecting project management numbers (tasks per sprint, CI failures, PRs).
Development
  • (frontend) Basic manual correction (accept, reject, move).
  • (API) Store corrections.
  • (NoSQL DB) Correction history.
  • (infra) CI with automated tests and image builds.
Model
  • (data) More annotations on hard cases (shadow, occlusion, night).
  • (training) New version with K-Fold cross-validation.
16 – 22/11
Documentation
  • Start the slides.
Development
  • (pipeline) Full flow: ingestion, blurring, detection, localization, deduplication, registration.
  • (frontend) Map with trees, detail and correction.
  • (infra) Integration tests of the full flow.
Model
  • (evaluation) Pilot area results: confusion matrix, precision, recall, F1.
  • (evaluation) Localization error against the reference.
  • (training) Freeze the model version.
23 – 29/11
Documentation
  • Performance: response time, throughput, slow queries, indexes, caching.
  • Scalability: stress test until failure, what broke, vertical vs horizontal scaling.
Development
  • (API) p95 and requests per second per endpoint.
  • (geospatial DB) Slow queries, indexes, N+1.
  • (queue) Stress test until failure.
  • (pipeline) More workers (horizontal) and more resources (vertical).
Model
  • (pipeline) Images processed per minute per worker.
  • (evaluation) Find the bottleneck (model, I/O, database).
30/11 – 06/12
Documentation
  • Security: JWT/session safety, broken access control, password hashing (Argon2, bcrypt), OWASP Top 10, dependency audit (CVEs).
  • AI model validation: metrics, K-Fold results, boundary testing, error analysis.
Development
  • (API) JWT/session security, normal user vs admin access, password hashing.
  • (API + frontend) Input sanitization, OWASP Top 10 checks.
  • (infra) Dependency audit (CVEs).
Model
  • (evaluation) False positives and negatives, classes most confused.
  • (evaluation) Manual inspection of wrong predictions.
  • (evaluation) Boundary testing: dark, blurred, occluded, rainy images.
07 – 11/12
Documentation
  • Final slides.
  • Software project management: agile planning, CI/CD, PRs.
Development
  • Bug fixes and technical documentation only.
Model
  • Bug fixes, record model versions and results.
12 – 14/12: buffer, fixes, rehearsal

Second Semester – Construction & Transition

Learning Loop
  • Full correction flow: confirm, reject, move, merge, split, add a missed tree.
  • Correction endpoints with history and reviewer identity.
  • Corrections with context (image crop, model version, confidence) as candidate training data.
  • Retraining requests and new model versions announced to workers.
  • Versioned datasets and model files.
  • Build a dataset from corrections, retrain, compare with previous version, promote only if better.
Tree Characterization
  • (model) Species or genus, size, visible signs of poor condition.
  • (data) New annotations and class balance.
  • (geospatial DB) Attributes on tree records, with confidence.
  • (frontend) Show, edit and filter by attributes.
  • (evaluation) Error analysis per class.
Video Ingestion
  • (pipeline) GPS-tagged video: frame sampling, GPS synchronization, moving-camera handling.
  • (frontend + nginx + object storage) Large uploads with progress.
  • (geolocation) Better position estimates using several views.
Management & Analytics
  • (geospatial DB) Statistics per street or parish.
  • (pipeline + geospatial DB) Comparison between surveys: new and removed trees.
  • (frontend) Dashboards, filters, map layers.
  • (API) Inventory export (GeoJSON, CSV).
Final Validation & Delivery
  • Compare automatic inventory with complete manual survey: precision, recall, localization error.
  • Error analysis by street type, lighting and season.
  • Final report, user and admin documentation, deployment guide.
  • Final presentation and demo.
  • Final check of licences and dependencies.