在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

介紹TensorFlow物體檢測(cè)API訓(xùn)練神經(jīng)網(wǎng)絡(luò)、Python腳本尋找威利的過(guò)程

zhKF_jqr_AI ? 2017-12-28 16:08 ? 次閱讀

《威利在哪里?》(Where’s Wally)是由英國(guó)插畫家馬丁·漢德福特(Martin Handford)創(chuàng)作的一套兒童繪本。這個(gè)書的目標(biāo)就是在一張人山人海的圖片中找出一個(gè)特定的人物——威利(Wally)。“Where’s Wally”的商標(biāo)已在28個(gè)國(guó)家進(jìn)行了注冊(cè),為方便語(yǔ)言翻譯,每一個(gè)國(guó)家都會(huì)給威利起一個(gè)新名字,最成功的是北美版的“Where’s Waldo”,在這里,威利改名成了沃爾多(Waldo)。

現(xiàn)在,機(jī)器學(xué)習(xí)博主Tadej Magajna另辟蹊徑,利用深度學(xué)習(xí)解開“威利在哪里”的問(wèn)題。與傳統(tǒng)的計(jì)算機(jī)視覺(jué)圖像處理方法不同的是,它只使用了少數(shù)幾個(gè)標(biāo)記出威利位置的圖片樣本,就訓(xùn)練成了一套“尋找威利”的系統(tǒng)。

訓(xùn)練過(guò)的圖像評(píng)估模型和檢測(cè)腳本發(fā)布在作者的GitHub repo上。

本文介紹了用TensorFlow物體檢測(cè)API訓(xùn)練神經(jīng)網(wǎng)絡(luò)、并用相應(yīng)的Python腳本尋找威利的過(guò)程。大致分為以下幾步:

將圖片打標(biāo)簽后創(chuàng)建數(shù)據(jù)集,其中標(biāo)簽注明了威利在圖片中的位置,用x,y表示;

TensorFlow物體檢測(cè)API獲取并配置神經(jīng)網(wǎng)絡(luò)模型;

在數(shù)據(jù)集上訓(xùn)練模型;

用導(dǎo)出的圖像測(cè)試模型;

開始前,請(qǐng)確保你已經(jīng)按照說(shuō)明安裝了TensorFlow物體檢測(cè)API。

創(chuàng)建數(shù)據(jù)集

雖說(shuō)深度學(xué)習(xí)中最重要的環(huán)節(jié)是處理神經(jīng)網(wǎng)絡(luò),但不幸的是,數(shù)據(jù)科學(xué)家們總要花費(fèi)大量時(shí)間準(zhǔn)備訓(xùn)練數(shù)據(jù)。

最簡(jiǎn)單的機(jī)器學(xué)習(xí)問(wèn)題最終得到的通常是一個(gè)標(biāo)量(如數(shù)字檢測(cè)器)或是一個(gè)分類字符串。TensorFlow物體檢測(cè)API在訓(xùn)練數(shù)據(jù)是則將上述兩個(gè)結(jié)果結(jié)合了起來(lái)。它由一系列圖像組成,并包含目標(biāo)對(duì)象的標(biāo)簽和他們?cè)趫D像中的位置。由于在二維圖像中,兩個(gè)點(diǎn)足以在對(duì)象周圍繪制邊界框,所以圖像的定位只有兩個(gè)點(diǎn)。

為了創(chuàng)建訓(xùn)練集,我們需要準(zhǔn)備一組Where’s Wally的插畫,并標(biāo)出威利的位置。在此之前已經(jīng)有人做出了一套解出威利在哪里的訓(xùn)練集。

最右邊的四列描述了威利所在的位置

創(chuàng)建數(shù)據(jù)集的最后一步就是將標(biāo)簽(.csv)和圖片(.jpeg)打包,存入單一二分類文件中(.tfrecord)。詳細(xì)過(guò)程可參考這里,訓(xùn)練和評(píng)估過(guò)程也可以在作者的GitHub上找到。

準(zhǔn)備模型

TensorFlow物體檢測(cè)API提供了一組性能不同的模型,它們要么精度高,但速度慢,要么速度快,但精度低。這些模型都在公開數(shù)據(jù)集上經(jīng)過(guò)了預(yù)訓(xùn)練。

雖然模型可以從頭開始訓(xùn)練,隨機(jī)初始化網(wǎng)絡(luò)權(quán)重,但這可能需要幾周的時(shí)間。相反,這里作者采用了一種稱為遷移學(xué)習(xí)(Transfer Learning)的方法。

這種方法是指,用一個(gè)經(jīng)常訓(xùn)練的模型解決一般性問(wèn)題,然后再將它重新訓(xùn)練,用于解決我們的問(wèn)題。也就是說(shuō),與其從頭開始訓(xùn)練新模型,不如從預(yù)先訓(xùn)練過(guò)的模型中獲取知識(shí),將其轉(zhuǎn)移到新模型的訓(xùn)練中,這是一種非常節(jié)省時(shí)間的方法。

