hirax.net::Keywords::「最適化」のブログ



2008-05-28[n年前へ]

日本ニューメリカルアルゴリズムズ、MATLABアドオン販売開始 

 「日本ニューメリカルアルゴリズムズ、MATLABアドオン販売開始

2008-07-23[n年前へ]

「肌」と「昼の日差し」のスペクトル 

 夏の日差しを実感するようになりました。肌は日焼けして赤黒くなり、そんな肌はピリピリと痛く、熱っぽさすら感じます。そんな、夏の明るい景色を眺めていると、なぜか楽しくなります。

 痛いけれど日焼けする夏の日差しが気持良く感じる人もいる一方で、日焼けする夏を嫌う人も多いと思います。特に日焼けしたくない女性にとっては、夏は面倒でとても嫌な季節だったりするのかもしれません。

…と考えているうちに、ふと、夏の日差しを浴びる「肌の色」を眺めてみたくなったのです。そこで、2週間ほど前に作った「光スペクトル操作用のMathematicaライブラリ」にいくつかの色関数(スペクトル吸収関数)を追加してみました(サーバからダウンロードできるライブラリ更新は数日後になります)。追加したスペクトル吸収関数は、「血液」「カロチン」「メラニン」…といったもので、皮膚内部にある物質の吸収スペクトルを表現するための(単純化した)スペクトル関数を実装してみました。

 そういった色関数を組み合わせると、いろいろな「肌色」を眺めることができるます。たとえば、右上の図は、(どの波長も均等に含んでいるような)白色光源で照らした時に血液の反射スペクトルがどう見えるかを試しに計算してみたものです。

spectorPlot[transmissionSpector[
whiteLight, bloodColorFilter, 0.5]
]];

 ところで、こんな「色関数」を作り、適当で大雑把な「肌」を作って眺めてみました。すると、色温度6500ケルビンの標準光源、すなわち自然な昼光光源であるD65で、肌色を形作るメラニンや血液を照らしてみると、意外なほど「反射スペクトル」が平らになるものだ、と気づかされました。

 つまり、昼の日差しのスペクトルのうち、スペクトル強度が強い短波長領域では、メラニンや血液などの色吸収率が高く、その一方、「昼光」のスペクトル強度が低下する長波長域では、メラニンや血液などの色吸収率が低く、それらの結果として反射スペクトルが”結構”均等になるのだなぁ、と感じたのです。たとえば、右のスペクトルグラフが、昼光=D65光源で皮膚を照らした時の反射スペクトルの例になります(ちなみに、右下のグラフがD65光源のスペクトルです)。

 それは、単に長波長領域の光は皮膚中で吸収されることが少なく、短波長の光が吸収される、というだけのことでしょうし、さらには、人によってメラニンの分布量・形状が異なり、反射スペクトルは全然違うわけで、こんな結果も一般的なものでは全くありません。

 けれど、「昼光の逆関数のような、まるで、強い日差しから身を守るかのように最適化されたような皮膚の吸収スペクトル」を適当に作ったライブラリ関数が生成したのを眺めたとき、とても不思議なくらい新鮮さ・意外な面白さを感じたのです。

BloodColorCalotenColorMelanineColorfleshColorD65_fleshColor






2008-07-26[n年前へ]

Simulinkで”日焼け対策”を最適化 Vol.1 [はじめに 編] 

 先日、Mathematicaで肌の色や日光の色スペクトルを表現するためのライブラリを作り、いくつか計算をしてみました。また、昨日は、「日焼けに影響を与える日照時間」の変化・「気温の変化」「化粧品の商品切り替え時期」「日焼け対策を行う時期」について考えてみました

 そんなことを考え出すと、究極の”日焼け対策”・至高の”日焼け対策”はどういう風にすれば良いだろうか、という技術的な興味が湧いてきます。もちろん、外に一切出ない・顔には紫外線反射膜をコーティングする、といったような対策もあるわけですが、そんな対策をしても「そんな毎日でいいのか?」という疑問を感じるに違いありません。やはり、色々な観点を含めた上で、それらの観点を少しづつ満たすような”日焼け対策の最適化”を考えなければならないように思われます。

 そこで、Simulinkを使って、(動的なシステムのモデル化・制御システム構築・プロトタイピングを簡単に行うことができる)MATLAB社のSimulinkで”日焼け対策”を最適化に挑戦してみたくなりました。そこで、今日はまず[はじめに]ということで、平均日照時間と平均気温をSimulinkでグラフ表示してみました。

