Pedro Cisdeli,
Software developer & ML engineer,
Ph.D. student at Purdue University

About

About

I’m a Brazilian engineer bridging the gap between the field and technology, currently at Ciampitti Lab, focused on image processing, computer vision, and precision agriculture.

I graduated in CS from the University of São Paulo and I’m currently pursuing a Ph.D. at Purdue University on ML-driven agricultural systems.

Stack

PythonPyTorchTensorFlowC / C++TypeScriptReactNext.jsRustGoLinuxNeovim

Ciampitti Lab

Digital and precision agriculture research.

EARS
Early Assessment of Reproductive-stage Signals for Yield Prediction from Multiview Maize DatasetOngoing

This is the main project of my Ph.D. I know, the title is too long, but that's why the acronym is here. And it's hard to beat EARS as a name for a project that involves so many corn ears. The core idea is to check how early in the reproductive stages, and how accurately, we can predict the final yield of each ear at the end of the season. To do this we have a multi-field database that spans from nurseries to nitrogen trials, greenhouse studies and production-size farmer fields. Each sample consists of six views of the ear, taken in the field. We track the same ears across all reproductive stages and then measure their final traits and yield components. This database allows us to perform 3D reconstruction and use a multimodal architecture for the yield forecasts. First papers are coming soon!

Apple Vision Pro
Building ag-tech tools for spatial computing2026

The Ciampitti Lab got its hands on an Apple Vision Pro thanks to Apple and Purdue University. I've been exploring how spatial computing can assist with digital plant phenotyping and data collection in the field. So far I got static object detection running on-device using Core ML with my YOLO models. Live camera access is currently enterprise-only on visionOS, so we're waiting on the entitlement. Check out the full write-up here.

AgriTiles
3D agricultural landscape visualization2026

AgriTiles is a multi-scale 3D visualization system built with Three.js for exploring agricultural landscapes through multiple geospatial data layers. You can inspect crop patterns and their relationship to terrain across the U.S. Corn Belt (Iowa, Illinois, Indiana, Nebraska, Missouri, Kansas) with USDA CDL, SRTM terrain, and Sentinel-2 imagery all in a single browser-based WebGL environment. Give it a try here.

AgriTiles 3D visualization
N Scout
Precision & Digital Agriculture Hackathon, UIUC2026

This project was built for the Precision & Digital Agriculture Hackathon at UIUC alongside Gustavo Santiago, Leonardo Bosche, and Natalia Volpato. We built N Scout, a tool that detects nitrogen deficiency in corn fields by combining Sentinel-2 multispectral imagery (10m resolution, V6-V10 growth stages), soil nitrate and weather records for agronomic context, and a leaf-image neural classifier for rapid in-field confirmation at the plant level. On average, 50% of applied N is lost to the environment before ever reaching the plant. The goal is simple: apply the right amount, in the right place, at the right time. Give it a try here.

N Scout Hackathon
Corn Depth
Maize ear sensing for on-farm yield predictions, CVPR2025

The Corn Depth project is a follow up from the Corn Grains project, and it got published at CVPR 2025. Crazy right? We introduce the first fully on-field pipeline that estimates maize-ear length, width and volume from a single RGB + depth capture and immediately forecasts grain yield per plant. A YOLOv12n-seg model isolates the ear in unconstrained lighting, a bespoke network we called EVNet regresses volume from the segmented point cloud, and gradient-boosted trees convert morphology into yield. On Kansas field data we reached 98.6% mAP@0.5 for segmentation, 28.9 ml RMSE for volume, and 13.9 g RMSE for yield. The whole pipeline runs in ~1s per image, needs no destructive sampling, and the images, code, and trained weights are all open-sourced. Check out the project page here.

Corn Depth pipeline thumbnail
AVYield
Dashboard and database to support real-time decision making2024

AVYield is a web-based dashboard that allows users to visualize the results of crop variety trials programs. It also serves as a historical database to help organize all this information. The system is capable of handling and storing a large amount of data. Give it a try by clicking here and feel free to provide any feedback.

