大規模言語モデル(LLM)が普及しているので、機械学習用のデータの集め方もだいぶ変わってきている。
そのため、2024年の時点での私の見解をもとに機械学習データの集め方について加筆する。
そもそも、機械学習を自力でさせる必要があるのか
大規模言語モデル(LLM)、視覚言語モデル(VLM)の進展は、従来ではできなかった画像認識タスクをこなすようになってきている。
- かつては、特定の対象物もしくはCOCOデータセットの特定のカテゴリしか検出できなかった。
- 今は、特定の対象物にかぎらない(Open Vocabulary)物体検出ができている。
- 例:GroundingDINO https://github.com/IDEA-Research/GroundingDINO
- かつては、検出物に対して検出枠しか返せなかった。
- 今は、検出対象物の画素ベースのセグメンテーションを返すのがある。
- しかも、特定の対象物に限らず、セグメンテーションを返す実装も存在している。
- 例: Grounded-SAM https://github.com/IDEA-Research/Grounded-Segment-Anything
既存のVLMのモデルに利用可能なものがないか。
- もしかすると、既存の実装の既存の学習済みモデルで、そのタスクを実現できるかもしれない。
- HuggingFaceなどで、用意されている実装例を試してみよう。
- もし、それでうまくいくならば、成功の可能性は高まる。
従来型の学習・推論の枠組みはそのままでも恩恵を受けることはできるだろう。
人検出・人pose推定の学習データへの加工
- 従来の人検出に対して、セグメンテーションできるツールがあれば、それで人を前景として、人以外を背景としよう。
- それを使えば、背景差し替え画像を使って人検出の増強ができるだろう。
解決したい課題(タスク)に対しての論文を調査しよう。
- 論文を見つけたら、必ずと言っていいほど、その課題のために用いたデータベースが書かれている。
- 最近は、そのタスクに対するアルゴリズムの評価ができるためのデータセットの構築に対して学会が重要性を認識している。
- だからbest paper に選ばれることもある。
- その分野レビューの論文でも、データベースを記載していることが多い。
- だから、そのような調査が、あなたの仕事の役に立つことも多いだろう。
解決したいタスクの変化が、作られるデータセットの変化を生じている。
- 例:魚眼画像での画像データセット
- 例:一人称画像(自己視点画像)でのデータセット
- 例:工場や建築現場、農作業でのデータセット
- 例:極端な暗がりでのデータセット
- 解決したいタスクが変わってくるのに応じて新しいデータセットが作られてきます。
- こういったデータセットは、人検出という目的でも追加する価値があるかもしれません。
既存検出器を利用したポジティブサンプルの追加
- 物体検出の性能が上がっているので、既存の検出器での検出結果を拾い上げて、学習用の追加画像に加えても、誤検出は増加しないことが多い。
- ポジティブサンプルに対して、未アノテーションのまま学習データに追加しないかぎり、検出器の検出率を向上させる側に学習が改善する可能性が高い。
背景差し替え画像の作成が簡単になっている。
- 3Dカメラがとても安い。
- 3Dカメラで撮影した画像で、RGB画像で検出対象を検出したうえで、近距離の領域を前景画像として残す。それ以外の領域を背景として差し替えるのが簡単にできる。
- 他にも別な方法での背景除去はいろいろあるので、背景差し替え画像は簡単に作れる。
弱点になりがちな特定の状況での画像を集中的に集める。
-
例:アフリカ系の人での顔検出・顔ランドマーク検出
-
そのようなデータがなければ、作るしかない。
-
CASIA-Face-Africa: A Large-scale African Face Image Database
-
Facial Recognition Software Struggles To Detect Dark Skin — Here’s Why & How
この記事は、濃い顔色の顔検出・顔照合が記事の書かれた2023年時点においても十分なレベルに達していないことが述べられている。 -
車椅子での歩行者検出用の画像
MobilityAids
he annotated dataset contains five classes: pedestrian, person in wheelchair, pedestrian pushing a person in a wheelchair, person using crutches and person using a walking frame.
そのVLM(視覚言語モデル)は、十分な検出能力を持っていますか?
- 大規模に学習されたVLM(視覚言語モデル)は高い汎用性のある認識性能を持つと期待されている。
- しかし、あなたの想定しているタスクに対して十分な性能を持つかどうかは、検証してみないとわからない。
- 例:ドアノブを見つけることができますか?
- それは、どれだけ多様なドアノブに対してもドアノブとして視認することができますか?
- 検証することの必要性はなくならないのです。
それでも残る自作データセットの必要性
- あなたの想定する利用環境で性能がほんとうにでますか?
- カメラの視点が変われば、見え方は変わる。特に腕や手に対する見え方。手で扱っている対象物の見え方は、自己視点画像とそれ以外では大きく変わる。
- 人の見る視点と、掃除ロボットの視点では、部屋の中の見え方が異なる。
- カメラの画角、解像度が異なれば、見え方が異なる。
- 暗い環境では、カメラのノイズ特性によって、見え方が大きく異なる。
- あなたが解決しようとするタスクにそったデータを用意しないと、あなたの開発したアルゴリズム・機械学習結果が、十分に実用になるのかどうかを検証できない。