公園の遊具を毎月点検するときに撮った写真から、錆・破損・ボルトの緩みの兆し・地面のえぐれの候補を見分けて、点検表の下書きと修繕の優先度を出す
公園の遊具の日常点検で撮った写真を、遊具ごとに前回の写真と比べ、錆・破損・ボルトの緩みの兆し・地面のえぐれの候補を見分けます。現地での触診・聴診の結果と合わせて、点検表の下書きと修繕の優先度の案を作ります。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Make/Power Automate
- 対象業界
- 建設/自治体
- 対象部門
- 総務
- 対象業務
- 内容確認・チェック/記録・議事録作成
- 主な課題
- 人手が足りない/判断に時間がかかる/書類作成に時間がかかる
- AIで行う処理
- 画像認識
- 主な効果
- 判断支援/品質標準化/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 巡回の担当が、遊具ごとに決めた角度で写真を撮り、触診・聴診の結果を紙の点検カードに書く
- 異常があれば、その場で使用を止め、事務所に電話する
- 事務所に戻り、写真を遊具ごとのフォルダに分けて保存する
- 職員が遊具ごとに写真を開き、先月の写真を別の窓で開いて見比べる
- 着眼点ごとに、点検表に「異常なし」「さびあり(軽微)」などと書く
- 点検カードの触診・聴診の結果を点検表に書き写す
- 修繕が要りそうな遊具に印を付け、月末に係長と優先度を決める
- 人巡回の担当が、遊具ごとに決めた角度で写真を撮り、遊具の番号のフォルダに保存する
- 人触診・聴診の結果と、使用を止めたかどうかを、タブレットの点検の入力表に入れる
- 人異常があれば、その場で使用を止め、事務所に電話する(これまでどおり)
- 自動夜に、その日に保存された写真を遊具ごとに集め、前回の同じ角度の写真を引く
- 自動Gemini API が、着眼点ごとの異常の候補と、前回からの変化を返す
- 自動スクリプトが、AIの答えと触診・聴診の結果から、点検表の下書きと優先度の案を作る
- 人職員が、優先度の案が「高」「中」の遊具の写真を見て、下書きを直して確定する
- 人「低」と「変化なし」の遊具は、一覧で流し見て確定する
- 人月末に、確定した点検表から修繕の順番を係長と決める
各工程の詳しい説明を読む
- 巡回の担当が、遊具ごとに決めた角度で写真を撮り、触診・聴診の結果を紙の点検カードに書く
- 異常があれば、その場で使用を止め、事務所に電話する
- 事務所に戻り、写真を遊具ごとのフォルダに分けて保存する
- 職員が遊具ごとに写真を開き、先月の写真を別の窓で開いて見比べる
- 着眼点ごとに、点検表に「異常なし」「さびあり(軽微)」などと書く
- 点検カードの触診・聴診の結果を点検表に書き写す
- 修繕が要りそうな遊具に印を付け、月末に係長と優先度を決める
(a)見比べに時間がかかる。 先月の写真を探し、同じ角度の写真を並べるだけで手間です。900基のうち大半は「変わらない」のに、変わらないことを確かめるために全部開いています。
(b)書き方が人によって違う。 同じ錆を「軽微」と書く職員と「進行」と書く職員がいます。点検表を並べても、どの遊具が先に悪くなっているかが読み取れません。 指針も、目視・触診・聴診が主体となるため点検を行う者の経験則に頼るところが大きく、診断結果に個人差が出ることが予想されるとしています。
(c)地面とボルトは見落としやすい。 遊具本体の錆には目が行きますが、ぶらんこの下の地面のえぐれや、ボルトの頭の周りの錆汁は、写真の端に小さく写っているだけです。
(d)月末に優先度を決める時間が取れない。 印を付けた遊具の写真を係長と見直すと、1回で半日かかります。決まらないまま翌月の点検が始まることがあります。
- 【人】 巡回の担当が、遊具ごとに決めた角度で写真を撮り、遊具の番号のフォルダに保存する
- 【人】 触診・聴診の結果と、使用を止めたかどうかを、タブレットの点検の入力表に入れる
- 【人】 異常があれば、その場で使用を止め、事務所に電話する(これまでどおり)
- 【自動】 夜に、その日に保存された写真を遊具ごとに集め、前回の同じ角度の写真を引く
- 【自動】 Gemini API が、着眼点ごとの異常の候補と、前回からの変化を返す
- 【自動】 スクリプトが、AIの答えと触診・聴診の結果から、点検表の下書きと優先度の案を作る
- 【人】 職員が、優先度の案が「高」「中」の遊具の写真を見て、下書きを直して確定する
- 【人】 「低」と「変化なし」の遊具は、一覧で流し見て確定する
- 【人】 月末に、確定した点検表から修繕の順番を係長と決める
7番目が、この設計の分かれ目です。 職員が写真を開くのは、優先度の案が「高」「中」の遊具だけです。変化の無い遊具は一覧で確かめます。全部の写真を開く設計にすると、①の2分はほとんど減りません。
3番目を「これまでどおり」と書いているのは、AIが現地の判断より後に動くからです。 夜の処理で「高」と出ても、それは使用を止める合図ではありません。 止めるべきものは、その場で止まっている必要があります。
02今回想定するシステム構成
巡回の担当(タブレット) │ 遊具ごとに決めた角度で撮影、遊具の番号のフォルダへ保存 │ 触診・聴診の結果と使用中止の有無を入力表へ ▼【トリガー】毎晩の時間主導型トリガー Google Apps Script ├── 遊具の台帳 ── 遊具の種類/撮る角度/着眼点 ├── 前回の写真 ── 同じ遊具・同じ角度 ▼ Gemini API ── 着眼点ごとの異常の候補(rust/damage/loose_sign/ground) │ 前回からの変化(new/worse/same/better) ▼ Google Apps Script ── 触診・聴診の結果と合わせ、規則で優先度の案 ▼ 点検表の下書き(スプレッドシート) ▼ 【職員が「高」「中」の写真を見て確定】 └──▶ 確定した点検表 → 修繕の順番の検討
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Gemini API(着眼点ごとの異常の候補と、前回からの変化) | Claude API、OpenAI API |
| 連携 | Google Apps Script(写真の収集、呼び出し、優先度の規則、下書きの作成) | Make、Power Automate |
| 連携 | Google スプレッドシート(遊具の台帳、点検の入力表、点検表) | Microsoft Lists |
| 保管 | Google ドライブ(遊具の番号ごとの写真のフォルダ) | Microsoft OneDrive |
| 撮影 | 巡回の担当のタブレット | スマートフォン |
遊具の台帳に、撮る角度と着眼点を持たせるのが最初の準備です。 ぶらんこなら「正面」「横」「吊り金具の上部」「座板の下の地面」、すべり台なら「階段」「踊り場」「滑走面の終わり」「着地面」のように、遊具の種類ごとに3〜5の角度を決めます。
写真を見る土台は、Gemini API の画像理解です。 対応する形式は PNG、JPEG、WEBP、HEIC、HEIF で、1回のリクエストに複数の画像を入れられます。 画像を直接入れる場合は、指示などと合わせたリクエスト全体が20MBまでです。異常の候補の位置は box_2d として [ymin, xmin, ymax, xmax] の形で、0から1000に正規化した座標で返せます。
呼び出しは、Interactions の書き方で行います。 公式のページの例は POST https://generativelanguage.googleapis.com/v1beta/interactions を使い、構造化出力は response_format に mime_type: "application/json" とスキーマを入れて指定します。
Apps Script には実行の上限があります。 1回の実行は6分まで、トリガーで動く処理の合計は Google Workspace のアカウントで1日6時間、一般のアカウントで1日90分です。外部への呼び出し(URL Fetch)は Google Workspace のアカウントで1日100,000回です。1日の巡回で撮る遊具は40〜50基なので、これらには十分に収まります。
03どうやって実装するのか
処理の起点を決める
毎晩、その日に保存された写真をまとめて処理します。 時間主導型トリガーを夜に動かし、その日に新しく写真が入った遊具のフォルダを拾います。巡回の担当が夕方に事務所へ戻ってから保存しても、翌朝には点検表の下書きができています。
写真を保存したその場で処理する形にはしません。 理由は2つあります。1つは、AIの答えが現地の判断を急がせる形にしたくないこと。使用を止めるかは現地で決めます。もう1つは、1基の写真が3〜5枚そろってから比べたいことです。途中の枚数で処理すると、地面の写真が無いまま「地面は見えない」と出ます。
1回の実行は6分までです。 1日に40〜50基、1基に1回の呼び出しなら、1基ずつ処理して、時間が足りなければ残りを次の起動に回します。 処理を終えた遊具は、入力表に「処理済み」の印を付けます。印の無い遊具の数が、そのまま未処理の数になります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 今回の写真 | 遊具ごとに決めた角度の3〜5枚。撮影の日時 | 遊具の番号のフォルダ |
| 前回の写真 | 同じ遊具・同じ角度の、前回の点検の写真 | 同じフォルダの前回分 |
| 遊具の台帳 | 遊具の番号、種類、設置年、材質(鋼製・木製・樹脂)、撮る角度、着眼点 | 遊具の台帳 |
| 現地の点検の結果 | ぐらつき、きしみ・異音、動きの異常、使用中止の有無、担当者のメモ | 点検の入力表 |
| 前回の点検表 | 前回の着眼点ごとの記載と、修繕の予定 | 点検表 |
質を決めるのは、撮る角度の決まりです。 「ぶらんこの吊り金具の上部を、支柱の横から見上げて撮る」のように、台帳に角度を文で書き、見本の写真を1枚付けます。 角度がそろわないと、前回との比較が成り立ちません。
材質を台帳に持たせるのは、着眼点が変わるためです。 鋼製なら錆と塗装の剥がれ、木製なら腐朽とささくれ、樹脂なら割れと色あせが中心になります。材質に合わせて、AIに渡す着眼点の一覧を切り替えます。
現地の点検の結果は、写真と必ず組にします。 触診でぐらつきがあった遊具は、写真に何も写っていなくても優先度が上がります。 写真だけで優先度を決めると、いちばん危ない「見た目は普通だが揺れる」遊具が低く出ます。
データの取得方法を決める
Apps Script が、次の順に集めます。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| その日に写真が入った遊具 | ドライブのフォルダの更新日時 | 処理する遊具の選択 |
| 今回と前回の写真 | 遊具の番号のフォルダ | 比べる2組 |
| 遊具の種類・材質・角度・着眼点 | 遊具の台帳 | 指示の切り替え |
| 現地の点検の結果 | 点検の入力表 | 優先度の規則 |
| 前回の点検表の記載 | 点検表 | 下書きの比較 |
写真のファイル名に、遊具の番号と角度の記号を入れる決まりにします。 例えば P0123-03_A2_20261008.jpg なら、公園123の3番目の遊具の、角度A2です。タブレットのカメラで撮ったあとに名前を付け直すのは手間なので、角度ごとに保存先のフォルダを分ける形でもかまいません。 どちらかに決めて、全班でそろえます。
前回の写真は、同じ角度の記号で引きます。 前回の写真が無い遊具(新設、角度の追加)は、比較なしで今回の状態だけを答えさせ、no_baseline の印を付けます。
AIへ渡す前に整形する
- 枚数の確認 … 台帳の角度の数と、写真の枚数が合うかを見ます。足りなければ「撮り漏れ」として記録します
- 写りの確認 … 暗すぎる写真、ぼけた写真、逆光で白く飛んだ写真は、比べずに「撮り直し」とします
- 向きのそろえ … タブレットの縦横の向きの情報で、写真の向きを正しくします
- 大きさのそろえ … 長い辺を決めた大きさにそろえます。ボルトの頭が見分けられる大きさを、最初に試して決めます
- 人が写っている写真の扱い … 子どもや利用者が写っている写真は、撮らない決まりにしたうえで、写り込んだものは比べずに撮り直しにします
- 着眼点の切り替え … 遊具の種類と材質から、渡す着眼点の一覧を選びます
5番目は、この題材で特に大事です。 公園の遊具には子どもがいます。巡回の担当には、利用者がいるときは撮らずに待つか、その遊具を後回しにするよう決めます。 写り込んだ写真は、AIに送らずに撮り直します。
4番目の大きさは、費用にも効きます。 Gemini API は、縦横とも384ピクセル以下の画像を258トークンで数え、それより大きい画像は768×768の区画に分けて区画ごとに258トークンで数えます。大きすぎる写真は費用を増やすだけで、ボルトの頭が見分けられれば足ります。
AIに処理させる
させるのは、角度ごとに今回と前回の写真を比べ、着眼点ごとに異常の候補があるかと、前回からの変化を答えることだけです。 着眼点は、国土交通省の指針の日常点検の着眼点の例から、写真で見えるものを選んでいます。
| 着眼点 | 見るもの | 判断できないときの扱い |
|---|---|---|
rust 錆・腐食 | 鋼材の錆、塗装の剥がれ、木材の腐朽の色 | 影や汚れと区別がつかなければ uncertain |
damage 破損・欠損 | ひび、割れ、部材の欠け、手すり子・踏み板の消失 | 部材が写っていなければ not_visible |
loose_sign 緩みの兆し | ボルト・ナットの脱落、頭の浮き、座金のずれ、ボルトの周りの錆汁 | 締め具が小さく写っていれば uncertain |
ground 地面 | 着地面・ぶらんこの下のえぐれ、基礎の露出、水たまり、ガラス片などの危険物 | 地面が写っていなければ not_visible |
loose_sign は「緩んでいる」とは答えさせません。 ボルトが緩んでいるかは、写真では分かりません。分かるのは、緩みに伴って現れやすい見た目(ナットが無い、ずれた跡、錆汁)だけです。 名前に「兆し」と付けているのはそのためで、確かめるのは現地の触診です。
前回からの変化は4つで答えさせます。
| 変化 | 意味 |
|---|---|
new | 前回は無かった候補が今回ある |
worse | 前回もあり、範囲や程度が広がって見える |
same | 前回と変わって見えない |
better | 前回あったものが見えない(補修・塗り直しなど) |
| させないこと | 理由 |
|---|---|
| 使用を止めるかの判断 | 現地で巡回の担当が決める |
| 優先度そのものの決定 | 規則で決め、職員が確かめる |
| ぐらつき・異音の推定 | 写真では分からない。現地の結果を使う |
| 遊具の耐用年数や更新時期の判断 | 専門技術者の定期点検・精密点検の仕事 |
| 人についての記述 | 写り込んだ人について何も書かせない |
指示内容を固定する
あなたは公園の遊具の日常点検で、撮影した写真を見る担当の補助です。
同じ遊具を同じ角度から撮った写真を2枚ずつ渡します。
1枚目は前回の点検、2枚目は今回の点検の写真です。
【この遊具の情報】
遊具の種類:{equipment_type} 材質:{material}
角度ごとに見る部分:{angles}
【着眼点】
- rust ........ 錆、塗装の剥がれ、木材の腐朽の色
- damage ...... ひび、割れ、部材の欠け、手すり子・踏み板などの消失
- loose_sign .. ボルト・ナットの脱落、頭の浮き、座金のずれ、ボルトの周りの錆汁
- ground ...... 着地面やぶらんこの下のえぐれ、基礎の露出、危険物
【finding の選び方】(2枚目について)
- none ........ その着眼点の異常の候補が見当たらない
- found ....... 異常の候補がある
- uncertain ... 影・汚れ・小ささで、候補かどうか決められない
- not_visible . その部分が写っていない
迷ったときに none を選ばないでください。
【change の選び方】(1枚目と比べて)
new / worse / same / better のどれか。1枚目が無いときは no_baseline。
【厳守事項】
- loose_sign は見た目の兆しだけを答えてください。ボルトが緩んでいると書かないでください。
- 使用を止めるべきか、修繕すべきか、危険かどうかを書かないでください。
- ぐらつき、きしみ、音について推測しないでください。
- 写真に人が写っていても、人について何も書かないでください。
- found と uncertain のときは、2枚目の中の位置を box_2d で返してください。
- note には、判断の手がかりにした見た目を短く書いてください
(例:「支柱の根元の塗装が前回より上まで剥がれている」)。
「ボルトが緩んでいると書かない」を明記しないと、AIは書きます。 ナットの周りに錆汁があれば、それらしい説明として「緩みが疑われる」から「緩んでいる」へ言い切りがちです。点検表に「緩み」と残ると、触診で確かめていないのに確かめたように読めます。
「危険かどうかを書かない」も同じ理由です。 AIの文に「危険」とあると、職員はその言葉に引っ張られます。危険の判断は、現地の結果と規則と人で行います。
出力形式を固定する
構造化出力で、遊具ごとに次の形のJSONを受け取ります。
{
"equipment_id": "P0123-03",
"angles": [
{
"angle_id": "A2",
"checks": [
{ "item": "rust | damage | loose_sign | ground",
"finding": "none | found | uncertain | not_visible",
"change": "new | worse | same | better | no_baseline",
"box_2d": [0, 0, 0, 0],
"note": "" }
]
}
]
}
finding と change を enum にして、決めた値以外を返させません。 Gemini API の構造化出力では、enum と required が使えます。ただし、JSONとして正しくても値が正しいとは限らないため、アプリケーションの側で値を確かめるよう案内されています。 Apps Script で、角度の数が台帳と合うか、none なのに change が worse になっていないかを確かめ、合わないものは uncertain として扱います。
優先度の案は、Apps Script が規則で決めます。
| 優先度の案 | 条件 |
|---|---|
| 高 | 現地でぐらつき・異音・使用中止あり、または damage か ground(基礎の露出・危険物)が found で new か worse |
| 中 | rust か loose_sign が found で new か worse、または ground(えぐれ)が found |
| 低 | found があるが、すべて same |
| 変化なし | すべて none、または better |
| 確認が要る | uncertain か not_visible が2つ以上、または撮り漏れ・撮り直し |
1行目の最初の条件が、写真より現地の結果を上に置く仕組みです。 現地でぐらつきがあれば、写真が何であれ「高」です。
「確認が要る」を「低」より上の扱いにしているのは、見えなかったものを良いほうに倒さないためです。 地面が写っていない遊具を「変化なし」に混ぜると、えぐれが進んでいても誰も気づかないまま翌月になります。 見えなかった着眼点は、撮り直すか、次の巡回で寄って撮る角度を足します。規則の閾値は係で決め、変えたら点検表の欄外に規則の版を残します。
点検表の下書きは、着眼点ごとの文にします。
【P0123-03 ぶらんこ(鋼製・設置1998年)】優先度の案:中
錆・腐食 :あり(前回より広がる)支柱A2の根元の塗装の剥がれが上へ広がる
破損・欠損:なし
緩みの兆し:あり(新たに)吊り金具B1のナットの周りに錆汁
地面 :なし
現地の点検:ぐらつきなし/異音なし/使用中止なし システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Google ドライブ | Apps Script のドライブのサービス | 写真の収集 |
| 遊具の台帳・点検の入力表 | スプレッドシートの読み取り | 角度・着眼点・現地の結果 |
| Gemini API | Apps Script からの HTTP 呼び出し | 着眼点ごとの候補と変化 |
| 点検表 | スプレッドシートへの書き込み | 下書きと優先度の案(確定の列は空のまま) |
点検表には「下書き」と「確定」の列を分けます。 Apps Script が書くのは下書きの列だけで、確定の列は職員だけが書きます。 修繕の検討に使うのは確定の列です。
遊具の台帳は読み取りだけです。 写真から遊具の種類が違うように見えても、台帳は書き換えません。台帳を直すのは、現地で確かめた職員です。
人が確認する
すべての遊具で、職員の確定を通します。 ただし、写真を開く遊具は優先度の案で絞ります。
- 「高」を最初に見る … 写真と
noteを見て、現地で使用を止めたかを入力表で確かめます。止めていないのに「高」なら、巡回の班に電話して現地を見直してもらいます - 「中」を見る … 下書きを直して確定し、修繕の候補に入れます
- 「確認が要る」を片付ける … 撮り漏れ・撮り直しを、翌月の巡回の前に班へ伝えます
- 「低」「変化なし」は一覧で確定する … 下書きを流し見て、まとめて確定します
目標は、900基をならして1基2分です。 「変化なし」と「低」は一覧で数十秒、「高」と「中」は写真を開いて数分かかります。「高」「中」が2割前後という想定でならすと2分です。
最初の2か月は、これまでの見比べと並べて動かします。 職員が見つけた異常に、AIが候補を出していたかを1件ずつ照らします。出していなかった異常は、撮る角度か着眼点の書き方を直す材料です。
例外に対処する
| 起きること | 対応 |
|---|---|
| 写真の枚数が台帳の角度より少ない | 「撮り漏れ」として記録し、翌月の巡回で撮り直す |
| 写真が暗い・ぼけている・逆光 | 比べずに「撮り直し」。同じ班で続けば撮り方を伝える |
| 利用者が写り込んでいる | AIに送らず「撮り直し」 |
| 前回の写真が無い | 比較なしで今回の状態だけを答えさせ、no_baseline |
| 撮る角度が前回と大きく違う | change が決められないため「確認が要る」 |
| 修繕・更新で遊具が変わった | 台帳を更新するまで、その遊具は no_baseline |
| Gemini API が応答しない | その遊具は翌晩に回す。月末までに残れば職員が従来どおり見る |
| 1回の実行時間が足りない | 残りの遊具を次の起動に回す |
「月末までに残れば職員が従来どおり見る」を決めておきます。 機械が処理できなかった遊具が、点検表から抜けたまま月を越すことがいちばん困ります。
記録を残す
- 遊具ごとの今回の写真と、比べた前回の写真の名前
- 着眼点ごとのAIの答え(
finding、change、box_2d、note) - 現地の点検の結果と、使用中止の有無
- 優先度の案と、職員が確定した優先度、直した内容
- 撮り漏れ・撮り直しの記録
- 修繕の実施日と、その後の点検での
betterの確認
写真は、点検の記録として決めた期間残します。 指針では、点検記録書は安全点検を行った時点の状況と点検の結果を記録し保管するものとされています。写真とAIの答えと職員の確定を組にして残せば、後から「いつから錆が進んでいたか」を遡れます。
職員が直した内容は、着眼点の書き方を直す材料になります。 「木製の遊具の rust を職員が毎回消している」なら、材質ごとの着眼点の一覧を見直します。
04実装レベルの3段階
最小構成では900基をさばけません。 1組ずつ貼るので、確かめるための段階です。 半自動化で、1基5分が3分程度になります。 見比べは一覧で済むようになりますが、点検表への書き写しと、現地の結果との突き合わせが手で残ります。 本格構成で2分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化の一覧を2か月見ると、撮り漏れの多い班と、角度が毎回ずれる遊具が分かります。そこを直してから優先度の案を出すほうが、職員が案を信用します。
05工数削減シミュレーション
導入後 900件 × 2分 ÷ 60 = 30 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 管理する公園が多く、遊具の日常点検を職員か委託の巡回の担当が毎月行い、撮ってきた写真を事務所で見ながら点検表を書いている自治体の公園の担当課。点検表の書き方や修繕の優先度の付け方が担当者によって違い、前回からの変化を追えていない場合。公園の指定管理者や、公園の維持管理を請け負う造園・建設の会社にも当てはまります。
- 管理する遊具が数十基で、担当者1人が全部の状態を覚えていられる場合。点検をすべて専門の業者に委託し、点検表も業者が作って納めている場合。なお、遊具の使用を止めるかどうかの判断、触診・聴診・打診による点検、専門技術者による定期点検・精密点検は、この構成では代替できません。
07最小構成で試す方法
- 錆や破損があると分かっている遊具を10基、変化の無い遊具を10基選ぶ
- それぞれ、前回の点検の写真と今回の写真を同じ角度で1組ずつ用意する
- 手元の Gemini の画面に、1組の2枚を貼り付ける
- 「1枚目が前回、2枚目が今回の遊具の写真です。錆、破損・欠損、ボルトやナットの脱落・錆汁、地面のえぐれについて、2枚目にあるものと、前回から変わったものを答えてください。分からないものは分からないと答えてください。危険かどうかは書かないでください」と指示する
- 答えを、職員がこれまでに書いた点検表と突き合わせる
写真に人が写っていないものを選んでください。 試すときから、子どもが写った写真を送らない決まりを守ります。
| 出てきた内容 | 判断 |
|---|---|
| 点検表と同じ異常を挙げ、変化も合っている | 台帳の角度と着眼点の整備に進む |
| 異常は挙げるが、変化がずれる | 撮る角度がそろっていない。撮り方の決まりが先 |
| 小さなボルトの異常を拾わない | 写真の大きさか、角度の決め方を見直す |
2行目が出ることが多いはずです。 これまでの写真は、点検のたびに撮る人の判断で角度が変わっています。比べられる写真を撮る決まりを作ることが、この構成の最初の成果です。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 前回と角度が違い、変化が決まらない | 台帳に角度を文と見本の写真で書く。撮り方の決まりが先 |
| 写真だけで優先度を決めてしまう | 現地の触診・聴診の結果を、写真より上の条件に置く |
| AIが「緩んでいる」「危険」と書く | 指示で禁じ、loose_sign を見た目の兆しに限る |
| 子どもが写った写真を送ってしまう | 撮らない決まりと、写り込んだ写真を送らない処理の両方 |
| 小さなボルトの異常を拾わない | 締め具の角度を寄って撮る角度として足す |
| 影や落ち葉を錆や破損と見る | uncertain に倒させ、見誤りは職員が確定のときに消す |
| 木製の遊具で錆の誤報が出る | 材質ごとに着眼点を切り替える |
| 夜の処理が終わらない | 1基ずつ処理し、残りを次の起動に回す |
| 処理できなかった遊具が抜ける | 月末に未処理の遊具を職員が従来どおり見る |
| 使用中止の判断がAIの後になる | 使用中止は現地で決め、夜の処理を待たない |
| 下書きがそのまま確定になる | 下書きと確定の列を分け、確定は職員だけが書く |
上の2行が、この構成の失敗のほとんどです。 角度がそろわなければ比較が成り立たず、写真だけで優先度を決めれば、見た目は普通でも揺れる遊具を見落とします。
下の行の「使用中止の判断」も、運用の最初に念を押してください。 夜に点検表の下書きが出るようになると、「AIが見るから」と現地での判断が緩むおそれがあります。現地で止める決まりは何も変わりません。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 公園と遊具の写真、遊具の台帳、点検の結果、巡回の担当者の名前です。写真には、公園の利用者、とくに子どもが写り込むおそれがあります。
- 子どもを写さない、写った写真を送らない … 利用者がいるときは撮らない決まりを巡回の仕様に入れ、写り込んだ写真はAIに送らずに撮り直します。AIへの指示でも、人について何も書かせません
- 規約の年齢の条件を確かめる … Gemini API の規約は18歳以上の利用を条件とし、18歳未満が利用する、または利用しうるサービスでの利用を禁じています。 この構成を使うのは職員と巡回の担当だけで、住民に公開する仕組みではありません。住民向けの通報の窓口などに広げる場合は、改めて規約を確かめてください
- 有料の枠で使う … 無料の枠では送った内容が製品の改善に使われ、人が読むことがあるとされ、機密や個人の情報を送らないよう求めています。 有料の枠では製品の改善に使わず、禁止事項の違反を見つけるために限った期間だけ記録するとされています
- 使用中止の判断をAIに寄せない … 指針では、変形や異常を見つけたら直ちに遊具の一部または全体の使用中止の措置を講じるとされています。その判断は現地で行い、AIの答えを待ちません
- 定期点検・精密点検を省かない … 指針では、定期点検は年1回以上とされ、通常外観から確認できない部材をテストハンマーの打診などで確かめるとされています。この構成は日常点検の写真の整理で、定期点検・精密点検の代わりにはなりません
- 点検表の確定を職員が行う … 事故が起きたとき、点検表は管理の記録として問われます。AIの下書きのまま確定させないでください
誤りが起きた場合のリスクは、危険な遊具を「変化なし」として後回しにすることと、誤報で修繕の順番が乱れることの2つです。 前者は写真だけで優先度を決めると起き、後者は uncertain を職員が見ずに確定すると起きます。現地の結果を写真より上に置き、確定を人が行うことで守ります。
10まず何から始めるか
1週目:遊具の種類ごとに撮る角度を決める
ぶらんこ、すべり台、複合遊具など、数の多い種類から順に、3〜5の角度と見本の写真を決めます。国土交通省の指針の日常点検の着眼点の例を見ながら、写真で見えるものと、触って確かめるものを分けます。
2週目:20基で試す
前回と今回の写真がそろう遊具20基で、手元の Gemini の画面で比べさせます。職員の点検表と突き合わせ、変化の答えが合うかを最優先で見ます。
3週目:巡回の班と1公園を回る
決めた角度で実際に撮ってもらい、ファイル名かフォルダの決まりを試します。 子どもがいるときの待ち方もここで決めます。
4週目:毎晩の処理と一覧をつなぐ
Apps Script で写真の収集と呼び出しをつなぎ、着眼点ごとの答えを一覧に書き出すところまで作ります。 優先度の案はまだ出さず、職員の見比べと並べて答え合わせをします。
2か月目: 現地の結果と合わせた優先度の案と、点検表の下書きを足します。3か月目以降: 1基5分が何分になったかを実測し、職員が直した内容から着眼点の書き方を見直します。撮り漏れが減り、職員が「高」「中」の写真だけを開けば点検表が確定できるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 指針が平成26年6月の改訂第2版であること。日常点検が公園管理者が主として目視・触診・聴診などで日常業務の中で行う点検であること。日常点検の着眼点の例(ゆがみ・たわみ、金具・締め具の変形やゆるみ、ひび・破損・さび・腐食・腐朽・塗料の剥離、部材の欠損・消失、地面の凹凸・危険物の散乱・不適切な基礎部分の露出など)。変形や異常を発見したら直ちに使用中止の措置を講じること。目視・触診・聴診が主体のため診断結果に個人差が出ることが予想され、点検記録書の作成が有効とされること。定期点検が年1回以上で、テストハンマーの打診などで外観から確認できない部材を確かめること。精密点検が専門技術者による詳細な点検であること。点検記録書が点検時の状況と結果を記録し保管するものであること | 国土交通省: 都市公園における遊具の安全確保に関する指針(改訂第2版) | 2026-10-08 |
| 都市公園等の遊具のうち設置から20年以上経過したものが49.7%を占めたこと。日常点検の実施が平均で月2.9回、定期点検が平均で年1.5回であったこと(令和4年6月24日公表の調査結果) | 国土交通省: 都市公園等における遊具等の設置状況の調査結果について | 2026-10-08 |
対応する画像の形式が PNG、JPEG、WEBP、HEIC、HEIF であること。画像を直接入れる場合、指示などと合わせたリクエスト全体が20MBまでであること。1回のリクエストに複数の画像を入れられること。物体の位置を box_2d として [ymin, xmin, ymax, xmax] の0〜1000の座標で返すこと。縦横とも384ピクセル以下の画像が258トークン、それより大きい画像は768×768の区画ごとに258トークンであること。例が /v1beta/interactions を使っていること | Gemini API: Image understanding | 2026-10-08 |
構造化出力を /v1beta/interactions の response_format に mime_type: "application/json" とスキーマを入れて指定すること。enum と required が使えること。JSONとして正しくても値はアプリケーションの側で検証するよう案内されていること | Gemini API: Structured output | 2026-10-08 |
| 18歳以上であることが必要で、18歳未満が利用する、または利用しうるサービスでの利用を禁じていること。無料の枠では送った内容が製品の改善に使われ、人が読むことがあり、機密や個人の情報を送らないよう求めていること。有料の枠では製品の改善に使わず、禁止事項の違反を見つけるために限った期間だけ記録すること | Gemini API Additional Terms of Service | 2026-10-08 |
| 1回の実行時間が6分までであること。トリガーの合計の実行時間が一般のアカウントで1日90分、Google Workspace のアカウントで1日6時間であること。URL Fetch の呼び出しが Google Workspace のアカウントで1日100,000回であること | Google Apps Script: Quotas for Google Services | 2026-10-08 |
点検の頻度・点検表の様式・使用中止の手順は、各自治体の公園施設の管理の要領に合わせてください。 本記事は上の公開情報で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0990)についてのご相談はこちらから。
