fc2ブログ

画像の異常検知にHLACを使う(1)

 10/30付の日経産業新聞にアダコテック社のDeep Learningを用いない画像の異常検知技術の紹介がありました。その後、日経新聞にも同じ内容が出ていました。

 誤検出なく異常検知を行うことができ、Deep Learningのように膨大な学習画像が必要なく、普通のPCでも計算ができるとの内容でした。「良いことばかりの技術」という印象で、本当にそんなことができるのか疑問に思う半面、昔、画像処理をやっていたこともあり、大変興味がありました。気になって仕方ないので、土日に自宅でプログラムを組んで自分なりに試行錯誤しているところです。

 現状は納得のできる結果が得られていませんが、おそらく何らかのノウハウがあるのでしょうね。まだ、いろいろと自分で試してみたいことがありますが、今までの理解を備忘録として残しておきたいと思います。

キーの技術は、アダコテック社のホームページに記載の通り、
 1. 産総研におられた大津展之先生の「高次局所自己相関:HLAC(Higher-order Local AutoCorrelation)」という手法で画像の特徴量を求める点
 2. 正常画像で得られた画像特徴量を主成分分析で次元圧縮し、正常状態を把握した上で、評価画像の特徴量が正常状態からどれほど離れているかを判断する点
の2段構えの技術と理解しました。後者は機械学習による異常検知に似た手法のように感じました。AnomalyDetecionFlow201124.pngHLACは古くからある技術で、各論文で引用されている元論文は1988年に出されています。画像処理をやっていた割には知らなかった技術でした。「もぐり」でしたね・・。改めてネット検索すると、各大学でHLACで画像の特徴量を求め、種々の研究がされている例が多く確認できました。ちなみに、HLACの発明者の大津先生は、OpenCVでお馴染みの「大津の二値化」の発明者です。よくお世話になっています・・。

さて、本題のHLACですが、多くの文献がありますが、ネット上で閲覧できる大津先生の「特許第4728444号」や論文等を参考にしました。

自己相関関数(特徴)とは、あるデータ(対象の画素)とそれ自身を一定の変位で変化させたデータがどれだけ整合しているかを示す特徴量で、3×3のマトリックスで2次(高次)までのパターンを考えると、グレー画像では以下の35個になります。二値画像では0と1なので25パターンになります。HLAC_MaskPattern201124.pngこの35パターンで画像全体の画素について積算して行き、最終的に35次元の特徴量(HLAC)を計算するプログラムをPythonで作成しました。ここまでは、画素同士の計算なので、ルールに従って問題なく進みました。問題はこの後で、実際にHLACを計算すると、正常画像でもHLACの値が結構ばらつくんですね。つまり、正常画像の特徴量がばらついて、テスト画像(異常画像)のHLACデータと区別がつかない状況に遭遇しました。何らかのノウハウがあり、何らかの処理がされているのではないかと考えました。何かが抜けているのでしょうね。

 次回は実際に画像を処理した結果について詳しくお話します。
スポンサーサイト



6連休を過ごす

 年2回(上期、下期)に土日を挟んで「5連休」を取得するルールが会社にあり、11/19(木)から休暇中で、明日(11/24)までです。今日が5日目なのですが、祝日なので実質は明日までの6連休です。

 当初はこの連休で、いま問題になっている「Go Toトラベル」で四国に旅行するつもりでした。しかし、コロナの増加傾向を受けて、ゆっくり楽しめないなと思い、先々週の早い段階でキャンセルしました。悪い意味で案の定、その後、コロナ患者が急増し、「Go Toトラベル」の見直しも検討されるようになりました。キャンセルして正解だったなと思いました。

 今年は何をやっても楽しめませんね。奥さんの日々の愚痴を聞きつつ、ガス抜きも必要だと思い、昨日(11/22)、敦賀に「海鮮丼」を食べに行くことにしました。
高速で1時間程度の道のりですが、敦賀の高速出口辺りで渋滞が・・。みんな考えていることは同じなんですね。目的地の「日本海さかな街」も駐車場が満車状態で中に入るのも待ち状態でした。

「うに・いくら・ねぎとろ」丼を美味しくいただきました。二千円也。kaisenndon.pngお腹一杯で市場の方に行きましたが、コロナ禍の中でも人が多く、長居するのは避けて短時間で買い物を済ませ、敦賀を後にしました。コロナ禍のためか市場の出店数も減っており、空きスペースもあり、かつ店の人も声を張り上げての売り込みは例年に比べなかったように思いました。

残り2日の休暇ですが、自宅と外出しても近場で過ごそうと思います。今年は自制するしかないですね。

AzureのComputer Visionを使う(1)

 以前のブログでAzureのCognitive Servicesの中の翻訳サービスであるTranslatorの話をしましたが、今回はComputer Visionの話です。
 Computer Visionは
  ① 画像説明(describe_image)
  ② 画像分析(analyze_image)
  ③ 画像タグ(tag_image)
  ④ 物体検出(detect_objects)
  ⑤ 文字認識(OCR:Optical Character Recognition)
 等ができます。

 まずはAzure側のセッティングです。流れはTranslatorの時と同じです。
 Azureの検索窓に「computer vision」を入力して検索します。Cognitive Servicesの中のMarketplaceの中の「Computer Vision」をクリックします。ComputerVisionSetup1_201101.pngComputer Visionの作成画面の「基本」が表示されます。
 リソースグループは今回、新規作成で「cognitive-services-computer-vision」としました。
 リソースグループ、リソースのリージョンは「東日本」としました。前回もお話しましたが、Azureのサービスの中には日本国内のリージョンでサポートしていないサービスもありますので、事前確認が必要です。Computer Visionは「東日本」でサポートしていましたので、そのまま進みました。
 名前は、リソースグループと異なる名前をつける必要があるので、「azure-computer-vision」としました。
 価格レベルはフリープランの「Free F0」を選択しました。毎分20回、月当たり5000回までのコールまでは無料を選択して、「次:タグ>」ボタンを押します。ComputerVisionSetup2_201101.png「タグ」画面が出ますが、そのまま「次:確認および作成>」に進みました。ComputerVisionSetup3_201101.png「確認および作成」画面で、検証が終わるまでしばらく待ちます。終了後、「作成」ボタンがアクティブになったら、ボタンを押しました。ComputerVisionSetup4_201101.pngデプロイが始まり、完了するまで待ちました。完了後、「リソースに移動」ボタンを押しました。ComputerVisionSetup5_201101.png「キーとエンドポイント」をクリックすると、Translatorの時と同様に2つのキーがありました。このうちの1つを次回コード実行する際に利用します。ComputerVisionSetup6_201101.png Azure側の設定が終わりましたので、次回はサンプルのQuick Startのコードを実行してみたいと思います。

ご訪問者数

(Since 24 July, 2016)

タグクラウド


プロフィール

Dr.BobT

Author: Dr.BobT
興味のおもむくままに生涯考え続けるエンジニアでありたい。

月別アーカイブ

メールフォーム

名前:
メール:
件名:
本文: