๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€251

[MMPose] A 20-MINUTE TOUR TO MMPOSE MMPose 1.0์€ ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์—ˆ๋‹ค. ๋”ฅ๋Ÿฌ๋‹์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์‹์„ ๊ฐ€์ง„ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•ด ์ด ํŠœํ† ๋ฆฌ์–ผ์€ MMPose 1.0 ํ”„๋ ˆ์ž„์›Œํฌ ๋””์ž์ธ์— ๋Œ€ํ•œ ๊ฐœ์š”๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ด์ „ ๋ฒ„์ „์˜ MMPose๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝํ—˜์ด ์žˆ๊ฑฐ๋‚˜, MMPose 1.0์„ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๋Š” ์ดˆ๋ณด์ž๋ผ๋ฉด ์ด ํŠœํ† ๋ฆฌ์–ผ์„ ํ†ตํ•ด MMPose 1.0์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋‹ค. ์ฐธ๊ณ  ์‚ฌํ•ญ์ด ํŠœํ† ๋ฆฌ์–ผ์€ MMPose 1.0์„ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ณ ๋ คํ•ด์•ผ ํ•  ์‚ฌํ•ญ๋“ค์„ ๋‹ค๋ฃฌ๋‹ค:์ „์ฒด ์ฝ”๋“œ ์•„ํ‚คํ…์ฒ˜๊ตฌ์„ฑ ํŒŒ์ผ๋กœ ๋ชจ๋“ˆ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์‚ฌ์šฉ์ž ์ •์˜ ๋ฐ์ดํ„ฐ์…‹ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ƒˆ๋กœ์šด ๋ชจ๋“ˆ(๋ฐฑ๋ณธ, ํ—ค๋“œ, ์†์‹ค ํ•จ์ˆ˜ ๋“ฑ) ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ• ํŠœํ† ๋ฆฌ์–ผ์˜ ๊ตฌ์„ฑ์ด ํŠœํ† ๋ฆฌ์–ผ์˜ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋œ๋‹ค:MMPose ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•œ 20๋ถ„ ๊ฐ€์ด๋“œ๊ตฌ์กฐ.. 2024. 6. 22.
[MMPose] Overview ์ด ์žฅ์—์„œ๋Š” MMPose์˜ ์ „์ฒด ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์†Œ๊ฐœํ•˜๊ณ  ์ž์„ธํ•œ ํŠœํ† ๋ฆฌ์–ผ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ๋งํฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. What is MMPoseMMPose๋Š” Pytorch ๊ธฐ๋ฐ˜์˜ ํฌ์ฆˆ ์ถ”์ • ์˜คํ”ˆ์†Œ์Šค ํˆดํ‚ท์œผ๋กœ, OpenMMLab ํ”„๋กœ์ ํŠธ์˜ ์ผ์›์ด๋‹ค. ์ด ํˆดํ‚ท์€ 2D ๋‹ค์ธ ํฌ์ฆˆ ์ถ”์ •, 2D ์† ํฌ์ฆˆ ์ถ”์ •, 2D ์–ผ๊ตด ๋žœ๋“œ๋งˆํฌ ๊ฐ์ง€, 133 ํ‚คํฌ์ธํŠธ ์ „์‹  ํฌ์ฆˆ ์ถ”์ •, ํŒจ์…˜ ๋žœ๋“œ๋งˆํฌ ๊ฐ์ง€ ๋ฐ ๋™๋ฌผ ํฌ์ฆˆ ์ถ”์ •๊ณผ ๊ด€๋ จ๋œ ๋‹ค์–‘ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋ชจ๋“ˆ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค. ์•„๋ž˜๋Š” MMPose์˜ ์ „์ฒด ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค.  MMPose๋Š” 8๊ฐœ์˜ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค: apis: ๋ชจ๋ธ ์ถ”๋ก ์„ ์œ„ํ•œ ๊ณ ์ˆ˜์ค€ API๋ฅผ ์ œ๊ณตํ•œ๋‹ค.structures: bbox, keypoint ๋ฐ PoseDataSample๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.datasets.. 2024. 6. 22.
MMDetection ์‹œ์ž‘ํ•˜๊ธฐ Overviewโ–ถ MMDetection is an object detection toolbox that contains a rich set of object detection, instance segmentation, and panoptic segmentation methods as well as related components and modules.  โ–ถ MMDetection consists of 7 main parts, apis, structures, datasets, models, engine, evaluation and visualization.apis provides high-level APIs for model inference.structures provides data structures.. 2024. 6. 21.
MMEngine ์‹œ์ž‘ํ•˜๊ธฐ Introductionโ€ป MMEngine๋Š” PyTorch๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋”ฅ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ํ›ˆ๋ จํ•˜๊ธฐ ์œ„  ๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(foundational library)์ด๋‹ค.  ArchitectureMMEngine์€ OpenMMLab ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์œ„ํ•œ ์ฐจ์„ธ๋Œ€ ํ•™์Šต ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉฐ, OpenMMLab ๋‚ด 30๊ฐœ ์ด์ƒ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด ํ†ตํ•ฉ๋œ ์‹คํ–‰ ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•œ๋‹ค. Moduleโ–ถ ํ•ต์‹ฌ ๋ชจ๋“ˆRunner: ํ•™์Šต, ํ…Œ์ŠคํŠธ ๋ฐ ์ถ”๋ก  ์ž‘์—…์„ ์‹คํ–‰ํ•˜๊ณ  ์ด ๊ณผ์ •์—์„œ ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.Dataset: ํ•™์Šต, ํ…Œ์ŠคํŠธ ๋ฐ ์ถ”๋ก  ์ž‘์—…์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ๋ชจ๋ธ์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต๊ธ‰ํ•œ๋‹ค.Model: ํ•™์Šต ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ์†์‹ค์„ ์ถœ๋ ฅํ•˜๊ณ , ํ…Œ์ŠคํŠธ ๋ฐ ์ถ”๋ก  ์ž‘์—…์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.Optimi.. 2024. 6. 21.
MMCV ์ดํ•ดํ•˜๊ธฐ: High-quality Implementation of Common CUDA Ops โ€ป MMCV๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค:Data Processmmcv.imagemmcv.videoVisualizationmmcv.visualizationData Transformationmmcv.transformsVarious CNN Architecturesmmcv.cnnHigh-quality Implementation of Common CUDA Opsmmcv.ops mmcv.ops: We implement common ops used in detection, segmentation, etc.  https://mmcv.readthedocs.io/en/latest/api/ops.htmlhttps://mmcv.readthedocs.io/en/latest/understand_mmcv/ops.html 2024. 6. 21.
MMCV ์ดํ•ดํ•˜๊ธฐ: Various CNN Architectures โ€ป MMCV๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค:Data Processmmcv.imagemmcv.videoVisualizationmmcv.visualizationData Transformationmmcv.transformsVarious CNN Architecturesmmcv.cnnHigh-quality Implementation of Common CUDA Opsmmcv.ops mmcv.cnnMMCV๋Š” OpenMMLab ํ”„๋กœ์ ํŠธ์˜ ํ•œ ๋ถ€๋ถ„์œผ๋กœ, ์ปดํ“จํ„ฐ ๋น„์ „ ์ž‘์—…์„ ์œ„ํ•œ ์ข…ํ•ฉ์ ์ธ ํˆดํ‚ท์ด๋‹ค.MMCV๋Š” CNN(Convolutional Neural Networks)์„ ๊ตฌ์„ฑํ•˜๊ณ  ํ›ˆ๋ จ์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋„๊ตฌ์™€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. Layer building: MMCV์—์„œ๋Š” ๋‹ค์–‘ํ•œ ๋ ˆ์ด์–ด๋ฅผ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋นŒ๋”ฉ ๋ธ”๋ก์„ ์ œ๊ณตํ•œ.. 2024. 6. 21.
MMCV ์ดํ•ดํ•˜๊ธฐ: Data Transformation โ€ป MMCV๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค:Data Processmmcv.imagemmcv.videoVisualizationmmcv.visualizationData Transformationmmcv.transformsVarious CNN Architecturesmmcv.cnnHigh-quality Implementation of Common CUDA Opsmmcv.ops mmcv.transforms๋ฐ์ดํ„ฐ ๋ณ€ํ™˜(data transformation)์€ ๋จธ์‹ ๋Ÿฌ๋‹๊ณผ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ํ›ˆ๋ จ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ค€๋น„ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ๋‹จ๊ณ„์ด๋‹ค. ์ด ๊ณผ์ •์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋”ฉ, ์ „์ฒ˜๋ฆฌ, ์ฆ๊ฐ• ๋ฐ ํฌ๋งทํŒ…ํ•˜๋Š” ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ํฌํ•จํ•œ๋‹ค.๋ฐ์ดํ„ฐ ๋ณ€ํ™˜(data transformation)์˜ ์ฃผ์š” ๋ชฉํ‘œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋ธ์ด ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ.. 2024. 6. 21.
MMCV ์ดํ•ดํ•˜๊ธฐ: Visualization โ€ป MMCV๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค:Data Processmmcv.imagemmcv.videoVisualizationmmcv.visualizationData Transformationmmcv.transformsVarious CNN Architecturesmmcv.cnnHigh-quality Implementation of Common CUDA Opsmmcv.ops mmcv.visualizationImageimshowShow an imageimshow_bboxesDraw bboxes on an image.imshow_det_bboxesDraw bboxes and class labels (with scores) on an image# show an image filemmcv.imshow('a.jpg')#.. 2024. 6. 21.
MMCV ์ดํ•ดํ•˜๊ธฐ: Data Process โ€ป MMCV๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค:Data Processmmcv.imagemmcv.videoVisualizationmmcv.visualizationData Transformationmmcv.transformsVarious CNN Architecturesmmcv.cnnHigh-quality Implementation of Common CUDA Opsmmcv.ops mmcv.imageI/O(Input/Output)โ–ถ Read/WriteimreadRead an image.imwriteWrite image to file.import mmcvimg = mmcv.imread('test.jpg') # imread: ์ฝ๊ธฐmmcv.imwrite(img, 'out.jpg') # imwrite: ์“ฐ๊ธฐ imfrom.. 2024. 6. 21.