'데이터 엔지니어'로 성장하기

정리하는 걸 좋아하고, 남이 읽으면 더 좋아함

AI 13

Vision-AI) coco dataset을 mask로 변환하기_coco2mask

이전 포스팅에서는 mask를 coco dataset으로 변환했습니다.https://mightytedkim.tistory.com/215 Vision-AI) mask 이미지 coco datset으로 변환하기_mask2cocococo 이미지를 mask로 변환하는 법이 있다면, 그 반대도 있겠죠. 이번에는 mask 이미지를 이용해서 coco datset을 만들어보겠습니다.실행하고 나면 파일이 생성된 것을 확인할 수 있습니다.사용한 변mightytedkim.tistory.com 이번에는 반대로 mask를 coco로 변환해보겠습니다. 이제 확인해봐야겠죠.이전 포스팅에서 mask와 coco를 시가화하는 글을 썼는데 이걸 이용해볼게요1. https://mightytedkim.tistory.com/212 Vision-A..

AI/Vision 2024.05.08

Vision-AI) mask 이미지 coco datset으로 변환하기_mask2coco

coco 이미지를 mask로 변환하는 법이 있다면, 그 반대도 있겠죠. 이번에는 mask 이미지를 이용해서 coco datset을 만들어보겠습니다.실행하고 나면 파일이 생성된 것을 확인할 수 있습니다.사용한 변수는 아래와 같습니다여기서 주의할 점은 pixel 0의 경우 일반적으로 category_list에서 unlabeled 가 없는 값을 넣어줍니다.만약 넣으면 json 파일이 기가 단위로 나올 수 있어요. 잘 생성되었는지 확인해봐야겠죠?전에 포스팅했던 글의 class를 써보도록 하겠습니다.잘 나오는 것을 확인했습니다 :)https://mightytedkim.tistory.com/212  Vision-AI) coco dataset 시각화 하기 (코드 포함)coco dataset을 시각화하는데는 많은 방법..

AI/Vision 2024.05.08

Vision-AI) prediction mask 시각화하기 (train용 mask와 class별로 비교)

이전 포스팅에서는 학습 전 mask를 확인하는 코드를 소개했어요https://mightytedkim.tistory.com/213 Vision-AI) Mask 정리해서 시각화하기(one-hot, show_channel)semantic segmentation에서mask가 제대로 만들어졌는지 궁금할 때가 있어요. 이걸 위해서 MaskViewer라는 class를 만들었어요. 원본 이미지와 mask 이미지만 보려고 할때는 아래처럼 show_channeld=False를 입력mightytedkim.tistory.com 이번에는 prediction도 함께 비교하는 코드를 소개하려고 해요 이전 포스팅에서의 MaskViewer를 사용해도, prediction mask를 똑같이 볼 수 있어요 하지만 어떤 class가 매칭이..

AI/Vision 2024.05.08

Vision-AI) Mask 정리해서 시각화하기(one-hot, show_channel)

semantic segmentation에서mask가 제대로 만들어졌는지 궁금할 때가 있어요. 이걸 위해서 MaskViewer라는 class를 만들었어요. 원본 이미지와 mask 이미지만 보려고 할때는 아래처럼 show_channeld=False를 입력하면 됩니다. 채널 별로 보고 싶으면 show_channels=True를 입력하면 되요 코드는 아래와 같습니다.class MaskViewer: def __init__(self, input_img_dir, input_mask_dir, cat_names):#cat_names self.input_img_dir = input_img_dir self.input_mask_dir = input_mask_dir self.cat_n..

AI/Vision 2024.05.08

Vision-AI) coco dataset 시각화 하기 (코드 포함)

coco dataset을 시각화하는데는 많은 방법이 있습니다이번 포스팅에서는 소개하려고 합니다. 예상 독자는 아래와 같습니다1. coco datset 테스트가 필요하신 분2. 바로 사용할 수 있는 정리된 class가 필요하신 분 목차는 아래와 같습니다.1. matplotlib 사용 pycoco도 많이 사용하시는데, 저는 불편하더라고요. id값이 int가 아니면 오류를 뱉는다던가 제약들이 있어가지고.그래서 제가 편하게 사용하려고 아래 코드를 만들었습니다.import osimport jsonimport cv2import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.patches import Polygonfrom collections import Co..

AI/Vision 2024.05.08

데이터 잡부의 MLOps도전기 (4) - 모델 배포를 위해 FaaS를 실행해보자_Nuclio

