Calendar
MS1 – Inception
29/09
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
13–20/10
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
03–10/11
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
15–16/12
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
January – end of May
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.
