自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

神操作!只需5行代碼,就能做出一個圖像識別AI

人工智能 人臉識別
在本文中,我們將簡要介紹人工智能領(lǐng)域,特別是在計算機視覺領(lǐng)域,所涉及的挑戰(zhàn),針對這些挑戰(zhàn)的現(xiàn)有現(xiàn)代解決方案以及如何方便,輕松地應(yīng)用這些解決方案而無需花費大量時間和精力。

在本文中,我們將簡要介紹人工智能領(lǐng)域,特別是在計算機視覺領(lǐng)域,所涉及的挑戰(zhàn),針對這些挑戰(zhàn)的現(xiàn)有現(xiàn)代解決方案以及如何方便,輕松地應(yīng)用這些解決方案而無需花費大量時間和精力。

圖像識別的發(fā)展

幾十年來,人工智能一直是一個研究領(lǐng)域,科學(xué)家和工程師一直在努力探索使機器和計算機更好地感知和理解我們的世界以正確采取行動并為人類服務(wù)的奧秘。 這項研究工作最重要的方面之一就是使計算機了解我們周圍每天產(chǎn)生的視覺信息(圖像和視頻)。 使計算機感知和理解視覺信息的領(lǐng)域稱為計算機視覺。

神操作!只需5行代碼,就能做出一個圖像識別AI

 

在1950年代至1980年代人工智能研究興起的過程中,手動為計算機提供了有關(guān)如何識別圖像,圖像中的對象以及要注意的功能的說明。這種方法是傳統(tǒng)算法,被稱為專家系統(tǒng),因為它們要求人類為必須識別的物體的每個唯一場景識別特征并在計算機可以理解的數(shù)學(xué)模型中表示這些特征。這涉及很多繁瑣的工作,因為可以用成千上萬種不同的方式表示對象,并且存在成千上萬(甚至數(shù)百萬)種不同的場景和對象,從而找到了最優(yōu)且準(zhǔn)確的數(shù)學(xué)模型來代表每個對象或場景的所有可能特征,并且對于所有可能的對象或場景而言,更多的工作將永遠(yuǎn)持續(xù)下去。

然后,在1990年代,引入了機器學(xué)習(xí)的概念,并開創(chuàng)了一個時代,在這個時代中,我們不需告訴計算機在識別圖像和視頻中的場景和對象時要注意什么,而可以設(shè)計算法,使計算機能夠?qū)W習(xí)如何獨自識別圖像中的場景和物體,就像孩子通過探索來了解自己的環(huán)境一樣。機器學(xué)習(xí)為計算機學(xué)習(xí)識別幾乎我們想要的任何場景或物體開辟了道路。

神操作!只需5行代碼,就能做出一個圖像識別AI

 

隨著功能強大的計算機(如GPU)和先進的深度學(xué)習(xí)算法用于圖像識別的出現(xiàn),如Alex Krizhevsky等人于2012年提出的AlexNet,Kaeming He等人于2015年提出的ResNet,F(xiàn)orrest于2016年提出的SqueezeNet Landola等人(由Gao Huang等人于2016年提出的DenseNet)僅舉幾例,就可以將許多圖片(更像是計算機的圖像書)放在一起,并定義一個人工智能模型來學(xué)習(xí)場景和物體的特征這些圖片本身,并使用從學(xué)習(xí)過程中獲得的知識來識別其后將遇到的場景或?qū)ο箢愋偷乃衅渌麑嵗?/p>

[[312040]]

 

為了訓(xùn)練一個可以識別你想要在圖片中識別出什么內(nèi)容的人工智能模型,傳統(tǒng)上它涉及應(yīng)用數(shù)學(xué)和深度學(xué)習(xí)庫的大量專業(yè)知識,更不用說需要花費的時間和壓力了。編寫算法代碼,然后將代碼適配你的圖像。這是我們提供解決方案的地方。

