Swift4 Day48:影像識別——花(1/2)

Alice
Daily Swift
Published in
6 min readSep 4, 2017

2017.9.5

作品:影像辨識:花

心得:最近去了故宮黑客松,花了很多時間討論跟比賽有點忙碌,好久沒更新部落格了!這次要做的是花的影像辨識,超酷的,不過加上開始在新創實習,下班開始寫寫寫到2點左右就快不行了,所以只能分成兩篇介紹,今天先介紹比較淺的從設定到UIImagePickerController而已,如果可以的話希望變強之後找到iOS實習就能一直做自己喜歡的事了!

超快速demo一下故宮黑客松的UI介面,畫好久,偷偷用了之前的作業

Core ML 是蘋果在 WWDC 2017 發表的機器學習框架 (Machine Learning Framework),開發人員可以藉由 Core ML 的輔助,快速將已完成訓練的機器學習模型 (model) 整合進 app 中,讓 app 也能具備人工智慧的學習及預測能力。延伸閱讀:Core ML 機器學習框架是什麼?core ML官方文件

我們這次使用python來作為與coreML溝通的工具,由於python2跟3的改版很大且不相容,而這次使用的版本限定為2.7。

利用pyhon2.7環境安裝ML檔案

先確認自己的電腦是否有pip.py,打開終端機輸入pip -v

有安裝狀況

沒安裝狀況

1.下載 get-pip.py.儲存在桌面

2.輸入cd desk

3.輸入sudo python get-pip.py等他跑完就裝好了

4.輸入cd ~

5.輸入sudo pip install virtualenv

6.輸入mkdir Environments,開一個叫做Environments的資料夾

7.輸入cd Environments,移轉到Environments

8.輸入virtualenv — python=/usr/bin/python2.7 python27,建立一個python27在Environments資料夾

9.輸入source python27/bin/activate,看到我在用python2.7的開發環境了。

也可以用相同的方法使用python3.6,不過我們這是要使用的開發環境是2.7

10.輸入pip install -U coremltools,安裝pip

11.輸入deactivate離開2.7開發環境

12.下載編譯器Atom

13.設一個名為Flower classification的資料夾在桌面

14.設一個convert-script.py的檔案在Flower classification裡

15.解壓縮這個檔案放入Flower classification

16.在convert-script.py輸入以下內容,參考文件

17.在終端機輸入cd /Users/______/Environments(可用拖曳的方式)

18.輸入source python27/bin/activate,因為ML只能在python2.7版本使用

19.會看到程式前面顯示(python27),然後cd /Users/zhangshuhan/Desktop/Flower\ Classification

20.輸入python convert-script.py,讓它安裝

21.如果有錯就確認步驟16的每個字是否正確,成功就會發現ML安裝好了

Xcode裡設定UIImagePickerController

  1. 將FlowerClassifier.mlmodel,拖曳放入Xcode裡面
  2. 加入一個Navigation Controller
  3. 加一個Navigation item用相機的圖案,然後加一個Image View設定Auto layout,把兩個都設定到程式碼
  4. 到Info加一個Privacy — Camera Usage Description
  5. 輸入以下程式碼,可以達到以下效果

明天會繼續補上的!

——9/6更新——

我遇到error了😭

想問Core ML的Model Class如何從Interface generation only available with valid target改成swift

爬文兼問人中😢

--

--