前回の記事の続きです。wavファイルのサウンドデータを逆順に並べて保存するのですが、以下のPythonのwaveモジュールを使ったコードでできます。逆順に並べ替えているのは for i in range(buf.size): #bufの内容を逆転してbuf1へ格納 buf1[i] = buf[buf.size…
Unityでアプリを書くときの、サウンドファイルの暗号化の方法です。少し前の記事で書いたように、最初ぼくはサウンドファイル、画像をアセットバンドルとして扱い、アセットバンドルを暗号化する方法でやってみたのですが、PCではうまく行きましたが実機(ス…
あります。……というか多いです。数学が好きなら、それを教えてお金になるのですからこれほどいい職業はありません。しかし世の中、うまい話はありません。 生徒に「定期テスト(中間テスト、期末テスト)と授業中にやる小テスト(10点満点とか)の1点に差は…
Unityでゲーム作成時に使う画像(pngファイル)を暗号化する話です。ゲーム作者でない人間がゲームに含まれるアセットを取り出すことは可能で(そういうソフトウェアがある)、それを防ぐための手段です。 ゲームにはアセットバンドルという形で画像などを含…
前回紹介した、『たのしい2Dゲームの作り方 第2版』(STUDIO SHIN2023翔泳社)にひと通り目を通しました。スプライトなど、アセットはダウンロードして使わせてもらい、あれこれ実験をやりました。大変勉強になりました。 たのしい2Dゲームの作り方 第2版 Un…
立体の復元実験もケリはつき(よくない結果でしたが……)、夏休みもそろそろ終わりです。次はまたアプリでも作るかな……と1週間くらい前から勉強を再開しました。本も購入。『たのしい2Dゲームの作り方 第2版』(STUDIO SHIN2023翔泳社)です。 たのしい2Dゲ…
立体の復元、一応ここまでで書いた理屈は全てプログラムで試してみました。しかし、結果は×でした……。結構時間かけたのに……。写真3枚から内部パラメータ行列Aを求めようとするとき、次の式を使います。 ブログではBを(測定によって)求めてからこの式を使…
ここまでチェスボードを使ってカメラの校正をして写っている立体を復元する方法を説明してきました。長かったですし、毎回「なるほど!」と納得していたつもりでも、いざ「さあプログラミング!」というとき「あれ、何をすればいいんだっけ?」と必ずなりま…
ここまでで3枚の写真からカメラの内部パラメータAを求め、基礎行列Fを求め、基本行列Eを求め、回転行列R、平行移動ベクトルtを求めました。ここからは3枚のうちの2枚を使えば立体の頂点などの(空間内の)座標を計算できます。この部分を説明します。 …
続きです。今回まででR、tが求まります。全体、『写真から作る3次元CG』に従っています。あちこち「あれ?」と躓いたところがあり、後で読んですぐ理解できるよう、かなり詳しく説明をつけておきました。1回引っかかったところは次回も必ず引っかかるもので…
前回の記事でFが求まります。次に、このFからE、R、tを求めます。やはり結構大変です。 次回、Cを最小にして回転行列、平行移動のベクトルを実際に求めます。今回の記事は何回も紹介している『写真から作る3次元CG』によっています。 3次元コンピュータビジ…
Fは成分が9個ですから、「9点法」が正しいのでは?……と思うかも知れませんが、エピポーラ方程式を見るとFの成分が全部2倍になっていても成立します。いろいろなテキストでこういった事情を「Fのスケールは任意」と表現しています。例えばFの右下の成分を1に…
高校では生徒が問題を起こしたとき、場合によっては謹慎処分にしたりします。例えば喫煙が発覚したら5日間の自宅謹慎、とか。学校によりますし多分明確には決まっていないこともあると思うんですが、経験では5日の謹慎なら最低2回、できれば3回くらい家庭訪…
ここで、ぼくがこの分野を勉強し始めて最も悩んだことのひとつ、座標変換について整理しておきます。式が明らかになっていても、落ち着いて考えると「このmはどこの座標で測ったものなんだっけ?」とか、「どちらの座標軸を動かしたと考えている?」とか、…
ここで少し休憩。写真からチェスボードを使って立体を復元(1)~(7)で一応、チェスボードの映り込んだ写真3枚から撮影に使ったカメラの内部パラメータ行列Aを求める方法を説明しました。初めてだと特に、「理屈は分かったけれど、じゃあ具体的に何をどう…
いよいよ次の連立方程式を解きます。 以上で定数倍の定数λも含め、変数が全て求まりました。参考にしているテキスト『写真から作る3次元CG』では結果は載っていますが、計算の過程は書いてありません。結構大変でした。なお、eがこの記事の結果とは一部違…
続きです。カメラの内部パラメータ行列、Aを求めます。Aの成分は、下の通り添え字がついているものがあります。意味が分かりやすいからですが、単純に連立方程式などを解くときには却って見づらくなります。そこでこれらはアルファベット1文字で表すことに…
続きです。やや分かりにくい式変形が含まれます。ノートに書いて理解してください! 次回以降ではこうして求めたBからAを求めます。参考にしているテキスト(『写真から作る3次元CG』)ではこの計算は省略されています。ここも丁寧に書きます。 追記 202…
続きです。自分があとで見て分かるよう、かなり丁寧に書いています。相変わらず手書きですがご勘弁を……! 次回以降で具体的にAを求めます。個人的には意外というか、「なぜこんなに大変なの?」という気持ちです。アングルを変えて何枚か写真を撮れば、チェ…
続きです。写真上の点とチェスボード上の点の対応からHを求めます。 このあと、順にHを求め、Aを求め、Rとtを求めます。
まず基本。以下で、チェスボード上の点が写真上ではどのような座標に対応するのか、計算するための式を求めます。 Hは3行3列の行列です。u, v, u', v' の対応からHの成分が分かれば先へ進めます。 今回はここまで。カメラ座標系(の座標軸)を、回転R(空間…
現在、また「何枚かの写真に写った立体をPCで再現する」というテーマで理論の整備、実験をしています。具体的には、立体の写真(建物の写真、家具の写真、……)を何枚かPCに渡して、PC内でそれらの立体の頂点の座標を計算します。そうすればPC内でそ…
大変なことになっていますね。何だかいろいろスバラシイカード!……のはずだったのに、何これ……という感じです。一番大切な部分が最も雑、とでも言えそうなシステム。皆さんの職場を考えてください。「新システムです!」なんて導入されたら問題発生しまくり…
1900年代初頭に生まれた相対性理論が描く宇宙を、物理学者や天文学者たちがどのように理解してきたのか、概観できます。興味深い、知らなかった話がいくつも書いてありました。 ブラックホール・膨張宇宙・重力波~一般相対性理論の100年と展開~ (光文社新…
同僚の先生が生徒に「全ての放物線は相似なんですか?」と聞かれたそうです。ぼくはこれまで、そういうことを考えたことがありませんでした……。しかし少し考えてみると相似だと分かります。 これで示せました。知らなかったのでぼくにとっては意外な結果です…
今、「写真から3次元の立体を復元する」というテーマで勉強しています。線形代数が必要な分野で、こちらも並行して勉強し直しています。行列のランク、対称行列の対角化、特異値分解、……といったことが分かっていないと議論について行けません。今回紹介する…
久しぶりのブログ更新です。新年度でドタバタしていました。GW以降は写真から3次元復元する実験に入っています。前、条件を簡単にして2枚の写真から立体を復元する実験をやっており、結果も出しています。 www.omoshiro-suugaku.com 今回は、前には敬遠し…
バッチ正規化の実験(勾配確認)がうまくいったので、実際にMNIST(数字認識の実験のためのデータセット)を使って認識率がどうなるか試してみました。なお、バッチ正規化では正規化(標準化)の式として前回の記事の通りのもの(γ・(x-μ)/s+β)を用い…
バッチ正規化の話です。前回書いたとおり、画像認識のネットワークでデータを処理するとき、「各層で、特定のいくつかのユニットだけが値が大きくなる」という現象が起こります(「アクティべーションの分布が偏る」)。出力層でも「2」ばかりが出力されたり…
まだこのブログで紹介していなかった素晴らしい本です。『ゼロから作るDeep Learning』です。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 作者:斎藤 康毅 オライリージャパン Amazon 何回か話題にしている数字認識の実験のセッ…