ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • #18 : KT_AIVLE_SCHOOL : DX_4th : 미니 프로젝트 4차
    KT_AIVLE_SCHOOL_DX_4th 2023. 10. 29. 21:43

     

    시각지능과, 언어지능  2두번의 세션이 끝나고 이번에도 어김없이 찾아온 그 이름

    미니 프로젝트 시간이 돌아왔다. 

    이번 미니 프로젝트는 총 5일 이었고,

    마찮가지로  저번처럼 두가지로 진행되었다

    • 언어지능 미니 프로젝트 2일
    • 시각지능 미니 프로젝트 3일

    언어지능은 최용배 코치님이

    시각지능은 김범수 kT_에이블스쿨 코칭 팀장님이 담당해주셨다. 


    이번 미니 프로젝트에는 또 새로운 팀원들과 함꼐했는데, 이번에도 아쉽게도 대면은 못했다.

    벌써 2개째 다들 모니터 속에 같혀있는데,

    아마 나랑 조가 되셨던 분들의 휴식 쿨타임이 차서 그런것 같다고 여기기로 했다. 

    모임에 들어갈 타이밍이 부족했어서 그런지, 이미 사람들끼리 친해진 것이 보이는 데,

    나는 아직 얼굴도 못봐서 서운 아쉽기는 했다.

    그래도 다음 미니프로젝트5차 팀과는 대면으로 진행하기로 했다.

     

    다시 프로젝트 이야기를 하자면, 확실히 기술이 늘어 갈 수록 재밌어지는 부분들이 생긴다. 


    1. 딥러닝 언어지능 

    언어지능 미니프로젝트는 총 2일 진행했고, 마무리는 PPT 제출도 있었다.

    흠흠, 확실히 코치님들이 롤플레이에 재미를 붙이신 것 같다.

    이번에는 한 50년후까지 에이블스쿨이 운영되는 듯하다

    왜냐하면, 내가 에이블스쿨 99기(?) 튜터가 되어서  수강생들의 문의를 자동 분류하는 모델링을 짜게 되었다.

    와우...  50년 후에도 나 은퇴 못 해??? 

     

    하여튼, 이번에는  1:1 문의 AI 자동 분류 모델을 만든다.

    즉, 자연어 처리(NLP) + 딥러닝 분류모델 만들기를 하는 미니 프로젝트이다. 

     

    자연어 처리에서도 전처리 단계가 중요한 것 같다.

    한 조원이 제공해준 사진을 보면,

     

    이씨가 제공해줬던 사진

     

    기존의, 정제 전의 워드클라우드 에서는  = , #, 등의 의미없는 문자들이 꽤 두드러지 게 보였다. 

    그러나 클렌징 이후에는 훨씬 더 코드에 적합한 문자들이 잘 보인다. 

    이런식으로 전처리를 한 이후에는, 6가지 문의 유형으로 분류를 해서 

    최종적으로는  이렇게 분류를 했고 

    우리 조의 MVP 서씨가 제공해준 사진

     

    이번 프로젝트에도 조금 나댈뻔(?)했던 내가

    PPT에 전체적으로 쓰면서,  최종 취합하여 조원들에게 뿌렸다 읏챠~~

     

    언어지능도 그럭저럭 재밌었지만,

    시각적으로 이펙트가 있는 걸 선호했던 나는 다음 3일동안이 휠 재미있었다.


    2.딥러닝 시각지능

     

    김범수 팀장님은 역시 코치님들의 리더시라 그런지 더욱 매끄럽게 진행을 해주셨고,

    사실  지난번 시각지능 세션에서  Yolo 1도 모르겠었는데

    이번기회에 한 80퍼는 기억에 남길 수 있게 되어 참 감사하다는 말을 여기에서 전해드린다. 코쓱모쓱

     

    DAY1

    1일차 openCV을 활용해서 데이테 셋을 모으기(2일차에 사용)

    첫날에는 안전모 영상 & CCTV 영상에서 객체 탐지를 하기 위한 전단계로써, 영상 -> 이미지로 바꾸는 작업을 했다.

    roboflow.universe

     

    낱개로 나누어진 이미지들_산출이미지

    마찮가지로 CCTV 영상도 이런 식으로 하나씩 이미지화 시켜서 저장했다.

     


    DAY2

    2일차 yolo V5 버전 사용해보기 

    어제 동영상을 변환한 이미지들로  

    • 기존 roboflow에 공유된  모델로  안전모 탐지하기 (연습)
    • 기존 roboflow에 공유된  모델로 실제 CCTV 영상 차량 분류하기 (연습) 

    을 시도 해보았다. 

    최종 산출 이미지

    이렇게 잘 탐지되는 것을 볼 수 있었다.

     

    한편, CCTV영상을 보면서 나는 갑자기 혹시 게임에서도 객체 탐지를 할 수있을까라는 의문이 들었고,

    조원들에게 카트라이더/ GTA 분석도 재밌겠다고 의견을 냈고,

    그럼 영상을 어디서 가져올까 고민하다가 

     유튜브에서 긁어 오기로 결심했다. 

     

    영상은 MP4로 변환이 필요했고,  쇼츠나/ 클립을 받아오고 싶었지만 그건 실패했어서 (시간도 더 없었고..)

    영상을 다운받고 필요한 부분만 따로 컴터로 영상을 잘라서 사용했다.

    혹시몰라서 코랩에서 유튜브 -> mp4로  변환하기 다운받기 코드 첨부해서 공유한다. 

    #유튜브 받아오기
    !pip install pytube
    from pytube import YouTube
    
    #함수 생성
    def download_video(video_url):
        yt = YouTube(video_url)
        yt.streams.filter(res='720p', file_extension='mp4').first().download() #화질설정
    
    if __name__ == '__main__':
        video_url = '유튜브url자리'
        download_video(video_url)

    그래서 시도해본, GTA 5 공식 영상

    1) 기존  에이블 스쿨에서 제공된 모델(이하 EXP)로 시도

    GTA 5공식 트레일러 영상 일부활용_산출물

    큰 물체는 잘 탐지하지만 작은 물체는 탐지 조차 하지 않는다. 

    GTA 5공식 트레일러 영상 일부활용_산출물

     

    2) MVP 조원이 찾아온 모델(Venom)로 시도 

    mvp조원은.. 정말 잘 해주셨고, 특히 CCTV 분석에서는 성능이 엄청 좋았다. 

    CCTV에서는 차량들이 특히 작게 표시되어서 기존 제공된  EXP모델로는 어려움이 있던 차였다.

    일단 조원님께 감사의 인사를 

    GTA 5공식 트레일러 영상 일부활용_산출물

    보는 것처럼 작은것도 잘 탐지했지만, 반대로  큰 물체는 탐지가 어려웠다.

     

    GTA 5공식 트레일러 영상 일부활용_산출물


    DAY3 

    3일차 roboflow에서 라벨링하기 & 객체탐지 성능

    우리조가 만든 학습용자료 + 모델로  실제 CCTV 영상  차량 분류하기 

     

    나는 사실 노가다를 좋아한다.

    이유는 집중하기 좋기 때문이다.

    그래서  2000 피스 퍼즐도, 백색지옥 퍼즐도, 보석비즈도, 여러가지 공예품만들기도 꽤 괜찮게 한다.

    그리고 오늘 했던 일은 roboflow에서 프로젝트를 생성하고, 조원들끼리 이미지 약 130개에 라벨링을 하는 작업이었다

    한마디로 노가다. 

    이렇게 하나식 박스를 그려가면 된다. ㅎㅎ

    roboflow에 생성된 프로젝트에서 어노테이션 진행

     

    그리고 성능테스트는 roboflow에서도 해준다

    버전 3번째

     

    버전 3번째 일떄까지는 130개의 학습데이터에 

    클래스는 bike, car, truck, bus가 있었다.

     

    그리고 내가 어제 제안했던?? 혼자서 급발진했던 GTA를 보강하기 위해서 

    나는 오늘은 다양한 학습데이터들을 합치자고 제안했고 그렇게 탄생한  Ver4번

    조원이 가져온 라벨링된 이미지 데이터(bike & truck)과 EXP 모델과 Venom모델를 합치게 되었다.

    결과는 이러했다.

    다만 내가 뽑아냈던 결과는 학습 epochs가 높지는 않았고, bike에 대한 인식이 낮았던 이유는  컨피던스를 0.5로 설정했기때문인것 같다. 

     

    약간의 성공이라면, 

    확실히 어제 각자 따로 였던 학습데이터/ 모델을 합치니까  (EXP + venom)

    GTA 영상에서도  작은 것/ 큰것 탐지를 잘 했다.

    GTA 5공식 트레일러 영상 일부활용_산출물
    GTA 5공식 트레일러 영상 일부활용_산출물

     

    그러나 사진처럼 헬기...ㅋㅋㅋㅋㅋㅋ 는 클래스에 따로 없기도 했고, 학습 이미지 데이터 자체에도 없었는데도 박스가 쳐진게 웃기기는 했다. 

    그래서  학습데이터 셋이 부족한 것 같다고 생각되었다. 모델링 학습보다는 우선 학습데이터가 중요하다고 결론 지었다. 

    그래도 나는 일단 만족했다. 왜냐하면 어제의 수업을 끝내고 오늘의 목표가 작은 것과  큰것 둘다 탐지였기 때문이다

     

    아 그리고 ver4번은 지금 Summary 다시 보니까 생각보다 성능 괜찮게 나왔던 것 같다. bike는 .. 아니지만.ㅎ

     

    그리고 그냥 PPT도 만들어서 (완전 흰 바탕에 글짜만 덜렁 있는걸로 ㅎㅎ) 또 배포했다.

    전체 발표는 안했지만, 갖고 있어서 나쁠건 없으니까..

     


    끝으로

    후.. 그만 나대야 하는데, 나도 모르게 살짝 선을 넘었다.

    할 일을 다했으면, 그냥 가만히 있어야지... 도와준다고 설치면 안되는 것을 나중에 상기했다.

    그떄는 조금 생각이  단순하고 짧았던 것 같아서, 

    또 기다리는 것도 하나의 배려와 이해의 영역인 것을 잊어서 미안했다는 것을 전해드리고 싶다. 

    나도 무지렁이인데, 더 조심스러운 언행을 하는 사람이 되어야 겠다고... 생각한다. 

     

Designed by Tistory.