5/10†
- 画像に点, 線, 図形をそれぞれ加えたときの正答率について
- 点を加えたときに関してはかなり精度の高い判別ができたのではないかと思う。加工した後の画像を見るともう少し点の数を増やしてみても判別精度は維持できそうだ。
- 線を加えると判別精度は点の時と比較してやや劣るが、その中でも"6"における精度の劣り方が良くない。ランダムに5本の線を引くようにプログラムしているので、再び画像に加工処理を行って判別させると精度は変化するのだろうか。下にある7に線を引いた画像を見てもらえると分かるがこれは文字の太さから辛うじて"7"と認識できる。機械でこの画像を"7"と判別させるにはやはりMNISTのデータ量以上の数字データが欲しい。
- 最後に図形を加えた場合数字によって精度のばらつきがある。特に"1", "6", "9"は他の数字と比較して精度が低く、1の場合周囲に6角形以上の多角形が加わると"6", "8", "9"のように見えてしまい精度に影響が出たのではないか。"6"と"9"も同様で数字に重なるように図形が描かれることで"8"と判別されてしまったのではないか。また図形同士が上下に描かれることで"8"と認識される場合もありそうだ。

- 次回やること
- MNISTで学習させてからある数字の画像を何と判別したかをフルオート化できるようなスクリプトを組みたい
→大まかな内容は完了しこれから肉付け(5/11)
- 動物の顔を使った機械学習(できたら)
5/8, 9†
- 画像に数字に点や線, 図形を加えてみた。これを判別してみる
ー画像加工→

ー画像加工→

ー画像加工→

Pythonコード (Gazou-Kakou.py)
- 5/7の続き
- 0 ~ 9 の画像数をそれぞれ9枚に統一させた。表の真ん中の列は画像に何も加工せず数字ごとにおける正答率を表したものである。(上の画像の右側)
- 表の右側の列は数字に点や線, 図形のすべてを画像に加え数字ごとにおける正答率を表したものである。(上の画像の左側)(Gazou-Kakou.py を使用)
| 数字 | 正答率 | 正答率 |
| 0 | 9/9 | 9/9 |
| 1 | 8/9 | 1/9 |
| 2 | 9/9 | 6/9 |
| 3 | 9/9 | 6/9 |
| 4 | 9/9 | 0/9 |
| 5 | 9/9 | 5/9 |
| 6 | 5/9 | 2/9 |
| 7 | 8/9 | 4/9 |
| 8 | 6/9 | 6/9 |
| 9 | 6/9 | 0/9 |
- 数字は太くはっきり書いてあること且つ線や図形と被っていなければ判別することはできそう
- ただ要素を加えすぎたせいか無加工と比べてかなり判別精度が低下してしまっている。なのでこれから点, 線, 図形のうちどれか1つか2つの要素だけを画像に取り込んでみて精度がどう変化するのか見ていく。
- 改良版
- 画像を10枚に統一させてフォントを太くした。以下の表はその画像に何も加工せず数字ごとにおける正答率を表したものである。(KGPrimaryPenmanship.ttfとSuuji-Gazou-Seisei.py を使用)

| 数字 | 正答率 |
| 0 | 10/10 |
| 1 | 10/10 |
| 2 | 10/10 |
| 3 | 10/10 |
| 4 | 10/10 |
| 5 | 10/10 |
| 6 | 10/10 |
| 7 | 10/10 |
| 8 | 10/10 |
| 9 | 10/10 |
- 数字を中心に持ってきたからなのかまたはほとんど形が変わらないからなのか、それともその両方なのか分からないが全て正確に判別することができた。
- 次に点, 線, 図形のうち1つの要素だけを画像に加え数字ごとにおける正答率を表にしたものである。左の表から順に点, 線, 図形のみを加えた。

| 数字 | 点 正答率 | 線 正答率 | 図形 正答率(リスタート前) | 図形 正答率(リスタート後) |
| 0 | 10/10 | 9/10 | 8/10 | 10/10 |
| 1 | 10/10 | 4/10 | 5/10 | 6/10 |
| 2 | 10/10 | 9/10 | 8/10 | 10/10 |
| 3 | 10/10 | 7/10 | 9/10 | 10/10 |
| 4 | 10/10 | 9/10 | 8/10 | 8/10 |
| 5 | 10/10 | 9/10 | 10/10 | 10/10 |
| 6 | 8/10 | 3/10 | 1/10 | 3/10 |
| 7 | 10/10 | 7/10 | 7/10 | 8/10 |
| 8 | 10/10 | 10/10 | 10/10 | 10/10 |
| 9 | 10/10 | 7/10 | 7/10 | 6/10 |
- 点は1画像あたり50個加えた(Gazou-Kakou-Ten_only.py を使用)
Pythonコード (Gazou-Kakou-Ten_only.py)
- 線は1画像あたり5本加えた(Gazou-Kakou-Sen_only.py を使用)
Pythonコード (Gazou-Kakou-Sen_only.py)
- 図形は1画像あたり三角形から十角形までの多角形を1〜3個ランダムに設置した。図形のリスタート前・後とは過学習状態をリセットした前後の時を指す。(Gazou-Kakou-Zukei_only.py を使用)
Pythonコード (Gazou-Kakou-Zukei_only.py)
- 判別させたい手書き文字を作成するには
- ① GIMPで直接書きたい場合 (推奨)
- 1, GIMPを開く
- 2, 上のツールバーから ファイル → 新しい画像 の順にクリックする。そうするとピクセルのサイズを指定できるので両方に28と記入する。
- 3, 左側に下のようなアイコンが現れたと思うがこれは背景色と描画色を表しており、右下の色アイコンが背景色, 左上が描画色である。それぞれクリックすると自身で色を選択できるようになり、基本的に背景色は黒, 描画色は白に 描画ツールは鉛筆に設定する。(壁画ツールは上のツールバーから "ツール → 描画ツール → 鉛筆で描画" で設定できる)

