999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TensorFlow的移動終端圖像識別方法

2018-03-07 06:15:44熊亞蒙
無線互聯(lián)科技 2018年21期

熊亞蒙

摘 要:文章研究了基于TensorFlow的移動終端圖像識別方法。TensorFlow是一種機(jī)器學(xué)習(xí)工具。TensorFlow功能廣泛,但是主要用于構(gòu)建深度神經(jīng)網(wǎng)絡(luò)模型。移動應(yīng)用程序能夠理解識別可能非常有用,通過遷移學(xué)習(xí)幫助識別圖像內(nèi)容可以幫助應(yīng)用程序應(yīng)用適當(dāng)?shù)剡^濾,或者標(biāo)記照片以使其易于找到,因此,可以使用圖像傳感器來檢測各種有趣的情況。

關(guān)鍵詞:圖像識別;TensorFlow;遷移學(xué)習(xí)

圖像識別,是指利用計(jì)算機(jī)對圖像進(jìn)行處理、分析和理解,以識別各種不同模式的目標(biāo)和對象的技術(shù)。一般工業(yè)使用中,采用工業(yè)相機(jī)拍攝圖片,然后再利用軟件根據(jù)圖片灰階差作進(jìn)一步識別處理,圖像識別軟件國外代表的有康耐視等,國內(nèi)代表的有圖智能等。另外,在地理學(xué)中指將遙感圖像進(jìn)行分類的技術(shù)[1]。

1 圖像識別一般方法

圖像識別可能是以圖像的主要特征為基礎(chǔ)的。每個圖像都有它的特征,如字母A有個尖,P有個圈、而Y的中心有個銳角等。對圖像識別時眼動的研究表明,視線總是集中在圖像的主要特征上,也就是集中在圖像輪廓曲度最大或輪廓方向突然改變的地方,這些地方的信息量最大。由此可見,在圖像識別過程中,知覺機(jī)制必須排除輸入的多余信息,抽出關(guān)鍵的信息。同時,在大腦里必定有一個負(fù)責(zé)整合信息的機(jī)制,它能把分階段獲得的信息整理成一個完整的知覺映象[2]。

在人類圖像識別系統(tǒng)中,對復(fù)雜圖像的識別往往要通過不同層次的信息加工才能實(shí)現(xiàn)。對于熟悉的圖形,由于掌握了它的主要特征,就會把它當(dāng)作一個單元來識別,而不再注意它的細(xì)節(jié)了。這種由孤立的單元材料組成的整體單位叫作組塊,每一個組塊是同時被感知的。在文字材料的識別中,人們不僅可以把一個漢字的筆劃或偏旁等單元組成一個組塊,而且能把經(jīng)常在一起出現(xiàn)的字或詞組成組塊單位來加以識別。

在計(jì)算機(jī)視覺識別系統(tǒng)中,圖像內(nèi)容通常用圖像特征進(jìn)行描述。事實(shí)上,基于計(jì)算機(jī)視覺的圖像檢索也可以分為類似文本搜索引擎的3個步驟:提取特征、建索引build以及查詢[3]。

2 TensorFlow 平臺

TensorFlow?是一個使用數(shù)據(jù)流圖進(jìn)行數(shù)值計(jì)算的開放源代碼軟件庫。圖中的節(jié)點(diǎn)代表數(shù)學(xué)運(yùn)算,而圖中的邊則代表在這些節(jié)點(diǎn)之間傳遞的多維數(shù)組(張量)。借助這種靈活的架構(gòu),可以通過一個 API 將計(jì)算工作部署到桌面設(shè)備、服務(wù)器或移動設(shè)備中的一個或多個 CPU或GPU。

TensorFlow物體檢測API是一個構(gòu)建在TensorFlow上的框架,用于識別圖像中特定的對象。例如,你可以用很多貓的照片訓(xùn)練它,一旦訓(xùn)練完畢,你可以輸入一張貓的圖像,它就會輸出一個方框列表,認(rèn)為圖像中有一只貓。通過TensorFlow支持5個預(yù)訓(xùn)練模型的遷移學(xué)習(xí)(transfer learning),完成遷移學(xué)習(xí),提升識別速度。

