전체 글 70

[ORC] EAST

EAST 모델 bounding box 좌표를 맞추는 것을 Regression 모델로 접근한 모델. FCN을 변형한 구조로 각 픽셀이 단어 영역 내에 있을 확률인 score map, 각 단어 box를 추정 후 픽셀과 box 4개 변 사이의 거리를 의미하는 거리 정보, box가 회전한 각도 정보 등을 출력하고 이를 선형결합한 형태의 loss를 활용해 학습한다. U-Net의 모양과 비슷한 FCN을 사용해 Conv채널을 증가시키며 이미지를 축소시키는 Encode과정을 거치고, 1/32로 축소한 Feature map을 생성한다. 이후 Decode 과정에서 이미지 사이즈를 키우며 복원하는데, 앞에서 생성된 Feature map들에 대해 Concat를 진행하며 글자가 있는 위치를 더 잘 확인하게 한다. 이후 최종적으..

[Object Detection] MMDetection

대회 초반 사용했던 라이브러리. config 파일 형식으로 파이썬 스크립트로 구성된 프로젝트인데, 생소했지만 실제로 연구소나 현업에서 딥러닝 프로젝트는 대부분 config 파일의 형식으로 이루어진다고 한다. https://github.com/open-mmlab/mmdetection GitHub - open-mmlab/mmdetection: OpenMMLab Detection Toolbox and Benchmark OpenMMLab Detection Toolbox and Benchmark. Contribute to open-mmlab/mmdetection development by creating an account on GitHub. github.com open-mmlab의 mmdetection 공식 레..

카테고리 없음 2023.05.20

[Object Detection] mAP

이번 대회의 평가 지표는 mAP였다. 점수에 집착할 것이라면 어떤 점수에 집착하는지라도 알고 해야하지 않을까 싶어서 정리한다. Confusion Matrix Confusion Matrix는 머신러닝에서도 쓰이고, 여러 자격증을 준비하면서도 항상 나왔던 단골 손님이다. 하지만 한 번 공부를 할때마다 까먹기도 하고 늘 기억이 잘 안난다. TP : 예측 값이 True이면서 실제 값 역시 True인 경우 (True Positive) FP : 예측 값이 True이면서 실제 값은 False인 경우 (False Positive) TN : 예측 값이 False이면서 실제 값 역시 False인 경우 (True Negative) FN : 예측 값이 False이면서 실제 값은 True인 경우 (False Negative) ..

[Object Detection] Faster R-CNN

지난 포스팅 Object Detection에서 다뤘던 내용이지만, Faster R-CNN은 추가로 과제도 있고 2 - stage detector에서 끝이라고 할 수 있는 모델이기에 보다 더 자세히 다루고 넘어가기로 했다. 그 전 모델인 R-CNN, Fast R-CNN의 한계에 대해 간단히 짚고 넘어가자. 다음과 같이 Faster R-CNN모델은 비로소 End-to end 모델이며, RPN을 따로 neck으로 사용하는 모델임을 알 수 있다. 위 그림은 Faster R-CNN의 전반적인 구조로, 이미지를 CNN에 넣어 이 연산을 한 번만 사용 후, feature map을 추출하는 과정은 Fast R-CNN과 같다. 하지만 Region proposal 단계에서 기존의 selective search 대신 Reg..

[AI 서비스 기초] Docker

