圖像增強_Keras 常用的圖像增強方式

906c7bfc1a01debff76f7f956d3f61cb.png

歡迎關注?“小白玩轉Python”,發現更多 “有趣”

在使用神經網絡和深度學習模型時,需要進行數據準備。對于更復雜的物體識別任務,也越來越需要增加數據量。

數據增加意味著增加數據量。換句話說,擁有更大的數據集意味著更健壯的模型。但是獲取更多的數據并不總是那么容易,而且可能存在存儲數據并將其提供給模型的問題。

為了緩解這個問題,我們可以通過做一些修改手動增加數據,或者我們可以使用一個 Keras 圖像預處理類,只需幾行代碼就可以做到這一點。

在這篇文章中,我們將看到在使用 Keras 開發和評估 Python 中的深度學習模型時,如何使用圖像數據集進行數據準備和數據增強。

讀完這篇文章,你就會知道:

1. 關于Keras提供的圖像增強API以及如何在模型中使用它。如何執行特征標準化;

2. 如何對圖像執行 ZCA 白化;

3. 如何對圖像數據隨機旋轉,移位和翻轉增強;

4. 如何將增強圖像數據保存到磁盤。

圖像增強 API:ImageDataGenerator

它從原始批處理中生成批處理的增強數據。該算法首先對圖像進行隨機變換,然后生成一批新的圖像進行訓練。

注意: 這里需要注意的一點是 ImageDataGenerator 不返回原始圖像,而只返回一批增強數據,這是對原始數據進行某些轉換的結果。

加載數據集

我們將使用 MNIST 手寫數字識別進行數據增強。執行下面的代碼將從 keras.datasets 加載 MNIST 數據集:

9d09a459fade66b3b4f86db76d4a02e8.png

將數據分解成訓練街和測試集

像素標準化

像素標準化在兩個級別上得到支持:每個圖像(稱為樣本級)或每個數據集(稱為特征級)。具體來說,標準化像素值所需的平均值和/或平均值和標準差統計量可以僅從每張圖像中的像素值計算(按樣本計算) ,也可以從整個訓練數據集中計算(按特征計算)。

您可以通過在 ImageDataGenerator 類上設置 featurewise_center 和 featurewise_std_normalization 參數來執行標準化過程。

a67918953909d3bea592447f309af08e.png

5b439ff59cf2eb7ee3158176a4f4e744.png

運行這個例子,您可以看到效果是不同的,似乎暗淡和亮化不同的數字。

ZCA 白化

圖像的白化變換是一個線性代數運算,它減少了像素圖像矩陣中的冗余。通常,圖像增白是使用主成分分析分析技術進行的。最近,一種叫做 ZCA 的方法顯示了更好的結果,在變換后的圖像中保留了所有的原始維度,不像 PCA,結果變換后的圖像仍然看起來像原始圖像。

466067e301514128ed858e577c669844.png

8b2ad154c3b7e98093c1f589546d8192.png

隨機旋轉

您可以訓練您的模型,以更好地在訓練期間人為處理數據集中圖像旋轉和隨機旋轉。下面的示例通過設置 rotation _ range 參數創建 MNIST 數字最高90度的隨機旋轉。

493a7781dc1fed22e96d2b89ffd6940d.png

eeef2392f293c67e642215034e632b55.png

你可以看到圖像被左右旋轉到90度的極限。這對這個問題沒有幫助,因為 MNIST 的數字有一個規范化的方向,但是這種轉換可能有助于從物體可能有不同方向的照片中學習。

隨機平移

圖像中的對象可能不在框架中心。它們可能在各種不同的方面偏離中心。您可以通過人工創建訓練數據的平移版本來訓練深度學習網絡。Keras 支持通過 width_shift_range 和 height_shift_range 參數對訓練數據進行水平和垂直隨機平移。

同樣,由于手寫數字已經居中,這對于 MNIST 來說是不必要的,但是您可以看到這在更復雜的問題域中是多么有用。