- 4, アイコンの下にはサイズ, 縦横比, 角度, .... と大きさや強弱を設定できるパラメータが縦に並んでおり、サイズは必ず1.00(ピクセル)に設定しておくこと。そうしないと上手く文字を書くことができなくなる。
- 5, 文字を書き直したいときはアイコンの上にある消しゴムを使って文字を消すことができる。
- 6, 書き終えたら保存し、その際にどこに保存するかを指定する。続けて文字を書きたい場合は上のツールバーから ファイル → 新しい画像 の順に選択
- 7, 保存はxcfファイルでされるため一度pngに変換する必要があるため変換してから判別してもらうようにする。
- ※スクリプトでxcfファイルを直接判別してもらえるような文言を書いてみてもいいかも
5/7†
- MNISTについて
- MNISTを用いた手書き文字の画像判別はどのサイト・ホームページ (MNIST 判別 正解率と検索すれば確認できる) を見ても9割以上、特にCNNで学習させた場合99%前後まで精度が向上する。
- 限りなく100%の正解率に持っていく手法はあるだろうが正解率100%になることはない。
- 手書き数字の機械学習 (続き)
- とりあえず自身で作成した手書き数字を機械学習に判別させてみた
| 数字 | モデル数 | 正答率 |
| 0 | 3 | 3/3 |
| 1 | 5 | 5/5 |
| 2 | 6 | 6/6 |
| 3 | 6 | 6/6 |
| 4 | 2 | 2/2 |
| 5 | 10 | 9/10 |
| 6 | 2 | 1/2 |
| 7 | 3 | 2/3 |
| 8 | 2 | 1/2 |
| 9 | 13 | 9/13 |
本来は各数字のモデル数が揃っていることが望ましいが、こちらの諸事情により用意することができなかった。モデル数が 2 や 3 としかない部分は正確さに欠ける所があるが、1 ~ 3 はかなり正確性があると言って良いのではないか。特に 9 は 7 と間違えて識別するケースが多く見受けられた。
- 来週までにやること
- 手書き数字の画像に点や線、枠を入れても正確に判別できるのか
- 自動的に画像内のどこか適当なところに点や図形を自動的に入れることができるプログラムを組む
- 動物の顔を使った機械学習(できたら)
- 明日にやること
- 数字に点や線, 図形を加えた結果の表を作成
- 使用した画像を載せる
- 色を白ではなく他の色にするとどうなるか (エラーを吐き出される可能性あり)
5/2†
- 手書き数字の機械学習(CNN, 判別)について
- mnistのテストデータに入っている数字を判別させたところ正答率が100%であったのに対し、mnistには保存されていない数字ファイルを判別させたところ正答率は67%となった。
- mnist以外の数字画像はまだ正確に判別できているとはいえず、これから判別制度の向上と様々な数字画像を学習させていく必要がありそう。
- また mnist.py または mnist-hosei.py を何度もMATE端末上で動かしてmy_mnist_model.h5ファイルを更新し続けると前のモデルにさらに学習を重ねることでモデルが過剰に記憶し汎化性能(正答率)が落ちてしまう(これを過学習と呼ぶ)。なので定期的にmy_mnist_model.h5ファイルを削除して更新する必要がある。または2つのPythonファイルで保存場所を変えるのも良いのではないか。
- mnistの画像を少し補正
- 今までは画像の中心に数字を書いて機械学習を行ってきたが、home/kouzou/Morii25/hikitugi 内にある mnist-hosei.py ファイルでは画像の見た目を変えるため 回転・移動・拡大・変形 を行って機械学習させた。その結果以前よりも精度は上がった。
| 学習方法 | テストデータ正答率(%) | 判別精度(%) |
| そのままの状態で画像を学習 | 99.14 | 44 (4/9) |
| 画像を回転・移動・拡大・変形させて学習 | 98.49 | 67 (6/9) |
- そのままの状態で画像を学習させた時
| エポック数 | テストデータ正答率(%) | 判別精度(%) |
| 10 | 99.20 | 67 (6/9) |
| 12 | 99.13 | 56 (5/9) |
| 13 | 99.26 | 89 (8/9) |
| 14 | 99.19 | 89 (8/9) |
| 15 | 99.16 | 89 (8/9) |
| 16 | 99.08 | 89 (8/9) |
- エポック数が13を超えると判別精度が向上したがmnistにはない数字の画像を判別させると4の画像だけどうしても4と認識されない。エポック数によって4の画像のときだけ"1"や"9"と認識されてしまう。
- 4の画像を識別させたときにどれくらいの確率でどの数字であるかをPythonで作成してみるのも1つの手かも
- 画像を回転・移動・拡大・変形させて学習させた時
| エポック数 | テストデータ正答率(%) | 判別精度(%) |
| 10 | 95.47 | 56 (5/9) |
| 12 | 87.01 | 56 (5/9) |
| 13 | 90.55 | 56 (5/9) |
| 14 | 96.15 | 56 (5/9) |
| 15 | 86.66 | 56 (5/9) |
| 16 | 74.12 | 56 (5/9) |
- エポック数の大小に関わらず判別精度は変化せず、特に5, 7, 9の画像が"3"と認識されてしまった。これだけで比べるとテストデータ正答率, 判別精度ともにそのままの状態で画像を学習させた時の方が良い判別結果が得られそうだ。
- 来週にやること
- GW中に手書き数字の機械学習は終わらせたい
- 自身で手書き数字を書いてみてそれがどのくらいの精度であるか確かめる
- 動物の顔(仮)を機械学習を通じて判別できるようになるスクリプトを書き始める
- とりあえず多くの動物の顔の写真が載っているサイトを探す。
4/30†
- 畳込みニューラルネットワークを用いて手書き数字の機械学習
- 手書き文字の機械学習は mnist という手書き数字を認識するために用いられる画像データセットで行った。
- 1, MATE端末で "pip install tensorflow" と入力しEnterキーを押す。
- 2, エラーが出なかったらmnistの画像データをCNNに読み込ませるのと同時にmnist_model.h5ファイルを保存するスクリプトを書いて実行する。(/home/kouzou/Morii25/hikitugi 内にある mnist.py)
Pythonコード
- 3, しばらくすると正答率が表示される。だいたい99%前後の正答率が得られると思う。畳み込みとプーリング層を2層にした時点で100%に近い正答率が得られているため、これらの層を多くしてもさらに100%に正答率が近づくことはないだろう。
- ある手書き文字を読み込ませて判別させる
- 1, mnist等から28×28ピクセルで書いた数字のpngやjpgファイルを持ってきて以下のPythonコードを書く。ただしmnistに保存されているファイルは28×28ピクセルしかないため基本的にそれらの画像を拡張する方法を取らない限りPythonコードは28×28で書いておいたほうが良さそう。(/home/kouzou/Morii25/hikitugi 内にある suuji-hanbetsu.py)
Pythonコード
- 2, Enterキーを押せば判別してもらえる。
- 複数枚の手書き文字を一度に判別させたい場合
- 1, 複数枚ある手書き数字をどこか1つのフォルダーにまとめておき、以下のスクリプトを書いて実行する。(/home/kouzou/Morii25/hikitugi 内にある Hukusuu-hanbetsu.py)
- 2, Enterキーを押せば一度に複数枚判別してもらえる。
Pythonコード
- 11行目で予め画像を保存していたフォルダー名を入力する
- 12行目で画像ファイル形式を入力する
- 7と書いた画像(右の写真)を読み込ませたところ0と出力されてしまった。もう少しピクセルの大きさを大きくする必要がありそう。

