hiyoko-programingの日記

プログラミングを勉強したてのひよっ子。   エンジニア目指して勉強中。

アベノマスク来た

やっと今日、例のマスクがポストインされていた。 いや、もう今更いらんし。 マスクめっちゃ買い込んで余ってるくらいだし。 しかもこの暑いのに、布って。 確か、学校に寄付とか 無料引換とかあったから、それに使うっきゃないな。 子供レベルの税金の無駄…

テスト結果の読み方(ターミナルエラー)

【失敗出力例】 .F Failurese: 1) 2) ........ ◉1行目の ドット( . ) → 成功 F →失敗 をそれぞれ意味する。 ※実行順はランダムなので、Fが先に来ることもある。 但し、文字数はテスト例の数と同じ ◉Failures:以下〜 → 失敗した例として説明がされている…

rails s でのWebpackerエラー

rails sして、Localhostを起動するが、 以下のようなエラーが出て、 解決できない。 【以下エラー文】 Webpacker::Manifest::MissingEntryError in hogehoge Showing /Users/yuhiisk/Work/sites/smout/app/views/layouts/application.html.slim where line #…

rails db:create できない

◉恐怖の PG::InsufficientPrivilege: ERROR: permission denied to create database 色々調べてもなかなか解消できなかったが、 結果的にいけた方法。 config/database.ymlで定義しているユーザがPostgreSQL上でデータベース作成権限を持っていないため、上…

Ruby のバージョンアップに手こずる

新たにRuby on Rails6を行おうと設定をスタート。 いきなり、 Rubyのバージョンが2.5.1 から 2.6.4 へどうしても変えられない。 インストールはできても、運用が切り替わらない。 で、 結果。 ◉成功した方法 $ cd$ vi ~/.bash_profileexport PATH="~/.rbenv…

Atom からGit Hubへの連携

これ以前のコードはVSCでコードを記入していたが、 PythonはAtomでコードを書いていた。 せっかく書いたコードがGitHubに挙げられないものか?と調べたら、 連携システムがあった。 ◉メリット ⚫︎Atomの画面上だけで完結できる。 ⚫︎コマンドは不要。 ◉方法 【…

scikit-learn

◉ scikit-learn?? 機械学習で必要な機能を備えている「サイキット・ラーン」と呼ばれるもの。 大部分がPythonで作られている機械学習の機能が集まったプログラム(ライブラリ)で、誰でも無料で利用できる。 ◉ 追加の仕方 ① インターネットにつながってい…

AI基礎Python終了

アウトプットに時間がかかったが、 最終の機械学習で、ATOMのバージョンによって 少しエラーで悩まされたが、 無事解決して終了! これまで行っていたのは、 日々野新さん著 「文系でも転職・副業で稼げるAIプログラミングが最速で学べる! 人気沸騰のプログ…

機械学習とは

◉ 機械学習とは? 人が集めて区別した情報(データ)からコンピュータが学び、 従来なら人間が作っていた「判断する仕組み」をコンピュタ自身が作り出すこと。 さらに、機械学習の中には、 「ディープラーニング(深層学習)」と呼ばれる人間の脳の仕組みを …

特徴点で一致具合を見る

◉ 特徴抽出 テンプレートマッチングは比較的簡単に使えるが、 画像の大きさが違っていたり、変形していたりすると、認識記されにくくなる。 そこで、2つの画像の特徴(輪郭、色、形、線の位置関係や方向など)に注目し、 同じようになっている部分を見つけ…

テンプレートマッチング

◉ テンプレートマッチングとは? 2つの画像を使って一致する部分を見つける方法。 印刷された文字や画像の中から一致する部分を見つけるときに使われる方法。 また、指紋の照合や、車の自動運転で歩行者の認識を行うためにも 使われている技術。 ◉ 画像を2…

画像から目を検出

◉目を検出用の評価器 顔検出用の評価器を無効化(消す)し、 CASCADE_FILE = 'haarcascade_eye.xml' ※それぞれの目の検出器ファイル名。(今回はこれ。) ◉評価器を入れ替えるだけで、使いまわせる。

Haar-like(ハールライク)

◉「Haar-like」とは?? 顔を判定する方法で有名な方法。 切り取った画像を縦と横の単純な縞模様のパターン(評価器)に 一致するかどうかを判定する方法。 より判定精度を上げるには、大量の顔画像のサンプルが必要になる。 ビッグデータ時代の今だからでき…

画像の角を表示する

◉角(コーナー)を使う 濃度の違いから「角のような」位置を見つけ「特徴点」とする方法。 ここでいう、角とは、大まかにいうと、 「縦と横が交わる所で、周りよりも明るい部分、または濃い部分がある所」。 コンピュータがこの角を見つけることで、 比較する…

キャニー

◉キャニーとは? エッジを見つける方法の1つ。 エッジを美しく見つけるのが特徴だが、 見つける時間が長くなる。 キャニーはソーベルの結果を使うことで、 エッジを美しく浮き上がらせることができる。 ◉キャニーの大まかな流れ ①元画像からノイズを除去 ②…