8ea2a572590c77dba58d36ce602ada5e.png

df85f45a8dc7cd1d1ef7d962f3be2d9f.png

隨機翻轉

另一個增強圖像數據的方法是在訓練數據中創建隨機的圖像翻轉,這樣可以提高處理大型復雜問題的性能。Keras 支持使用 vertical_flip 和 horizontal_flip 參數沿垂直軸和水平軸進行隨機翻轉。

3792f4988f4b4ee783f86968cd559e8c.png

fd7412927807eb5d753d4630d7f23907.png

翻轉數字不是很有用,因為它們總是有正確的左右方向,但是對于場景中可能有不同方向的物體的照片來說,這可能是有用的。

·? END? ·

HAPPY?LIFE

7672632f8ab110d213e25e83e19b5ee6.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539204.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539204.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539204.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Facebook產品經理的三年敘事與協作思考

產品經理和研發工程師的關系經常被大家調侃,可偏偏就有同時受到研發和設計都喜歡的“別人家的產品經理”,溝通協調、對接需求、項目把控面面俱到還有好人緣。有沒有人天生就是產品經理?產品經理的工作就是寫需求寫需求和寫需求么?…

sis新地址_堅若磐石不掉速,老平臺升級新選擇,入手昱聯Asint 500G SSD

我是文章的原作者,文章首發于:什么值得買愛折騰的老狐貍?zhiyou.smzdm.com首發文章鏈接:堅若磐石不掉速,老平臺升級新選擇,入手昱聯Asint 500G SSD _值客原創_什么值得買?post.smzdm.com雖然說,現在越來越…

hive表定義(3種方式)