- 畳込みニューラルネットワーク(CNN)について
- 特に画像認識や画像分類で優れた性能を発揮するディープニューラルネットワークの一種である。ディープニューラルネットワークとは通常のニューラルネットワークは層の数が3なのに対し、さらに畳込み層やプーリング層等多くの層から構成されているため層の深さによって"ディープ"がつくかどうか決まる。
- 層の用語について
- 畳み込み層 … 画像におけるエッジや色の変化といった局所的な特徴を抽出することで、空間構造を把握しながら高度な特徴の抽出が可能となる。
- プーリング層 … 画像の特徴と位置を紐付けてしまうとCNNの場合同じ特徴が画像の別の部分に現れたとしてもそれを抽出することができない。なので特徴から位置情報を削ぎ落とすことで畳み込み層で抽出された特徴が他の画像内のどこに移動(上下・左右)としても影響を受けないようにする。
- 全結合層 … 畳み込み層・プーリング層で抽出された特徴から最終的にクラスの分類や予測を行う層のこと。
| 手順 | 実行内容 |
| 1 | 画像を入力する(ピクセルで) |
| 2 | 畳み込み層で画像の特徴を検出する |
| 3 | プーリング層で重要な情報を抽出する |
| 4 | 2と3を繰り返す |
| 5 | 全結合層で画像の特徴をもとに分類を行う |
| 6 | 出力する |
| 比較項目 | SVM | CNN |
| モデル | すでに用意された特徴(数値)をもとにクラス分けする数式モデル | 画像の中から特徴を自動で学習して分類まで行うニューラルネットワーク |
| 入力 | 数値データ (特徴量ベクトル) → 画像を数値に変換する必要あり | 生の画像そのまま(ピクセルデータ) |
| 特徴の抽出方法 | 手動(人があらかじめ決めた特徴) | 自動(エッジ・色・形などを学習) |
| モデル構造 | 数学的な式(境界面) | 多層のニューラルネットワーク |
| 適用例 | 小規模なデータで分類(例:文字分類、小さな画像) | 大規模な画像分類・認識(例:顔認識、医療画像、サビ分類など) |
| 学習の難易度 | 比較的簡単(実装も軽い) | やや難しい(GPUや深層学習の知識が必要) |
| 処理速度 | 小規模なら早い | 訓練に時間がかかる(推論は速い) |
- SVM → 与えられた特徴を元に最適な境界線で分類する方法。この方法は手軽だが特徴量の選び方次第
- CNN → 画像の中から重要な特徴を自分で見つけて分類してくれる方法。学習に時間がかかるが精度が高く応用範囲が広い
4/28†
- 5つあるpythonファイルの使い方についてとそれぞれの役割
- 錆の写真を撮影してそれをサポートベクターマシンを用いるまでの手順を知りたい
- SVMについて
- 佐藤さんが研究していたファイル達(sato2024)は各フォルダーごとにどんな意味を持っているのか。
- 佐藤さんから錆の写真からサポートベクターマシンを用いて用いて機械学習を行うまでの流れを教えて頂いた。
- 耐候性鋼材のページに上記の事について詳しくまとめてある。
- 機械学習のページは何か発見があったら随時更新していく必要あり。
- 来週までにやること
- 畳み込みニューラルネットワークについて調べる
- 佐藤さんのファイル内にある手書き数字を使って機械学習
- それに加え動物の顔(一例)が判別できるかについても機械学習を行う。
4/25†
- svm.py について (コマンド)
- 0, はじめに
- svm = "s"upport-"v"ector-"m"achine のこと
- 1, py ファイルを呼び出す前に svm.py ファイルを開く
- 2, ファイルを開いたら13行目に書いてある data_dir = 〜 の部分を確認する
- デフォルトでは data_dir = "edge/250_300_edge" となっていると思う。基本的にこのsvm.pyと15行目に書いてあるフォルダー(の中身 = "mk1_pgm" , "mk2_pgm" , ...)は下の写真のように同じ階層で保存しておく必要がある。