TensorFlow Lite是TensorFlow針對移動和嵌入式設(shè)備的輕量級解決方案。它支持低延遲和小二進(jìn)制大小的設(shè)備上機(jī)器學(xué)習(xí)推理。TensorFlow Lite還支持Android神經(jīng)網(wǎng)絡(luò)API的硬件加速。TensorFlow Lite使用許多技術(shù)來實(shí)現(xiàn)低延遲,如優(yōu)化移動應(yīng)用程序內(nèi)核,預(yù)融合激活以及允許更小和更快(定點(diǎn)數(shù)學(xué))模型的量化內(nèi)核。

3 TensorFlow Lite使用

在移動應(yīng)用中使用TensorFlow Lite模型需要多方面的考慮:您必須選擇預(yù)先訓(xùn)練好的模型或自定義模型,將模型轉(zhuǎn)換為TensorFLow Lite格式,最后將模型集成到您的應(yīng)用中(見圖1)。

圖1 TensorFlow圖像識別的步驟

根據(jù)用例,可以選擇流行的開源模型之一(如InceptionV3或MobileNets),并使用自定義數(shù)據(jù)集重新訓(xùn)練這些模型,甚至可以構(gòu)建自己的自定義模型。

3.1 使用預(yù)先訓(xùn)練的模型

對圖像進(jìn)行預(yù)處理,改變大小、貼標(biāo)簽、將它們分成訓(xùn)練和測試兩部分,并修改成Pascal VOC格式;將圖片轉(zhuǎn)化成TFRecords文件以符合物體檢測API;利用MobileNet在谷歌Cloud ML Engine上訓(xùn)練模型;導(dǎo)出訓(xùn)練好的模型并將其部署到ML Engine上進(jìn)行服務(wù)。

MobileNets是TensorFlow的一系列移動優(yōu)先計(jì)算機(jī)視覺模型,旨在有效提高準(zhǔn)確性,同時考慮到設(shè)備或嵌入式應(yīng)用的受限資源。MobileNets是參數(shù)化的小型低延遲低功耗模型,可滿足各種用途的資源限制。它們可以用于分類、檢測、嵌入和分割—類似于其他流行的大規(guī)模模型,例如Inception。Google為MobileNets提供了16個預(yù)先訓(xùn)練的ImageNet分類檢查點(diǎn),可用于各種規(guī)模的移動項(xiàng)目。

Inception-v3是一個圖像識別模型,可以很高的精度識別1 000個類別的普通物體,例如“Zebra”“Dalmatian”和“Dishwasher”。該模型使用卷積神經(jīng)網(wǎng)絡(luò)從輸入圖像中提取一般特征,并根據(jù)那些具有完全連接和softmax層的特征對其進(jìn)行分類。

針對自定義數(shù)據(jù)集重新訓(xùn)練Inception-V3或MobileNet,這些預(yù)先訓(xùn)練的模型在包含1 000個預(yù)定義類的ImageNet數(shù)據(jù)集上進(jìn)行了培訓(xùn)。如果這些類不足以滿足您的用例,則需要重新訓(xùn)練該模型。這種技術(shù)被稱為轉(zhuǎn)移學(xué)習(xí),并從一個已經(jīng)對某個問題進(jìn)行過訓(xùn)練的模型開始,然后對模型進(jìn)行重新訓(xùn)練以解決類似的問題。從頭開始深入學(xué)習(xí)可能需要數(shù)天,但轉(zhuǎn)移學(xué)習(xí)相當(dāng)快。為了做到這一點(diǎn),需要生成一個標(biāo)有相關(guān)類的自定義數(shù)據(jù)集。

