#author("2025-04-28T11:50:00+09:00","default:kouzouken","kouzouken") #author("2025-04-28T11:50:25+09:00","default:kouzouken","kouzouken") #contents *論文 [#n50f6043] 現場デジカメ撮影の画像データ(伊藤さんの卒論2004:[[概要pdf:https://www.str.ce.akita-u.ac.jp/kouzou/pdf/so04it.pdf]],[[スライドpdf:https://www.str.ce.akita-u.ac.jp/kouzou/pdf/so04itp.pdf]]) セロテープ試験の2値化データ(藤原さんの卒論2005:[[概要pdf:https://www.str.ce.akita-u.ac.jp/kouzou/pdf/so05hu.pdf]],[[スライドpdf:https://www.str.ce.akita-u.ac.jp/kouzou/pdf/so05hup.pdf]]) 膜厚計の錆厚データ(橘さん2006:[[概要pdf:https://www.str.ce.akita-u.ac.jp/kouzou/pdf/so06ta.pdf]],[[スライドpdf:https://www.str.ce.akita-u.ac.jp/kouzou/pdf/so06tap.pdf]]) *参考資料 [#p538632a] ・[[AIによる耐候性鋼材のさびの特徴分析:https://www.nilim.go.jp/lab/bcg/siryou/2024report/ar2024hp022.pdf]] ・[[画像処理を用いた耐候性鋼材の腐食状況の定量化に関する検討:http://library.jsce.or.jp/jsce/open/00061/2014/41-01-0072.pdf]] ・[[畳み込みニューラルネットワークを用いた腐食環境が異なる鋼材腐食部劣化度判定の試み:https://www.jstage.jst.go.jp/article/jsceiii/1/J1/1_365/_pdf]] (普通鋼材) ・[[画像処理とパターン認識手法を利用した耐候性鋼材のさび外観評価:https://www.jstage.jst.go.jp/article/jscejf/62/4/62_4_674/_pdf]] ・[[耐候性鋼材の運用実績:https://www.jasbc.or.jp/technique/works/#:~]] ・[[土木工学分野における人工知能技術活用のために解決すべき課題と進めるべき研究開発:https://www.jstage.jst.go.jp/article/jsceiii/1/J1/1_9/_pdf]] ・[[機会学習を用いた耐候性鋼材のさび外観評価モデルの開発:https://www.jstage.jst.go.jp/article/hnctech/56/0/56_43/_pdf/-char/ja]] ・[[インフラ維持管理へのAI技術適用:https://committees.jsce.or.jp/opcet_sip/system/files/SIP_AI_report.pdf]] ・[[畳み込みニューラルネットワークを用いた耐候性鋼材腐食部劣化度判定の試み:https://www.jstage.jst.go.jp/article/jsceiii/2/J2/2_813/_pdf/-char/ja]] *anaconda [#k822d007] **インストール [[参考サイト:https://qiita.com/lighlighlighlighlight/items/8f624751df808d89d48c]] [#q81ae5dc] -[[anacondaのサイト:https://www.anaconda.com/download#downloads]]からlinux用のものをインストールする -インストール後にcondaコマンドを認識させるために以下のコードを実行 $ export PATH=/kouzou/anaconda3/bin:$PATH -その後condaコマンドを実行→うまく行かない場合はターミナルを再起動 **コマンド [#h7f747e9] -conda create-n [仮想環境名] python=[pythonバージョン名] -[[参考サイト:https://qiita.com/flcn-x/items/2a1c4095d7febe864db8]] *画像切り抜き gimp [#vde6b18c] -ターミナルでgimpを開く ターミナル上で gimp & -ファイルタブから切り取りたい画像を開く -左側の図から「切り抜き」を選ぶ CENTER:https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/taikousei/kirinuki.png -表示タブのグリッドの表示にチェック -画像タブのグリットの設定をクリック -間隔の欄を切り抜くピクセルで設定 -オフセットで切り抜き位置を調整 CENTER:https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/taikousei/settei.png *これらのファイルはhikitugiディレクトリの中にあります [#hb5d3441] *色補正 [#dc1f22ed] -[[RGBメモ:https://www.str.ce.akita-u.ac.jp/cgi-bin/pukiwiki/?RGB%E3%83%A1%E3%83%A2]]の色補正手法のプログラムをpythonで組んでます **RGB値の読み取り ファイル名:RGByomitori.py [#a357ccb1] -pythonの実行手順は python 実行したいファイル名 1.読み込む写真ファイルを指定 フォルダーのパスを指定する必要があるので、読み込みたい画像を含んだディレクトリに適宜移動させてください。 folder_path = "読み込みたいフォルダーのパスを指定" 2.結果を書き込むファイルを指定 output_file = "結果を書き込みたいファイルを指定" 拡張子はcsvにしてください ex)kakikomi.csv 3.読み込みたい箇所のRGB値をクリック 画像が表示されたら、読み込みたいRGB値をクリックして、矢印キー(→、←)を押すと、画像が入れ替わります。 **色補正マトリクスの作成 ファイル名:matrix.py [#ra397b30] このコードでは3x3の変換マトリクスが作成されます。 1.基準値となるRGB値を設定 この画像では、シアン、イエロー、マゼンタの最大値を基準値にしていますが、実際に使うときは、この値を基準値にしたいRGB値に変更してください。 https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/taikousei/kijunti.png -これはファイルを開いて変更してください 2.結果を書き込むファイルを指定 -ターミナル上で入力してください -拡張子は.txtにしてください 3.各色のRGB値を入力 **補正後の画像を生成 ファイル名:henkan.py [#x64fee64] -画像はppm形式で保存されます。 -ファイルを実行すると入力が求められます。 -1.読み込む変換状列を指定 -2.入力画像の指定 -3.保存するファイル名 **ここで、上記の[[画像切り抜き:https://www.str.ce.akita-u.ac.jp/cgi-bin/pukiwiki/?%E8%80%90%E5%80%99%E6%80%A7%E9%8B%BC%E6%9D%90#vde6b18c]]をやってしまう [#q3adc466] **グレースケール化 [#uc0b7f98] $ convert rating4_4.ppm -colorspace Gray 4_4.pgm みたいにしてグレースケール化。 ディレクトリ内の画像にまとめてやるときは、 ディレクトリ内の*.ppmの画像にまとめてやるときは、 for a in *.ppm; do convert -colorspace Gray $a `echo $a | sed s/.ppm/.pgm/g` ; done とか。もう少しわかりやすくやるんだったら、まず、ls *.ppm > ppm2pgm みたいにやると、ppm2pgm の中に、 a1.ppm a2.ppm a3.ppm みたいにファイルのリストが書かれるから、これをviとかの編集機能を駆使して、 convert a1.ppm -colorspace Gray a1.pgm convert a2.ppm -colorspace Gray a2.pgm convert a3.ppm -colorspace Gray a3.pgm みたいに整形し、 chmod 755 ppm2pgm で実行属性を与えてから ./ppm2pgm を実行。 **エッジ処理 ファイル名:edge.py [#qff0c2f5] [[エッジ処理:https://qiita.com/Takarasawa_/items/1556bf8e0513dca34a19]] -ファイルを実行すると以下の入力が求められます。 -1.補正する画像が入っているディレクトリ -2.エッジ処理後の画像を保存するディレクトリ -3.設定する閾値 **機械学習 ファイル名:svm.py [#red5c345] -1.画像ディレクトリを指定 https://www.str.ce.akita-u.ac.jp/~gotouhan/j2024/sato/taikousei/edge.png -2.実行 svm.pyの中に書かれているsklearnやSVCは、TensorFlow上で動かすのだが、このTensorFlowはAnaconda上で動いている。 これと同じ環境を他のパソコンに整備するには、まずAnacondaをインストールして、Anaconda上にTensorFlowをインストールする。 **畳み込みニューラルネットワークを試す場合 [#ucefd479] 二値化せずに、画像処理を行う場合は、SVMよりも畳み込みニューラルネットワークの方が適しているかもしれないが、 それをやろうとしたpyスクリプトの残骸は、sato24/projects/ws/step/5_step(irohosei)/model_CNN.py **MNIST例題 [#vf053ec0] TensorFlowで数字画像を学習させる例題のデータセット(MNIST)は、たぶんTensorFlowの中に入っていて、 学習させるためのpyスクリプトの例もネットを検索するとたぶん出てくる。