この写真の場合 "mk1_pgm"等が入っている1番左にある "250_300_edge" フォルダーと1番右にある "svm-kaizou.py" が同じ階層にある。
- henkan.py について (コマンド)
- 1, MATE端末を開き py ファイルのある hikitugi に移動する (cd hikitugi)
- 2, py ファイルを呼び出す (python3 henkan.py) [3は ver のことであり入力しなくても呼び出せる]
- 3, 変換行列ファイルのパスを入力してください と表示されるので入力する(一例: /home/kouzou/sato24/gr/henkanm/1_henkanm/m_rating1_1.txt ) → Enterキー
- 変換行列ファイルは3 ☓ 3行列の .txtファイルで表されており、/home/kouzou/sato24/gr/henkanm にある。
- henkanm内にある 1_henkanm ~ 4_henkanmの .txt の名前と /home/kouzou/sato24/gr/data にある各ファイル[1_ppm~4_ppm]の .ppmの名前と対応している。
- 4, 補正したいPPM画像のパスを入力してください と表示されるのでppm画像のパス入力する。(例: /home/kouzou/sato24/gr/data/hg_k2_5_5.ppm) → Enterキー
- 基本的に/home/kouzou/sato24/gr/data内にある ○_ppm や hg_○_ppm と書かれたファイルから選択するはず (例: /home/kouzou/sato24/gr/data/1_ppm/rating1_1.ppm)
- 5, 補正後の画像を保存するパスを入力してください と表示されるので変換後のppm画像をどのパスに保存したいか入力する (例: /home/kouzou/henkan-after.ppm と入力するとkouzouのフォルダー内に henkan-after というppmファイルが保存される) → Enterキー
---変換行列ファイルはかなり細かい値まで書かれているためなぜそのような値に設定したのか一度聞いてみる必要がありそう
---各RGB値を入力するにあたりなにか根拠となるものがあるはず(ppm画像とか) → 探しておく必要がある
- 来週中にやること
- サポートベクターマシーン(優先)と畳込みニューラルネットワークについて調べる
- このページをまとめる(5つのpythonファイルをどういう順序で使っていくのか示す)
- 佐藤さんへの質問をまとめておく
4/24†
- これからしばらくはpythonになれることが必要 Python上で佐藤さんが作成したプログラムが正常に動作するか確認
- 【質問内容】
- 最初に取り組むべきステップは何か?
機械学習を使うにはどんなデータ整理や前処理が必要かがわかっていない。例えば、「画像をどう分類するか」「どんなラベルをつければいいか」など、考えるべきことを教えていただけるとありがたいです。
- 過去の先輩方の研究でどの部分を参考にするのがよいか?
佐藤卒論日誌やRGBメモの中で、現在の作業と関連が深い部分があれば教えていただきたい。
- MATE端末からpythonを開くには → python と入力すれば入ることができる
- MATE端末から1つ上のディレクトリに上がりたい(戻りたい)場合 → cd .. と打つ (cdとコンマの間には半角スペースをいれること)
- python上で ホーム / hikitugi 内に保存された.pyファイルを動かすためには
- MATE端末にもどり( python の状態から脱出する) "python ファイル名.py" と打つと実行することができる。
- hikitugi内には RGBrironti.py , edge.py , henkan.py , matrix.py , svm.py の計5つのpyファイルがあった。それぞれ何を入力したら先に進むのか考えていく
- RGBrironti.py について (コマンド)
- 1, MATE端末を開き py ファイルのある hikitugi に移動する (cd hikitugi)
- 2, py ファイルを呼び出す (python3 RGByomitori.py) [3は ver のことであり入力しなくても呼び出せる]
- 3, フォルダーのパス入力が求められるので錆の写真があるフォルダーを入力する → Enterキー (一例: /home/kouzou/sato24/gr/data/1_ppm)
- 4, 保存するファイル名を入力する → Enterキー (一例: RGBsyuturyoku0423 )
- 5, その後ウィンドウのどこかしらに錆の画像が表示されるので、その写真のどこか適当な所をクリックするとMATE端末上に
画像: ファイル名(.ppm) | クリック位置: (x座標, y座標), RGB値: (R(0~255), G(0~255), B(0~255),)
と表示される。またフォルダーパスの入力をしたファイル内に4で保存したファイルが保存されている(今回はhome/kouzou/sato24/gr/data/1_ppm に RGBsyuturyoku0423 というの文書ファイルが保存されている)
- 6, 文書ファイルを開くと写真のようにMATE端末に表示されているのと同じ情報が文書ファイル内に保存される。

