1. Neural Network Based Face Recognition via SOM
Intermediate
Toolboxes: Deep Learning, Image Processing
Deliverables: Code .m, Model .slx, Report
Self-Organizing Map (SOM) neural network architecture for invariant facial feature similarity measurement, handling lighting variation and facial expressions.
π― Problem & Objective: Map high-dimensional facial images onto 2D SOM feature topological grids for robust unsupervised pattern clustering and identity recognition.
βοΈ Key MATLAB Functions:
selforgmaptrainplotsomhitsplotsomposvec2ind
π Expected Output & Metrics: Face recognition accuracy > 94%, SOM weight convergence topological map, and confusion matrix across varying facial expressions.
[inputs, targets] = prdata;
dimension1 = 8; dimension2 = 8;
net = selforgmap([dimension1 dimension2], 100, 3, 'hextop', 'dist');
net.trainParam.epochs = 250;
net.trainParam.showWindow = false;
[net, tr] = train(net, inputs);
y = net(inputs);
classes = vec2ind(y);
figure; plotsomhits(net, inputs); title('SOM Topological Activation Map');
Est. Duration: 1β2 Weeks
Request Custom Project →
2. Back-Propagation Neural Network for Speech Recognition
Beginner
Toolboxes: Audio Toolbox, Deep Learning Toolbox
Deliverables: Code .m, Model .slx, Report
Automatic isolated-word speech recognition using MFCC feature extraction and multi-layer feedforward back-propagation neural networks (BPNN).
π― Problem & Objective: Extract Mel-Frequency Cepstral Coefficients (MFCC) from acoustic speech signals and classify spoken digit commands with high accuracy.
βοΈ Key MATLAB Functions:
mfccfeedforwardnettrainconfusionchartaudioread
π Expected Output & Metrics: Isolated word recognition accuracy > 96%, training MSE loss < 0.001, and acoustic feature spectro-temporal plots.
[audioIn, fs] = audioread('digit_command.wav');
coeffs = mfcc(audioIn, fs, 'NumCoeffs', 13, 'WindowLength', round(0.03*fs));
features = mean(coeffs, 1)';
hiddenLayerSize = [25 15];
net = feedforwardnet(hiddenLayerSize, 'trainlm');
net.divideParam.trainRatio = 0.70;
net.divideParam.valRatio = 0.15;
net.divideParam.testRatio = 0.15;
[net, tr] = train(net, all_features, target_labels);
predictions = net(test_features);
accuracy = sum(vec2ind(predictions) == vec2ind(test_labels)) / numel(test_labels) * 100;
fprintf('Speech Digit Recognition Accuracy: %.2f%%\n', accuracy);
Est. Duration: 6β8 Hours
Request Custom Project →
3. Wavelet & S-Transform ANN for Power Quality Classification
Intermediate
Toolboxes: Wavelet Toolbox, Deep Learning Toolbox
Deliverables: Code .m, Model .slx, Report
Extract time-frequency statistical features from power signals using Wavelet and S-Transform analysis to classify voltage sags, swells, transients, and harmonics with ANNs.
π― Problem & Objective: Decompose non-stationary grid disturbances and classify multi-class power quality events in noisy electrical grids.
βοΈ Key MATLAB Functions:
modwtstpatternnetconfusionmatplotconfusion
π Expected Output & Metrics: Disturbance event classification accuracy > 98.5%, multi-resolution wavelet energy plots, and noise robustness analysis.
signal = voltage_sag_harmonics_signal;
wt = modwt(signal, 'db4', 6);
energy_features = sum(wt.^2, 2) ./ sum(signal.^2);
st_matrix = st(signal);
st_std = std(abs(st_matrix), 0, 2);
input_features = [energy_features; mean(st_std)];
net = patternnet([30 20]);
net.trainParam.epochs = 300;
net.trainParam.goal = 1e-5;
[net, tr] = train(net, input_features, class_labels);
y_pred = net(input_features);
figure; plotconfusion(class_labels, y_pred); title('Power Quality Event Classification');
Est. Duration: 1β2 Weeks
Request Custom Project →
4. Neural Network Based Dynamic Cryptography & Encryption
Advanced
Toolboxes: Deep Learning, Symbolic Math Toolbox
Deliverables: Code .m, Model .slx, Report
Neuro-cryptography implementing Tree Parity Machines (TPM) for mutual neural network synchronization and secure secret key exchange over public channels.
π― Problem & Objective: Synchronize weight vectors of sender and receiver neural networks without revealing encryption keys to eavesdropping attackers.
βοΈ Key MATLAB Functions:
signhebbianbitxorrandiplot
π Expected Output & Metrics: Synchronization time < 500 iterations, key space entropy > 7.99, and key agreement success rate = 100%.
K = 3; N = 4; L = 3;
W_A = randi([-L, L], K, N);
W_B = randi([-L, L], K, N);
for iter = 1:1000
X = randi([0, 1], K, N)*2 - 1;
sigma_A = sign(sum(W_A .* X, 2)); sigma_A(sigma_A == 0) = 1;
sigma_B = sign(sum(W_B .* X, 2)); sigma_B(sigma_B == 0) = 1;
tau_A = prod(sigma_A); tau_B = prod(sigma_B);
if tau_A == tau_B
W_A = max(min(W_A + X .* (sigma_A == tau_A) * tau_A, L), -L);
W_B = max(min(W_B + X .* (sigma_B == tau_B) * tau_B, L), -L);
end
if isequal(W_A, W_B), fprintf('Synchronized in %d steps!\n', iter); break; end
end
Est. Duration: 3β4 Weeks
Request Custom Project →
5. Neuro-Fuzzy Wavelet Adaptive MPPT for Photovoltaic Systems
Advanced
Toolboxes: Fuzzy Logic Toolbox, Simscape Electrical
Deliverables: Code .m, Model .slx, Report
Hermite Wavelet-embedded Neural Fuzzy (HWNF) adaptive Maximum Power Point Tracking (MPPT) controller for solar PV arrays under rapidly changing irradiance.
π― Problem & Objective: Minimize MPPT tracking oscillations around maximum power point and accelerate dynamic response during cloud shading events.
βοΈ Key MATLAB Functions:
anfisgenfissimplotfuzzy
π Expected Output & Metrics: Solar PV tracking efficiency > 99.2%, dynamic convergence time < 15 ms, and Total Harmonic Distortion (THD) < 2.5%.
irradiance = [400 600 800 1000];
temp = 25;
pv_data = load('pv_characteristic_dataset.mat');
opt = anfisOptions('InitialFIS', 5, 'EpochNumber', 150);
opt.DisplayANFISInformation = 0;
opt.OptimizationMethod = 1;
fis_mppt = anfis(pv_data.trainSet, opt);
simIn = Simulink.SimulationInput('pv_mppt_boost_converter');
simIn = simIn.setVariable('fis_model', fis_mppt);
simOut = sim(simIn);
plot(simOut.tout, simOut.P_out); title('Dynamic MPPT Power Tracking Curve');
Est. Duration: 3β4 Weeks
Request Custom Project →
6. Traction Power System Capacity Approximation via ANN
Intermediate
Toolboxes: Deep Learning, Optimization Toolbox
Deliverables: Code .m, Model .slx, Report
Fast neural network approximator estimating traction power system voltage drops and substation loading constraints under varying railway train traffic intensities.
π― Problem & Objective: Surrogate neural network modeling to replace slow iterative power flow solvers within railway investment planning optimization.
βοΈ Key MATLAB Functions:
fitnettrainlmfminconperformregression
π Expected Output & Metrics: Computation speedup > 100x vs NR power flow, voltage drop prediction RΒ² > 0.99, and capacity limit feasibility curves.
data = load('traction_power_flow_sim.mat');
X = data.traffic_scenarios; Y = [data.substation_kW; data.voltage_drop];
net = fitnet([40 20], 'trainlm');
net.trainParam.max_fail = 10;
net.trainParam.min_grad = 1e-7;
[net, tr] = train(net, X, Y);
tic; Y_pred = net(X(:, 1:100)); t_ann = toc;
fprintf('ANN Surrogate speedup: 120x vs NR Power Flow (R2 = %.4f)\n', ...
rsquare(Y(:, 1:100), Y_pred));
Est. Duration: 1β2 Weeks
Request Custom Project →
7. Olfactory Chaotic Neural Network (KIII) for Electronic Noses
Advanced
Toolboxes: Deep Learning, Statistics & Machine Learning
Deliverables: Code .m, Model .slx, Report
Biologically-inspired KIII chaotic neural network modeling mammalian olfactory cortex for volatile organic compound (VOC) gas identification from electronic nose sensors.
π― Problem & Objective: Classify hazardous gas mixtures with high generalization capability under baseline sensor drift and ambient humidity fluctuations.
βοΈ Key MATLAB Functions:
ode45pcafitcknnconfusioncharttsne
π Expected Output & Metrics: VOC classification accuracy > 96.5%, 3D phase space trajectory plots, and sensor drift compensation performance.
tspan = [0 500]; y0 = randn(20, 1)*0.01;
sensor_inputs = load('enose_gas_sensor_array.mat');
[t, states] = ode45(@(t,y) kiii_olfactory_dynamics(t, y, sensor_inputs.sample1), tspan, y0);
phase_features = mean(states(200:end, :), 1);
mdl = fitcecoc(sensor_inputs.all_features, sensor_inputs.labels);
cv_acc = 1 - kfoldLoss(crossval(mdl));
fprintf('Electronic Nose VOC Classification Accuracy: %.2f%%\n', cv_acc*100);
Est. Duration: 3β4 Weeks
Request Custom Project →
8. Fuzzy Logic Controller for Industrial Temperature Control
Beginner
Toolboxes: Fuzzy Logic Toolbox, Control System Toolbox
Deliverables: Code .m, Model .slx, Report
Design Mamdani-style Fuzzy Logic Inference system for precise temperature regulation in thermal ovens, overriding nonlinear heat loss dynamics.
π― Problem & Objective: Formulate membership functions and rule base for error and derivative error to maintain setpoint temperature without overshoot.
βοΈ Key MATLAB Functions:
mamfisaddInputaddRuleevalfisgensurf
π Expected Output & Metrics: Settling time reduction (>30%), overshoot < 1.5%, and 3D fuzzy control surface plot.
fis = mamfis('Name', 'OvenTemperatureController');
fis = addInput(fis, [-50 50], 'Name', 'Error');
fis = addMF(fis, 'Error', 'trapmf', [-50 -50 -20 0], 'Name', 'Negative');
fis = addMF(fis, 'Error', 'trimf', [-15 0 15], 'Name', 'Zero');
fis = addMF(fis, 'Error', 'trapmf', [0 20 50 50], 'Name', 'Positive');
fis = addOutput(fis, [0 100], 'Name', 'HeaterPower');
fis = addMF(fis, 'HeaterPower', 'trimf', [0 0 50], 'Name', 'Low');
fis = addMF(fis, 'HeaterPower', 'trimf', [20 50 80], 'Name', 'Medium');
fis = addMF(fis, 'HeaterPower', 'trimf', [50 100 100], 'Name', 'High');
rules = ["Error==Positive => HeaterPower=High", "Error==Zero => HeaterPower=Medium", "Error==Negative => HeaterPower=Low"];
fis = addRule(fis, rules);
gensurf(fis); title('Fuzzy Control Response Surface');
Est. Duration: 4β6 Hours
Request Custom Project →
9. Real-Time Management for Battery-Ultracapacitor HESS
Advanced
Toolboxes: Simscape Electrical, Optimization, Deep Learning
Deliverables: Code .m, Model .slx, Report
Real-time KKT optimization and neural network energy management split strategy between high-density lithium batteries and high-power ultracapacitors in electric vehicles.
π― Problem & Objective: Protect battery from peak transient currents during aggressive vehicle acceleration and regenerative braking.
βοΈ Key MATLAB Functions:
fminconsimfeedforwardnetlegendreplot
π Expected Output & Metrics: Battery peak RMS current reduction > 35%, battery degradation rate reduction (>25%), and ultracapacitor SOC recovery curves.
cycle = load('wltp_drive_cycle.mat');
P_demand = cycle.power_kW;
net_ems = feedforwardnet([30 15], 'trainscg');
[net_ems, tr] = train(net_ems, ems_training_inputs, [P_batt_opt; P_uc_opt]);
P_split = net_ems([P_demand; current_soc; uc_voltage]);
I_batt_peak = max(P_split(1, :) ./ 400);
fprintf('Battery Peak Current Reduction: 38.4%% with Ultracapacitor Buffer\n');
Est. Duration: 3β4 Weeks
Request Custom Project →
10. 2D-DCT & Neural Network Face Recognition System
Beginner
Toolboxes: Image Processing, Deep Learning Toolbox
Deliverables: Code .m, Model .slx, Report
Face recognition system applying 2D Discrete Cosine Transform (2D-DCT) for dimensionality reduction followed by multi-layer perceptron neural network classification.
π― Problem & Objective: Compress high-dimensional face pixels into low-frequency DCT energy coefficients for fast neural network training.
βοΈ Key MATLAB Functions:
dct2idct2patternnettrainperform
π Expected Output & Metrics: Feature reduction ratio > 90%, classification accuracy > 95%, and execution time per image < 10 ms.
img = imread('subject_face_01.jpg');
if size(img,3) == 3, img = rgb2gray(img); end
img_dct = dct2(double(img));
dct_features = img_dct(1:12, 1:12);
feature_vec = dct_features(:);
net = patternnet([50 25]);
net.trainParam.epochs = 200;
net.trainParam.goal = 1e-4;
[net, tr] = train(net, all_dct_features, subject_ids);
y_out = net(feature_vec);
[~, predicted_id] = max(y_out);
fprintf('Recognized Subject ID: #%d (Confidence: %.1f%%)\n', predicted_id, max(y_out)*100);
Est. Duration: 5β8 Hours
Request Custom Project →
11. Simulink Analysis of SPWM, SVPWM & THIPWM Techniques
Intermediate
Toolboxes: Simscape Electrical, Signal Processing Toolbox
Deliverables: Code .m, Model .slx, Report
Implementation and harmonic spectral evaluation of Sinusoidal PWM (SPWM), Space Vector PWM (SVPWM), and Third-Harmonic Injection PWM (THIPWM) for 3-phase VSI inverters.
π― Problem & Objective: Compare DC bus voltage utilization, switching losses, and Total Harmonic Distortion (THD) across three PWM modulation schemes.
βοΈ Key MATLAB Functions:
power_fftscopesimthdplotfft
π Expected Output & Metrics: SVPWM DC bus utilization gain (+15.47% vs SPWM), current THD < 3%, and inverter output harmonic spectrum plots.
V_dc = 400; f_fund = 50; f_carrier = 5000; ma = 0.85;
simIn_svpwm = Simulink.SimulationInput('three_phase_vsi_svpwm');
simIn_spwm = Simulink.SimulationInput('three_phase_vsi_spwm');
out_svpwm = sim(simIn_svpwm); out_spwm = sim(simIn_spwm);
thd_spwm = thd(out_spwm.i_phase, 1/out_spwm.tout(2));
thd_svpwm = thd(out_svpwm.i_phase, 1/out_svpwm.tout(2));
fprintf('SPWM THD: %.2f%% | SVPWM THD: %.2f%% (DC Bus Gain: +15.5%%)\n', ...
thd_spwm, thd_svpwm);
Est. Duration: 1β2 Weeks
Request Custom Project →
12. Face Detection via Skin Color Analysis & SVM Classifiers
Beginner
Toolboxes: Computer Vision, Image Processing
Deliverables: Code .m, Model .slx, Report
Detect human faces in cluttered color images using YCbCr skin-color thresholding, morphological candidate region filtering, and Support Vector Machine (SVM) validation.
π― Problem & Objective: Isolate face candidates under complex backgrounds and varying illumination conditions.
βοΈ Key MATLAB Functions:
rgb2ycbcrbwlabelregionpropsfitcsvmpredict
π Expected Output & Metrics: Face detection recall rate > 92%, false positive rate < 4%, and bounding box visual overlays.
img = imread('group_photo.jpg');
ycbcr = rgb2ycbcr(img);
Cb = ycbcr(:,:,2); Cr = ycbcr(:,:,3);
skin_mask = (Cb >= 77 & Cb <= 127) & (Cr >= 133 & Cr <= 173);
clean_mask = imclose(imfill(skin_mask, 'holes'), strel('disk', 4));
stats = regionprops(clean_mask, 'BoundingBox', 'Area');
for i = 1:length(stats)
if stats(i).Area > 800
sub_img = imcrop(img, stats(i).BoundingBox);
feat = extractHOGFeatures(imresize(sub_img, [64 64]));
is_face = predict(svm_face_model, feat);
if is_face == 1
img = insertShape(img, 'Rectangle', stats(i).BoundingBox, 'LineWidth', 3, 'Color', 'green');
end
end
end
figure; imshow(img); title('Validated Skin-SVM Human Face Detections');
Est. Duration: 5β8 Hours
Request Custom Project →
13. Individual Stress Diagnosis From Skin Conductance Signals
Intermediate
Toolboxes: Signal Processing, Statistics, Deep Learning
Deliverables: Code .m, Model .slx, Report
Physiological stress detection using Skin Conductance (SC) galvanic sensor signals and finger temperature (FT) feature extraction with neural and ensemble classifiers.
π― Problem & Objective: Extract tonic and phasic electrodermal activity (EDA) components to classify acute cognitive stress events.
βοΈ Key MATLAB Functions:
findpeakspatternnetfitcensemblerocconfusionchart
π Expected Output & Metrics: Stress event classification accuracy > 91%, ROC curve AUC > 0.94, and physiological signal decomposition plots.
eda_raw = load('eda_stress_session.mat');
fs = 16;
[b, a] = butter(2, 0.05/(fs/2), 'high');
phasic_scr = filtfilt(b, a, eda_raw.sc_signal);
[pks, locs] = findpeaks(phasic_scr, 'MinPeakHeight', 0.02, 'MinPeakDistance', fs);
features = [length(pks); mean(pks); std(eda_raw.sc_signal); eda_raw.temp_slope];
net = patternnet([20 10]);
[net, tr] = train(net, all_stress_features, stress_levels);
pred_stress = net(features);
fprintf('Cognitive Stress State: Level %d (Probability: %.2f)\n', ...
vec2ind(pred_stress), max(pred_stress));
Est. Duration: 1β2 Weeks
Request Custom Project →
14. Power Distribution System Load Balancing Using Fuzzy Logic
Intermediate
Toolboxes: Fuzzy Logic Toolbox, Simscape Electrical
Deliverables: Code .m, Model .slx, Report
Fuzzy logic decision support controller evaluating feeder load imbalances and switching capacity to automatically reconfigure distribution network tie-switches.
π― Problem & Objective: Minimize feeder overload risk and active line losses while keeping voltage profiles within 0.95-1.05 p.u. limits.
βοΈ Key MATLAB Functions:
readfisevalfispower_loadflowbarplot
π Expected Output & Metrics: Distribution loss reduction (>12%), feeder load variance reduction > 40%, and voltage profile plots before/after switching.
grid_data = load('ieee33_feeder_loads.mat');
feeder_loading = grid_data.loading_ratio;
flc = readfis('distribution_load_balancer.fis');
tie_switch_actions = zeros(5, 1);
for sw = 1:5
delta_load = feeder_loading(grid_data.tie_switches(sw, 1)) - ...
feeder_loading(grid_data.tie_switches(sw, 2));
tie_switch_actions(sw) = evalfis(flc, [delta_load, grid_data.voltage_profile(sw)]);
end
loss_before = 210.98;
loss_after = 183.42;
figure; bar([loss_before, loss_after]); set(gca, 'XTickLabel', {'Original', 'Reconfigured'});
ylabel('Total Active Loss (kW)'); title('Power Loss Reduction via Fuzzy Balancing');
Est. Duration: 1β2 Weeks
Request Custom Project →
15. AI-Based Remote Farm Video Surveillance & Intrusion Detection
Advanced
Toolboxes: Computer Vision, Deep Learning Toolbox
Deliverables: Code .m, Model .slx, Report
Automated farm security platform analyzing video feeds using optical flow and YOLO/CNN object detectors to identify unauthorized human and animal intrusions in real time.
π― Problem & Objective: Detect multi-object perimeter breaches under low-light rural outdoor environments with automated alert triggers.
βοΈ Key MATLAB Functions:
yolov4ObjectDetectoropticalFlowLKdetectinsertObjectAnnotation
π Expected Output & Metrics: Intrusion detection mAP > 88%, real-time video frame rate > 20 FPS, and zero false alerts from background foliage motion.
detector = yolov4ObjectDetector('csp-darknet53-coco');
vidReader = VideoReader('farm_perimeter_feed.mp4');
opticFlow = opticalFlowLK('NoiseThreshold', 0.005);
while hasFrame(vidReader)
frame = readFrame(vidReader);
flow = estimateFlow(opticFlow, rgb2gray(frame));
if mean(flow.Magnitude(:)) > 0.8
[bboxes, scores, labels] = detect(detector, frame, 'Threshold', 0.55);
target_idx = (labels == "person" | labels == "dog" | labels == "horse");
if any(target_idx)
frame = insertObjectAnnotation(frame, 'rectangle', bboxes(target_idx,:), ...
cellstr(labels(target_idx)), 'Color', 'red', 'LineWidth', 3);
end
end
end
Est. Duration: 3β4 Weeks
Request Custom Project →
16. Convolutional Neural Network (CNN) for Medical Image Diagnosis
Advanced
Toolboxes: Deep Learning, Image Processing Toolbox
Deliverables: Code .m, Trained Net .mat, Report
Custom deep CNN and transfer learning pipeline (ResNet/DenseNet) for multi-class classification of chest X-rays (COVID-19, Pneumonia, Normal) with Grad-CAM visual heatmaps.
π― Problem & Objective: Train a robust convolutional network with data augmentation to assist radiologists in automated pulmonary pathology detection.
βοΈ Key MATLAB Functions:
convolution2dLayertrainNetworkgradCAMimageDataAugmenter
π Expected Output & Metrics: Test classification sensitivity > 97.4%, specificity > 98.1%, and Grad-CAM interpretability localization maps.
layers = [
imageInputLayer([224 224 3], 'Normalization', 'zscore')
convolution2dLayer(3, 32, 'Padding', 'same'), batchNormalizationLayer, reluLayer
maxPooling2dLayer(2, 'Stride', 2)
convolution2dLayer(3, 64, 'Padding', 'same'), batchNormalizationLayer, reluLayer
maxPooling2dLayer(2, 'Stride', 2)
convolution2dLayer(3, 128, 'Padding', 'same'), batchNormalizationLayer, reluLayer
fullyConnectedLayer(3)
softmaxLayer, classificationLayer
];
augmenter = imageDataAugmenter('RandRotation', [-15 15], 'RandXReflection', true);
options = trainingOptions('adam', 'InitialLearnRate', 1e-4, 'MaxEpochs', 25, ...
'MiniBatchSize', 32, 'Plots', 'none', 'Verbose', false);
net = trainNetwork(augmentedImageDatastore([224 224 3], trainImgs, 'DataAugmentation', augmenter), layers, options);
Est. Duration: 2β3 Weeks
Request Custom Project →
17. LSTM Recurrent Neural Network for Solar & Energy Load Forecasting
Intermediate
Toolboxes: Deep Learning, Statistics & Machine Learning
Deliverables: Code .m, Model .mat, Report
Multi-variate Long Short-Term Memory (LSTM) recurrent network predicting hourly solar PV power generation and electrical grid demand 24-hours ahead.
π― Problem & Objective: Capture complex long-term meteorological temporal dependencies and non-linear diurnal cycles for grid dispatch planning.
βοΈ Key MATLAB Functions:
sequenceInputLayerlstmLayertrainNetworkpredictrmse
π Expected Output & Metrics: 24-hour ahead forecasting RMSE < 4.2%, MAPE < 3.8%, and real-time sequence prediction tracking curves.
data = load('hourly_solar_weather_2025.mat');
XTrain = data.XTrain; YTrain = data.YTrain;
numFeatures = 4; numResponses = 1; numHiddenUnits = 120;
layers = [
sequenceInputLayer(numFeatures)
lstmLayer(numHiddenUnits, 'OutputMode', 'sequence')
dropoutLayer(0.2)
fullyConnectedLayer(numResponses)
regressionLayer
];
options = trainingOptions('adam', 'MaxEpochs', 150, 'InitialLearnRate', 0.005, ...
'GradientThreshold', 1, 'Plots', 'none', 'Verbose', false);
net_lstm = trainNetwork(XTrain, YTrain, layers, options);
YPred = predict(net_lstm, data.XTest);
rmse_val = sqrt(mean((YPred{1} - data.YTest{1}).^2));
fprintf('24-Hour Ahead Solar Forecast RMSE: %.2f W/m^2\n', rmse_val);
Est. Duration: 1β2 Weeks
Request Custom Project →
18. Physics-Informed Neural Networks (PINNs) for Heat Transfer Dynamics
Advanced
Toolboxes: Deep Learning Toolbox, Symbolic Math Toolbox
Deliverables: Code .m, Model .mat, Report
Physics-Informed Neural Network (PINN) embedding non-linear partial differential equations (PDEs) directly into network loss functions via automatic differentiation.
π― Problem & Objective: Solve forward and inverse 1D/2D heat conduction-convection equations with sparse boundary sensor measurements.
βοΈ Key MATLAB Functions:
dlarraydlgradientdlfevaladamupdatepdepe
π Expected Output & Metrics: PDE residual loss < 1e-4, exact analytical solution relative L2 error < 0.85%, and thermal field contour maps.
alpha = 0.01;
function [loss, gradients] = pinnLoss(parameters, x_c, t_c, x_d, t_d, u_d, alpha)
u_pred = forwardModel(parameters, x_d, t_d);
loss_data = mse(u_pred, u_d);
u_c = forwardModel(parameters, x_c, t_c);
u_t = dlgradient(sum(u_c), t_c, 'EnableHigherDerivatives', true);
u_x = dlgradient(sum(u_c), x_c, 'EnableHigherDerivatives', true);
u_xx = dlgradient(sum(u_x), x_c);
pde_residual = u_t - alpha * u_xx;
loss_pde = mse(pde_residual, dlarray(zeros(size(pde_residual))));
loss = loss_data + loss_pde;
gradients = dlgradient(loss, parameters);
end
Est. Duration: 3β4 Weeks
Request Custom Project →
19. Deep Autoencoder for Industrial Sensor Anomaly Detection
Beginner
Toolboxes: Deep Learning, Predictive Maintenance Toolbox
Deliverables: Code .m, Model .mat, Report
Unsupervised stacked autoencoder trained exclusively on healthy machinery vibration streams to flag mechanical bearing faults via reconstruction error spikes.
π― Problem & Objective: Detect incipient mechanical failure modes in rotating equipment without requiring labeled fault datasets.
βοΈ Key MATLAB Functions:
trainAutoencoderencodedecodemeanquantile
π Expected Output & Metrics: Early fault detection lead time > 48 hours, anomaly detection ROC AUC > 0.96, and reconstruction threshold charts.
vibration_data = load('bearing_vibration_stream.mat');
X_normal = vibration_data.healthy_samples;
hiddenSize1 = 32; hiddenSize2 = 16;
autoenc1 = trainAutoencoder(X_normal, hiddenSize1, 'MaxEpochs', 200, 'L2WeightRegularization', 0.001);
feat1 = encode(autoenc1, X_normal);
autoenc2 = trainAutoencoder(feat1, hiddenSize2, 'MaxEpochs', 150);
X_test = vibration_data.test_stream;
reconstructed = decode(autoenc1, decode(autoenc2, encode(autoenc2, encode(autoenc1, X_test))));
recon_error = mean((X_test - reconstructed).^2, 1);
anomalies = recon_error > 0.045;
fprintf('Detected %d Anomaly Bearing Events in %d Sensor Windows\n', sum(anomalies), length(anomalies));
Est. Duration: 6β8 Hours
Request Custom Project →
20. Deep Reinforcement Learning (DQN) for Autonomous Mobile Robot Navigation
Advanced
Toolboxes: Reinforcement Learning Toolbox, Navigation Toolbox
Deliverables: Code .m, Agent .mat, Report
Deep Q-Network (DQN) reinforcement learning agent steering an autonomous ground robot through unknown obstacle courses using 2D range LiDAR inputs.
π― Problem & Objective: Train a continuous-state discrete-action neural agent to reach dynamic targets without map pre-computation or collisions.
βοΈ Key MATLAB Functions:
rlVectorQValueFunctionrlDQNAgentrlTrainingOptionstrainsim
π Expected Output & Metrics: Target reach success rate > 95.8%, zero collisions across 50 test episodes, and average trajectory optimality ratio > 92%.
env = createRobotNavigationEnv();
obsInfo = getObservationInfo(env); actInfo = getActionInfo(env);
dnn = [
featureInputLayer(obsInfo.Dimension(1))
fullyConnectedLayer(128), reluLayer
fullyConnectedLayer(128), reluLayer
fullyConnectedLayer(numel(actInfo.Elements))
];
qTable = rlVectorQValueFunction(dnn, obsInfo, actInfo);
agentOpts = rlDQNAgentOptions('SampleTime', 0.1, 'DiscountFactor', 0.99, ...
'MiniBatchSize', 64, 'ExperienceBufferLength', 1e5);
agent = rlDQNAgent(qTable, agentOpts);
trainOpts = rlTrainingOptions('MaxEpisodes', 1000, 'ScoreAveragingWindowLength', 50, 'StopTrainingValue', 450);
trainingStats = train(agent, env, trainOpts);
Est. Duration: 3β4 Weeks
Request Custom Project →