Skip to content
PT
← Back to the portfolio

Undergraduate research · 2022

Classifying tree species from bark images

My undergraduate research explored CNN–VGG16 for tree-species identification using bark photographs. I led the development work, collected bark images and built the interface for the model.

Paul Domenic Trambulo · Kyle Symon Wagan
FAITH Colleges · Best Thesis Award · 2022

Original thesis titleExperimenting the Use of CNN-VGG16 to Selected Philippine Native Tree Data Sets Towards Developing a Tree Species Identification

The approach

From a bark photo to a class label

A photograph is only the starting point. Dataset coverage, consistent preprocessing and careful evaluation determine how useful a classifier can be.

01 / Collect & label

Start with the bark

Photographs are organized into labeled classes. The archived folders include separate training, validation and test directories.

02 / Prepare

Make the inputs consistent

The saved notebook normalizes image pixels and applies rotation, zoom and horizontal flipping to training images. The validation generator uses preprocessing without those training augmentations.

03 / Learn

Adapt a VGG16 backbone

The notebook loads ImageNet-pretrained VGG16 without its original classification head, then adds dropout, flattening and a softmax classifier for the tree labels.

04 / Evaluate

Look beyond a single score

The evaluation code includes accuracy, a confusion matrix, precision and recall. This portfolio explains the approach without presenting an unverified final accuracy result.

An archived snapshot

Look at the data before the score

Explore the class folders preserved with the project. These are image-file counts from the archive, not a final benchmark or a count of unique trees.

Label classes
10
Training files
502
Validation files
491
Test files
228
Archived bark sample labeled Acacia

Acacia

Training
36
Validation
39
Test
30

One sample per class. Names follow the archived folder labels.

Training coverage 502 image files

Choose a row to inspect its sample. Bar lengths show file counts, not model confidence.

Archived folder snapshot reviewed in October 2026; image-file counts are not final evaluation results. Saved notebook outputs include another label set; the explorer reflects the folder snapshot shown here. This is a research explainer and archived dataset browser. It does not run the trained classifier or identify uploaded photographs.

Research insights

The useful questions go beyond the network

A class label needs enough examples

The archived training folders are uneven. Comparing their counts makes the data coverage visible before discussing a model score. The notebook also includes inverse-frequency class weights.

Preprocessing is part of the experiment

Training and prediction need a consistent input pipeline. The archived notebook uses pixel normalization; reproducing the work also means checking that preprocessing against the pretrained backbone's expectations.

An archive is evidence, not a fresh benchmark

Notebook outputs and dataset folders represent different saved states. Their labels are not identical, so this snapshot should not be treated as a reconstruction of the final thesis evaluation.

My contribution

As project lead, I coordinated the development and research work, collected bark photographs and built the model’s interface. The archived implementation uses TensorFlow/Keras and an existing VGG16 backbone; the research applies that approach to a selected tree-image dataset.

The title and credits were checked against the archived presentation; implementation details were inspected in the saved notebook. Reference projects stored alongside the thesis are not presented as my own results.