Amazon Web Services ブログ

Synadia が AWS IoT と ML を使用して次世代の錠剤検証システムを構築

このブログは、Sounavo Dey と Raul Diaz Garcia と Sebastiaan Wijngaarden によって書かれた Synadia builds next generation pill verification systems with AWS IoT and ML を翻訳したものです。

下院歳入委員会の報告によると、米国の処方薬の費用は年間 5,000 億ドルに近づき、年間 7% まで増加しています。この市場では、通常、医師が処方するよりも多くの丸薬や錠剤を含む従来のパッケージが原因で、毎年何十億ドルもの未使用の医薬品が無駄になっています。自動錠剤分配は、自動化されたプロセスを使用して、錠剤をポーチ/容器に分配するプロセスです。これは、このサプライチェーンを最適化し、錠剤の無駄を避けるための重要なステップです。製薬会社は、目視検査システムを使用して潜在的なパッケージエラーを特定し、熟練した薬剤師が手動で修正します。

1 つのパウチに複数の錠剤を入れるため、これらの外観検査システムの導入は、このサプライチェーンに新たな課題をもたらしました。従来のマシンビジョン アプリケーションは、多くの場合、静的画像を使用したルールベースの検査に依存しています。過去 20 年間、製薬会社はこれらの従来の画像処理技術を使用してこれらのパウチの内容物を検証してきましたが、結果はまちまちでした。静的な画像検証では、高レベルの偽陰性と偽陽性の結果が生じ、画像検証の感度が高いため、追加の手動制御とハードウェアキャリブレーションの必要性が高まりました。この追跡可能性と監査可能性の欠如は、既存のソリューションが製薬市場が必要とする高い基準を達成していないことを証明しています。これらの目視検査システムはスタンドアロン型であるため、薬剤師が手作業で処方箋を開封して内容を修正し、その過程でより多くの廃棄物を生成する非効率的なプロセスをもたらします。

Example of a Pill Pack

ピルパックの例

このブログでは、Synadia Software b.v (Synadia) と Amazon Web Services (AWS) が、機械学習 (ML) 機能を使用してピル検証用の新しいクラウドベースの品質保証ソリューションを開発した方法について説明します。AWS テクノロジーを使用した次世代の錠剤調剤マシンは、新しい錠剤に合わせて自動的に調整し、地域の条件に適応する自己学習アルゴリズムを使用して、調剤された錠剤を検証できます。すべての画像履歴を活用して最新の錠剤認識モデルを自動的に学習およびアップグレードし、それらを錠剤調剤機にデプロイする機械学習アルゴリズムを含むクラウドベースのソリューションを紹介します。

現在の錠剤調剤の課題

現在、錠剤ディスペンサーでは、バッチ ジョブを実行する前にキャニスターに錠剤を装填する必要があります。ブリスターから丸薬を取り除くアクションであるブリスター除去は、バッチ注文の実行前に行われる別の手動のエラーが発生しやすいプロセスであり、訓練を受けて認可を受けた専門家のグループによって実行されます。

機械がキャニスターから錠剤を取り出し、注文に基づいて錠剤をプラスチック製のパウチに包装します。バッチの準備が整うと、一連のパウチが別の機械にロードされ、品質チェックが実行されて、各パウチに正しい錠剤と量が含まれていることが確認されます。各品質保証 (QA) マシンには、必要な QA チェックを実行するための個別のトレーニングが必要です。QA マシンは、不一致を検出するとフラグを立てます。不一致を解決するには、コストのかかる人間の介入が必要です。このようなマシンのエラー率は約 13% です。

Synadia は、ヨーロッパ市場向けの自動錠剤分配機を開発しました。このソリューションは、入力を動的に受け取り、必要な種類の錠剤を調剤してパウチにパッケージ化する機能を備えた、コネクテッドマシンの集中管理されたネットワークで構成されています。自動化されたプロセスは、一貫した結果を達成するために、ブリスター除去プロセスの精度を高めることを目的としています。ML モデルを使用して、Synadia は錠剤配布のための一元化された QA メカニズムをセットアップできます。これにより、各場所で QA モデルを維持する必要がなくなります。