ソーベル

◉ソーベル 画像からエッジを表示する方法の1つ。 ラプラシアンのように全体の形を見つけるエッジではなく、 縦または横方向に特化したエッジを浮き出す。 形や大きさが決まった物体の縦(高さ)や横(幅)の距離などを見つける場合に 利用される。 ◉ソーベ…

ラプラシアン

◉画像の輪郭とは? 画像には明るい部分と、濃い部分がある。 急激に濃度を変化した部分を拾って線で表すと、 対象に大まかな形が見える。 これが輪郭、または輪郭線である。 また、輪郭を「エッジ」と呼ぶ。 ◉エッジを使う理由 画像検出では、画像の中にどの…

2値化

◉2値化とは? 画像には、暗い部分から明るい部分まであるが、 最も暗い部分を「0」、 最も明るい部分を「255」だとすると、 0〜255までの数字で様々な明るさを表現することができる。 この方法はグレースケールで、 今回は白と黒だけの2種類状態に…

グレースケールで表示する

◉グレースケールを使う理由 グレースケールは、カラー画像から色の情報(RGB)を捨て、 明るさの度合いだけで表現する。 画像から特徴を見つける場合、 ポイントとなる境界や輪郭は、色情報よりも明るさの違いの方が コンピュータにとっては判断が簡単。 ま…

画像を検出する方法

◉画像検出で何ができる?? 画像検出は大きく分けると3つのことができる。 ●特定部分の領域を見つける (EX:顔が写っている) ●一致するかどうかを見分ける (EX:指紋の一致) ●グループに分ける (EX:猫と犬を分ける) 最近では、次のような使われ方もして…

画像にモザイクをかける

◉モザイクをかける仕組み。 画像にモザイクをかけるには、元の画像を一度「縮小」する。 そして、縮小した画像を「拡大」する。 拡大するときに、デジタル画像はできるだけ美しくしようと「補間」という 仕事をするが、ここで、補間されてしまうと元の画像に…

画像の色反転(ネガポジ)

画像の色を反転させることを フィルムカメラのフィルムネガを直接見たようになるので、 ネガポジという。 ◉色反転させる理由。 画像から特徴パターンを見つける際に、 色を反転させることで、「歪み」や「ノイズ」を取り除き 判別しにくかった部分を見やすく…

画像を回転させる

◉回転させる理由 画像検出を行う際、特定箇所を見つけるためには、 前もって様々なパターンを知っておく必要が出てくる。 パターンの中には上下が逆になっていたり、少し斜めになっていたりする状態でも 検出できる必要がある。 そのような、バリエーション…

画像の大きさを変化させる

◉なぜ大きさを変化させるのか?? 画像が大きすぎると、必要な情報を探すのに時間がかかる。 必要な情報を探しやすくするため、 見つける範囲や時間を少なくできる。 ◉変化させる方法 cv2.resize(画像, 拡大・縮小した時の大きさ) ⚫︎画像:大きさを変化させ…

画像の上に文字を書く

◉ 文字を重ねて書く理由 顔検出を行う時、顔が見つからない時がある。 そういった場合、検出対象とした画像の上に、結果のメッセージを表示すると 検出できたかどうかなど、画像を見るだけでは判断できないことも わかりやすく伝えることができる。 ◉ 文字を…

画像の中心??

画像を扱うと、中心点(中心座標)を求めることがある。 ◉ 中心を求める方法 画像の縦サイズと横サイズの1/2し、 その交差したポイントが中心座標。 <画像ファイルを表示するPythonコード例> import cv 2 try: img = cv2.imread( ' girl01.jpg ' ) if img …

画像の上に円と四角を描く

◉ 画像の上に円や四角を重ねる理由 顔検出をした結果、顔の部分に、「ここですよ」と示すため。 ◉ 画像に円や四角を重ねて表示する方法 使う指令は3つ ● cv2.imread →画像ファイルを読み込む ● cv2.circle →円をキャンパスに描く ● cv2.rectangle →四角をキ…

画像を表示する

◉ 画像を表示する理由 目標は「顔検出」なので、顔が写っている画像を表示しなければならない。 ◉ 表示方法 cv2.imread(画像ファイル名) ⚫︎画像ファイル名:表示したい画像ファイルの場所と名前を指定 <画像ファイルを表示するPythonコード例> import cv2 …

四角を描く

◉なぜ四角を描くのか? 画像検出の際に、「目」や「顔」を見つけ出し、「ここですよ」と示す記号として 四角を利用するから。 ◉四角を描く方法 cv2.rectangle(四角を描く画像, 左上座標, 右下座標, 色, 太さ, 種類) ⚫︎四角を描く画像:円同様に作ったキャン…

円を描く

OpneCVの基本機能の1つである円の描画で円を描いてみる。 ◉なぜ円を描くのか? 画像検出の際に、「ここが検出場所ですよ」と示す記号として 円を利用するから。 ◉モジュールを使う import cv2 # OpenCVの機能を使う import numpy #円を描くためのキャンパス…