釣りマップなう

2024.03.19

Logging

おはようございます、ある程度出来たのでリリースしました.これからはデータ削除とかが出来なくなりました.ローカルで検証してファイルアップロードとか行う感じになりますね.

釣りマップなう』というサイトは、一応TensorFlowのJSを使用して魚の画像か判別しています.大量の魚が写っている画の場合、魚と判定されない場合があります、また、小さな魚の画像でも同様に魚の画像と判定されないです.この判定を良いものにするにはモデルを自分で生成してあげる必要がありそうです.

魚の動画から水回しして魚を学習させれば良いらしいのですが、商用利用でも可能な魚の動画を探すので苦戦しています.

学習させればあとは、学習済みのモデルをTensorFlow.jsでも使用できるようにコンバーター(変換)させて上げれば良いのです.

さて、馬しかな自分でも機械学習出来るようになってきました.ここはレッドオーシャンなのかもしれません.

明日へ続く.

タグ

JS, tensorflow, Tensorflow.js, コンバーター, データ削除, ファイルアップロード, モデル, レッドオーシャン, 判定, 動画, 商用利用, 学習済み, 感じ, 機械学習, , , 画像, 自分, , ,

Gさんが提供するVertex AI VisionAIを使用してみて。

2023.04.04

Logging

おはようございます。Vision AIで画像解析の精度を試しみた結果、これで良いかなと思い始めています。これを使用して「釣ったー」という釣り画像をシェアするサイトを作ろうかなって思っています。問題だったのが魚が写っている写真なのかを判別することが問題になっていました。当初はtensorflowで提供されている学習済みのモデルを使用したJSライブラリを使用して画像の判別しようと思っていたのですが、これ少し難がありモデルの精度がいまいちな所があります。

サービス提供する側としては、あまり変な画像をUPされるとその対応に時間を費やさないといけないので、そこは避けたい所があります。文章での誹謗中傷は現在、誹謗中傷に特化したデータを自分がもっているので、その方法を使用することである程度、投稿の判別は可能になっていましたが、前文で書いた通り画像の判別は難です。

今から魚のデータセットを取り入れたとしても、学習させるPCが存在しない。いつも使用しているPCでは、学習させることは可能だけどさて、どのぐらい時間を費やさないといけないのかなどの問題があるので断念。旧PCはあるにはあるのだけど機械学習させるスペックではないので断念した。

そのため機械学習モデル済みのモデルが必要になった。モデルを探すより、学習済みのAPIを使うのが手っ取り早いと思ったので、AWS、Azure、GCPという候補の中でざっくり考えた結果。

GCPに軍配が上がって、試してみた結果。良好だったのでそちらを使用することにした。

尚、VisualAPIを使用するにあたって参考にしたサイト。環境変数などの設定などは如何なものかと思ったのでそこは参考にしていない🙄。

https://www.asobou.co.jp/blog/web/vision-api

https://packagist.org/packages/google/cloud-vision

注意事項として画像をひとつ添付する。左の項目最下のマーケットプライスの中にVertex AI VisionAIが組み込まれているので、それを有効にすること。後は上記のリンクを参考にすると上手く出来ると思います。

タグ

AI VisionAI, API, AWS, Azure, GCP, JSライブラリ, tensorflow, Vertex, VisualAPI, スペック, マーケットプライス, , 判別, 前文, 断念, 環境変数, 精度, 誹謗中傷, 軍配, ,

機械学習は学習するのにどれぐらいのデータが必要?

2022.09.06

Logging

今日は大荒れ☔との事です、おはようございます。

8月の半ばにとある事情で機械学習で人の顔かどうかを判別させるモデルをTensorFlowで作ってみたのですが、結果、学習のデータが少なかったのが原因なのか分からないけども・・・。人工無能と言いたくなるほど無能な機械学習が出来上がりました。犬の画像を見せてもこれは人ですと判定してくれるので正直、ホントげんなりでした。

画像分類の作り方は簡単です、学習したいディレクトリとテスト用のディレクトリを作り、それぞれの階層に分類ディレクトリを設置し、その中に学習の画像データとテスト用の画像データを入れてサンプルコードをちょちょっと修正してテンソル(Pythonを実行)で学習してもらうだけです。

画像分類器を作る(機械学習ゼーロからヒーローへ – 第4部)
画像分類器を作る(機械学習ゼーロからヒーローへ – 第4部)

尚、自分のテストデータは100枚ほどしかなかったので、全然駄目な結果になりましたが3000枚以上の画像データがあればちゃんとした判別が出来たのかも知れません。