AI Commons的團隊開發(fā)了一個python庫,可讓你訓(xùn)練一個人工智能模型,該模型只需5條簡單的python代碼就能識別出你希望圖像識別的任何對象。 python庫是ImageAI,它是一個庫,旨在讓學(xué)生,開發(fā)人員和研究人員具備各種專業(yè)知識,可以使用5至15條簡單的代碼行來構(gòu)建具有最新計算機視覺功能的系統(tǒng)和應(yīng)用程序?,F(xiàn)在,讓我們引導(dǎo)你創(chuàng)建可以識別您想要的任何東西的第一個人工智能模型。

要訓(xùn)練你的人工智能模型,你需要一個稱為數(shù)據(jù)集的圖像集合。 數(shù)據(jù)集包含您你要讓你的人工智能模型識別的對象的成百上千的樣本圖像。 但是你不用擔(dān)心! 我們不是說要你現(xiàn)在就去下載數(shù)千張圖片,只是為了訓(xùn)練你的人工智能模型。 在本教程中,我們提供了一個名為IdenProf的數(shù)據(jù)集。

神操作!只需5行代碼,就能做出一個圖像識別AI

 

IdenProf(可識別專業(yè)人士)是一個數(shù)據(jù)集,其中包含11,000張10位不同專業(yè)人士的照片,人類可以通過穿著方式看到并識別他們的工作。 圖片在此數(shù)據(jù)集中的專業(yè)人員類別如下:

  • Chef(廚師)
  • Doctor(醫(yī)生)
  • Engineer(工程師)
  • Farmer(農(nóng)民)
  • Firefighter(消防員)
  • Judge(法官)
  • Mechanic(機械師)
  • Pilot(飛行員)
  • Police(警察)
  • Waiter(服務(wù)員)

神操作!只需5行代碼,就能做出一個圖像識別AI

 

該數(shù)據(jù)集被分為9000張(每個專業(yè)900張圖片)圖片來訓(xùn)練人工智能模型和2000張(每個專業(yè)200張圖片)圖片來測試人工智能模型在訓(xùn)練時的性能。 IdenProf已正確安排并準(zhǔn)備好訓(xùn)練您的人工智能模型,以使他們的著裝方式識別專業(yè)人士。 作為參考,如果您使用自己的圖像數(shù)據(jù)集,則必須為要讓人工智能模型識別的每個對象或場景至少收集500張圖片。 要訓(xùn)練使用ImageAI收集的任何圖像數(shù)據(jù)集,必須將圖像排列在文件夾中,如以下示例所示:

 

  1. idenprof//train//chef// 900 images of chefs  
  2. idenprof//train//doctor// 900 images of doctors  
  3. idenprof//train//engineer// 900 images of engineer  
  4. idenprof//train//farmer// 900 images of farmers  
  5. idenprof//train//firefighter// 900 images of firefighters  
  6. idenprof//train//judge// 900 images of judges  
  7. idenprof//train//mechanic// 900 images of mechanics  
  8. idenprof//train//pilot// 900 images of pilots  
  9. idenprof//train//chef// 900 images of chef  
  10. idenprof//train//police// 900 images of police  
  11. idenprof//train//waiter// 900 images of waiters  
  12. idenprof//test//chef// 200 images of chefs  
  13. idenprof//test//doctor// 200 images of doctors  
  14. idenprof//test//engineer// 200 images of engineer  
  15. idenprof//test//farmer// 200 images of farmers  
  16. idenprof//test//firefighter// 200 images of firefighters  
  17. idenprof//test//judge// 200 images of judges  
  18. idenprof//test//mechanic// 200 images of mechanics  
  19. idenprof//test//pilot// 200 images of pilots  
  20. idenprof//test//chef// 200 images of chef  
  21. idenprof//test//police// 200 images of police  
  22. idenprof//test//waiter// 200 images of waiters 

 

既然你已經(jīng)了解了如何準(zhǔn)備自己的圖像數(shù)據(jù)集來訓(xùn)練人工智能模型,那么我們現(xiàn)在將指導(dǎo)你訓(xùn)練人工智能模型以識別使用ImageAI的專業(yè)人員。

神操作!只需5行代碼,就能做出一個圖像識別AI

 

  • 首先,你必須通過此鏈接下載IdenProf數(shù)據(jù)集的zip。 你還可以在下面的鏈接中的IdenProf GitHub存儲庫中查看經(jīng)過培訓(xùn)以識別職業(yè)的人工智能模型的所有詳細(xì)信息和示例結(jié)果。

