現場で撮った工事写真を仕分けして電子納品用の写真管理項目を作る
現場で撮影した工事写真を入力に、写真に写っている黒板の文字を読み取り、撮影日時と合わせて、電子納品で求められる写真管理項目の下書きを作ります。写真区分、工種、写真タイトル、撮影箇所といった項目が、1枚ずつ打ち込む前に埋まった状態になります。
- 利用ツール
- AWS Textract/Azure AI/ChatGPT/Claude/Gemini/Google Document AI/Python
- 対象業界
- 不動産/建設/自治体/製造
- 対象部門
- 品質管理/生産
- 対象業務
- データ入力・転記/分類・仕分け/台帳・マスタ管理
- 主な課題
- 人手が足りない/入力作業が多い/確認ミスが多い
- AIで行う処理
- 画像認識
- 主な効果
- 入力漏れ削減/品質標準化/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 半自動化
- 費用感
- ノーコード連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 現場で黒板を持って撮影する(1日50〜100枚)
- 夕方や週末に、カメラやスマートフォンからPCへ写真を取り込む
- 工事ごと、日ごとのフォルダに分ける
- 工事写真管理ソフトを開き、1枚ずつ写真区分を選ぶ
- 工種、種別、細別を選び、写真タイトルと撮影箇所を打ち込む
- 代表写真と提出頻度写真にチェックを付ける
- ピンボケ、重複、黒板が写っていない写真を外す
- 工事完成時に写真管理ファイルを出力し、チェックソフトにかける
- 現場代理人が写真を所定のフォルダへ取り込む
- 自動画像のExifから撮影年月日を取り出す
- 自動黒板の部分を読み取り、工事名、工種、測点、寸法などの記載を取得する
- 自動画像の内容から写真区分の候補を出す
- 自動工種、種別、細別を、その工事で使う分類の一覧に割り当てる
- 自動写真タイトルと撮影箇所の下書きを作る
- 自動使用できない文字が入っていないかを検査する
- 人現場代理人が一覧画面で確認し、違うものを直す
- 自動確認済みの内容を工事写真管理ソフトへ取り込める形式で書き出す
各工程の詳しい説明を読む
- 現場で黒板を持って撮影する(1日50〜100枚)
- 夕方や週末に、カメラやスマートフォンからPCへ写真を取り込む
- 工事ごと、日ごとのフォルダに分ける
- 工事写真管理ソフトを開き、1枚ずつ写真区分を選ぶ
- 工種、種別、細別を選び、写真タイトルと撮影箇所を打ち込む
- 代表写真と提出頻度写真にチェックを付ける
- ピンボケ、重複、黒板が写っていない写真を外す
- 工事完成時に写真管理ファイルを出力し、チェックソフトにかける
問題は4つあります。
(a)枚数が多い。 1現場で数千枚になります。1枚2分でも、1,000枚で33時間です。
(b)黒板に書いてあることを、見ながら打ち直している。 工種も測点も寸法も、撮影時に黒板へ書いています。それを写真で見ながらキーボードで打ち直すのが、入力作業の中身です。
(c)使用文字の制約で、あとからエラーが出る。 写真管理ファイルでは、機種依存文字(丸囲い数字、ローマ数字、㈱、№、㎏、㎡など)は使えません。全角の数字やラテン文字も使えず、半角で統一する必要があります。撮影から数か月たってチェックにかけたときにエラーが出ると、どの写真のどの欄かを探すところから始まります。
(d)夜間と休日の作業になっている。 日中は現場です。写真整理は現場が終わったあとの時間に回り、これが現場代理人の負担として積み上がっています。
- 現場代理人が写真を所定のフォルダへ取り込む
- 【自動】 画像のExifから撮影年月日を取り出す
- 【自動】 黒板の部分を読み取り、工事名、工種、測点、寸法などの記載を取得する
- 【自動】 画像の内容から写真区分の候補を出す
- 【自動】 工種、種別、細別を、その工事で使う分類の一覧に割り当てる
- 【自動】 写真タイトルと撮影箇所の下書きを作る
- 【自動】 使用できない文字が入っていないかを検査する
- 【人】 現場代理人が一覧画面で確認し、違うものを直す
- 【自動】 確認済みの内容を工事写真管理ソフトへ取り込める形式で書き出す
自動化されるのは「読む」「分類する」「書き写す」「文字を検査する」の4つです。残るのは「合っているかを確認する」だけになります。
02今回想定するシステム構成
現場で撮影(黒板あり) │ ▼ 取り込みフォルダ(工事ごと) │ ▼【トリガー】ファイルが追加されたとき Python のバッチ処理 │ ├──▶ Exif 読み取り ── 撮影年月日を取得(画像は変更しない) │ ├──▶ OCR ── 黒板に書かれた文字を読み取る │ ├──▶ LLM API(画像入力)── 写真区分の候補づけ、工種の割り当て │ └──▶ 使用文字の検査(全角数字・機種依存文字を弾く) │ ▼ 確認画面(写真と管理項目を左右に並べる)──【人が確認】 │ ▼ 工事写真管理ソフトへ取り込み + 写真は原本のまま保管
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| OCR | Google Cloud Vision API(DOCUMENT_TEXT_DETECTION) | Azure AI Vision、AWS Textract、Google Document AI |
| 生成AI | Claude API(画像入力) | Gemini API、OpenAI API |
| 実行環境 | Python | 工事写真管理ソフトの標準機能 |
| 連携 | 工事写真管理ソフト(電子納品対応) | ― |
| 保管 | 社内ファイルサーバー | クラウドストレージ |
写真管理ファイルの作成は、電子納品に対応した工事写真管理ソフトに任せてください。 ファイル名の付け方(写真ファイルは「P」+7文字、拡張子JPG、半角英数大文字)、フォルダ構成(PHOTOフォルダの下にPICとDRA)、写真管理ファイルの形式(XML)といった決まりが基準に定められており、これを自前で作り込む価値は小さいためです。この構成でAIが担うのは、ソフトに入れる前の管理項目の下書きまでです。
すでに使っている工事写真管理ソフトに自動仕分け機能があるなら、まずそちらを試してください。 自前で組む価値があるのは、複数の現場をまとめて処理したい場合や、社内独自の写真タイトルの付け方を反映したい場合です。
03どうやって実装するのか
処理の起点を決める
取り込みフォルダに写真が追加されたことを起点にします。現場ごとにフォルダを分け、フォルダ名から工事名を取得します。
1日分をまとめて処理する設計にしてください。1枚ずつ処理すると、確認画面を開く回数が増えて、かえって時間がかかります。夜間にまとめて処理し、翌朝に確認する運用が現実的です。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 工事写真 | JPEG形式の画像 | カメラ、スマートフォン |
| 撮影日時 | Exifの撮影日時 | 画像ファイル自身 |
| 工事の基本情報 | 工事名、工期、発注者 | 工事台帳 |
| 分類の一覧 | その工事で使う工種、種別、細別 | 積算体系に基づく工事ごとの一覧 |
| 撮影計画 | どの工種で何を何回撮るか | 写真管理基準に基づく撮影箇所一覧 |
データの取得方法を決める
撮影日時: 画像のExifから取得します。Pythonであれば画像処理ライブラリでExifを読み出せます。読み出すだけで、書き込みはしません。 写真管理項目の撮影年月日は「2008-12-03」のように西暦4桁・月2桁・日2桁の10桁で記入する決まりなので、この形式に整えます。
黒板の文字: OCRで読み取ります。Google Cloud Vision APIには文字検出の機能があり、看板のような一般的な画像向けのTEXT_DETECTIONと、文字が密な文書向けのDOCUMENT_TEXT_DETECTIONがあります。黒板は文字が固まって書かれているため、両方を試して精度の高いほうを選びます。レスポンスには検出した文字とその位置(boundingPoly)が含まれるので、黒板の枠の中にある文字だけを取り出せます。
分類の一覧: 工種、種別、細別は、土木工事の場合、新土木工事積算体系のレベル2からレベル4を記入します。工事ごとに使う工種は限られます。 全体の一覧をAIに渡すのではなく、その工事で使う数十件に絞って渡してください。これが精度を決めます。
AIへ渡す前に整形する
- 黒板の位置の特定 … 画像全体をOCRにかけると、周囲の標識や資材の文字まで拾います。黒板の枠を先に見つけ、その範囲の文字だけを使います
- 重複の検出 … 同じ構図を続けて撮ることが多いため、撮影時刻が近く構図が似た写真をまとめ、代表を1枚選んで残りを候補から外します。外すだけで、削除はしません
- 黒板が写っていない写真の抽出 … 黒板がない写真は、管理項目を埋める材料がありません。別枠にして人へ回します
- 有効画素数の確認 … 基準では、有効画素数は黒板の文字と撮影対象が確認できることを指標とし、100万から300万画素程度(1,200×900程度から2,000×1,500程度)が目安とされています。ここから大きく外れる写真は、撮影設定の問題として現場へ知らせます
AIに処理させる
OCRと生成AIで役割を分けます。
OCRにさせること: 黒板に書かれた文字の読み取り。工事名、工種、測点、設計寸法、実測寸法などの文字列を取り出します。ここは生成AIにさせません。専用の文字認識のほうが安定するためです。
生成AIにさせること:
| 処理 | 内容 |
|---|---|
| 写真区分の候補づけ | 画像とOCR結果から、着手前及び完成写真、施工状況写真、安全管理写真、使用材料写真、品質管理写真、出来形管理写真、災害写真、事故写真、その他のどれかを選ぶ |
| 工種の割り当て | 黒板の記載を、その工事で使う工種・種別・細別の一覧に対応づける |
| 写真タイトルの下書き | 撮影項目と撮影時期が分かる短文を作る |
| 撮影箇所の下書き | 測点位置や撮影対象までの距離など、黒板の記載から短くまとめる |
| 代表写真の候補づけ | 工事の全体概要が分かる写真、重要な写真の候補を挙げる |
写真区分ごとに、工種・種別・細別を記入するかどうかが変わります。基準の目安では、品質管理写真と出来形管理写真では工種を記入し、着手前及び完成写真、災害写真では工種以下の記入は不要とされています。写真区分が決まると、埋めるべき欄が決まるので、この順番で処理します。
指示内容を固定する
あなたは土木工事の写真整理を支援する担当者です。
工事写真と、黒板から読み取った文字をもとに、写真管理項目の下書きを作ってください。
【厳守事項】
- 画像を加工する提案をしないでください。回転、明るさ補正、切り抜きを含め、
写真そのものへの変更は一切行いません。
- 工種、種別、細別は、下に示す「この工事で使う分類の一覧」からのみ選んでください。
一覧にないものを作らないでください。当てはまらない場合は null にしてください。
- 黒板に書かれていない寸法や数量を書かないでください。
読み取れなかった箇所は空にして、needs_review に理由を書いてください。
- 写真タイトルと撮影箇所には、次の文字を使わないでください。
全角の数字、全角のラテン文字、丸囲い数字、ローマ数字、
㈱ № ㎏ ㎡ などの機種依存文字。数字とラテン文字は半角で書いてください。
- 写真区分は、下の9区分のいずれかから選んでください。判断できない場合は
「その他」とせず、null にして needs_review に入れてください。
【この工事で使う分類の一覧】
{work_types}
【黒板から読み取った文字】
{ocr_text}
【撮影日時(Exif)】
{shot_datetime}
「使わない文字」を先に書いておくことが効きます。 生成AIは何も言わなければ「㎡」や「①」を自然に使います。あとの検査で弾くこともできますが、はじめから出させないほうが差し戻しが減ります。
出力形式を固定する
{
"photo_file": "",
"shot_date": "",
"photo_category": "",
"work_type": null,
"work_subtype": null,
"work_detail": null,
"photo_title": "",
"shooting_location": "",
"control_value": "",
"is_representative": false,
"blackboard_found": true,
"duplicate_group": "",
"confidence": "high | medium | low",
"needs_review": []
}
shot_date は「2026-04-05」の形式で固定します。work_type を含む分類の項目は、当てはまらないときに文字列で「不明」と返させず、null にします。文字列だと、そのまま管理項目に入って納品時のエラーになります。
システムへ連携する
確認済みの内容は、工事写真管理ソフトが取り込める形式(多くはCSV)で書き出します。ソフトごとに列の並びが違うので、変換の定義を1か所にまとめてください。
写真ファイル自体は、取り込みフォルダから動かしません。 管理項目とファイル名の対応表だけを渡します。写真の並べ替えやファイル名の付け直しは、電子納品に対応したソフトに任せます。ファイル名は半角英数大文字で8文字以内、拡張子3文字以内という決まりがあり、通し番号は工事の経緯が分かるよう日付の昇順で付けることが基本とされています。
小黒板情報の電子的記入について。 撮影と同時に黒板の情報を画像へ電子的に記入する仕組みがあり、これはデジタル写真管理情報基準の「写真編集」には該当しないとされています。ただし、これは対応した機器やソフトウェアが撮影時に行うもので、改ざん検知の機能を持つことが求められています。撮影後にAIで黒板を合成することは、これとはまったく別のことです。絶対に行わないでください。
人が確認する
全件、人が確認します。段階的な自動化もしません。
理由は、工事写真が検査の証拠であるためです。出来形管理写真や品質管理写真は、出来形や品質が基準を満たしていることを示すものです。分類や撮影箇所が違えば、検査でやり直しになります。
確認を速くするための設計が重要です。
- 確認画面で、写真と管理項目を左右に並べて表示する
- OCRが読み取った黒板の部分を、写真上で枠で囲って示す
confidenceが低いもの、needs_reviewに入ったものを先頭に並べる- 同じ工種の写真をまとめて表示し、続けて確認できるようにする
- 1枚直したら、同じ工種の残りにも反映するかを聞く
最後の1つが効きます。 同じ工種の写真が数十枚続くことが多いため、まとめて直せるかどうかで確認時間が変わります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 黒板が写っていない | blackboard_found を false にして人へ回す。管理項目を推測で埋めない |
| 黒板の文字が読めない(雨、逆光、汚れ) | 該当項目を空で返し、needs_review に入れる |
| 手書きの黒板で文字が崩れている | OCRの精度が落ちる。confidence が low で返るため、従来どおり手入力に回す |
| 工種が一覧に当てはまらない | null を返す。新しい工種を作らない |
| 同じ構図が連続している | 撮影時刻と構図でまとめ、代表を候補にする。削除はしない |
| 有効画素数が目安から外れている | 撮影設定の問題として現場へ知らせる。画像を加工しない |
| Exifの撮影日時がない | 人へ回す。ファイルの更新日時で代用しない |
| 使用できない文字が出力に入った | 検査で弾き、書き換え候補を示して人へ回す |
| 写真区分が判断できない | null にして人へ回す。「その他」に逃がさない |
| 1日で500枚以上が入った | 順にキューで処理する。同時実行数を制限してAPIの制限に当たらないようにする |
記録を残す
- 写真の原本(一切加工しない状態で)
- OCRの読み取り結果(生の状態)
- 生成AIが付けた候補と
confidence - 人が直した項目と、直す前と後の値
- 確認した人と、確認した日時
写真の原本を加工しないことが、この構成の前提です。 基準は写真編集を認めていません。処理の過程で一時的に縮小した画像をAIに渡すことはできますが、縮小した画像を保存したり、原本を置き換えたりしないでください。
人が直した項目の記録は、精度の実測値になります。「撮影年月日は毎回そのまま通るが、工種は4割直されている」と分かれば、分類の一覧の渡し方を見直せます。
04実装レベルの3段階
半自動化の時点で、2分が1分程度になります。 黒板を見ながら打ち直す作業が消えるためです。本格構成にすると0.6分程度になりますが、確認画面の作り込みが必要です。ここを省くと、表とソフトを行き来する時間が増えて効果が出ません。
05工数削減シミュレーション
導入後 1,200件 × 0.6分 ÷ 60 = 12 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 公共工事を継続的に受注し、電子納品が求められる建設会社。現場代理人が写真整理を夜間や休日に行っており、1現場あたりの写真が1,000枚を超えること。
- 写真の枚数が月100枚程度にとどまる場合。電子納品の対象外の工事が大半の場合。既に使っている工事写真管理ソフトの自動仕分け機能で足りている場合。
07最小構成で試す方法
- 直近の工事写真を30枚用意する(工種をばらばらに選び、黒板が読みにくいものを5枚混ぜる)
- ChatGPTやClaudeの画面に1枚ずつ貼り、黒板の記載を読み取らせる
- その工事で使う工種の一覧を貼り、どれに当たるかを選ばせる
- 30枚のうち、工種と写真区分の両方が正しかったのが何枚かを数える
黒板が読みにくい写真を必ず混ぜてください。 きれいな写真だけで試すと、現場の実態と合いません。
判断の目安は次のとおりです。
| 両方正解の枚数 | 判断 |
|---|---|
| 24枚以上(8割) | 自動化する価値がある |
| 15〜23枚 | 確認に時間はかかるが、手入力より速い可能性がある。工種の一覧の渡し方を見直す |
| 14枚以下 | 黒板の書き方から見直す。撮影ルールの統一が先 |
5割を切る場合、問題はAIではなく黒板の書き方にあることが多いです。 略称が人によって違う、工種の欄が空欄になっている、といった点を先に揃えると、それだけで整理の時間が減ります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 処理の過程で画像が書き換わる | 読み取り専用で開く。縮小した画像は一時ファイルとして扱い、原本を置き換えない |
| 黒板以外の文字を拾う | OCRの結果から、黒板の枠の中にある文字だけを使う |
| 工種を勝手に作る | 工事ごとの一覧から選ばせ、当てはまらなければ null を返させる |
| 全角数字や機種依存文字が混ざる | プロンプトで禁止し、さらに書き出し前に検査する。二重で防ぐ |
| 撮影年月日の書式が揃わない | 10桁固定の形式に整える。月と日が1桁のときは0を付ける |
| 同じ構図の写真が大量に残る | 撮影時刻と構図でまとめて代表を選ぶ。削除はしない |
| 確認画面がなく、表とソフトを行き来する | 写真と管理項目を並べた確認画面を作る。ここを省くと削減効果が出ない |
| 撮り直しが必要な写真を工事完成時に見つける | 日次で処理し、黒板が写っていない写真をその日のうちに知らせる |
| 納品前のチェックでエラーが出る | 書き出しの前に、使用文字とファイル名の規則を検査する |
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 工事名、発注者、施工場所、出来形と品質の数値、作業員が写り込んだ画像。公共工事の施工情報と、個人が写った画像が含まれます。
- 写真の改変を絶対に行わない … これが最優先です。基準は「写真の信憑性を考慮し、写真編集は認めない」と定めています。AIによる補正や合成は、たとえ見やすくする目的であっても行わないでください。撮影時の小黒板情報の電子的記入は写真編集に該当しないとされていますが、これは改ざん検知の機能を持つ対応機器が撮影時に行うものです。 撮影後にAIで黒板を書き足すこととは別物です
- 外部AIへの入力可否 … 工事写真には、施工場所、設計寸法、発注者名が写り込みます。発注者との契約や、自社の情報管理規程を確認してください
- 人物の写り込み … 作業員や第三者が写っている場合があります。外部サービスへ送る前に、社内のルールを確認してください
- 学習利用 … 入力を学習に使わないことが契約で保証されるサービスを選びます
- 自動実行してよい範囲 … 管理項目の下書きまでが自動化の範囲です。人の確認を経ずに納品用のデータを作る構成にしないでください
誤りが起きた場合のリスクは、検査での差し戻し、写真の撮り直し(工事が進んでいれば撮り直せません)、そして写真の信憑性そのものへの疑いです。最後の1つが最も重く、画像を加工しないという一線を守ることで避けられます。
10まず何から始めるか
1週目:黒板の読み取り精度を測る
直近の工事写真30枚で、黒板の記載が読み取れるかを測ります。この結果で導入可否が決まります。 8割取れるなら進めます。取れない場合は、黒板の書き方の統一が先です。
2週目:工種の一覧を作る
進行中の工事で使う工種、種別、細別を一覧にします。全工事に共通する一覧ではなく、工事ごとの一覧を作ることが精度につながります。
3〜4週目:半自動化を作る
フォルダ監視から表への書き出しまでを作り、現場代理人1名が2週間使います。1枚2分が何分になるかを実測します。写真管理ソフトへの取り込みはまだ手作業のままにします。
2か月目以降: 効果が確認できたら、確認画面と書き出し形式を作ります。並行して、発注者の電子納品の要領(工事によって適用される基準の版が異なります)を確認し、写真管理項目の並びが合っているかを見てください。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| デジタル写真管理情報基準(令和5年3月)が、写真管理項目として写真区分・工種・種別・細別・写真タイトル・撮影箇所・撮影年月日・代表写真・提出頻度写真・施工管理値を定めていること。「6 写真編集等」で「写真の信憑性を考慮し、写真編集は認めない」と定めていること。有効画素数の目安が100万から300万画素程度であること。写真ファイル名が「P」+7文字・拡張子JPG、半角英数大文字で8文字以内であること。機種依存文字や全角の数字・ラテン文字が使用できないこと | 国土交通省: デジタル写真管理情報基準(令和5年3月) | 2026-09-14 |
| 小黒板情報の電子的記入がデジタル写真管理情報基準「6.写真編集等」で規定する写真編集には該当しないとされていること。使用機器に信憑性確認(改ざん検知機能)が求められ、その技術がCRYPTREC暗号リスト記載のものであること。納品時に信憑性チェックツールで確認した結果を提出すること | 国土交通省: デジタル工事・業務写真の小黒板情報電子化について | 2026-09-14 |
| Cloud Vision APIに文字検出の機能があり、一般的な画像向けのTEXT_DETECTIONと、文字が密な文書向けのDOCUMENT_TEXT_DETECTIONがあること。レスポンスに検出した文字と位置情報(boundingPoly)が含まれること | Google Cloud: Detect text in images | 2026-09-14 |
適用される要領・基準の版は、発注者と工事によって異なります。この部分は案件ごとの個別確認が必要です。 電子納品の要件については、契約書類と発注者の定める要領を確認してください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0040)についてのご相談はこちらから。
