본문 바로가기

전체 글192

[AI 부트캠프] DAY 111 - 파이널 프로젝트 2 [오늘의 일지] 프로젝트 - Object Detection 공부 [상세 내용] Object Detection - object detection은 이전에 CV 트랙학습 때 공부한 적은 있었는데 좀 더 이론적인 측면에서 공부해봐야 할 것 같아서 공부하게 되었습니다. 그래서 오늘은 objec detection의 성능 지표인 IOU와 mAP 2가지에 대해서 알아보겠습니다. IOU - IOU(Intersection over Union)는 객체 감지(Object Detection) 및 세그멘테이션(Segmentation) 작업에서 모델의 성능을 측정하는 데 사용되는 중요한 평가 지표 중 하나입니다. IOU는 예측된 영역과 실제 영역 간의 겹치는 부분을 측정하는 데 도움이 됩니다. IOU= (예측 영역과 실제 영역의.. 2023. 12. 28.
[AI 부트캠프] DAY 110 - 파이널 프로젝트 1 [오늘의 일지] 프로젝트 - 개요 및 주제 [상세 내용] 개요 및 주제 개요 - 이번 부트캠프의 마지막 프로젝트가 시작되었습니다. 마지막 프로젝트는 기존에 트랙학습에서 배웠던 분야를 선택하거나 새롭게 원하는 분야를 선택해서 각각의 분야에 맞게 관련 주제를 특정 기업에서 가지고 와서 프로젝트를 진행하는 방식으로 이루어져 있습니다. 특정 기업에 대해서는 자세하게 언급은 안 할 예정이지만 제가 선택한 분야인 CV와 관련된 모델을 개발하고 배포하는 회사입니다. 아마도 기업에서 원하는 방향성이 존재할 것으로 예상이 됩니다. 주제 - 제가 CV를 선택한 했기 때문에 주제는 역시 CV와 관련이 있는 내용입니다. 더 자세하게 들어가자면 이미지 다중 분류에 가깝다고 할 수 있습니다. 이러한 이미지 다중 분류를 Objec.. 2023. 12. 27.
[AI 부트캠프] DAY 109 - CV 프로젝트 10 [오늘의 일지] 프로젝트 - 발표 및 최종 리뷰 [상세 내용] 발표 및 최종 리뷰 발표 자료 정리 - 우선 저희 조는 학습 결과 발표가 생각보다 늦어졌기 때문에 발표 자료를 준비하는 조원분이 마지막 날까지 고생했을 거라고 생각합니다. 이번 프로젝트에서 비디오 데이터를 다루는 그룹이 저희밖에 없었기도 했고 비디오 데이터를 다루는 과정은 수업 때 배우지 않았기 때문에 다른 조보다 준비 과정이 훨씬 길었다고 생각합니다. 특히 저는 비디오 데이터를 전처리 및 분석할 때 어떤 식으로 접근해야 할지 너무 막막해서 자료를 모두 하나씩 보면서 방향을 잡았는데 이 방법이 생각보다 원초적이었지만 다음 방향성을 잡는데 도움이 많이 되었던 것 같습니다. 이렇게 처음 시작 과정부터 타임라인 별로 어떤 어려움이 있었고 어떻게 해.. 2023. 12. 24.
[AI 부트캠프] DAY 108 - CV 프로젝트 9 [오늘의 일지] 프로젝트 - 최종 학습 후 결과 [상세 내용] 최종 학습 후 결과 - 어제 0.38의 결과를 얻은 뒤로 총 2가지 변화를 주면서 마지막까지 좋은 결과를 얻기 위해서 노력했습니다. 라벨링 수정하기 - 이번 프로젝트의 데이터를 분석하고 이상치를 찾고 수정하는 담당을 제가 하기로 했었기 때문에 이전에 영상을 하나씩 다 보면서 라벨이 이상하다고 생각했던 것들을 따로 체크해 두었고 라벨을 하드 코딩으로 수정해서 새로운 train 데이터를 만들었습니다. 수정해야 할 라벨을 약 100개 정도였습니다. relabels = { "TRAIN_1193": 5, "TRAIN_2654": 10, "TRAIN_2391": 10, "TRAIN_2626": 10, "TRAIN_2685": 10, "TRAIN_2571.. 2023. 12. 22.
[AI 부트캠프] DAY 107 - CV 프로젝트 8 [오늘의 일지] 프로젝트 - 모델 완성, 학습 결과 [상세 내용] 모델 완성 - 어제까지 1차 모델에서 머물러 있었던 모델이 어느 정도 막혔던 부분이 해결이 되면서 전체적으로 모델 학습을 거친 후에 결과를 지켜보게 되었습니다. 1차 모델 성능 저하 해결 - 1차 모델이 사고와 비사고를 분류하지 못했던 가장 큰 이유를 찾게 되었습니다. 이유는 비사고 데이터 없이 사고 데이터로만 학습을 해서 비사고와 사고 데이터가 섞여있는 test 데이터에서는 효과가 없었던 것으로 확인이 되었습니다. 기본 코드 형태 - 저희 조 모델의 큰 틀은 Efficientnet이었습니다. pre-trained 된 모델을 불러왔고 학습도 생각보다 잘 되는 것으로 보였습니다. # efficientnet architecture detail.. 2023. 12. 21.
[AI 부트캠프] DAY 106 - CV 프로젝트 7 [오늘의 일지] 프로젝트 - Conv3d 베이스라인 코드 [상세 내용] Conv3d 베이스라인 코드 - 우선 우리 조의 베이스라인 코드가 아직 완성이 안 된 관계로 저의 전처리가 효과가 있는지 알아보기 위해서 주최 측에서 제공하고 있는 Conv3d 베이스라인 코드에 적용시켜 보기로 했습니다. 기본 코드 형태 - Conv3d는 보통 비디오 같은 형태의 데이터에서 많이 사용한다고 합니다. 저희 조는 이미지를 추출해서 학습을 하기 때문에 Conv2d를 사용했습니다. class BaseModel(nn.Module): def __init__(self, num_classes=13): super(BaseModel, self).__init__() self.feature_extract = nn.Sequential( nn.. 2023. 12. 20.
[AI 부트캠프] DAY 105 - CV 프로젝트 6 [오늘의 일지] 프로젝트 - 전처리 결과 [상세 내용] 전처리 결과 사실상 실패 - 멘토링 상담 후에 저희 조는 조언을 받아들이고 1차적으로 사고 비사고를 분류할 수 있는 모델을 위해서 사고 장면만을 3 프레임 단위로 뽑아서 학습을 돌렸습니다. 결과적으로 기본점수보다도 더 안 좋은 결과를 얻게 되었습니다. 실패 요인 분석 - 지금까지 배운 내용에 의하면 1차 모델과 같이 이진 분류를 하기 위해서는 사고 장면뿐만 아니라 비사고 장면도 많이 포함되어 있어서 각각의 라벨을 확실하게 잡아주고 사고인지 비사고인지를 분류하는 것이 맞는 방향이라고 생각했다. 분명 멘토님과의 대화에서 잘못 이해한 부분이 있었기 때문에 이러한 결과가 초례한 것이 아닐까 생각했습니다. 다시 개선 방향 - 전체 사고 영상을 다시 보면서 3.. 2023. 12. 19.
[AI 부트캠프] DAY 104 - CV 프로젝트 5 [오늘의 일지] 프로젝트 - 학습을 위한 충돌 영상 분류 [상세 내용] 학습을 위한 충돌 영상 분류 작업의 목표 - 어제 1차적으로 전체 데이터에서 사고 데이터만 분류를 한 뒤에 나머지 사고 데이터만으로 다시 나머지 3개의 기준으로 멀티라벨링을 할 수 있는 모델을 구축하기로 계획이 되어있었습니다. 그렇기 때문에 첫 번째 모델이 사고와 비사고를 잘 분류시키기 위해서 따로 확실한 사고 장면만을 가지고 있는 이미지가 필요한 상황이 된 것입니다. 다시 사고 이미지 추출 - 제가 데이터의 전처리와 분석 담당이기 때문에 사고 장면만을 따로 추출해야 했습니다. 처음에는 그냥 영상의 마지막 5 프레임정도만 추출하면 대부분 뽑을 수 있겠다고 생각했지만 생각보다 기준이 없어서 다시 사고영상만을 하나씩 확인하는 과정을 하게.. 2023. 12. 16.
[AI 부트캠프] DAY 103 - CV 프로젝트 4 [오늘의 일지] 프로젝트 - 추출한 이미지 정제 및 기준 설정 [상세 내용] 추출한 이미지 정제 및 기준 설정 회의 정리 - 영상 데이터를 분석한 결과를 토대로 새로운 기준을 만들어서 모델이 학습하기 위해서 최적의 조건을 만들어 주는 작업을 해야겠다고 생각했습니다. 사고 장면 위한 구간 설정 - 제가 모든 영상을 보면서 분석한 결과 5초짜리 영상의 앞에 1초에서 2초까지는 사고 영상이든 사고 영상이 아니든 절대로 사고와 관련된 장면은 찾아볼 수 없었습니다. 그걸 기준으로 하여 처음에는 1.2초까지 삭제를 하고 나머지 뒤에 영상만 이미지화해서 사용하기로 했는데 멘토님과의 상담을 통해서 알게 된 것이 사고 영상으로 라벨링이 되어있는 영상이라면 이미지화된 부분이 사고 장면 비율이 높을수록 모델이 학습하기에 좋.. 2023. 12. 15.
[AI 부트캠프] DAY 102 - CV 프로젝트 3 [오늘의 일지] 프로젝트 - 영상 데이터 분석 결과 [상세 내용] 영상 데이터 분석 결과 - 제가 영상을 보면서 찾은 문제가 있는 영상은 약 200개 정도였습니다. 그중에서 진짜로 필요 없다고 생각되는 영상이 32개 정도로 우선적으로 이 영상들만 제거하기로 결정을 내렸습니다. 나머지는 지정된 라벨이 애매한 영상들이었는데 이 부분은 나중에 학습시킬 때 다시 수정하면서 성능이 높아지는 파악하기 위해 사용하기로 하고 남겨뒀습니다. 문제 영상 특징 - 제가 찾은 문제 상황에 대해서 간단하게 보여드리겠습니다. 아래의 예시와 같은 진짜 관련 없는 영상들만 1차적으로 이상치로 판단하여 제거하였습니다. 나머지 문제 영상 정의 - 나머지 영상들의 대부분은 라벨링이 애매하게 지정되어 있는 것들이 많았습니다. 예를 들면 주.. 2023. 12. 14.
반응형