- 7, 写真の左下に写っている錆の写真は矢印キー(←, →)でフォルダー内の写真を切り替えることができる。
- 補足:保存するファイル名を前に作成したファイル名と同じにすると新たに上書きされるのではなく、既存のデータに加えられる形で保存される。
- edge.py について(コマンド)
- 1, MATE端末を開き py ファイルのある hikitugi に移動する (cd hikitugi)
- 2, py ファイルを呼び出す (python3 edge.py) [3は ver のことであり入力しなくても呼び出せる]
- 3, 入力ディレクトリパスの入力が求められる。なお edge.py はpgmファイルのみ対応しているのでpgmファイルで保存されていいる写真のあるフォルダーを入力する → Enterキー (一例: /home/kouzou/sato24/soturon/resize_pgm/k_data_ppm_resize/r1_pgm)
- 4, 出力ディレクトリパスの入力が求められる。ここでは3で入力したファイルをエッジ処理したものをどこに保存するかを設定する。ここでは一例として(/home/kouzou/edge-syuturyoku0424)と入力しておく。
- /edge-syuturyoku0424はエッジ処理したものを入れておくファイル名であり、もしファイル名を入れずにEnterキーを押してしまうとこの場合kouzouのフォルダー内に保存されてしまうので注意すること。
- 5, エッジ処理の閾値1, 2を入力してくださいと表示される
- エッジ処理の閾値1は "Cannyエッジ検出の「低い方のしきい値」" のことである。画像の中で「ここはエッジ」と判断するための数値で、5〜100くらいに設定しておくとよい。
- エッジ処理の閾値2は "Cannyエッジ検出の「高い方のしきい値」" であり、150〜200くらい に設定しておくとよい。
- 6, 閾値1, 2 を入力して Enterキー を押してしばらくするとkouzouにedge-syuturyoku0424というフォルダーが作成される。そのフォルダーを開いて錆の写真が左下から右下のような感じに変換されていれば成功。
→ 
4/23†
卒論テーマが決まった。
耐候性鋼橋の耐候性鋼材の錆の現地調査(今年度から)(日本鉄鋼連盟、土木研究センター、東北の大学や高専の土木構造系研究室の共同研究)に参加しながら、撮影データに対して機械学習(AI)を用いた外観評価を行う。最終的にドローンで撮影した耐候性鋼橋の画像データに対して外観評点を行う方法も検討する(特定の距離や照明で撮影するといった制御ができるか)。
- jpg, ppmファイルから1点ごとのRGB値を確認する方法
- 1,写真フィルを選択して"gimpで開く"をクリックする。
- 2,gimpが開けたら上にあるバーから "ウィンドウ" → "ドッキング可能なダイアログ" → "ピクセル情報" と進んでいくと要素ごとにRGB値を確認できる。
- MATE端末のコマンド
- 1, locate (ファイル名等) → (ファイル名)がどこにあるのかリストアップしてくれる
- 2, gfortran -o (ファイル名) (ファイル名.拡張子) → あるファイルを変換する(gfortran -o)
- 3, history → MATE端末内で過去にどんなコマンドを用いたか確認できる。
- 4, hg (ファイル名等) → MATE端末内でどの部分に(ファイル名)が用いられているかを確認できる。(検索エンジン内での Ctrl + Fキー のようなもの)
創造工房実習†
4/18†
創造工房実習でI型断面等の三角形分布や塑性状態がどういう応力分布になっているのかを確認するのを忘れていたのでここに書いておく。
- I型断面に10Nの面載荷をかけたとき
- 梁の断面に赤と青で濃く色分けされており、上下縁の両方は降伏に達していると確認できた。
- 固定端近くでは、直応力σxxがほぼ対称に上縁で圧縮、下縁で引張になっており三角形状の応力分布に近い。一方で真ん中付近が少し平坦になっている部分もあるため全体的に見ると三角形分布ではないといえる。

- 15Nの面載荷をかけたとき
- 10Nの荷重をかけたときよりも梁の上下縁にかなりの力がかかっている。ただ解析ステップを10に設定しているところParavis上では22ステップになっているため各種データの信憑性は100%とは言い切れない。→10ステップにならないのは解析がうまく行っていない証拠。ちなみに面載荷を20N以上に設定するとエラーが出る。
- 固定端近くでは10Nのときと同様、真ん中から先端付近にかけて上縁部分は三角形に近い形で応力分布が現れている。固定面付近ではかなりの直応力がかかっているがそれ以外の部分は三角形に近い形で応力分布が現れているといって良いのではないか。

- 5N, 6Nの面載荷をかけたとき
- 固定面側は最大281MPaの直応力が加わっている上縁がありこの時点で塑性状態に入っていることが分かった。(6N)
- 下端側よりも上端側のほうが直応力の値が高く出る傾向にある。面載荷にしているのになぜなのか。もしかしたら面載荷 = 等分布荷重として捉えることができ、それを1点にかかる集中荷重に置き換えるとたわんでいない状態での梁における中立軸よりも下端側にかかるため上端側のほうが直応力の値が高く出るのではないか。

上端
・ーーーーーーーーーー
| ーーーーー
・ーーーーーーーーー ーーーー|
下端 ーーーーー |↓集中荷重位置 このように上端ー集中荷重位置の距離が下端よりも長いことから上端側のほうが直応力が大きい。
ーーーーー| 逆方向に面載荷をかければ下端側の直応力が大きくなるだろう。
4/17†
- SALOME2021でメッシュが計算されない事例が発生
- 1, メッシュの編集画面を開く
- 2, アルゴリズムで"NETGEN 1D-2D-3D" を選択
- 3, その下にある詳細設定右側の歯車をクリックして "NETGEN 3D Parameters" を選択すると最大サイズと最小サイズが任意で選択できる
- 4, 最大サイズと最小サイズに数値を入れてOKをクリック (最小サイズは0にしても問題なくメッシュ計算ができる)
- 5, メッシュの編集画面に戻るので"適用して閉じる"をクリック
- 6, 左側のオブジェクトブラウザーにある"Mesh_1"を右クリックして"メッシュを作成"を選択するとメッシュの計算が開始される
4/14†
4/10†
- 片持ち梁にかける荷重を6.25N以上にするとParavisでtime stepが0.8sあたりから0.25s間隔になる。→解析が上手く行っていないのこと
- 6.25Nで解析を行うと実際の結果が降伏応力に収束しなくなる。グラフを描くなら7.5~8.0Nが望ましい。
- 明日やること
- 応力(ミーゼス)-ひずみ,応力-たわみのグラフを作成
- スライドの作成