スマホの顔認証は動画データを画像データー変換して学習させているのでしょうね。そうすれば数千枚の画像は生成出来ると思います。

例えばopencv-pythonなんかで画像変換するのが良さそうですよ。

pip install opencv-python

タグ

100, 3000, 4, 8, Python, tensorflow, コード, これ, サンプル, ゼーロ, それぞれ, ちょ, データ, ディレクトリ, テスト, テンソル, どれぐらい, ヒーロー, ホント, モデル, , , 事情, , 人工, 今日, 作り方, 修正, 分類, 判別, 判定, 半ば, 原因, , 大荒れ, 学習, 実行, 必要, 機械, 正直, 無能, , 画像, 簡単, 結果, 自分, 設置, 階層, , 駄目,

pythonで画像ダウンロードしたいなら。コレでよし🤔

2022.08.06

Logging

こんにちは、日が暮れて夕方になってしまいましたね?…本日の更新です😌。

今日は機械学習(tensorflow)の為の画像を集めをしていたました。画像を集めるのが面倒くさくて昔、ダウンロード用のソフトを自前で作っていたのだけど、その自前のソフトをいつの間にか消し去っていた為、再度Pythonで作り直しました。

作ったのですが、これは即席なダウンロードソフトなので完璧なものではないです。50枚~300枚の画像をダウンロード出来ます。そのダウンロードした画像を水回しして機械学習の画像分類に使用しているのですが、学習精度があまり良くないのが明日の課題。

人工知能に学習させる方法にはいろいろな方法があります。それらを上手く使えばもっと効率よく学習出来るみたいですが、そもそもPythonも普段から使用しないので手探り状態です。

もっと綺麗なコードを書けると思いますが…。

トイウコトデ、コードを記載しときますね、このコードはbingサイトで画像ダウンロードするために作られたものです。機械学習しているコードではありません。

from functools import cache
import time
import requests
import os
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options
options = Options()
# download_path = 'C:\python\images\face'
# options.add_experimental_option("prefs", {"download.default_directory": download_path})
# driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("https://www.bing.com/images/search?q=顔&form=HDRSC2&first=1&tsc=ImageHoverTitle")
driver.set_window_size(945, 1012)
time.sleep(3)
sl = 700
for i in range(30):
    driver.execute_script("window.scrollTo(0," + str(sl) + ")")
    time.sleep(3)
    sl = sl + 700
img = []
for x in range(10):
    for y in range(100):
        try:
            txt = driver.find_element(By.XPATH,"//*[@id=\"mmComponent_images_2\"]/ul[" + str(int(y +1 )) +"]/li[" + str(int(x +1 )) +"]/div/div[1]/a").get_attribute("m")
            hoge = str(txt).split(",")
            #print(hoge)
            img.append([s for s in hoge if "murl" in s])
        except:
            print("errors not image")
driver.quit()
file_dir = "C:\\python\\images\\face\\"
for imgdata in img:
    url = str(imgdata).split(":")[1] + ":" + str(imgdata).split(":")[2]
    url = url.replace('"',"").replace("']","")
    print(url)
    try:
        urlData = requests.get(url).content
        with open(os.path.join(file_dir,os.path.basename(url)),'wb') as f:
            f.write(urlData)
    except:
        print("errors not Download")

タグ

ChromeDriverManager, driver, driver.get, driver.quit, except, img.append, imgdata, options, print, quot, replace, scrollTo, selenium.webdriver.support.wait, sl, sleep, tensorflow, time.sleep, ul, urlData, トイウコトデ,

TensorFlow Lite(テンソルフロー ライト)をインストールしモデル実行まで。

2021.06.14

Logging

ラズベリーパイ3にTensorFlow Lite(テンソルフロー ライト)をインストールしモデル実行まで軽く字幕で紹介した動画が下記になります。インストール方法は公式に書かれた通りに実行すれば上手くインストール出来るはずです。比較的に低スペックのマシンでも動くはずなのです、どうしてもエラーが出て動かないようであれば、それはおそらくあなたのマシンに問題があります?。

テンソルフローライト

動画でハマりどころがあるという事をブログで解説しますと書いていますので、そのハマりどころを解説します。。。

TensorFlow Lite(テンソルフロー ライト)で動かす場合、label_image.pyの修正箇所が公式に書かれていると思いますが・・・?、ここで自分がハマり、実行するコマンドを打ってもパラメーターがどうたらというエラーが出力されて動きませんでした。結論から言うと原因はマスターのソースコードにあったのです。修正を要領よく修正しては駄目だった。直接的な原因となったのは–num_threadsのパラメーターを投げていたのが原因でした。

