
前回記事
vol.44 【損傷個所を診るためのビューア"てんかく忍者QGISプラグイン"のプロトタイプを紹介します】
では、プラグインから出力されるアウトプット"Excel帳票、Excel報告書"を中心にご紹介しました。
これらの帳票が現場の求める「これやがな、これこれ」になっているかどうかが気掛かりですが、今回は、「これやがな」「もっと詳しく教えて」な仮想利用者がいる想定で、もう少し詳しくプラグインの機能についてご紹介していきます。
■前回までのまとめ
・損傷個所の一覧を翌日で提供可能
・現場の目視点検で利用するチェックリストを提供
■今回補足する内容
・・・とはいえ、
・根拠としている損傷スコアや損傷レベルが正しいかどうかを検証したい
・画像で確認したい
・地形的な特徴との関連を知りたい
・統計的に損傷情報を把握したい
・計画保全に必要な情報を整理したい
・現実のスナップショットとして損傷画像のデータベースが欲しい
「悪いところを確認し、修繕の手配をする」に加えて「そもそも全体的にどういう傾向にあるの?」とか「次にどこが傷みそうか」「過去にどのような修繕をどこにしてきたのか」など、「もう少し"エビデンスやデータから読み取れること"を元に、俯瞰で把握したいったニーズがあるのではないか?」という仮説で、QGISプラグインに様々な機能を実装しました。
「そこまではいらん」と言われてしまうと企画倒れなのですが、まずは「データから何が分かる(可能性がある)」のかを見ていきましょう。
てんかく忍者QGISプラグインは、QGIS LTS 3.40.8で動作します。
空間データベースとして*.gpkg、YOLO物体検出済み動画として_yolo.mp4を使用します。
弊社より提供する空間データベースgpkgとYOLO物体検出実行済の動画_yolo.mp4を読み込みます。
| gpkgの読み込み | mp4の読み込み |
![]() |
![]() |
| 初期画面 |
![]() |
読み込んだ空間情報をデータグリッドに展開します。
| データグリッド |
![]() |
| 並び替え・列入れ替え |
![]() |
任意列でのソートや列の移動に対応します。
編集可能列(comment、noteなど)へのコメント記入が可能です。
・QGISの機能によって撮影箇所がポイント表示されます
・任意列または複合列の演算結果をヒートマップ表示、ポイントの色、大きさ表現が可能です
・任意地図オブジェクトレイヤの重ね合わせやON/OFFが可能です
・拡大縮小、移動、レイヤの透過、背景地図の選択が可能です
| マップ |
![]() |
上記の例では、損傷スコアの値でヒートマップを描き、更に損傷レベルでポイントの色と大きさを変更しています。
またKPマスタを重ねて、ラベルを表示し、「今どこを見ているのか」を視覚的に確認できるようにしているのと、遊間の場所示す"|"印を追加しています。
| レイヤ |
![]() |
| カスタムポインタ |
![]() |
・グリッドや地図上で選択した地点の画像を表示します
・拡大縮小移動が可能です。
・属性情報が左上に、キロ程(KP)が右下にオーバーレイされます
・画像処理による鮮明化が自動実行され明瞭な写真を表示します
・一度閲覧した画像は元データと同じ場所のimages/にjpegとして保存されます
| グリッドで選択したレコードの画像を表示 |
![]() |
| 属性オーバーレイ(ビューア左上) |
![]() |
| KP表示(ビューア右下) |
![]() |
| 拡大表示 |
![]() |
ビューアで表示される静止画は、画像処理※が施されており、暗い画像やコントラストが低い画像が、明るく、明瞭に表示されるように調整されています。
※ガンマ補正、CLAHE、自動露出調整
| 元画像 |
![]() |
| 表示画像(ガンマ補正、CLAHE、自動露出補正) |
![]() |
・キロ程範囲や任意列の値指定による絞り込みが出来ます。
・絞り込みはドロップダウンとマウスクリックだけで簡単に実行できます。
・再検索は"ぱんくずボタン"でワンタッチで実行できます。
・任意列として下記の項目を予め利用可能です
gnss受信モード:RTK-FIX、RTK-FLOAT、DGPS-FIX、GPS-FIX
チェックフラグ:True/False
damage_level:ユーザ毎定義による
yolo_status:detected/silent
dominant_class:YOLOモデル定義による
グリッドに新たなユーザ列を追加します。
※追加列の名称は予め設定しておく必要があります。(comment,note、annotationなど)
グリッドに追加した列は元のgpkgやExcel帳票に追加されます
| 列の追加 |
![]() |
| 書き出しメニュー |
![]() |
グリッドでの編集内容を明示的に元のgpkgに保存する場合に利用します。
グリッドに表示されているレコードと関連する画像を一括で出力します。件数に拠りますが、膨大な時間(10000件で2-3時間)が掛かります。
※画像一覧出力中は他の操作を行えません。夜間など操作しない時間帯での処理をお勧めします
YOLO損傷検出のクラス毎の検出数をKPで集計してグラフ化します。
1Km毎に1枚のpng画像が出力されます。
他のデータマイニングツール等で利用できるcsvデータ"yolo_detections_export.csv"を出力します
→frame_number,kp,class,conf,bbox_x1,bbox_y1,bbox_x2,bbox_y2,bbox_area
YOLO検出結果から損傷スコア、損傷レベルを演算し、グリッド列、元データに結果を書き込みます。
上記演算結果をaggregated_damage_score.csvとして書き出します
→frame_number,damage_score,kp,damage_level
YOLO損傷検出の共起グラフを生成します
上記演算結果を説明したclass_cooccuraence_matrix_note.txtを生成します。
損傷レベルをKP1Km毎、全体でグラフ化した損傷スコアグラフ(png形式)を生成します。
KPマスタを参照して、撮影地点の緯度経度から最近接のKPに割り当てる機能です。
データグリッドへの反映と同時に、レイヤへの書き込みを実行します。
| Tenkaku操作座敷→補足属性 |
![]() |
| KP列の追加 |
![]() |
| 操作 | 実行内容 | 所要時間 | 経過時間 |
| QGIS起動 | QGIS+プラグイン起動 | 33秒 | 33秒 |
| mp4,gpkg選択 | NASからファイルを選択 | 2.5秒 | 35.5秒 |
| 一覧表示 | データ選択後の初期表示 | 10秒 | 45.5秒 |
| 絞り込み・並び替え | フィルタ適用、KP昇順並び替え | 8秒 | 53.5秒 |
| エクセル出力 | 17,000件のExcel出力→NAS | 53秒 | 106.5秒 |
| 画像一括出力 | 17,000件の画像出力→NAS | 10,615秒 | 10,721.5秒 |
| ヒートマップ出力 | 総延長17Km分のヒートマップ出力 | 131秒 | 10,852.5秒 |
| 分析・まとめ | 総延長17Km分の分析・グラフ出力 | 280秒 | 11,132.5秒 |
| 報告書出力 | 報告書Excelの出力→NAS | 168秒 | 11,300.5秒 |
▼この記事を書いたひと

R&Dセンター 松井 良行
R&Dセンター 技術戦略担当部長。コンピュータと共に35年。そしてこれからも!
●富士見事務所 TEL : 052-228-8744(交通部営業課) FAX : 052-323-3337(交通部共通)
〒460-0014 愛知県名古屋市中区富士見町13−22 ファミール富士見711 地図
PoCのお問い合わせ:交通部営業課
技術的なお問い合わせ:R&Dセンター


