ウィキデータを用いた石造物リストの作成


石造物3Dアーカイブプロジェクトでは、石造物のデータをウィキデータに入力しています。その際、石造物の大きさに関するデータ等は、市町村が発行した石造物調査報告書の類を参考にしています。
石造物調査報告書の多くはパソコンやインターネットが普及する前に作成されており、残念ながらデジタルデータとしては存在しません。そこで印刷物を見ながらの手入力となりますが仕方ありません。
しかし現在では、まず初めにデジタル的にデータベースを作成し、それを用いて印刷物を作成するというデジタルファーストな方法も可能だと思います。データベースをオープンデータとして公開すれば、印刷物と違って最新情報へと更新し続けることもできます。
そこで、Proof of Conceptのために、ウィキデータに入力されたデータを用いて横浜市の石造物のリストを作成してみました。
続きを読む

LeafletでCSISのジオコーダを使う


Leafletライブラリを使って開発したWeb地図に住所検索の機能を追加するために、ジオコーディングのプラグインが各種用意されています。これらのプラグインは、ユーザーが入力した住所をジオコーダと呼ばれるサーバーに渡して緯度経度を受け取ります。
プラグインによって対応するジオコーダが異なります。また、ジオコーダによって性能が異なり、高性能なジオコーダは利用登録が必要だったり費用がかかったりします。
比較的高性能でありながら無料で使えるジオコーダのひとつに、東京大学空間情報科学研究センターの「CSISシンプルジオコーディング実験」がありますが、残念なことに、対応しているLeafletプラグインがありませんでした。
そこで、 OpenStreetMapNominatim ジオコーダに対応した Leaflet Control Geocoder プラグインとCSISのジオコーダを橋渡しするプロキシサーバを作成しました。
続きを読む

ScrapyとYOLOによるWebクローリングと物体検出


ScrapyによるWebクローラーの開発」で作成したクローラーと、「Darknet YOLOをPythonで使う」で作成したディープラーニングによる月待塔の検出(実際には、「夜」と刻まれた石造物の検出)を組み合わせて、クローリングで得られた画像から月待塔を検出します。
続きを読む

ScrapyによるWebクローラーの開発


ScrapyはWebサイトのクローリングとスクレイピングのための、Pythonで実装されたフレームワークです。スクレイピングはWebページから情報を抽出する技術であり、クローリングはWebページのリンクを辿りながら情報を取得する技術です。
Scrapyを使用して、指定したサイト内の画像ファイルとその画像が貼られたページのURLリストをMySQLのデータベースに格納するWebクローラーを開発します。
続きを読む

Darknet YOLOをPythonで使う


前回はVisual Studioでビルドしたdarknet.exeを使用して、石造物に刻まれた文字の学習と検出の実験をしました。
Darknet YOLOはDLL版をビルドすることによりAPIの利用が可能になります。独自のAIアプリケーションを開発する際には、exeファイルをコマンドとして起動するよりも適しています。また、Python用のラッパーも用意されています。
そこで今回は、指定したフォルダから月待塔の写っている画像ファイルを探し出す簡単なPythonプログラムを作成することとします。
続きを読む