#author("2026-10-20T15:16:58+09:00","default:kouzouken","kouzouken") #author("2026-10-21T16:22:46+09:00","default:kouzouken","kouzouken") &aname(Top); #contents 2025年度の研究は[[こちら:https://www.str.ce.akita-u.ac.jp/cgi-bin/pukiwiki/?%E6%A3%AE%E4%BA%95%E3%81%AE%E5%8D%92%E8%AB%96%E6%97%A5%E8%AA%8C2]] //*DO [#j418c000] //-① 不確実性を取得できているか? 実装修正(Dropout / 分散取得) //-② 不確実性は意味のある値か? 誤差との関係を見て相関が弱い場合、Dropout回数を増やす(T=30など), モデル改善(データ増強 / ソフトラベル)を行う //-③ 不確実性を使うと性能は改善するか? 不確実性の定義見直し(分散→エントロピー)と空間補正を導入(平滑化) //-④ 出力の滑らかさ(ヒートマップの自然さ)は十分か? 期待値スコアに変更, 空間的補正(Gaussian / CRF) //-⑤ 確率は信頼できるか?Temperature Scaling //-⑥ 実運用を想定した出力になっているか? *4月 [#j418c400] **4/7 [#j417c407] 近接画像においてLoRAを用いた画像生成が評点別に行えるようになった。 ただし256pxで出力している関係上、どうしても粗くなってしまうため256より大きいpxで出力することにする。 そうすることで画像の粗さが解消されるのでは。 **4/8 [#j417c408] 背景・近景・近接の各画像を生成できるようになったので、実在画像と生成画像の比を変えてヒートマップ生成に変化が現れるかを見ていく。 学習枚数と条件の組み合わせは以下の通り。 -背景画像 , 実在画像 , 402枚 , ー , , パターン , 生成枚数 , 実在画像と生成画像の学習比 , 備考 , 01 , 172枚 , 7:3 , , 02 , 402枚 , 1:1 , うち172枚はパターン01と同じ画像を使用 -近景画像 , 実在画像 , 140枚 , ー , , パターン , 生成枚数 , 実在画像と生成画像の学習比 , 備考 , 11 , 60枚 , 7:3 , , 12 , 140枚 , 1:1 , うち60枚はパターン11と同じ画像を使用 -近接画像 , 実在画像 , 234枚(5段階評点合計) , ー , , パターン , 生成枚数 , 実在画像と生成画像の学習比 , 備考 , ① , 101枚(5段階評点合計) , 7:3 , 512pxで生成 ⇒ 256pxに圧縮 , ② , 234枚(5段階評点合計) , 1:1 , 512pxで生成 ⇒ 256pxに圧縮 , ③ , 101枚(5段階評点合計) , 7:3 , 1024pxで生成 ⇒ 256pxに圧縮 , ④ , 234枚(5段階評点合計) , 1:1 , 1024pxで生成 ⇒ 256pxに圧縮 近接画像は256pxで画像を生成すると画素が粗くなってしまうため、錆が持っている情報を256pxでも分かるように大きめに出力して圧縮することにした。 -試す組み合わせ , パターン(背景_近景_近接) , 実在画像と生成画像の学習比 , 近接画像出力px , 01_11_① , 7:3 , 512px , 01_11_③ , 7:3 , 1024px , 02_12_② , 1:1 , 512px , 02_12_④ , 1:1 , 1024px **4/9 [#j417c409] -LoRA生成待ち 20時間弱で65枚程度生成されたことを考えると週明けには近接画像の出力が終わるか -来週中に背景と近景(要改修)画像の生成まで進められれば **4/16 [#j417c4161] -近接画像の画像生成が完了した これから背景画像と近景画像の生成を行っていく -背景画像は問題なく生成できると思うが、近景画像は鋼材部分を上手く生成することが難しそう 具体的には主桁と横桁が混ざり合って格子状の鋼材になる, 撮影アングルを調整できない など - ⇒ 画像生成では生成して欲しい内容や物体をスクリプト上に単語で書く必要があるため、そこでどんな単語を書くか発想力が求められる **4/17 [#j417c417] -近接画像の生成が一段落済んだのでデスクトップを変えた Pythonを実行するために環境を構築しているところだが、時間がかかりそう 月曜には終わるか **4/20 [#j417c420] -デスクトップを変えてスクリプトの大半は実行できるようにした 画像生成を行うためにLoRAを学習する必要があるのだが、以前のデスクトップでは問題なく学習できていた設定で再度行ったところ、容量が足りずエラー落ちしてしまった。 -学習スペックを落としたら無事回ったが、どうやら学習を行うにはVRAMの容量を求められるらしい。 -画像生成に関して 生成時間が今までの25分の1に短縮された 画像の種類・大きさによって生成時間に変化はなさそう 有り難い **4/22 [#j417c422] -LoRAで生成できたもの --背景画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/bg1.png,360x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/bg2.png,360x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/bg3.png,360x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/bg4.png,360x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/bg5.png,360x); --近景画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/kinkei1.png,360x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/kinkei2.png,360x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/kinkei3.png,360x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/kinkei4.png,360x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/kinkei5.png,360x); --近接画像 ---近接画像を256pxで生成(左から順に評点1, 評点2 ... の順に並んでいる) &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/256_1.png,256x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/256_2.png,256x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/256_3.png,256x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/256_4.png,256x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/256_5.png,256x); ---512pxで生成した後に256pxに圧縮(左から順に評点1, 評点2 ... の順に並んでいる) &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/512_1.png,256x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/512_2.png,256x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/512_3.png,256x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/512_4.png,256x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/512_5.png,256x); ---1024pxで生成した後に256pxに圧縮(左から順に評点1, 評点2 ... の順に並んでいる) &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/1024_1.png,256x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/1024_2.png,256x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/1024_3.png,256x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/1024_4.png,256x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260422/1024_5.png,256x); **4/24 [#j417c424] -1パターンでの学習を始めた 1日で1種類の学習が完了するため、全部まとめるのには1周間程度かかる予定 GW明けには終わらせたいところ -現行のスクリプトに簡易的なベイズ推定を入れてみた 実行は来週以降 **4/27 [#j417c427] -3枚の撮影画像に対してヒートマップを描くという段階にはたどり着いたものの、1枚あたり7時間程度かかることがわかった -とりあえず生成してみて精度を確認する そこからどうするか考えることにする **4/30 [#j418c430] -ヒートマップの生成時にGPUを使えるように設定した ただし最速で生成しようとすると強制終了されることが分かったので、処理速度はほどほどに設定する必要がある これにより従来生成にb 7時間/枚 かかっていたのが 20分/枚 と大幅に性能が向上した。 -また ヒートマップの生成に近似ベイズ(MC Dropout)を導入し、ヒートマップをパッチ単位で信頼度を出せるようにした。信頼の程度と色の関係を下に貼り付けておく &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260430/Bayes_sub.png,800x); , 色 , 数値 , 意味 , 🔵 青 , 低 , 不確実性低(=信頼度高) , 🟢 緑 , 中 , そこそこ , 🔴 赤 , 高 , 不確実性高(=信頼度低) *5月 [#j418c00] ***01_11_① [#j418c01111] -マスク画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260430/mask_4_62.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260430/mask_0013.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260430/mask_0016.png,500x); -ヒートマップ画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260430/heatmap_4_62.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260430/heatmap_0013.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260430/heatmap_0016.png,500x); -信頼度 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260430/bayes_4_62.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260430/bayes_0013.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260430/bayes_0016.png,500x); ***01_11_③ [#j418c01113] -マスク画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260514/mask_4_62.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260514/mask_0013.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260514/mask_0016.png,500x); -ヒートマップ画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260514/heatmap_4_62.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260514/heatmap_0013.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260514/heatmap_0016.png,500x); -信頼度 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260514/bayes_4_62.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260514/bayes_0013.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260514/bayes_0016.png,500x); ***02_12_② [#j418c02122] -マスク画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260518/mask_4_62.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260518/mask_0013.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260518/mask_0016.jpg,500x); -ヒートマップ画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260518/heatmap_4_62.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260518/heatmap_0013.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260518/heatmap_0016.jpg,500x); -信頼度 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260518/bayse_4_62.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260518/bayse_0013.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260518/bayse_0016.jpg,500x); ***02_12_④ [#j418c02124] -マスク画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260519/mask_4_62.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260519/mask_0013.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260519/mask_0016.jpg,500x); -ヒートマップ画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260519/heatmap_4_62.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260519/heatmap_0013.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260519/heatmap_0016.jpg,500x); -信頼度 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260519/bayse_4_62.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260519/bayse_0013.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260519/bayse_0016.jpg,500x); **5/20 [#j418c520] ヒートマップ評価における改良を行った。 DenseNet121・InceptionResNetV2・Xception のアンサンブルで橋梁領域を抽出し、 錆評価には評点1〜5の順序性を考慮した学習 Ordinal Regression を導入した。 またMC Dropout による不確実性推定も導入した。 推論時には劣化ヒートマップepistemic uncertaintyとaleatoric uncertaintyを生成。 さらにGaussian Weighting によりパッチ境界ノイズを低減し、滑らかなヒートマップ生成を実現した。 現在は橋梁領域抽出・錆劣化推定・不確実性可視化までの処理を実装している。 ヒートマップの結果は手動の場合と自動の場合の両方を明日以降に載せる。 **5/21 [#j418c521] -ヒートマップ評価方法の変更と指標の追加 近景画像(現地撮影)を追加して再度学習 --original … ドローン撮影元画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260521/original.jpg,1000x); --bridge_mask … 白領域が鋼材部分(評価するところ) &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260521/bridge_mask.png,1000x); --heatmap_overlay … ヒートマップで評価を行った画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260521/heatmap_overlay.jpg,1000x); --uncertainty_map … ヒートマップの精度にどれくらい自信を持っているか &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260521/uncertainty_map.jpg,1000x); , 色 , 意味 , 🔵 青 , かなり自信あり , 🟢 緑 , 普通 , 🟡 黄 , 少し怪しい , 🔴 赤 , かなり迷っている --epistemic_map…モデル側の“不確実性” = AIがまだ学習できていない領域 学習データ追加で改善可能 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260521/epistemic_map.jpg,1000x); , 色 , 意味 , 🔵 青 , 学習済み・自信あり , 🟢 緑 , 普通 , 🟡 黄 , やや未知 , 🔴 赤 , AI未学習・未知パターン --aleatoric_map…画像自体の曖昧さ = 人間でも判定が難しい領域 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260521/aleatoric_map.jpg,1000x); , 色 , 意味 , 🔵 青 , 判定しやすい , 🟢 緑 , 普通 , 🟡 黄 , やや曖昧 , 🔴 赤 , 非常に曖昧 **5/22 [#j418c522] -新たな評価方法でヒートマップをはじめとするさまざまなものを描いてみた --鋼材領域自動抽出の場合 ---元画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/4_62/original.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/DJI_0013/original.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/DJI_0016/original.jpg,500x); ---マスク画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/4_62/bridge_mask.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/DJI_0013/bridge_mask.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/DJI_0016/bridge_mask.png,500x); ---ヒートマップで評価した画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/4_62/heatmap_overlay.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/DJI_0013/heatmap_overlay.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/DJI_0016/heatmap_overlay.jpg,500x); ---ヒートマップ精度にどれほど自信があるかを表した画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/4_62/uncertainty_map.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/DJI_0013/uncertainty_map.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/DJI_0016/uncertainty_map.jpg,500x); ---モデル側の“不確実性” (まだ学習できていない領域) &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/4_62/epistemic_map.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/DJI_0013/epistemic_map.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/DJI_0016/epistemic_map.jpg,500x); ---画像自体の曖昧さ &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/4_62/aleatoric_map.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/DJI_0013/aleatoric_map.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_auto/DJI_0016/aleatoric_map.jpg,500x); --鋼材領域手動抽出の場合 ---元画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/4_62/original.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/DJI_0013/original.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/DJI_0016/original.jpg,500x); ---マスク画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/4_62/manual_mask.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/DJI_0013/manual_mask.png,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/DJI_0016/manual_mask.png,500x); ---ヒートマップで評価した画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/4_62/heatmap_overlay.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/DJI_0013/heatmap_overlay.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/DJI_0016/heatmap_overlay.jpg,500x); ---ヒートマップ精度にどれほど自信があるかを表した画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/4_62/uncertainty_map.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/DJI_0013/uncertainty_map.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/DJI_0016/uncertainty_map.jpg,500x); ---モデル側の“不確実性” (まだ学習できていない領域) &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/4_62/epistemic_map.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/DJI_0013/epistemic_map.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/DJI_0016/epistemic_map.jpg,500x); ---画像自体の曖昧さ &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/4_62/aleatoric_map.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/DJI_0013/aleatoric_map.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260522/heatmap_handfree/DJI_0016/aleatoric_map.jpg,500x); **5/26 [#j418c526] -台形変換で鋼材領域を抽出してみた 抽出した鋼材領域はスクリプトで設定したピクセル数によって見た目に変化が出てしまっている。今後は台形変換アプローチについて検討していく。 --左から順に元画像・鋼材領域抽出&台形変換画像・マスク画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260526/moto.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260526/original.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260526/steel_mask.png,500x); --左から順にヒートマップ画像・ヒートマップにおける精度の自信・まだ学習できていない領域 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260526/heatmap_overlay.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260526/uncertainty_map.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260526/epistemic_map.jpg,500x); *6月 [#j418c600] **6/12 [#j418c612] ヒートマップ視認性向上のため一緒に等高線図が出力されるようにスクリプトを変更した **6/15 [#j418c615] ヒートマップでの評価については,現在8 cm四方の近接画像を256 pixelに統一して学習している。 一方で実橋梁画像は撮影距離や画角が一定ではないため,同じ256 pixelでも実際に写っている範囲が異なる可能性がある。 そのため今後は8 cm,16 cm,32 cmなど複数のスケールで学習データを作成し,撮影距離の違いに対して頑健なモデルにできないか台形変換と同時に検討する。 また,不確実性マップについても期待したほど有効に機能していない印象を受けた。 現在はモデル間分散とMC Dropoutの分散を利用しているが,技術者目線では「この領域の評点がどれくらいぶれるか」が知りたいので,予測評点の標準偏差をそのまま可視化した方が分かりやすいかもしれない。 **6/18 [#j418c618] -評価方法の修正 以下3通りでヒートマップ評価できるようにした --1, 自動抽出 --2, 鋼材領域の4隅を指定 ⇒ 台形変換 --3, 鋼材領域を指定(頂点の数は無制限 ← NEW)⇒ 台形変換 ※2は上下フランジが切れずにうつっている場合, 3は上下フランジのどちらかまたはその両方が切れてしまっている場合に使用 -ヒートマップの保管的な役割として等高線図(2D, 3Dの実装) **6/22 [#j418c622] -ヒートマップ評価で色が識別しにくい, 例え色合いが多少異なっていれば評点はどのくらい変化するのかというリクエストに応じて,等高線で評価を可視化できるようにした.ちな生成時間は1つの検証画像に対して3分弱 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260622/heatmap_contour.png,1000x); -上記の図だと線が多すぎてどの領域がこの評点なのかが分かりにくかったため,3D等高線図で表現してみた.ただし固定視点のためクリック等で様々な方向から見ることはできない &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260622/heatmap_3d.png,1000x); -3D静止画が意外と見づらかったので,自由に等高線図3Dを見れるよう html に落とし込んでみた.(試作段階)ちな生成時間は1つの検証画像に対して5分弱 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260622/heatmap_3d_interactive.html); **6/24 [#j418c624] 現行の学習をMATLABに落とせるか試してみたが,1から環境を構築すること, データの移行など課題が多くハードルが高いため断念. いつの間にかヒートマップカラーが逆転していたため,2D, 3D共に修正を行った. 下に示す評価結果は左から順番に256pxでヒートマップ評価した画像, 同様に128px, 64pxで同様に処理した画像が並んでいる.3Dマップのリンクと画像の位置は対応している -評価結果 [[3Dマップ256_128px:http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260624/256_128.html]] : [[3Dマップ128_64px:http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260624/128_64.html]] : [[3Dマップ64_32px:http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260624/64_32.html]] &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260624/256_128.png,660x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260624/128_64.png,660x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260624/64_32.png,660x); **6/29 [#j418c629] 3Dヒートマップを修正した 修正内容は以下の通り -座標役割の変更 --x軸:橋軸方向 --y軸:高さ --z軸:評点 -元画像の貼り付け(白黒) -評点の違いをわかりやすくするために凹凸を強調 -Rust score の座標と評点関係を対応させた 評点が3.05だったとしたらRust score の座標(y軸)も3.05になるようにした. -[[3Dマップ修正1:http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260629/4_64.html]] -[[3Dマップ修正2:http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260629/0013.html]] -[[3Dマップ修正3:http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260629/0016.html]] *7月[#j418c700] **7/7 [#j0147rg0707] 底面画像をカラー化した.今までは Plotly という可視化ライブラリを使って3Dヒートマップを描画していたが,撮影画像をカラーで貼り付けるとなったときにどうも現行のライブラリでは厳しいということが分かった.そこで Pyvista という可視化ライブラリで3Dヒートマップを描画してみたところ,評点軸とカーソルで当たっている箇所の評点を確認できる機能が失われてしまったもののなんとか底面にカラーの画像を貼り付けることができた.ただ Pyvista と web表示(wikiとかに載せる用のhtmlもどきファイル)の相性が悪く,自分が実装したいと思っている内容を反映するまでに時間がかかる場合がある.その面 Plotly は web との相性は良好だった. 今後は評点の可視化等の見やすさ向上に取り組んでいく. -[[3Dマップ修正 Ver 3.0 :http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260707/heatmap_3d_pyvista.html]] -2Dヒートマップ↓(パッチは128pxで評価) &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260707/1.png,1000x); **7/13 [#j0147rg0713] 今のところ Pyvista にて3Dヒートマップで描画 & 改善や修正を行なっていく方針. 色々探してみてもっと良さげな描画ライブラリがあれば全然そちらに移行する可能であり. ただスクリプトを書き換えても言うことをきかないことがしばしば どうやらPyvista自体が持っている制約にひかかってしまっているらしい 2Dと3Dを同htmlもどきで表示できるようにしたページは明日以降に貼り付け予定 **7/14 [#j0147rg0714] -[[2D・3Dマップ表示 :http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260707/heatmap_3d_portal.html]] **7/21[#j418c700] 底面にカラーの検証画像を貼って3Dのヒートマップを表示させる方法はなんとか確立できたものの,ホバー表示にてヒートマップの一部領域がNaNや強制的1.0表示になってしまった.評点はあらかじめ設定しておいたパッチとストライドをもとにヒートマップ1区画に含まれている複数領域の平均値をとっているのだが,この際に評点が出力されなかった(0.00やNaN)場合に評点表記にエラーが出てしまうことが分かった. これから表示の不具合を修正しつつ自分が理想としている形・表示に持っていく. &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260723/1.png,1000x); **7/23[#j418c723] NaN表示エラーや評点のミスをなくして3Dヒートマップhtmlがなんとか形になった.(ヒートマップの凹凸が逆になっているがそこはご愛嬌で) -[[3Dマップ Ver 4.0 :http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260723/3D.html]] -使用したスクリプト:inference_heatmap3.py ついでに1クリックで2Dと3Dを切り替えられるhtmlも作成した.2Dは正面固定だが,3Dは自由視点で見れるようになっている ただし動作は重め -[[2D_3Dマップ :http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260723/2D_3D.html]] -使用したスクリプト:inference_heatmap4.py 今後は台形補正, ドローンで連続的に撮影した画像を1つの画像にまとめて一括評価&可視化を目指す **7/28[#j0147rg0728] 近接画像は8cm四方のものを256px四方にリサイズしてそれを学習させることでヒートマップを描いている.つまりここでは8cmが256pxに相当すると定義されている. 一方で検証画像にヒートマップを描画する際は錆の大きさを気にすることなく行なっていた.その結果,不確実性が高かったりと評価の正確性に欠けていた. なので検証画像でも256pxが8cmになるよう台形補正を行なった.下フランジの幅をあらかじめ知っておく必要があるのだが,それとpxを対応させることで8cmが256pxとなるようにリサイズを行なった.(下の画像は実際のサイズと異なる) -元画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260728/1.JPG,800x); -補正後画像(左上ピンク枠は256px四方_8cm四方のサイズを表示している) &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260728/2.jpg,800x); **7/29[#j0147rg0729] 台形補正を行う際,画像によっては鋼材領域を長方形として選択できないことがある. その場合は下記の3ステップで補正を行えるようにスクリプトを組んだ.ただしこのスクリプトは単体(この処理機能のみ搭載)なので,現行のヒートマップ評価はこれから行う予定. --ステップ1:輪郭指定 画像を用意して鋼材の外郭を左クリックで指定する.頂点はどこから選択しても良いが,1つ目を選択したら時計or半時計まわりに選択すること. (左から順に 元画像ー頂点をクリックする作業スペースー頂点を選択した状態ー鋼材領域を指定した画像 ) &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260729/0.jpg,400x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260729/1.png,400x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260729/2.png,400x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260729/3.png,400x); --ステップ2:最終補正用4頂点の選択 画面外まで視界を広げた作業スペースを用意し,算出した交点・頂点候補を黄色の丸で可視化した. そして補正に使いたい4つの角を選択することで台形補正を行う. (左から順に 延長線上の交点を表示した画像(緑点)ー最終的な台形補正範囲(緑枠)) &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260729/4.png,800x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260729/5.png,800x); --ステップ3:実寸法計測と正規化 指定した任意の2点間(下フランジ厚さ等)の実寸法を入力し,8cm = 256px の解像度になるよう自動リサイズ 鋼材が表示されていない欠損領域は単色で塗りつぶしている。 (左から順に 下フランジ厚を測定している画像ー補正後の画像) &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260729/6.png,800x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260729/7.jpg,800x); 補正後の画像は水平方向に圧縮されている感じが否めないため,台形変換とともに回転による変換も視野に考えていく. *8月[#j418c800] **8/3[#j0147rg0803] 予測精度を向上させるためRustモデルの学習モデルと学習方法を少し変えた ただし激重. 学習モデルはdensenet, inceptionresnetv2, xception の組み合わせから EfficientNetV2S, ConvNeXtTiny, RegNetX002 に変更した.現行モデルより錆のテクスチャ・特徴量を読み取れるらしいのだがそこは学習してみて比較することにする. 学習方法は保存枚数が少ない評点1と5における学習の重みを重くした.あと画像を水増しする際に複数の画像を切り貼りして1枚の画像を生成する機能を追加した. **8/7[#j0147rg0807] 新CNNモデルでの学習も完了し,ヒートマップで評価してみたところ以前のCNNよりかは不確実性(ヒートマップのその色にどのくらいの自信を持ってつけているか)は下がったような印象を受けた.ただ依然として不確実性の高い領域(暖色)の割合が多いので,様々なコンフィグを変えて試していきたい.鋼材領域の自動抽出はデータがある程度収集できたら再開する. &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260807/1.png,600x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260807/2.png,600x); **8/15[#j0147rg0815] 8/7に貼り付けた画像は不確実性の値そのものは最大で0.4程度だった(0に近いほど正確性が高い)のだが, 数値と色の対応をかなり厳し目に設定していた.0.1辺りにならないと画像上で寒色系と表示されない. なので数値と色の関係を変えた結果と表を以下に貼り付ける.不確実性の値は0.2前後といったところ. 画像に関して垂直補剛材の部分がヒートマップ画像に暖色系で表示されているようにも思える.これが良いのか悪いのかわからないが,少なからずRustの学習方法が効いていると思われる. -数値と色の対応一覧 (更新版) , 不確実性の値 (Utotal) , 表示される色 , モデルの状態・解釈 , 0.00 〜 0.12 , 濃い青 〜 青 , 極めて確信度が高い モデル間で意見が完全に一致 , 0.12 〜 0.28 , シアン 〜 緑 , 十分信頼できる 軽微なノイズや軽度の揺らぎ , 0.28 〜 0.44 , 黄緑 〜 黄色 , やや迷いがある 腐食境界部や判定が難しい領域 , 0.44 〜 0.64 , オレンジ 〜 赤 , 不確実性が高い モデル間で意見が分散している , 0.64 〜 0.80 以上 , エンジ色・赤紫 , 極めて不確実 モデルの予測が大きく崩れている -画像 左から順にヒートマップ(透過),ヒートマップ(単体_背景なし),不確実性表示 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260815/1.png,600x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260815/2.png,600x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20260815/3.png,600x); *9月[#j418c900] **9/9[#j0147rg0909] 台形と色補正をpixxisで行えるか検討 --STEP 1:鋼材面に対して一定の距離と平行を保ちながら、ある程度ラップ率で自動またはマニュアル航行により撮影を行う。同時に色補正スケースも設置して撮影する。 --STEP 2:斜めから撮影された写真に対して台形補正する。 複数枚の補正済み画像を特徴点(配置したマーカーや鋼材の輪郭等)をもとに高精度に位置合わせし、橋梁全体を1枚に結合する。 --STEP 3:生成された広範囲オルソ画像を、256×256ピクセル四方に細分化する。ここをどうにかスクリプトに実装して最終的な評価へとつなげていく。ただ課題はそれなりにあるためとりあえず考えるだけ。 **9/17[#j0147rg0909] 橋梁調査に行ってきた.得られた画像は来週以降に学習に組み込み&報告書を作成する 担当する報告書は以下の通り --白子川橋 (調査○) --関口こ道橋(調査○) --三関こ線橋(調査×) --戸沢川橋 (調査×) --高松川橋 (調査×) *10月[#j418c1000] **10/5[#j0147rg1005] 去年作成した色補正スクリプトを修正した.大きな変更点は色補正に使用したスケールを4色(赤, 黄, 緑, 青)に白を加えて5色で色補正を行うことにした.修正前画像が左側, 修正後画像が右側 -比較用検証画像 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261005/0.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261005/1.jpg,500x); -カラースケールを緑枠で囲んだ画像(上記の右側画像1種類のみ表示) &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261005/11.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261005/01.jpg,500x); -カラースケール抽出画像(上記の右側画像1種類のみ表示) --修正前の2枚と修正後の2枚 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261005/111_1.jpg,100x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261005/112_1.jpg,100x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261005/211_1.jpg,100x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261005/212_1.jpg,100x); -全体的に色補正した画像(この処理を行う前に上記のカラースケールを純色になるべく近い色に変換している) --修正前の2枚と修正後の2枚 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261005/111.jpg,450x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261005/112.jpg,450x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261005/211.jpg,450x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261005/212.jpg,450x); **10/14[#j0147rg1014] 9色のカラースケールをもとに色補正を行ってみた.各色のRGB目標値は以下の通りで,各要素の最大値255を1.00と基準としたときの数値を示している. , 色 , R値 , G値 , B値 , Blue , 0.16 , 0.19 , 0.69 , Cyan , 0.00 , 0.59 , 0.78 , Green , 0.14 , 0.65 , 0.21 , Yellow , 0.94 , 0.83 , 0.11 , Red , 0.86 , 0.14 , 0.15 , Magenta , 0.76 , 0.15 , 0.63 , White , 0.94 , 0.94 , 0.94 , 3/Color , 0.31 , 0.22 , 0.21 , Black , 0.13 , 0.13 , 0.13 今まではフレームについている4色のカラースケールで色補正を行っていたが,これから収集する近接画像達は9色のカラースケールを貼り付けて撮影することになりそう.フレームしかうつっていない画像は4色に加えて白の5色で色補正を行うこととする. -5色で色補正方法 --1, カラースケールの抽出 ---基本は自動抽出で行っているが,過信しすぎると一面白色のフレームや錆をスケールと認識してしまうことがある.なので抽出に自信がなければその瞬間に手動での抽出に切り替えるようにしており,今のところ誤抽出は見つかっていない. ---抽出はまず赤, 黃, 緑, 青の4色を抽出または手動で領域選択を行い,領域における長辺の4分の1の長さ分青領域の下に付け加えて5色のカラースケールを抽出した.本来は白領域も自動抽出にしたかったが,フレーム自体白色なので抽出すべき領域がわからずこのような方法にした. --2, 色情報の自動抽出 ---入力画像を自動で長辺方向に5等分して各エリアのRGB平均値を計測.予め各カラースケールの長辺方向の長さを等分しているので例えば黃領域に赤や緑領域が含まれることはほぼない. --3, 変換行列(CCM)の算出 ---平均によって得られた実測値と目標値(理想の5色)を比較して最小二乗法を用いて最適な3×3変換行列を計算。 ---各色ごとに個別の行列を作って変換するのではなく、5色の実測値と理想値をすべて同時に並べ、最小二乗法を用いて5色全体のカラーバランスが最も理想に近づく3×3の変換行列を1つだけ算出している。これによって画像全体の色味が破綻なく綺麗に補正されるよう最適化されている。 --4,成果物の保存 ---行列データ(.npy)と比較検証用の理想の純色画像を自動生成して保存。 -9色での色補正方法 --基本的にロジックは5色の色補正方法と同じやり方で行っている.ただしカラースケールの抽出は完全手動 **10/15[#j0147rg1015] 2通りの方法で色補正を行ったので何枚か結果を貼り付ける. -5色で色補正 --補正前 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/01.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/02.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/03.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/04.jpg,500x); --補正後 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/21.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/22.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/23.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/24.jpg,500x); -9色で色補正 --補正前 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/11.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/12.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/13.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/14.jpg,500x); --補正後 &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/31.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/32.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/33.jpg,500x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261015/34.jpg,500x); 光の当て方はかなり重要だとわかった.9色補正は全体的に白くなっているが,明るさを調整すればもっと自然な感じに近づくのではないか. **10/19[#j0147rg1019] 補正時に明るさを変えてみたが1.1倍(少し明るくする)が一番良さそう.左から順番に0.9倍, 1.0倍, 1.1倍, 1.2倍, 1.3倍, 1.4倍と並んでいる. &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261016/09.jpg,330x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261016/10.jpg,330x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261016/11.jpg,330x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261016/12.jpg,330x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261016/13.jpg,330x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261016/14.jpg,330x); あと近接画像を新しい方法で色補正を行った結果,ボケが更にひどくなったり錆が更に黒くなりすぎて抽出したところで学習に使えないものが何枚かあったのでそれを除外して学習に用いることにした.評点別の学習枚数は以下の通り 今後は評点1をメインに収集していく方針. , 評点 , 学習枚数 , 1 , 6枚 , 2 , 69枚 , 3 , 96枚 , 4 , 93枚 , 5 , 51枚 , 合計枚数 , 315枚 **10/20[#j0147rg1020] 9月調査分を含めた近接画像を学習させた.水増し1枚あたり15枚で行った結果がこちら(学習時の正答率は95.8%) &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261020/1.png,700x); *10月[#j418c1000] **10/21 [#j0147rg1021] 背景画像1005枚,近景画像198枚を学習させてみて画像内に橋梁(耐候性鋼材)が含まれているか,抽出できているかをみてみた. 背景画像と認識できていても鋼材領域の割合が20%前後出てしまうのが課題. &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261021/1.jpg,290x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261021/2.jpg,290x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261021/3.jpg,290x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261021/4.jpg,290x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261021/5.jpg,290x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261021/6.jpg,290x); &ref(http://www.str.ce.akita-u.ac.jp/~gotouhan/j2026/morii/20261021/7.JPG,290x); , 画像名 , 橋梁らしさスコア(0.5以上で橋梁ありと認定 最大値1.0000) , 鋼材領域占有率 , 判定結果 , 左1 , 0.0000 , 16.96% , 背景 , 左2 , 0.0000 , 33.22% , 背景 , 左3 , 0.0000 , 24.09% , 背景 , 真ん中 , 0.0000 , 27.49% , 背景 , 右3 , 0.0001 , 15.83% , 背景 , 右2 , 0.0000 , 27.53% , 背景 , 右1 , 0.6665 , 46.53% , 橋梁 * 各種画像の追加・前処理と再学習方法[#j424c400] -ファイル構成 project_root/ ├── dataset/ │ ├── bg/ │ │ └── raw/ ← 背景画像 │ │ └── masks/ ← マスク画像(真っ黒) │ │ │ ├── bridge/ │ │ └── raw/ ← 橋画像(セグメンテーション用) │ │ └── masks/ ← マスク画像 │ │ │ └── rust/ │ └── raw/ ← 錆画像(回帰用) │ ├── masks/ ← bridge用マスク ├── models/ ← CNNモデルが保存 ├── results/ ← 結果が出力 --① 背景画像を追加して学習する手順 --- 1. 画像配置: "dataset/bg/raw/"に画像を入れる --- 2. 学習実行:train_all4.pyを実行し、メニューから "4) Train BackGround" を選択すれば学習が始まる --② 近景画像からマスク画像を作成して学習 --- 1. 画像配置 "dataset/bridge/raw/"に画像を入れる --- 2. マスク作成:手動or自動を選択可能だが、現状はデータ数が少ないため手動を選択する --- 3. 学習実行:train_all4.pyを実行し、メニューから "2) Train Bridge (Ensemble UNet)" を選択すれば学習が始まる --③ 近接画像を追加して学習する手順 --- 1. 画像配置: "dataset/rust/raw/"に画像を入れる --- 2. 学習実行:train_all4.pyを実行し、メニューから "3) Train Rust" を選択すれば学習が始まる