iOS 캠프 TIL - 2021.04.20 화

Updated:

CoreML

  • CoreML
  • CoreML: 머신러닝 모델을 앱에 통합하는 프레임워크
    • CoreML을 사용해서 앱에 머신러닝을 통합할 수 있음
  • 모델: training data에 머신러닝 알고리즘을 적용한 결과
  • 지원 분야
    • Vision: 이미지 분석
    • Natural Language: 텍스트 처리
    • Speech: 오디오를 텍스로 변환
    • Sound Analysis: 오디오에서 사운드 식별

Image Classifer Model 생성하기

  • Creating an Image Classifier Model
  • Image Classfier는 이미지를 인식하는 머신러닝 모델이며, 이미지를 주면 그 이미지의 카테고리 label로 응답한다.
  • Image Classifer를 이미 분류된 많은 이미지들로 훈련시킬 수 있다.
  • 이미지
    • 카테고리별로 최소 10장 필요
    • 더 나은 퍼포먼스를 위해서는 다양한 각도와 조명의 많은 이미지 활용
    • 카테고리별로 이미지 수의 밸런스를 맞춰야 함
    • 이미지 포맷은 QuickTime Player가 열 수 있으면 됨
    • 이미지가 서로 같은 크기가 아니어도 되고, 최소 299x299픽셀 이미지를 사용

순서

  1. Xcode메뉴 > Open Developer Tool > Create ML 선택
  2. New Project > Image Classification
  3. Training Data에 Traing Dataset 폴더 드래그
  4. Testing Data에 Testing Dataset 폴더 드래그
  5. Parameters 설정 > Maximum Iterations 디폴트는 25
  6. Augmentations 설정 > Add Noise, Blur, Crop…등 선택
  7. Train 시작
  8. 완료되면 Ouput탭 > Get 선택해서 모델 저장

의문점

Augmentations 설정을 아무것도 체크하지않고 모델 생성했을 때는 Evaluation탭의 Precision 항목이 모두 100%였다. 도형을 손으로 직접 그린 이미지를 판단해야하므로 여러각도의 경우도 학습시켜야겠다는 생각에 Rotate를 선택하고 생성하니 사각형과 삼각형 카테고리의 Precision이 80%, 69%로 내려갔다. 더 많이 학습을 시켰더니 오히려 정확성이 줄어든건가? 이 의미에 대해 아직 잘 모르겠다.

Leave a comment