Измерьте процент жира в организме с помощью всего лишь одной картинки!
Моя заявка на Global PyTorch Summer Hackathon 2019. Среди 5% (из 1466 участников) проектов, которые будут представлены в галерее хакатона.
Этот код был протестирован на Ubuntu, PyTorch 1.2, Python 3.6 и Nvidia GTX 940MX. Рекомендуется настроить виртуальную среду Python и установить следующие пакеты.
Клонировать репозиторий
Установите следующее:
apt-get install tk-dev python-tk
Активируйте виртуальную среду. Установите необходимые пакеты 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 метра от камеры. Некоторые примеры:
Хороший пример
Вставьте свою картинку в data/inputs/
Запустите python3 measure_body.py --image_name <name_of_your_image>.jpg
Ваши результаты показаны на экране.
Он использует монокулярную сеть оценки глубины для создания карты глубины на уровне пикселей. Это было основано на документе CVPR 2019 «Изучение глубины перемещения людей, наблюдая за замороженными людьми». В то же время модель обнаружения объектов RetinaNet была настроена для оценки местоположения частей вашего тела. PyTorch использовался для обеих сетей. Эта информация объединяется для расчета размеров вашего тела и процента жира в организме. Некоторые внутренние характеристики камеры из данных exif также используются для оценки. Для расчета используется формула содержания жира в организме военно-морского флота.
Код оценки глубины был заимствован и изменен из этого репозитория (реализация этой замечательной статьи Google AI).
Код Retinanet был заимствован и изменен из этой реализации PyTorch.
Код NMS отсюда.