Upload fall detection code, trained models, and repeated experiments
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- .gitignore +11 -0
- README.md +136 -0
- artifacts/experiments/.gitkeep +1 -0
- artifacts/experiments/urfd/logistic_regression/confusion_matrix.png +0 -0
- artifacts/experiments/urfd/logistic_regression/metrics.json +39 -0
- artifacts/experiments/urfd/logistic_regression/model.joblib +3 -0
- artifacts/experiments/urfd/logistic_regression/predictions.csv +42 -0
- artifacts/experiments/urfd/logistic_regression/roc_curve.png +0 -0
- artifacts/experiments/urfd/model_comparison.png +0 -0
- artifacts/experiments/urfd/pose_gru/confusion_matrix.png +0 -0
- artifacts/experiments/urfd/pose_gru/metrics.json +47 -0
- artifacts/experiments/urfd/pose_gru/model.pt +3 -0
- artifacts/experiments/urfd/pose_gru/predictions.csv +42 -0
- artifacts/experiments/urfd/pose_gru/roc_curve.png +0 -0
- artifacts/experiments/urfd/pose_gru/training_curve.png +0 -0
- artifacts/experiments/urfd/pose_tcn/confusion_matrix.png +0 -0
- artifacts/experiments/urfd/pose_tcn/metrics.json +47 -0
- artifacts/experiments/urfd/pose_tcn/model.pt +3 -0
- artifacts/experiments/urfd/pose_tcn/predictions.csv +42 -0
- artifacts/experiments/urfd/pose_tcn/roc_curve.png +0 -0
- artifacts/experiments/urfd/pose_tcn/training_curve.png +0 -0
- artifacts/experiments/urfd/random_forest/confusion_matrix.png +0 -0
- artifacts/experiments/urfd/random_forest/metrics.json +39 -0
- artifacts/experiments/urfd/random_forest/model.joblib +3 -0
- artifacts/experiments/urfd/random_forest/predictions.csv +42 -0
- artifacts/experiments/urfd/random_forest/roc_curve.png +0 -0
- artifacts/experiments/urfd/results.csv +5 -0
- artifacts/experiments/urfd/splits.npz +3 -0
- artifacts/experiments/urfd_repeated/aggregate_f1.png +0 -0
- artifacts/experiments/urfd_repeated/aggregate_results.csv +5 -0
- artifacts/experiments/urfd_repeated/per_run_results.csv +21 -0
- artifacts/experiments/urfd_repeated/seed_123/logistic_regression/confusion_matrix.png +0 -0
- artifacts/experiments/urfd_repeated/seed_123/logistic_regression/metrics.json +39 -0
- artifacts/experiments/urfd_repeated/seed_123/logistic_regression/model.joblib +3 -0
- artifacts/experiments/urfd_repeated/seed_123/logistic_regression/predictions.csv +30 -0
- artifacts/experiments/urfd_repeated/seed_123/logistic_regression/roc_curve.png +0 -0
- artifacts/experiments/urfd_repeated/seed_123/model_comparison.png +0 -0
- artifacts/experiments/urfd_repeated/seed_123/pose_gru/confusion_matrix.png +0 -0
- artifacts/experiments/urfd_repeated/seed_123/pose_gru/metrics.json +47 -0
- artifacts/experiments/urfd_repeated/seed_123/pose_gru/model.pt +3 -0
- artifacts/experiments/urfd_repeated/seed_123/pose_gru/predictions.csv +30 -0
- artifacts/experiments/urfd_repeated/seed_123/pose_gru/roc_curve.png +0 -0
- artifacts/experiments/urfd_repeated/seed_123/pose_gru/training_curve.png +0 -0
- artifacts/experiments/urfd_repeated/seed_123/pose_tcn/confusion_matrix.png +0 -0
- artifacts/experiments/urfd_repeated/seed_123/pose_tcn/metrics.json +47 -0
- artifacts/experiments/urfd_repeated/seed_123/pose_tcn/model.pt +3 -0
- artifacts/experiments/urfd_repeated/seed_123/pose_tcn/predictions.csv +30 -0
- artifacts/experiments/urfd_repeated/seed_123/pose_tcn/roc_curve.png +0 -0
- artifacts/experiments/urfd_repeated/seed_123/pose_tcn/training_curve.png +0 -0
- artifacts/experiments/urfd_repeated/seed_123/random_forest/confusion_matrix.png +0 -0
.gitignore
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
__pycache__/
|
| 2 |
+
*.py[cod]
|
| 3 |
+
.pytest_cache/
|
| 4 |
+
.venv/
|
| 5 |
+
data/videos/
|
| 6 |
+
data/processed/
|
| 7 |
+
artifacts/models/
|
| 8 |
+
artifacts/experiments/*/
|
| 9 |
+
!artifacts/experiments/.gitkeep
|
| 10 |
+
*.mp4
|
| 11 |
+
|
README.md
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: cc-by-nc-sa-4.0
|
| 3 |
+
language:
|
| 4 |
+
- vi
|
| 5 |
+
library_name: pytorch
|
| 6 |
+
pipeline_tag: video-classification
|
| 7 |
+
tags:
|
| 8 |
+
- computer-vision
|
| 9 |
+
- fall-detection
|
| 10 |
+
- pose-estimation
|
| 11 |
+
- mediapipe
|
| 12 |
+
- temporal-convolution
|
| 13 |
+
---
|
| 14 |
+
|
| 15 |
+
# Phát hiện té ngã từ video dựa trên tư thế cơ thể
|
| 16 |
+
|
| 17 |
+
Project code hoàn chỉnh theo pipeline:
|
| 18 |
+
|
| 19 |
+
`Video RGB → MediaPipe (33 điểm khớp) → chuẩn hóa tư thế → cửa sổ 4 giây → Pose-TCN/Pose-GRU → làm trơn → cảnh báo`
|
| 20 |
+
|
| 21 |
+
Project đã chạy trên bộ UR Fall Detection (URFD). Kết quả cố định với seed 42 trên tập test gồm 41 cửa sổ thuộc 13 video:
|
| 22 |
+
|
| 23 |
+
| Mô hình | Accuracy | Precision | Recall | Specificity | F1 | ROC-AUC |
|
| 24 |
+
|---|---:|---:|---:|---:|---:|---:|
|
| 25 |
+
| Random Forest | 97,56% | 100,00% | 87,50% | 100,00% | 93,33% | 1,000 |
|
| 26 |
+
| Logistic Regression | 95,12% | 80,00% | 100,00% | 93,94% | 88,89% | 1,000 |
|
| 27 |
+
| Pose-TCN (CUDA) | 95,12% | 80,00% | 100,00% | 93,94% | 88,89% | 1,000 |
|
| 28 |
+
| Pose-GRU (CUDA) | 90,24% | 70,00% | 87,50% | 90,91% | 77,78% | 0,989 |
|
| 29 |
+
|
| 30 |
+
Đây là kết quả theo **cửa sổ video**, không phải theo người. URFD không cung cấp ánh xạ danh tính đủ rõ để chia subject-independent, vì vậy không dùng bảng trên để tuyên bố khả năng tổng quát hóa lâm sàng.
|
| 31 |
+
|
| 32 |
+
## Chạy nhanh
|
| 33 |
+
|
| 34 |
+
Project dùng Python 3.10–3.12. Tạo môi trường và cài thư viện:
|
| 35 |
+
|
| 36 |
+
```bash
|
| 37 |
+
python -m venv .venv
|
| 38 |
+
source .venv/bin/activate
|
| 39 |
+
pip install -e '.[dev]'
|
| 40 |
+
```
|
| 41 |
+
|
| 42 |
+
Để chạy Pose-GRU trên GPU NVIDIA, cài wheel PyTorch phù hợp trước. Máy đã dùng cho kết quả trong project chạy CUDA 12.8:
|
| 43 |
+
|
| 44 |
+
```bash
|
| 45 |
+
pip install torch --index-url https://download.pytorch.org/whl/cu128
|
| 46 |
+
python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"
|
| 47 |
+
```
|
| 48 |
+
|
| 49 |
+
Chạy lại toàn bộ thí nghiệm URFD. Lệnh sẽ tự tải khoảng 70 video từ nguồn chính thức nếu chưa có dữ liệu:
|
| 50 |
+
|
| 51 |
+
```bash
|
| 52 |
+
python scripts/run_all.py
|
| 53 |
+
```
|
| 54 |
+
|
| 55 |
+
Chạy demo trên video:
|
| 56 |
+
|
| 57 |
+
```bash
|
| 58 |
+
python scripts/demo_video.py \
|
| 59 |
+
--input data/videos/fall/fall-01/fall-01-cam0.mp4 \
|
| 60 |
+
--model artifacts/experiments/urfd/pose_tcn/model.pt \
|
| 61 |
+
--output artifacts/demo_fall01.mp4
|
| 62 |
+
```
|
| 63 |
+
|
| 64 |
+
## Chạy từng bước
|
| 65 |
+
|
| 66 |
+
```bash
|
| 67 |
+
# 1. Tải 30 video té và 40 video sinh hoạt thường ngày
|
| 68 |
+
python scripts/download_urfd.py
|
| 69 |
+
|
| 70 |
+
# 2. Trích keypoint và tạo dataset .npz
|
| 71 |
+
python scripts/prepare_dataset.py
|
| 72 |
+
|
| 73 |
+
# 3. Huấn luyện hai baseline
|
| 74 |
+
python scripts/train_baselines.py
|
| 75 |
+
|
| 76 |
+
# 4. Huấn luyện hai mô hình sâu
|
| 77 |
+
python scripts/train_gru.py
|
| 78 |
+
python scripts/train_tcn.py
|
| 79 |
+
|
| 80 |
+
# 5. Tổng hợp bảng và biểu đồ
|
| 81 |
+
python scripts/compare_models.py
|
| 82 |
+
|
| 83 |
+
# 6. Kiểm thử mã
|
| 84 |
+
pytest -q
|
| 85 |
+
```
|
| 86 |
+
|
| 87 |
+
Kết quả nằm tại `artifacts/experiments/urfd/`. Mỗi mô hình có trọng số, `metrics.json`, dự đoán từng mẫu, confusion matrix và ROC. File `results.csv` và `model_comparison.png` tổng hợp một lần chạy.
|
| 88 |
+
|
| 89 |
+
## Dữ liệu riêng
|
| 90 |
+
|
| 91 |
+
Sắp xếp mỗi video trong một thư mục nhóm riêng. Nhóm có thể là mã người hoặc mã video; nếu có mã người, nên dùng mã người để phép chia không rò rỉ danh tính.
|
| 92 |
+
|
| 93 |
+
```text
|
| 94 |
+
data/videos/
|
| 95 |
+
├── fall/
|
| 96 |
+
│ ├── person01/video01.mp4
|
| 97 |
+
│ └── person02/video02.mp4
|
| 98 |
+
└── normal/
|
| 99 |
+
├── person01/video03.mp4
|
| 100 |
+
└── person02/video04.mp4
|
| 101 |
+
```
|
| 102 |
+
|
| 103 |
+
Với dữ liệu không phải URFD và không có annotation frame, mọi cửa sổ trong `fall/` được gán nhãn té. Nên cắt video để mỗi clip té thực sự chứa sự kiện té. Sửa tham số trong [configs/default.yaml](configs/default.yaml).
|
| 104 |
+
|
| 105 |
+
## Thiết kế thí nghiệm
|
| 106 |
+
|
| 107 |
+
- Mỗi cửa sổ dài 40 frame ở 10 FPS, tương đương 4 giây; stride 10 frame.
|
| 108 |
+
- Pose được tịnh tiến về tâm hông và chia theo chiều dài thân/độ rộng vai.
|
| 109 |
+
- Pose-GRU dùng 140 chiều/frame: 33 × `(x, y, z, visibility)` và 8 đặc trưng hình học/chuyển động.
|
| 110 |
+
- Pose-TCN dùng 60 chiều/frame: 13 khớp cốt lõi × 4 kênh và 8 đặc trưng bổ sung, giúp giảm overfit trên URFD nhỏ.
|
| 111 |
+
- Chia train/validation/test theo group với tỷ lệ 60/20/20; các cửa sổ cùng video luôn ở cùng tập.
|
| 112 |
+
- Ngưỡng xác suất tối ưu F1 chỉ được chọn trên validation. Test không tham gia chọn mô hình/ngưỡng.
|
| 113 |
+
- GRU và TCN dùng BCE có trọng số lớp, AdamW, early stopping; hai baseline dùng cùng dữ liệu và phép chia.
|
| 114 |
+
|
| 115 |
+
## Chạy lặp nhiều seed
|
| 116 |
+
|
| 117 |
+
Lệnh sau chạy cả bốn mô hình với 5 seed, mỗi seed có phép chia theo video riêng. Pose-GRU và Pose-TCN tự dùng CUDA nếu có; hai mô hình scikit-learn chạy CPU.
|
| 118 |
+
|
| 119 |
+
```bash
|
| 120 |
+
python scripts/run_repeated_experiments.py --seeds 13 21 42 84 123 --device cuda
|
| 121 |
+
```
|
| 122 |
+
|
| 123 |
+
Kết quả từng lần nằm trong `artifacts/experiments/urfd_repeated/seed_*/`. Bảng tổng hợp mean, standard deviation, min và max nằm tại `aggregate_results.csv`.
|
| 124 |
+
|
| 125 |
+
Kết quả trên 5 seed đã chạy:
|
| 126 |
+
|
| 127 |
+
| Mô hình | Accuracy mean ± std | Recall mean ± std | F1 mean ± std | ROC-AUC mean ± std |
|
| 128 |
+
|---|---:|---:|---:|---:|
|
| 129 |
+
| Random Forest | 0,968 ± 0,026 | 0,885 ± 0,114 | **0,907 ± 0,061** | 0,997 ± 0,007 |
|
| 130 |
+
| Logistic Regression | **0,969 ± 0,021** | **0,955 ± 0,062** | 0,904 ± 0,095 | 0,991 ± 0,015 |
|
| 131 |
+
| Pose-TCN (CUDA) | 0,961 ± 0,040 | 0,915 ± 0,132 | 0,901 ± 0,069 | 0,983 ± 0,035 |
|
| 132 |
+
| Pose-GRU (CUDA) | 0,942 ± 0,043 | 0,865 ± 0,139 | 0,842 ± 0,098 | 0,996 ± 0,006 |
|
| 133 |
+
|
| 134 |
+
URFD có 70 chuỗi (30 fall, 40 ADL), phát hành theo CC BY-NC-SA 4.0 cho nghiên cứu phi thương mại tại [trang dữ liệu chính thức](https://fenix.ur.edu.pl/~mkepski/ds/uf.html). Khi sử dụng, trích dẫn bài của Kwolek và Kępski, DOI `10.1016/j.cmpb.2014.09.005`.
|
| 135 |
+
|
| 136 |
+
Repository công khai chứa code, checkpoint và kết quả thí nghiệm. Video URFD gốc, pose dataset đã trích và video demo không được đóng gói cùng repository; dùng `scripts/download_urfd.py` để tải dữ liệu từ nguồn chính thức.
|
artifacts/experiments/.gitkeep
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
|
artifacts/experiments/urfd/logistic_regression/confusion_matrix.png
ADDED
|
artifacts/experiments/urfd/logistic_regression/metrics.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"accuracy": 0.9512195121951219,
|
| 3 |
+
"precision": 0.8,
|
| 4 |
+
"recall": 1.0,
|
| 5 |
+
"specificity": 0.9393939393939394,
|
| 6 |
+
"f1": 0.8888888888888888,
|
| 7 |
+
"roc_auc": 1.0,
|
| 8 |
+
"threshold": 0.5,
|
| 9 |
+
"tn": 31,
|
| 10 |
+
"fp": 2,
|
| 11 |
+
"fn": 0,
|
| 12 |
+
"tp": 8,
|
| 13 |
+
"n_samples": 41,
|
| 14 |
+
"model": "logistic_regression",
|
| 15 |
+
"seed": 42,
|
| 16 |
+
"training_seconds": 0.01953271900129039,
|
| 17 |
+
"dataset": "data/processed/urfd_pose.npz",
|
| 18 |
+
"split": {
|
| 19 |
+
"train": {
|
| 20 |
+
"samples": 132,
|
| 21 |
+
"groups": 38,
|
| 22 |
+
"normal": 111,
|
| 23 |
+
"fall": 21
|
| 24 |
+
},
|
| 25 |
+
"validation": {
|
| 26 |
+
"samples": 27,
|
| 27 |
+
"groups": 13,
|
| 28 |
+
"normal": 20,
|
| 29 |
+
"fall": 7
|
| 30 |
+
},
|
| 31 |
+
"test": {
|
| 32 |
+
"samples": 41,
|
| 33 |
+
"groups": 13,
|
| 34 |
+
"normal": 33,
|
| 35 |
+
"fall": 8
|
| 36 |
+
}
|
| 37 |
+
},
|
| 38 |
+
"result_scope": "test set only"
|
| 39 |
+
}
|
artifacts/experiments/urfd/logistic_regression/model.joblib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bdf1c4ffd6d38bb695db15df2e5829ae12f7b3121c8a288f0e56720ec2526806
|
| 3 |
+
size 21047
|
artifacts/experiments/urfd/logistic_regression/predictions.csv
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
source,label,probability_fall,prediction
|
| 2 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=0:40,1,0.98377717,1
|
| 3 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=10:50,1,0.9993255,1
|
| 4 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=14:54,1,0.999498,1
|
| 5 |
+
data/videos/fall/fall-06/fall-06-cam0.mp4#sample=0:40,1,0.97410244,1
|
| 6 |
+
data/videos/fall/fall-14/fall-14-cam0.mp4#sample=0:40,1,0.99896145,1
|
| 7 |
+
data/videos/fall/fall-19/fall-19-cam0.mp4#sample=0:40,1,0.997311,1
|
| 8 |
+
data/videos/fall/fall-23/fall-23-cam0.mp4#sample=0:40,1,0.9457497,1
|
| 9 |
+
data/videos/fall/fall-27/fall-27-cam0.mp4#sample=0:40,1,0.99611413,1
|
| 10 |
+
data/videos/normal/adl-01/adl-01-cam0.mp4#sample=0:40,0,0.0006896582,0
|
| 11 |
+
data/videos/normal/adl-01/adl-01-cam0.mp4#sample=10:50,0,0.0023842053,0
|
| 12 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=0:40,0,2.3963743e-05,0
|
| 13 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=10:50,0,8.265512e-05,0
|
| 14 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=20:60,0,0.018153476,0
|
| 15 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=30:70,0,0.02516493,0
|
| 16 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=37:77,0,0.00035743922,0
|
| 17 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=0:40,0,6.653513e-07,0
|
| 18 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=10:50,0,0.00603225,0
|
| 19 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=20:60,0,0.0031787464,0
|
| 20 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=30:70,0,0.03760421,0
|
| 21 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=40:80,0,0.012593662,0
|
| 22 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=50:90,0,0.000474621,0
|
| 23 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=60:100,0,0.0028994733,0
|
| 24 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=10:50,0,2.2414151e-06,0
|
| 25 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=20:60,0,0.00026380236,0
|
| 26 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=30:70,0,0.51179487,1
|
| 27 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=40:80,0,0.7919934,1
|
| 28 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=49:89,0,0.0336354,0
|
| 29 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=10:50,0,1.8855539e-05,0
|
| 30 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=20:60,0,0.0051527205,0
|
| 31 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=30:70,0,0.042879105,0
|
| 32 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=37:77,0,0.009401498,0
|
| 33 |
+
data/videos/normal/adl-26/adl-26-cam0.mp4#sample=0:40,0,0.00028797347,0
|
| 34 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=0:40,0,5.9999e-06,0
|
| 35 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=10:50,0,2.6717935e-06,0
|
| 36 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=20:60,0,4.8368015e-06,0
|
| 37 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=30:70,0,0.0002776527,0
|
| 38 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=40:80,0,0.0004259999,0
|
| 39 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=50:90,0,0.0019540016,0
|
| 40 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=60:100,0,0.0005490907,0
|
| 41 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=70:110,0,0.00027555088,0
|
| 42 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=77:117,0,0.017206663,0
|
artifacts/experiments/urfd/logistic_regression/roc_curve.png
ADDED
|
artifacts/experiments/urfd/model_comparison.png
ADDED
|
artifacts/experiments/urfd/pose_gru/confusion_matrix.png
ADDED
|
artifacts/experiments/urfd/pose_gru/metrics.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"accuracy": 0.9024390243902439,
|
| 3 |
+
"precision": 0.7,
|
| 4 |
+
"recall": 0.875,
|
| 5 |
+
"specificity": 0.9090909090909091,
|
| 6 |
+
"f1": 0.7777777777777778,
|
| 7 |
+
"roc_auc": 0.9886363636363636,
|
| 8 |
+
"threshold": 0.5,
|
| 9 |
+
"tn": 30,
|
| 10 |
+
"fp": 3,
|
| 11 |
+
"fn": 1,
|
| 12 |
+
"tp": 7,
|
| 13 |
+
"n_samples": 41,
|
| 14 |
+
"model": "pose_gru",
|
| 15 |
+
"architecture": "gru",
|
| 16 |
+
"seed": 42,
|
| 17 |
+
"device": "cuda",
|
| 18 |
+
"device_name": "NVIDIA GeForce RTX 4090",
|
| 19 |
+
"torch_version": "2.11.0+cu128",
|
| 20 |
+
"torch_cuda_version": "12.8",
|
| 21 |
+
"epochs_completed": 30,
|
| 22 |
+
"best_val_loss": 0.14927974343299866,
|
| 23 |
+
"training_seconds": 1.3942278900067322,
|
| 24 |
+
"parameters": 79489,
|
| 25 |
+
"dataset": "data/processed/urfd_pose.npz",
|
| 26 |
+
"split": {
|
| 27 |
+
"train": {
|
| 28 |
+
"samples": 132,
|
| 29 |
+
"groups": 38,
|
| 30 |
+
"normal": 111,
|
| 31 |
+
"fall": 21
|
| 32 |
+
},
|
| 33 |
+
"validation": {
|
| 34 |
+
"samples": 27,
|
| 35 |
+
"groups": 13,
|
| 36 |
+
"normal": 20,
|
| 37 |
+
"fall": 7
|
| 38 |
+
},
|
| 39 |
+
"test": {
|
| 40 |
+
"samples": 41,
|
| 41 |
+
"groups": 13,
|
| 42 |
+
"normal": 33,
|
| 43 |
+
"fall": 8
|
| 44 |
+
}
|
| 45 |
+
},
|
| 46 |
+
"result_scope": "test set only"
|
| 47 |
+
}
|
artifacts/experiments/urfd/pose_gru/model.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:daf7d083966a9cf8ade21b4bec28123199336639c33ea561c140ae31cdc8d1bf
|
| 3 |
+
size 325083
|
artifacts/experiments/urfd/pose_gru/predictions.csv
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
source,label,probability_fall,prediction
|
| 2 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=0:40,1,0.36374763,0
|
| 3 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=10:50,1,0.9875322,1
|
| 4 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=14:54,1,0.9928555,1
|
| 5 |
+
data/videos/fall/fall-06/fall-06-cam0.mp4#sample=0:40,1,0.9939282,1
|
| 6 |
+
data/videos/fall/fall-14/fall-14-cam0.mp4#sample=0:40,1,0.9983101,1
|
| 7 |
+
data/videos/fall/fall-19/fall-19-cam0.mp4#sample=0:40,1,0.9972844,1
|
| 8 |
+
data/videos/fall/fall-23/fall-23-cam0.mp4#sample=0:40,1,0.99895227,1
|
| 9 |
+
data/videos/fall/fall-27/fall-27-cam0.mp4#sample=0:40,1,0.99400866,1
|
| 10 |
+
data/videos/normal/adl-01/adl-01-cam0.mp4#sample=0:40,0,0.0007733168,0
|
| 11 |
+
data/videos/normal/adl-01/adl-01-cam0.mp4#sample=10:50,0,0.0023768344,0
|
| 12 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=0:40,0,0.0008485273,0
|
| 13 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=10:50,0,0.0010037357,0
|
| 14 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=20:60,0,0.00556503,0
|
| 15 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=30:70,0,0.04351345,0
|
| 16 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=37:77,0,0.08348232,0
|
| 17 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=0:40,0,0.00067634834,0
|
| 18 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=10:50,0,0.0010444914,0
|
| 19 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=20:60,0,0.0011891089,0
|
| 20 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=30:70,0,0.0016517256,0
|
| 21 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=40:80,0,0.0052665947,0
|
| 22 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=50:90,0,0.013075952,0
|
| 23 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=60:100,0,0.032113984,0
|
| 24 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=10:50,0,0.002390514,0
|
| 25 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=20:60,0,0.0011807706,0
|
| 26 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=30:70,0,0.013312802,0
|
| 27 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=40:80,0,0.6862216,1
|
| 28 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=49:89,0,0.5090663,1
|
| 29 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=10:50,0,0.001116697,0
|
| 30 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=20:60,0,0.0019210341,0
|
| 31 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=30:70,0,0.015289847,0
|
| 32 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=37:77,0,0.058644745,0
|
| 33 |
+
data/videos/normal/adl-26/adl-26-cam0.mp4#sample=0:40,0,0.0013770493,0
|
| 34 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=0:40,0,0.00230475,0
|
| 35 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=10:50,0,0.0012230183,0
|
| 36 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=20:60,0,0.0026165335,0
|
| 37 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=30:70,0,0.0022358233,0
|
| 38 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=40:80,0,0.0015868503,0
|
| 39 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=50:90,0,0.0012599203,0
|
| 40 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=60:100,0,0.0034755394,0
|
| 41 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=70:110,0,0.010827422,0
|
| 42 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=77:117,0,0.9500953,1
|
artifacts/experiments/urfd/pose_gru/roc_curve.png
ADDED
|
artifacts/experiments/urfd/pose_gru/training_curve.png
ADDED
|
artifacts/experiments/urfd/pose_tcn/confusion_matrix.png
ADDED
|
artifacts/experiments/urfd/pose_tcn/metrics.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"accuracy": 0.9512195121951219,
|
| 3 |
+
"precision": 0.8,
|
| 4 |
+
"recall": 1.0,
|
| 5 |
+
"specificity": 0.9393939393939394,
|
| 6 |
+
"f1": 0.8888888888888888,
|
| 7 |
+
"roc_auc": 1.0,
|
| 8 |
+
"threshold": 0.5,
|
| 9 |
+
"tn": 31,
|
| 10 |
+
"fp": 2,
|
| 11 |
+
"fn": 0,
|
| 12 |
+
"tp": 8,
|
| 13 |
+
"n_samples": 41,
|
| 14 |
+
"model": "pose_tcn",
|
| 15 |
+
"architecture": "tcn",
|
| 16 |
+
"seed": 42,
|
| 17 |
+
"device": "cuda",
|
| 18 |
+
"device_name": "NVIDIA GeForce RTX 4090",
|
| 19 |
+
"torch_version": "2.11.0+cu128",
|
| 20 |
+
"torch_cuda_version": "12.8",
|
| 21 |
+
"epochs_completed": 27,
|
| 22 |
+
"best_val_loss": 0.16090895235538483,
|
| 23 |
+
"training_seconds": 1.111777505997452,
|
| 24 |
+
"parameters": 12929,
|
| 25 |
+
"dataset": "data/processed/urfd_pose.npz",
|
| 26 |
+
"split": {
|
| 27 |
+
"train": {
|
| 28 |
+
"samples": 132,
|
| 29 |
+
"groups": 38,
|
| 30 |
+
"normal": 111,
|
| 31 |
+
"fall": 21
|
| 32 |
+
},
|
| 33 |
+
"validation": {
|
| 34 |
+
"samples": 27,
|
| 35 |
+
"groups": 13,
|
| 36 |
+
"normal": 20,
|
| 37 |
+
"fall": 7
|
| 38 |
+
},
|
| 39 |
+
"test": {
|
| 40 |
+
"samples": 41,
|
| 41 |
+
"groups": 13,
|
| 42 |
+
"normal": 33,
|
| 43 |
+
"fall": 8
|
| 44 |
+
}
|
| 45 |
+
},
|
| 46 |
+
"result_scope": "test set only"
|
| 47 |
+
}
|
artifacts/experiments/urfd/pose_tcn/model.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d9f02d417c3c785920bbb592f0af63fd9baa96c99bcedcc49b27c01106f98165
|
| 3 |
+
size 58759
|
artifacts/experiments/urfd/pose_tcn/predictions.csv
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
source,label,probability_fall,prediction
|
| 2 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=0:40,1,0.97618514,1
|
| 3 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=10:50,1,0.9786139,1
|
| 4 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=14:54,1,0.9824744,1
|
| 5 |
+
data/videos/fall/fall-06/fall-06-cam0.mp4#sample=0:40,1,0.9479548,1
|
| 6 |
+
data/videos/fall/fall-14/fall-14-cam0.mp4#sample=0:40,1,0.9917155,1
|
| 7 |
+
data/videos/fall/fall-19/fall-19-cam0.mp4#sample=0:40,1,0.91648644,1
|
| 8 |
+
data/videos/fall/fall-23/fall-23-cam0.mp4#sample=0:40,1,0.9619871,1
|
| 9 |
+
data/videos/fall/fall-27/fall-27-cam0.mp4#sample=0:40,1,0.9757481,1
|
| 10 |
+
data/videos/normal/adl-01/adl-01-cam0.mp4#sample=0:40,0,0.036800418,0
|
| 11 |
+
data/videos/normal/adl-01/adl-01-cam0.mp4#sample=10:50,0,0.12765183,0
|
| 12 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=0:40,0,0.053033993,0
|
| 13 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=10:50,0,0.1157073,0
|
| 14 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=20:60,0,0.25427914,0
|
| 15 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=30:70,0,0.30693465,0
|
| 16 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=37:77,0,0.25294647,0
|
| 17 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=0:40,0,0.041943014,0
|
| 18 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=10:50,0,0.35644826,0
|
| 19 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=20:60,0,0.2825069,0
|
| 20 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=30:70,0,0.20812033,0
|
| 21 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=40:80,0,0.22714849,0
|
| 22 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=50:90,0,0.111267,0
|
| 23 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=60:100,0,0.13848732,0
|
| 24 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=10:50,0,0.054857913,0
|
| 25 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=20:60,0,0.045970306,0
|
| 26 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=30:70,0,0.5363943,1
|
| 27 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=40:80,0,0.66083694,1
|
| 28 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=49:89,0,0.24986179,0
|
| 29 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=10:50,0,0.025344677,0
|
| 30 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=20:60,0,0.15354195,0
|
| 31 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=30:70,0,0.12768711,0
|
| 32 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=37:77,0,0.13882609,0
|
| 33 |
+
data/videos/normal/adl-26/adl-26-cam0.mp4#sample=0:40,0,0.05435837,0
|
| 34 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=0:40,0,0.021094386,0
|
| 35 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=10:50,0,0.023997432,0
|
| 36 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=20:60,0,0.20265935,0
|
| 37 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=30:70,0,0.22501923,0
|
| 38 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=40:80,0,0.111354865,0
|
| 39 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=50:90,0,0.06751009,0
|
| 40 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=60:100,0,0.08183312,0
|
| 41 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=70:110,0,0.100184046,0
|
| 42 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=77:117,0,0.4885858,0
|
artifacts/experiments/urfd/pose_tcn/roc_curve.png
ADDED
|
artifacts/experiments/urfd/pose_tcn/training_curve.png
ADDED
|
artifacts/experiments/urfd/random_forest/confusion_matrix.png
ADDED
|
artifacts/experiments/urfd/random_forest/metrics.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"accuracy": 0.975609756097561,
|
| 3 |
+
"precision": 1.0,
|
| 4 |
+
"recall": 0.875,
|
| 5 |
+
"specificity": 1.0,
|
| 6 |
+
"f1": 0.9333333333333333,
|
| 7 |
+
"roc_auc": 1.0,
|
| 8 |
+
"threshold": 0.5,
|
| 9 |
+
"tn": 33,
|
| 10 |
+
"fp": 0,
|
| 11 |
+
"fn": 1,
|
| 12 |
+
"tp": 7,
|
| 13 |
+
"n_samples": 41,
|
| 14 |
+
"model": "random_forest",
|
| 15 |
+
"seed": 42,
|
| 16 |
+
"training_seconds": 1.2764060369954677,
|
| 17 |
+
"dataset": "data/processed/urfd_pose.npz",
|
| 18 |
+
"split": {
|
| 19 |
+
"train": {
|
| 20 |
+
"samples": 132,
|
| 21 |
+
"groups": 38,
|
| 22 |
+
"normal": 111,
|
| 23 |
+
"fall": 21
|
| 24 |
+
},
|
| 25 |
+
"validation": {
|
| 26 |
+
"samples": 27,
|
| 27 |
+
"groups": 13,
|
| 28 |
+
"normal": 20,
|
| 29 |
+
"fall": 7
|
| 30 |
+
},
|
| 31 |
+
"test": {
|
| 32 |
+
"samples": 41,
|
| 33 |
+
"groups": 13,
|
| 34 |
+
"normal": 33,
|
| 35 |
+
"fall": 8
|
| 36 |
+
}
|
| 37 |
+
},
|
| 38 |
+
"result_scope": "test set only"
|
| 39 |
+
}
|
artifacts/experiments/urfd/random_forest/model.joblib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:49aac9a9a79a45fc5d59d3dd929e6fa866f16a88777834af04d8f92dcb098b6a
|
| 3 |
+
size 357699
|
artifacts/experiments/urfd/random_forest/predictions.csv
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
source,label,probability_fall,prediction
|
| 2 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=0:40,1,0.454547619047619,0
|
| 3 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=10:50,1,0.5490158730158728,1
|
| 4 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=14:54,1,0.5656825396825395,1
|
| 5 |
+
data/videos/fall/fall-06/fall-06-cam0.mp4#sample=0:40,1,0.7903333333333331,1
|
| 6 |
+
data/videos/fall/fall-14/fall-14-cam0.mp4#sample=0:40,1,0.7514682539682539,1
|
| 7 |
+
data/videos/fall/fall-19/fall-19-cam0.mp4#sample=0:40,1,0.5684722222222222,1
|
| 8 |
+
data/videos/fall/fall-23/fall-23-cam0.mp4#sample=0:40,1,0.7104444444444443,1
|
| 9 |
+
data/videos/fall/fall-27/fall-27-cam0.mp4#sample=0:40,1,0.5993571428571427,1
|
| 10 |
+
data/videos/normal/adl-01/adl-01-cam0.mp4#sample=0:40,0,0.021190476190476194,0
|
| 11 |
+
data/videos/normal/adl-01/adl-01-cam0.mp4#sample=10:50,0,0.0775,0
|
| 12 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=0:40,0,0.022793650793650793,0
|
| 13 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=10:50,0,0.054722222222222214,0
|
| 14 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=20:60,0,0.12342857142857142,0
|
| 15 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=30:70,0,0.14366666666666664,0
|
| 16 |
+
data/videos/normal/adl-06/adl-06-cam0.mp4#sample=37:77,0,0.10826190476190475,0
|
| 17 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=0:40,0,0.005555555555555555,0
|
| 18 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=10:50,0,0.13499999999999998,0
|
| 19 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=20:60,0,0.2251984126984127,0
|
| 20 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=30:70,0,0.32544444444444454,0
|
| 21 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=40:80,0,0.42709523809523814,0
|
| 22 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=50:90,0,0.17731746031746032,0
|
| 23 |
+
data/videos/normal/adl-10/adl-10-cam0.mp4#sample=60:100,0,0.20001190476190472,0
|
| 24 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=10:50,0,0.05765873015873017,0
|
| 25 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=20:60,0,0.06333333333333334,0
|
| 26 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=30:70,0,0.13238888888888886,0
|
| 27 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=40:80,0,0.19470634920634922,0
|
| 28 |
+
data/videos/normal/adl-13/adl-13-cam0.mp4#sample=49:89,0,0.2077857142857143,0
|
| 29 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=10:50,0,0.047293650793650784,0
|
| 30 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=20:60,0,0.15166666666666664,0
|
| 31 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=30:70,0,0.2036111111111111,0
|
| 32 |
+
data/videos/normal/adl-17/adl-17-cam0.mp4#sample=37:77,0,0.2175,0
|
| 33 |
+
data/videos/normal/adl-26/adl-26-cam0.mp4#sample=0:40,0,0.1753174603174603,0
|
| 34 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=0:40,0,0.046,0
|
| 35 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=10:50,0,0.014166666666666666,0
|
| 36 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=20:60,0,0.025611111111111112,0
|
| 37 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=30:70,0,0.020277777777777777,0
|
| 38 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=40:80,0,0.05416666666666667,0
|
| 39 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=50:90,0,0.10492857142857144,0
|
| 40 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=60:100,0,0.12884126984126984,0
|
| 41 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=70:110,0,0.20839682539682539,0
|
| 42 |
+
data/videos/normal/adl-37/adl-37-cam0.mp4#sample=77:117,0,0.3192460317460318,0
|
artifacts/experiments/urfd/random_forest/roc_curve.png
ADDED
|
artifacts/experiments/urfd/results.csv
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
model,accuracy,precision,recall,specificity,f1,roc_auc,training_seconds
|
| 2 |
+
random_forest,0.975609756097561,1.0,0.875,1.0,0.9333333333333333,1.0,1.2764060369954677
|
| 3 |
+
logistic_regression,0.9512195121951219,0.8,1.0,0.9393939393939394,0.8888888888888888,1.0,0.01953271900129039
|
| 4 |
+
pose_tcn,0.9512195121951219,0.8,1.0,0.9393939393939394,0.8888888888888888,1.0,1.111777505997452
|
| 5 |
+
pose_gru,0.9024390243902439,0.7,0.875,0.9090909090909091,0.7777777777777778,0.9886363636363636,1.3942278900067322
|
artifacts/experiments/urfd/splits.npz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:58ae99f939839832f37f7bf92b537a1212d6f4833e0cc71ca371877e340726c3
|
| 3 |
+
size 978
|
artifacts/experiments/urfd_repeated/aggregate_f1.png
ADDED
|
artifacts/experiments/urfd_repeated/aggregate_results.csv
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
model,accuracy_mean,accuracy_std,accuracy_min,accuracy_max,precision_mean,precision_std,precision_min,precision_max,recall_mean,recall_std,recall_min,recall_max,specificity_mean,specificity_std,specificity_min,specificity_max,f1_mean,f1_std,f1_min,f1_max,roc_auc_mean,roc_auc_std,roc_auc_min,roc_auc_max,training_seconds_mean,training_seconds_std,training_seconds_min,training_seconds_max
|
| 2 |
+
random_forest,0.9681174656574152,0.02549334076868179,0.9310344827586207,1.0,0.95,0.1118033988749895,0.75,1.0,0.885,0.1140175425099138,0.75,1.0,0.9947368421052631,0.01176877882894621,0.9736842105263158,1.0,0.9073015873015873,0.06050097396607795,0.8571428571428571,1.0,0.996875,0.006987712429686846,0.984375,1.0,1.0664501365972683,0.12809362785822495,0.9882721559988568,1.2935919419978745
|
| 3 |
+
logistic_regression,0.9694245864872443,0.020663257508523332,0.9512195121951219,1.0,0.8800000000000001,0.17888543819998312,0.6,1.0,0.9550000000000001,0.06224949798994365,0.875,1.0,0.9773524720893143,0.031139304272703755,0.9393939393939394,1.0,0.9039181286549708,0.09473855676738674,0.75,1.0,0.9910197368421052,0.01490988193426192,0.965625,1.0,0.022850994201144205,0.002161931957423829,0.02111099699686747,0.025282849004724994
|
| 4 |
+
pose_tcn,0.9605095318194561,0.039725647128530425,0.896551724137931,1.0,0.9099999999999999,0.12449899597988734,0.75,1.0,0.915,0.1318142632646407,0.7,1.0,0.982615629984051,0.02671391843941856,0.9393939393939394,1.0,0.900578898225957,0.06877022946810625,0.8235294117647058,1.0,0.9829605263157895,0.03471322213305365,0.9210526315789473,1.0,1.3342455781967146,0.28321537202272556,0.9513108629907947,1.74490802299988
|
| 5 |
+
pose_gru,0.941708718811326,0.04285431579569855,0.896551724137931,1.0,0.86,0.19493588689617924,0.6,1.0,0.865,0.1387443692551161,0.7,1.0,0.971291866028708,0.04157451482531765,0.9090909090909091,1.0,0.8416900093370682,0.09762489706564578,0.75,1.0,0.9959728867623603,0.005589963754536537,0.9886363636363636,1.0,1.0812091261992465,0.4035546171412758,0.6123746740049683,1.667068080001627
|
artifacts/experiments/urfd_repeated/per_run_results.csv
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
seed,model,accuracy,precision,recall,specificity,f1,roc_auc,training_seconds,device
|
| 2 |
+
13,logistic_regression,0.9512195121951219,0.6,1.0,0.9473684210526315,0.75,1.0,0.02111099699686747,cpu
|
| 3 |
+
13,pose_gru,0.9512195121951219,0.6,1.0,0.9473684210526315,0.75,0.9912280701754386,0.6123746740049683,cuda
|
| 4 |
+
13,pose_tcn,0.975609756097561,0.75,1.0,0.9736842105263158,0.8571428571428571,1.0,1.268194460993982,cuda
|
| 5 |
+
13,random_forest,0.975609756097561,0.75,1.0,0.9736842105263158,0.8571428571428571,1.0,1.0231628899928182,cpu
|
| 6 |
+
21,logistic_regression,1.0,1.0,1.0,1.0,1.0,1.0,0.02136966001125984,cpu
|
| 7 |
+
21,pose_gru,1.0,1.0,1.0,1.0,1.0,1.0,1.667068080001627,cuda
|
| 8 |
+
21,pose_tcn,1.0,1.0,1.0,1.0,1.0,1.0,1.368639754000469,cuda
|
| 9 |
+
21,random_forest,1.0,1.0,1.0,1.0,1.0,1.0,1.0289278239943087,cpu
|
| 10 |
+
42,logistic_regression,0.9512195121951219,0.8,1.0,0.9393939393939394,0.8888888888888888,1.0,0.025282849004724994,cpu
|
| 11 |
+
42,pose_gru,0.9024390243902439,0.7,0.875,0.9090909090909091,0.7777777777777778,0.9886363636363636,1.2036171649961034,cuda
|
| 12 |
+
42,pose_tcn,0.9512195121951219,0.8,1.0,0.9393939393939394,0.8888888888888888,1.0,0.9513108629907947,cuda
|
| 13 |
+
42,random_forest,0.975609756097561,1.0,0.875,1.0,0.9333333333333333,1.0,0.9882721559988568,cpu
|
| 14 |
+
84,logistic_regression,0.9791666666666666,1.0,0.875,1.0,0.9333333333333333,0.965625,0.021342011998058297,cpu
|
| 15 |
+
84,pose_gru,0.9583333333333334,1.0,0.75,1.0,0.8571428571428571,1.0,1.1110608339949977,cuda
|
| 16 |
+
84,pose_tcn,0.9791666666666666,1.0,0.875,1.0,0.9333333333333333,0.9937499999999999,1.3381747899984475,cuda
|
| 17 |
+
84,random_forest,0.9583333333333334,1.0,0.75,1.0,0.8571428571428571,0.984375,0.9982958710024832,cpu
|
| 18 |
+
123,logistic_regression,0.9655172413793104,1.0,0.9,1.0,0.9473684210526315,0.9894736842105263,0.025149452994810417,cpu
|
| 19 |
+
123,pose_gru,0.896551724137931,1.0,0.7,1.0,0.8235294117647058,1.0,0.8119248779985355,cuda
|
| 20 |
+
123,pose_tcn,0.896551724137931,1.0,0.7,1.0,0.8235294117647058,0.9210526315789473,1.74490802299988,cuda
|
| 21 |
+
123,random_forest,0.9310344827586207,1.0,0.8,1.0,0.8888888888888888,1.0,1.2935919419978745,cpu
|
artifacts/experiments/urfd_repeated/seed_123/logistic_regression/confusion_matrix.png
ADDED
|
artifacts/experiments/urfd_repeated/seed_123/logistic_regression/metrics.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"accuracy": 0.9655172413793104,
|
| 3 |
+
"precision": 1.0,
|
| 4 |
+
"recall": 0.9,
|
| 5 |
+
"specificity": 1.0,
|
| 6 |
+
"f1": 0.9473684210526315,
|
| 7 |
+
"roc_auc": 0.9894736842105263,
|
| 8 |
+
"threshold": 0.5,
|
| 9 |
+
"tn": 19,
|
| 10 |
+
"fp": 0,
|
| 11 |
+
"fn": 1,
|
| 12 |
+
"tp": 9,
|
| 13 |
+
"n_samples": 29,
|
| 14 |
+
"model": "logistic_regression",
|
| 15 |
+
"seed": 123,
|
| 16 |
+
"training_seconds": 0.025149452994810417,
|
| 17 |
+
"dataset": "data/processed/urfd_pose.npz",
|
| 18 |
+
"split": {
|
| 19 |
+
"train": {
|
| 20 |
+
"samples": 134,
|
| 21 |
+
"groups": 38,
|
| 22 |
+
"normal": 114,
|
| 23 |
+
"fall": 20
|
| 24 |
+
},
|
| 25 |
+
"validation": {
|
| 26 |
+
"samples": 37,
|
| 27 |
+
"groups": 13,
|
| 28 |
+
"normal": 31,
|
| 29 |
+
"fall": 6
|
| 30 |
+
},
|
| 31 |
+
"test": {
|
| 32 |
+
"samples": 29,
|
| 33 |
+
"groups": 13,
|
| 34 |
+
"normal": 19,
|
| 35 |
+
"fall": 10
|
| 36 |
+
}
|
| 37 |
+
},
|
| 38 |
+
"result_scope": "test set only"
|
| 39 |
+
}
|
artifacts/experiments/urfd_repeated/seed_123/logistic_regression/model.joblib
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bd64e7183985dd7cabf9d5e76707786786a0f99e7a5953a995aa3462733387fd
|
| 3 |
+
size 21047
|
artifacts/experiments/urfd_repeated/seed_123/logistic_regression/predictions.csv
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
source,label,probability_fall,prediction
|
| 2 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=0:40,1,0.8714424,1
|
| 3 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=10:50,1,0.9968592,1
|
| 4 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=14:54,1,0.99814665,1
|
| 5 |
+
data/videos/fall/fall-05/fall-05-cam0.mp4#sample=0:40,1,0.6150006,1
|
| 6 |
+
data/videos/fall/fall-05/fall-05-cam0.mp4#sample=10:50,1,0.8142116,1
|
| 7 |
+
data/videos/fall/fall-05/fall-05-cam0.mp4#sample=11:51,1,0.8370313,1
|
| 8 |
+
data/videos/fall/fall-06/fall-06-cam0.mp4#sample=0:40,1,0.95890343,1
|
| 9 |
+
data/videos/fall/fall-13/fall-13-cam0.mp4#sample=0:40,1,0.035059758,0
|
| 10 |
+
data/videos/fall/fall-16/fall-16-cam0.mp4#sample=0:40,1,0.99813807,1
|
| 11 |
+
data/videos/fall/fall-29/fall-29-cam0.mp4#sample=0:40,1,0.9841054,1
|
| 12 |
+
data/videos/normal/adl-16/adl-16-cam0.mp4#sample=20:60,0,0.0053262985,0
|
| 13 |
+
data/videos/normal/adl-16/adl-16-cam0.mp4#sample=30:70,0,0.058787502,0
|
| 14 |
+
data/videos/normal/adl-16/adl-16-cam0.mp4#sample=40:80,0,0.10868171,0
|
| 15 |
+
data/videos/normal/adl-19/adl-19-cam0.mp4#sample=10:50,0,2.9298852e-05,0
|
| 16 |
+
data/videos/normal/adl-19/adl-19-cam0.mp4#sample=20:60,0,4.0773317e-05,0
|
| 17 |
+
data/videos/normal/adl-19/adl-19-cam0.mp4#sample=30:70,0,0.0011008652,0
|
| 18 |
+
data/videos/normal/adl-19/adl-19-cam0.mp4#sample=40:80,0,0.0056155613,0
|
| 19 |
+
data/videos/normal/adl-24/adl-24-cam0.mp4#sample=0:40,0,6.5174994e-05,0
|
| 20 |
+
data/videos/normal/adl-25/adl-25-cam0.mp4#sample=0:40,0,1.8500707e-05,0
|
| 21 |
+
data/videos/normal/adl-28/adl-28-cam0.mp4#sample=0:40,0,0.00063501054,0
|
| 22 |
+
data/videos/normal/adl-32/adl-32-cam0.mp4#sample=0:40,0,0.0037459473,0
|
| 23 |
+
data/videos/normal/adl-32/adl-32-cam0.mp4#sample=10:50,0,0.002324134,0
|
| 24 |
+
data/videos/normal/adl-32/adl-32-cam0.mp4#sample=20:60,0,0.0001870078,0
|
| 25 |
+
data/videos/normal/adl-32/adl-32-cam0.mp4#sample=27:67,0,8.778199e-06,0
|
| 26 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=30:70,0,0.0023080045,0
|
| 27 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=40:80,0,0.0005286265,0
|
| 28 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=50:90,0,0.00027970385,0
|
| 29 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=60:100,0,3.850741e-05,0
|
| 30 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=70:110,0,5.7593948e-06,0
|
artifacts/experiments/urfd_repeated/seed_123/logistic_regression/roc_curve.png
ADDED
|
artifacts/experiments/urfd_repeated/seed_123/model_comparison.png
ADDED
|
artifacts/experiments/urfd_repeated/seed_123/pose_gru/confusion_matrix.png
ADDED
|
artifacts/experiments/urfd_repeated/seed_123/pose_gru/metrics.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"accuracy": 0.896551724137931,
|
| 3 |
+
"precision": 1.0,
|
| 4 |
+
"recall": 0.7,
|
| 5 |
+
"specificity": 1.0,
|
| 6 |
+
"f1": 0.8235294117647058,
|
| 7 |
+
"roc_auc": 1.0,
|
| 8 |
+
"threshold": 0.5,
|
| 9 |
+
"tn": 19,
|
| 10 |
+
"fp": 0,
|
| 11 |
+
"fn": 3,
|
| 12 |
+
"tp": 7,
|
| 13 |
+
"n_samples": 29,
|
| 14 |
+
"model": "pose_gru",
|
| 15 |
+
"architecture": "gru",
|
| 16 |
+
"seed": 123,
|
| 17 |
+
"device": "cuda",
|
| 18 |
+
"device_name": "NVIDIA GeForce RTX 4090",
|
| 19 |
+
"torch_version": "2.11.0+cu128",
|
| 20 |
+
"torch_cuda_version": "12.8",
|
| 21 |
+
"epochs_completed": 17,
|
| 22 |
+
"best_val_loss": 0.23604731541126966,
|
| 23 |
+
"training_seconds": 0.8119248779985355,
|
| 24 |
+
"parameters": 79489,
|
| 25 |
+
"dataset": "data/processed/urfd_pose.npz",
|
| 26 |
+
"split": {
|
| 27 |
+
"train": {
|
| 28 |
+
"samples": 134,
|
| 29 |
+
"groups": 38,
|
| 30 |
+
"normal": 114,
|
| 31 |
+
"fall": 20
|
| 32 |
+
},
|
| 33 |
+
"validation": {
|
| 34 |
+
"samples": 37,
|
| 35 |
+
"groups": 13,
|
| 36 |
+
"normal": 31,
|
| 37 |
+
"fall": 6
|
| 38 |
+
},
|
| 39 |
+
"test": {
|
| 40 |
+
"samples": 29,
|
| 41 |
+
"groups": 13,
|
| 42 |
+
"normal": 19,
|
| 43 |
+
"fall": 10
|
| 44 |
+
}
|
| 45 |
+
},
|
| 46 |
+
"result_scope": "test set only"
|
| 47 |
+
}
|
artifacts/experiments/urfd_repeated/seed_123/pose_gru/model.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c91fe38a28796056c69422102d51630e1bd7676c105cdc5353d94bf597985504
|
| 3 |
+
size 325083
|
artifacts/experiments/urfd_repeated/seed_123/pose_gru/predictions.csv
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
source,label,probability_fall,prediction
|
| 2 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=0:40,1,0.35767898,0
|
| 3 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=10:50,1,0.9803091,1
|
| 4 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=14:54,1,0.99202967,1
|
| 5 |
+
data/videos/fall/fall-05/fall-05-cam0.mp4#sample=0:40,1,0.55568933,1
|
| 6 |
+
data/videos/fall/fall-05/fall-05-cam0.mp4#sample=10:50,1,0.35436755,0
|
| 7 |
+
data/videos/fall/fall-05/fall-05-cam0.mp4#sample=11:51,1,0.32558507,0
|
| 8 |
+
data/videos/fall/fall-06/fall-06-cam0.mp4#sample=0:40,1,0.988262,1
|
| 9 |
+
data/videos/fall/fall-13/fall-13-cam0.mp4#sample=0:40,1,0.8008202,1
|
| 10 |
+
data/videos/fall/fall-16/fall-16-cam0.mp4#sample=0:40,1,0.9947249,1
|
| 11 |
+
data/videos/fall/fall-29/fall-29-cam0.mp4#sample=0:40,1,0.9605884,1
|
| 12 |
+
data/videos/normal/adl-16/adl-16-cam0.mp4#sample=20:60,0,0.0071825925,0
|
| 13 |
+
data/videos/normal/adl-16/adl-16-cam0.mp4#sample=30:70,0,0.011605739,0
|
| 14 |
+
data/videos/normal/adl-16/adl-16-cam0.mp4#sample=40:80,0,0.08605945,0
|
| 15 |
+
data/videos/normal/adl-19/adl-19-cam0.mp4#sample=10:50,0,0.028078236,0
|
| 16 |
+
data/videos/normal/adl-19/adl-19-cam0.mp4#sample=20:60,0,0.0039135297,0
|
| 17 |
+
data/videos/normal/adl-19/adl-19-cam0.mp4#sample=30:70,0,0.008724526,0
|
| 18 |
+
data/videos/normal/adl-19/adl-19-cam0.mp4#sample=40:80,0,0.222154,0
|
| 19 |
+
data/videos/normal/adl-24/adl-24-cam0.mp4#sample=0:40,0,0.022441126,0
|
| 20 |
+
data/videos/normal/adl-25/adl-25-cam0.mp4#sample=0:40,0,0.024359005,0
|
| 21 |
+
data/videos/normal/adl-28/adl-28-cam0.mp4#sample=0:40,0,0.032382514,0
|
| 22 |
+
data/videos/normal/adl-32/adl-32-cam0.mp4#sample=0:40,0,0.04610334,0
|
| 23 |
+
data/videos/normal/adl-32/adl-32-cam0.mp4#sample=10:50,0,0.015914852,0
|
| 24 |
+
data/videos/normal/adl-32/adl-32-cam0.mp4#sample=20:60,0,0.008139296,0
|
| 25 |
+
data/videos/normal/adl-32/adl-32-cam0.mp4#sample=27:67,0,0.005882212,0
|
| 26 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=30:70,0,0.0040533254,0
|
| 27 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=40:80,0,0.0072238776,0
|
| 28 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=50:90,0,0.013535955,0
|
| 29 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=60:100,0,0.012939351,0
|
| 30 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=70:110,0,0.010590921,0
|
artifacts/experiments/urfd_repeated/seed_123/pose_gru/roc_curve.png
ADDED
|
artifacts/experiments/urfd_repeated/seed_123/pose_gru/training_curve.png
ADDED
|
artifacts/experiments/urfd_repeated/seed_123/pose_tcn/confusion_matrix.png
ADDED
|
artifacts/experiments/urfd_repeated/seed_123/pose_tcn/metrics.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"accuracy": 0.896551724137931,
|
| 3 |
+
"precision": 1.0,
|
| 4 |
+
"recall": 0.7,
|
| 5 |
+
"specificity": 1.0,
|
| 6 |
+
"f1": 0.8235294117647058,
|
| 7 |
+
"roc_auc": 0.9210526315789473,
|
| 8 |
+
"threshold": 0.5,
|
| 9 |
+
"tn": 19,
|
| 10 |
+
"fp": 0,
|
| 11 |
+
"fn": 3,
|
| 12 |
+
"tp": 7,
|
| 13 |
+
"n_samples": 29,
|
| 14 |
+
"model": "pose_tcn",
|
| 15 |
+
"architecture": "tcn",
|
| 16 |
+
"seed": 123,
|
| 17 |
+
"device": "cuda",
|
| 18 |
+
"device_name": "NVIDIA GeForce RTX 4090",
|
| 19 |
+
"torch_version": "2.11.0+cu128",
|
| 20 |
+
"torch_cuda_version": "12.8",
|
| 21 |
+
"epochs_completed": 46,
|
| 22 |
+
"best_val_loss": 0.1802956284955144,
|
| 23 |
+
"training_seconds": 1.74490802299988,
|
| 24 |
+
"parameters": 12929,
|
| 25 |
+
"dataset": "data/processed/urfd_pose.npz",
|
| 26 |
+
"split": {
|
| 27 |
+
"train": {
|
| 28 |
+
"samples": 134,
|
| 29 |
+
"groups": 38,
|
| 30 |
+
"normal": 114,
|
| 31 |
+
"fall": 20
|
| 32 |
+
},
|
| 33 |
+
"validation": {
|
| 34 |
+
"samples": 37,
|
| 35 |
+
"groups": 13,
|
| 36 |
+
"normal": 31,
|
| 37 |
+
"fall": 6
|
| 38 |
+
},
|
| 39 |
+
"test": {
|
| 40 |
+
"samples": 29,
|
| 41 |
+
"groups": 13,
|
| 42 |
+
"normal": 19,
|
| 43 |
+
"fall": 10
|
| 44 |
+
}
|
| 45 |
+
},
|
| 46 |
+
"result_scope": "test set only"
|
| 47 |
+
}
|
artifacts/experiments/urfd_repeated/seed_123/pose_tcn/model.pt
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5f786e5f887d472b172da34dbcabe2ebd18bf26b9636ef0674d2468bb4ce0ec1
|
| 3 |
+
size 58759
|
artifacts/experiments/urfd_repeated/seed_123/pose_tcn/predictions.csv
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
source,label,probability_fall,prediction
|
| 2 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=0:40,1,0.9182121,1
|
| 3 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=10:50,1,0.9761614,1
|
| 4 |
+
data/videos/fall/fall-01/fall-01-cam0.mp4#sample=14:54,1,0.97456235,1
|
| 5 |
+
data/videos/fall/fall-05/fall-05-cam0.mp4#sample=0:40,1,0.5515729,1
|
| 6 |
+
data/videos/fall/fall-05/fall-05-cam0.mp4#sample=10:50,1,0.019800719,0
|
| 7 |
+
data/videos/fall/fall-05/fall-05-cam0.mp4#sample=11:51,1,0.013609737,0
|
| 8 |
+
data/videos/fall/fall-06/fall-06-cam0.mp4#sample=0:40,1,0.90002793,1
|
| 9 |
+
data/videos/fall/fall-13/fall-13-cam0.mp4#sample=0:40,1,0.40597087,0
|
| 10 |
+
data/videos/fall/fall-16/fall-16-cam0.mp4#sample=0:40,1,0.9819664,1
|
| 11 |
+
data/videos/fall/fall-29/fall-29-cam0.mp4#sample=0:40,1,0.9849961,1
|
| 12 |
+
data/videos/normal/adl-16/adl-16-cam0.mp4#sample=20:60,0,0.022150403,0
|
| 13 |
+
data/videos/normal/adl-16/adl-16-cam0.mp4#sample=30:70,0,0.058020227,0
|
| 14 |
+
data/videos/normal/adl-16/adl-16-cam0.mp4#sample=40:80,0,0.17342727,0
|
| 15 |
+
data/videos/normal/adl-19/adl-19-cam0.mp4#sample=10:50,0,0.008698789,0
|
| 16 |
+
data/videos/normal/adl-19/adl-19-cam0.mp4#sample=20:60,0,0.010584317,0
|
| 17 |
+
data/videos/normal/adl-19/adl-19-cam0.mp4#sample=30:70,0,0.0081666205,0
|
| 18 |
+
data/videos/normal/adl-19/adl-19-cam0.mp4#sample=40:80,0,0.017216044,0
|
| 19 |
+
data/videos/normal/adl-24/adl-24-cam0.mp4#sample=0:40,0,0.03573762,0
|
| 20 |
+
data/videos/normal/adl-25/adl-25-cam0.mp4#sample=0:40,0,0.03528052,0
|
| 21 |
+
data/videos/normal/adl-28/adl-28-cam0.mp4#sample=0:40,0,0.036040433,0
|
| 22 |
+
data/videos/normal/adl-32/adl-32-cam0.mp4#sample=0:40,0,0.02276568,0
|
| 23 |
+
data/videos/normal/adl-32/adl-32-cam0.mp4#sample=10:50,0,0.010692995,0
|
| 24 |
+
data/videos/normal/adl-32/adl-32-cam0.mp4#sample=20:60,0,0.0033858838,0
|
| 25 |
+
data/videos/normal/adl-32/adl-32-cam0.mp4#sample=27:67,0,0.0005006488,0
|
| 26 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=30:70,0,0.005397269,0
|
| 27 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=40:80,0,0.0040390575,0
|
| 28 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=50:90,0,0.0026508006,0
|
| 29 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=60:100,0,0.00044848185,0
|
| 30 |
+
data/videos/normal/adl-40/adl-40-cam0.mp4#sample=70:110,0,0.0001873869,0
|
artifacts/experiments/urfd_repeated/seed_123/pose_tcn/roc_curve.png
ADDED
|
artifacts/experiments/urfd_repeated/seed_123/pose_tcn/training_curve.png
ADDED
|
artifacts/experiments/urfd_repeated/seed_123/random_forest/confusion_matrix.png
ADDED
|