| 経過時間 | ↖たわみ(mm) | ↖応力(MPa) | ↗たわみ(mm) | ↗応力(MPa) |
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0.000140332 | 34.4925 | 0.000184238 | 44.0832 |
| 2 | 0.000280661 | 68.9829 | 0.000368391 | 88.1643 |
| 3 | 0.000420986 | 103.471 | 0.000552457 | 132.243 |
| 4 | 0.000561308 | 137.957 | 0.000736434 | 176.318 |
| 5 | 0.000701624 | 172.44 | 0.000923909 | 220.147 |
| 6 | 0.000842636 | 206.506 | 0.00123269 | 241.658 |
| 7 | 0.00101987 | 237.23 | 0.002051 | 244.44 |
| 8 | 0.00130101 | 257.808 | 0.00765896 | 243.452 |
| 9 | 0.00191133 | 268.432 | 0.0109555 | 241.582 |
| 10 | 0.00377436 | 280.533 | 0.0148525 | 239.658 |
| 11 | ー | ー | 0.0191575 | 237.724 |
| 12 | ー | ー | 0.0237442 | 235.762 |
| 13 | ー | ー | 0.0285207 | 233.804 |
| 14 | ー | ー | 0.0333983 | 231.819 |
| 15 | ー | ー | 0.0383132 | 229.768 |
| 16 | ー | ー | 0.043212 | 227.625 |
4/7†
2/7†
春休みの課題
- 弾塑性班
- 鋼材の長方形断面の梁(想像しやすい大きさ)の片持ち梁と単純梁を曲げる
- 軸方向:\( z \), たわみ方向:\( y \)
- SS400ぐらいのヤング率と降伏応力で弾塑性解析の設定
- 載荷点での荷重、たわみのプロット
- 軸方向直応力が最大となる点での直応力-直ひずみのプロット(降伏点付近で折れ曲がるか)
- その点での相当応力(ミーゼス応力)―相当ひずみのプロット(上記との違いは)
- 曲げモーメントが最大となる断面の軸方向直応力\( \sigma_{zz} \)を各荷重レベルでプロット(\( yz \)の2次元と、できれば3次元も)し応力の三角形分布を確認する
- 上記の三角形分布において、上下縁から徐々に降伏が入ってきて、最終的に全塑性の状態になるか。
- 上記を確認できたら、I型断面とかの三角形分布や全塑性が、どういう応力分布になっているのかを確認。
12/20†
今日はviを用いて論文に画像を貼る方法について学んだ。
12/13†
今日はviを用いた論文の書き方を学んだ。
・文頭に%をつけるとその行に書かれた文章は反映されない
・強制改行したい場合は"\\"を入力する
・更新→:!pdfplatexsibup2
○式を書く(書き方は編集画面から)
\( v=\frac{P\ell^{3}}{48EI} + \frac{P\ell}{4kGA} \)
\begin{eqnarray} v=\frac{P\ell^{3}}{48EI} + \frac{P\ell}{4kGA} \\ I=\int_{A}y^{2}dA \end{eqnarray}
11/29†

今回は鋼材で木材を挟んだサンドイッチ梁の解析を行い、縦軸に変位(mm), 横軸にボリューム数をとって上のグラフを作成した。
メッシュ長さの大小関係なく理論値と20%の誤差が生じ、これ以上メッシュ長さを短くしても理論値には近づくことがないと推測する。サンドイッチ梁は多分見たことがない以上イメージが湧かず誤差の推測をしようがないので実物にこの目で見て実験を行いたい。今回は鋼材で木材を挟んだサンドイッチ梁を解析したが、実用性を一旦置いて木材で鋼材を挟んだサンドイッチ梁の場合結果はどうなるのだろうか。
全員で作成した解析結果のグラフを下に示しておく
| メッシュ長さ | 要素数 | 先端変位(4隅の平均値)[mm] | 相対誤差(\( \frac{salome-手計算}{手計算} \)) | 計算者 |
| 0.7 | 155419 | 0.0772 | 26.943 | 湊 |
| 0.8 | 138734 | 0.0775 | 26.452 | 湊 |
| 0.9 | 82935 | 0.0774 | 26.614 | 湊 |
| 1.1 | 38671 | 0.0766 | 27.937 | 森井 |
| 1.2 | 32044 | 0.0770 | 27.273 | 森井 |
| 1.3 | 28599 | 0.0768 | 27.604 | 森井 |
| 1.4 | 23950 | 0.07640 | 22.04 | 米谷 |
| 1.5 | 19998 | 0.07641 | 22.03 | 米谷 |
| 1.6 | 19448 | 0.07715 | 21.28 | 米谷 |
| 1.7 | 13801 | 0.07567 | 22.79 | 米谷 |
| 1.8 | 12677 | 0.07736 | 21.06 | 沼野 |
| 1.9 | 11464 | 0.07546 | 23.00 | 沼野 |
| 2 | 10699 | 0.07404 | 24.45 | 沼野 |
| 3 | 3579 | 0.08414 | 15.004 | 國井 |
| 4 | 1628 | 0.08279 | 16.37 | 國井 |
| 5 | 1016 | 0.08303 | 16.26 | 國井 |
| 6 | 839 | 0.08288 | 16.26 | 西澤 |
| 7 | 554 | 0.08087 | 18.28 | 西澤 |
| 8 | 285 | 0.07898 | 19.20 | 西澤 |
| 9 | 261 | 0.01421 | 85.49 | 真庭 |
| 10 | 232 | 0.03380 | 65.51 | 真庭 |
| 11 | 208 | 0.00913 | 90.68 | 真庭 |
11/22†

