CONSULTING SERVICEコンサルティングサービス

コンサルティングサービス
ディープラーニングのコンサルティングサービスを展開し、
お客様の人工知能開発をサポートします

アノテーションルールの提案/検討

学習(推論)、用途や精度に応じた正解データ作成ルールの提案

ディープラーニングのアルゴリズム開発には、正解データの作成(アノテーション)が必要です。「どのような学習させたいか」「どのような場面で推論を行うのか」など、用途や精度に応じた正解データを用意することが重要となります。

画像のセグメンテーション(領域分割)アルゴリズムでは、物体認識の精度に応じてピクセル(pixel)またはポリゴン(polygon)のどちらで学習が必要かを判断します。
 
  • 物体認識に高い精度を求める場合には「ピクセルでの学習・推論」

    「フェンスとフェンスの網目から見える背景も区別して認識する」など高い精度を求める場合には、ピクセルでの学習・推論が考えられます。ピクセルの場合は、正解データの作成にかかる工数が増えます。作成ルールも細かくなるため、コストが増大します。画像サイズや正解データを作成するツールにもよりますが、作業者1人が1日に作成できるのは、数枚程度です。また、ニューラルネットワークも大規模になり、推論の処理速度が遅くなる可能性があります。将来的に車載カメラなどエッジデバイスへの実装は困難になるでしょう。
     
  • 物体認識に高い精度が必須ではない場合には「ポリゴンでの物体認識」

    ある程度の精度で用途を満たせるのであれば、ポリゴンでの物体認識で十分です。
    ポリゴンは「一番手前にある物体を認識できれば良い」などルールが簡易になります。ピクセルと比べ認識の精度は下がりますが、作成の工数短縮が期待できます。
    ポリゴンでのセグメンテーションアルゴリズムを設計した場合、作業者1人で1枚当たり1~2時間ほどで正解データを作成しています。(※当社実績)
ポリゴンによる学習用正解データの作成例
ポリゴンによる学習用正解データの作成例
正解データの作成には、ディープラーニング開発で求める用途や精度を理解したルール作成が不可欠です。

アルゴリズム提案/検討・アルゴリズムの軽量化・POC開発支援

用途/精度/デバイスに応じたアルゴリズム提案、POC(Proof Of Concept:概念実証)開発支援
正解データと並行して重要なのは、用途や精度に応じたアルゴリズムの選定・設計です。また、システムとして FPGA・マイコンなどに組込む場合、限られたリソースで実装できるようにアルゴリズムの軽量化も求められます。

CNN(Convolution Neural Network:畳み込みニューラルネットワーク)やセグメンテーションアルゴリズムを軽量化・実装した経験/実績から、基本的なアルゴリズムであれば、机上計算での精度を見積もることができます。(※ただし、精度を完全に担保するものではありません。)また、サンプルアルゴリズムやテストデータがあれば、軽量化の検討から検証まで行い、より正確な精度をご提供します。お客様からサンプルアルゴリズムをご提供いただき、当社にてターゲットデバイスへの初期実装まで行った実績があります。

当社では、20年以上のデジタル回路設計及び組込みソフトウェア開発技術と研究開発で培ったディープラーニング開発技術を組み合わせ、将来的なデバイス実装までを見据えたアルゴリズム設計や軽量化を実現します。

アーキテクチャ検討・エッジデバイス実装

デバイスや処理時間に応じた最適なアーキテクチャ設計・実装

開発したアルゴリズムをシステムとして FPGA・マイコンなどに組込むには、限られたリソースで、期待される処理時間を実現しなければなりません。

パイプラインによるスループットの向上

セグメンテーションアルゴリズムを FPGA に実装する際に検討したアーキテクチャとして、「パイプラインによるスループットの向上」が挙げられます。
Conv(3*3)→ Conv(3*3)→ MaxPooling(2*2)という処理を例にします。初段の Conv から3行分の特徴量が出力されると、次段の Conv で演算処理を開始できます。同様に、MaxPooling でも Conv から2行分の特徴量が出力されれば、処理を開始することができます。
このようなパイプラインを組むことで、アルゴリズム全体で高速化を実現します。さらに、各処理層の出力 CH 方向に並列化することで、さらなる高速化を見込むことができます。
パイプラインによる処理の高速化
パイプラインによる処理の高速化
ただし、並列化(高速化) ⇔ ロジックリソースは、トレードオフ関係であるため、ターゲットデバイスに応じた適切なアーキテクチャ設計が必要です。アルゴリズムをそのままにデバイスへの実装を優先するのであれば、最低限の並列処理を施したアーキテクチャを設計します。しかし、期待処理時間を満たした上での実装を目指すには、上流のネットワーク構成自体から再検討となることも考えられます。
当社では、デバイス(ロジックリソース)に応じたディープラーニングアルゴリズムの軽量化にも取り組んでいます。ネットワーク構成の検討や、目的のデバイスが決まっていれば、実装の事前検討としての軽量化からアーキテクチャ検討・実装まで一貫して取り組むことができます。