ソリューションウォークスルー

Reference Architecture of the presented solution

提示されたソリューションのリファレンス アーキテクチャ

QA は次の 2 つのステップで設定されます:

  • 訓練:既存のデータから学びます。このステップには膨大なコンピューティング リソースが必要であり、集中化する必要があります。したがって、AWS で実装されます。
  • 推論:データに関する意思決定を行います。このステップに必要な計算能力ははるかに少なく、ほぼリアルタイム(1 秒)の処理が必要です。これは、AWS IoT Greengrass での ML 推論によって実現されます。

すべての錠剤調剤機には、AWS IoT Greengrass がインストールされています。 AWS IoT Greengrass には、メッセージをローカル上のデバイス間、デバイス同士、そしてクラウドにルーティングし、デバイス上で機械学習の推論を実行する機能があります。錠剤自動販売機にカメラを設置し、錠剤を撮影します。モデルをトレーニングするために、イメージは AWS IoT Greengrass を介して AWS IoT Core に送信され、Amazon Simple Storage Service (Amazon S3) に保存されます。画像は、QA モデルをトレーニングするために Amazon SageMaker によって使用されます。

モデルの推論は AWS IoT Greengrass にデプロイされ、AWS Lambda 関数を通じて実行されます。推論の結果と事前定義されたルールに基づいて、錠剤の認識が正しいかどうかについてアクションが実行され、顧客に通知されます。

錠剤の調剤とサプライ チェーンに関するレポートは、Amazon QuickSight に集約され、レポートされます。エラーコードと操作マニュアルは Amazon S3 に保存され、Amazon Kendra ですばやく検索できます。

錠剤調剤機のハードウェア

Camera setup in the pill-dispensing machine

錠剤調剤機でのカメラのセットアップ

初期セットアップは、プログラマブル ロジック コントローラー (PLC) に接続されたカメラと、AWS IoT Greengrass を実行するローカル コンピューティングで構成されます。理想的な照明条件を作成するには、カメラの周囲に配置されたプリント回路基板 (PCB) に用いたカスタムフラッシュライトを使用します。ピルがカメラの位置に落とされると、PLC は MQTT メッセージを AWS IoT Greengrass のブローカーに送信し、ブローカーは Lambda 関数を実行してカメラをトリガーします。画像が受信されて処理されると、PLC は別の MQTT メッセージを受信して次のアクションを開始します。

This is a model of a next generation pill-dispensing machine that can collect one or more pills from their primary containers placed in the square boxes and dispense them into a pouch into the central outlet.

これは、四角い箱に置かれた一次容器から 1 つまたは複数の錠剤を収集し、中央の出口にパウチに分配できる次世代の錠剤分配機のモデルです。

This is a zoomed version of the pill racks showing the placement of the pills in their primary containers.

これは、一次容器内の錠剤の配置を示す錠剤ラックの拡大版です。

Pill dispensing machine canister. A pill falls from the left-hand side conduct (01), and falls inside the canister (02), where a diaphragm waits to be opened for further processing (03).

錠剤調剤機のキャニスター。錠剤は左側の導管から落下し (01)、キャニスターの内部に落下し (02)、さらなる処理のためにダイヤフラムが開かれるのを待ちます (03)。

AWS へのデータ取り込み

データの取り込みは、AWS IoT Core を使用して MQTT プロトコルを介して行われます。メインの AWS IoT Greengrass および AWS Lambda アプリケーションは、錠剤のスナップショットを取得し、これらを分類モデルで実行してから、MQTT を介してこの情報を AWS IoT Core に送信します。

ペイロードは、錠剤 ID と分類確率を組み合わせたもので構成されます。確率が事前定義されたしきい値よりも低いシナリオでは、デバイスはさらに調査するために画像を Amazon S3 バケットにアップロードできます。

クラウドでの ML トレーニングの実行

