検索 - みる会図書館

検索対象: TensorFlowはじめました2 機械学習で超解像─Super Resolution (NextPublishing)

TensorFlowはじめました2 機械学習で超解像─Super Resolution (NextPublishing)から 49件ヒットしました。

TensorFlowはじめました2 機械学習で超解像─Super Resolution (NextPublishing)


50 祚 イ ン プ レ ス R & D [ NextPublishing] - ー ・ ・ New Thinking New Ways E-Book/ Print Book は じ め ま し た 機 械 学 習 で 超 解 像 ー Super ResoIution 有 山 圭 ニ R&D impress 解 像 度 ア ッ プ を 実 現 ! G 〇 〇 g に の 機 械 学 習 で

TensorFlowはじめました2 機械学習で超解像─Super Resolution (NextPublishing)


0 一 0 第 2 章 超 解 像 と は CNN で 超 解 像 う に 定 義 し ま す 。 モ デ ル に サ イ ズ 33px の 低 解 像 度 画 像 を 入 力 す る と 、 21px の 解 像 度 が 高 い 画 像 を 出 力 す る よ リ ス ト 2.1 の 関 数 inference は 、 本 書 で 使 う 超 解 像 の モ デ ル を グ ラ フ と し て 構 築 し ま す 。 モ テ ル の 定 義 3 . 画 像 処 理 2 . 学 習 1 . モ デ ル の 定 義 モ デ ル は 、 次 の 手 順 で 作 成 し ま す 。 図 2.1 劣 化 し た 画 像 の 解 像 度 を 高 め る ( イ メ ー ジ ) 本 書 で は TensorFlow を 使 っ て 、 超 解 像 を 実 現 す る 機 械 学 習 の モ デ ル を 作 成 し ま す 。 し た ま ま 解 像 度 を 高 め る こ と 、 も し く は 、 そ れ を 実 現 す る 技 術 を 言 い ま す 。 超 解 像 (Super ResoIution) と は 、 拡 大 や 不 可 逆 圧 縮 な ど で 劣 化 し た 画 像 を 、 元 の 画 質 を 維 持 22 第 2 章 CNN で 超 解 像

TensorFlowはじめました2 機械学習で超解像─Super Resolution (NextPublishing)


