최종 프로젝트에 AI를 활용해보도록 결정했다.
어떤 AI 모델을 사용할 것인지에 대해 오랜 시간 고민을 하여, 해당 논의에 대하여 정리해보았다.
식물 등록 시 사진을 입력하여 해당 식물을 식별하고, 해당 식물에 대한 정보를 자동으로 입력되고자 함.
→ 식별할 때 사용할 AI 모델 선정에 관한 논의
OnDevice CoreML 활용
iNaturalist의 공개 ‘small’ 모델
Google AIY Vision Classifier – Plants V1
직접 AI 모델 학습시키기
-> 너무 많은 시간과 리소스가 사용될 우려가 있음
3번 Google AIY Vision Classifier – Plants V1 사용 결정
1번 모델의 경우, ‘꽃’이냐, ‘나무’이냐 정도의 큰 범주로의 결과만을 도출
→ 앱에서 원하는 기능에 적용하기 위해서는 식물의 종류가 필요하지만 너무 큰 범주로 도출되어 결과를 활용하기 어려움
⇒ 2번, 3번 모델을 고려하게 되었음
3번 모델을 Swift Package Manager를 통해 import할 수 있도록 수정
→ swift.package 코드의 버전 수정
⇒ 가장 큰 걸림돌이었던 Cocoa Pods 사용의 번거로움을 해결하였으므로 더 많은 데이터를 보유한 3번 모델로 결정하게 되었음
Kaggle이라는 플랫폼에 대해 처음 알게되었는데, 실제 나의 컴퓨터 대신 Kaggle 환경의 CPU를 통해 AI를 학습시킬 수 있는 플랫폼이었다. 무료로는 30시간 제한이 있으나 나는 AI가 주력이 아니기 때문에 한번 이용해보니 신기했다.
하지만 모델을 직접 학습시키기엔 역시 시간이 너무 오래 걸릴것 같아 해당 후보는 제외하였다..