公式では下記の内容に変更しなさいと書かれています。tf.lite.Interpreterの部分を置き換えればよいだろうと思っていたのです。

interpreter = tf.lite.Interpreter(model_path=args.model_file)

マスターのソースコードは若干、公式とは違ってこのようなソースコードになっていました。

  interpreter = tf.lite.Interpreter(
      model_path=args.model_file, num_threads=args.num_threads)

渡す引数が一つ増えていたので、自分はそれを残していたのですが・・・?、これでは動かないのです。そう・・num_threads=args.num_threadsは削除してあげないとモデルを動かすことが出来なかったのです。それがわからず渡すパラメーターが駄目なんだとか思って四苦八苦していました。

自分みたいな修正方法している方も中にはいると思ったので、今回、初心者がハマった沼を紹介しました?。

タグ

, image, label, LITE, py, tensorflow, あなた, インストール, エラー, コード, ここ, コマンド, スペック, ソース, それ, テンソル, はい, パス, パラメーター, フロー, ブログ, マシン, マスター, モデル, ライド, ラズベリー, 下記, , 修正, 公式, 出力, 動画, 原因, 問題, 場合, 字幕, 実行, 方法, 箇所, 紹介, 結論, 自分, 解説, 通り,

人工知能のお手軽モデル生成がGUIで出来るやつtensorflow対応。

2021.05.12

Logging

人工知能のお手軽モデル生成がGUIで出来るやつtensorflow対応しているからね。本当に便利だと思います。以前ブログで紹介したかもしれません、もしくはツイートしたか記憶が定かではないのですが再度改めて記載します。このlobeというソフト(アプリ)は人工知能の学習を行い、学習データからテストもできるのです。一番良いところは学習データ=モデルをエクスポートしてテンソルフロー(tensorflow)で動かせるところです。

Introducing Lobe | Build your first machine learning model in ten minutes.

テンソルフロー(tensorflow)で動かし方を解説している記事がありますので、そちらのリンクを貼っときますね。
https://dev.classmethod.jp/articles/lobe-lobe-export-tensorflow-lite/

これから先、人工知能の学習は誰でもできるようになり誰でも人工知能を使ったものがお手軽で作れるようになっていくと思います。あと数年後で自分が思うにはエクセルでも人工知能の学習で判定できるような関数が搭載されてもおかしくはないと思います。それぐらい人工知能は浸透してきていますね。因みに人工知能(教師あり機械学習)ってデータが多いほど、精度の良い結果を出してくれます、なのでデータは結構大事になりますよ!

LobeからTensorflow Lite形式でエクスポートしてMacで推論してみました

タグ

articles, classmethod, dev, GUI, https, jp, lobe, lobe-lobe-export-tensorflow-lite, tensorflow, アプリ, エクスポート, これ, そちら, ソフト, ツイート, データ, テスト, テンソル, ところ, フロー, ブログ, モデル, もの, やつ, リンク, 人工, 以前, 便利, , 再度, 学習, 対応, 本当, 生成, 知能, 紹介, 解説, 記事, 記憶, 記載, ,

tensorflowは簡単にインストールできるけど、そこから何やれば

2019.02.09

Logging

tensorflowは簡単にインストールできるけど、そこから何やれば
良いのか、よくわからない。
いま流行りの人工知能ですが、こういうこと出来るよってのは
知っている、例えば画像の仕分けとか。
そこからオリジナルに適応できないのだ。
若造なら画像収集とか考えそうです、、、えぇぇ。
10代なら若気の至りだろうけど、40代間近になると
さすがに無いなと思うわけです。
収集していたらグロ画像が釣れそうな気がしますし
怖くてできません。ちなみに
逃げるは恥だが役に立つグーグル画像検索ダウンロードコンソールアプリを
公開しているのですが、これ変更すればえぇまぁ出来そうですね。
■人工知能を仕事で活用するならば。
人工知能で出来ることで、人の顔にモザイクをかけることが出来るということ。
他には、画像の仕分けとか、本屋さんで小耳に挟んだことですが
工事現場とかでは結構写真を取らないといけないらしく
それを分別するのが面倒だとか、
こういうのには人工知能は大活躍しそうですね。
 

タグ

10, 40, tensorflow, アプリ, いま, インストール, オリジナル, グーグル, グロ, こと, これ, コンソール, さすが, そこ, ダウンロード, モザイク, , 人工, 仕事, , 公開, 写真, 収集, 変更, 小耳, 工事, , , 本屋, 検索, , 活用, 現場, 画像, 知能, 簡単, 若気, 若造, 適応, 間近, ,

テンソルフロー的な画像解析。

