iOS11真機運行CoreML圖像識別demo(Object C 版)

前幾天做了一版CoreML在模擬器上進行識別圖片的demo,是使用官方推薦的swift語言編寫的,今天抽空把CoreML在Object C上再基於上一版完善一些功能,實現拍照識別,相冊識別。話不多說,先進行一下準備操作。

iOS 11怎麼升級,雖然目前蘋果僅放出了iOS11開發者預覽版,但如果你有備用機,或者想先試試升級,在這裏我們教你快速升級到iOS 11開發者預覽版(需要注意的是,目前iOS11還處於開發者測試階段,可能存在一些不穩定或bug,在此要提醒大家,如果你手中沒有備用機,請不要隨便升級,如果你真想提前體驗iOS11,也請在升級前做好重要文件備份工作。)

1、在設備safari中打開以下鏈接https://pan.baidu.com/s/1eRE1TdC

iOS11真機運行CoreML圖像識別demo(Object C 版)

2、下載iOS 11描述文件

iOS11真機運行CoreML圖像識別demo(Object C 版)

 

3、下載完以後會提示您安裝此描述文件

iOS11真機運行CoreML圖像識別demo(Object C 版)

 

4、點擊需要安裝的設備,然後按照流程確認安裝

我本機已經升級到iOS 11就不往下一步進行了,安裝完描述文件會提示您重啓,重啓後再設置-通用-軟件更新裏面就能看到iOS 11 Developer beta版升級提示了,點擊下載並安裝就可以和正常iOS升級操作一樣升級到iOS11 beta,本人測試(iPhone 6s Plus)升級過程持續20分鐘。

iOS11真機運行CoreML圖像識別demo(Object C 版)

升級成功~enjoy,支持3D-Touch的控制中心~贊

所有準備工作完成後開始coding。

  • 編碼

1、在xcode中創建一個新的OC工程,導入下載的機器學習模型,項目結構如圖。

iOS11真機運行CoreML圖像識別demo(Object C 版)

2、上一篇swift版我們是直接使用機器學習模型中提供的方法來處理圖片進行識別的,今天我們藉助系統Vision庫中的VNCoreMLModel,VNCoreMLRequest,VNImageRequestHandler來完成我們今天的功能,關鍵開始識別方法[vnImageRequestHandler performRequests:@[vnCoreMlRequest] error:&error];識別完成會回調vnCoreMlRequest 的completionHandler,其返回的結果是一個VNClassificationObservation數組,每一個VNClassificationObservation都是一個識別的結果,我們要從裏面選出匹配率最高的一個結果出來。具體的Vision庫使用可以看看官方文檔https://developer.apple.com/documentation/vision

主要程序實現代碼如下

iOS11真機運行CoreML圖像識別demo(Object C 版)

VNClassificationObservation對象有兩個參數

1.confidence 識別率,值越高應該是越接近的

2.identifier  識別結果

最後來看看CoreML識別結果:

iOS11真機運行CoreML圖像識別demo(Object C 版)

iOS11真機運行CoreML圖像識別demo(Object C 版)

看到什麼拍什麼,識別率還不錯….have fun

最後,拿來主義:http://pan.baidu.com/s/1mhPKWnI

原文鏈接

iOS11真機運行CoreML圖像識別demo(Object C 版)

更多推薦

打倒毒販!AI可在Twitter洞察違法藥品銷售

騰訊推出“AI一鍵卸妝”工具   還原真實的你

爲早產兒保駕護航!用人工智能評估早產兒的大腦成熟度

AI領域人才供不應求  谷歌、Facebook等都已加入到“搶”人行列

TensorFlow工程師分享了TensorFlow Serving最近的創新進展

本文爲ATYUN(www.atyun.com)編譯作品,ATYUN專注人工智能

請掃碼或微信搜索ATYUN訂閱號及時獲取最新內容

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章