オープンソース」カテゴリーアーカイブ

YOLOv5への移行


Darknet YOLOv4を使って機械学習を始め、「深層学習による石造物の分類」以来、いくつかのブログ記事を書いてきました。1ヶ月ほど前にYOLOv5に移行したところ、予想を遥かに上回る良好な結果を得ることができましたので、簡単にYOLOv5を紹介します。
特筆すべき点は、

  • インストールが簡単(Pythonの環境があれば動作し、Visual Studioのような開発環境は不要)
  • 検出処理が高速で精度も高い

です。また、YOLOv5はGPU(CUDA)なしで動作させることも可能です。

続きを読む

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


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

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プログラムを作成することとします。
続きを読む