2017.09.03

Logging


Tensorflow(テンソルフロー)的な画像解析をやってみました。
コードはオープンで公開する程のものではないので仕組みだけ説明します。

python classify_image.py --image_file test11.jpg

Pythonのモジュールの上記(classify_image.py)のファイルをパラメータ渡しでキックしているだけです。
モジュールはグーグルさんが書いているのを貰ってきただけです、何とも簡単に
画像を解析してくれます。ここまでたどり着くまでには長い道のりがありましたが
手順を教えます。
まず、Tensorflowをインストールして置きます。これはググれば見つかります。
TensorBoardで可視化とかしていませんので割愛します。インストールして
任意の場所に下記のモジュール(models repo)をダウンロードします。
https://www.tensorflow.org/versions/master/tutorials/image_recognition

ダウンロードしたファイルを配下に画像を置けばおわり、その名前と共にファイルをキックして
あげるだけでOKのはずが・・・・。OKじゃねぇ、そう何か動かない。
構文間違っているじゃねぇみたいなエラーを吐くのでファイルを修正します。

この配下に「classify_image.py」ファイルがありますのでこちらを修正します。
紫で囲っている部分を削除してしまいましょう。実際、自分は削除はしませんでした。
あまりPythonの構文を分かっていないので、コマンドラインからは不必要かもしれないけれど・・・。
WEB上で動かす(呼び出す)際は必要かもしれないのでコピってコメントアウトしてます。
コメントアウト後、PHPの関数、execを使い外部コマンドでPythonを実行してみると動きます。
動いた時は感動します。ひとりニヤニヤしてました。
返却されたものを表示しているだけ・・・なんですけどね。

サンプルサイトはこちらです。
http://zip358.site/labo/

タグ

AM, exec, image_file test11.jpg, models repo, python classify_image.py, TensorBoard, tensorflow, エラー, グーグル, コマンドライン, サンプルサイト, テンソルフロー, テンソルフロー的, パラメータ渡し, ファイル, モジュール, 下記, 外部コマンド, 構文, 画像解析, 配下, 関数,

理解している人は話が分かりやすい。

2017.09.03

Logging


 
昨日、じぶんがTensorflowをつかってやったのはCNN技術ということらしい。
(ツイートしたあの画像!!)


頭のいいひとがやっているのはDCGANという事に取り組んでいる人達が多いのか?
CNNはあるモノ(与えられた要素)からそれが何かを判別することに使う。
DCGANは無い状態からそれに近いものを生成する技術。
この動画を見て、そういう感じじゃないのかということを表面上理解したのだけど
これをコーディングするのはどうすれば良いかはクエッションマークだらけ。

TensorFlow勉強会(5) DCGAN – How does it work?

何故、阿呆なじぶんが機械学習を勉強しているのかということは昨日書いたから
割愛します。そんな自分が昨日、いろいろな人のTensorflow講義をYOUTUBEで見ていたところ
頭のいいひとの方が分かりやすい言葉で教えていることのほうが多いなという事が印象に残りました。
逆にじぶんが理解していない人は専門用語がだらっと多い気がしました。
今回、グーグル社の中井さんが解説しているCNNとDCGANの内容が素人でも
わかりやすく解説しているなという印象を受けました。
Tensorflow勉強会というチャネルは結構良質な内容かなと思います。
どちらかと言えば触りの内容が多いのですけど、WEBで調べる時に大事になるキーなどを
知る事になり良かったです。
ただ、動画は分かりやすいのですが
阿呆でもわかりやすく解説している専門書は今の所まだ無い。
逆に言えばプログラムは分かるけれど、これとコレの基礎を勉強しなさいという
機械学習超入門書がほしいところ、たぶんパラメータ投げればTensorflowが
勝手にレスポンスを返してくれるからっていうのは誰しも分かっている人は大半だと
思うのですね。問題はもっと噛み砕いて解説している超入門書が欲しいです。
誰か出さないかなぁ・・・。

タグ

B074SFHQLJ, CNN, DCGAN, impress top gear, Pythonベース, tensorflow, Tensorflow勉強会, TensorFlow機械学習クックブック, Tensorflow講義, いいひと, クエッションマークだらけ, じぶん, チャネル, パラメータ, レスポンス, 中井, 専門書, 機械学習超入門書,

超それ!機械学習、 TensorFlow!!

2017.09.02

Logging


