スマートフォンで食事の写真を撮るだけで栄養管理ができるアプリが広がっています。タイでは「ThaiSook」という健康増進アプリが開発されており、体重や野菜・果物の摂取量、運動量、血圧、血中脂質、血糖値、喫煙習慣といった生活習慣病(非感染性疾患)のリスクに関わる指標をユーザー自身が記録し、チーム対抗の仮想コンテスト形式で健康的な生活を後押しする仕組みになっています。ThaiSookでは利用者が食事の写真をアップロードして野菜・果物の摂取を記録できますが、その内容に誤りがないかを人の目で確認し、報告する作業には時間がかかり、間違いも生じやすいという課題がありました。そこで研究チームは、写真から野菜・果物の種類を自動で判定する画像分類モデルの開発に取り組みました。

2段階のディープラーニングモデルを開発

研究チームは、タイ保健省が栄養データを公開している東南アジアの果物・野菜43種類に、パパイヤサラダ(ソムタム)、野菜炒め、野菜サラダという野菜を多く使う料理3種類を加えた、合計46カテゴリを分類するモデルを開発しました。

モデルは2段階の構成になっています。第1段階は「二値分類」で、写真に果物や野菜が写っているかどうかだけをまず判定し、写っていない画像を除外します。第2段階は「多クラス分類」で、二値分類を通過した画像について具体的にどの果物・野菜であるかを特定します。二値分類を先に置くことで、モデルが学習時に見たことのない種類の画像(果物・野菜以外の食品や物体)が多クラス分類器に入力され、誤った判定を引き起こすリスクを減らす狙いがあるとされています。

データセットには、あらかじめ人手でラベル付けされた画像として果物・野菜の画像5,760枚と、果物・野菜以外の画像5,450枚が使われました。これらの画像はいずれも著者らが目視で確認し、あらかじめ定めた食品カテゴリに応じて手作業で分類・注釈が付けられ、重複や破損、無関係、誤ラベルの画像は除外されています。各クラスにはおよそ120〜139枚の画像が含まれ、クラス間の枚数は比較的均等だったため、追加のバランス調整は行われなかったとのことです。これに加えて、ThaiSookアプリの利用者が実際にアップロードした、ラベルのない画像29,385枚も活用されました。

モデルのベースとなるアーキテクチャの選定では、ResNet50V2、MobileNetV2、VGGNet-16、VGGNet-19、ConvNext-Tiny、MobileNetV3Small、EfficientNetV2Sという7種類のモデルを比較する実験が行われ、EfficientNetV2Sが二値分類の精度で最も優れていたと報告されています。このモデルのサイズは83.16MB、1枚あたりの平均推論時間は0.1131秒(毎秒8.84フレームに相当)、推論時のメモリ使用量は平均1.83GBで、スマートフォンのような計算資源が限られた環境でも使えるようコンパクトに保たれたとされています。

ラベルの少なさを補う工夫と精度の結果

ラベル付きデータが限られる一方でラベルなしデータが多いという状況に対応するため、研究チームは複数の半教師あり学習の手法を組み合わせました。まず「疑似ラベリング」という手法で、あらかじめ学習させたモデルにラベルのない画像を判定させ、予測確率が高い(信頼度0.95など)場合にのみその予測をラベルとして採用します。また、モデルが未知の画像に対して過剰に自信を持ってしまう問題に対処するため、「ラベルスムージング」(正解ラベルの値を1ではなく少し緩やかな値にする正則化手法、この研究ではα=0.10を採用)と、「温度スケーリング」(予測確率の分布を滑らかにする手法、T=2.00を採用)という2つの手法を導入しています。さらに「Noisy Student」と呼ばれる自己学習の手法を用い、教師モデルが生成した疑似ラベル付き画像と、ドロップアウトやランダムな画像加工(RandAugment)によるノイズを加えたうえで、生徒モデルとして再学習させる手順を5回繰り返しました。

これらすべての手法を組み合わせた2段階モデル全体(エンドツーエンド)の性能を評価したところ、最も可能性の高い1つの分類が正解と一致する「top-1」の精度で92.43%、上位3候補のいずれかに正解が含まれる「top-3」で94.56%、上位5候補までを見た「top-5」で94.91%の精度が得られたと報告されています。またNoisy Studentの学習を加えることで、top-1精度はさらに92.59%まで向上したとされています。ラベルスムージングと温度スケーリングを加えることで、これらの工夫を使わないベースラインと比べて2.57%の相対的な性能向上が、そしてこの研究で用いたすべての技術を組み合わせることで、1段階のみのベースラインモデルと比べて10.48%の精度向上が確認されたとのことです。

個別のカテゴリ別に見ると、バナナ、ブロッコリー、カスタードアップル、ジャックフルーツ、イチゴなどはF1スコアが0.95を超える高い精度が得られた一方、見た目が似ているカンタロープ(F1スコア0.6400)やマスクメロン(同0.7500)、複数の食材が混ざるソムタム(同0.7692)などは相対的に精度が低かったとされています。誤判定の具体例としては、ブドウやサクランボに似た画像をサクランボと誤認識したケースや、切ったマンゴーの断面の質感や色がパイナップルに似ていたために誤って判定されたケース、キャベツと野菜サラダが食材の混在によって区別しづらかったケースなどが挙げられています。また、背景や照明、撮影の角度、画質のばらつきが大きい画像では誤判定が生じやすかったことも報告されています。研究チームはこのモデルを一般公開されているFruits-360データセット(131クラス、90,483枚の果物・野菜画像)でも評価しており、提案手法により精度、AUROC(識別性能の指標)、F1スコアがそれぞれ改善したとしています。

この研究の位置づけと今後に向けて

この研究は、タイの国立科学技術開発庁(NSTDA)のデジタルヘルスケア関連グループに所属する著者に加え、オーストラリアのCanterbury Technical Institute、日本の大阪大学D3センター、タイのプリンスオブソンクラー大学医学部に所属する著者らによって行われました。日本の研究機関に所属する著者が名を連ねている点は、国際的な共同研究として注目される点ですが、この所属自体から研究の結論を導くことはできません。

今回の評価はサーバー向けの計算環境で行われたものであり、著者らは、実際にスマートフォン上で動かす際の性能(TensorFlow Liteへの変換や量子化によるモデルの軽量化、端末上での処理速度の測定など)については今後の課題として位置づけています。また、見た目が似た品種間の区別や、複数の食材が混在する料理の分類には依然として課題が残ることも本文中で述べられています。この研究はあくまで一つのモデル開発と評価の報告であり、ThaiSookアプリなど実際の運用環境での効果や、他の地域・食文化への応用可能性について結論づけるものではない点に留意が必要です。

まとめ

本研究では、タイの健康増進アプリ「ThaiSook」での利用を念頭に、東南アジアの果物・野菜46カテゴリを判定する2段階のディープラーニングモデルが開発されました。疑似ラベリングやラベルスムージング、温度スケーリング、Noisy Studentといった半教師あり学習の手法を組み合わせることで、ラベルなしの実データを活用しつつ、top-1精度92.43%、top-5精度94.91%という結果が示されたと報告されています。見た目が似た品種や複雑な料理の分類には課題が残ることも示されており、著者らは今後、スマートフォン上での実装や動作検証を進める計画であるとしています。

※本記事は下記の原著論文を紹介するものです。参考文献:東南アジアの果物・野菜46カテゴリの画像分類のための2段階ディープラーニングフレームワーク(フロンティアーズ・イン・パブリックヘルス・2026年08月)