Respiration, a vital basis for life, is a key indicator of health status for the human being. Recently, with contact-based devices, some breathing signal detection methods have been proposed, which can achieve high accuracy and signal-to-noise ratio performance. However, these methods require users to be contacted with the devices, leading to a series of problems, such as hindering the movement of users. Therefore, there is an urgent need to call for a contactless solution for respiration detection. With the popularity of indoor WiFi devices, respiration detection with WiFi sensors has drawn a lot of attention. Nevertheless, the multipath effects, which commonly exist in indoor environments, have serious impacts on the propagation of wireless signals, leading to signal attenuation and poor signal quality. Moreover, although the channel state information (CSI) can be readily collected from commercial off-the-shelf (COTS) WiFi devices, the received CSI is distorted due to various offsets introduced during the propagation of the wireless signals and hardware imperfections. In this paper, we try to resolve the challenges mentioned above and propose a device-free respiration detection system, ResFi, utilizing the CSI data from COTS WiFi devices. The final evaluation shows an accuracy of 96.05% for human respiration detection, which is up to 15% higher than that of the traditional machine-learning methods.