今回は単純異方性と等方性の解析を行い、縦軸に変位(mm), 横軸にボリューム数をとって上のグラフを作成した。異方性は上2つのグラフであるが、メッシュ長さを2以下で解析を行うと理論値(緑)と近しい値をとるようになる。一方で等方性の場合はメッシュ長さが5までなら理論値と似たような値をとる結果となった。前回まではメッシュを細かくするほど理論値に近づいたが異方性の場合はメッシュ長さを1.3にした時が理論値に一番近づき、等方性の場合は理論値と平行関係になってしまった。さらに長さを小さくして解析しても理論値には近づくことがないのではないか。
全員で作成した解析結果のグラフを下に示しておく
| メッシュ長さ | 要素数 | 変位(異方性)[mm] | 相対誤差-異方性(\( \frac{salome-手計算}{手計算} \)) | 変位(等方性)[mm] | 相対誤差-等方性(\( \frac{salome-手計算}{手計算} \)) | 計算者 |
| 0.7 | 171996 | 0.5068 | 2.993 | 0.4301 | 3.141 | 湊 |
| 0.8 | 161561 | 0.5069 | 2.999 | 0.4300 | 3.116 | 湊 |
| 0.9 | 94185 | 0.5021 | 2.071 | 0.4301 | 3.139 | 湊 |
| 1.1 | 47998 | 0.4957 | 0.814 | 0.4122 | 1.056 | 森井 |
| 1.2 | 47343 | 0.4952 | 0.712 | 0.4300 | 3.217 | 森井 |
| 1.3 | 42112 | 0.4941 | 0.488 | 0.4298 | 3.169 | 森井 |
| 1.4 | 38960 | 0.4937 | 0.407 | 0.4299 | 3.193 | 森井 |
| 1.5 | 15041 | 0.4845 | 1.460 | 0.4298 | 3.179 | 米谷 |
| 1.6 | 16071 | 0.4849 | 1.380 | 0.4298 | 3.157 | 米谷 |
| 1.7 | 12933 | 0.4845 | 1.460 | 0.4299 | 3.182 | 米谷 |
| 1.8 | 12993 | 0.4832 | 1.73 | 0.4298 | 3.19 | 沼野 |
| 1.9 | 11235 | 0.4783 | 2.73 | 0.4295 | 3.10 | 沼野 |
| 2 | 11456 | 0.4982 | 1.32 | 0.4296 | 3.12 | 沼野 |
| 3 | 2514 | 0.4369 | 4.87 | 0.4293 | 3.05 | 國井 |
| 4 | 1461 | 0.4341 | 4.20 | 0.4293 | 3.05 | 國井 |
| 5 | 433 | 0.2803 | 32.7 | 0.4284 | 2.83 | 國井 |
| 6 | 356 | 0.4283 | 2.80 | 0.3437 | 17.5 | 西澤 |
| 7 | 102 | 0.4260 | 2.26 | 0.2225 | 46.6 | 西澤 |
| 8 | 93 | 0.4260 | 2.26 | 0.1123 | 73.0 | 西澤 |
| 9 | 81 | 0.2212 | 54.9 | 0.4255 | 2.13 | 真庭 |
| 10 | 84 | 0.2051 | 58.3 | 0.4247 | 1.95 | 真庭 |
| 11 | 74 | 0.2260 | 54.0 | 0.4246 | 1.91 | 真庭 |
11/15†

単純梁の解析結果から縦軸に変位(mm), 横軸にボリューム数をとって上のグラフを作成した。
前回と同じくメッシュの長さを長くすると接点変位は小さくなり、相対誤差は大きくなった。前回は√nに近い形のグラフが描けた一方で今回は歪な形のグラフができてしまった。変曲点はメッシュ数が小さい(1メッシュあたりの長さを長くした)方もといグラフ左側に偏っており、メッシュ長さを長くして解析を行うほど解析結果の信憑性は低くなるのではないか。他のPCと同じ解析を行った場合結果は一緒になるのだろうか?機会があればやってみたいものだ。
全員で作成した解析結果のグラフを下に示しておく
| メッシュ長さ | 要素数 | 先端変位(4隅の平均値)[mm] | 相対誤差(\( \frac{salome-手計算}{手計算} \)) | 計算者 |
| 0.7 | 171996 | 0.4260 | 2.207 | 湊 |
| 0.8 | 161561 | 0.4256 | 2.115 | 湊 |
| 0.9 | 94185 | 0.4169 | 0.0719 | 湊 |
| 1.1 | 47998 | 0.4122 | 1.067 | 森井 |
| 1.2 | 47343 | 0.4118 | 1.166 | 森井 |
| 1.3 | 42112 | 0.4113 | 1.289 | 森井 |
| 1.4 | 38960 | 0.4112 | 1.313 | 森井 |
| 1.5 | 15041 | 0.3978 | 4.516 | 米谷 |
| 1.6 | 16071 | 0.3999 | 4.002 | 米谷 |
| 1.7 | 12993 | 0.3971 | 4.687 | 米谷 |
| 1.8 | 12203 | 0.3964 | 4.85 | 沼野 |
| 1.9 | 11235 | 0.3942 | 5.38 | 沼野 |
| 2 | 11456 | 0.3991 | 4.20 | 沼野 |
| 3 | 2514 | 0.2141 | 21.4 | 國井 |
| 4 | 1461 | 0.34028 | 18.4 | 國井 |
| 5 | 433 | 0.1354 | 67.8 | 國井 |
| 6 | 356 | 0.2135 | 48.8 | 西澤 |
| 7 | 102 | 0.11 | 73.6 | 西澤 |
| 8 | 93 | 0.112 | 73.0 | 西澤 |
| 9 | 81 | 0.1125 | 73.0 | 真庭 |
| 10 | 84 | 0.0794 | 80.9 | 真庭 |
| 11 | 74 | 0.1297 | 68.9 | 真庭 |
11/8†

