Wallhack1.8k Dataset | Data Augmentation Techniques for Cross-Domain WiFi CSI-Based Human Activity Recognition
<p>This repository contains the <strong>Wallhack1.8k dataset</strong> for WiFi-based long-range activity recognition in Line-of-Sight (LoS) and Non-Line-of-Sight (NLoS)/Through-Wall scenarios, as proposed in [1,2], as well as the <strong>CAD models</strong> (of 3D-printable parts) of the WiFi systems proposed in [2].</p> <p><strong>PyTroch Dataloader</strong></p> <p>A minimal PyTorch dataloader for the Wallhack1.8k dataset is provided at: <a href="https://github.com/StrohmayerJ/wallhack1.8k" target="_blank" rel="noopener">https://github.com/StrohmayerJ/wallhack1.8k</a></p> <p><strong>Dataset Description</strong></p> <p>The Wallhack1.8k dataset comprises 1,806 CSI amplitude spectrograms (and raw WiFi packet time series) corresponding to three activity classes: "no presence," "walking," and "walking + arm-waving." WiFi packets were transmitted at a frequency of 100 Hz, and each spectrogram captures a temporal context of approximately 4 seconds (400 WiFi packets).</p> <p>To assess cross-scenario and cross-system generalization, WiFi packet sequences were collected in LoS and through-wall (NLoS) scenarios, utilizing two different WiFi systems (BQ: biquad antenna and PIFA: printed inverted-F antenna). The dataset is structured accordingly:</p> <ul> <li>LOS/BQ/ <- WiFi packets collected in the LoS scenario using the BQ system</li> <li>LOS/PIFA/ <- WiFi packets collected in the LoS scenario using the PIFA system</li> <li>NLOS/BQ/ <- WiFi packets collected in the NLoS scenario using the BQ system</li> <li>NLOS/PIFA/ <- WiFi packets collected in the NLoS scenario using the PIFA system</li> </ul> <p>These directories contain the raw WiFi packet time series (see Table 1). Each row represents a single WiFi packet with the complex CSI vector <em>H</em> being stored in the "data" field and the class label being stored in the "class" field. <em>H </em>is of the form [I, R, I, R, ..., I, R], where two consecutive entries represent imaginary and real parts of complex numbers (the Channel Frequency Responses of subcarriers). Taking the absolute value of <em>H</em> (e.g., via <em>numpy.abs(H)</em>) yields the subcarrier amplitudes <em>A</em>.</p> <p>To extract the 52 L-LTF subcarriers used in [1], the following indices of <em>A</em> are to be selected:</p> <pre><code># 52 L-LTF subcarriers csi_valid_subcarrier_index = [] csi_valid_subcarrier_index += [i for i in range(6, 32)] csi_valid_subcarrier_index += [i for i in range(33, 59)]</code></pre> <p>Additional 56 HT-LTF subcarriers can be selected via:</p> <pre><code># 56 HT-LTF subcarriers csi_valid_subcarrier_index += [i for i in range(66, 94)] csi_valid_subcarrier_index += [i for i in range(95, 123)]</code></pre> <p>For more details on subcarrier selection, see <a href="https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/wifi.html">ESP-IDF</a> (Section Wi-Fi Channel State Information) and <a href="https://github.com/espressif/esp-csi">esp-csi</a>.</p> <p>Extracted amplitude spectrograms with the corresponding label files of the train/validation/test split: "trainLabels.csv," "validationLabels.csv," and "testLabels.csv," can be found in the <em>spectrograms/</em> directory.</p> <p>The columns in the label files correspond to the following: [Spectrogram index, Class label, Room label]</p> <ul> <li>Spectrogram index: [0, ..., n]</li> <li>Class label: [0,1,2], where 0 = "no presence", 1 = "walking", and 2 = "walking + arm-waving."</li> <li>Room label: [0,1,2,3,4,5], where labels 1-5 correspond to the room number in the NLoS scenario (see Fig. 3 in [1]). The label 0 corresponds to no room and is used for the "no presence" class.</li> </ul> <p><strong>Dataset Overview:</strong></p> <p>Table 1: Raw WiFi packet sequences.</p> <table> <tbody> <tr> <td><strong>Scenario</strong></td> <td><strong>System</strong></td> <td><em>"no presence" / label 0</em></td> <td><em>"walking" / label 1</em></td> <td><em>"walking + arm-waving" / label 2</em></td> <td><strong>Total</strong></td> </tr> <tr> <td>LoS</td> <td>BQ</td> <td>b1.csv</td> <td>w1.csv, w2.csv, w3.csv, w4.csv and w5.csv</td> <td>ww1.csv, ww2.csv, ww3.csv, ww4.csv and ww5.csv</td> <td> </td> </tr> <tr> <td>LoS</td> <td>PIFA</td> <td>b1.csv</td> <td>w1.csv, w2.csv, w3.csv, w4.csv and w5.csv</td> <td>ww1.csv, ww2.csv, ww3.csv, ww4.csv and ww5.csv</td> <td> </td> </tr> <tr> <td>NLoS</td> <td>BQ</td> <td>b1.csv</td> <td>w1.csv, w2.csv, w3.csv, w4.csv and w5.csv</td> <td>ww1.csv, ww2.csv, ww3.csv, ww4.csv and ww5.csv</td> <td> </td> </tr> <tr> <td>NLoS</td> <td>PIFA</td> <td>b1.csv</td> <td>w1.csv, w2.csv, w3.csv, w4.csv and w5.csv</td> <td>ww1.csv, ww2.csv, ww3.csv, ww4.csv and ww5.csv</td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td>4</td> <td>20</td> <td>20</td> <td><strong>44</strong></td> </tr> </tbody> </table> <p>Table 2: Sample/Spectrogram distribution across activity classes in Wallhack1.8k.</p> <table> <tbody> <tr> <td><strong>Scenario</strong></td> <td><strong>System</strong></td> <td> <p><em>"no presence" / </em> label 0</p> </td> <td> <p><em>"walking"</em> / label 1</p> </td> <td><em>"walking + arm-waving" / </em>label 2</td> <td><strong>Total</strong></td> </tr> <tr> <td>LoS</td> <td>BQ</td> <td>149</td> <td>154</td> <td>155</td> <td> </td> </tr> <tr> <td>LoS</td> <td>PIFA</td> <td>149</td> <td>160</td> <td>152</td> <td> </td> </tr> <tr> <td>NLoS</td> <td>BQ</td> <td>148</td> <td>150</td> <td>152</td> <td> </td> </tr> <tr> <td>NLoS</td> <td>PIFA</td> <td>143</td> <td>147</td> <td>147</td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td>589</td> <td>611</td> <td>606</td> <td><strong>1,806</strong></td> </tr> </tbody> </table> <p> </p> <p><strong>Download and Use</strong><br>This data may be used for non-commercial research purposes only. If you publish material based on this data, we request that you include a reference to one of our papers [1,2].</p> <p>[1] Strohmayer, Julian, and Martin Kampel. (2024). “Data Augmentation Techniques for Cross-Domain WiFi CSI-Based Human Activity Recognition”, <em>In IFIP International Conference on Artificial Intelligence Applications and Innovations</em> (pp. 42-56). Cham: Springer Nature Switzerland<em>,</em> doi: <a href="https://doi.org/10.1007/978-3-031-63211-2_4" target="_blank" rel="noopener">https://doi.org/10.1007/978-3-031-63211-2_4</a>.</p> <p>[2] Strohmayer, Julian, and Martin Kampel., “Directional Antenna Systems for Long-Range Through-Wall Human Activity Recognition,” <em>2024 IEEE International Conference on Image Processing (ICIP)</em>, Abu Dhabi, United Arab Emirates, 2024, pp. 3594-3599, doi: <a href="https://doi.org/10.1109/ICIP51287.2024.10647666" target="_blank" rel="noopener">https://doi.org/10.1109/ICIP51287.2024.10647666</a>.</p> <p>BibTeX citations:</p> <pre>@inproceedings{strohmayer2024data, title={Data Augmentation Techniques for Cross-Domain WiFi CSI-Based Human Activity Recognition}, author={Strohmayer, Julian and Kampel, Martin}, booktitle={IFIP International Conference on Artificial Intelligence Applications and Innovations}, pages={42--56}, year={2024}, organization={Springer}}<br><br>@INPROCEEDINGS{10647666,<br> author={Strohmayer, Julian and Kampel, Martin},<br> booktitle={2024 IEEE International Conference on Image Processing (ICIP)}, <br> title={Directional Antenna Systems for Long-Range Through-Wall Human Activity Recognition}, <br> year={2024},<br> volume={},<br> number={},<br> pages={3594-3599},<br> keywords={Visualization;Accuracy;System performance;Directional antennas;Directive antennas;Reflector antennas;Sensors;Human Activity Recognition;WiFi;Channel State Information;Through-Wall Sensing;ESP32},<br> doi={10.1109/ICIP51287.2024.10647666}}<br><br><br></pre>
ShareScore
44/100
Overall dataset sharing score
Score breakdown
These five areas show where the dataset supports — or may limit — practical reuse.
- Stewardship
- 12
- Harmonization
- 4
- Access
- 16
- Reuse readiness
- 8
- Engagement
- 4