Dự án này là một API đo kích thước cơ thể thời gian thực được xây dựng với Flask, MediaPipe, OpenCV, và PyTorch. Bằng cách phân tích hình ảnh tư thế trước và bên của một người, nó tính toán các phép đo kích thước cơ thể chính xác hữu ích cho may đo, dự đoán kích cỡ quần áo, và phòng thử đồ ảo.
📸 Chỉ cần gửi hình ảnh tư thế trước và bên (chụp bằng điện thoại thông minh hoặc webcam) đến API này, và nhận các phép đo kích thước cơ thể chính trong đơn vị cm — hoàn hảo cho các nền tảng bán lẻ thời trang và kinh doanh may đo theo yêu cầu.
- Đo kích thước cơ thể dựa trên hình ảnh thời gian thực
- Ước lượng độ sâu dựa trên AI sử dụng MiDaS
- Độ chính xác đo lường với sai lệch ±2-3 cm
- Hiệu chỉnh tỷ lệ sử dụng giấy A4 làm vật tham chiếu
- Dễ dàng tích hợp vào các nền tảng thương mại điện tử thời trang hoặc may đo
- Không sử dụng API bên ngoài — chạy hoàn toàn trên môi trường cục bộ hoặc máy chủ của bạn
| Thư Viện | Mục Đích |
|---|---|
Flask |
Để cung cấp API HTTP đơn giản |
OpenCV |
Để xử lý hình ảnh và phát hiện đường viền |
MediaPipe |
Để phát hiện điểm mốc tư thế (vai, hông, v.v.) |
PyTorch |
Để ước lượng độ sâu dựa trên AI sử dụng mô hình MiDaS |
torchvision |
Hỗ trợ tải mô hình & biến đổi hình ảnh |
- Phát hiện các điểm mốc chính sử dụng MediaPipe Pose (vai, hông, đầu gối, mắt cá chân).
- Sử dụng giấy A4 trong hình ảnh để hiệu chỉnh tỷ lệ thế giới thực từ pixel.
- Cải thiện ước lượng chiều rộng và độ sâu sử dụng mô hình AI độ sâu MiDaS.
- Tính toán các phép đo sử dụng xấp xỉ hình học (mô hình cơ thể elip).
- Trả về dữ liệu đo lường ở định dạng JSON.
pip install -r requirements.txt
python app.pyPOST /upload_images
ℹ️ Để tham khảo, xem các hình ảnh đặt trong thư mục gốc.
Gửi yêu cầu POST multipart/form-data với các trường sau:
front: Hình ảnh JPEG/PNG chụp từ phía trước (bắt buộc)left_side(tùy chọn): Hình ảnh JPEG/PNG từ phía bên trái (để độ chính xác tốt hơn)height_cm: Chiều cao thực của người (tính bằng cm) để hiệu chỉnh chính xác hơn
curl -X POST http://localhost:8001/upload_images \
-F "front=@front.jpg" \
-F "left_side=@side.jpg" \
-F "height_cm=170"| Tên Phép Đo | Mô Tả |
|---|---|
shoulder_width |
Khoảng cách giữa vai trái và vai phải (cm) |
chest_width |
Chiều rộng ở mức ngực (cm) |
chest_circumference |
Ước lượng chu vi ngực (cm) |
waist_width |
Chiều rộng ở mức eo (cm) |
waist |
Ước lượng chu vi eo (cm) |
hip_width |
Khoảng cách giữa hông trái và hông phải (cm) |
hip |
Ước lượng chu vi hông (cm) |
neck |
Ước lượng chu vi cổ (cm) |
neck_width |
Chiều rộng cổ (cm) |
arm_length |
Chiều dài tay (từ vai đến cổ tay, cm) |
shirt_length |
Chiều dài áo (từ vai đến hông, cm) |
thigh |
Chiều rộng đùi (cm) |
thigh_circumference |
Ước lượng chu vi đùi (cm) |
trouser_length |
Chiều dài quần (từ hông đến mắt cá, cm) |
📌 Lưu Ý:
Hệ thống sử dụng bản đồ độ sâu AI và phát hiện chiều rộng dựa trên đường viền.
Các phép đo cuối cùng có thể có sai lệch ±2–3 cm tùy thuộc vào chất lượng hình ảnh và sự căn chỉnh của người dùng.
Giải pháp này là plug-and-play cho:
- Các thương hiệu thương mại điện tử cung cấp gợi ý kích cỡ hoặc thử đồ ảo.
- Nền tảng may đo muốn đo lường khách hàng từ xa.
- Nhà sản xuất quần áo cá nhân hóa bảng kích cỡ cho khách hàng.
- Ứng dụng di động thời trang để gợi ý quần áo phù hợp tùy chỉnh.
Chỉ cần tích hợp API này vào frontend của bạn — di động hoặc web — để thu thập hai bức ảnh và nhận các phép đo chính xác.
PR và gợi ý đều được hoan nghênh! Fork repo này, tạo issue, hoặc mở pull request.
Giấy phép MIT. Bạn có thể sử dụng cho dự án cá nhân hoặc thương mại — chỉ cần ghi công.