全員で行った解析の結果を縦軸に変位, 横軸にボリューム数をとってグラフを作成した。
メッシュの長さを長くすると接点変位は小さくなり、相対誤差は大きくなった。
一方でメッシュの長さを小さくするほど接点変位は断面二次モーメントで算出された6.67mmに近づいた。
メッシュ長さを0.5や0.3として解析を行えばもっと理論値に値が近づくのではないか。
全員で作成した解析結果のグラフを下に示しておく
| メッシュ長さ | 要素数 | 先端変位(4隅の平均値)[mm] | 相対誤差(\( \frac{salome-手計算}{手計算} \)) | 計算者 |
| 0.7 | 107380 | 6.47 | 2.96 | 湊 |
| 0.8 | 57821 | 6.44 | 3.62 | 湊 |
| 0.9 | 57698 | 6.43 | 3.73 | 湊 |
| 1.1 | 57980 | 6.44 | 3.57 | 湊 |
| 1.2 | 52123 | 6.41 | 3.90 | 森井 |
| 1.3 | 45549 | 6.34 | 4.98 | 森井 |
| 1.4 | 26951 | 6.32 | 5.31 | 森井 |
| 1.5 | 16904 | 6.25 | 6.32 | 米谷 |
| 1.6 | 14296 | 6.20 | 7.05 | 米谷 |
| 1.7 | 13596 | 6.21 | 6.81 | 米谷 |
| 1.8 | 6299 | 5.74 | 13.9 | 沼野 |
| 1.9 | 6001 | 5.73 | 14.1 | 沼野 |
| 2 | 5617 | 5.65 | 15.3 | 沼野 |
| 3 | 2309 | 5.48 | 17.8 | 國井 |
| 4 | 617 | 3.62 | 45.6 | 國井 |
| 5 | 494 | 3.85 | 42.3 | 國井 |
| 6 | 581 | 2.51 | 62.4 | 西澤 |
| 7 | 133 | 1.41 | 78.8 | 西澤 |
| 8 | 78 | 1.29 | 80.7 | 西澤 |
| 9 | 72 | 1.288 | 80.69 | 真庭 |
| 10 | 60 | 1.226 | 81.62 | 真庭 |
| 11 | 65 | 1.231 | 81.54 | 真庭 |
11/1†


今日(11/1)はwikiにグラフの貼り付けとviとlinuxを使ってグラフの作成を行った
上のグラフは自身で作成したもの、下のグラフは過去の先輩方が作成したグラフの数値を拝借した。
先輩方が作成したグラフの数値を下に示しておく
| メッシュの長さ | 要素数 | 変位[mm] | 相対誤差 | 計算者 |
| 0.7 | 155192 | 0.08378905246 | 15.365 | 安藤 |
| 0.8 | 138808 | 0.08380386491 | 15.350 | 安藤 |
| 0.9 | 82587 | 0.083707073981 | 15.45 | 兼田 |
| 1.1 | 38671 | 0.084201207602 | 14.95 | 兼田 |
| 1.2 | 31929 | 0.083688 | 15.466 | 柴田 |
| 1.3 | 28621 | 0.083669 | 15.4857 | 柴田 |
| 1.4 | 28854 | 0.08368 | 15.47 | 佐藤 |
| 1.5 | 20015 | 0.084052 | 15.10 | 佐藤 |
| 1.6 | 19448 | 0.0835402938 | 15.62 | 皆川 |
| 1.7 | 13801 | 0.0834355098 | 15.72 | 皆川 |
| 1.8 | 12528 | 0.083733 | 15.42 | 永山 |
| 1.9 | 11769 | 0.083924 | 15.23 | 永山 |
| 2 | 10699 | 0.084076876559 | 15.074 | 辻 |
| 3 | 3579 | 0.08414561753 | 15.004 | 辻 |
| 4 | 1628 | 0.082794 | 16.37 | 服部 |
| 5 | 1016 | 0.083033 | 18.89 | 服部 |
| 6 | 839 | 0.082882 | 16.26 | 梶原 |
| 7 | 554 | 0.080871 | 18.28 | 梶原 |
| 8 | 285 | 0.079995 | 19.20 | 工藤 |
| 9 | 261 | 0.078980 | 20.22 | 工藤 |
| 10 | 232 | 0.081911 | 17.26 | 佐々木 |
| 11 | 208 | 0.075676 | 23.56 | 佐々木 |
10/4†
今日は顔合わせをした
頑張りたい
"いきものがかり"についた