始めに...今回の記事は、完全に実験段階のものです。
下記のような妄想めいたビジョンに対して、どこまで具現化に肉薄できるか?についてのドキュメンタリーとしてお読みいただければ幸いです。
そんな夢のような話を少しでも現実的にすべく、特徴点抽出の技術と、差分抽出の技術にトライしています※。
※このトライアルは、R&Dセンターと株式会社コネクティボさんで共同してやっています。
もし
としたら
⇒人はすべての画像の比較を自分の目でする必要はなく、機械の目がマークしてくれた"変わっているらしい"部分のみを見て、自らの視覚情報処理の大半を肩代わりさせられないか?
以下のようなことは言えませんか?
例えば、いつも通勤で通る道すがら、突然新しいコンビニが出来ていて
「はて?ここは以前なんだったかな?」
例えば、ある映像が少しづつ変化していくのがバラエティのTVでクイズになっているのはなぜ?
(二枚の画像を並べればわかるのに、時系列で変化しても気づけない!)
【人間は、ゆっくりとした時系列変化に気づけない。記憶もあいまい】
【人間が変化に気づくのは大きな変化として認知できた場合だけ。細かな変化には気づけない】
「土木構造物の経年変化、設備、施設の故障、欠落に気付くことで予防的な保全や修繕計画への根拠としたい。」と言う時に、人の記憶だけを頼ることはできない(だから点検調書などで写真添付や映像記録のエビデンスを残す必要がある)...という仮説。理由は前述の通り。
ネットで画像比較、差分抽出を検索をすると、多くは、
ことを前提として差分画像(ドットの引き算)を得るものが見つかります。
WinMergeに簡易画像比較の機能が加わりましたし、ImageMagickのcompositeコマンドでも差分画像を得られます。
今、欲しいのは、屋外の巡視点検で人が見ているリアルな映像を使って、過去の同一地点との差分を見出すことです。
その特徴は
つまり、映っている対象の特徴を把握した上で、似通っている度合いを評価し、その結果によって二枚の画像をマッピングし、片方をもう片方に合わせた上で、差分を見つけなければなりません。
そのような手法として、OpenCVで実装されている特徴点抽出、マッチング、差分抽出の機能を使えないかどうか検証してみます。
OpenCV(インテルが開発しオープンに提供)に一礼をして
を実行してみます。
プログラムの細かな内容はともかく、まずは結果をご覧ください。
一枚の写真をPhotoshopで編集して、編集した部分をプログラムが探せるかどうかを確認しました。
(「抽出できて当たり前でしょ!」という声が聞こえてきそうです)
ここでは、実際に高速道路上を走行した際の車載映像から、実際に使いそうなシーンを抽出して、加工を加えました。
全く同じ画像を加工した場合は、RGBの差分において、かなり正確に変化点が分かります。
つまり、正確に撮影時の条件や画角を選択できれば、綺麗に差分を出せる可能性があると言えます。
(すでに良く行われている内容ですが)Office文書の差分をマークする※とか、図面の編集箇所をマークアップするようなことです。
Excelで書いたレイアウト図を若干変えてみました。
※ちなみにPCデータの編集履歴管理は、WinMergeというソフトウェアでできます。
テキストエディタで文字を変更した場合でもわかるのかを試してみました。(もちろん、テキストの変更管理はdiffなどでやるのが普通ですね)
テキストやExcelではあまり面白くありませんが、図面の変更点を表示するならアリかもしれません。
ただし、どこがどのように代わっているのかを説明する手段はなく、ただ絵的に代わっていると指摘するに留まります。
サイゼリヤのキッズメニューの"間違い探し"を大人の方法解決する!として、河本の実験室というblog記事 がありました。
ここに過去問がいっぱいあるので、ダウンロードして検証してみました。
引用元:サイゼリヤホーム > エンターテイメント > キッズメニュー間違い探し
画角や色合いが変化しただけで、全く検出できなくなります。
また、仮に変化が検出できたとしても、それ以上にノイズが多く、変化部分に気づくことが難しいです。
元々の目標である"撮影日の異なる映像で変化部分を自動抽出する"には程遠く、完全に惨敗です。
ロバスト性(回転や変形、拡大縮小)があるとされている特徴点抽出に期待が高かっただけに、少々残念な結果となりました。
"撮影日の異なる映像で変化部分を自動抽出する"チャレンジを成功させるために、映像の前加工が必要なのではないか?と考えています。
※1 領域を識別すること:
ディープラーニングのMask R-CNNというのがあり、領域の識別ができるようです。正確に領域識別ができれば、識別された領域ごとに比較をすることで、不要な対象を省くことが出来るかもしれません。
※2 理由の説明:特に"理由の説明"は、人が見るべきところを選択する際に必要不可欠な要件です。
▼この記事を書いたひと
R&Dセンター 松井 良行
R&Dセンター 室長。コンピュータと共に35年。そしてこれからも!
●富士見事務所 TEL : 052-228-8733 FAX : 052-323-3337
〒460-0014 愛知県名古屋市中区富士見町13−22 ファミール富士見711 地図
交通部 R&Dセンター