新聞中心
概覽
圖像分類(lèi)器是一種能夠識(shí)別圖像的機(jī)器學(xué)習(xí)模型。在你提供一張圖像后,圖像分類(lèi)器會(huì)根據(jù)這個(gè)圖像回復(fù)一個(gè)分類(lèi)標(biāo)簽。

創(chuàng)新互聯(lián)建站長(zhǎng)期為上1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為阿圖什企業(yè)提供專(zhuān)業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,阿圖什網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
訓(xùn)練圖像分類(lèi)器的方法是向它展示大量已標(biāo)記的圖像示例。例如,你可以向圖像分類(lèi)器展示各種大象、長(zhǎng)頸鹿、獅子等動(dòng)物的照片來(lái)訓(xùn)練它識(shí)別野生動(dòng)物。
在圖像分類(lèi)器完成訓(xùn)練后,你可以對(duì)其進(jìn)行評(píng)估。如果其準(zhǔn)確性令人滿意,你可以將它存儲(chǔ)為 Core ML 模型文件,并將該文件導(dǎo)入到 Xcode 項(xiàng)目中,以在 App 中使用這個(gè)圖像分類(lèi)器。
收集數(shù)據(jù)
每個(gè)類(lèi)別應(yīng)使用至少 10 張圖像,但請(qǐng)謹(jǐn)記,使用更多樣化的圖像可以改善圖像分類(lèi)器的表現(xiàn),例如使用從多個(gè)角度和在多種光照條件下拍攝的照片。
每個(gè)類(lèi)別下的圖像數(shù)量應(yīng)保持平衡。例如,不要在一個(gè)類(lèi)別下使用 10 張圖像,而另一個(gè)類(lèi)別使用 1000 張圖像。
圖像可以采用 Quicktime Player 能夠打開(kāi)的任何格式,如 JPEG 和 PNG。圖像無(wú)需符合特定的大小要求,不同圖像的大小也無(wú)需相同。不過(guò),最好使用大小至少達(dá)到 299 x 299 像素的圖像。
如有可能,你收集的圖像應(yīng)該接近并能代表那些你預(yù)期模型在 App 中會(huì)看到的圖像。例如,如果你的 App 要對(duì)用設(shè)備的攝像頭在室外環(huán)境中拍攝的圖像進(jìn)行分類(lèi),則你應(yīng)使用在室外用類(lèi)似攝像頭拍攝的圖像來(lái)訓(xùn)練模型。
注釋
默認(rèn)情況下,圖像分類(lèi)器會(huì)使用場(chǎng)景打印特征提取器,不但能加速訓(xùn)練過(guò)程,也能很好地和真實(shí)物體交互。更多詳情,請(qǐng)參閱 MLImageClassifier.FeatureExtractorType.scenePrint(revision:) (英文)。
整理訓(xùn)練數(shù)據(jù)
通過(guò)將圖像整理到子文件夾中來(lái)準(zhǔn)備訓(xùn)練數(shù)據(jù)集。根據(jù)子文件夾中所含圖像的類(lèi)別,為每個(gè)子文件夾命名。例如,你可以使用標(biāo)簽 Cheetah 來(lái)表示所有獵豹圖像。
整理測(cè)試數(shù)據(jù)
使用測(cè)試數(shù)據(jù)集測(cè)試你的模型,可以快速了解你訓(xùn)練的模型在現(xiàn)實(shí)世界中的表現(xiàn)情況。
如果你有數(shù)量充足的圖像 (例如每個(gè)類(lèi)別 25 張或以上),可以通過(guò)復(fù)制訓(xùn)練數(shù)據(jù)集的文件夾結(jié)構(gòu)來(lái)創(chuàng)建測(cè)試數(shù)據(jù)集。然后,將每個(gè)類(lèi)別大約 20% 的圖像移入測(cè)試數(shù)據(jù)集中的同等類(lèi)別文件夾。
創(chuàng)建圖像分類(lèi)器項(xiàng)目
使用 Create ML 創(chuàng)建圖像分類(lèi)器項(xiàng)目。在 Xcode 打開(kāi)后,按住 Control 鍵點(diǎn)按程序塢中的 Xcode 圖標(biāo),再選取“Open Developer Tool”(打開(kāi)開(kāi)發(fā)者工具) >“Create ML”;或者,你也可以從 Xcode 菜單中選取“Open Developer Tool”(打開(kāi)開(kāi)發(fā)者工具) >“Create ML”。
在 Create ML 中,選取“File”(文件) >“New Project”(新項(xiàng)目) 以查看模型模板的列表。選擇“Image Classification”(圖像分類(lèi)),點(diǎn)按“Next”(下一步)。
將項(xiàng)目的默認(rèn)名稱(chēng)更改為更合適和實(shí)用的名稱(chēng)。如有這個(gè)項(xiàng)目?jī)?nèi)模型的更多相關(guān)信息 (如一名或多名作者以及簡(jiǎn)短描述),可在此填寫(xiě)。
配置訓(xùn)練會(huì)話
將含有訓(xùn)練數(shù)據(jù)集的文件夾拖入項(xiàng)目窗口中的“Training Data”(訓(xùn)練數(shù)據(jù)) 方格。
如果適用,將含有測(cè)試數(shù)據(jù)集的文件夾拖入項(xiàng)目窗口中的“Testing Data”(測(cè)試數(shù)據(jù)) 方格中。
如果你知道在訓(xùn)練會(huì)話中將使用的訓(xùn)練迭代數(shù)量,可以將默認(rèn)的“Maximum Iterations”(最大迭代數(shù)) 更改為其他值。你也可以打開(kāi)任何或所有圖像增強(qiáng)。
每一種增強(qiáng)都會(huì)創(chuàng)建一個(gè)副本,并對(duì)樣本圖像應(yīng)用變形或?yàn)V鏡效果,讓你無(wú)需收集更多樣本,也可提高數(shù)據(jù)集的多樣性。
訓(xùn)練圖像分類(lèi)器
點(diǎn)按“Train”(訓(xùn)練) 按鈕,以啟動(dòng)訓(xùn)練會(huì)話。在啟動(dòng)會(huì)話時(shí),Create ML 會(huì)將部分訓(xùn)練數(shù)據(jù)快速分入驗(yàn)證數(shù)據(jù)集,然后從其余訓(xùn)練圖像中提取特征,如邊緣、角落、紋理和顏色區(qū)域。Create ML 會(huì)使用圖像的特征來(lái)反復(fù)訓(xùn)練模型,再利用驗(yàn)證數(shù)據(jù)集檢查其準(zhǔn)確性。
Create ML 會(huì)在圖表中顯示進(jìn)度,黑線和灰線分別表示模型針對(duì)訓(xùn)練數(shù)據(jù)集和驗(yàn)證數(shù)據(jù)集的準(zhǔn)確性。
評(píng)估模型的準(zhǔn)確性
Create ML 完成模型訓(xùn)練后,將使用測(cè)試數(shù)據(jù)集對(duì)模型進(jìn)行測(cè)試。完成對(duì)模型的測(cè)試后,Create ML 會(huì)在“Evaluation”(評(píng)估) 標(biāo)簽頁(yè)下顯示訓(xùn)練、驗(yàn)證和測(cè)試的得分。模型的訓(xùn)練數(shù)據(jù)集準(zhǔn)確性得分通常較高一些,因?yàn)樗菑倪@些圖像學(xué)習(xí)的。在這個(gè)示例中,圖像分類(lèi)器正確識(shí)別了訓(xùn)練圖像中 100% 的圖像、驗(yàn)證圖像中 95% 的圖像,以及測(cè)試圖像中 97% 的圖像。
“Precision”(精確率) 是真正例除以真正例與假正例之和所得到的值?!癛ecall”是真正例除以真正例與假負(fù)例之和所得到的值。
如果評(píng)估表現(xiàn)不夠好,你可能需要更多樣的訓(xùn)練數(shù)據(jù)進(jìn)行重新訓(xùn)練。例如,你可以為圖像分類(lèi)器啟用圖像增強(qiáng)選項(xiàng)。有關(guān)如何進(jìn)行更詳細(xì)模型評(píng)估的信息以及提升模型性能的策略,請(qǐng)參閱“提高模型準(zhǔn)確性”。
預(yù)覽模型
點(diǎn)按“Preview”(預(yù)覽) 標(biāo)簽頁(yè),以測(cè)試模型對(duì)未曾見(jiàn)過(guò)的圖像的表現(xiàn)。要查看模型的預(yù)測(cè),可將圖像文件拖入“Train”(按鈕) 下方的列中。
存儲(chǔ)模型
如果模型的性能達(dá)標(biāo),就可將它存儲(chǔ)到文件系統(tǒng)中 (使用 Core ML 的 .mlmodel 格式),以便添加到你的 Xcode 項(xiàng)目中。你可以從“Output”(輸出) 標(biāo)簽頁(yè)進(jìn)行以下操作:
-
點(diǎn)按“Save”(存儲(chǔ)) 按鈕,將模型存儲(chǔ)到文件系統(tǒng)中
-
點(diǎn)按“Export”(導(dǎo)出) 按鈕,在 Xcode 中打開(kāi)模型
-
點(diǎn)按“Share”(共享) 按鈕,將模型發(fā)送給其他人,例如通過(guò)“郵件”或“信息”來(lái)發(fā)送
-
將模型的圖標(biāo)拖入接受文件的任何地方
將模型添加到 App
最后一步是將你訓(xùn)練好的模型添加到 Xcode 項(xiàng)目中。例如,你可以使用圖像分類(lèi)器模型來(lái)替換掉“通過(guò)計(jì)算機(jī)視覺(jué)和 Core ML 對(duì)圖像進(jìn)行分類(lèi)”(英文) 示例的 Xcode 項(xiàng)目中包含的模型。
下載這個(gè)示例,并在 Xcode 中打開(kāi)其項(xiàng)目。將你的模型文件拖入導(dǎo)航面板中。Xcode 會(huì)將這個(gè)模型添加到項(xiàng)目中,并顯示模型的元數(shù)據(jù)、操作系統(tǒng)可用性,以及類(lèi)別標(biāo)簽等。
只需更改一行代碼,就能在其中使用你的模型。項(xiàng)目?jī)H在 ImageClassificationViewController 類(lèi)中的一個(gè)位置對(duì) MobileNet 模型進(jìn)行實(shí)例化處理。
let model = try VNCoreMLModel(for: MobileNet().model)
更改這行代碼,就能將正在使用的替換為你的模型類(lèi)。
let model = try VNCoreMLModel(for: AnimalClassifier().model)
這些模型都以圖像為輸入并輸出標(biāo)簽字符串,因此可以互換。替換模型后,示例 App 不但會(huì)像之前一樣對(duì)圖像進(jìn)行分類(lèi),現(xiàn)在它還會(huì)使用你的模型及關(guān)聯(lián)的標(biāo)簽。
自動(dòng)訓(xùn)練和評(píng)估模型
如果你是編程或機(jī)器學(xué)習(xí)方面的新手,可以按照以上所述,使用 Create ML 來(lái)訓(xùn)練有用的圖像分類(lèi)器。當(dāng)然你也可以使用 MLImageClassifier (英文) 實(shí)例來(lái)編寫(xiě)模型訓(xùn)練過(guò)程的腳本。常規(guī)的任務(wù)都是相同的:準(zhǔn)備數(shù)據(jù),訓(xùn)練模型,評(píng)估性能,再存儲(chǔ) Core ML 模型文件。不同之處只在于所有任務(wù)都需要編程。
例如,你可以對(duì)兩個(gè) MLImageClassifier.DataSource (英文) 實(shí)例進(jìn)行實(shí)例化處理,分別用于訓(xùn)練數(shù)據(jù)集和測(cè)試數(shù)據(jù)集。借助 init(trainingData:parameters:) (英文),使用訓(xùn)練數(shù)據(jù)源來(lái)對(duì)圖像分類(lèi)器進(jìn)行實(shí)例化處理。然后,使用測(cè)試數(shù)據(jù)源及 evaluation(on:) (英文) 方法,再評(píng)估它返回的 MLClassifierMetrics (英文) 實(shí)例中的值。
分享題目:創(chuàng)新互聯(lián)IOS教程:創(chuàng)建圖像分類(lèi)器模型
當(dāng)前網(wǎng)址:http://www.5511xx.com/article/djipdsj.html


咨詢(xún)
建站咨詢(xún)