画像に写っている錠剤の種類を識別する方法は多数あります。物体検出モデルの使用が一般的かもしれませんが、画像分類モデルを使用するようにソリューションを再構成しました。画像には常に、小さなキャニスターに正確に 1 つの錠剤が含まれていることが期待されます。したがって、キャニスター内の錠剤のみが見えるようにカメラを設定することで、画像分類モデルは錠剤の特徴を認識して錠剤の種類を識別することができます。これにより、ResNet-50 などのよく知られた分類ニューラル ネットワーク モデルを使用して錠剤を識別することができます。

モデルをトレーニングするために、転移学習を利用して、非常に少ないサンプルで高い精度を達成します。200 個の画像の小さなサンプルを使用して、トレーニング用に 120 個の画像、検証用に 40 個の画像、残りの 40 個の画像をテスト用に分割し、8 つの異なる錠剤カテゴリを表します。転移学習は、1,000 のカテゴリを含む ImageNet データセットからの 1,400 万を超える画像でトレーニングされているため、ほとんどの低レベルの特徴検出を実行します。ImageNet でトレーニングされたパラメーターで残りのレイヤーを凍結しながら、特定の分類器レイヤーを学習するようにネットワークの上部をトレーニングします。

錠剤分配機には、分配しようとしている錠剤の種類に関するメタデータがあるため、これをグラウンド トゥルース アノテーションのラベルとして使用します。120 枚のトレーニング画像の小さなセットでオーバフィッティングを避けるために、モデルをより堅牢にするのに役立つ新しいデータを生成する拡張プロトコルを使用します。データを注意深く分析した後、錠剤が画像の中央にある円形のキャニスターに配置されていることがわかりました。そのため、画像を任意の角度で回転すると、同じように見えるキャニスターと錠剤の新しい画像が生成されますが、錠剤の位置が異なります。また、堅牢性のためにミラーリングフリップも検討しました。この単純な拡張プロトコルを使用して、より堅牢なモデルのトレーニングに役立つ数千の画像を生成しました。

学習率 0.0001 の 5 エポック (データに対する反復) のみを使用してモデルをトレーニングし、すぐに 100% のトレーニングと検証の精度を達成しました。必要に応じて、固定レイヤーの一部を微調整することで、モデルのパフォーマンスを向上させることができます。モデルは精度に対して最適化されているのではなく、他クラス交差エントロピーと呼ばれるモデルの応答の信頼度を測定する損失関数に対して最適化されているため、100% 正確なモデルを改善することが可能です。(例: これは信頼度 84% のイブプロフェンです)。これらの信頼率の結果を改善して、錠剤があいまいで見える可能性があり、予測の信頼性が低い画像に対してモデルをより堅牢にする必要がありました。

モデルを微調整するために、モデルの最後の 26 層を解凍し、より遅い学習率 0.00001 を設定します。さらに 5 エポックのトレーニングスクリプトを実行し、元の検証損失 0.0079 を 0.0016 に減らしました。モデルは依然として 100% 正確でしたが、予測の信頼性が高まりました。

エッジでの ML 推論による錠剤識別

モデルをデプロイするには 2 つの方法があります。クラウドベースのデプロイでは、入力データ (画像) は IoT デバイスのアップストリームから送信され、そこでモデルが推論を実行し、結果をダウンストリームに返します。大きなファイルを送信して処理する必要があり、遅延とデータ量に関連するコストが増加するため、これはコストがかかり、時間がかかるソリューションになる可能性があります。ただし、エッジデプロイでは、モデルが IoT デバイス自体に配置されます。このようにして、デバイス内で画像を処理し、モデルの応答のみを上流に報告できるため、データ量に関連する遅延とコストがなくなります。

AWS IoT Greengrass を使用してトレーニング済みモデルをデプロイしました。エッジでの推論を高速化するために、Amazon SageMaker Neo を使用してモデルを最適化します。Amazon SageMaker Neo は、モデル パラメータを圧縮できる AWS サービスであり、パフォーマンスを損なうことなく高速な推論を可能にします。Amazon SageMaker Neo をエッジ デバイスにインストールするには、はるかに軽量なフレームワークでよいため、セットアップが簡単になります。Amazon SageMaker Neo を使用することで、前述の 100% の精度を維持しながら、推論速度を 0.1 秒から 0.03 秒に改善することができました。

