OpenCV
画像認識
深層学習

画像認識技術の評価時の留意点

画像認識技術の評価時の留意点をメモしてみました。

世の中画像認識技術は多数あります。使えるはずと思ってみたものが使い物にならないこともあります。
使い物にならないことに気づくの遅れると、製品開発のスケジュールを台無しにしてしまうことが起こります。
そのならないように、以下のメモを記します。

レイテンシ(遅延)がどれだけ小さいかが重要。

  • 動いている対象にフィードバックをかけようとしたらレイテンシをどう少なく設計してあるか大切。
  • 例:ドローンの姿勢制御
  • フレームレートが高くてもレイテンシが大きいことがある。
  • レイテンシを小さくするには、圧縮・展開するデータ形式を使わない。
    • Motion jpeg よりは、YUV422。 ## fps の値が低いと追跡処理は困難(あるいは不可能)
    • 被写体の画像上の動きが大きいと追跡不能になることが多い。長方形の枠の重なりを使ってフレーム間での位置を比較していることが多いため。
  • 撮影された画像の歪み補正、cropping処理が重要

    • 撮影した画像の一部を取り出して、歪み補正をかけて、認識をさせやすくできること。
      • 画像認識部分に入力できる画像サイズには限りがあります。またDNN系では、一定のサイズにリサイズして入力します。そのときに探索しなくていい部分を除いてあって、縮小前の画像領域が小さくなっていることが(=リサイズ時の縮小の変化量が少ないようにしておくこと)が検出をさせやすくすることにつながります。
  • 輝度値の補正、ノイズ処理

    • 逆光時の画像、夜間の画像などは、昼間の順光時の画像とは見え方が異なります。
    • 信号値が小さくなりがちで、しかもノイズが大きくなりがちなときは、その影響を低減できるようにシステムを設計します。
  • 検出処理結果と元データとの対応とが可能な状況が保たれているか(時刻情報の取り扱いはどうなっているか)

    • 画像バッファの扱いしだいでは、時刻情報が失われてしまっていて、検出結果の枠と対応付けていい画像上の位置とが一致しないことがあります。
    • 描画される枠は、表示している画像の??msec 前のデータというシステムも聞いたことがあります。 ・画素数が高ければ十分なわけではない。レンスの性能が無視できないことがある。

 画像信号のハードウェアの性能が向上してきていて、fullHD以上の画素数の画像入力に対して
 画像認識を動作させたい時がある。

  • 画素数だけあげれば高解像度になるわけではない。   その画像の細部で画像認識をさせようとする。その細部を拡大して見ると、画素数の割には、画像がボケボケになっていることに気づくこともあるだろう。

  画像は、レンズの特性で、見える鮮明さには限界がある。NTSC時代のレンズでは、fullHDの画像の細部にわたって鮮明さを維持することができない。

  • JPEG圧縮の影響受けた画像と、受ける前の画像との違い
    JPEG圧縮の影響を受けた画像では、アルゴリズムによっては劣化を生じます。暗い画像ほど影響を受けやすくなります。

  • 画像サイズとフレームレートでどのような組み合わせまでが実現可能かということ

  • 検出対象の数が多い時に、処理時間がどうなるのか?

    • 処理時間に打ち切りを加えるときには、どのような打ち切り方法になるのか
    • 大きなオブジェクトの側から検出されるのかどうか

そのため、Aという装置の目的では十分でも、Bという装置の目的では不十分ということが起こりえます。
ですから、これらの評価時の留意点について、開発の早めの段階で気にかけておいてください。