# Aasman Bashyal: complete public portfolio

This file contains the full biography, resume, project articles, writing, and gallery image links published on this site. Images, videos, and PDFs are linked rather than embedded as binary data.

Canonical portfolio: https://aasmanbashyal.com.np/
Short index: https://aasmanbashyal.com.np/llms.txt

Profile reviewed: 2026-10-23. Article publication dates appear with their source documents.

Source Markdown: https://aasmanbashyal.com.np/about.md

# About Aasman Bashyal

Canonical: https://aasmanbashyal.com.np/about

Research & AI Architect at [Angelswing](https://angelswing.io/). Remote.

Employer location: Seoul, South Korea.

I am a Research and AI Architect at Angelswing. I work on problems in computer vision, AI, GIS and deep learning.

I work remotely with Angelswing, based in Seoul, South Korea. My current work spans multimodal hazard detection systems, 360° panorama processing, indoor 3D reconstruction using NeRF and Gaussian Splatting, and real-time scene segmentation for geospatial applications.

Before joining Angelswing, I spent most of my time in robotics clubs at Pulchowk Campus building robots for ABU Robocon, where our robots earned the Tokyo Electron Award (Fiji, 2020) and the ROHM Award (Mongolia, 2019). That early experience in embedded systems, sensor fusion, and building things that physically move shaped how I approach software today: with a bias toward making things work under real-world constraints.

I hold a Bachelor's in Electronics and Communication Engineering from IOE, Tribhuvan University. Contact me about research or collaboration.

## Contact

[Email Aasman Bashyal](mailto:bashyalaasman@gmail.com)

[GitHub](https://github.com/aasmanbashyal) · [LinkedIn](https://www.linkedin.com/in/aasmanbashyal/) · [YouTube](https://youtube.com/@aasmanbashyal)

[Projects](https://aasmanbashyal.com.np/projects.md) · [Writing](https://aasmanbashyal.com.np/blogs.md) · [Resume](https://aasmanbashyal.com.np/resume.md)

---

Source Markdown: https://aasmanbashyal.com.np/resume.md

# Aasman Bashyal's resume

Canonical: https://aasmanbashyal.com.np/resume

Research & AI Architect at [Angelswing](https://angelswing.io/). Remote.

Employer location: Seoul, South Korea.

[Download the resume PDF](https://aasmanbashyal.com.np/pdf/resume_aasman_20261023.pdf)

## Research experience

### Research & AI Architect

Angelswing · Remote · Jun 2022 – Present

- Researching and developing a multimodal hazard detection system for drone imagery, combining RT-DETR with Vision LLMs alongside an agent-based verification framework using LLM-as-a-judge validation.
- Engineered a 360° panorama sky inpainting pipeline using LaMa, optimizing the zenith transformation algorithm to reduce 8K image processing time by 92% (from 5s to 400ms).
- Developed a 360° indoor navigation system using Visual SLAM based on stella_vslam to generate keyframes and trajectories from 360° timelapse videos. Integrated YOLO-based face detection to automatically blur workers and camera operators in equirectangular images for privacy protection.
- Researched 3D indoor scene reconstruction using Neural Radiance Fields (NeRF), Gaussian Splatting, and Structure from Motion (SfM) techniques.
- Implemented a modified architecture of the Segment Anything Model (50ms to 200ms latency) for segmenting large TIFF images, generating precise polygon masks, and improving the efficiency and accuracy of polygon drawing tools.
- Created architecture for 3D terrain model editing MVP, optimizing performance to achieve 1-3 second response time.
- Developed a snapping feature for Computer-Aided Design (CAD) overlay, improving the precision of measurement tools.

### Research Engineer Intern

KIAS · Lalitpur, Nepal · Apr 2021 – Sep 2021

- Designed portable solar-powered ESP32 weather station for real-time data collection.
- Integrated sensors for meteorological data, enhancing accuracy with Kalman filtering.
- Applied XGBoost and RandomForest models for weather forecasting.

### Robotics Engineer

Pulchowk Campus, IOE, T.U. · Lalitpur, Nepal · Nov 2017 – Oct 2021

- Led 21-member embedded and robot navigation team for ABU Robocon 2020, Fiji, and worked as a student team member for ABU Robocon 2019, Mongolia, and ABU Robocon 2018, Vietnam.
- Developed semi-autonomous navigation system for a four-wheel omni-drive robot, overseeing the integration of LiDAR, encoders, and IMU sensors.
- Engineered custom boards including motor drivers, and STM32-based development boards. Created additional function-specific boards (e.g., Schmitt trigger, pneumatic control).

## Education

### Bachelor of Electronics and Communication Engineering

Pulchowk Campus, IOE, Tribhuvan University · Lalitpur, Nepal · Nov 2017 – Apr 2022

## Awards and scholarships

- Tokyo Electron Award (2020): Outstanding robotic design, ABU ROBOCON, Fiji.
- ROHM Award (2019): Technical innovation in circuit design, ABU ROBOCON, Mongolia.
- Best Shuttlecock Award (2018): Innovative mechanism design, ABU ROBOCON, Vietnam.
- Winner, SDG Health Category (LOCUS 2019): For a project contributing to infant care.
- Mahatma Gandhi Scholarship: Received from the Indian Embassy for academic excellence in high school.

## Skills

- Programming Languages: Python, C, C++, MATLAB, Golang, SQL, HTML, CSS
- Frameworks: PyTorch, TensorFlow, OpenCV, Numpy, Scikit-learn, FastApi, MLFlow, Agent Development Kit
- Tools & Database: AWS (EC2, S3, Lambda, RDS), Docker, GIT, PostgreSQL, Kubeflow, Grafana
- GIS & Embedded Systems: QGIS, GDAL, Embedded C, KiCad, Proteus, STM32CubeMX, Keil Microvision, Arduino, ROS, Raspberry Pi

## Contact

[Email Aasman Bashyal](mailto:bashyalaasman@gmail.com)

[GitHub](https://github.com/aasmanbashyal) · [LinkedIn](https://www.linkedin.com/in/aasmanbashyal/) · [YouTube](https://youtube.com/@aasmanbashyal)

---

Source Markdown: https://aasmanbashyal.com.np/projects/amc.md

# Automatic Modulation Classifier

Identifying signal modulation types through automatic classification.

Canonical: https://aasmanbashyal.com.np/projects/amc

[Read paper (PDF)](https://aasmanbashyal.com.np/pdf/automatic_modulation_classification.pdf)

## Abstract

Automatic Modulation Classification (AMC) is the classification of signals automatically based on the type of modulation used to generate that signal. Many different approaches for AMC have been proposed which are categorized as ‘Decision Theoretic Approach’, ‘Feature Based Approach’ and ‘Deep Learning Based Approach’. Here, we have implemented various types of classifiers for AMC which include likelihood based approach, deep learning based approaches (LSTM and BiLSTM networks), CNN-LSTM model and also using a Quantum Neural Network (QNN). The likelihood based classifier and the QNN are restricted to classify only two types of modulations, namely BPSK and QPSK due to various limitations of those approaches. The deep learning based classifiers can classify 11 different modulation types from their IQ samples in the RadioML2016.10A dataset.

Very poor classification accuracy is seen at lower SNR levels for all the implemented models. The unrealistic requirement of perfect Channel State Information (CSI) in likelihood based classifiers and the lack of computational power at present in QNN architectures make them infeasible for real life use cases. The overall accuracy of 37.33%, 46.68%, 51.31%, 54.84%, 56.88%, 60.25% for LSTM, LSTM with attention, RadioML, Modified CNN, Bi-LSTM, CNN-LSTM models respectively were observed. Among all these DL based models, CNN-LSTM with attention layer achieved the highest accuracy of 90.01% (snr > 12 dB) while retaining a comparable average prediction time of 0.041 ms for a signal.

## Methodology

![AMC System Block Diagram](https://aasmanbashyal.com.np/img/amc/systemblockdiagram.webp)

AMC System Block Diagram

### CNN-LSTM based technique

CNN-LSTM model was found to be best. Key Features of the Model:

- **Multi-Scale Convolutional Layers**: Utilizes convolutional layers with different kernel sizes to capture features at various scales, crucial for understanding diverse characteristics of radio signals.

- **Regularization Techniques (L1/L2)**: Implements L1 and L2 regularization to prevent overfitting, encouraging model simplicity and parameter smoothness.

- **Batch Normalization**: Normalizes the activations of each layer, aiding in faster training convergence and providing regularization.

- **Max Pooling Layers**: Reduces the spatial dimensions of the input, cutting down on the number of parameters and computational load, which is essential for controlling overfitting.

- **Bidirectional LSTM with Attention Mechanism**: Processes data in both directions with a Bidirectional LSTM, capturing dependencies throughout the sequence. The Attention mechanism enables the model to focus on the most relevant parts of the input sequence for accurate predictions.

- **Dropout Layer**: Introduces a dropout layer to randomly deactivate input units during training, further preventing overfitting.

- **Dense and Output Layers**: Incorporates Dense layers, especially with a high neuron count, to learn complex patterns, and uses a softmax activation in the final layer for effective multi-class classification.

- **Optimization and Metrics**: Employs the Adam optimizer for adaptive learning rate adjustments, with categorical crossentropy as the loss function and accuracy as the performance metric.

![Model](https://aasmanbashyal.com.np/img/amc/cnnlstm/model.webp)

![SNR Accuracy](https://aasmanbashyal.com.np/img/amc/cnnlstm/snr_accuracy.webp)

![Overall SNR](https://aasmanbashyal.com.np/img/amc/cnnlstm/overallsnr.webp)

![All SNR](https://aasmanbashyal.com.np/img/amc/cnnlstm/all_snr.webp)

### Other Methods

- **Likelihood-Based Classifiers**: Traditional approach focusing on probabilistic models.

- **Other Deep Learning Techniques**: Different neural network architectures were used. This includes a modified Convolutional Neural Network (ConvNet), and Long Short-Term Memory (LSTM) units enhanced by an attention layer. Additionally, Bidirectional Long Short-Term Memory (Bi-LSTM) for efficient and comprehensive feature extraction.

- **Quantum Neural Network (QNN)**: Basic use of QNN.

![NAMC](https://aasmanbashyal.com.np/img/amc/namc.webp)

![NAMLA](https://aasmanbashyal.com.np/img/amc/namla.webp)

![NAMBIL](https://aasmanbashyal.com.np/img/amc/nambil.webp)

## Results

The graph below shows the accuracy of all the deep learning based models for different SNR levels. We also computed the average time taken to perform prediction by each model. The tests were all run on Tensor Processing Unit (TPU) provided by Google Colab. Here, we see that the prediction time for a single sample is similar across all the models with little variations. The time taken for the single sample prediction is longest for the Bi-LSTM model and the fastest among all is the LSTM with attention layer model.

![Overall SNR Results](https://aasmanbashyal.com.np/img/amc/overallsnr.webp)

![Prediction Time](https://aasmanbashyal.com.np/img/amc/time.webp)

### Confusion Matrices

![Confusion Matrix 3\_sa](https://aasmanbashyal.com.np/img/amc/3_sa.webp)

![Confusion Matrix 4\_sa](https://aasmanbashyal.com.np/img/amc/4_sa.webp)

![Confusion Matrix 2\_c](https://aasmanbashyal.com.np/img/amc/2_c.webp)

![Confusion Matrix 5\_c](https://aasmanbashyal.com.np/img/amc/5_c.webp)

![Confusion Matrix CA](https://aasmanbashyal.com.np/img/amc/ca.webp)

### Accuracy

![Accuracy 2\_slmc](https://aasmanbashyal.com.np/img/amc/2_slmc.webp)

![Accuracy 3\_c](https://aasmanbashyal.com.np/img/amc/3_c.webp)

![Accuracy 4\_c](https://aasmanbashyal.com.np/img/amc/4_c.webp)

![Accuracy 5\_sa](https://aasmanbashyal.com.np/img/amc/5_sa.webp)

---

Source Markdown: https://aasmanbashyal.com.np/projects/robotics.md

# Robotics Projects

Robots our team built for ABU Robocon.

Canonical: https://aasmanbashyal.com.np/projects/robotics

The ABU Asia-Pacific Robot Contest [(ABU Robocon)](https://en.wikipedia.org/wiki/ABU_Robocon) is a college-level robot competition for students across the Asia-Oceania region. Founded in 2002 by the Asia-Pacific Broadcasting Union, the contest challenges robots to complete specific tasks within a designated time limit.

## Team Nepal at ABU Robocon 2020

Winner of the Tokyo Electron Award

[Watch video: Robotics Projects video 1](https://www.youtube.com/watch?v=2GGnZ6cofWo)

## Team Nepal at ABU Robocon 2019

Winner of the ROHM Award

[Watch video: Robotics Projects video 2](https://www.youtube.com/watch?v=XIxwK-MC9v0)

---

Source Markdown: https://aasmanbashyal.com.np/projects/slam.md

# Simultaneous Localization and Mapping (SLAM)

Robot localization and mapping using a grid map and particle filter.

Canonical: https://aasmanbashyal.com.np/projects/slam

[Read paper (PDF)](https://aasmanbashyal.com.np/pdf/slam.pdf)

## Abstract

Simultaneous Localization and Mapping (SLAM) is a method used to numerically solve the problem of extracting a map and determining localization in an unknown environment for mobile robot navigation. It has been widely popular due to its broad range of applications in robotic systems.

Navigating in an unexplored environment is challenging. Various approaches have been developed for this problem, including probabilistic, feature-based, and graph-based methods. We use a grid-map based approach derived from Tiny SLAM, enhanced with a particle filter layer. This approach resulted in an improved map with fewer orientation errors and can handle greater robot motion speeds. However, the robot motion does not incorporate any control measures, resulting in errors in map updates due to inertial jerk.

## Introduction

### Navigation

Navigating in unknown environments presents a unique set of challenges, primarily related to localization and mapping. The localization challenge involves determining the precise position of an entity within an unfamiliar area, while the mapping challenge focuses on creating an accurate representation of the environment. Simultaneous Localization and Mapping (SLAM) offers an iterative solution to these challenges, continuously updating its understanding of both position and environment. However, the process is often complicated by errors in motion and measurements, which can significantly impact accuracy. To address this, a probabilistic approach is employed, allowing for a more robust and flexible response to the uncertainties inherent in navigating unknown spaces. This approach helps in making more informed decisions based on the likelihood of different scenarios, enhancing the overall effectiveness of the navigation system.

### TINY SLAM

TINY SLAM is a simple solution to the SLAM problem, designed for use on embedded platforms. It's quite small, with only about 200 lines of code, and is easy to understand.

### MAP (Occupancy Grid Map)

![Occupancy Grid Map](https://aasmanbashyal.com.np/img/slam/gridmap.webp)

Occupancy Grid Map

MAP is an Occupancy Grid Map used in navigation and mapping where each grid cell is assigned a probability. This probability, denoted as P(mi), represents the chance that the cell is not occupied. Initially, all grid cells are given a value of 0.5, indicating a neutral stance where it's equally likely for the cell to be occupied or unoccupied. This setup allows for a dynamic and probabilistic approach to understanding and mapping an environment.

### Particle Filter

The Particle Filter is a probabilistic method used to provide the best estimation in systems like SLAM . It involves a process called resampling, which helps in refining the accuracy of the estimation. In this approach, each 'particle' represents a possible state, and these particles are evaluated based on their likelihood or the probability of being correct. The most probable particles are then more likely to survive and be carried over to the next generation of estimations. This method significantly improves the performance of existing SLAM systems by continuously updating and refining the understanding of the environment based on the probability of different scenarios.

![Particle filter in action](https://aasmanbashyal.com.np/img/slam/bwpf.webp)

Particle filter in action

## Methodology

### System Block Diagram

![System Block Diagram](https://aasmanbashyal.com.np/img/slam/systemdiagram.webp)

### Flow diagram

![Flow diagram](https://aasmanbashyal.com.np/img/slam/messageflow.webp)

---

Source Markdown: https://aasmanbashyal.com.np/projects/gaussian.md

# Gaussian Splatting

Rendering novel views with Gaussian Splatting, with the mathematics behind the technique.

Canonical: https://aasmanbashyal.com.np/projects/gaussian

## Overview

3D Gaussian Splatting represents a scene with learned Gaussians for novel-view rendering. The [2023 method by Kerbl and colleagues](https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/) starts with calibrated images and sparse points, then optimizes the scene representation with a fast splat renderer.

[Watch video: Gaussian Splatting video 1](https://www.youtube.com/watch?v=-6xx_EPm7YA)

## Steps of Gaussian Splatting

### 1. Data Collection

Collect overlapping images of the scene. Estimate camera parameters and a sparse point cloud, typically using Structure from Motion.

### 2. Preprocess the Point Cloud

- Check the camera poses and remove unreliable points.

- Use the remaining points to initialize Gaussian centers.

### 3. Define the Gaussian Function

Each Gaussian has a center and covariance, along with learned opacity and view-dependent color. Its spatial shape is:

G(x) = exp(-½ \* (x - μ)^T \* Σ⁻¹ \* (x - μ))

- **μ** is the mean or center of the Gaussian (the location of the data point).

- **Σ** is the covariance matrix that determines the shape of the Gaussian (how spread out or narrow it is).

- **x** is the 3D point in space.

The covariance matrix controls the **width** and **orientation** of the Gaussian splat. If the covariance is small, the splat will be narrow and sharp; if it is large, the splat will be broader and softer.

### 4. Splatting Process

Project each visible 3D Gaussian onto the image plane as a 2D footprint.

### 5. Blending Overlapping Gaussians

Sort contributions by depth and use alpha compositing. With contributions ordered front to back:

C = Σ\_i c\_i α\_i ∏\_{j<i} (1 − α\_j)

Here, c\_i is color and α\_i combines the Gaussian footprint with learned opacity. Earlier contributions reduce the visibility of later ones.

### 6. Rendering the Scene

The visibility-aware rasterizer evaluates these contributions to produce the image. The original method uses splat rasterization rather than tracing a ray through every Gaussian.

### 7. Optimization

Optimize Gaussian parameters against the training images, with density control to add or remove Gaussians as needed.

---

Source Markdown: https://aasmanbashyal.com.np/projects/sfm.md

# Structure from Motion (SfM)

An SfM pipeline covering feature detection, camera pose estimation, triangulation, and 3D reconstruction.

Canonical: https://aasmanbashyal.com.np/projects/sfm

Structure from Motion (SfM) is a computer vision technique for reconstructing 3D structures from 2D image (sequential and non-sequential). This project demonstrates the end-to-end pipeline for SfM, including feature detection, camera pose estimation, triangulation, and 3D point cloud generation with code, mathematical representation and open source alternatives.

[Watch video: Structure from Motion (SfM) video 1](https://www.youtube.com/watch?v=x0KW0VWS5S4)

## Reconstruction pipeline

The following steps are typically used in standard structure from motion.

### 1. Camera Model

It is a mathematical representation that describes how a 3D point in the world is projected onto a 2D image plane. Simple **pinhole camera model** is represented by the following mathematical formula:

s x = K \[R | t\] X

- **x**: 2D point in the image (in homogeneous coordinates).

- **K**: Intrinsic camera matrix (focal length, principal point).

- **R, t**: Camera rotation and translation (extrinsic parameters).

- **X**: 3D point in the scene.

- **s**: Projective scale.

### 2. Feature Detection

Detect stable keypoints **x\_i** and compute descriptors to match them across images. Common choices include Scale-Invariant Feature Transform (SIFT) and Oriented FAST and Rotated BRIEF (ORB).

### 3. Feature Matching

Once features are detected across several images taken from different viewpoints, the next step is to match them across images. This is where the descriptors come in, as they uniquely identify the features.

- Match descriptors **x\_i ↔ x\_j** between image pairs.

- Compare descriptors using a suitable distance metric. A k-d tree can accelerate nearest-neighbor searches for floating-point descriptors; binary descriptors such as ORB use Hamming distance.

- Filter out outliers using techniques like RANSAC.

### 4. Fundamental Matrix Estimation

The **Fundamental Matrix** F satisfies the epipolar constraint:

x\_j^T \* F \* x\_i = 0

To estimate F:

1. Use the **eight-point algorithm**: Construct a linear system from matched points and solve A\*f = 0.

2. Enforce the rank-2 constraint on F by applying Singular Value Decomposition (SVD).

### 5. Essential Matrix Estimation

The **Essential Matrix** E is derived from F and camera intrinsics K:

E = K^T \* F \* K

Decompose E into relative rotation R and translation t using SVD.

### 6. Triangulation

For each matched feature pair, compute the 3D point X by solving a system and applying SVD.

### 7. Bundle Adjustment

Refine camera parameters and 3D points by minimizing the **reprojection error** using non-linear least squares methods like the **Levenberg-Marquardt algorithm**.

### 8. Sparse Point Cloud

Combine triangulated points X into a **sparse point cloud** representing the scene.

### 9. Dense Reconstruction (Optional)

To densify the sparse point cloud, use **Multi-View Stereo (MVS)** to estimate depth for every pixel.

---

Source Markdown: https://aasmanbashyal.com.np/projects/polygon.md

# Automatic Polygon Drawing

Drawing polygon masks automatically with the Segment Anything Model.

Canonical: https://aasmanbashyal.com.np/projects/polygon

I modified the Segment Anything Model to segment large TIFF images and generate polygon masks, with interaction latency of 50 to 200 ms.

Segment Anything Model (SAM) generates segmentation masks from prompts such as points and boxes.

## Demonstration

[Watch video: Automatic Polygon Drawing video 1](https://www.youtube.com/watch?v=dCxMem8kfn8)

[Watch video: Automatic Polygon Drawing video 2](https://www.youtube.com/watch?v=CfU6KY6Fgc4)

Polygon masks from positive and negative point prompts in a large geospatial image.

## Background

SAM supports interactive segmentation with point, box, and mask prompts, as well as automatic mask generation. For this tool, positive and negative clicks let the user refine a polygon.

The browser interaction needed to remain responsive on large images. The original approach took over an hour on the large image used in this project.

Changes to the architecture made interactive segmentation possible on a geospatial image of about 300 MB. The implementation details are confidential.

---

Source Markdown: https://aasmanbashyal.com.np/projects/terrain.md

# 3D Terrain Editing

Editing 3D terrain and flattening selected surfaces into 2D while preserving texture.

Canonical: https://aasmanbashyal.com.np/projects/terrain

I designed and implemented a prototype for editing 3D terrain models. It flattens selected polygonal surfaces into 2D while preserving their texture. Operations take 1 to 3 seconds.

## Demonstration

[Watch video: 3D Terrain Editing video 1](https://www.youtube.com/watch?v=EnAdTsuaO2A)

Flattening 3D surface

---

Source Markdown: https://aasmanbashyal.com.np/projects/snapping.md

# CAD Snapping

Snapping for precise measurements in a CAD overlay.

Canonical: https://aasmanbashyal.com.np/projects/snapping

I developed snapping for a Computer-Aided Design (CAD) overlay to help position measurements precisely.

## Feature Demonstration

[Watch video: CAD Snapping video 1](https://www.youtube.com/watch?v=DwzLX37WaFg)

Enabling Snapping

---

Source Markdown: https://aasmanbashyal.com.np/blogs/tinyml.md

# When weight pruning helps TinyML

How weight pruning shapes TinyML models, and where hardware constraints limit the gains.

Canonical: https://blogs.aasmanbashyal.com.np/blogs/tinyml

Published: February 24, 2026

TinyML runs machine learning on devices with limited memory and power \[1\]. Weight pruning is one way to shrink a model, alongside quantization and choosing a smaller architecture \[2\]. Whether it helps depends on the model and the hardware that will run it.

## Weight pruning and winning tickets

Magnitude pruning removes connections with small weights, usually followed by retraining \[2\]. The Lottery Ticket Hypothesis offers a related result. In the experiments reported by Frankle and Carbin, sparse subnetworks trained from their original initial weights could match the full network's test accuracy \[3\]. Initialization matters. The result does not mean that large weights always contain the model's "true signal."

## Deploying on constrained hardware

On microcontrollers, model storage, working memory, latency, and energy use are separate constraints. A smaller weight file does not guarantee lower peak SRAM use or faster inference. Deployment work such as DTMM \[4\] and pruning for charging-infrastructure anomaly detection \[5\] considers pruning in the context of a particular device and task.

Measure the deployed model on the target hardware, including preprocessing and any sparse-weight decoding. Compare accuracy, flash storage, peak working memory, latency, and energy with the original model.

## Where pruning reaches its limits

Pruning can reduce accuracy, especially when a model already has little spare capacity. Unstructured sparsity also needs a storage format and inference implementation that can use it. Otherwise, a dense kernel may still process the zero weights. Structured pruning removes whole filters or channels and can make smaller dense operations possible. Compression and hardware support need to be evaluated together \[6\].

## References

\[1\] P. Warden and D. Situnayake, *TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers*. O'Reilly Media, 2019.

\[2\] S. Han, H. Mao, and W. J. Dally, [Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding](https://arxiv.org/abs/1510.00149), 2016.

\[3\] J. Frankle and M. Carbin, [The Lottery Ticket Hypothesis: Finding Sparse, Trainable Neural Networks](https://arxiv.org/abs/1803.03635), 2019.

\[4\] [DTMM: Deploying TinyML Models on Extremely Weak IoT Devices with Pruning](https://arxiv.org/abs/2401.09068), IEEE INFOCOM 2024.

\[5\] [Pruning-Based TinyML Optimization of Machine Learning Models for Anomaly Detection in Electric Vehicle Charging Infrastructure](https://arxiv.org/abs/2503.14799), 2025.

\[6\] M. Deutel, P. Woller, C. Mutschler, and J. Teich, [Energy-efficient Deployment of Deep Learning Applications on Cortex-M based Microcontrollers using Deep Compression](https://arxiv.org/abs/2205.10369), 2023.

---

Source Markdown: https://aasmanbashyal.com.np/blogs/spectral.md

# When low-pass filtering helps graph neural networks

Why low-pass filtering helps graph neural networks, and when removing high-frequency signals can lose useful information.

Canonical: https://blogs.aasmanbashyal.com.np/blogs/spectral

Published: May 10, 2025

Many graph convolution models smooth neighboring node features. Simple Graph Convolution, for example, applies a fixed low-pass filter followed by a linear classifier \[2\]. This is useful when nearby nodes have similar labels. Spectral graph filters can also preserve or emphasize other frequencies, so low-pass filtering is a model choice, not a requirement of every spectral GNN \[1\].

## Low-pass filtering and homophily

In a citation network, linked papers may share research areas \[3\]. This tendency for connected nodes to share labels is called homophily \[4\]. Smoothing can make their feature representations more similar and help a classifier use the graph structure.

SGC precomputes repeated feature propagation before fitting its classifier \[2\]. It uses node features and graph connectivity for propagation, with the labeled nodes supplying the training targets. It does not need a label for every node.

![Graph convolutional network architecture from Kipf and Welling \[3\]](https://aasmanbashyal.com.np/img/blog/semi_hidden_layer_gnn.webp)

Graph convolutional network architecture from Kipf and Welling \[3\]

## Capturing graph-level patterns

Graph-level tasks, including molecular property prediction \[5\], combine node representations into a prediction for the whole graph. Smoothing can help aggregate information, but low-frequency components do not automatically capture every useful global property. The filter, propagation depth, and graph readout affect what information survives \[6, 7\].

## When high frequencies matter

High-frequency components describe differences across neighboring nodes. Those differences may be useful, so treating them all as noise can remove information needed for a task. Repeated smoothing can also make distinct nodes harder to distinguish \[7\].

Heterophily alone does not establish that a model will fail. Platonov and colleagues found that standard GNNs performed strongly on several heterophilous benchmarks, and that flaws in earlier datasets affected comparisons \[4\]. Evaluate filtering choices on the actual graph and task.

## References

\[1\] Z. Wu et al., [A Comprehensive Survey on Graph Neural Networks](https://doi.org/10.1109/TNNLS.2020.2978386), 2021.

\[2\] F. Wu et al., [Simplifying Graph Convolutional Networks](https://arxiv.org/abs/1902.07153), 2019.

\[3\] T. N. Kipf and M. Welling, [Semi-Supervised Classification with Graph Convolutional Networks](https://arxiv.org/abs/1609.02907), 2017.

\[4\] O. Platonov et al., [A critical look at the evaluation of GNNs under heterophily: Are we really making progress?](https://arxiv.org/abs/2302.11640), 2024.

\[5\] O. Wieder et al., [A compact review of molecular property prediction with graph neural networks](https://doi.org/10.1016/j.ddtec.2020.11.009), 2020.

\[6\] R. Li et al., [Adaptive Graph Convolutional Neural Networks](https://arxiv.org/abs/1801.03226), 2018.

\[7\] H. NT and T. Maehara, [Revisiting Graph Neural Networks: All We Have is Low-Pass Filters](https://arxiv.org/abs/1905.09550), 2019.

---

Source Markdown: https://aasmanbashyal.com.np/gallery.md

# Aasman Bashyal's gallery

Canonical: https://aasmanbashyal.com.np/gallery

20 photographs and images. Each link opens the original image.

## Robocon 2020

[Original image](https://aasmanbashyal.com.np/img/memories/robocon2020.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/robocon2020_thumb.webp)

## Mongolia Group 1

[Original image](https://aasmanbashyal.com.np/img/memories/mongolia_group_1.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/mongolia_group_1_thumb.webp)

## Mongolia Group 2

[Original image](https://aasmanbashyal.com.np/img/memories/mongolia_group_2.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/mongolia_group_2_thumb.webp)

## Mongolia Group 3

[Original image](https://aasmanbashyal.com.np/img/memories/mongolia_group_3.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/mongolia_group_3_thumb.webp)

## Mongolia Group 4

[Original image](https://aasmanbashyal.com.np/img/memories/mongolia_group_4.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/mongolia_group_4_thumb.webp)

## Mongolia Solo

[Original image](https://aasmanbashyal.com.np/img/memories/mongolia_solo.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/mongolia_solo_thumb.webp)

## ABU 2019 Group

[Original image](https://aasmanbashyal.com.np/img/memories/abu_2019_group.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/abu_2019_group_thumb.webp)

## ABU 2019

[Original image](https://aasmanbashyal.com.np/img/memories/abu_2019.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/abu_2019_thumb.webp)

## Robot Development 1

[Original image](https://aasmanbashyal.com.np/img/memories/robot_1.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/robot_1_thumb.webp)

## Robot Development 2

[Original image](https://aasmanbashyal.com.np/img/memories/robot_2.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/robot_2_thumb.webp)

## Circuits & Hardware 1

[Original image](https://aasmanbashyal.com.np/img/memories/circuit_1.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/circuit_1_thumb.webp)

## Circuits & Hardware 2

[Original image](https://aasmanbashyal.com.np/img/memories/circuit_2.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/circuit_2_thumb.webp)

## Circuits & Hardware 3

[Original image](https://aasmanbashyal.com.np/img/memories/circuit_3.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/circuit_3_thumb.webp)

## Circuits & Hardware 4

[Original image](https://aasmanbashyal.com.np/img/memories/circuit_4.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/circuit_4_thumb.webp)

## ABU 2018

[Original image](https://aasmanbashyal.com.np/img/memories/abu_2018.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/abu_2018_thumb.webp)

## ABU 2018 Group

[Original image](https://aasmanbashyal.com.np/img/memories/abu_2018_2.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/abu_2018_2_thumb.webp)

## ABU 2018 Solo

[Original image](https://aasmanbashyal.com.np/img/memories/abu_2018_solo.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/abu_2018_solo_thumb.webp)

## Mentorship 1

[Original image](https://aasmanbashyal.com.np/img/memories/mentorship_1.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/mentorship_1_thumb.webp)

## Mentorship 2

[Original image](https://aasmanbashyal.com.np/img/memories/mentorship_2.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/mentorship_2_thumb.webp)

## Mentorship 3

[Original image](https://aasmanbashyal.com.np/img/memories/mentorship_3.webp) · [Thumbnail](https://aasmanbashyal.com.np/img/memories/mentorship_3_thumb.webp)
