전체 글 63

Yolo V5 Gridmask Augmentation

Cutout augmentation에 이어서 Gridmask를 적용하는 것도 진행을 하였습니다. Cutout은 코드가 적용되어 있는데에 반해 Gridmask는 따로 없어서 Github에서 긁어서 진행하였구요. https://github.com/dvlab-research/GridMask GitHub - dvlab-research/GridMask Contribute to dvlab-research/GridMask development by creating an account on GitHub. github.com gridmask를 구현하는 python파일은 gridmask 파일 중 data/transform/grid.py에 구현되어 있습니다. 기존에 yolo에서 진행하는 Augmentation에서 datal..

Deep Learning 2024.02.07

Yolo V5 cutout Augmentation

Yolo V5 Training 과정에 Cutout기법을 추가하는 과정을 진행했는데, Cutout 코드가 미리 구성이 되어 있어서 편하게 진행했습니다. 그래서 이 부분에서 간단히 dataloader와 yaml파일의 수정을 통해 augmentation을 유도하였습니다. 대부분이 주어져 있으니 참고 정도가 되면 좋겠습니다. 우선, augment과정이 기본적으로 어떻게 되어있는지 확인을 하면 좋습니다. Train파일에서 augment 변수가 True로 되어있고, 해당 부분을 따라가면 됩니다. 그래서 create_dataloader()부분을 찾으면 되고 , 따로 Dataloader.py라는 파일안에 들어있습니다. 여기까지 왔으면 LoadimagesAndLabel부분에서 augmentation이 진행됨을 예측해볼 ..

Deep Learning 2024.01.29

Paper Review: Speech2Face: Learning the Face behind a Voice(IEEE 2019)

Speech2Face에 대해 논문을 읽고 제가 이해한대로 정리하여 PPT로 만들어보았습니다. 이번 논문 또한 Multi-modal에 관한 논문인데 실험결과에 대한 얘기가 많고 Training이나 내부 pipeline에 대한 설명은 간단한 것 같았습니다. Transformer구조가 안들어가서 그런 것 같기도하고요. 목소리를 통해서 얼굴을 복원한다는것이 평소에 우리가 어떤 사람 목소리를 듣고 해당 사람의 얼굴을 떠올린다는 점에서 매커니즘이 비슷한거 같아 정말 '지능' 같다는 생각이 들었습니다.

Deep Learning 2024.01.29

Yolo V5 Validation.

아마 Yolo v5 학습 및 예측 마지막 편이 될거 같습니다. 이번 3일동안 제 환경에서 학습을 시켰고,, 원래 300회를 해야한다는데 100회를 하는 것으로 마무리 지었습니다. 학습하는 방법은 이전 게시글을 참고하면 됩니다. 학습시킨 결과로 최적화된 weight 파일과 (best.pt) 여러 그래프들, 학습하면서 예측한 사진들을 얻었습니다. 당연히 결과는 그냥.. label에 비하면 엄청 안좋은 수치입니다. 하지만 학습은 정상적으로 진행됨을 확인할 수 있었는게, 그래프를 보면 Loss도 올바른 방향으로 감소하고 mAP, precision, recall 모두 상승하는 모습을 볼 수 있습니다. 100회가 아닌 300회였다면 또 어떻게 나왔을지 궁금하네요. 300회였다면 overfitting이 있었을까요??..

Deep Learning 2024.01.15

Yolo V5 Training.

모든 데이터가 준비되었으니 Yolo v5을 학습시켜 보도록 합시다.. 이제 저같은 경우는 coco original set과 AdaIN set해서 2개의 Data를 Input해 학습시켜야했고, 두개를 Combine해서 Label과 사진들을 넣어주었습니다. image와 label내부는 이렇게 생겼구요. 이렇게 한 후 yaml파일을 하나 만들어 주었습니다. 저는 coco에서 customize한 것이기 때문에 coco.yaml을 참고하여 작성하였습니다. 이렇게 path와 test는 그냥 주석 처리하고, train과 val 부분만 경로 처리 해주었습니다. label에 대한 경로처리는 왜 없느냐, 저도 첨에 왜 없지 생각했었는데 코드 내부에서 경로대로 이루어진다고 합니다. 그래서 위에 설정된 경로가 중요한 것 같습..

