最近では人の肌のCG再現の精度が向上してきたので,久しぶりにデジタルコスメプロジェクトのWebページを更新しました.(既に数日前に更新しましたが...)

大学のトップページのニュースにも掲載していただきました.


これまでもちょくちょくこのブログで肌の3DCGについてはご紹介してきましたが,

現時点での中間報告も兼ねて今回の記事を書かせていただきました.

 

画面に写っているのは写真ではなくて,人間の肌を3DCGで再現したものです.

人間の顔をリアルタイムで3DCG生成をしている様子です.

100820hada01.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

こちらがその人間の肌を3DCGで再現した結果です.

だいぶんリアリティが向上してきています.(と自分たちでは思っています) 

hosoi02_s.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

今回の記事が面白いと思った方は以下のボタンをクリックして下さい.

 人気ブログランキングへ にほんブログ村 大学生日記ブログ ゼミ・サークルへ 

(その2) 新しいグラフィックスボード(NVIDIA GeForce GTX 460)

先日,新しいグラフィックスボードの記事を書きましたが,今度はGTX 460の方の報告記事です.

最近マニアックなネタが続いて申し訳ありません.

今回もまたGPU(Graphics Processing Unit)のお話です.

 

こちらが田中ゼミのPC内に新しく取り付けられたNVIDIA GeForce GTX460です.

100819gtx460.jpg

 

 

 

 

 

 

 

 

 

 

 

 


こちらのGPUはグレードとしては,先日のGTX 480よりも格下になるのですが,

GPUのコアのアーキテクチャを見てみると,GTX 480が GF100コアを使っているのに対して,GTX 460はGF104コアと新しいものを採用しています.

GF104はFermiのバージョン2とも言える新しいコアだということですが...

 

これでどの程度の速度がでるのでしょうか?

今回は以下の条件でベンチマークテストをしてみました.

OS:FreeBSD 8.1-stable, NVIDIA driver 256.44

シェーディング言語: GLSL

ベンチマークテストをしている様子(田中ゼミで開発中のソフトウェアで3つの球体を3DCGで再現)

100819raytrace.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

まず最初は,田中ゼミで開発している美術品のデジタルアーカイブシステムを使って日本刀の3DCG再現をしてみました.この場合,以下のような3DCG生成速度となりました.

  • GTX 295 (1GPUのみ使用) : 50FPS
  • GTX 480 1.5GB : 150FPS
  • GTX 460 1GB: 100FPS

前回のベンチマークテストの結果と比較して,GTX 460は,GTX 480の約2/3の速度が出ています.

旧GPU(GTX 295)のシングルGPUと比較しても約倍の速度が出ていることが分かります.

値段を考えると妥当な速度ではないでしょうか?

 

次にレイトレーシングシステムで3DCGの生成速度を比較してみました.

こちらは通常のGPUのグラフィックスパイプラインの処理を無視して,GPGPUとしてGPUを用いています.シェーディング言語としては,こちらもGLSLを使っていますが...

3DCGの生成速度は以下のようになりました.

  • GTX 295 (1GPUのみ使用) : 25FPS
  • GTX 480 1.5GB : 30FPS
  • GTX 460 1GB: 13FPS(遅い??)

 

前回のベンチマークテストの結果と比較して,GTX 460は,GTX 480と比較できるどころか

旧GPU(GTX 295)のシングルGPUと比較しても約半分の速度しかが出ていないことが分かります.

どうした新型!? と,叫びたくなるような結果です.

 

参考までにもっと古いGPUを持ってきてベンチマークをとってみました.

さらに旧い二世代前の旧型のGPUで同様のベンチマークテスト(レイトレーシング)を行ってみると,

  • GeForce 9600GT(1GB) : 8FPS
  • GeForce 9800GT Green Edition(1GB): 11FPS

 二世代前の,しかも低消費電力バージョンのGPUと大して変わらない結果になってしまいました.

 

NVIDIA GTX 460に関しては,今のNVIDIAドライバGLSLのチューニングが甘いのか,それともGPGPUとして使うには,これが現時点での限界なのかレイトレーシング処理に関しては予想外に性能が出ない結果となりました.

 

本当にどうした新型!? と,叫びたくなるような結果になりました.

 

今回の記事が面白いと思った方は以下のボタンをクリックして下さい.

 人気ブログランキングへ にほんブログ村 大学生日記ブログ ゼミ・サークルへ 

Ubuntu Linuxの試験的導入(新OSでの開発環境の構築)

先日の記事で、田中ゼミで開発しているソフトウェアをNVIDIA社のCUDAに移植していかなければならないという話をしました。

この画像は後述するLinuxシステム上でCUDAのデモを実行している様子をキャプチャしたものです。
煙のオブジェクトがリアルタイムに動いています。
田中ゼミで開発しているシステムを改良して、より高速に高精細な3DCGを生成するためには、このCUDAは非常に強力なツールになりそうです。

