Skip to content
View ivantorriani's full-sized avatar

Block or report ivantorriani

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ivantorriani/README.md

Hi, I'm Ivan Torriani πŸ‘‹

Computer vision & applied ML β€” perception pipelines that have to work on real hardware, in unpredictable places, not just in a notebook.

Portfolio LinkedIn


What I've been building

Three projects below, roughly in order of how much dirt/asphalt/GPU-fan-noise was involved.

🌱 Depth-Guided Precision Agriculture

image

Real-time canopy detection driving fertilizer nozzle actuation on Jetson edge hardware.

A single RGB frame goes through MiDaS DPT for relative depth, then a YOLOv8 canopy detector. Detections collapse into a binary mask, get integrated over three zones aligned with the physical nozzle bar, and get thresholded to fire three independent GPIO signals β€” live, on a Jetson, in a vineyard.

Canopy detection with zone-coverage overlay running live on a Jetson

Pipeline MiDaS depth β†’ YOLOv8 canopy detection β†’ 3-zone coverage β†’ GPIO actuation
Deployed on NVIDIA Jetson, live camera, real nozzle bar
Repo Depth-Guided-Precision-Agriculture-TSMG2026 Β· project page

Python PyTorch YOLOv8 MiDaS OpenCV Jetson.GPIO


🧭 Out-of-Distribution Autonomous Navigation

image

A perception layer for the moment a self-driving stack sees something it wasn't trained on.

Navigation models trained on tidy urban data don't know what to do with a stray tire in the road at dusk. This pipeline flags unknown objects (confidence-thresholded YOLO-World, and a class-agnostic NanoOWL + YOLO-World consensus check), gates out single-frame glitches, then asks a vision-language model a direct question β€” is this traversable? β€” before gating forward motion on the answer.

Live detection flagging an unknown object, querying Gemini, and returning a NOT TRAVERSABLE verdict

Capture β†’ Detection β†’ Persistence Gate β†’ Multimodal Query β†’ Navigation β†’ Display pipeline diagram

Evaluated local VLMs (Qwen2-VL, LLaVA-1.5, Moondream2, InternVL2) against cloud APIs for the traversability call. Local models ran 10–30+ minutes per image on CPU β€” a non-starter for anything real-time. Cloud APIs settled the question:

Gemini 2.5 Flash Lite vs GPT-4.1-nano: accuracy and latency comparison

Pipeline Unknown-object detection β†’ persistence gate β†’ VLM traversability query β†’ AprilTag-gated navigation
Result GPT-4.1-nano: 88.9% traversability accuracy at ~1.9s mean latency
Repo calpoly-csai/Out-of-Distribution-Autonomous-Navigation-CSAI2026 Β· project page

Python YOLO-World NanoOWL Gemini GPT-4.1 AprilTag OpenCV Hypothesis


🎡 albummer

"Letterboxd for music." A social album-logging app β€” rate, review, and track what you listen to, built as a full-stack web + mobile pair.

albummer brand art β€” a hardware amp panel rendered as the app's visual identity

Ports Letterboxd's proven feature set onto albums instead of films: dated listening logs with backdating and relisten tracking, half-star ratings with a weighted Bayesian average, reviews, custom ranked/unranked lists, follows and an activity feed, member profiles with a favorites shelf. Web is the feature-complete reference; the Expo mobile app is a native front end on the same API.

Web Next.js 16, React 19, Tailwind, better-auth, SQLite
Mobile Expo / React Native, TypeScript, file-based routing
Repo the-aestheticist

TypeScript Next.js React Native Expo SQLite


Reach out on LinkedIn or check out more at ivantorriani.github.io.

Pinned Loading

  1. ivantorriani.github.io ivantorriani.github.io Public

    HTML

  2. Depth-Guided-Precision-Agriculture-TSMG2026 Depth-Guided-Precision-Agriculture-TSMG2026 Public

    Python 1

  3. calpoly-csai/Out-of-Distribution-Autonomous-Navigation-CSAI2026 calpoly-csai/Out-of-Distribution-Autonomous-Navigation-CSAI2026 Public

    Python

  4. the-aestheticist the-aestheticist Public

    TypeScript