作者使用了在COCO數(shù)據(jù)集上訓(xùn)練過(guò)的搭載Inception v2模型的RCNN。該模型包含一個(gè).ckpycheckpoint文件,可以利用它開始訓(xùn)練。

配置文件下載完成后,請(qǐng)確保將“PATHTOBE_CONFIGURED”字段替換成指向checkpoint文件、訓(xùn)練和評(píng)估的.tfrecord文件和標(biāo)簽映射文件的路徑。

最后需要配置的文件是labels.txt映射文件,其中包含我們所有不同對(duì)象的標(biāo)簽。由于我們尋找的都是同一個(gè)類型的對(duì)象(威利),所以標(biāo)簽文件如下:

item {

id: 1

name: 'waldo'

}

最終應(yīng)該得到:

一個(gè)有著checkpoint文件的預(yù)訓(xùn)練模型;

經(jīng)過(guò)訓(xùn)練并評(píng)估的.tfrecord數(shù)據(jù)集;

標(biāo)簽映射文件;

指向上述文件的配置文件。

然后就可以開始訓(xùn)練啦。

訓(xùn)練

TensorFlow物體檢測(cè)API提供了一個(gè)十分容易上手的Python腳本,可以在本地訓(xùn)練模型。它位于models/research/object_detection中,可以通過(guò)以下命令運(yùn)行:

python train.py --logtostderr --pipeline_config_path= PATH_TO_PIPELINE_CONFIG --train_dir=PATH_TO_TRAIN_DIR

PATH_TO_PIPELINE_CONFIG是通往配置文件的路徑,PATH_TO_TRAIN_DIR是新創(chuàng)建的directory,用來(lái)儲(chǔ)存checkpoint和模型。

train.py的輸出看起來(lái)是這樣:

用最重要的信息查看是否有損失,這是各個(gè)樣本在訓(xùn)練或驗(yàn)證時(shí)出現(xiàn)錯(cuò)誤的總和。當(dāng)然,你肯定希望它降得越低越好,因?yàn)槿绻诰徛叵陆担鸵馕吨愕哪P驼趯W(xué)習(xí)(要么就是過(guò)擬合了你的數(shù)據(jù)……)。

你還可以用Tensorboard顯示更詳細(xì)的訓(xùn)練數(shù)據(jù)。

腳本將在一定時(shí)間后自動(dòng)存儲(chǔ)checkpoint文件,萬(wàn)一計(jì)算機(jī)半路崩潰,你還可以恢復(fù)這些文件。也就是說(shuō),當(dāng)你想完成模型的訓(xùn)練時(shí),隨時(shí)都可以終止腳本。

但是什么時(shí)候停止學(xué)習(xí)呢?一般是當(dāng)我們的評(píng)估集損失停止減少或達(dá)到非常低的時(shí)候(在這個(gè)例子中低于0.01)。

測(cè)試

現(xiàn)在,我們可以將模型用于實(shí)際測(cè)試?yán)病?/p>

首先,我們需要從儲(chǔ)存的checkpoint中輸出一個(gè)推理圖(interference graph),利用的腳本如下:

python export_inference_graph.py — pipeline_config_path PATH_TO_PIPELINE_CONFIG --trained_checkpoint_prefix PATH_TO_CHECPOINT --output_directory OUTPUT_PATH

產(chǎn)生的推理圖就是用來(lái)Python腳本用來(lái)找到威利的工具。

作者寫了幾個(gè)簡(jiǎn)單目標(biāo)定位的腳本,其中find_wally.py和find_wally_pretty.py都可以在他的GitHub上找到,并且運(yùn)行起來(lái)也很簡(jiǎn)單:

python find_wally.py

或者

python find_wally_pretty.py

不過(guò)當(dāng)你在自己的模型或圖像上運(yùn)行腳本時(shí),記得改變model-path和image-path的變量。

結(jié)語(yǔ)

模型的表現(xiàn)出乎意料地好。它不僅從數(shù)據(jù)集中成功地找到了威利,還能在隨機(jī)從網(wǎng)上找的圖片中找到威利。

但是如果威利在圖中特別大,模型就找不到了。我們總覺(jué)得,不應(yīng)該是目標(biāo)物體越大越好找嗎?這樣的結(jié)果表明,作者用于訓(xùn)練的圖像并不多,模型可能對(duì)訓(xùn)練數(shù)據(jù)過(guò)度擬合了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4771

    瀏覽量

    100772
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84690
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    329

    瀏覽量

    60536

