サッカーコートの白線を抽出する
次のようなサッカーコートの白線の部分を線分としてを抽出したい。 まず考えたのは、緑色か否かで判定して白黒画像にすることだ。白黒画像にすることで、線をより明確に可視化させることができ、その後エッジだけ抽出して線分判定をすれ […]
Filter by Category
次のようなサッカーコートの白線の部分を線分としてを抽出したい。 まず考えたのは、緑色か否かで判定して白黒画像にすることだ。白黒画像にすることで、線をより明確に可視化させることができ、その後エッジだけ抽出して線分判定をすれ […]
pyenvでインストールしたPythonのバージョンを更新する pyenvで最新のPythonをインストールしようとしたところ、pyenvのバージョンが古く最新のバージョンがリストになかったので、pyenvをアップデート […]
DockerとDjangoでマイグレーションコマンドを実行するとエラーになる Docker環境で構築したDjangoプロジェクトでマイグレーションコマンドを実行した際に、docker-compose.ymlとsettin […]
GitHubのイシューとPyCharmのタスクを連携 GitHubのイシューとPyCharmのタスクを連携させて、GitHubのイシューをPyCharmに表示させる設定方法です。画面を切り替えなくても追加されたGitHu […]
https://shuhoyo.hatenablog.com/entry/nogizaka46-lyrics-nlp 上記サイトを参考にBERT+UMAPを実装してみた。 BERTとは BERTとは自然言語処理の1手法の […]
DjangoでPOSTとGETを組み合わせたパラメータでリダイレクト DjangoでPOSTを使ったリダイレクトはよく事例が見つかりますが、POSTとGETを組み合わせたURLにリダイレクトさせる情報があまりなかったので […]
WordCloudとは 文章に頻出する単語を抽出して画像に出力するシステムのこと。 実装について 形態素分析 まず形態素分析する必要がある。最新の形態素分析はJUMAN++なのでそれを導入すべし。 インストールするのは簡 […]
PyCharmでPostgreSQLをGUIから操作する設定 PyCharmでDjangoのPostgreSQLをGUIで操作するための設定方法です。Djangoには管理サイトが用意されていますが、プログラムの実行中にデ […]
下記のdeep fakeを導入しようとしたら仮想環境作成でかなり困ったので記録しておく。 https://knowledge.sakura.ad.jp/26769/ 試したこと Docker まずdockerでpytho […]
リモートのファイルをローカルのデスクトップにコピー リモートサーバーにSSH鍵でログインして、ファイルをローカルのマシンにコピーする方法です。今回はリモートサーバーにダンプしたsqlファイルをデスクトップにコピーします。 […]
Pythonのenumerate関数でfor文のインデックスを取得 enumerate関数を使うとPythonでforを書くときに処理毎にカウントアップしたり、値を代入したりといった処理が簡単にできるので便利です。 実際 […]
サイトのカラーリングを青と黄色のウクライナカラーにしました ロシアによるウクライナ侵攻の早期停戦を願ってサイトのカラーリングをウクライナ国旗をイメージした青と黄色のウクライナカラーにしました
衣服の図面画像を読み込ませるとその種類を返すシステムを作成した。 学習モデルについて 画像から輪郭だけを抽出した輪郭画像と、オリジナル画像の2つを入力データにすることにした。 例えばTシャツならTの字になっているし、スカ […]
今回、画像分類で精度を高めるために複数データの入力できる学習モデルを作成した。その経緯から始めて実際のモデリングまでを書くことにする。 前提 今回は洋服の図面を読み込み、それがなんの種類かを判別するCNNを作成した。 図 […]
pythonのOpenCVで輪郭を上手く抽出することができなかったが、いくつかの改善点により上手く行った経緯をここに書き残しておく。 改善前 これは50×50のスカートの画像である。単にfindcontourし […]
Jupyter NotebookでもBlackでコードフォーマット コードの可読性を上げて保守性を高めたり、コードの属人化を防いで生産性を向上させるためのルール(コーディング規約)に則った開発を行うために、ファントムでは […]
PythonのRequestsを使ってSlackに通知 フォームから送られた内容やプログラムの処理結果や途中結果をSlackに通知する方法です。 以下のコードのBOT USER TOKENとCHANNEL NAMEを任意 […]
2022年度 採用についてのお知らせ 概要2022年度の採用募集を開始します。(フルタイム、副業問わずビデオ会議等で意見交換からでもOKです。) 募集職種・インフラエンジニア・ウェブアプリケーションエンジニア・機械学習エ […]
Pythonのf文字列を使った書式パターン この記事で紹介したf文字列を使った文字列の操作ですが、文字列に変数を埋め込む際に書式を指定できます。0埋めして文字数を揃えたり、カンマで桁を区切ることも可能です。 カンマで桁区 […]
次のようなサッカーコートの白線の部分を線分としてを抽出したい。
まず考えたのは、緑色か否かで判定して白黒画像にすることだ。白黒画像にすることで、線をより明確に可視化させることができ、その後エッジだけ抽出して線分判定をすればよいと考えた。
以下の2枚はそれぞれ白を白とし、白以外を黒とする2値画像と、緑を白にして緑以外を黒にする2値画像である。
これだけでも割と上手く線の可視化ができていそうなので、このままエッジ化して線分推定をした。
次に、同じ画像でlsdを用いた線分推定をした結果が下である。
見る限り、lsdの方が精度が高いことがわかる。
しかし、下の画像では上手く行かなかったこともあり、別の方法を模索することにした。
上のやり方では、緑とそれ以外、あるいは白とそれ以外というふうに画像の色の境界を分類していた。もし、”緑と白の境界”を取得できればもっと精度があがるのではないか?と考えた。
そこで、k-mean法により画像の各RGBから似ている色を抽出し、上書きすることにした。その結果が次である。
上の画像は5色で表現されている。そのうち3色が緑、2色が白となっている。
このように、画像を5色で塗り直し、そのうち白色のものだけを抽出すると下のようになる。
これにより、白線をより鮮明に抽出することに成功した。
群馬県でPythonを使ったAIやソフトウェアを開発している株式会社ファントムが運営しています。
メーリングリストに登録するとファントムの最新情報をお届けします
お客様のメールアドレスを共有することはありません