SLOG의 뜻 : (시간이 오래 걸리는 힘든지루한 일을) 열심히[묵묵히] 하다 또는 힘겹게[묵묵히] 걷다[다니다]
SNS사용자의 데이터를 분석하여 autotag 프로그램 개발
1학기 프로젝트때 구현한 크롤러를 바탕으로 SNS에서 사진을 받아와서 학습시키고, YOLOv5를 이용해 object detection 기술을 활용하여 autotagging 을 고안합니다.
역할 | 이름 | Github ID |
---|---|---|
조장 | 이승훈 | 16SeungHun |
조원 | 정재호 | jaeho98 |
조원 | 윤성민 | newskyy135 |
조원 | 이지현 | ww42777 |
조원 | 김영호 | yeongho24 |
YOLO는 real time object detection에 사용되는 알고리즘입니다.
Okt, Mecab, Kkma, Komoran, Hannanum 의 성능을 비교하였습니다.
날짜 | 요약 |
---|---|
9/1 | 2학기 첫 팀미팅 |
9/13 | 주차별 계획 확립 |
9/27 | YOLO V5모델 |
10/6 | 외부 데이터셋 사용 |
10/14 | roboflow에 커스텀 데이터셋 만들기 시작 |
11/17 | 팀 회의 |
11/20 | 어플리케이션 개발 계획 |
11/24 | 커스텀 데이터셋 약 4000개 완성 |
12/2 | 커스텀 데이터셋 최종적으로 약 17000 완성 |
12/4 | 커스텀 데이터셋 training |
12/6 | 어플리케이션 개발 및 구동테스트 |
위의 그림은 이미지 해시태그를 추출하는 과정의 구조도입니다. 유저가 사진을 input으로 넣으면, yolov4가 object detection을 실시하게 됩니다.
이후 나온 labels들을 한국어로 바꿔주기 위하여 파파고 api를 추가하였습니다. (label 프로그램은 영어로만 class 이름들을 저장 할 수 있기 때문입니다.)
위의 그림은 텍스트 해시태그를 추출하는 과정의 구조도입니다. 유저가 텍스트를 input으로 넣으면, kobart가 summarization을 실시하게 되고, 이후 나온 요약문장에서 KKMA Tokenizer를 이용하여 Nouns만 추출하여 output으로 제시합니다. 추가로 한 글자는 제거하는 기능을 추가했습니다.
kobart는 기존의 BERT와 GPT의 단점들을 보완한 모델로써, 주어진 텍스트를 요약하기 위해 사용했습니다.
요약된 문장에서 명사만 추출하기 위하여 저희는 KKMA tokenizer를 이용했습니다.
위의 그림은 두가지 해시태그를 더해서 중복을 제거하고 최종 해시태그를 제시하는 구조도입니다. 이 과정의 결과값이 사용자에게 보여집니다.
전체 구조도입니다.
사진 입력과 텍스트를 입력할 수 있도록 프로토타입을 완성하였고 HTML과 CSS, JavaScript를 이용해서 웹페이지를 만들었습니다.
Flask를 이용해 HTML과 연동하고 입력 함수를 호출하여 웹에서 받은 이미지와 텍스트를 yolo의 입력값으로 지정했습니다.
자료 | 내용 |
---|---|
new 이미지 크롤러.py | 인스타그램 이미지 다운(image download) |
yolopapago.py | yolo 파파고 버전 |
토크나이저_test.py | 토크나이저 비교 |