創建表 方式一 建表語法 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED BY (col_name, col_name, ..…

進度條設置_為你的練習設置進度條

在我們的日常練習中,遇到最多的一個問題就是不知道自己練得怎么樣了?還需不需要繼續,或者調整練習方法。這種問題大多出現在自學吉他的學生當中,因為得不到老師的反饋,自己練得對不對,夠不夠,都…

Python之路(第二篇):Python基本數據類型字符串(一)

一、基礎1、編碼 UTF-8:中文占3個字節 GBK:中文占2個字節 Unicode、UTF-8、GBK三者關系 ascii碼是只能表示英文字符,用8個字節表示英文,unicode是統一碼,世界通用碼,規定采用2個字節對世界各地不同文字進行編碼&#x…

python ftp下載文件_文件上傳下載Python

點擊上方藍字關注我!圖片來源 pexels.com簡單實現文件上傳、下載1 Server端 # -*- coding: utf-8 -*-import jsonimport os__author__ sange# Time : 2020/8/17 下午5:26# Author : sange# File : tcpserver_socket.py# Software: PyCharmimport socketserv…

hive列定義

修改 列的名稱、類型、位置、注釋 hive>ALTER TABLE t3 CHANGE COLUMN old_name new_name String [COMMENT ...] [AFTER column2]; 實例 hive (zmgdb)> alter table t1 change column car sarly int after office; FAILED: Execution Error, return code 1 from org.a…

react json轉換_Typescript + React 新手篇

極鏈科技前端工程師茅丹丹前言 TS是什么Type Type (標準JS)。TS的官方網站:Type is a typed superset of Java that compiles to plain Java。Type是一個編譯到純JS的有類型定義的JS超集。 TS優點 TS 最大的優勢是它提供了強大的靜態分析能力,結合 TSL…

android listview 滑動條顯示_第七十六回:Android中UI控件之RecyclerView基礎

各位看官們,大家好,上一回中咱們說的是Android中UI控件之ListView優化的例子,這一回咱們說的例子是UI控件之RecyclerView。閑話休提,言歸正轉。讓我們一起Talk Android吧!看官們,我們在前面章回中介紹了Lis…

數據建模大數據就業挑戰月薪30K

點擊關注 異步圖書,置頂公眾號每天與你分享 IT好書 技術干貨 職場知識本文大概 10624 字讀完共需 30 分鐘Tips 參與文末話題討論,即有機會獲得異步圖書一本。數據建模是對現實世界各類數據進行抽象組織、界定數據庫需管轄的范圍、確定數據的組織形式等直…

Hive的數據模型-管理表

概述 管理表,也稱作內部表,受控表。 所有的 Table 數據(不包括 External Table)都保存在warehouse這個目錄中。 刪除表時,元數據與數據都會被刪除。 在加載數據的過程中,實際數據會被移動到數據倉庫目錄中&#xff1b…

mft按鈕設計_火力發電廠典型MFT邏輯控制實現.pdf

火力發電廠典型MFT邏輯控制實現.pdf火力發電廠典型MFT邏輯控制實現劉文豐 陳思銘湖南省電力試驗研究院 (湖南長沙410007)摘要:以金竹山電廠擴建工程國產2600MW亞臨界機組為例,概述了必力發電廠FSSS中典型MFT的原理及重要性,詳細介紹各MFT條件…

oracle schema_oracle數據庫全局統計更新

--oracle數據庫優化 替換用戶名 user,在該用戶下執行begindbms_stats.gather_schema_stats(ownname >USER,options > GATHER,estimate_percent > dbms_stats.auto_sample_size,method_opt > for all columns size skewonly,degree > 7 );end;————…

python操作三大主流數據庫(12)python操作redis的api框架redis-py簡單使用

python操作三大主流數據庫(12)python操作redis的api框架redis-py簡單使用 redispy安裝安裝及簡單使用:https://github.com/andymccurdy/redis-pyapi參考文檔:http://redis-py.readthedocs.io/en/latest/ 1.安裝redis-py pip install redis C:\Users\ajie…

Hive的數據模型-外部表

概述 包含External 的表叫外部表 刪除外部表只刪除metastore的元數據,不刪除hdfs中的表數據 外部表 只有一個過程,加載數據和創建表同時完成,并不會移動到數據倉庫目錄中,只是與外部數據建立一個鏈接。當刪除一個 外部表 時&…

對github的初步認識以及對軟件技術基礎課程的期待

對github的初步認識: Git是一個開源的分布式版本控制系統(版本控制是一種記錄一個或若干文件內容變化,以便將來查閱特定版本修訂情況的系統),客戶端并不只提取最新版本的文件快照,而是把代碼倉庫完整地鏡像…

centos默認安裝mysql_centos6.x默認安裝mysql5.7

1. yum 安裝 mysql5.7 yum 源yum localinstall mysql57-community-release-el6-8.noarch.rpm2. 查看是否成功安裝MySQL Yum Repositoryyum repolist enabled|grep ""mysql.*-community.*3. 安裝mysqlyum install mysql-community-server4.開啟數據庫服務service mys…

Hive的數據模型-分區表

需求 select * from t1 where xxxx; 這是全表掃描的。實際應用中,有時候不一定需要全表掃描。 比如電信的日志文件,一個表里存了從去年到現在的日志文件,那是很多很大的,實際需求要查今天的,如果用上面的sql&#xf…

arduino 停止程序_建立Arduino機器人,第五部分:障礙規避

歡迎閱讀教程系列的第五篇文章,其中我正在構建一個基于遙控Arduino的車輛機器人。這是我到目前為止發表的文章列表:第一部分:硬件組件第二部分:Arduino編程第三部分:組裝機器人第四部分:A(不是那樣)基本機器…

debug error怎么解決_我要以血和淚的經歷告訴你,這個 bug 太難解決了

[npm install報錯: npm WARN tar ENOENT: no such file or directory]npm installnpm WARN deprecated request2.88.2: request has been deprecated, see request/request#3142npm WARN deprecated mkdirp0.5.1: Legacy versions of mkdirp are no longer supported. Please u…