Leafletライブラリを使って開発したWeb地図に住所検索の機能を追加するために、ジオコーディングのプラグインが各種用意されています。これらのプラグインは、ユーザーが入力した住所をジオコーダと呼ばれるサーバーに渡して緯度経度を受け取ります。
プラグインによって対応するジオコーダが異なります。また、ジオコーダによって性能が異なり、高性能なジオコーダは利用登録が必要だったり費用がかかったりします。
比較的高性能でありながら無料で使えるジオコーダのひとつに、東京大学空間情報科学研究センターの「CSISシンプルジオコーディング実験」がありますが、残念なことに、対応しているLeafletプラグインがありませんでした。
そこで、 OpenStreetMap の Nominatim ジオコーダに対応した Leaflet Control Geocoder プラグインとCSISのジオコーダを橋渡しするプロキシサーバを作成しました。
続きを読む
ScrapyとYOLOによるWebクローリングと物体検出
「ScrapyによるWebクローラーの開発」で作成したクローラーと、「Darknet YOLOをPythonで使う」で作成したディープラーニングによる月待塔の検出(実際には、「夜」と刻まれた石造物の検出)を組み合わせて、クローリングで得られた画像から月待塔を検出します。
続きを読む
ScrapyによるWebクローラーの開発
Darknet YOLOをPythonで使う
前回はVisual Studioでビルドしたdarknet.exeを使用して、石造物に刻まれた文字の学習と検出の実験をしました。
Darknet YOLOはDLL版をビルドすることによりAPIの利用が可能になります。独自のAIアプリケーションを開発する際には、exeファイルをコマンドとして起動するよりも適しています。また、Python用のラッパーも用意されています。
そこで今回は、指定したフォルダから月待塔の写っている画像ファイルを探し出す簡単なPythonプログラムを作成することとします。
続きを読む
深層学習による石造物の分類
「雑草という名の草はない」という言葉がよく知られている一方で、道端に生えている草の多くは名前が知られていません。同じように、路傍に立つ古い石造物も、今となってはそれが何なのか知らない人が多くて残念です。
民間信仰に基づいて造立された石造物の分類は、専門家でも一筋縄ではいかないものです。それは、民間信仰そのものの成り立ちが、複雑な歴史的背景を持つことによります。
そこで、あまり深い所には立ち入らず、月待信仰に基づいて造立された月待塔について、画像から分類を試みます。月待塔は月待行事をおこなった「アタリ日」によって分類することができ、塔のどこかに「十九夜」や「二十三夜」のように刻まれているので、これらの文字によって容易に分類することができるのです。
今回構築したシステムで実際に二十三夜塔を認識させた例は以下のようになります。
「三夜」の上にある「サ」のような文字は「廿」です。二十三夜塔は、単に「三夜」と刻まれたり、「念三夜」「廿三夜」「二十三夜」「弐十三夜」と刻まれるなど、さまざまなパターンがありますが、今回は「三夜」の部分だけを認識させることとしました。
続きを読む