訓(xùn)練一個自定義模型:開發(fā)人員可以選擇使用Tensorflow來培訓(xùn)自定義模型。如果已經(jīng)編寫了模型,第一步是將其導(dǎo)出到tf.GraphDef文件中。這是必需的,因?yàn)橛行└袷讲粫⒛P徒Y(jié)構(gòu)存儲在代碼之外,我們必須與框架的其他部分進(jìn)行通信。請參閱導(dǎo)出推理圖以創(chuàng)建自定義模型的.pb文件。

3.2 轉(zhuǎn)換模型格式

通過生成(或下載)的模型是標(biāo)準(zhǔn)的Tensorflow模型,是一個.pb或.pbtxt tf.GraphDef文件。使用轉(zhuǎn)移學(xué)習(xí)(重新培訓(xùn))或自定義模型生成的模型必須進(jìn)行轉(zhuǎn)換,但是,我們必須先凍結(jié)圖形以將模型轉(zhuǎn)換為Tensorflow Lite格式。這個過程使用以下幾種模型格式。

tf.GraphDef(.pb)—代表TensorFlow訓(xùn)練或計(jì)算圖的protobuf。它包含運(yùn)算符、張量和變量定義。

CheckPoint(.ckpt)—來自TensorFlow圖形的序列化變量。由于這不包含圖形結(jié)構(gòu),因此它本身不能被解釋。

FrozenGraphDef—它的一個子類GraphDef不包含變量。A GraphDef可以轉(zhuǎn)換為一個FrozenGraphDef通過采取檢查點(diǎn)和一個GraphDef,以及使用從檢查點(diǎn)檢索到的值的每個變量轉(zhuǎn)換成一個常數(shù)。

SavedModel-A GraphDef和CheckPoint的簽名將標(biāo)簽輸入和輸出參數(shù)標(biāo)記為模型。A GraphDef和CheckPoint可以從a中提取SavedModel。

TensorFlow Lite模型(.tflite)—包含TensorFlow Lite操作符和張量的TensorFlow Lite解釋器的序列化FlatBuffer,類似于a FrozenGraphDef。

凍結(jié)圖:要在GraphDefTensorFlow Lite中使用.pb文件,必須具有包含經(jīng)過訓(xùn)練的權(quán)重參數(shù)的檢查點(diǎn)。.pb文件只包含圖形的結(jié)構(gòu)。將檢查點(diǎn)值與圖結(jié)構(gòu)合并的過程稱為凍結(jié)圖。

應(yīng)該有一個檢查點(diǎn)文件夾或?qū)⑺鼈兿螺d到預(yù)先訓(xùn)練的模型(例如 MobileNets)。

凍結(jié)GraphDef現(xiàn)在已準(zhǔn)備好轉(zhuǎn)換為FlatBuffer適用于Android或iOS設(shè)備的格式(.tflite)。對于Android,Tensorflow Optimizing Converter工具支持浮點(diǎn)模型和量化模型。將凍結(jié)轉(zhuǎn)換為GraphDef.tflite格式。

找到這些值最簡單的方法是使用Tensorboard探索圖形。在freeze_graph步驟中重新使用用于指定輸出節(jié)點(diǎn)進(jìn)行推理的參數(shù)。

也可以使用Tensorflow Optimizing Converter和Python或命令行中的protobufs。這允許您將轉(zhuǎn)換步驟集成到模型設(shè)計(jì)工作流程中,確保模型可以輕松轉(zhuǎn)換為移動推理圖。

在回購包含轉(zhuǎn)換后的可視化TensorFlow Lite的工具。構(gòu)建visualize.py工具。這會生成一個交互式HTML頁面列表子圖,操作和圖表可視化。

3.3 在移動應(yīng)用程序中使用TensorFlow Lite模型進(jìn)行推理

在完成前面的步驟之后,會生成一個.tflite模型文件。

由于Android應(yīng)用程序是用Java編寫的,核心TensorFlow庫是用C++編寫的,因此提供了一個JNI庫作為接口。這只是用于推理 - 它提供了加載圖形,設(shè)置輸入以及運(yùn)行模型來計(jì)算輸出的功能。