100815cuda.jpg



















このとき問題となるのが、開発環境をどうやって構築していくのか、ということです。
田中ゼミでは主たる開発環境として、OSFreeBSDを使っていますが、CUDAの開発環境を構築するにはOSをWindowsかLinuxに移行する必要が出てきます。

開発環境の移行というものは、単に新しいOSをインストールして終わり、とか、新しいOS上で今開発しているソフトウェアを移植して終わり、というわけにはいかず実は大変な労力が伴います。

開発環境を移行することで発生するであろう大きな問題点は、以下のようにたくさんあります。
特に田中ゼミでは長年かけて開発環境を熟成させてきているので、新しい環境への移行にはいろいろと問題が発生する可能性があります。

  • 今まで開発してきたソフトウェアが問題なく動くかどうか?
  • 今まで使っていた開発ツールが新しい環境でも全て揃うかどうか?、また、同じ動作をするのか?
  • ソフトウェア作成時にAPI(Application Program Interface)と呼ばれるOS側の機能呼び出しが同様なものを持っているのか?、あるいは同様な動作をしてくれるのか?
  • ソフトウェアやデータが保存される場所がどこに移動するのか?
  • 今まで開発してきたソフトウェアが新しい環境で安定して動作してくれるのか?
  • トラブルが発生した場合に対処方法はどの程度変わるのか?また、すぐに対処できるのか?
と、考えればキリがありません。

まぁ、ゴチャゴチャ考えていても仕方ないので、とりあえず試験的に Ubuntu Linux を田中ゼミのPCにインストールしてみました。
インストールしたバージョンは、10.04LTS 64bit版です。

通常の使用であれば、32bit版をインストールすべきなのですが、田中ゼミではギガバイト単位の巨大な高精細画像データや形状データを扱うため、32bitのOSだとアドレス空間が足りません。
そのため、本年度田中ゼミでは、全てのOSを64bitに移行しました。

そういうことですので、Ubuntu も64bit版です。

ただ、そうすると日本語の設定やFlash等通常使うソフトウェアの設定が面倒になりますが、今回は仕方ありません。とりあえず、頑張ってみます。

Ubuntu Linuxは現在のLinuxのディストリビューションの中でもっとも人気のあるものです。Ubuntuを選択した理由としては、環境構築が簡単だということと、ユーザ数が多いということです。
特にユーザ数が多いということは、いろいろな不具合も解決されている可能性が高く、いろいろと利点が多いだろうと考えたからです。

とりあえず、Ubuntuを田中ゼミ仕様に設定していきます。

こういった作業が終了すれば、暫定的に田中ゼミ仕様の開発環境が出来上がります。


インストールと各種設定が終わったLinuxシステムに田中ゼミが開発しているレイトレーシングシステムを移植してみました。
このシステムはOpenGL+GLSLで記述しています。とりあえず、問題なく動いているようです。
100815desktop.jpg



















