これも知らなかったです。紫外線環境保健マニュアル2020さらに、日焼け止めクリーム等に記載されている紫外線を防ぐ強さを示すSPFやPAという指標。これもなんとなく「数字が大きいのがより防いでくれるものさ」といった程度の印象で使っていました。実際は、SPFがUV-Bに対する指標。平日は外に出るのは通勤とランチのみ、というような生活だと過剰防御かもしれませんね。本論からどんどんずれますが💦マニュアルにあった日焼け止めの塗り方も目から鱗だったので載せておきます。紫外線環境保健マニュアル2020さてさて次回は、センサモジュールの準備についてご紹介します。UVをセンサで計測してみよう!2~UVセンサとは?ユキグマ工作&モノづくり系好き女子。電子工作グッズは無地のメイクボックスに入れてお部屋の雰囲気を保ちます。フランボワーズケーキに目がないです。PACMANこんにちは。チャレンジの3回目です。2回目の記事を読む最初から記事を読む作成したPOCには大きく3つの課題がありました。どのような対策を施し克服したのかご紹介します。データ注釈の課題克服まず、時間のかかるプロセスである、データ注釈(アノテーション)の課題解決です。イメージを生成する”」こと。使用し自ら注釈モデルを作成しました。製作した注釈モデルアプリケーションこのアプリケーション製作は慣れていれば非常に簡単です。つのウィンドウで構成されています。左側が入力画像、右側が出力マスクです。「車の位置にある左側の画像をクリック」する、たったこれだけです。これにより、右側のマスクが自動的に更新されます。ちなみに同じ場所をもう一度クリックすると削除できます。キーコントロールで画像を保存、次の画像を選択、ポイント設定という流れでザクザクと設定を進められます。(すべての画像が同じディレクトリにあると想定ですが)簡単とはいえども、画像数が多いと当然ながら非常に時間がかかります。モデルを作成しました。モデルを使用して、残りの画像に注釈を付け作業を簡略化できました。そもそもの元画像にミスが多かったせいで、手動で手直しも発生しましたが、とはいえゼロから画像に注釈を付けるよりもはるかに高速で処理できました。次に、注釈モデルアプリの中のAIモデルですが、IoT環境で使うため、プログラムサイズの軽量化が必要です。つの部分で構成されています。セットが小さかったため、私はこのアプローチを採用しました。セクションのみがトレーニングされますので効率的です。事前にトレーニングされているため、画像内の多くの低レベルの特徴を検出できます。ほうは、前工程のMobilenetの検出後画像をさらにフィルタリングし、車のみが検出できるようにしました。メガバイト)にまで縮小できました。次に、データセットの問題です。前回2回目のブログで私は、駐車場画像のデータセットに偏りがあると、駐車場監視AIモデルの学習がうまく進まないこと、駐車場においては主に7つのデータセットの課題があるとお伝えしました。そこで私は駐車場データの増強やデータセットの制限を克服するために、以下のようなアプローチを試みました。データサンプリングデータ分析において、データセットの中から有意な情報を得るため、データの一部を抽出することをサンプリングと言います。ヒストグラムの棒のことを英語ではbin(ビン)と言いますが、ある抽出データがどのビンに属するのかの定義を決めていきます。駐車場の画像データを、ビン(bin)に配置します。駐車場の場合は駐車台数がキーになります。駐車場AIデータのトレーニング中は、これらのビンに配置した画像をランダムに選択しAIに答えさせていきます。昼と夕方では明るさが違うので、AIにより賢くなってもらうには、これらの状態でのサンプリングも必要になります。(平均)、明るい、中間、暗いへと分けました。データをより均等に分散させて、トレーニング中のバイアスを減らすことがAIにより賢くなってもらうために必要です。特定の駐車台数、特定の明るさのデータが十分にない区間も存在します。したトレーニングデータのバイアスを補い均質化する技術としてランダムパッチがあります。画像の一部分にランダムなパッチを当てて、ふたをします。すると、画像内の車の数が変化しますので、違う台数条件のデータを学習させることができます。(ぼかし、シャープ化)も必要と感じ実施しました。ミラーリングデータ増強の方法にミラーリングというものがあります。画像をランダムな角度に水平方向に反転させ、鏡映しのような画像をつくるのですが、私は今回これも用いてみました。以上をマークすることができました。メガバイト未満のモデルも構築できると想定しています。モデルをゼロからトレーニングできません。費用と時間がそれなりにかけて、より多くのデータを収集していく方法は当然ありますが、予算や時間が限られる研究者も大勢いると思います。モデルを使用してトレーニングデータを合成する方法で解決できる可能性に期待しています。モデルのトレーニングに使用するプロセスです。データの未来である”大きなAIがエッジAIのトレーニングをサポートすることが当たり前の世界に1歩でも近づけていきたい。私はこのように強く思っています。次は、他のエッジAI開発事例についても、お話しできればと思います。チャレンジの2回目です。オープンソースを活用しながら低コストでの開発をしています。1回目の記事を読む今回はそうしたエッヂAI開発でありがちな、乗り越えなければならない課題をお話します。モデルはたくさんあります。セットで高いスコアを達成する素晴らしいものです。人や車を検出する、オープンソースのオブジェクト検出AIただ、小さなオブジェクトやオブジェクトが密集しているケースなどでは、検出パフォーマンスが低下する傾向があります。レートは遅くなるので、さらにパフォーマンスに影響を与えます。最適化されたモデルが小さいほど、パフォーマンスが低下しますので、今回のエッジAI開発のような、メモリの小さな環境ではかなり厳しい想定はありました。モデルを作成すること」です。デバイスでもAIモデルが実行できる可能性がありますのでやる価値はあります。以下と置いて開発をすすめました。イメージマスク出力(AI学習後)AIモデルの実行環境と同じくらい重要なのが、データセットの注釈(アノテーション)です。有料のアノテーション済の学習データ(教師データ)は便利ですがご存じの通り高価ですので、今回は無料で扱えるKaggleのデータベースを使うことにしました。Kaggleのデータセットのデータは4000ほどありましたが、アノテーションが付いておりません。付けなければなりませんが、人によるアノテーションはお察しの通り途方もない作業で、開発者が自ら行うのは無理があります。車を認識させアノテーションを自動設定しようと試みました。ところが、これがうまくいかないのです。私の感覚ですと、どうもこの「Yolo」はおおまかに1画像に移っている車の数の20%~40%程度しか車を認識しませんでした。映像内で並んでいる車のサイズが小さすぎて、前述した「小さなオブジェクトやオブジェクトが密集しているケース」に相当してしまいYoloが認識できないのが原因のようでした。結論として今回Yoloが使えないことが分かったので、もう自作しかないと思った私は、映像内の車の位置を記録するアプリケーションをカスタム製作することにしました。マスク出力までできるようになりました。セットの課題はもう1つあります。それはデータセットのバランスです。データセットのバランスとは、極端に似たデータばっかりセット内に存在するとか、逆にあまり存在しないデータがあるといった不均衡、不均一なデータであることで、そのままAIが学習するとAIモデルの性能評価に偏りが生じる可能性があります。今回の駐車場のデータセットでもいろいろとありましたが、まとめるとこんな感じです。以下簡単にご説明いたします。1.気象条件による明るさの変動これは、霧がかかった冬の日から、明るい夏の日までさまざまな状態があります。した季節や気象の変化で駐車場の映像の明るさも刻々と変化します。この変動はAIモデル学習に影響を与えます。2.影による画像の明るさの変化また、1日の時間帯の条件も難しい時があります。朝から夕方までの太陽の位置で周囲の明るさ自体が変わります。朝夕などで太陽の位置が傾いているときの映像データですと、出来る影が車の周囲に発生をして、これが邪魔をしてAIモデルが車を見分けにくくなることがあります。日なたと日かげのある条件3.明るい日差しの中で白い車たとえば、明るい朝の日差しの中に白い車があるような状況です。センサーが飽和状態になり、車の特徴が見分けにくくなります。明るいと白い車が飽和しがち4.暗い場所の黒い車これは前述の逆パターンで、薄暗くなった夕方になって駐車場へやってきた黒い車は、車とその周囲の明るさが似ていてAIが認識しにくい、という問題を引き起こします。夕方の黒い車5.樹木の問題これもよく問題になります。この駐車場データの右下にある車は、その前にある木々の枝が茂っており、部分的に遮られています。落葉樹ですと冬には葉がありませんが、夏には葉がもっと茂るので、認識率もさらに変わってくることになります。(右下)木の葉が多い茂っている6.データセットの大きな偏りこの重要度は前述しましたが、駐車場の映像でのデータセットの偏りとは、なんだかわかりますか?実は「駐車台数」です。実際に学習用に入手できた駐車場画像は0~3台ほどが停車しているものが大半で、Kaggleでは4台~というものがほとんどなかったのです。このまま学習をすすめると、学習に大きな偏りが生じる、という問題を発生させます。7.一部の車種の形状こちらも前述いたしましたが、車の形状が大きく違う場合、認識率が落ちることがあります。RVやセダンなどが多い国の映像を中心に学習していると、たまに停めに来る大型トラックなどを車と認識しない、ということが起きます。モデルのサイズとパフォーマンス、そして駐車場データセットの課題についてまとめてみました。皆様の開発の参考になると嬉しいです。次回は、これらの課題克服のポイントなどについてお伝えしようと思います。PACMAN技術愛好家でありプロフェッショナルです。人間の知性にとって時間のかかるタスクを自動化するのに役立ちます。介して、将来的にこの知識を組み合わせたいと考えています。PACMANエッジAIとは?ディー・クルーでは、エッジAI(IoT環境で動く人工知能)の研究を行っています。IoTデバイスでは通信負荷が高まるとデータ転送に遅延が生じるなど、問題が起き始めます。そこで、クラウド側に過度に依存せず、ローカル環境=エッジ側でセンシングー演算ーAI認識まで完結させて、レスポンス性能と通信負荷の低減を両立した環境にやさしいシステムを実現する。これをめざしてディークルーで現在研究しているのが、AI開発「エッジAI」です。アクセラレータを組込むという構想です。システムを作りたいと思っていまして、今研究を進めています。駐車場の空き監視AIを作ってみたきっかけ今日は、そのなかでも、映像認識のエッジAI研究プロジェクトの1つ「駐車場監視AI」をご紹介します。映像認識AIは例えば、今映像で映っているオブジェクト(対象物)が、人なら人、コップならコップといった具合に、「どこに、それがあるのか(ないのか)」を人工知能(AI)にリアルタイムに検出させる技術を用いて課題を解決する技術です。当社はIoTシステムの開発案件を多く手掛けており、駐車場に関したシステムも開発していました。駐車場に止める「車」はAIモデルが認識しやすいオブジェクト(対象物)であります。そこで、駐車場に設置したカメラから、駐車スペースの空きが分かる便利になると思い付き、AIによる駐車場空き監視システムを作ってみたので、少しご紹介したいと思います。今回のAIモデルの概要このプロジェクトのAIモデルについての概要を示します。入力イメージからのオブジェクト検出にFCNN(完全な畳み込みネットワーク)を用います。出力マスクを生成し、オブジェクトのおおよその位置を示します。AIモデルは、この出力マスクを使いオブジェクトの位置を特定、数えることができます。フレームワークを使用します。レートで実行されます。AIモデルの動作について作成したAIモデルの動作についてはYoutubeの動画にしましたので、ぜひご覧いただければと思います。次に、この映像で何が起きているかということをご説明します。AIモデルが、映像上で「車」と認識している位置に、白い四角を打っています。動画の上部(UPPER)駐車スペースと、下部(LOWER)駐車スペースの「Parked」(満)と「FREE」(空)数で、AIが認識した数を数えて、それぞれの値を変えています。AIが認識した駐車した車の数に合わせて、白い四角の数も変わり、これらの数字も刻々と変わっていくことがお分かりいただけるかと思います。映像がカクカクしているなとお感じかもしれません。これは、IoTならではの軽量システムでのパフォーマンスを維持するために、意図的にフレームレートを落としているからです。システム環境によっては、フレームレートを高め、AIモデルをそこに最適化することもできます。次回は、このAIモデル作成時の課題や工夫したポイントなどについてお伝えしようと思います。PACMAN技術愛好家でありプロフェッショナルです。人間の知性にとって時間のかかるタスクを自動化するのに役立ちます。介して、将来的にこの知識を組み合わせたいと考えています。