Corn Grains
Phenotyping corn cobs with image processing and machine learning2024

This project consists of two parts: the first is to develop a high-throughput image/video analysis system to determine the quantity of grains in a rotating corn cob. The hardware responsible for rotating the cob was provided by a third-party company. The second part aims to achieve the same results using just a regular smartphone. I'll update this topic with more information as soon as I can make it publicly available.

Corn Grains
Sorghum Architecture
Phenotyping sorghum plants with image processing and machine learning2024

The Sorghum Architecture project aims to facilitate data collection by utilizing image processing and machine learning on images taken from the field. The results were really good, and the developed system is much faster than conventional methods. I'll update this soon with more information. For now, zoom in and take a look at the poster to know more.

Personal Projects

Shaders, fractals and generative sketches.

Rubik's CubeRendered in a fragment shader, solved with CUDA (soon)

A side project to render a Rubik's cube entirely in a fragment shader and, eventually, solve it with CUDA. The viewer is done, the cube is raymarched and the layer turns are animated. It is running live in your browser right now. The solver is still in the works, so for now it plays a scramble and then the same moves in reverse to get back to a solved cube. The viewer is built with ShaderHub.

ShaderHubA Shadertoy-style GLSL runner with hot reload

I prefer writing code in my Neovim setup, so I built a minimal Shadertoy-style runner to stay in the editor: write a fragment shader, save it, and see the changes live. It is written in C++ and OpenGL, supports Shadertoy-like uniforms and switches between shaders in a folder. The one running here is Lightspeed, one of my own shaders. Check it out on GitHub.

Dragon Curve FractalY.A.S.S.F.

Yet Another Self Similar Fractal. The animation you just saw was built with p5js and the code is available on my github repository VisualHub. The Dragon Curve was first investigated by some NASA physicists. The Heighway dragon can be constructed from a base line segment by replacing each segment by two segments with a right angle and with a rotation of 45° alternatively to the right and to the left (Wikipedia).

3D WEBGL FunNo subtitle, just look at the fun animation

Yeah not much to say about this one. It consists of a really simple 3D animation built with P5js and WEBGL. Go take a look at the code if you want: VisualHub.

1D Cellular AutomataVisualizing different rules of the elementary Cellular Automaton

A cellular automaton is a collection of “colored” cells on a grid of specified shape that evolves through a number of discrete time steps according to a set of rules based on the states of neighboring cells. (Mathworld). This is one of my favorites. Refresh the page to see a different rule. The code is also available on my github repository VisualHub.

PhyllotaxisMy first p5js project

As the subtitle already mentioned, this was my first attempt at visualizing a math algorithm using JavaScript and P5js. It represents a concept in botany: the arrangement of leaves on a plant stem. In other words, a cool pattern.

University of São Paulo

Projects from my computer science degree.

Machine LearningPredicting levels of Alzheimer Disease with MRI images

The objective of this project is to evaluate the performance of different machine learning classification algorithms paired with image processing techniques. Additionally, we will use the trained models to predict the level of dementia based on the MRI images. This project was developed for a Machine Learning class at the University of São Paulo (USP) in 2021. Because of this, most of the reports are in Portuguese. For now use the markdown file on this github repository as a guide to the project.

MRI Image
Image ProcessingNDVI, NDWI and classifying image data

The main objective is to classify the landscape of a satellite image to provide information for environmental studies. The datasets used are from the satellite Sentinel-2 and Google Earth. The landscape and forest classification is determined by a machine learning method called Naive Bayes. Access the source code by following this link.

Geo Data image
Genetic AlgorithmsSmart Dots

This project was developed for an Evolutionary Systems Applied to Robotics class at the University of São Paulo (USP). The objective was to develop a genetic algorithm that could reach a goal while avoiding obstacles. Check the source code by following this link.

Smart Dots GIF