さらにデジタルコスメが開発している人間の肌の3DCG生成システムを移植して実行してみました。
こちらも問題なく動いているようです。
※2010年9月5日追記(実は、後で速度面に問題があることが分かりました。
以下の画像が、その結果です。人間の3DCG(肌の3DCG)が綺麗に生成されているのがわかるでしょうか。
100815face.jpg






























と、以上のようにUbuntu Linuxの試験導入はほぼ問題なくできました。
とは言っても、細かい部分ではトラブったのですが、そういう部分は次回以降機会があれば、ご紹介いたします。


 

今回の記事が面白いと思った方は以下のボタンをクリックして下さい.

 人気ブログランキングへ にほんブログ村 大学生日記ブログ ゼミ・サークルへ 

これまで散々苦労してきた新型の3次元形状計測システムですが,やっと形状計測ができるようになりました.

 

これまで,ここここでご報告したようにキャリブレーションに散々苦労してきましたが,

いろいろ試行錯誤の末,何とか無事に3次元形状計測ができるようになりました.

 

キャリブレーションに関しては,カメラのセッティングを調整したり,キャリブレーション用パターンのパネルの材質をスーパーファイン紙に変更したりして,微妙な調整をした結果何とかキャリブレーション画像の認識率を向上させることができました.

 

こちらの写真は,キャリブレーション用のパターン画像を分析して,画像認識のパラメータを調整している様子です.

100813calib.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

こちらは液晶タッチパネルでカメラのセッティングをしている様子です.

100813camsetting.jpg

 

 

 

 

 

 

 

 

 

 

 


 

こちらは田中ゼミでおなじみの猫の置物の形状を計測している様子です.

100813nekokeisoku.jpg

 

 

 

 

 

 

 

 

 

 

 

 


こちらの写真は形状計測が,初めて成功した瞬間です.

ちょっと感動でした!

100813seiko.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

さらに調子に乗ってクマも計測しました.レーザー光線を当てられたり,プロジェクタ光を当てられたりしてクマも大変です.

100813kumakeisoku.jpg

 

 

 

 

 

 

 

 

 

 

 

 

 

こちらがクマの形状計測した結果です.

100813kumakekka.jpg

 

 

 

 

 

 

 

 

 

 

 

 


これからこのシステムを使って,様々な形状計測を行っていく予定です.

何とか使えそうで助かりました.

 

今回の記事が面白いと思った方は以下のボタンをクリックして下さい.

 人気ブログランキングへ にほんブログ村 大学生日記ブログ ゼミ・サークルへ 

田中ゼミではGPUと呼ばれるグラフィックス専用のハードウェアを使って3DCGを生成しています.

GPUそのものは,最近では特殊なものということはなく,現在市販されているPCには必ず搭載されていると考えてよいでしょう.(もちろんそれぞれ性能の差はありますが)

 

田中ゼミで使用するGPUは,高速かつ複雑なプログラムを実行できる高性能なものを使用しています.

今回はNVIDIA社製GeForce GTX 480(1.5GB)と GeForce GTX 460(1GB)という最新型を導入しました.いずれも新しいFermiベースのアーキテクチャを採用しています.

 

こちらは今回導入したGeForce GTX 480 です.

100811gtx480.jpg

 

 

 

 

 

 

 

 

 


こちらは,そのGTX480をPC本体に取りつけている様子です.ゴツいヒートパイプがその発熱量を想像させてくれます。

100811gtx-torituke.jpg

 

 

 

 

 

 

 

 

 

 

 

 


こちらの写真は古いGPU(GeForce GTX 295)から新しいGPU(GeForce GTX 480)に交換したところです.取り外された古いGPUは,まだ現役でも十分使える高性能なものなので他のPCに移植されます.

100811oldgpu.jpg

 

 

 

 

 

 

 

 

 

 

 

 


次にGPUのデバイスドライバをインストールしている様子です.OSはFreeBSD 8.1-stableで,ドライバのバージョンは256.44をインストールしました.

100811install.jpg

 

 

 

 

 

 

 

 

 

 

 

 


設定が全て完了したので,田中ゼミで開発しているデジタルアーカイブシステムを使って日本刀の3DCG再現をしてみました. 

100811katana.jpg 

 

 

 

 

 

 

 

 

 

 

 


田中ゼミの開発中のこのシステムベンチマークテストを行って,どれくらい3DCGの生成速度が速くなったのかを調べました.

今回,グラフィックスボードを新しくしたら,

  • 旧GPU(GTX 295, ただし1GPUのみ使用)  : 毎秒50フレーム(50FPS)程度
  • 新GPU(GTX 480): 毎秒150フレーム(150FPS)

となり,なんと! 3倍も速くなりました.

 

次に田中ゼミで開発しているGPGPUによるレイトレーシングシステムでベンチマークテストを行って,どれくらい3DCGの生成速度が速くなったのかを調べました.

こちらは、より複雑な反射や透過をする物体を3DCG再現できるように昨年度の後半から田中ゼミで新しく開発を始めたソフトウェアです.

高精度に多重反射や透過処理が表現できるCGソフトウェアなのですが,複雑な計算処理を行うため高速かつ大容量のメモリを搭載したGPUを必要としています.


この写真は, このシステムで3つの球体を3DCGで再現している様子です.

100811raytrace.jpg 

 

 

 

 

 

 

 

 

 

 

 

 

しかし,こちらの場合はグラフィックスボードを新しくしても,

  • 旧GPU(GTX 295, ただし1GPUのみ使用)  : 毎秒25フレーム(25FPS)
  • 新GPU(GTX 480): 毎秒30フレーム(30FPS)

となって20%程度しか速くなっていません


田中ゼミで使用している古いGPU(GTX295)は2つ搭載されているうちの1個のGPUしか使っておらず十分な性能を出し切れていないので,本来であれば新しいGPU(GTX480)にすれば,もっと速くなってくれるはずでした.


この原因をいろいろ考察しました.

田中ゼミではGPGPUに関しては,GLSLという言語を使ってソフトウェア開発を行っています.

複雑な反射や透過を繰り返すようなCGを表現するためには一般的なCG生成処理ではなく,より複雑な処理が記述できるGPGPUによる処理が必要です.

しかし,本来GLSLは一般的なCG生成処理を想定しており,GPGPU処理用に使われることを,それほど想定していません.

そのため,田中ゼミで開発しているソフトウェア用に十分にチューニングできていないからだろうと推測できます.

今後,より細かい処理の記述が可能なCUDAを使用していく必要性を感じました.

※上の写真にもCUDAの入門書が写っていますが...

 

と,いうことでこれから現在開発中のシステムをCUDAに移植していくことになりました.

前途多難です.


 

今回の記事が面白いと思った方は以下のボタンをクリックして下さい.

 人気ブログランキングへ にほんブログ村 大学生日記ブログ ゼミ・サークルへ 

  

 


9  10  11  12  13  14  15  16  17  18  19