Allisone

Touching Technology

会社案内

画像や音のディジタル信号処理を
得意とする技術系の会社です。

MORE...

業務内容

画像や音に関連した研究開発のコンサルティングや、
必要なツール類を開発・ご提供致します。

MORE...

過去のニュース

これまでのニュース

MORE...

最近のニュース

年月日 内容
2023/08/23 数学ノートに「指定した3点を通る2次曲線」を追加 (初歩)。
2023/06/15 数学ノートに「平方根を使わずに2次元実ベクトル間の角度を計算する (初歩)。
2023/03/12 数学ノートに「ヘロンの公式」を追加 (初歩)。
2021/11/19 数学ノートに「ラプラス逆変換の公式を導く」を追加 (初歩)。
2020/12/02 数学ノートに「混合正規分布モデル(GMM)とEMアルゴリズム」を追加。

これまでのニュース

X線CT (Feldkamp法) GPU 計算例

X線CT (Computed Tomography) は、被写体を切らずに、様々な方向から得た多数枚のX線の「影絵」から内部を可視化する技術です。


多方向からのX線による「影絵」を収集する
(クリックすると動画をご覧いただけます)

下図はフラット・パネル型検出器を用いるコーンビームCT計算法のひとつである Feldkamp法を用いて、上図の兎の置物を透視・再構成したものです。

L. A. Feldkamp, L. C. Davis,
and J. W. Kress "Practical cone-beam algorithm"


Feldkamp法による計算例
(クリックすると動画をご覧いただけます)

対象空間内の全点の濃度(X線吸収率)を計算しますので、後から自由に切断したり特定濃度を強調することも可能です。


弊社ではGPU版Feldkamp法を出発点とし、大仰角でも誤差が生じにくい再構成法、撮像枚数が少ない場合にX線が透過しにくい部位で顕著に発生するメタル・アーチファクト、検出器画素の欠陥によるリング・アーチファクト、再構成範囲を広く取れるオフセット・スキャン時に生じるアーチファクトを除去する技術等の研究開発を行っています。



(クリックすると動画をご覧いただけます)

N体問題の計算例

下図は、3 つの星団が衝突し、そこに属する100万個の星々が離合集散する「N体問題」と呼ばれる計算を GPU で行ったものです (ただし重力の伝播時間は無視しています)。


GPU による N 体問題シミュレーション
(クリックすると動画をご覧いただけます)

N 体問題の計算量は \(N^2\) のオーダーであり、 本例は 100万個の星をシミュレートしていますので、 動画 1 フレームあたり、ほぼ 100万×100万=1兆回の重力計算 (平方根と除算を含む 3 次元の加速度ベクトル計算) を行っています。

レンダリングを除く 1 フレームの生成に要した時間は、NVIDIA GeForce GTX 1080 で 18 秒程度でした。 つまり 1 秒間に 555 億回の重力計算をしていることになります。

GPU は「N体問題」や「X線CTの再構成問題」のように、並列性の高い問題を高速に解くのに適しています。

【参考】本例では \(O(N^2)\) のアルゴリズムを実装しましたが、 N体問題には遠くの星々をひとまとめにした重心で近似する \(O(N\log N)\) のアルゴリズムもあります。
Barnes–Hut simulation (Wikipedia)

音場解析例

下図は、音源(中央左下の赤い球)から放出された短いパルスが、空気中を伝播して、重くて固い板にぶつかった時の様子を、波動方程式を離散化した3次元の差分法で予測した例です。

ここでは音源の少し上で空間をスライスして、水平面上の音圧と粒子速度(微小体積の動き)を、スローモーションで可視化しています。

正の音圧は赤、負の音圧は青で表し、黄色い矢印は粒子速度の方向を表しています (広いダイナミック・レンジを可視化するため、音圧と粒子速度の大きさは対数変換しています)。



3次元差分法による音場シミュレーション
(クリックすると動画をご覧いただけます)

音波が板に当たって反射したり、後ろに回り込んだり ( 回折 かいせつ ) して、これだけシンプルな条件でも、音場には複雑なパターンが形成されることがわかります。