とりあえず、下の微分方程式のように平均気温(TEMP)の変化は平均日照時間(SUN)に比例するとおくと、

d TEMP /dt = SUN
平均気温は平均日照時間を積分したもの、ということになります。そんな関係をSimulinkでモデル化し(数値はまだ合わせていません)、グラフ表示してみたのが下の図です。気温が日照時間に対する「位相遅れ」を持っていることがわかります。

 ・・・と、ここまでは当たり前の結果ですが、こんな感じで「日焼け対策の最適制御」について色々考えていこうと思います。

Simulinkで日焼け対策






2009-10-20[n年前へ]

「美的曲線」を基準に「理想のバスト形状」を作り出すエクセル・シートを作る 

究極の美的バスト形状作成コンテスト!?

 「理想のバスト形状とはどういうものですか?」と聞かれたことがあります。色々な答えがあると思うのですが、その時、ふとこんなことを思いつきました。思いついたのは、適当なバスト形状を作成し、その形状がどれだけ「理想」に近いかの評価関数として「美的曲線」というものを使うことができるのではないか、「美的曲線」からのズレを「理想からのズレ」と評価し・参考にすることで、美的に最適化された理想のバスト形状を作ることが簡単になるのではないか、というアイデアです。ちなみに、美的曲線とはこのようなものです。

 美的曲線に関して,和歌山大学の原田利宣先生が,「自然界や人工物におけるさまざまな美的曲線の多くは,曲率対数分布図が直線で近似できるということ」を指摘されました.原田先生が調べた美的曲線には,蝶の羽や自動車のボディのキーラインなどが含まれています.美的曲線の特別な場合として,曲率対数分布図における直線の傾きα=-1の場合にはクロソイド曲線,α=1の場合には対数螺旋となることが指摘されています.本研究では,曲率対数分布図が直線で表される曲率変化の単調な平面曲線を美的曲線と呼びます.

 アイデアを思いついたら、まずはプロトタイピング(アイデアを簡単に形にした試作物)を作ってみるのが、アイデアが正しそうかを見極める常道です。・・・というわけで、「美的曲線」を基準に「理想のバスト形状」を作り出すエクセル・シート」を作ってみました。それが、simulation.xls 48kB になります。エクセル・シートは大体下図のような具合です。

 中身はどうなっているかは、一見しただけではわかりにくいかもしれません。それがExcelを使った作業効率が長期的に見ればとても低い大きな問題点のひとつだと思います。けれど、よくありがちな言い訳説明ですが、「エクセルシートをとりあえず適当に眺めてみれば、わかるだろう」と思います・・・。

 このシートは、まず最初に円形(三次元的には球形の)バストがあります。それが(右側のグラフで言うと)紺色のグラフです。ちなみに、このグラフに示されたバスト形状は90度右に回転して、右向きになっていると思って眺めてみて下さい。また、このバスト形状グラフの単位は、すべてミリメートルになっています。

 さて、これだけではつまりません。次は、一番左側の列に適当な数値を入れると、そのバストの形状が変化します。つまり、あなたが「任意のバスト形状」を作り出すことができるのです。ちなみに、この計算では補正形状を作成する際に、「”繰り返し”計算をさせる(収束するまで)ことで滑らかさを表現している」言い換えると、ラプラス方程式を満たすように(実際には、あなたが入力した補正パラメータが入っているので、むしろポワソン方程式というべきかもしれません)作成されるので、エクセルのオプションで「反復計算」を行うように設定しておきましょう(これはエクセルで離散化された方程式を解く際に用いる常套手段です)。

 そして、その際の「美的度」を示すグラフが右図です。これは、作成したバスト形状を「曲率対数分布図」で表したものです。一番最初のデフォルト形状バスト=半円(半球)バストでは、何だか複雑な曲線のようで「(直線形状を示す)美的曲線」にはなっていません。しかし、適当な補正係数を入れて、バスト形状を変化させてやると、次第に「曲率対数分布図が直線を示す」ようになってきます。つまり、美的な「バスト形状」ができあがってくるのです。それが、たとえば右上にある紫の線で示したバスト形状です。この形状の時の曲率対数分布図は、比較的直線状に分布していることがわかります。

 さて、エクセルを使う作業というのは実に単調で、実務的で、ワクワク感がありません。しかし、今回のようにエクセルを使い、「美的曲線」を基準に「理想のバスト形状」を作り出すエクセル・シートがあったりしたら、どうでしょうか?エクセルを使う作業が、少しは楽しく感じられたりはしないでしょうか?

 さて、もし最高に「美的なバスト形状」を作られたりしたならば、ぜひとも私宛に送って頂ければ幸いです。「これはすごい」という感動的に美的なバスト形状=実に見事に曲率対数分布図上で直線を示すバスト形状を作られた方には、「科学実験詰め合わせセット」をプレゼントさせて頂こうと思います。ミニ顕微鏡やら、警察鑑定セットやら・・・色々ありますので、とりあえず「これぞ再考というバスト形状」をお待ちしております。"Beautiful Bust Curve Award"開催です。