Deep Learning 2024.01.12

AdaIN으로 생성한 Data의 이름과 json을 수정해보자!

앞서 말했듯이 이번 프로젝트로 진행중인 Yolo를 학습시키기 위해서 COCO Original Dataset과 AdaIN( https://github.com/xunhuang1995/AdaIN-style) 을 적용한 Dataset을 합쳐서 Training data로 사용하려고 하는데 AdaIN을 돌리면 파일명이 XXXXX-stlyized-XXXX.jpg 로 되어 있습니다...난감했던 부분,, 뒤에 XXXX가 Style Set의 무작위로 1개 찝어서 하기 때문에 모두 다르고, 이것들을 반영해 Json에 반영하기 보단 ,, 1. Dataset의 stylized-XXXX에서 XXXX를 지우자 2. Annotation의 Images[file names]에 -stylized를 붙여주자 로 비교적 간단하게 표기 하기로..

Deep Learning 2024.01.11

YOLO에 적용할 COCO Json을 txt로 바꾸자!

이번 프로젝트로 진행중인 Yolo를 학습시키기 위해서 COCO Dataset의 Annotation파일인 json을 txt로 바꾸는 과정이 필요했는데 어디 잘 밝혀진 곳들이 없는 것 같더라구요.. YOLO쪽에서 만들어놓은 JSON2YOLO도 README에는 어떻게 적용하는지 잘 안써져 있었고 아마 코딩 고수들은 보고 딱 알았을거같은데 전 아무리 python general_json2yolo.py 를 해도 실행이 안되더라구요.. 그래서 직접 import해서 사용했습니다. 먼저 https://github.com/ultralytics/JSON2YOLO 해당 링크에서 clone할 링크를 복사해주고 anaconda로 가상환경 하나 파준다음에 pip install -r requirements.txt 실행해 줍니다. 여..

Deep Learning 2024.01.10

Deep Learning project 요약: DeblurGAN with Object detection

학부 수업 중 진행한 프로젝트를 업로드 합니다. Project의 주제는 Transformer나 Generative model, transfer learning 들 중 하나를 Computer vision혹은 NLP에 적용하여 가장 기본적인 모델과의 차이를 보이는 것이었습니다. 저희가 정한 것은 GAN과 Faster R-CNN을 결합해보자! 였고, 꽤 오래 고민한 끝에 DeblurGAN이라는 method를 찾아내었습니다. 매우 드물지만, object detection은 흔들린 사진이나 초점이 안맞는 사진에서도 필요할 수 있다고 생각했고, 분명 해당 상황에서 모델의 성능은 낮을 것이라고 생각했습니다. 그래서 GAN을 이용해 사진들을 보정하여 object detection을 진행하여 성능 비교를 해보자고 프로젝..

Deep Learning 2024.01.10

MMdetection: Faster R-CNN 구현하기

Object detection중 가장 기본적으로 구현해 볼 수 있는 Faster R-CNN을 MM detection을 활용해서 구현해보았습니다. 이전에 MM detection은 안 적이 없었는데, 이번에 알게 되어서 뜯어보니 여러 모델들이 구성되어 있음을 확인할 수 있었습니다. Deep learning 학부 프로젝트에서도 덕분에 해당 방법을 사용했구요.. 익숙해지면 분명 여러 baseline을 통해서 다양한 실험을 할 수 있을 것 같아서 좋을 것 같습니다.. 언제 사용할지는 모르겠지만요. 이미지를 모두 출력하는 과정을 거치니 시간이 오래 걸렸는데, 해당 과정을 안나오게 하고 바로 저장되게끔 하니 시간이 15분 정도면 모두 되더라구요. mm detection에 자세히 나와있으니 해당 홈페이지 찾아서 모델 ..

Deep Learning 2024.01.10