また、モデルを継続的に改善するための情報源として、エッジでの推論も考慮しました。錠剤調剤機は、キャニスター内の錠剤の種類をメタデータとして提供できるため、誤検出を特定して改善するために、次のアプローチを提案しました。まず、誤って予測された画像を収集し、正しいラベルを付けて Amazon S3 にアップロードしました。次に、正確に予測された画像を収集しましたが、信頼度は特定のしきい値を下回っていました。

十分な数の新しい画像 (例: 1000) を収集した後、トレーニングプロセスを再トリガーし、最新のネットワークパラメーターを再利用して、現在までのすべての錠剤分類学習を転送しました。これにより、システムは将来の誤分類を修正すると同時に、スコアの低い予測の信頼性を向上させることができます。次のアーキテクチャは、ディスペンサーから錠剤のラベルを収集することによってモデルを継続的に学習および改善する完全なプロセスを示しています。

AWS architecture of the re-training process for pill recognition model improvement

錠剤認識モデルを改善するための再トレーニングプロセスの AWS アーキテクチャ

主な学習内容

  1. 当初、サンプルサイズは小さかった。また、錠剤のサンプリングは均一ではありませんでした。サンプル分散を改善するために、既存のデータのわずかに変更されたコピーを追加するか、既存のデータから新しく作成された合成データを追加することにより、データ拡張技術を使用してデータ量を増やしました。これはまた、より多くの初期サンプルを使用して、錠剤カテゴリへのデータ バイアスを取り除くのにも役立ちました。
  2. 最初に、画像キャプチャはズームアウトされていました。つまり、関心のあるオブジェクト (つまり、錠剤パック) は焦点が合っておらず、かなり小さいことを意味していました。カメラの位置と焦点を実験した後、キャプチャされた画像の適切な深度レベルを見つけました。これにより、機械学習モデルが関連する特徴を認識するためのはるかに大きく丸薬が見えるようになりました。
  3. Amazon SageMaker Neo により、リアルタイムの推論を実現すると同時に、対象デバイスのモデルアーティファクトと推論フレームワークのフットプリントを削減し、デプロイをより迅速かつ簡単に行うことができました。

まとめ

自動錠剤調剤機は、機械学習の利用を拡大することで、運用効率を向上させます。低レベルの物理デバイスからクラウド内のデータ分析への透過的なデータフローにより、遠隔地からのリアルタイムの応答、またはエッジでの推論の実行が可能になり、エンドカスタマーの処方箋の精度が向上します。

データを使用して処方薬の調剤精度と運用を改善することで、製薬会社は新しい錠剤を提供し、サプライ チェーンをより効果的に管理できるようになります。錠剤調剤機と機械学習の相互接続されたシステムは、患者のコスト負担を軽減し、患者のコンプライアンスを高め、瞬時に対応する医療を提供できるスマートデバイスの利点を生かすことができると予測されています。

AWS IoT および AWS 機械学習の詳細については、AWS IoT ドキュメントおよび/または AWS 機械学習ドキュメントを参照してください。

著者について

Sounavo Dey は AWS のシニア製造業ソリューションアーキテクトであり、IoT と製造業に焦点を当て、製造業者がインダストリー 4.0 に移行するのを支援しています。彼は技術革新の推進を支援し、メーカーが将来の成功を計画し、ソリューションを提供し、体系的に変革し、その過程で増加するビジネス価値を確保できるよう支援しています。

彼は、インダストリアル IoT とクラウドの採用において幅広い経験を持っています。

Raul Diaz Garcia は AWS のデータ サイエンティストであり、EMEA 全域の顧客と協力しており、顧客が IoT スペースでコンピュータービジョンと機械学習に関連するソリューションを実現できるよう支援しています。
Sebastiaan Wijngaarden は、AWS の CDA データ分析であり、製造およびサプライチェーンの顧客に焦点を当てたプロフェッショナル サービス組織で CDA として働いています。製造(ディスクリートとプロセス) およびその他の産業顧客 (ヘルスケアとライフサイエンス、CPG、エネルギー、電力とユーティリティ、化学など) での 15 年以上の経験があります。

このブログは、ソリューションアーキテクトの戸塚智哉が翻訳しました。