[내일배움캠프] 260331 TIL - AI 모델 결정하기

Bambu·2026년 3월 31일

내배캠 TIL

목록 보기
48/52

최종 프로젝트에 AI를 활용해보도록 결정했다.

어떤 AI 모델을 사용할 것인지에 대해 오랜 시간 고민을 하여, 해당 논의에 대하여 정리해보았다.

안건

식물 등록 시 사진을 입력하여 해당 식물을 식별하고, 해당 식물에 대한 정보를 자동으로 입력되고자 함.

→ 식별할 때 사용할 AI 모델 선정에 관한 논의


의견

  1. OnDevice CoreML 활용

    • 장점: iOS 내장 AI이므로 속도가 빠르고 가벼움
    • 단점: 식물 인식률 ↓ → ’꽃’, ‘나무’ 수준으로는 인식 가능하나 우리가 원하는 ‘꽃의 이름’ 수준까지의 판별 불가
    • 인식률 → 어떤 사물인지(꽃인지 나무인지 등)로의 정확도 30% 수준
  2. iNaturalist의 공개 ‘small’ 모델

    • iNaturalist에서 공개한 small 모델
    • 장점: .mlmodel 파일이 제공되어 손쉬운 사용 가능
    • 단점: 데이터 표본이 작음 (500개)
    • 인식률 → 식물의 종류까지 판단, 비슷한 식물로의 추측 가능 → 정확도 편차 존재(20% ~ 60%), 그러나 비슷한 식물을 추측하여 결과를 도출
  3. Google AIY Vision Classifier – Plants V1

    • iNaturalist에서 제공한 dataSet 기반
    • 장점: small 모델에 비해 많은 표본 (2101개)
    • 단점: Cocoa Pods 설치의 번거로움
    • 인식률 → 식물의 종류까지 판단, 비슷한 식물로의 추측 가능 → 2번의 iNaturalist small 모델과 비슷함
  4. 직접 AI 모델 학습시키기

    • Kaggle에 존재하는 식물 식별 학습 코드를 AI에게 학습시켜 사용하기
    • Apple 공식 홈페이지에 소개된 방법으로 직접 학습시키기

    -> 너무 많은 시간과 리소스가 사용될 우려가 있음

결과

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가 주력이 아니기 때문에 한번 이용해보니 신기했다.
하지만 모델을 직접 학습시키기엔 역시 시간이 너무 오래 걸릴것 같아 해당 후보는 제외하였다..

profile
안녕하세요, iOS 개발을 공부하고 있는 Bambu입니다. (프로필: Swifticons)

0개의 댓글