가상화란? 개발할 때, 서비스 운영에 사용되는 서버에 직접 들어가 개발하지 않고 Local 환경에서 개발하여 완료 후 배포하는 것. 개발을 진행한 Local 환경과 Production 서버의 환경이 다르고, 같은 OS를 사용하더라도 환경 변수에 따라 작동하지 않을 수 있음. 따라서 이런 상황에서 서버 환경까지도 모두 한번에 소프트웨어화 하기 위한 방법이 가상화이다. 특정 소프트웨어 환경을 만들고 Local, Production 서버에서 그대로 활용한다. - 개발과 운영 서버의 환경 불일치가 해소됌 - 어느 환경에서나 동일한 환경으로 프로그램을 실행할 수 있음 - 개발 외에 Research도 동일한 환경을 사용할 수 있음 Docker Container : Docker의 등장 이전, VM(Virtual Ma..

[AI 서비스 기초] Linux

Linux? 서버에서 자주 사용하는 OS이며 여러 버전이 존재한다. 또한 안전성, 신뢰성이 높으며 쉘 커맨드, 쉘 스크립트를 통한 작업이 가능하다. CLI를 사용한다. CLI Command-Line Interface로 글자를 입력하여 컴퓨터에 명령을 내리는 방식. Shell Command 서버에서 접속해 사용할 때, Linux의 내장 기능을 활용하거나 데이터 전처리, Docker사용 등 여러 상황에서 shell command를 사용한다. 가장 유명한 shell commands ls list files and directories : 어떤 파일이나 폴더가 존재하는지 알 수 있다. ls 사용 : 현재 폴더 기준으로 실행, 폴더를 작성하면 폴더 기준으로 실행 -a : .으로 시작하는 파일, 폴더를 포함한 전체..

[AI 서비스 기초] 파이썬 버전 관리

버전과 버저닝 소프트웨어에 Unique한 버전 이름, 버전 번호를 할당하는 과정. 다양한 버전을 관리하고 식별하기 위해 사용한다. CalVer (Calendar Versioning) 날짜 기반 시스템을 통한 버전 번호 할당 방법. 버전 번호를 연도와 월로 구성한다. 이해하기 쉬우며 날짜 기반으로 출시 시기를 예측하기 쉽다. ex) Ubuntu 20.04 SemVer (Semantic Versioning) 마침표로 구분한 주 번호, 부 번호, 패치 번호로 구성 이전 버전과 호환되지 않는 변경사항이 있으면 주 번호를 증가시킴 이전 버전과 호환되며 새로운 기능이 추가되면 부 번호를 증가시킴 이전 버전의 버그 수정이 진행되면 패치 번호가 증가됌. ex) Python 3.11.0, 메이플스토리 릴리즈 V.1.2...

Progressive GAN (PGGAN)

Abstract 기존의 GAN 모델에서 generator, discriminator를 점진적으로 학습시키는 방법론을 제안했다고 한다. 이 방법은 저화질의 데이터에서 고화질의 데이터로 해상도를 점진적으로 늘렸다고 한다. 이렇게 됨으로서 generator와 discriminator 사이의 unhealthy한 경쟁을 줄임으로서 학습이 잘 되게 만들고, GAN으로 생성된 이미지가 더 좋은 화질의 결과를 만들 수 있게 했다고 한다. Introduction Introduction에서는 기존 생성 모델에 대한 한계점을 나열했다. Autoregressive model -PixelCNN의 경우 선명한 이미지를 생성하지만 지나치게 이 과정이 느리고, VAE의 경우 학습이 쉽지만 모델에 있는 제약 때문에 blur가 많은 이..

7주차 회고

Wrap-up report의 개인 회고와 동일. 개인적인 감상 모든게 낯설었다 팀에게 도움이 되지 못하고 있는 것 같아 조급한 순간이 많았다. 다음에는 이것보다 무조건 잘해야지 하는 생각을 많이 했다. 주도적으로 내가 할 일을 찾아나가는 것이 중요하다는 생각을 했다. 체계적으로 내 실험에 대한 관리를 해야겠다고 느꼈다. 나는 내 학습 목표를 달성하기 위해 무엇을 어떻게 했는가? 낯선 환경에서 최대한 팀과 비슷한 환경을 맞추고, 베이스 라인 코드에 대한 이해를 기반으로 천천히 건드려보려고 최대한 노력했다. 내가 맡은 역할인 모델 별 비교를 하기 위해 다양한 모델에 대한 이론을 정리하고, 코드에 사용하는 모델과 loss등에 대한 공부를 진행해 ‘알고 쓰자’ 의 마인드로 접근했다. 팀에게 도움이 되지 못해도 ..