Cardiopulmonary resuscitation (CPR) is alongside with electrical defibrillation the most important treatment for sudden cardiac arrest, which affects thousands of individuals every year. In this paper, we present a robust sinusoid model that uses skeletal motion data from an RGB-D (Kinect) sensor and the Differential Evolution (DE) optimization algorithm to dynamically fit sinusoidal curves to derive frequency and depth parameters for cardiopulmonary resuscitation training. It is intended to be part of a robust and easy-to-use feedback system for CPR training, allowing its use for unsupervised training. The accuracy of this DE-based approach is evaluated in comparison with data recorded by a state-of-the-art training mannequin. We optimized the DE algorithm constants and have shown that with these optimized parameters the frequency of the CPR is recognized with a median error of 2.55 (2.4%) compressions per minute compared to the reference training mannequin.