<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Projects |</title><link>https://caiyf03.github.io/projects/</link><atom:link href="https://caiyf03.github.io/projects/index.xml" rel="self" type="application/rss+xml"/><description>Projects</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Fri, 19 Dec 2025 00:00:00 +0000</lastBuildDate><image><url>https://caiyf03.github.io/media/icon_hu_702a800cd775dbac.png</url><title>Projects</title><link>https://caiyf03.github.io/projects/</link></image><item><title>PERoKF: Physics-Enhanced Super-Resolution of Kolmogorov Flow</title><link>https://caiyf03.github.io/projects/perokf/</link><pubDate>Fri, 19 Dec 2025 00:00:00 +0000</pubDate><guid>https://caiyf03.github.io/projects/perokf/</guid><description>&lt;h2 id="team"&gt;Team&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;YiFan Cai&lt;/li&gt;
&lt;li&gt;YiRan Hu&lt;/li&gt;
&lt;li&gt;JiaCheng Zhu&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;PERoKF&lt;/strong&gt; studies how to inject physics priors into modern neural networks for &lt;strong&gt;single-frame&lt;/strong&gt; super-resolution of 2D Kolmogorov flow—without requiring temporal supervision. The goal is to recover fine-scale turbulent structures lost by downsampling.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Input (LR): &lt;strong&gt;128×128 vorticity&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Target (HR): &lt;strong&gt;512×512 vorticity&lt;/strong&gt; (4×)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;
&lt;p&gt;We evaluate four model families (all operating on bicubic-upsampled LR inputs and predicting HR vorticity):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CNN&lt;/strong&gt;: lightweight hierarchical convolutional baseline&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UNet&lt;/strong&gt;: multi-scale ResNet-style UNet (optional attention)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FNO&lt;/strong&gt;: Fourier Neural Operator with truncated spectral modes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Diffusion&lt;/strong&gt;: conditional DDPM with UNet backbone (x₀-prediction)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="physics-guided-strategies"&gt;Physics-guided strategies&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Physics-derived feature augmentation&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Laplacian, streamfunction, velocity components, nonlinear advection terms&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start="2"&gt;
&lt;li&gt;&lt;strong&gt;Physics-consistency loss&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;Navier–Stokes residual loss using the same pseudo-spectral operator as data generation&lt;/li&gt;
&lt;li&gt;Enforces consistency via implied time derivatives&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="key-findings-high-level"&gt;Key findings (high-level)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Physics-consistency loss consistently improves physical accuracy (e.g., lower PDE residual and energy spectrum error) and can accelerate diffusion convergence.&lt;/li&gt;
&lt;li&gt;Physics features alone are not consistently beneficial and may destabilize training.&lt;/li&gt;
&lt;li&gt;Combining both can improve accuracy but may introduce instability under limited compute.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="dataset--evaluation"&gt;Dataset &amp;amp; evaluation&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Dataset:&lt;/strong&gt; 2D Kolmogorov flow (HR 512×512 / LR 128×128), Reynolds numbers 1000/2000/3000, forcing wavenumbers 8/12/16.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Metrics:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MSE (pixel reconstruction)&lt;/li&gt;
&lt;li&gt;Physics Consistency Error (PCE)&lt;/li&gt;
&lt;li&gt;Energy Spectrum Error (ESE)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="reproducibility"&gt;Reproducibility&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Training configs and scripts are included in the repository.&lt;/li&gt;
&lt;li&gt;Visualization scripts compare HR/LR/reconstruction and energy spectra.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure style="text-align: center; margin-bottom: 2rem;"&gt;
&lt;img src="1.png"
alt=""
style="width: 100%; max-width: 650px;" /&gt;
&lt;figcaption style="margin-top: 0.5rem; font-size: 0.9rem; color: #555;"&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure style="text-align: center; margin-bottom: 2rem;"&gt;
&lt;img src="2.png"
alt=""
style="width: 100%; max-width: 650px;" /&gt;
&lt;figcaption style="margin-top: 0.5rem; font-size: 0.9rem; color: #555;"&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;</description></item><item><title>FEM for PDE-Constrained Optimization in Heat Conduction</title><link>https://caiyf03.github.io/projects/fem-pco/</link><pubDate>Tue, 18 Jun 2024 00:00:00 +0000</pubDate><guid>https://caiyf03.github.io/projects/fem-pco/</guid><description>&lt;h2 id="team"&gt;Team&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;YiFan Cai (leader)&lt;/li&gt;
&lt;li&gt;FanHao Bu&lt;/li&gt;
&lt;li&gt;PeiJun Xu&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;This project applies finite element methods (FEM) to solve partial differential equation (PDE)–constrained optimization problems arising in heat conduction scenarios. Motivated by theoretical foundations from Computational Science and Engineering and Numerical Optimization, the study explores how numerical optimization and PDE discretization interact in practice. Through a series of thermodynamic case studies, the work demonstrates how FEM can be combined with control and optimization techniques to analyze temperature distributions and infer internal heat sources under PDE constraints. All computational implementations are developed from first principles and tailored to the specific thermal problems considered.&lt;/p&gt;
&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;
&lt;p&gt;The approach begins with formulating the heat conduction problems as PDE-constrained optimization problems, where the objective typically involves minimizing discrepancies in temperature fields or control costs subject to the governing heat equation. The PDEs are discretized using the finite element method, enabling numerical solution of both the state and adjoint equations. Optimization is then performed over control parameters using standard numerical solvers embedded within the FEM framework. Through iterative solution of PDE states and optimization updates, the project integrates FEM discretization with convex optimization strategies to handle constraints effectively across each case study.&lt;/p&gt;</description></item><item><title>HeartAI: Heart Rate Game AI</title><link>https://caiyf03.github.io/projects/heartai/</link><pubDate>Fri, 26 Jan 2024 00:00:00 +0000</pubDate><guid>https://caiyf03.github.io/projects/heartai/</guid><description>&lt;h2 id="team"&gt;Team&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;YiFan Cai (leader)&lt;/li&gt;
&lt;li&gt;JunXian Guo&lt;/li&gt;
&lt;li&gt;ZhiHang Wang&lt;/li&gt;
&lt;li&gt;etc&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;This project develops an AI agent for the Hearts card game, a multi-player, imperfect-information environment requiring strategic reasoning and long-term planning. The goal is to compare classical search-based and learning-based decision-making methods under realistic game constraints.&lt;/p&gt;
&lt;h2 id="key-features"&gt;Key Features&lt;/h2&gt;
&lt;p&gt;-Supports multiple AI paradigms within a unified game engine&lt;/p&gt;
&lt;p&gt;-Adaptive MCTS for improved runtime–performance trade-offs&lt;/p&gt;
&lt;p&gt;-State abstraction enabling Q-learning in large, discrete action spaces&lt;/p&gt;
&lt;p&gt;-Simulation and visualization tools for strategy comparison and analysis&lt;/p&gt;
&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;
&lt;p&gt;We implemented and evaluated greedy, Monte Carlo Tree Search (MCTS), and Q-learning agents. MCTS handles uncertainty through randomized rollouts and includes an adaptive variant that reduces computation when the agent is ahead. To enable learning in a large state space, the Q-learning agent uses state abstraction and reward shaping, learning strategic behavior through repeated self-play.&lt;/p&gt;
&lt;h2 id="results"&gt;Results&lt;/h2&gt;
&lt;p&gt;Experiments over simulated games show that MCTS achieves the strongest performance at the cost of higher computation, while the Q-learning agent outperforms greedy and random baselines with improved adaptability. The results highlight trade-offs between decision quality, efficiency, and learning capability in imperfect-information games.&lt;/p&gt;</description></item><item><title>Object Detection in Counter-Strike 2</title><link>https://caiyf03.github.io/projects/od-cs2/</link><pubDate>Mon, 22 Jan 2024 00:00:00 +0000</pubDate><guid>https://caiyf03.github.io/projects/od-cs2/</guid><description>&lt;h2 id="team"&gt;Team&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;YiFan Cai (leader)&lt;/li&gt;
&lt;li&gt;XiHe Yu&lt;/li&gt;
&lt;li&gt;Yu Shi&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;This project investigates the application of real-time object detection in Counter-Strike 2 (CS2). We build a custom in-game dataset and systematically compare multiple detection frameworks to evaluate their accuracy, speed, and practicality in dynamic gaming scenarios. Beyond benchmarking, we demonstrate how detection results can be integrated into gameplay-related applications such as distance estimation and automated aiming.&lt;/p&gt;
&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;
&lt;p&gt;We implement and compare YOLOv7, Faster R-CNN, and SSD.
Key components include:&lt;/p&gt;
&lt;p&gt;-Construction of a custom VOC-style CS2 dataset from gameplay footage&lt;/p&gt;
&lt;p&gt;-Model training and evaluation under identical settings&lt;/p&gt;
&lt;p&gt;-Preprocessing and data augmentation for difficult scenes&lt;/p&gt;
&lt;p&gt;-Ensemble-style bounding box fusion using confidence weighting and clustering&lt;/p&gt;
&lt;h2 id="key-features"&gt;Key Features&lt;/h2&gt;
&lt;p&gt;-Custom-built CS2 object detection dataset&lt;/p&gt;
&lt;p&gt;-Comparative study of one-stage vs. two-stage detectors&lt;/p&gt;
&lt;p&gt;-Model ensemble via weighted bounding box averaging&lt;/p&gt;
&lt;p&gt;-Real-time in-game deployment with screen capture&lt;/p&gt;
&lt;p&gt;-Applications including auto-aiming and target distance estimation&lt;/p&gt;
&lt;hr&gt;
&lt;figure style="text-align: center; margin-bottom: 2rem;"&gt;
&lt;img src="1.png"
alt=""
style="width: 100%; max-width: 650px;" /&gt;
&lt;figcaption style="margin-top: 0.5rem; font-size: 0.9rem; color: #555;"&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure style="text-align: center; margin-bottom: 2rem;"&gt;
&lt;img src="2.png"
alt=""
style="width: 100%; max-width: 650px;" /&gt;
&lt;figcaption style="margin-top: 0.5rem; font-size: 0.9rem; color: #555;"&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;</description></item><item><title>Building an Intelligent Pac-Man Agent</title><link>https://caiyf03.github.io/projects/pacman/</link><pubDate>Sun, 01 Oct 2023 00:00:00 +0000</pubDate><guid>https://caiyf03.github.io/projects/pacman/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;This project series incrementally develops a &lt;strong&gt;fully autonomous Pac-Man agent&lt;/strong&gt;, transforming it from a weak, rule-driven system into an intelligent decision-making agent capable of planning, reasoning under uncertainty, and learning from interaction.&lt;/p&gt;
&lt;p&gt;The projects are organized as a coherent progression, each introducing a more advanced AI paradigm.&lt;/p&gt;
&lt;h2 id="logic--classical-planning"&gt;Logic &amp;amp; Classical Planning&lt;/h2&gt;
&lt;p&gt;In the initial stage, Pac-Man operates under &lt;strong&gt;logic-based representations and classical planning&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Explicit modeling of world states, actions, constraints, and goals&lt;/li&gt;
&lt;li&gt;Automatic generation of feasible action sequences&lt;/li&gt;
&lt;li&gt;Deterministic planning in fully observable environments&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This stage establishes the foundation for symbolic reasoning and goal-directed behavior.&lt;/p&gt;
&lt;h2 id="bayesian-networks"&gt;Bayesian Networks&lt;/h2&gt;
&lt;p&gt;To handle uncertainty, &lt;strong&gt;Bayesian networks&lt;/strong&gt; are introduced:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Probabilistic modeling of hidden variables&lt;/li&gt;
&lt;li&gt;Inference under noisy or incomplete observations&lt;/li&gt;
&lt;li&gt;Decision-making based on belief states rather than exact knowledge&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This enables Pac-Man to reason probabilistically instead of relying on fixed rules.&lt;/p&gt;
&lt;h2 id="ghostbusters-tracking-under-uncertainty"&gt;Ghostbusters: Tracking Under Uncertainty&lt;/h2&gt;
&lt;p&gt;In the &lt;strong&gt;Ghostbusters&lt;/strong&gt; setting, Pac-Man faces invisible ghosts and noisy sensors:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bayesian filtering for belief state updates&lt;/li&gt;
&lt;li&gt;Particle filtering for continuous ghost localization&lt;/li&gt;
&lt;li&gt;Sequential decision-making in partially observable, dynamic environments&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This stage bridges probabilistic inference and adversarial game dynamics.&lt;/p&gt;
&lt;h2 id="reinforcement-learning"&gt;Reinforcement Learning&lt;/h2&gt;
&lt;p&gt;Finally, the agent transitions to &lt;strong&gt;reinforcement learning&lt;/strong&gt;, removing the need for handcrafted models:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Learning policies directly from environment interaction&lt;/li&gt;
&lt;li&gt;Optimizing long-term rewards instead of immediate objectives&lt;/li&gt;
&lt;li&gt;Adapting behavior through trial and error&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At this stage, Pac-Man becomes a self-improving agent capable of autonomous strategy learning.&lt;/p&gt;</description></item></channel></rss>