本 書 に つ い て 本 書 は 技 術 書 オ ン リ ー 即 売 会 「 技 術 書 典 2 (https:〃 techbookfest.org/) 」 で 頒 布 さ れ た 同 名 出 版 物 を 底 本 と し て 、 修 正 等 を 行 い 制 作 さ れ ま し た 。 本 書 は 、 TensorFlow が オ ー プ ン ソ ー ス で 公 開 さ れ る ま で 機 械 学 習 に 触 れ た こ と が な か っ た 筆 者 が 、 Tens 。 rFl 。 w を 通 じ て 機 械 学 習 に 挑 戦 し て 、 七 転 八 倒 し た 成 果 を ま と め た も の で す 。 本 書 の 構 成 本 書 で は 、 ま ず 始 め に TensorFl 。 w の 基 本 で あ る デ ー タ フ ロ ー グ ラ フ に つ い て 解 説 し ま す 。 次 に 、 画 像 の 解 像 度 を 高 め る 「 超 解 像 」 を 題 材 に 「 畳 み 込 み ニ ュ ー ラ ル ネ ッ ト ワ ー ク 」 モ デ ル の 学 習 と 評 価 を 実 装 し ま す 。 Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅱ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ II Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ 学 習 デ ー タ に つ い て 本 書 で は 学 習 デ ー タ と し て 、 約 60 , OOO 枚 の 画 像 デ ー タ を 使 用 し て い ま す 。 こ れ ら は 筆 者 が 、 こ れ ま で の 機 械 学 習 の 取 り 組 み の 中 で 集 め た も の で す 。 各 画 像 の 著 作 権 は 作 成 者 に 帰 属 し 、 著 者 の 判 断 で 再 配 布 を す る こ と は で き ま せ ん 。 も し あ な た が 本 書 の 内 容 を 試 そ う と し た 場 合 、 こ 自 身 で 学 習 デ ー タ を 集 め る 必 要 が あ り ま す 。 Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ ⅱ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ 前 提 知 識 本 書 は 、 読 者 に プ ロ グ ラ ミ ン グ 言 語 「 python 」 に 関 す る 基 本 的 な 知 識 が あ る こ と を 前 提 に し て い ま す 。 ま た 、 TensorFIow に 加 え て 次 の ラ イ プ ラ リ を 使 用 し て い ま す 。 必 要 に 応 じ て リ フ ァ レ ン ス を 参 照 し て く だ さ い 。 ・ NumPy(http ・ 〃 www.numpy.org/ ・ PiIlow(https.//pillow.readthedocs.io/) ・ scikit-image(http.//scikit-image.org/) 4 本 書 に つ い て

TensorFlowはじめました2 機械学習で超解像─Super Resolution (NextPublishing)


第 1 章 TensorFIow の 基 礎 TensorFlow と は TensorFlow は 、 2015 年 11 月 、 米 G 。 。 gle 社 が オ ー プ ン ソ ー ス で 公 開 し た 機 械 学 習 用 の 計 算 フ レ ー ム ワ ー ク で す 。 2017 年 2 月 に バ ー ジ ョ ン 1.0.0 が リ リ ー ス さ れ ま し た 。 TensorFlow は 、 機 械 学 習 に 必 要 と な る 膨 大 な 計 算 を 複 数 の GPU や マ シ ン で 分 散 ・ 並 列 で 処 理 で き ま す 。 ま た 、 Android や iOS な ど の モ バ イ ル 上 や Raspberry Pi な ど 複 数 の プ ラ ッ ト フ ォ ー TensorFlow ム で 動 作 1 す る こ と も 特 徴 で す 。 グ ラ フ の 構 築 成 さ れ ま す 。 テ ー タ フ ロ ー グ ラ フ TensorFlow は 、 デ ー タ の 流 れ ( フ ロ ー ) を 定 義 し た 「 グ ラ フ 」 で 処 理 を 実 行 し ま す 。 あ ら か TensorFIow に よ る 処 理 は 、 ア ー タ フ ロ ー グ ラ フ の 「 構 築 」 と 「 実 行 」 の 2 つ の フ ェ ー ズ で 構 じ め グ ラ フ を 構 築 す る こ と で 、 Python と C / C + + 間 の オ ー バ ー ヘ ッ ド を 低 減 し 、 さ ら に 複 数 の import absotute_import future from # coding: UTF—8 リ ス ト 1 . 1 : 2 + 3 の 足 し 算 た め し に 、 次 の プ ロ グ ラ ム を 実 行 し ま し よ う 。 GPU や マ シ ン で の 並 列 ・ 分 散 処 理 を 可 能 に し て い ま す 。 8 第 1 章 TensorFlow の 基 礎

TensorFlowはじめました2 機械学習で超解像─Super Resolution (NextPublishing)


そ れ ぞ れ の 画 像 は [height, width, channet] の Tensor で す 。 こ れ ら を 追 加 し た リ ス ト を 、 stack で 連 結 す る こ と で [batch_size, height, width, channel] の Tensor を 得 ま た 、 機 械 学 習 の 学 習 ア ル ゴ リ ズ ム に は 、 デ ー タ の 値 域 が 広 す ぎ る と 有 効 に 機 能 し な い も の が あ り ま す 。 そ の た め 、 最 後 に そ れ ぞ れ の 値 を 255 で 除 算 し て 、 ピ ク セ ル の 値 域 ()~ 255 ) を @ . . @ に 正 規 化 (Normalize) し て い ま す 2 Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ 1 枚 の 画 像 か ら 切 り 出 す サ ン プ ル 数 for を 使 っ て 、 一 枚 の 画 像 か ら 複 数 の 画 像 を c 「 op ( 切 り 出 し ) を し て い る の は 、 CPU の 負 荷 を 下 げ る の が 目 的 で す 。 筆 者 は 当 初 、 fo 「 を 使 わ ず 、 1 枚 の サ ン プ ル 画 像 か ら 1 枚 の 学 習 用 画 像 を 切 り 出 し て い ま し た 。 し か し 、 プ ロ グ ラ ム を 検 証 環 境 で 実 行 し た 際 に 、 CPU と I/O が 高 負 荷 に な っ て GPU の 性 能 を 活 か せ な い と い う 問 題 が 発 生 し ま し た 。 た と え ば 1 28 の ミ ニ ノ ヾ ッ チ で 学 習 し た 場 合 、 大 き な サ ン プ ル 画 像 か ら 学 習 用 画 像 を 1 枚 し か 切 り 出 さ な い と 、 一 回 の バ ッ チ で 1 28 回 の フ ァ イ ル の 読 み 込 み と デ コ ー ド が 発 生 す る こ と に な り ま す 。 そ こ で 、 リ ス ト 2.3 の よ う に 、 1 枚 の 画 像 を デ コ ー ド し た あ と 、 ま と ま っ た 数 の サ ン プ ル を 取 得 す る こ と で 、 CPU と I/O の 負 荷 が 下 が り 、 GPU の 性 能 を 発 揮 す る こ と が で き る よ う に な り ま し た 。 Ⅲ Ⅲ II Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ Ⅲ 誤 差 関 数 の 定 義 誤 差 関 数 (Loss Function) で 、 入 力 を モ デ ル が 処 理 し た 出 力 が 、 期 待 す る 出 力 と ど の 程 度 離 れ て い る か を 算 出 し ま す 。 関 数 ー ユ 。 ss は 、 画 像 を 扱 う と き に 一 般 的 な MSE (Mean Squared Error: 平 均 二 乗 誤 差 ) を ground-truth) ) 最 適 化 ア ル ゴ リ ズ ム の 設 定 tf. squared—difference(sr— return tf. reduce_mean( def loss(sr_images, ground リ ス ト 2.4srcnn/train. py 用 い て 誤 差 を 求 め ま す ( リ ス ト 2.4 ) 。 nmages, _truth) : タ ー を 更 新 し ま す 。 最 適 化 ア ル ゴ リ ズ ム は 、 誤 差 関 数 が 算 出 し た 誤 差 を も と に 、 誤 差 が 小 さ く な る よ う に パ ラ メ ー 関 数 __init_optimizer は 、 AdamOptimizer を 最 適 化 ア ル ゴ リ ズ ム に 設 定 し ま す ( リ ス ず Adam を 使 用 し て み て 、 ト 2.5 ) 。 ど う し て も 求 め る 精 度 や 性 能 が 出 な け れ ば 、 別 の 最 適 化 ア ル ゴ リ ズ Adam (Optimizer) は 、 2014 年 に 発 表 さ れ た 最 適 化 ア ル ゴ リ ズ ム で す 。 筆 者 は 学 習 の 際 、 ま 28 第 2 章 CNN で 超 解 像

TensorFlowはじめました2 機械学習で超解像─Super Resolution (NextPublishing)


TensorFlow は じ め ま し た 2 超 角 象 —Super Resolution 2017 年 6 月 2 日 初 版 発 行 ver. 1.0 (PDF 版 ) 著 者 有 山 圭 二 編 集 人 山 城 敬 発 行 人 井 芹 昌 信 発 行 株 式 会 社 イ ン プ レ ス R & D 〒 101-0051 東 京 都 千 代 田 区 神 田 神 保 町 一 丁 目 105 番 地 http.//nextpublishing.jp/ 機 械 学 習 で ・ 本 書 は 著 作 権 法 上 の 保 護 を 受 け て い ま す 。 本 書 の 一 部 あ る い は 全 部 に つ い て 株 式 会 社 イ ン プ レ ス R & D か ら 文 書 に よ る 許 諾 を 得 ず に 、 い か な る 方 法 に お い て も 無 断 で 複 写 、 複 製 す る こ と は 禁 じ ら れ て い ま す 。 ( 02017 Keiji Ariyama. AII rights reserved. ISBN978-4-8443-9774-8 住 x に NextPubIishing ・ ◎ 本 書 は NextPub ⅱ shing メ ソ ッ ド に よ っ て 発 行 さ れ て い ま す 。 NextPub hing メ ソ ッ ド は 株 式 会 社 イ ン プ レ ス R & D が 開 発 し た 、 電 子 書 籍 と 印 刷 書 籍 を 同 時 発 行 で き る デ ジ タ ル フ ァ ー ス ト 型 の 新 出 版 方 式 で す 。 http://nextpublishing.jp/

TensorFlowはじめました2 機械学習で超解像─Super Resolution (NextPublishing)


著 者 紹 介 有 山 圭 二 ( あ り や ま け い し 有 限 会 社 シ ー リ ス 代 表 。 Android ア プ リ ケ ー シ ョ ン の 受 託 開 発 や 、 Andr 。 id に 関 す る コ ン サ ル テ ィ ン グ 業 務 の 傍 ら 、 技 術 系 月 刊 誌 へ の 記 事 執 筆 。 最 近 は 趣 味 で 機 械 学 習 ( デ ィ ー プ ラ ー ニ ン グ ) を 取 り 組 ん で い る 。 著 書 と し て 「 Android studio で は じ め る 簡 単 Android ア プ リ 開 発 ( 技 術 評 論 社 刊 ) 」 「 TensorFIow は じ め ま し た ( イ ン プ レ ス R & D Next PubIishing) 」 な ど 。 ◎ 本 書 ス タ ッ フ ア ー ト デ ィ レ ク タ ー / 装 丁 : 岡 田 章 志 十 GY デ ジ タ ル 編 集 : 栗 原 翔 表 紙 イ ラ ス ト : 根 雪 れ い ・ 本 書 の 内 容 に つ い て の お 問 い 合 わ せ 先 株 式 会 社 イ ン プ し ス R & D メ ー ル 窓 口 np- [email protected] CO. 」 p 件 名 に 「 「 本 書 名 」 問 い 合 わ せ 係 」 と 明 記 し て お 送 り く だ さ い 。 電 話 や FAX 、 郵 便 で の ご 質 問 に は お 答 え で き ま せ ん 。 返 信 ま で に は 、 し ば ら く お 時 間 を い た だ く 場 合 が あ り ま す 。 な お 、 本 書 の 範 囲 を 超 え る ご 質 問 に は お 答 え し か ね ま す の で 、 あ ら か じ め ご 了 承 く だ さ い 。 ま た 、 本 書 の 内 容 に つ い て は Ne Pub ⅱ shing オ フ ィ シ ャ ル Web サ イ ト に て 情 報 を 公 開 し て お り ま す 。 http://nextpublishingjp/

TensorFlowはじめました2 機械学習で超解像─Super Resolution (NextPublishing)


variabte_on_cpu('biases' shape, tf. constant_initializer(vatue)) —get—biases(biases—shape, vatue=biases—value) biases if biases_shape is not None: padding=padding) conv = tf. nn. conv2d(input_Iayer, weights, strides, —get—weights(weights—shape, stddev=weight—stddev) weights with tf. variabte_scope(name) as scope: strides=(), 1 , 1 , 1 ) , padding='VALID'): biases_shape, biases_value, weights—shape, weight—stddev, def conv2d(name, input_layer, return var conv tf. nn . bias_add(conv, biases) 図 2.3 Convolutional Neural Network return conv 33X33X1 convl 9X9X64 conv2 1XIX32 ReLU conv3 5X5X1 21X21X1 ReLU ReLU 図 2.3 は 、 モ デ ル を 図 示 し た も の で す 。 こ れ は 論 文 「 lmage Super-Resolution Using Deep ConvoIutional Networksl 」 で 紹 介 さ れ て い る モ デ ル で す 。 3 層 の 畳 み 込 み 層 (Convolutional Layer) で 構 成 さ れ る CNN (Convolutional Neural Network) は 、 深 層 化 の 傾 向 を 深 め て い る 昨 今 か ら 見 れ ば 小 さ い モ デ ル で す が 、 正 し く 使 え ば 、 こ の 規 模 の も の で も 超 解 像 を 実 現 で き ま す 。 学 習 モ デ ル を 定 義 し た だ け で は 、 期 待 す る と お り の 機 能 ( 超 解 像 ) は 果 た し ま せ ん 。 目 的 に 適 う よ う に す る に は 、 モ デ ル に 低 解 像 度 の 画 像 を 入 力 す る と 、 高 解 像 度 の 画 像 を 出 力 す る よ う に 「 学 習 」 さ せ る 必 要 が あ り ま す 。 学 習 は 、 次 の 手 順 で 行 い ま す 。 第 2 章 CNN で 超 解 像 25

TensorFlowはじめました2 機械学習で超解像─Super Resolution (NextPublishing)


一 気 に 誤 差 が 落 ち て い る よ う に 見 え る の は 、 誤 差 の 初 期 値 が 大 き く 、 グ ラ フ の 縮 尺 が 大 き く な っ て い る た め で す 。 こ の あ た り は 用 意 す る デ ー タ セ ッ ト や 、 学 習 の 初 期 値 、 学 習 デ ー タ の 読 み 込 ま れ る 順 番 が ラ ン ダ ム な の で 、 毎 回 異 な る 結 果 に な る の が 悩 ま し い と こ ろ で す が 、 な る べ く 後 半 の 誤 差 の 変 化 が 見 え る よ う に 調 整 2 し た も の が 、 図 4.3 で す 。 図 4.3 誤 差 の 変 イ ヒ (smoothing=O. 9) 1 上 CC 3 : .6 賀 総 -3 : 、 50 第 -3 : .4 こ ℃ 2-3 1 、 30 ( ・ 3 - ー を 2ÜOe ・ 3 250. Ok 2C0 ℃ k 150 ℃ k 心 .00k SOOCk 1000k 0 ℃ 00 図 4.4 は 、 評 価 用 の 画 像 を 2 倍 に 拡 大 後 、 学 習 済 み の モ デ ル を 使 っ て 超 解 像 処 理 を し た 結 果 で す 。 図 4.4 超 解 像 処 理 を し た 画 像 門 ー 62 第 4 章 さ ま ざ ま な モ デ ル

TensorFlowはじめました2 機械学習で超解像─Super Resolution (NextPublishing)


1 . 学 習 デ ー タ の 読 み 込 み 2 . 誤 差 関 数 の 定 義 3 . 最 適 化 ア ル ゴ リ ズ ム の 設 定 4 . 学 習 の 実 行 学 習 デ ー タ の 読 み 込 み リ ス ト 2.3 の 関 数 load ー image は 、 画 像 の 読 み 込 み 処 理 で す 。 引 数 に 読 み 込 む 画 像 フ ァ イ ル の リ ス ト (jpeg-file_list) と 、 モ デ ル へ 入 力 す る 画 像 サ イ ズ (input-size) 、 モ デ ル が 出 力 す る 画 像 サ イ ズ (output-size) を 指 定 し ま す 。 戻 り 値 は 、 batch ー size で 指 定 し た 数 の 学 習 に 使 う 低 解 像 度 の 画 像 (lr-images) と 、 高 解 像 度 の 画 像 (ground-truths) の 組 み 合 わ せ で す 。 リ ス ト 2.3 : srcnn/image 」 oader_svs. py # coding: UTF—8 future future future from from from import absolute_import import division import print_function import tensorflow as tf def load_image(file_tist, input_size, output—size, channets=l, scaIe=2, batch_size=l) : with tf. name_scope( ' image_loader—svs') : fitename—queue = tf. train. string—input—producer(file_list, shuffle=True) tf. WholeFiteReader() reader.read(filename—queue) reader value image = tf. image. decode—jpeg(value, channels=channels) lr_images ground_truths for i in range(batch—size) : tf. random—crop( cropped—image image, (input—size, input—size, channels)) tf. image . resize_images( ground_truth 26 第 2 章 CNN で 超 解 像