About Me
Hi, my name is Bruno Alexandre, I’m a Software Engineering master’s student at Universidade do Minho, currently specializing in Intelligent Systems (A.I) and Computer Graphics.
I have experimented with a range of different languages and frameworks and I am always looking for opportunities to work with something new. Currently, I’m most familiar with: Java, C/C++, Python and Javascript.
Recently, I’ve been working with:
- Tensorflow, for fast development iteration on neural networks
- Jade, for FIPA-ACL messaging protocols between distributed systems
- OpenGL and GLSL, for real-time rendering projects
- OpenCV, for image loading and processing
For my coursework, I also had to learn:
- API’s for distributed computing such as OpenMP and MPI
- DevOps technologies like Docker, Kubernetes and Ansible
My Favorite Projects
Deep learning models (CNN's and Ensembles of CNNs) for classification of traffic signs on the GTSRB dataset.
These are some CNNs and Ensembles (stacked CNNs) I trained and tested with the GTSRB dataset to classify road/traffic signs for a Computer Vision lab project.
Primary Features
- Offline pre-processing with image filters (such as Sobel’s, Local Histogram Equalization, Unsharp Masking, …) utilizing OpenCV and scikit-image.
- Real-time data augmentation (translations, rotations, shearing, color manipulation) embedded as in-model layers.
- Fully trained (and saved) Ensembles of stacked CNN’s created with Tensorflow .
Detect whether a smartphone's user is running, walking, riding a bike or resting/idling.
Group lab project implementing a full data collection, pre-processing, visualization and model training pipeline for physical activity classification through physical sensors of Android smartphones.
Primary Features
- Data collection from Gyroscope and Accelerometer sensors of Android smartphones through a custom-made app.
- Data is uploaded to and stored in a permanent Firebase server.
- Custom data visualization tool/app implemented with Streamlit.
- Deep Learning Tensorflow model capable of identifying if the user is Running, Walking, Riding a Bike or Idling.
Collection of GLSL shaders (OpenGL 4.0+) for procedural generation and real-time rendering of terrain.
This is a Nau project with GLSL shaders implementing procedurally generated terrain. It employs many real-time rendering techniques and allows for many types of terrain (realistic or toon-like, static or animated):
- Procedural generation is implemented with various noise functions such as Perlin, Simplex and Voronoi noise. Adding more noise functions is also possible and very easy.
- Variable terrain detail via a extensively parametrized and customizable Fractional Brownian Motion implementation.
- Dynamic LOD (level of detail) via variable tessellation levels.
- Dynamic Blinn–Phong lighting model.
- Height based texturing, applied with noise based sampling to disguise obvious texture repetition/tiling.
Education
Master's in Software Engineering
Universidade do Minho
currently attending
- Specialization in Intelligent Systems:
- Agents and Multi-agent Systems Grade: 18/20
- Deep Learning Grade: 15/20
- Sensorization and Environment Grade: 17/20
- Specialization in Computer Graphics:
- Computer Vision and Image Processing Grade: 18/20
- Real-Time Rendering Grade: 19/20
- Raytracing and Physically Based Rendering Grade: 20/20
Bachelor's in Computer Science
Universidade do Minho
2021