59 lines
1.5 KiB
Markdown
59 lines
1.5 KiB
Markdown
# Person Attribute Recognition
|
|
|
|
COCO80 기반 **YOLO26m** 객체 탐지 결과를 받아, 탐지된 **Person** 영역의 상세 속성을 분석하는 ClearML Agent입니다.
|
|
|
|
## 역할
|
|
|
|
1. YOLO26m이 COCO80 클래스로 이미지를 분석하고 Person의 바운딩 박스(`xywh`)를 전달
|
|
2. 해당 영역을 크롭한 뒤 보행자 속성 인식 모델로 상세 속성 추론
|
|
3. 결과를 ClearML 아티팩트로 업로드
|
|
|
|
## 입력
|
|
|
|
| 인자 | 필수 | 형식 | 설명 |
|
|
|------|------|------|------|
|
|
| `--image_url` | O | URL 또는 파일 경로 | 분석 대상 이미지 |
|
|
| `--xywh` | O | `x,y,w,h` (정수, 쉼표 구분) | YOLO26m이 탐지한 Person 바운딩 박스 |
|
|
|
|
## 출력
|
|
|
|
| 대상 | 내용 |
|
|
|------|------|
|
|
| 콘솔 | 속성명·값 목록 (예: `gender: female`, `age: teenager`) |
|
|
| 파일 | 크롭 이미지 `cropped_image.jpg` |
|
|
| ClearML | `final_result` 아티팩트 — `{"output": [...], "status": "PASS"}` |
|
|
|
|
## 실행
|
|
|
|
```bash
|
|
python main.py \
|
|
--image_url "https://example.com/image.jpg" \
|
|
--xywh "404,290,74,193"
|
|
```
|
|
|
|
## 요구 사항
|
|
|
|
- Python 3.11+
|
|
- PyTorch, torchvision, ClearML, requests
|
|
- 사전 학습 체크포인트: `checkpoints/market/resnet50_nfc/net_last.pth`
|
|
|
|
### 설치
|
|
|
|
```bash
|
|
uv sync
|
|
# 또는
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
## ClearML
|
|
|
|
| 항목 | 값 |
|
|
|------|-----|
|
|
| Project | `Person_Attribute_Recognition` |
|
|
| Task | `model-yolo-person-classify` |
|
|
|
|
## 모델
|
|
|
|
- **탐지**: YOLO26m (COCO80)
|
|
- **속성 인식**: ResNet50 + NFC (Market-1501 Attribute, 기본값)
|