原文標(biāo)題:如何用神經(jīng)網(wǎng)絡(luò)“尋找威利”

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    高階API構(gòu)建模型和數(shù)據(jù)集使用

    一、前言前面結(jié)合神經(jīng)網(wǎng)絡(luò)簡(jiǎn)要介紹TensorFlow相關(guān)概念,并給出了MNIST手寫數(shù)字識(shí)別的簡(jiǎn)單示例,可以得出結(jié)論是,構(gòu)建的神經(jīng)網(wǎng)絡(luò)目的就是利用已有的樣本數(shù)據(jù)
    發(fā)表于 11-04 07:49

    【AI學(xué)習(xí)】第3篇--人工神經(jīng)網(wǎng)絡(luò)

    `本篇主要介紹:人工神經(jīng)網(wǎng)絡(luò)的起源、簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)模型、更多神經(jīng)網(wǎng)絡(luò)模型、機(jī)器學(xué)習(xí)的步驟:訓(xùn)練與預(yù)測(cè)、訓(xùn)練
    發(fā)表于 11-05 17:48

    嵌入式中的人工神經(jīng)網(wǎng)絡(luò)的相關(guān)資料分享

    設(shè)備沒(méi)有連接的時(shí)候。 在這種情況下,需要一個(gè)能夠?qū)崟r(shí)進(jìn)行信號(hào)預(yù)處理和執(zhí)行神經(jīng)網(wǎng)絡(luò)的平臺(tái),需要最低功耗,尤其是在一個(gè)電池設(shè)備上運(yùn)行的時(shí)候。通過(guò)使用不同的工具(如 python 腳本) ,可以訓(xùn)練
    發(fā)表于 11-09 08:06

    輕量化神經(jīng)網(wǎng)絡(luò)的相關(guān)資料下載

    原文鏈接:【嵌入式AI部署&基礎(chǔ)網(wǎng)絡(luò)篇】輕量化神經(jīng)網(wǎng)絡(luò)精述--MobileNet V1-3、ShuffleNet V1-2、NasNet深度神經(jīng)網(wǎng)絡(luò)模型被廣泛應(yīng)用在圖像分類、物體檢測(cè)
    發(fā)表于 12-14 07:35

    圖像預(yù)處理和改進(jìn)神經(jīng)網(wǎng)絡(luò)推理的簡(jiǎn)要介紹

    為提升識(shí)別準(zhǔn)確率,采用改進(jìn)神經(jīng)網(wǎng)絡(luò),通過(guò)Mnist數(shù)據(jù)集進(jìn)行訓(xùn)練。整體處理過(guò)程分為兩步:圖像預(yù)處理和改進(jìn)神經(jīng)網(wǎng)絡(luò)推理。圖像預(yù)處理主要根據(jù)圖像的特征,將數(shù)據(jù)處理成規(guī)范的格式,而改進(jìn)
    發(fā)表于 12-23 08:07

    如何使用TensorFlow神經(jīng)網(wǎng)絡(luò)模型部署到移動(dòng)或嵌入式設(shè)備上

    有很多方法可以將經(jīng)過(guò)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型部署到移動(dòng)或嵌入式設(shè)備上。不同的框架在各種平臺(tái)上支持Arm,包括TensorFlow、PyTorch、Caffe2、MxNet和CNTK,如Android
    發(fā)表于 08-02 06:43

    傳統(tǒng)檢測(cè)、深度神經(jīng)網(wǎng)絡(luò)框架、檢測(cè)技術(shù)的物體檢測(cè)算法全概述

    物體檢測(cè)一向是比較熱門的研究方向,它經(jīng)歷了傳統(tǒng)的人工設(shè)計(jì)特征+淺層分類器的框架,到基于大數(shù)據(jù)和深度神經(jīng)網(wǎng)絡(luò)的End-To-End的物體檢測(cè)框架的發(fā)展,然而許多人其實(shí)并未系統(tǒng)的了解過(guò)物體檢測(cè)
    的頭像 發(fā)表于 10-22 15:07 ?2724次閱讀
    傳統(tǒng)<b class='flag-5'>檢測(cè)</b>、深度<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>框架、<b class='flag-5'>檢測(cè)</b>技術(shù)的<b class='flag-5'>物體檢測(cè)</b>算法全概述

    python卷積神經(jīng)網(wǎng)絡(luò)cnn的訓(xùn)練算法

    python卷積神經(jīng)網(wǎng)絡(luò)cnn的訓(xùn)練算法? 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)一直是深度學(xué)習(xí)領(lǐng)域重要的應(yīng)用之一,被廣泛應(yīng)用于圖像、視頻、語(yǔ)
    的頭像 發(fā)表于 08-21 16:41 ?1691次閱讀

    如何訓(xùn)練和優(yōu)化神經(jīng)網(wǎng)絡(luò)

    神經(jīng)網(wǎng)絡(luò)是人工智能領(lǐng)域的重要分支,廣泛應(yīng)用于圖像識(shí)別、自然語(yǔ)言處理、語(yǔ)音識(shí)別等多個(gè)領(lǐng)域。然而,要使神經(jīng)網(wǎng)絡(luò)在實(shí)際應(yīng)用中取得良好效果,必須進(jìn)行有效的訓(xùn)練和優(yōu)化。本文將從神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-01 14:14 ?469次閱讀

    如何使用Python進(jìn)行神經(jīng)網(wǎng)絡(luò)編程

    。 為什么使用PythonPython是一種廣泛使用的高級(jí)編程語(yǔ)言,以其易讀性和易用性而聞名。Python擁有強(qiáng)大的庫(kù),如TensorFlow、Keras和PyTorch,這些庫(kù)提
    的頭像 發(fā)表于 07-02 09:58 ?410次閱讀

    tensorflow簡(jiǎn)單的模型訓(xùn)練

    TensorFlow開始,然后介紹如何構(gòu)建和訓(xùn)練一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)模型。 1. 安裝TensorFlow 首先,我們需要安裝
    的頭像 發(fā)表于 07-05 09:38 ?676次閱讀

    怎么對(duì)神經(jīng)網(wǎng)絡(luò)重新訓(xùn)練

    重新訓(xùn)練神經(jīng)網(wǎng)絡(luò)是一個(gè)復(fù)雜的過(guò)程,涉及到多個(gè)步驟和考慮因素。 引言 神經(jīng)網(wǎng)絡(luò)是一種強(qiáng)大的機(jī)器學(xué)習(xí)模型,廣泛應(yīng)用于圖像識(shí)別、自然語(yǔ)言處理、語(yǔ)音識(shí)別等領(lǐng)域。然而,隨著時(shí)間的推移,數(shù)據(jù)分布可
    的頭像 發(fā)表于 07-11 10:25 ?461次閱讀

    使用TensorFlow進(jìn)行神經(jīng)網(wǎng)絡(luò)模型更新

    使用TensorFlow進(jìn)行神經(jīng)網(wǎng)絡(luò)模型的更新是一個(gè)涉及多個(gè)步驟的過(guò)程,包括模型定義、訓(xùn)練、評(píng)估以及根據(jù)新數(shù)據(jù)或需求進(jìn)行模型微調(diào)(Fine-tuning)或重新
    的頭像 發(fā)表于 07-12 11:51 ?424次閱讀

    Python自動(dòng)訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)

    人工神經(jīng)網(wǎng)絡(luò)(ANN)是機(jī)器學(xué)習(xí)中一種重要的模型,它模仿了人腦神經(jīng)元的工作方式,通過(guò)多層節(jié)點(diǎn)(神經(jīng)元)之間的連接和權(quán)重調(diào)整來(lái)學(xué)習(xí)和解決問(wèn)題。Python由于其強(qiáng)大的庫(kù)支持(如
    的頭像 發(fā)表于 07-19 11:54 ?357次閱讀

    如何使用Python構(gòu)建LSTM神經(jīng)網(wǎng)絡(luò)模型

    構(gòu)建一個(gè)LSTM(長(zhǎng)短期記憶)神經(jīng)網(wǎng)絡(luò)模型是一個(gè)涉及多個(gè)步驟的過(guò)程。以下是使用Python和Keras庫(kù)構(gòu)建LSTM模型的指南。 1. 安裝必要的庫(kù) 首先,確保你已經(jīng)安裝了Python
    的頭像 發(fā)表于 11-13 10:10 ?363次閱讀
    主站蜘蛛池模板: 超级狂色而且免费又超好看| 午夜毛片不卡高清免费| 人人天天夜夜| 日本在线视频一区二区三区| 色多多www网站| 4虎最新地址| 在线观看视频免费| 婷婷久久综合网| 丁香花在线视频| 午夜黄视频| 天堂网在线观看| 伊人免费网| 亚洲性一区| 欧美三级免费看| 日本污视频在线观看| 福利视频第一区| 黄色片 720p| www.精品视频| 天堂资源在线www中文| 中文永久免费看电视网站入口| 91网站在线播放| 欧美一级日韩在线观看| 人人操天天射| 伊人久久狼人| www视频在线观看天堂| 26uuu影院亚洲欧美综合| 琪琪午夜免费影院在线观看| 欧美又粗又长又湿又黄的视频| 伊人网99| 在线观看视频高清视频| 同性同男小说肉黄| 国模在线视频| 亚洲涩色| 免费在线黄色网| 国产精品视频久久久久久| 四虎免费在线播放| 日本黄色免费网址| 四虎永久免费地址在线网站| 天天干视频在线观看| 亚洲成a人片在线观看尤物| 亚洲第一成网站|