Pedro Cisdeli,
Software developer & ML engineer,
Ph.D. student at Purdue University
Intro
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
Research
Ciampitti Lab
Digital and precision agriculture research.
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!
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 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.

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.

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.
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.
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.

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.

Side work
Personal Projects
Shaders, fractals and generative sketches.
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.
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.
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).
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.
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.
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.
Undergrad
University of São Paulo
Projects from my computer science degree.
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.

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.

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.
