ML/CV engineer (new grad ยท Seoul ยท open to remote). I find and diagnose measurement problems in pose-estimation tooling.
- 20 merged PRs in open source, including Ultralytics and Roboflow supervision
- Wrote the first version of supervision's COCO keypoint mAP metric, shipped in 0.31.0
- Author of poseaudit and Epokio (both on PyPI)
๐ง bkbkjang@gmail.com ยท ๐ฎ itch.io
๐ฐ๐ท ํ๊ตญ์ด ์์ฝ
- ์ ์ธ๊ณ์์ ๋๋ฆฌ ์ฐ๋ AI ๋ผ์ด๋ธ๋ฌ๋ฆฌ YOLO(Ultralytics)์ Roboflow supervision์ PR์ด ๋จธ์ง๋์ต๋๋ค. (์ธ๋ถ ์ ์ฅ์ ๋จธ์ง 20๊ฑด)
- YOLO์ ์์ธ ์ธ์ ์ฑ์ ์ค๋ฅ๋ฅผ ์ฐพ์ pycocotools์ ๋น๊ตํด ์ฌํํ๊ณ , ๋ฉ์ธํ ์ด๋๊ฐ ์ด๋ฅผ ๋ฐ์ ์์ ํ์ต๋๋ค. COCO ๋ณํ ๋ฐ์ดํฐ์์ ์ ์๊ฐ ์ค์ ๋ณด๋ค ๋ฎ๊ฒ ๋์ค๋ ๋ฌธ์ ์์ต๋๋ค. (๊ณต์ COCO pose ์ ์๋ ์ํฅ ์์)
- ์์ธ ์ธ์ ์ธก์ ๊ฐ์ ์ ๊ฒํ๋ poseaudit, ๋ชจ๋ธ ํ์ต์ด ๋ฉ์ถ๋ฉด ํด๋ํฐ์ผ๋ก ์๋ ค์ฃผ๋ Epokio๋ฅผ ๋ง๋ค์ด ๊ณต๊ฐ ๋ฐฐํฌํ์ต๋๋ค.
Ultralytics (YOLO) ยท #26564, issue #26563
- Problem:
convert_coco(use_keypoints=True)kept people with no labelled keypoints, so pose validation counted them as targets and under-reported pose mAP. The official COCO pose numbers were unaffected; it hit data converted withconvert_cocoand custom labels with fully occluded people. - My part: found and reproduced it against pycocotools, and proposed a validator-side fix (yolo11n-pose on a 200-image COCO val2017 sample: pose mAP50-95 0.341 โ 0.486).
- Result: the maintainers fixed it at the source with a one-line change in the converter instead. With their fix, they measured yolo26n-pose on my 200-image sample going from 0.347 to 0.576, matching pycocotools.
supervision (Roboflow) ยท #2687
- My part: wrote the initial
sv.metrics.KeyPointMeanAveragePrecision(COCO keypoint mAP using OKS) and pycocotools parity tests; on 200 COCO val2017 images, AP, AP50, AP75, APm and APl matched pycocotools within 3e-9. - Result: the maintainer substantially extended it before release. It shipped as one of the headline features of 0.31.0.
- Earlier: fixed
from_yoloreading pose labels as polygons (#2655), later extended by the maintainer.
poseaudit ยท Python ยท PyPI
Checks how far angles and lengths computed from pose keypoints disagree with the labels, the way a measuring device is validated (bias, limits of agreement, ICC).
On 322 left elbows from 200 COCO val2017 images, YOLO11n-pose disagrees with the labels by 15ยฐ or more on 58% of small arms (under 30 px) vs 26% of large ones (over 60 px). Much of that is label noise: the labels alone would put 30โ44% of small arms and 17โ31% of large ones off by 15ยฐ or more.
Photos: COCO val2017, CC BY 4.0
Epokio ยท Python ยท PyPI
Sends a phone alert when an ML training run stalls, hits NaN or finishes, by reading the logs it already writes (Ultralytics, Hugging Face, Lightning, Keras, TensorBoard). No code changes, no account.
|
lidtilt ยท Python Reads the MacBook lid angle sensor to remove the lid's tilt from webcam head pitch.
|
Stella Ball ยท browser game A small browser game. Play on itch.io โ
|
- ultralytics#26651: SAM prompts for a folder or video reached only the first image. I made them apply to the whole source. In review the maintainer caught that my version modified the caller's arrays in place; I fixed it, and they moved the forwarding to the streaming entry point.
- ultralytics#26635: every DataLoader worker drew the same Albumentations augmentations. I traced it and proposed reseeding per worker; the maintainer reworked the final commit.
- sktime#11233: re-enabled tests for two estimators that were skipped by mistake.