機械学習でどんな事出来るの?
勝手に勉強してくれるお利口さんな機械学習もあるけれど
オープンソースで提供している機械学習ってのは大体、前もって
答えを与えておいて、そこから判別するものがある。
今回、某検索サイトが提供しているTensorFlowでどんな事が出来るのだろうと
思い、ネットサーフィンしていたら、面白い記事を見つけました。
なんと、Raspberry PiとTensorflowをつかってきゅうりの仕分けができるというシステムを
開発した人がいました。この記事を読んでまさに「超それ!」
https://cloudplatform-jp.googleblog.com/2016/08/tensorflow_5.html
自分が思い描いていた機械学習でできることだと!

いやホントに凄いな、機械学習っていうのは
これからの花形になっていく存在だとつくづく思ってしまいました。
これか先、AIを作る層、AIライブラリやAI、APIを使う層、そしてAIを使う層に
別れていくだろうと思います。じぶんみたいな凡人開発者はAIを作る層には入れないですが、
AIライブラリやAI、APIなどを活用できるようにしないと、
今後、この業界で生き残っていくのは難しいじゃないかなと思っています。
なぜ、そう痛感しているのかと言えば
機械学習で検索すると数年前まではあまりヒットしなかったのに
去年あたりからな。いろいろな人が技術をオープンで公開し始めています。
この動きは止まることはないのではないかと思うのが一番の理由です。
ちなみに自分はあるサーバでTensorflowをインストールして動かしています。
まだ、テストを動かして遊んでいるぐらいで、じぶんでゴニョゴニョ開発しているわけではないです。
開発する前にやらないといけない事があるので、そちらが終わってから
Tensorflowコードをパクりながら学習しようかなと考えています。
https://www.youtube.com/watch?v=4HCE1P-m1l8
ちなみにtensorflowの公開をしますとか、言っていてからもう一年ぐらい
経過しているのかもしれません。すみません、じぶんは阿呆なので
もう少し理解するまでお時間が必要です。噛み砕いて提供できるまでには
結構、時間が必要かもしれません。
じぶんを機械学習したいこの頃でした・・・(´・ω・`)。
 

タグ

08, 2016, 5, AI, API, cloudplatform-jp, com, googleblog, html, https, Pi, Raspberry, tensorflow, オープン, お利口, きゅうり, けが, こと, これ, サーフィン, サイト, システム, ソース, そこ, それ, ネット, ホント, もの, ライブラリ, , , 今回, 仕分, , 判別, 勉強, 勝手, 大体, 存在, 学習, , 提供, 検索, 機械, 答え, 自分, 花形, 記事, 開発,

グーグルさんが機械学習ライブラリ「TensorFlow」をオープンソースで公開した。

2015.11.11

Logging


グーグルさんが機械学習ライブラリ「TensorFlow」をオープンソースで公開した。
(ニューラルネットワークとかいうものを使って学習するそうです!!)
Apache2の環境で動作するそうだ。
その前に機械学習って何だろう?
ググッてみてもあまり情報が出てこない・・・。
データを投げて、統計生成や統計から予測、パターン抽出などを
してくれるのが、機械学習だそうだ。
TensorFlowはPythonで動かすそうだ。
公式サイトを見ていてわかったこと、
Apache2の環境で言語はPythonがないと
動作しない、画像認識:=一致(猫の画像から猫らしき
画像を見つけたり出来る)、また、文字認識などが出来る・・・うん?
数字のサンプル提供・・・・。
文字認識が出来る新たなスパム対策が必要になるじゃないか・・・・
オープンソースでこんなの出すなよ・・・・。
悪用しようとすれば出来るじゃないか・・・・。
但し数字だけ提供しているので文字は今のところ提供していない
との事です。見ていて思ったのですが、データはやはり提供してくれない
みたいなので、企業向けだなと感じました。
膨大なデータがないと機械学習は不可能に近いので
個人がどうこうするには、もう少し時間が必要ポッいです。
WEBクローラーなどで情報を収集して
機械学習させてゴニョゴニョ…(ノ゚д゚(; ̄Д ̄)することは
可能(´∀`*)ポッいですが、どちらにせよ。
機械学習のことが分からないと素人には無理(´∀`*)ポッい。
ちなみにグーグルのデータを活用できる機械学習サービスとして
prediction APIがあります。
https://cloud.google.com/prediction/?hl=ja
関連リンク
http://googledevjp.blogspot.jp/2015/11/tensorflow-google.html

TensorFlow: Open source machine learning

タグ

, Apache2, ITエンジニア, prediction API, Python, tensorflow, WEBクローラー, グーグル, ググッ, ゴニョゴニョ, データ, ニューラルネットワーク, パターン抽出, 但し数字, 文字認識, 機械学習サービス, 機械学習ライブラリ, 機械学習理論入門, 統計生成,