프로젝트_랜드마크 - 5일차
데이터 검증 및 추가 데이터 셋 생성
- 어제 다운로드 받은 데이터들을 프로젝트에 사용 가능할지 검증하는 과정을 거쳤다.
- AI HUB의 한국형 사물 이미지중 랜드마크 이미지 데이터중 서울에 위치한 랜드마크가 몇개인지 체크해보려 했는데, 단 네종류의 랜드마크만 서울에 존재했다.
-
이것만 가지고는 도저히 프로젝트를 진행할수 없다고 판단되어, 이미지 인식 모델에 관한 계획을 대대적으로 수정했다.
- 실험.
- 기존에 계획했던 이미지 crop모델 vs 일반모델의 비교는 AI HUB 데이터에 포함되어 있던 네가지 랜드마크 이미지만으로 실험을 진행한다.
- 프로젝트 적용.
- 이미지 인식 모델을 단순 CNN모델, EfficientNet, YOLO나 그 이외의 다른 모델등으로 적용해보고, bounding-box가 따로 정의되어있지 않은 이미지들에 대해 가장 예측 성능이 좋은 모델을 선택하여 적용한다.
- 실험.
- 랜드마크 이미지의 경우, 구글 이미지 검색을 통해 직접 크롤링하여 수집하는 형식으로 작업을 진행했다.
이미지 정보 데이터 - 구글 이미지검색 크롤링
-
구글 검색 + 이미지를 가져오는 형식으로 실행한다.
-
크롤러만 하도 만들어서 이제 가지고 있던 코드만 재활용해도 그럴듯한게 슥슥 나온다.
- 수집할 랜드마크의 기준은 다음과 같이 정의했다.
- 도시마다 대부분 하나 이상씩 존재하는 특정 용도 건물은 제외(기차역 등).
- 단, 디자인 등의 특수성이 있거나, 혐오시설물 수준으로 도저히 랜드마크가 될 만한 물건이 아니지만 교통 결절점 등의 역할을 함으로써 그 지역을 상징하는 대상이 된 경우에는 등재 가능.
- 주변 지역을 모두 망라하는 것보다 특정한 목표물 하나만을 의미.
- 도시마다 대부분 하나 이상씩 존재하는 특정 용도 건물은 제외(기차역 등).
-
그렇게 선정한 83개의 랜드마크를 기반으로 이미지 크롤링을 시작.
- 크롤링 결과 산출된 이미지들중 다음 항목들을 제거하여 이미지 정제 과정을 거쳤다.
- 건물의 절반 이상이 잘려나간 이미지
- 로고, 설계도, 단순화한 그림 등 건물 외부 이미지와 큰 관련이 없는 이미지
- 내부 인테리어를 촬영한 이미지
크롤링에 사용한 코드는 이곳의 google_image_crawler.py에서 볼수 있다. 이미지 데이터 크롤링 이외에도 프로젝트에 크롤링이 필요한 부분은 전부 위의 리포지토리에 업데이트할 예정이다.
-
데이터 검증 작업을 하면서 느끼는데, 구글링을 하면서 쓸모없는 사진이 상당히 많이 섞여들어가 아무래도 이미지 인식 단계에서 Augmentation을 최대한 하는 방식으로 진행해야 할 것 같다.
-
그리고 벌써부터 예상되는 문제점 하나가 보이는것이, 인터넷에서 긁어온 사진의 경우 드론을 이용해서 위에서 내려다보듯 찍은 사진들이 많다.
- 하지만, 사람이 찍은 사진의 경우 대부분 밑에서 위를 올려다보듯이 찍는 형태의 이미지가 나올것인데, 이 시점의 차이가 얼마나 영향이 클지 짐작도 안간다.
잡설
-
데이터 검증 작업이 시간을 엄청나게 잡아먹어 오늘은 글 내용이 상당히 부실한것 같다.
-
그러고보니 9월 11일에 리눅스 마스터 2급의 시험이 있다.
-
내일은 리눅스마스터 2급의 개념정리, 데이터 검증작업 마무리를 목표로 잡아야 할것같다.