足裏画像からの足指領域抽出AI開発(PoC)の取り組み
足裏の画像を使った足の計測では、最初に「画像のどこが足指か」を特定する処理が必要です。この処理の精度が、その後の判定結果のすべてに影響します。
今回、この足指の領域抽出に深層学習(AI)を適用するPoC(概念実証)を行いました。取り組みの内容と、検証で分かったことをご紹介します。
背景:画像の撮影条件に左右される
従来の足指の特定は、ルールベースや特徴量ベースの画像処理で行っていました。しかし、次のような場面で失敗しやすく、成功率は200枚の検証で73%にとどまっていました。
- 蛍光灯などの光が画像に映り込む
- 撮影面のガラスが曇る
- 指が横を向き、足の付け根と一体になって境界が見えない(特に小指)
また、足指の色味と前足部の色味の差で接地を判定する仕組みのため、カメラの色味や肌の色、機器の状態によって精度がばらつくことも課題でした。
目的:前処理の精度を実運用レベルまで上げられるか
足裏画像から足指の領域だけを抽出する教師データ(マスク画像)を作り、セグメンテーションの手法を適用します。これにより、足指領域の抽出精度と再現性を上げ、後続の判定に必要な前処理を実運用レベルまで引き上げられるかを検証しました。
使った技術:U²-Net
領域の抽出には、顕著性セグメンテーションの手法であるU²-Net(U-Squared Network)を使いました。画像の各ピクセルについて「どれだけ目立つか」を計算し、目立つ領域(前景)と背景を分けるモデルです。今回は「足指」を前景として学習させました。
比較したモデルは次の2つです。
- U²-Net(通常版):精度が高い一方、モデルのサイズが大きい(約170MB)
- U²-NetP(軽量版):モデルのサイズが約4MBと小さい
教師データの作り方
学習に使うマスク画像は、次の手順で作りました。
- 元画像の上3分の1(足指を含む部分)を切り出し、輪郭を強調した画像に加工する(スクリプトで自動処理)
- 加工した画像をもとに、足指の領域を白、背景を黒にしたマスク画像を作る(ペイントソフトによる手作業)
- 1の画像と2のマスク画像の組で、モデルを学習する
手作業の部分は、1枚(片足)あたり最短2分ほどで作れます。ここが、学習データを増やすときの負担になります。
検証の流れと結果
条件を変えながら、段階的に検証しました。
| 検証 | 学習に使った画像 | モデル | 結果 |
|---|---|---|---|
| 1 | 元画像 50枚 | 通常版 | 検証20枚のうち17枚が完全成功、2枚が部分的に成功、1枚が失敗 |
| 2 | 白黒化・輪郭強調したマスク画像 50枚 | 軽量版 | 検証20枚のうち14枚が成功(70%) |
| 3 | 白黒化・輪郭強調したマスク画像 200枚 | 軽量版 | ランダムに選んだ200枚のうち188枚が成功(94%) |
検証1では、元画像のままでも高い精度で指先を検出できました。ただし、モデルが大きく、アプリへの組み込みやダウンロードに時間がかかるという課題が残りました。
検証2では、背景や肌の色の影響が抑えられて学習が安定しました。軽量版でも実用に近い性能が見込めましたが、学習データが50枚では輪郭の精度が少し下がり、成功率は70%でした。
検証3では、学習データを200枚に増やしたところ、成功率が94%まで上がりました。従来の処理の成功率(73%)を大きく上回っています。
失敗したケースも、簡単な後処理で補正できる
認識に失敗したケースを分類すると、次のような傾向でした。
- 指より小さい領域を誤って検出した:連結した領域のうち面積が大きい上位5件を、足指として採用する
- 指より大きい領域を誤って検出した:親指を基準に、相対的な位置と距離から5本の指を判定する
- 指の領域が分割しきれなかった:ノイズ除去の強さを調整する
また、AIの認識結果には1ピクセル単位の白いノイズが混ざることがありました。これは、白い領域を一度収縮させてから膨張させる処理(モルフォロジー処理)で取り除けます。
完全に破綻するケースは少なく、多くは簡単な処理で補えることが分かりました。
まとめ
今回の検証で分かったことを整理します。
| 観点 | 結論 |
|---|---|
| モデルの方式 | U²-Net系は、足指領域の抽出に有効 |
| 前処理 | 白黒化と輪郭強調が、精度の向上に効く |
| 軽量モデル | 学習データを増やすことで、実用レベルに近づく |
| 実運用 | 約4MBの軽量モデルは、アプリへの組み込みに有利 |
軽量なU²-NetPでも、足指領域に特化して学習することで94%の抽出成功率を達成しました。約4MBというサイズを考えると、アプリへの組み込みに十分耐えうる水準に達したと考えています。
今後に向けて
学習データを300〜500枚規模まで増やし、失敗パターンの類型化と補強学習を行う予定です。あわせて、足指の抽出結果を使った判定ロジックとの統合検証や、軽量モデルを組み込んだときの処理速度の確認を進めます。
ヱビスは、画像を使ったAIの開発から、システムへの組み込みまで対応しています。お気軽にご相談ください。