전체 글
-
[Object Detection] NeckCS 공부/AI 2023. 5. 3. 23:42
Neck 이란? backbone과 head(검출이 이루어지는 실질적인 부분)를 이어주는 연결부 backbone의 각각의 stages에서 서로 다른 feature maps를 추출 Top-down 방식과 측면 연결을 통해서 기존의 convolutional network를 증강시킨다 이는 네트워크가 풍부하고 다양한 scale의 feature 층을 구성할 수 있도록 함 다양한 층 덕분에, 서로 다른 사이즈의 object 검출 가능 neck이 필요한 이유 다양한 크기의 객체를 더 잘 탐지하기 위해서 neck이 없으면 작은 사이즈의 객체 탐지 못함 다양한 Neck의 종류 FPN (Feature Pyramid Network) 대표적인 Neck high level에서 low level로 semantic 정보 전달해주는..
-
[Object Detection] MMDetection과 Detectron2CS 공부/AI 2023. 5. 3. 14:10
MMDetection Pytorch 기반의 object detection 오픈소스 라이브러리 Pipeline: input - backbone - neck - dense prediction - prediction 2 stage 모델은 backbone / neck / DenseHead / RoIHead 모듈로 나눌 수 있음 backbone: 입력 이미지를 feature map으로 변형 neck: backbone과 head를 연결, feature map 재구성 DenseHead: feature map의 dense location을 수행 RoIHead: RoI 특징을 입력으로 받아 box 분류, 좌표 회귀 등을 예측 각 모듈 단위로 config 파일을 통해 커스터마이징 Config File configs를 통해..
-
[Object Detection] 2 stage DetectorsCS 공부/AI 2023. 5. 3. 02:30
R-CNN Selective Search: 이미지를 무수히 많은 작은 영역으로 나눈 다음, 점차 통합해 나가는 형식 Pipeline 입력 이미지 1개 받기 Selective Search를 통해 약 2000의 RoI(후보영역)를 추출 RoI의 크기를 조절해 모두 동일한 사이즈로 변형 (CNN의 FC layer의 입력 사이즈가 고정이므로) RoI를 CNN에 넣어 feature를 추출 Pretained AlexNet 구조 활용 (FC layer 추가), Finetuning 진행 CNN을 통해 나온 feature를 SVM에 넣어 분류 진행 input: 2000x4096 features output: (C+1) + Confidence scores CNN을 통해 나온 feature를 regression을 통해 bo..
-
[Object Detection] OverviewCS 공부/AI 2023. 5. 2. 14:35
Object Detection 평가 방법 성능 mAP (mean average precision): 각 클래스당 AP의 평균 Confusion matrix: TP, FN, FP, TN에 대한 matrix Precision & Recall Precision = TP / (TP+FP) = 모든 Detection 중에 맞은 것의 비율 Recall = TP / (TP+FN) = 모든 Ground Truth(정답) 중에 맞은 것의 비율 PR curve: Precision & Recall curve, 누적 TP와 FP를 통해 Precision과 Recall 예측 x축은 Recall, y축은 Precision AP: PR curve의 아래 면적이 AP IOU: TP와 FP 판단 방법, Ground truth와 모델의..
-
StreamlitCS 공부/프론트엔드 2023. 4. 27. 17:09
Voila 장점: 노트북에서 쉽게 프로토타입을 만들 수 있음 단점: 대시보드처럼 레이아웃을 잡기 어려움 기존 코드를 조금만 수정해서 웹 서비스를 만드는 것이 목표 웹 서비스를 만드는 과정 데이터 분석가가 웹 서비스를 작업하는 Flow Jupyter notebook에서 코드 만들기 Python script에서 복붙 Flask app을 사용, HTTP 요청, callback, JS...등등 유지하기 힘들다 데이터 Product로 중요하게 된다면 프론트엔드/PM 조직과 협업 requirements 작성 웹 화면 Layout HTML, css, python, react 등으로 앱을 코드업한다. 수정이 힘들다 다른 조직의 도움 없이 빠르게 웹서비스를 만드는 방법: Streamlit! Streamlit의 대안 R의..
-
DockerCS 공부/잡다한 것들 2023. 4. 27. 02:27
가상화란? Local 환경에서 개발하고, 완료되면 Staging 서버, Production 서버에 배포 개발을 진행한 Local 환경과 Production 서버 환경이 다른 경우 또는 Local 환경과 서버가 같은 OS를 사용해도, 서버에서 올바르지 않게 작동할 수 있다. 운영하고 있는 서버가 100대라면 특정 서버의 업데이트가 진행되었다면 나머지 서버에도 접속해 업데이트 해야함 다양한 설정을 README 등에 기록하고, 항상 실행하도록 하는 방법 Research / Production 환경에서 공통적으로 사용하는 일종의 템플릿 특정 소프트웨어 환경을 만들고, Local, Production 서버에서 그대로 활용 Docker 등장 전 가상화 기술로 주로 VM(virtual machine) 사용 호스트 머..
-
Model ServingCS 공부/AI 2023. 4. 27. 02:18
Model Serving Serving: 머신러닝 모델을 개발하고, 현실 세계에서 사용할 수 있게 만드는 행위 (서비스화) Batch Serving: 많은 양의 데이터를 일정 주기로 서빙 Online Serving: 한번에 하나씩 실시간으로 서빙 클라이언트(모바일 기기, IoT 기기 등)에서 Edge Serving도 존재 Serving과 Inference 차이 Serving: 모델을 웹/앱 서비스에 배포하는 과정, 모델 활용 방식, 모델 서비스화 관점 Inference: 모델에 데이터가 제공되어 예측하는 경우, 모델 사용 관점 Online Serving 기본 용어 Client가 Serving 해주는 사람(Server)에게 Request 보내면 Server가 Client에게 Response 보냄 Web 서..
-
MLOps 개론CS 공부/AI 2023. 4. 27. 00:19
모델 개발 프로세스 문제 정의 - EDA - Feature Engineering - Train - Predict Research 고정된 데이터를 사용해 학습 환경에 모델을 배포 Production 웹, 앱 서비스에서 활용할 수 있게 함 모델에게 데이터를 제공하면서 예측 요청 모델의 결과 값이 이상한 경우 원인 파악 새로운 모델 성능이 더 안 좋다면 이전 모델을 다시 사용하기 위한 작업 필요 MLOps MLOps= ML (Machine Learning) + Ops(Operations) 머신러닝 모델을 운영하면서 반복적으로 필요한 업무를 자동화시키는 과정 목표 머신러닝 모델 개발/운영에서 사용되는 문제, 반복을 최소화하고 비즈니스 가치를 창출하는 것 빠른 시간 내에 적은 위험을 부담하며 모든 단계에서 ML ..