BodyScan
1.0.0
只需一張圖片即可測量您的體脂百分比!
我向 2019 年全球 PyTorch 夏季黑客松提交的作品。
此程式碼已在 Ubuntu、PyTorch 1.2、Python 3.6 和 Nvidia GTX 940MX 上進行了測試。建議設定一個python虛擬環境並安裝以下軟體包。
克隆儲存庫
安裝以下內容:
apt-get install tk-dev python-tk
啟動virutal 在虛擬環境中安裝所需的python包
(pytorch)$ pip3 install torch torchvision (pytorch)$ pip3 install scikit-image opencv-python pandas h5py (pytorch)$ pip3 install cffi (pytorch)$ pip3 install cython (pytorch)$ pip3 install requests (pytorch)$ pip3 install future
建置 NMS 擴充
cd lib/ python3 setup3.py build_ext --inplace
python3 measure_body.py
這從data/inputs
中獲取樣本圖片並預測身體脂肪百分比。
拍照須知
該模型將估計您的頸圍和腰圍,以預測您的身體脂肪百分比。所以你的脖子和腰部區域需要在照片中清晰可見。此外,當您站在距離相機至少 1 m 的地方時,模型效果最佳。一些例子:
好例子
將您的圖片貼到data/inputs/
中
運行python3 measure_body.py --image_name <name_of_your_image>.jpg
您的結果顯示在螢幕上。
它使用單目深度估計網路來產生像素級深度圖。這是基於 CVPR 2019 論文「透過觀察凍結的人來了解感動人的深度」。同時,RetinaNet 物件偵測模型經過微調,可以估計您身體部位的位置。這兩個網路均使用 PyTorch。這些資訊結合起來可以計算您的身體測量值和體脂百分比。 exif 資料中的一些相機內在函數也用於估計。它使用海軍體脂公式進行計算。
深度估計程式碼是從這個倉庫借用和修改的(這篇很棒的谷歌人工智慧論文的實現)。
Retinanet 程式碼是從這個 PyTorch 實作中藉用和修改的。
NMS 代碼來自這裡。