This paper introduces mmDefender, a mmWave radar-based system for non-invasive walk-through detection and localization of on-body concealed metallic objects. Traditional methods like visual inspection, metal detectors, and physical pat-downs often compromise efficiency and non-invasiveness. In contrast, mmWave technology can penetrate clothing and identify the location of concealed metallic objects with high precision, minimizing physical intrusion.
Unfortunately, using mmWave radar in dynamic, real-world environments presents challenges. These include real-time data processing and interpretation amidst varying walking speeds, clothing materials, and environmental conditions. mmDefender addresses these challenges by using an off-the-shelf mmWave radar strategically positioned to scan individuals as they walk through entry and exit points without pausing.
We describe the technical hurdles in developing mmDefender, such as understanding hardware limitations, efficiently transferring optimal amount of mmWave data, and creating algorithms for real-time processing and classification. By overcoming these obstacles, mmDefender achieves a 90.96% weight-averaged F1 score in detecting concealed metallic objects in 9 positions, including the chest, waist, pocket, and ankle under typical conditions (normal clothing, standard walking speed). We also evaluate the system’s performance under varying conditions including walking speed, clothing types and environmental factors to understand real-world deployment challenges. This work represents an important step toward enhanced public safety protocols and marks a pivotal advancement in the field.
@inproceedings{lu2025mmdefender,
title = {{{mmDefender}}: {{A mmWave System for On-Body Localization of Concealed Threats in Moving Persons}}},
booktitle = {International {{Conference}} on {{Embedded Wireless Systems}} and {{Networks}} ({{EWSN}})},
author = {Lu, Shao-Jung (Louie) and Monjur, Mahathir and Munir, Sirajum and Nirjon, Shahriar}
date = {2025-09},
location = {Leuven, Belgium},
pubstate={forthcoming}
}