「美的曲線」を基準に「理想のバスト形状」を作り出すエクセル・シートを作る「美的曲線」を基準に「理想のバスト形状」を作り出すエクセル・シートを作る「美的曲線」を基準に「理想のバスト形状」を作り出すエクセル・シートを作る






2009-10-25[n年前へ]

「美的曲線」基準の「理想バスト形状」作成エクセル・シートを手直しする 

続 「美的曲線」を評価関数に「理想バスト形状」を考えよう

 「美的曲線」を基準に「理想のバスト形状」を作り出すエクセル・シートを作るで、「美的曲線」を基準に「理想のバスト形状」を作り出すエクセル・シート」を作ってみました。

 思いついたことは、適当なバスト形状を作成し、その形状がどれだけ「理想」に近いかの評価関数として「美的曲線」というものを使うことができるのではないか、「美的曲線」からのズレを「理想からのズレ」と評価し・参考にすることで、美的に最適化された理想のバスト形状を作ることが簡単になるのではないか、というアイデアです。
 今日は、そのシートを少し眺めやすいように替えてみました。具体的には、前回のグラフでは縦横配置が分かりにくかったので、バスト形状を示すグラフの縦横軸を交換してあります。また、Excel 2007を使ったので、見た目が前回に比べると少し綺麗なものになっている、という具合です。…もちろん、ただいじるだけでは面白くないので、「理想のバスト形状」に少しでも近づこうと”少し”、「手作業チューニング」をして遊んでしまいました。

 作成したエクセルシート(Excel 2003以前版と2007版は、日をおかずサーバからダウンロードできるようにしようと思います。とりあえず、今回のエクセル・シートで作成したグラフが下の図になります。左のグラフが「半球形状バスト(赤線)」と「作成形状バス(青線)ト」で、右のグラフがどれだけ「美的曲線」に近いかを示す曲率対数分布図です。

 さて、果たして「美的」と感じられるでしょうか?人それぞれ色々な感覚・感性があるでしょうから、一概に「美的だ」と言い切ることはできないと思いますが、少なくとも半球形状バストよりは「美的」なのではないでしょうか?

 時間ができた折には、C++か何かで自動最適化形状作成処理も含めた、GUIソフトでも作ってみようと思います。…というわけで、最近とんと更新していなかった「できるかな?」を2週連続で更新してみました。

「美的曲線」基準の「理想バスト形状」作成エクセル・シートを手直しする  








■Powered by yagm.net