https://github.com/OlafenwaMoses/IdenProf

  • 因為訓(xùn)練人工智能模型需要高性能的計算機系統(tǒng),所以我強烈建議你確保要用于此訓(xùn)練的計算機/筆記本電腦具有NVIDIA GPU。 另外,如果你提供免費的NVIDIA K80 GPU進行實驗,則可以使用Google Colab進行此實驗。
  • 然后,你必須安裝ImageAI及其依賴項。

1)從Python語言官方網(wǎng)站下載并安裝Python 3

https://python.org

2)通過pip安裝以下pip:

i. TensorFlow

 

  1. pip3 install tensorflow 

ii. OpenCV

 

  1. pip3 install opencv-python 

iii. Keras

 

  1. pip3 install keras 

iv. ImageAI

 

  1. pip3 install imageai --upgrade 
  • 用你想要給它的任何名稱創(chuàng)建一個python文件,例如“ FirstTraining.py”。
  • 將IdenProf數(shù)據(jù)集的zip復(fù)制到Python文件所在的文件夾中。 然后將其解壓縮到同一文件夾中。

·然后將下面的代碼復(fù)制到python文件(例如FirstTraining.py)中。

 

  1. from imageai.Prediction.Custom import ModelTraining  
  2. model_trainer = ModelTraining()  
  3. model_trainer.setModelTypeAsResNet()  
  4. model_trainer.setDataDirectory("idenprof" 
  5. model_trainer.trainModel(num_objects=10, num_experiments=200, enhance_data=True, batch_size=32, show_network_summary=True

 

這就是訓(xùn)練人工智能模型所需的全部代碼。在運行代碼以開始培訓(xùn)之前,讓我們解釋一下代碼。

在第一行中,我們導(dǎo)入了ImageAI的模型訓(xùn)練課程。在第二行中,我們創(chuàng)建了模型訓(xùn)練課程的實例。在第三行中,我們將模型類型設(shè)置為ResNet(有四種可用的模型類型為SqueezeNet,ResNet,InceptionV3和DenseNet)。在第四行中,我們將數(shù)據(jù)目錄(數(shù)據(jù)集目錄)設(shè)置為你解壓縮的數(shù)據(jù)集zip文件的文件夾。然后在第五行中,調(diào)用trainModel函數(shù)并指定以下值:

  • number_objects:這是指IdenProf數(shù)據(jù)集中不同類型的專業(yè)人員的數(shù)量。
  • num_experiments:這是模型訓(xùn)練器將研究idenprof數(shù)據(jù)集中的所有圖像的次數(shù),以實現(xiàn)最大的準(zhǔn)確性。
  • Enhance_data(可選):告訴模型訓(xùn)練器在IdenProf數(shù)據(jù)集中創(chuàng)建圖像的修改后的副本,以確保獲得最大的準(zhǔn)確性。
  • batch_size:這是指模型訓(xùn)練器將研究IdenProf數(shù)據(jù)集中的所有圖像之前,將立即研究的圖像集的數(shù)量。
  • Show_network_summary(可選):這將顯示你用于訓(xùn)練人工智能模型的模型類型的結(jié)構(gòu)。

現(xiàn)在,你可以開始運行Python文件并開始培訓(xùn)。培訓(xùn)開始時,你將看到以下結(jié)果:

 

  1. =====================================  
  2. Total params: 23,608,202  
  3. Trainable params: 23,555,082  
  4. Non-trainable params: 53,120  
  5. ______________________________________ 
  6. Using Enhanced Data Generation  
  7. Found 4000 images belonging to 4 classes.  
  8. Found 800 images belonging to 4 classes.  
  9. JSON Mapping for the model classes saved to C:\Users\User\PycharmProjects\FirstTraining\idenprof\json\model_class.json  
  10. Number of experiments (Epochs) : 200  
  11. Epoch 1/100  
  12. 1/280 [>.............................] - ETA: 52s - loss: 2.3026 - acc: 0.2500  
  13. 2/280 [>.............................] - ETA: 52s - loss: 2.3026 - acc: 0.2500  
  14. 3/280 [>.............................] - ETA: 52s - loss: 2.3026 - acc: 0.2500  
  15. ..............................,  
  16. ..............................,  
  17. ..............................,  
  18. 279/280 [===========================>..] - ETA: 1s - loss: 2.3097 - acc: 0.0625Epoch 00000: saving model to C:\Users\User\PycharmProjects\FirstTraining\idenprof\models\model_ex-000_acc-0.100000.h5  
  19. 280/280 [==============================] - 51s - loss: 2.3095 - acc: 0.0600 - val_loss: 2.3026 - val_acc: 0.1000 

 

讓我們解釋一下上面顯示的細(xì)節(jié):

1.語句“針對保存到C:\ Users \ User \ PycharmProjects \ FirstTraining \ idenprof \ json \ model_class.json的模型類的JSON映射”表示模型訓(xùn)練器已為idenprof數(shù)據(jù)集保存了一個JSON文件,你可以使用它來使用自定義圖像預(yù)測類識別其他圖片(進一步閱讀時可以使用說明)。

2.第1/200行,表示網(wǎng)絡(luò)正在對目標(biāo)200進行第一次訓(xùn)練

3.第1/280行[>…………………………..]-ETA:52s-損失:2.3026-acc:0.2500表示在本實驗中已訓(xùn)練的批次數(shù)

4.“ Epoch 00000:將模型保存到C:\ Users \ User \ PycharmProjects \ FirstTraining \ idenprof \ models \ model_ex-000_acc-0.100000.h5”行是指在當(dāng)前訓(xùn)練后保存的模型。 ex_000代表此階段的實驗,而acc0.100000和valacc:0.1000代表本實驗后模型在測試圖像上的準(zhǔn)確性(準(zhǔn)確性的最大值為1.0)。此結(jié)果有助于了解可用于自定義圖像預(yù)測的最佳性能模型。

訓(xùn)練完人工智能模型后,你可以使用“ CustomImagePrediction”類對獲得最高準(zhǔn)確性的模型進行圖像預(yù)測。

[[312044]]

 

萬一由于無法訪問NVIDIA GPU而無法自行訓(xùn)練人工智能模型,就本教程而言,我們提供了我們在IdenProf數(shù)據(jù)集上訓(xùn)練的人工智能模型,你可以使用它現(xiàn)在可以預(yù)測數(shù)據(jù)集中10位專業(yè)人員中任何一位的新圖像。經(jīng)過61次訓(xùn)練實驗,該模型的準(zhǔn)確率超過79%。另外,如果你自己還沒有進行培訓(xùn),還可以通過此鏈接下載idenprof模型的JSON文件。然后,你準(zhǔn)備好使用受過訓(xùn)練的人工智能模型開始認(rèn)可專業(yè)人員。請按照以下說明進行操作。

接下來,創(chuàng)建另一個Python文件并為其命名,例如FirstCustomImageRecognition.py。 復(fù)制上面下載的人工智能模型或獲得最高準(zhǔn)確性的訓(xùn)練模型,并將其粘貼到新python文件的文件夾(例如FirstCustomImageRecognition.py)中。 還要復(fù)制您下載的或由培訓(xùn)生成的JSON文件,并將其粘貼到與新python文件相同的文件夾中。 將屬于IdenProf數(shù)據(jù)集中類別的任何專業(yè)人士的示例圖像復(fù)制到與新python文件相同的文件夾中。

然后復(fù)制下面的代碼,并將其放入新的python文件中:

 

  1. from imageai.Prediction.Custom import CustomImagePredictionimport os  
  2. execution_path = os.getcwd()  
  3. prediction = CustomImagePrediction()prediction.setModelTypeAsResNet()prediction.setModelPath("idenprof_061-0.7933.h5")prediction.setJsonPath("idenprof_model_class.json")prediction.loadModel(num_objects=10)  
  4. predictions, probabilities = prediction.predictImage("image.jpg", result_count=3)  
  5. for eachPrediction, eachProbability in zip(predictions, probabilities): print(eachPrediction , " : " , eachProbability) 

 

[[312045]]

 

查看下面的示例圖像和結(jié)果。

waiter : 99.99997615814209

chef : 1.568847380895022e-05

judge : 1.0255866556008186e-05

是不是很簡單!現(xiàn)在,讓我們解釋上面產(chǎn)生此預(yù)測結(jié)果的代碼。

上面的第一和第二行代碼導(dǎo)入ImageAI的CustomImagePrediction類,以使用經(jīng)過訓(xùn)練的模型和python os類來預(yù)測和識別圖像。第三行代碼創(chuàng)建一個變量,該變量保存對包含python文件(在本示例中為FirstCustomImageRecognition.py)和你自己下載或自己訓(xùn)練的ResNet模型文件的路徑的引用。

在上面的代碼中,我們在第四行中創(chuàng)建了ImagePrediction()類的實例,然后通過在第五行中調(diào)用.setModelTypeAsResNet()將預(yù)測對象的模型類型設(shè)置為ResNet,然后設(shè)置模型路徑預(yù)測對象到人工智能模型文件(idenprof_061–0.7933.h5)的路徑,我們將其復(fù)制到第六行的項目文件夾文件夾中。

在第七行中,我們設(shè)置復(fù)制到第七行中的文件夾的JSON文件的路徑,并在第八十行中加載模型。最后,我們對復(fù)制到文件夾中的圖像進行預(yù)測,然后將結(jié)果打印到命令行界面。

到目前為止,你已經(jīng)學(xué)習(xí)了如何使用ImageAI輕松訓(xùn)練自己的人工智能模型,該模型可以預(yù)測圖像中的任何類型的對象或?qū)ο蠹?/p>

當(dāng)然,除了以上教程,筆者順便提一下鈦靈AIX,一款集計算機視覺與智能語音交互兩大核心功能為一體的迷你人工智能硬件。基于 Intel Movidius AI加速芯片的強大算力支持與內(nèi)置的語音 SDK 和 API,鈦靈 AIX可以兼容AI模型資源平臺——Model Play。Model Play面向全球開發(fā)者,內(nèi)置多樣化AI模型,更是支持谷歌 Edge TPU邊緣人工智能計算芯片以及更多AI硬件,可以幫助開發(fā)者加速專業(yè)級開發(fā)。

此外,Model Play提供完整易用的遷移學(xué)習(xí)模型訓(xùn)練工具及豐富模型實例。基于Google開源神經(jīng)網(wǎng)絡(luò)架構(gòu)及算法,構(gòu)建自主遷移學(xué)習(xí)功能,用戶無需寫代碼,通過選擇圖片、定義模型和類別名稱即可完成AI模型訓(xùn)練,實現(xiàn)人工智能的易學(xué)易開發(fā)。 

責(zé)任編輯:龐桂玉 來源: 今日頭條
相關(guān)推薦

2018-04-24 10:45:00

Python人工智能圖像識別

2021-04-19 10:38:06

代碼開發(fā)工具

2022-10-20 09:33:35

2021-03-29 15:07:19

AI 數(shù)據(jù)人工智能

2017-05-02 15:23:23

2022-03-23 15:32:38

Python開發(fā)代碼

2022-09-09 14:42:17

應(yīng)用開發(fā)ETS

2019-08-21 20:08:34

人工智能手勢識別谷歌

2024-11-11 07:00:00

Python圖像識別

2025-02-24 08:20:00

AI代碼生成

2025-03-03 00:00:55

Spring文件下載開發(fā)

2024-06-18 08:16:49

2021-04-09 20:49:44

PythonOCR圖像

2022-10-11 23:35:28

神經(jīng)網(wǎng)絡(luò)VGGNetAlexNet

2021-09-22 09:43:47

Python 開發(fā)編程語言

2023-11-24 09:26:29

Java圖像

2019-07-21 22:22:37

圖像識別AI機器視覺

2020-02-28 10:26:26

AI 數(shù)據(jù)人工智能

2022-02-08 22:18:10

Chrome插件服務(wù)器

2024-02-19 00:21:45

開源圖片
點贊
收藏

51CTO技術(shù)棧公眾號