使用Android Studio試用項(xiàng)目代碼中的更改并編譯演示應(yīng)用程序:

確保Android SDK版本大于26并且NDK版本大于14(在Android Studio設(shè)置中)。

將該tensorflow/contrib/lite/java/demo目錄導(dǎo)入為新的Android Studio項(xiàng)目。

安裝它請求的所有Gradle擴(kuò)展。

要獲得模型,下載量化的Mobilenet TensorFlow Lite模型,并解壓縮并復(fù)制mobilenet_quant_v1_224.tflite到assets目錄中TensorFlow指定目錄。

或者,下載浮點(diǎn)Inception-v3模型 并解壓并復(fù)制inceptionv3_non_slim_2015.tflite到資產(chǎn)目錄。

4 結(jié)語

文中我們對TensorFlow Lite在移動平臺的通用方法和步驟進(jìn)行了歸納總結(jié),通過TensorFlow預(yù)訓(xùn)練模型、轉(zhuǎn)化格式、推演三步驟詳細(xì)地描述其操作和原理,對自己的圖像識別實(shí)踐中的問題也進(jìn)行了總結(jié)。當(dāng)然,TensorFlow應(yīng)用范圍很多,不局限于圖像分類,還包括語音識別、序列生成等,這有待于我們?nèi)パ芯渴褂谩?/p>

主站蜘蛛池模板: 成人国产免费| 欧美精品xx| 无码福利日韩神码福利片| 精品人妻系列无码专区久久| 国产一级妓女av网站| 在线观看国产网址你懂的| 久久久久国产精品嫩草影院| 国产原创第一页在线观看| 成人国产小视频| 国产精品无码翘臀在线看纯欲| 欧美亚洲国产日韩电影在线| 亚洲国产系列| 国产美女在线免费观看| 亚洲区第一页| 欧美综合激情| 国产不卡在线看| 青青久在线视频免费观看| 国内视频精品| 国产办公室秘书无码精品| 永久免费av网站可以直接看的| 在线无码av一区二区三区| 亚洲日韩精品无码专区97| 欧美国产日韩另类| 狼友视频国产精品首页| 日韩精品无码免费专网站| 91久久偷偷做嫩草影院| 不卡的在线视频免费观看| 精品天海翼一区二区| 四虎在线高清无码| 黄色网页在线观看| 波多野一区| 国产尤物在线播放| 国产噜噜在线视频观看| 玖玖精品在线| 亚洲欧州色色免费AV| 国产黄色视频综合| 亚洲一级色| 日本午夜精品一本在线观看| 在线日韩一区二区| 蜜臀av性久久久久蜜臀aⅴ麻豆| 凹凸国产熟女精品视频| 十八禁美女裸体网站| 就去色综合| 国产免费福利网站| 国产91高跟丝袜| 国产精品免费入口视频| 欧美精品亚洲日韩a| 18禁影院亚洲专区| 欧美成人A视频| a欧美在线| 亚洲第一在线播放| 国产视频欧美| 久久精品女人天堂aaa| AV在线天堂进入| 国产成人综合欧美精品久久| 免费Aⅴ片在线观看蜜芽Tⅴ| 亚洲不卡无码av中文字幕| 综合色在线| 国产区免费精品视频| av手机版在线播放| 黄色成年视频| 亚洲欧美综合另类图片小说区| 91精品aⅴ无码中文字字幕蜜桃| 国产中文在线亚洲精品官网| 国产精品亚欧美一区二区三区| 亚洲精品人成网线在线| 欧美精品一区二区三区中文字幕| 欧美福利在线观看| 国产欧美日韩18| 情侣午夜国产在线一区无码| 人妻无码中文字幕一区二区三区| 在线观看免费黄色网址| 国产99视频在线| 91美女视频在线| 99尹人香蕉国产免费天天拍| 毛片久久久| yy6080理论大片一级久久| 中文字幕永久视频| 青草娱乐极品免费视频| www亚洲精品| h视频在线观看网站| 国产欧美日韩精品综合在线|