業務事例紹介
弊社の技術者の実績についてご紹介致します。
※実績は弊社の実績を表すものではなく、弊社技術者の過去の実績です。
研究開発系
システム開発系
独立成分分析の技術調査および講習
独立成分分析の様々な手法の理論調査と、その理論に必要な数理理論を報告書としてまとめ、
その報告書に基づいて講習を行いました。○主に以下の手法を調査しました。
■ネゲントロピー最小化法 (FastICA)
■キュムラントテンソル固有値分解法 (JADE)
■射影追跡法による非正規成分抽出法
■β-ダイバージェンス最小化法
■時間構造を利用した空間混合の分離法
■相互共分散の除去法 (自己共分散行列の固有値分解による同時対角化)
■相互無相関化法 (非定常共分散行列の勾配法による同時対角化)
■分散非定常性最大化法
■キュムラントテンソル固有値分解法 (JADE)
■射影追跡法による非正規成分抽出法
■β-ダイバージェンス最小化法
■時間構造を利用した空間混合の分離法
■相互共分散の除去法 (自己共分散行列の固有値分解による同時対角化)
■相互無相関化法 (非定常共分散行列の勾配法による同時対角化)
■分散非定常性最大化法
○以下の数理理論の解説を行いました。
情報理論、相互情報量、Kullback-Leibler情報量、主成分分析、因子分析、正準相関分析、
非線形PCA、カーネルCCA、キュムラント分解、最尤法、疑似最尤法、ネゲントロピー、
密度分布のGram-Charlier展開、Gauss-Hermite展開、Edgeworth展開、Cornish-Fisher展開、
beta-ダイバージェンス、B-ロバスト性、射影追跡法、カーネル次元削減法、Marcinkiewiczの定理、
最大エントロピー法、非線形最適化、固有値分解・特異値分解の数値計算、行列の対称直交化
時系列変化点検出技術の技術調査
時系列上の何らかの意味での「変化点」を検出する技術を調査し、報告書としてまとめました。こういった技術は一般に変化点検出 (change point detection)、異常検出 (anomaly detection)、
モチーフ発見 (motif discovery) などと呼ばれ、多くの手法が研究されています。その分野も、
信号処理だけでなく、セキュリティシステムやバイオインフォマティクス、 マルチメディアの分野でも研究されています。
○主に以下の手法を調査しました。
■シンボリック アグリゲーション近似法
■ランダム射影法
■Markov-Suffixツリー法
■正規化編集距離法
■Isomap非線形次元削減法
■Kolmogorov複雑性を用いた異常検出法
■PCAとMDL原理に基づいたモチーフ発見法
■ランダム射影法
■Markov-Suffixツリー法
■正規化編集距離法
■Isomap非線形次元削減法
■Kolmogorov複雑性を用いた異常検出法
■PCAとMDL原理に基づいたモチーフ発見法
ベイジアンネットワークの技術調査
確率変数間の因果関係をモデル化する技術であるベイジアン ネットワークについて、その(1) 推論アルゴリズム
(2) パラメータ学習アルゴリズム
(3) 構造学習アルゴリズム
の調査を行い、ソフトウェアとして実装できるまでの内容を報告書にまとめました。
また、ベイジアンネットワークの具体的な応用事例を調査しました。
○主に以下の手法を調査しました。
■メッセージ・パッシング アルゴリズム (確率伝播法)
■SPIアルゴリズム (記号的確率推論)
■尤度重み付けサンプリング法
■ディリクレ分布に基づいたEMアルゴリズムによるパラメータ学習法
■K2アルゴリズムによる構造学習法
■SPIアルゴリズム (記号的確率推論)
■尤度重み付けサンプリング法
■ディリクレ分布に基づいたEMアルゴリズムによるパラメータ学習法
■K2アルゴリズムによる構造学習法
○以下のような応用事例を調査しました。
■航空機ガスタービン エンジンの異常同定
■船舶機関室の知的異常診断
■タービン発電機の異常診断
■機械振動や機械音声による異常診断
■自動ドアの異常診断
■宇宙機器の異常診断
■船舶機関室の知的異常診断
■タービン発電機の異常診断
■機械振動や機械音声による異常診断
■自動ドアの異常診断
■宇宙機器の異常診断
周期性衝撃波形抽出技術の技術調査および実装
時系列データの中から、周期性衝撃波形を検出・抽出するための技術を調査し、報告書としてまとめました。また、そのうちの5つのアルゴリズムを実装し、比較検討を行いました。
○主に以下の手法を調査しました。
■SVRスペクトル法
■行列代数分離法 (MAS)
■キュムラント調和分解法
■直交部分空間分解法
■周期変換法 (PT)
■フィルタ選択型 適応的コムフィルタ (ACF)
■一様Qコムフィルタ
■高速白色化コムフィルタ
■調波推定白色化コムフィルタ
■格子型IIR適応ノッチフィルタ
■相関インパルス適応フィルタ (CIAF)
■回転適応フィルタ (RAF)
■循環シフト断続適応フィルタ (CSSGAF)
■正準自己回帰分解 (CARD)
■大局振幅位相変調法
■フーリエ線型結合機 (FLC)
■再帰的離散フーリエ変換
■高速フィルタバンクによる適応フーリエ解析
■行列代数分離法 (MAS)
■キュムラント調和分解法
■直交部分空間分解法
■周期変換法 (PT)
■フィルタ選択型 適応的コムフィルタ (ACF)
■一様Qコムフィルタ
■高速白色化コムフィルタ
■調波推定白色化コムフィルタ
■格子型IIR適応ノッチフィルタ
■相関インパルス適応フィルタ (CIAF)
■回転適応フィルタ (RAF)
■循環シフト断続適応フィルタ (CSSGAF)
■正準自己回帰分解 (CARD)
■大局振幅位相変調法
■フーリエ線型結合機 (FLC)
■再帰的離散フーリエ変換
■高速フィルタバンクによる適応フーリエ解析
ベイズ推定による機械振動の次数トラッキングの実装
回転機械や往復機械から発生する音や振動から、その機械の回転数を推定するために、ベイズ推定を用いた次数トラッキング法を
MATLABで実装しました。 <開発環境・技術分野>
MATLAB, 信号処理, 数値計算, ベイズ推定, 最尤法
機械の固有振動検出の実装
機械がもつ固有振動をその振動のスペクトルから推定するためのプログラムをMATLABで実装しました。<開発環境・技術分野>
MATLAB, 信号処理, スペクトル解析, ノンパラメトリック平滑化, Nadaraya-Watson推定量,
ガウス混合モデル, EMアルゴリズム
ガウス混合モデル, EMアルゴリズム
音声の音色表現・再合成システムの開発
音声データから、音色を表す本質的なデータ構造 (音色表現) を抽出し、逆に、そのデータ構造から元の音色を復元・再合成
するシステムです。
McAulay-Quatieri 正弦解析を聴覚心理学に基づいて改良したバンド幅拡張正弦モデルをベースとし、Cohen の核関数法に 基づいたスペクトログラム再配置法による音色解析の精密化、それに独自の聴覚エネルギーモデルを加えながら、複数の アルゴリズムを実験できるシステムを構築しました。
<開発環境・技術分野>
MATLAB, 信号処理、音声処理, McAulay-Quatieri 正弦解析, 聴覚心理学モデル, スペクトログラム再配置法, Cohenの核関数クラス
ウェーブレット解析による雑音除去アルゴリズムの開発
音声や振動に含まれる雑音を、ウェーブレット解析を利用して除去するアルゴリズムを研究するための
システムを開発しました。■Global GCV法、Level-Dependent GCV法
離散ウェーブレット変換係数に対して GCV (Global Cross-Validation) が最小となる閾値を求め、その
閾値以下を除去することでノイズを除去する方法。
■Tree-Structured法
ウェーブレット係数のツリーから、ある閾値以上の強度の部分ツリーを求めることで、本来の波形とは
無関係のノイズを除去する方法。部分ツリーを求めるために、Dyadic CART (Classification And Regression Trees)
アルゴリズムを実装しました。これは、ノードに値をもつ (スパースな) ニ分木に対して、ニ分木の複雑さに関する
ペナルティを課した上でモデル回帰を行う手法です。
このシステムを開発するには、複雑なデータ構造の処理が必要になりますが、MATLABは複雑なデータ構造を扱う ことを苦手とするため、アルゴリズムの中心部分を C++ で実装し、MATLAB からプラグインの形で呼び出すように しました。
<開発環境・技術分野>
MATLAB, C++, MATLAB プラグイン, ウェーブレット解析, GCV, ツリーモデル回帰
機械の振動や音響による異常検出アルゴリズムの開発
機械が発生する振動や音響から、機械の異常判定を行うアルゴリズム開発を行いました。
スペクトル解析や統計解析を用いて、異常検出に有効と考えられる特徴量を抽出します。
それを入力とする、様々なパターン認識の技法を用いた判別アルゴリズムを開発し、アルゴリズムの
有効性を検証しました。
<開発環境・技術分野>
スペクトル解析, 統計解析, 時系列解析, パターン認識, MATLAB, C++
半導体製造装置の最適化数値計算制御ソフトウェアの開発
半導体製造装置の最適化数値計算制御ソフトウェアの開発。時系列解析のAR モデル推定を反復解法の数値計算で解くというソフトウェアが非常に遅く実用化に至らないため、 何とかして高速化してほしいという依頼です。
この業務では、様々な数値計算アルゴリズムの理論比較および実装比較を行い、
最終的に1000倍以上の高速化を達成しました。
<開発環境・技術分野>
時系列解析, ARモデル推定, 数値計算, C
音声合成プログラムの移植開発
CMU および Edinburg 大学で開発され、C++ と Scheme により実装された音声合成プログラムを C 言語に移植しました。
元々のプログラムは、音声信号処理や各種アルゴリズムが C++ で実装されており、Scheme インタプリタを介してそれらを 利用できるため、高度にカスタマイズ可能な音声合成ソフトウェアとなっています。
しかし、これを実環境で使うにはシステムが大きく、汎用的で冗長な処理が多数含まれるため、 処理の簡略化と共に C 言語に移植することを行いました。
C 言語では Scheme インタプリタは内蔵せず、参照カウントを用いたシンプルな Scheme オブジェクト実装を使いました。
音声合成における各種推定処理は、 n-gram 辞書を利用した Viterbi アルゴリズムにより実装しました。
Scheme で実装された学習済み決定木を C 言語で実装された決定木に変換する Scheme プログラムを実装しました。
<開発環境・技術分野>
テキスト音声合成, C++, Scheme, Viterbi アルゴリズム, 決定木
顔画像認識システムのアルゴリズム開発
実環境に設置されたカメラを利用する顔認識システムのアルゴリズム開発を行いました。
顔認識システムには、おおまかに「照合判定」「識別判定」の二種類の利用形態があります。 「照合判定」は、ドアの入退室管理システムなどで、利用者が本人確認を要求する場合に利用されます。 一方、「識別判定」は、往来監視システムなどで、不特定人物の身元を候補リストから推定する場合に利用されます。
識別判定結果は、不特定人物の顔画像と候補リストの顔画像の照合判定結果に基づいて算出されます。 識別判定は一般に照合判定よりも難しいと言われており、たとえば、個人ごとの照合判定スコアのばらつきや 外乱による顔特徴変化のため、識別判定結果では候補人物本人の棄却や人物誤認識などの問題が発生します。
この業務では、識別判定精度を高めるため、照合判定スコアを正規化する識別アルゴリズムをC++で実装しました。 また、外乱に強い学習データや画像処理パラメータを選出するチューニングツールをMATLABを用いて実装しました。
<開発環境・技術分野>
バイオメトリクス, 画像処理, パターン認識, 統計解析, MATLAB, C++
最大エントロピー法による脳の振動活動の可視化ソフトウェアの開発
膜電位イメージング法により取得されたデータに対し、最大エントロピー法を用いて周波数解析を実施するソフトウェアを開発しました。神経活動の一形態である振動現象を脳で時空間的に捕えるため、イメージングデータに対し周波数解析を実施しました。
脳神経の振動活動の持続期間は短く、振動活動中に得られる時系列のデータ数が少ないため、最大エントロピー法を適用しました。イメージング機器の出力する1万点を超えるピクセルデータに対し、以下の処理機能を実装しました。
最大エントロピ法(MEM) による脳特定領域の振動パワの算出結果
・膜電位感受性色素の退色補正
・FIRフィルタ処理
・最大エントロピー法によるパワスペクトルの算出
・ガウスフィルタによる画像の平滑化
・各周波数における脳のパワ分布の算出とコンタープロットの導出
・脳の特定領域のスペクトログラムの導出
・FIRフィルタ処理
・最大エントロピー法によるパワスペクトルの算出
・ガウスフィルタによる画像の平滑化
・各周波数における脳のパワ分布の算出とコンタープロットの導出
・脳の特定領域のスペクトログラムの導出
<開発環境・技術分野>
FIRフィルタ, トレンド処理, 最大エントロピー法, C
神経スパイクソーティングアルゴリズムの開発
神経信号の記録法として、複数の神経からの信号を同時に記録する手法が広く使われています(集合電位の記録)。この場合1計測レコードは複数の神経スパイクの合成信号として記録されます。この集合電位の記録から、各スパイクの特徴量を求め、各神経固有のスパイクを分離することをスパイクソーティングと呼びます。スパイクソーティングでは、通常、特徴量としてスパイクの振幅とスパイクの持続期間が使われます。スパイクソーティングの精度を向上させるために、スパイク振幅と、スパイク形状そのものを比較するアルゴリズムを開発しました。スパイク形状の比較はピアソンの積率相関係数を用いました。
また、相関係数を求めるにあたり、スパイク波形切り出しタイミングの誤差が相関係数に影響することを避けるため、切り出したスパイク波形にスプライン補間法を適用しました。これにより、1計測レコードから十数スパイクを分離することに成功し、形態学から調べられた神経細胞数と分離された神経スパイク数は良い一致を見ました。
・Finite impulse response filter (FIR)
・スパイクソーティング結果(11種類のスパイクの分離)
<開発環境・技術分野>
FIRフィルタ, トレンド処理, Pearsonの積率相関係数, ヒストグラム, スプライン補間, ピーク抽出ロジック, C, Visual Basic
スパイク情報の刺激応答性評価ソフトウェアの開発
集合電位を記録し、集合電位からソーティング手法により分離した各スパイク信号に対し、刺激に対する応答性をもとにクラスタリングするソフトウェアを開発しました。
この例では、刺激が11種類あり、刺激それぞれに対する神経応答の評価項目として、応答の有無、一定周波数応答が見られた場合の主周波数、主周波数の時間変動をあげました。
主周波数成分は自己相関関数をもって評価し、自己相関関数の時間変化により、応答振動特性を分類しました。これらのパラメタを特性量として自動抽出し、統計処理ソフトウェアに渡せるようインターフェースをとりました。
<開発環境・技術分野>
自己相関関数, C, Visual Basic
高速度カメラ画像処理プログラムの開発
昆虫に匂い刺激を行った場合の行動を計測した高速度ビデオ画像の情報抽出処理を行いました。
高速度撮影では、露光時間の短さによる光量が不足を解消するため、高輝度のライト等を用いますが、生体の撮影においてはライトの影響を排除するため、大光量の光源は用いられず、画像は光量不足の状態でした。
この画像データに対し微分フィルタ処理を行いエッジ抽出し、さらにオプティカルフローをフレーム差分法により求めました。これによる匂い刺激に対する昆虫の行動の発現する箇所とそのシーケンスが明らかになりました。
<開発環境・技術分野>
微分フィルタ, オプティカルフロー, フレーム差分法, 高速度ビデオ, C
Ca2+イメージングデータ処理プログラムの開発
Ca2+イメージング機器のバイナリ出力データを直接プログラムに入力し、カルシウムインジケータの退色補正、デジタルフィルタによるノイズフィルタリング、相対光量変化量の演算、ガウスフィルタ、メディアンフィルタによる空間ノイズフィルタリング、等の処理を行うプログラムを開発しました。
処理されたイメージデータはCa2+イメージング機器のバイナリ出力形式で出力することで、Ca2+イメージング機器付属のソフトウェアの機能も活用可能としました。
<開発環境・技術分野>
退色補正, FIRフィルタ, △F/Fの算出, ガウスフィルタ, メディアンフィルタ, C
人体用複数センサー同時計測管理システムの開発
人体に様々な種類のセンサーを取り付けて同時計測を行い、そのデータの時系列的な関連を調べるシステムです。
CPU負荷により計測が不正確にならないように、センサーごとに計測を行うための PC を設置し、そのPC上でリモート制御用のサーバー プログラムを稼働させます。このサーバー プログラムは、計測管理PC からの要求を受けて、センサーのデバイスAPI を介して、センサーの制御を行います。計測されたデータは、各PC 上に一時的に記録されますが、計測管理PC はそのデータを収集し、 グラフ表示やデータ解析を行うことができます。
<開発環境・技術分野>
計測, C++, MFC, ソケット通信, DCOM, モーションキャプチャ
Zigbee無線センサーネットワーク監視システムの開発
Zigbee仕様の無線チップに接続された各種センサーから計測データを受信し、パソコン上の画面で監視を行い
ながら、制御ボードを介して各種ハードウェアを動作させるシステムです。
たとえば、クリーンルーム監視システムでは、クリーンルーム内の温度、湿度、静電気、粒子量などをセンサー で計測し、Zigbee無線チップを介してパソコンにデータを送信します。パソコンではそのセンサーデータをモニタ 上に表示して監視できるようになっています。また、データが特定の条件を満たすとクリーンではないと判断し、 制御ボードを介して警告灯を点灯させたり、ファンの風量を調節します。
この他に、建物内に設置された加速度センサーのデータを受信して地震検知を行うシステムや、植物の栽培 ハウス内のCO2濃度を受信してファンを制御することでCO2濃度を調節するシステムなどを開発しました。
<開発環境・技術分野
C#, シリアル通信, Zigbee無線チップ, DIOボード制御
オントロジーを利用したウェブ情報案内システムの開発
ウェブマイニングによって得られたオントロジー(知識データ構造)を用いて、そのオントロジーに即したウェブ
情報案内を行うシステムです。
特定のトピックに関連した情報・用語・リンク・評判・比喩・エピソードなどを効率よく閲覧でき、自然言語によ る質問にも回答できます。
3Dエージェントを備えており、ユーザーの操作に伴って、3Dキャラクタが特定の振る舞いをし発話します。発 話は市販の音声合成ソフトウェアで自動的に合成されるようにしました。
Ajax を用いた対話性の高いフレンドリーなインターフェイスを備えています。
<開発環境・技術分野>
Ajax, PHP, C++, ATL, ActiveX, SQLite, Xerces, 自然言語処理, オントロジー, 音声合成
ウェブ組み込み型3DCGエディターの開発
ウェブブラウザ上から、Javaアプレットを用いて、簡易に3Dアニメーションを編集できるシステムを
Java3Dを用いて開発しました。
アニメーションデータは独自のファイル形式として保存されますが、VRML との互換性を持ち、 VRML ファイルのインポート・エクスポートが可能です。これにより、 一般的な3Dモデラーからエクスポートされた3Dキャラクタをアニメーションさせることができます。 しかし、3DモデラーからエクスポートされたVRML のアニメーションは、パーツのアフィン変換ではなく、 頂点のモルフィングとして記述されることがあります。モルフィングは、データサイズを増加させるため、 ウェブ組み込み型ではサポートすることができず、そのため VRML アニメーションをインポートすることができません。
この問題を解決するために、モルフィングアニメーションを最小二乗推定によりアフィン変換に近似するアルゴリズムを開発しました。
<開発環境・技術分野>
Java Applet, Java Swing, Java3D, VRML, 数値計算
自然言語処理を利用した3DCG表示システムの開発
3Dアニメーションをブラウザ上で編集するためのJavaアプレットを Java3D で開発しました。
サーバーには3Dキャラクタのモデリングファイルが格納されます。
Javaアプレットは、サーバーに接続して3Dキャラクタを取り込み、
ユーザーはマウスを用いて簡単に3Dアニメーションを作成できるようになっています。
このシステムでは、ウェブサーバー上で3Dレンダリングを行い、
ブラウザ上にはアニメーションGIF画像として表示します。
<開発環境・技術分野>
Java Applet, Java Servlet/JSP, Java Swing, Java3D, Tomcat, MySQL, Linux (Fedora Core 5), 自然言語処理