Skip to content

BLShaw/NCTR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NCTR Aircraft Classification System

Overview

The Non-Cooperative Target Recognition (NCTR) system is an AI-powered tactical display that classifies aircraft based on their flight kinematics. Using a hybrid 1D-CNN + LSTM deep learning architecture, the system analyzes trajectory data (latitude, longitude, altitude, speed, vertical rate, and heading) to differentiate between three primary classes:

  • Commercial: High inertia, smooth transitions.
  • Fighter: High energy, aggressive combat maneuvers.
  • Drone: Low inertia, hover-capable movement patterns.

The project features a synthetic flight data generator for training and a professional Streamlit-based tactical display for real-time demonstration. NCTR3


Project Structure

  • notebooks/: Contains the model training and data generation notebook.
  • web_app/: Streamlit application files (frontend and logic).
  • models/: Directory for storing the trained .h5 model.
  • deepkinematics/: Core logic and shared utilities.

Setup & Installation

1. Environment Setup

It is recommended to use a virtual environment:

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

2. Install Dependencies

Install the required Python packages from the web_app directory:

pip install -r web_app/requirements.txt

Step-by-Step Execution

Phase 1: Model Generation

  1. Launch Jupyter Notebook or JupyterLab.
  2. Open and run all cells in notebooks/NCTR.ipynb.
  3. This notebook will:
    • Generate synthetic flight trajectories for all three classes.
    • Train the hybrid CNN-LSTM model.
    • Validate performance using accuracy and confusion matrices.
    • Save the final model as deepkinematics_model.h5 in the local notebook directory.

Phase 2: Model Deployment

  1. Locate the generated deepkinematics_model.h5 file.
  2. Move or copy this file into the models/ directory in the root of the project.
    # On Windows (PowerShell)
    Move-Item notebooks/deepkinematics_model.h5 models/
    
    # On Linux/macOS
    mv notebooks/deepkinematics_model.h5 models/

Phase 3: Launch Tactical Display

Run the Streamlit application from the project root:

streamlit run web_app/app.py

Features

  • Tactical 3D Plotter: Visualize aircraft trajectories in real-time.
  • Intelligence Reports: Get classification results with confidence levels and probability distributions.
  • Target Generation: Instantly simulate COM (Commercial), FGT (Fighter), or DRN (Drone) flight paths for analysis.
  • Kinematic Telemetry: Live dashboards for Airspeed, Altitude, and Vertical Rate statistics.

Technology Stack

  • Deep Learning: TensorFlow / Keras (CNN + LSTM)
  • Data Science: NumPy, Pandas, Scikit-learn
  • Visualization: Plotly, Matplotlib
  • Web Framework: Streamlit

About

A Non-Cooperative Target Recognition (NCTR) system using a Hybrid 1D-CNN + LSTM model to classify aircraft types (Commercial, Fighter, Drone) based on physics-constrained kinematic trajectories.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors