ARCHIVES

태그

신고하기

상단 메뉴 페이지

기본 콘텐츠로 건너뛰기

[iOS 이미지 오브젝트 데이터 와 머신러닝] 1강. 이미지 오브젝트 만들기

1강. 이미지 오브젝트 만들기

안녕하세요 치우 입니다.

이번에 머신러닝을 테스트 해볼 업무가 생겨서 해당 내용을 정리 합니다.
iOS 13 이상의 버전을 기준으로 문서 정리를 합니다. (2021년 2월 현재 iOS 14.4)

머신러닝 데이터를 사용하는 방식은 다음과 같습니다.

1강. 이미지 오브젝트툴로 머신러닝에 학습시킬 이미지 데이터 *.json을 생성한다.
2강. 이미지와 *.json 데이터로 학습 시킨다. *.mlmodel 파일 생성
3강. 학습결과 파일 *.mlmodel을 사용하여 이미지를 판단한다.


3강 정도로 정리가 되겠네요.

2021년 2월 현재 애플에서 제공하는 머신러닝 타입은 다음과 같습니다.


이미지, 비디오, 모션, 소리, 텍스트(자연어), 테이블(예측) 학습 입니다.

이중에 두번째, 오브젝트 디텍션을 선택해 학습 해보겠습니다.
Locate and classify different types of objects in an image.


오브젝트 디텍션에서는 오픈소스 "LabelImg" 를 사용했습니다.

1. 파이선 설치 
brew install python3
pip3 install pipenv
pipenv run pip install pyqt5==5.12.1 lxml
pipenv run make qt5py3

2. 라벨이미지 다운 로드 후 실행
    마스터 브런치를 받아도 되고, 태깅된 버전을 받아도 됩니다.
    현재 생성된 태깅 버전 1.8.4
python3 labelImg.py

3. 이미지를 가져와서 열심히 오브젝트를 만듭니다.
    알아야 할 것은 아래 두가지 폴더 입니다.
  • Open Dir : 가져올 이미지 폴더 위치
  • Change Save Dir : json 을 저장하고 가져오는 위치

  •     이거 단축키를 써야 편하네요. 깃허브에 단축키를 한번씩 보고 작업 합니다.



    4. 학습이 되었으면 왼쪽 메뉴중에 저장 방법을 "CreateML"로 해서 저장 합니다. (애플 전용 파일)
        그러면 이미지와 함께 .json 파일이 생성 됩니다.

    5. 이제 Apple Machine Learning 데이터 준비가 완료 됬습니다.


    시행착오 후기........

    만들었던, 샘플 앱은 카메라를 사용하여 라벨 이미지를 보았을 때, 
    내가 원하는 오브젝트를 찾는 동작 입니다.
    잘 못찾더군요...

    그래서 오브젝트를 여러번 만들어보고 알았습니다....
    카메라에서 가져오는 이미지로 학습 인식을 해야 잘 되더군요.
    즉, 실제 사용하는 현장과 비슷한 이미지, 그리고 수량도 충분해야 하는 이유가 여기서 생기네요.

    아래처럼 폰 카메라로 사진을 찍어 그 사진으로 오브젝트를 다시 만듭니다.
    실사용 에서는, 제폰 카메라 이미지와 앱 사용자 카메라에서 들어오는 이미지가 다를수도 있는데......
    개인이 만든 데이터를 사용하기에는 문제점이 좀 보이네요.



    코딩이 한줄도 없었던 시간 이었습니다. 

    2강에서는 이 데이터로 학습을 시켜보도록 하죠.

    댓글