Model의 동적 배포를 위해서, FaaS를 도입한 이야기를 정리하는 중입니다.nuclio 기본 개념을 더 설명해야할 것 같아서 이번 글은 기초를 설명합니다 글의 구조는 아래와 같습니다.Nuclio 설치 방법Nuclio 실행 방법 - python hello worldNuclio 실행 방법 - vision - facebook (Segmenation Anyting Model)글의 타깃 독자는 아래와 같습니다.Nuclio 설치가 궁금하신 분Nuclio hello world가  궁금하신 분지난 포스팅에서는 아래 3가지를 적었고Vision MLOps 프로젝트 투입: https://mightytedkim.tistory.com/205라벨링 툴로 CVAT을 선택한 이유: https://mightytedkim.tisto..

AI/MLOps 2024.04.28

AI-Vision) 데이터 엔지니어 AI 도전기 (1)_Semantic Segmentation #Unet #Instance와 차이

처음 Vision Model을 공부하다가, Yolo를 보면서 쉬워 보여 무시했는데Unet을 하면서 당황했던 경험을 정리했습니다 ( 이 글은 모델의 원리보다는 사용에 초점을 맞춥니다. ) .예상 독자는 아래와 같습니다.YOLO 말고 다른 Vision Model을 쓰시려는 분Semantic Segmentation을 처음 시작하는 분Unet을 처음부터 떠먹여 줄 글을 찾는 분.목차는 아래와 같습니다Semantic이란 무엇인가요? (Instance와 비교)데이터셋 구조는 어떻게 되나요? (Original & mask)Prediction은 어떻게 나오나요? (Binary vs Multi-class).제 목표는 아래와 같습니다.이 글을 끝까지 읽으면, 아래 그림이 무엇을 뜻하는..

AI/Vision 2024.04.14

데이터 잡부의 MLOps도전기 (3) - 모델 배포를 위해 FaaS를 도입해보자 #Nuclio

Model의 동적 배포를 위해서, FaaS를 도입한 이야기를 적어봤습니다. 글의 구조는 아래와 같습니다.Nuclio가 무엇인가요?왜 굳이 Nuclio인가요?CVAT과 어떻게 연동을 하나요?.글의 타깃 독자는 아래와 같습니다.Nuclio(FaaS)에 대해 궁금하신 분Vision ML 인퍼런싱을 고려하는 분CVAT을 사용하시는 분지난 포스팅에서는 아래 2가지를 적었고Vision MLOps 프로젝트 투입: https://mightytedkim.tistory.com/205라벨링 툴로 CVAT을 선택한 이유: https://mightytedkim.tistory.com/206이번에는 `동적 모델링`을 위해 ‘FaaS’인 ‘Nuclio’를 도입한 내용을 적었어요.1. Nuclio가..

AI/MLOps 2024.03.31

데이터 잡부의 MLOps도전기 (2) - 라벨링 툴로 CVAT을 선택한 이유 #VISION

라벨링 툴로 왜 CVAT을 선택했는지 정리했습니다 :) 글의 구조는 아래와 같습니다.CVAT이 뭐에요?선택한 이유는 뭐에요?아쉬운 점은 뭐에요?. 글의 타깃 독자는 아래와 같습니다.Labeling 툴 도입을 고민하시는 분CVAT을 사용하시는 분CVAT 도입을 고민하시는 분. 지난 포스팅에서는 Vision MLOps 프로젝트에 투입된 배경에 대해서 정리했어요 https://mightytedkim.tistory.com/205 데이터 잡부의 도전기 #Vision#CVAT#Nuclio23년 하반기는 힘들었지만 재미있었어요. 새로운 분야를 접했거든요 '데이터 잡부'의 도전에 대해 정리하려 합니다 :) 글의 구조는 아래와 같습니다. 원래 하던 업무 (pipeline) 제안받은 업무 (MLops)mightytedki..

AI/MLOps 2024.01.21

데이터 잡부의 MLOps도전기 (1) #이미지 불량탐지

23년 하반기는 힘들었지만 재미있었어요. 새로운 분야를 접했거든요 '데이터 잡부'의 도전에 대해 정리하려 합니다 :) 글의 구조는 아래와 같습니다. 원래 하던 업무 (pipeline) 제안받은 업무 (MLops) 수락하게 된 이유 . 글의 타깃 독자는 아래와 같습니다. MLops/AI 분야 병아리를 구경 온 선배님들 이제 MLops/AI 분야를 들어오려는 동지들 폐쇄망에서 어찌 진행했는지 궁금한 엔지니어들 . 자 이제 들어갑니다. 1. 원래 하던 업무 (pipeline) 폐쇄망에서, 해외 공장들의 data를 실시간으로 수집하는 pipeline 구축 #kafka, nifi, airflow, K8s, Ceph 기존에는 파이프라인 구축 업무를 했어요 처음 2년은 재미있었는데, 시간이 지나면서 매너리즘에 빠졌어..

AI/MLOps 2024.01.07