検索 - みる会図書館

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

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

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)


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)


表 1 . 1 Tensor の Rank と Shape Shape Rank 0 1 [email protected], DI] 2 [[email protected], DI, D2] 3 DI, 伊 > E Dimension 0 次 元 1 次 元 2 次 元 3 次 元 n 次 元 ・ Dn-1] 713 [ 1 .1 , 2.2 , 3 . 3 ] [ [ 1 , 2 , 3 ] , [ 4 , 5 , 6 ] , [ 7 , 8 , 9 ] ] 表 1 .2 Tenso 「 の テ ー タ 型 ( 抜 粋 ) python で の 型 解 説 32 ピ ッ ト 浮 動 小 数 点 形 式 tf . f10at32 ピ ッ ト 浮 動 小 数 点 形 式 tf . f10at64 8 ピ ッ ト 整 数 tf . int8 16 ビ ッ ト 整 数 tf . int16 32 ビ ッ ト 整 数 tf . int32 ビ ッ ト 整 数 tf . int64 符 号 無 し 8 ビ ッ ト 整 数 t f . u i nt8 符 号 無 し 16 ビ ッ ト 整 数 tf . uint16 可 変 長 文 字 列 tf. string 真 偽 値 tf . b001 TensorFIow の ウ エ プ サ イ ト 4 に 、 よ り 詳 細 な 表 が あ り ま す 。 Rank が 一 致 し な い テ ン ソ ル は 演 算 で き な い な ど 、 Tensor に 起 因 す る エ ラ ー に 遭 遇 す る こ と は 少 な く あ り ま せ ん 。 必 要 に 応 じ て 確 認 し て く だ さ い 。 変 数 と プ レ ー ス ホ ル ダ ー TensorFIow で は 定 数 (tf. constant) に 加 え て 、 変 数 (Variable) と プ レ ー ス ホ ル ダ ー (placeholder) を 宣 言 で き ま す 0 変 数 tf. variabte で 変 数 を 宣 言 し ま す 。 変 数 に 値 を 代 入 す る と き は tf. assign を 使 い ま す 。 リ ス ト 1 .5 : 変 数 の 宣 言 と 代 入 tf.Variabte(@) varl tf. constant(3) const2 12 第 1 章 TensorFlow の 基 礎

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


print(var2. name) scopel/varl:@ scope2—I/scope2-2/var2:@ ス コ ー プ 内 で 宣 言 し た 変 数 は 、 変 数 名 の 前 に ス コ ー プ 名 が 付 加 さ れ ま す 。 入 れ 子 の ス コ ー プ の 場 合 、 区 切 り 文 字 ( / ) で 連 結 さ れ ま す 。 tf. Variable と tf. get_variable 変 数 は tf. variable に 加 え て tf. get_variabte で も 宣 言 で き ま す 。 リ ス ト 1.9 を 見 て み ま し よ う 。 tf. va ri abte は 、 同 じ ス コ ー プ 、 同 じ 名 前 で 何 度 で も 変 数 を と し て い ま す 。 た だ 変 数 を 宣 言 す る だ け の tf. variabte に 対 し tf. get_variabte は 、 変 数 の 共 有 を 目 的 with tf. variable_scope('scopel') : リ ス ト 1 .9 : tf. Variable に よ る 変 数 の 宣 言 ( 利 用 ) 宣 言 で き ま す 。 varl 1 varl 2 tf. variable(name="varl" tf. VariabIe(name="varI" initial_value=l [email protected]) initial_value=l . @) print(varl_l . name) print(varI_2. name) scopel/varl:@ scopel/varl_l:@ 一 方 、 tf. get_variabte は 、 も し 同 じ 名 前 の 変 数 が 宣 言 さ れ て い た 場 合 工 ラ ー に な り ま す 。 リ ス ト 1 .10 : tf. get_variable に よ る 変 数 の 宣 言 ( 利 用 ) with tf. variabte_scope( 'scopel' ) : tf. get—variabte( varl 1 shape=[] , ' va r 1 initializer=tf. constant_initializer(l [email protected])) tf. get—variabte( varl 2 shape=[] , ' va rI ' initiatizer=tf. constant_initiatizer(l [email protected])) 第 1 章 TensorFlow の 基 礎 15

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


VaIueError: VariabIe scopel/varl already exists, reuse=True in VarScope? Origina11y defined at: FiIe " く stdin>" 1ine 2 , in く module> disallowed . Did you mean tO set ス コ ー プ 宣 言 で reuse=True を 指 定 変 数 を 宣 言 し た 状 態 で 、 既 に あ る 変 数 を 利 用 す る に は 、 し ま す 。 リ ス ト 1 .11 : 一 度 宣 言 し た 変 数 を 取 得 with tf. variabte—scope('scopel') : tf. get—variable( varl shape=[] , ' va rI ' initiatizer=tf. constant_initializer(l . 0)) ー 1 . の tf. assign(varl, varl with tf. Session() as sess: sess . run(tf. global—variables-initializer()) sess . run(varl) var1 result , 。 varl—result) print('varl with tf. variable_scope('scopel' tf. get—variable( var2 shape=[] , ' va r 1 ' reuse=True) : initializer=tf.constant_initiatizer(). @)) var2 result sess . run(var2) print('var2 , 。 var2_resuIt) ー 1.000000 varl var2 scopel/varl は 、 一 度 目 も 二 度 目 も 、 初 期 値 と し て 1.0 を 指 定 し て い ま す 。 し か し 、 二 度 目 の get-variable で 取 得 し た scopel/var の 値 は 、 一 度 目 に 宣 言 し た 後 に 代 入 し た 値 -1.0 と て 処 理 す る 場 合 が 考 え ら れ ま す 。 プ レ ー ス ホ ル ダ ー を 利 用 す る ケ ー ス と し て 、 フ ァ イ ル か ら 読 み 込 ん だ デ ー タ を グ ラ フ に 与 え ラ フ を 構 築 し 、 具 体 的 な 値 は 実 行 す る と き に 与 え ま す 。 プ レ ー ス ホ ル ダ ー (placeholder) は デ ー タ が 格 納 さ れ る 予 定 地 で す 。 デ ー タ は 未 定 の ま ま グ プ レ ー ス ホ ル ダ ー な っ て い ま す 。 16 第 1 章 TensorFlow の 基 礎

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


tf. app . flags . FLAGS F LAGS tf. app. flags . DEFINE—string('hr_image—path' 高 解 像 度 ( 元 画 像 ) の パ ス " ) tf. app . flags . DEFINE—string('tr_image—path' tf. app . flags . DEFINE—string('sr_image—path' None, None, None, / 0 (psnr—bicubic, psnr—sr)) print('PSNR(BICUBIC, (R): %. 2fdb, %. 2fdb' hr image, sr_image, dynamic—range=255) psnr_sr compare_psnr( hr—image, lr—image, dynamic—range=255) compare_psnr( psnr—bicubic ' サ イ ズ が 異 な る 画 像 は 評 価 で き ま せ ん ' sr_image. size) and lr_image. snze image . size assert (hr_image . size sr_nmage imread(sr_fite) lr—image imread(tr_fite) hr image imread(hr_file) def compare(hr—fite, lr—file, sr-file) : " 低 解 像 度 画 像 の パ ス " ) " 超 解 像 画 像 の パ ス " ) ssim_bicubic compare_ssim(hr_image, image, win_size=3) compare_ssim(hr_image, sr_nmage, win_snze=3) S S 1 m S r def main(argv=None): % (ssim_bicubic, ssim_sr)) print('SSIM(BICUBIC, (R): %. 4f , %. 4f ' assert OS . path . exists(FLAGS . sr—image—path) ' % FLAGS. tr_image_path 96S 1 S not exi St . assert OS . path . exists(FLAGS . tr—image—path) '96s is not exist. ' % FLAGS. hr—image—path assert OS . path . exists(FLAGS. hr—image—path) FLAGS. sr_image—path compare(FLAGS. hr—image_path, 0 ′ ' 96S 1 S not St . 64 第 4 章 FLAGS . tr_image—path, FLAGS . sr_image_path) さ ま ざ ま な モ デ ル

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


リ ス ト 1 . 1 5 : NumPy の プ ロ ー ド キ ャ ス テ ィ ン グ import numpy as np 3 , 4 ] ) arrayl valuel result np. a r ray ( [ 1 , 2 , 3 5 arrayl + valuel print(result) [ 6 7 8 9 ] TensorFIow に も プ ロ ー ド キ ャ ス テ ィ ン グ の 仕 組 み が あ り 、 形 の 違 う 配 列 同 士 で 演 算 す る こ リ ス ト 1 .16 : TensorFlow の プ ロ ー ド キ ャ ス テ ィ ン グ と が で き ま す ( リ ス ト 1.16 ) 。 import tensorflow as tf arrayl va1ue1 result tf. constant([l, tf. constant(5) arrayl + vaIue1 2 , with tf. Session() as sess: print(sess . run(result)) [ 6 7 8 9 ] TensorBoard に よ る グ ラ フ の 可 視 化 TensorFIow に は 、 強 力 な 可 視 化 ツ ー ル 「 TensorBoard 」 が 搭 載 さ れ て い ま す 。 TensorBoard を 使 え ば グ ラ フ を 可 視 化 し て 、 Web プ ラ ウ ザ 上 で 見 る こ と が で き ま す 。 TensorBoard で 読 み 込 め る 形 式 で デ ー タ を 出 力 し ま す 。 グ ラ フ の 書 き 出 し 第 1 章 TensorFlow の 基 礎 19

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)


図 4.5 評 価 用 画 像 ( 拡 大 ) LOW Resolution Super ResoIution 超 解 像 そ の も の は 機 能 し て い る よ う で す が 、 あ ま り 違 い は わ か り ま せ ん 。 画 質 の 指 標 (PSNR, SSIM) 目 で 見 て 画 質 の 善 し 悪 し を 判 定 す る こ と が 難 し く な っ て き た の で 、 画 質 を 評 価 す る た め に 指 標 を 使 い ま す 。 本 来 、 画 質 の 定 量 的 な 評 価 は 専 門 家 で あ っ て も 難 し い と 言 わ れ て い ま す が 、 本 書 で は 「 PSNR (peak Signal-to-Noise Ratio) 」 と 「 SSIM (structural similarity) 」 の 2 つ の 値 を 使 っ て 比 較 し て い き ま す 。 リ ス ト 42 は 、 高 画 質 画 像 に 低 画 質 画 像 (BICUBIC で 拡 大 ) 、 超 解 像 画 像 を そ れ ぞ れ 比 較 し て 、 指 標 を 表 示 す る プ ロ グ ラ ム で す 。 画 質 の 計 測 に は skimage を 使 い ま す 。 リ ス ト 4.2 . util/compare_images. py # codir)5 UTF—8 import OS nmport tensorflow as tf from skimage. iO import imread from skimage. measure import compare_psnr from skimage . measure import compare_ssim 第 4 章 さ ま ざ ま な モ デ ル 63

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


dir = os . path . join(dir, MODEL. NAME) if not os . path . exists(dir): os . mkdir(dir) padded_file resutt_fite OS . path . j 0i n ( di r , 96s-96dx ・ png % (name, scate)) OS . path . j Oi n ()i r , % (name, scale)) '96s—96dx-resuIt . png 工 mage. open(image—path) 1 mage resized_image image . resize( (image . width ☆ scate, image ・ height ☆ scate) , lmage. BICUBIC) if MODEL . CHANNELS resized image 1 : resized_image . convert('L') padding calc—padding(resized—image, stride) resized_image —pad(resized—image, padding=padding) —save—image(resized—image, padded—file, padding=padding) btocks blocks extract_blocks(resized—image, stride) —process(blocks, train—dir) result_image result_image —reconstruct(btocks) _normalize(result—image) 。 ☆ 255 pad round((MODEL. INPUT_SIZE MODEL. OUTPUT_SIZE) / 2 ) padding[INDEX_PADDING_LEFT] pad paddingCINDEX_PADDING_TOP] pad paddingCINDEX_PADDING_R 工 GHT] + = pad padding[INDEX_PADDING_BOTTOM] + = pad —save_image(resutt_image, result—fite, 評 価 return resutt padding=padding) 38 file, padded-file 評 価 用 の 画 像 と し て 、 縦 横 510PX5 の 画 像 を 用 意 し ま し た ( 図 2.5 ) 。 第 2 章 CNN で 超 解 像