高橋かずひとのプログラミング、その他、備忘録。

日々調べてたことや、作ってみたものをメモしているブログ。 お決まりの断り文句ですが、このブログに書かれている内容は個人の見解であり、所属する組織の公式見解ではありません。チラ裏。

改めて、RaspberryPi4での手検出試行錯誤中。

2021年は流石に、もう手検出は自分でモデル訓練したり試行錯誤しなくても良いかなー。
と思っていたのですが、RaspberryPiで動かそうとすると、
そうも行かない雰囲気が出ていたので、再度いくつか試行錯誤しています。

 

MediaPipeのpalm_detection.tfliteのみを動かしてみたり、、、
Raspberry Pi上で動いている動画を取り忘れました、、、
現時点で6~7fpsくらいで動いています。

 

MobileNetV2 SSD FPN-Liteを自前データで学習してみたり、、、

 

続く?

【Python】MediaPipeの検出結果を仮想カメラ経由でZoomに流し込む遊び👻

MediaPipeの検出結果を仮想カメラに流してZoomで表示してみています。

 

あと、ロボットキャラ動かしてみた。

 

 

ただ、仮想カメラのバックエンドがWindowsだとOBS Virtual Camera(GPL2)、LinuxだとV4L2(GPL)だったりする関係上、仮想カメラ系のラッパーは大体GPLなんですよねー、、、

Pythonのimportが動的リンク扱いになる関係上、MediaPipe(Apache v2)と合わせたソースを公開するのは黒寄りのグレーか黒なんですよねー。。。

以下、苦悩ツイート。

 

 

 

 

 

2020年振り返り

f:id:Kazuhito00:20201231224001p:plain

はじめに

12/25(金)に仕事納めしました。
あとは、だらだらとLT資料作ったり、プログラム作ったりするだけの予定なので、
いったん2020年の振り返りをしたいと思います。

目標達成状況:Twitterでつぶやいたやつ

まずはTwitterでつぶやいた目標3点から。
結果はボコボコですが。。。

・メイカー系のイベントに出展したい
 未達成
 ネタ自体はいくつか用意していたのですが、、、
 自社や派遣先からの注意喚起もあり、念のため自粛しました。
 メイカー系のイベントは得るものが多いと思っているので、
 コロナが収束したらチャレンジしたいです。

Github 累計100スター達成
 達成
 累計スター262個で達成です。
 達成ではあるのですが、いまいち目標が低かった感が否めないです。

 草は生えました🦔  f:id:Kazuhito00:20201231224051p:plain

・東京の勉強会で発表
 未達成
 こちらも、コロナが収束したらチャレンジしたいです。

・勉強会を開催したい
 未達成
 オフラインの勉強会を開催したかったため、
 こちらも、コロナが収束したらチャレンジしたいです。

 まー、こう見るとコロナが流行った時に目標の再設定しなかった。
 と言う問題もありますね。。。

目標達成状況:追加目標

・Kaggleでメダルを取得
 達成
 これは、どちらかと言うと、会社からの依頼なのですが、、、
 以下2コンペで、まぐれ銅メダルを取得し、なんちゃってExpertになりました。
 ・Global Wheat Detection:148位/2245チーム(7%)
 ・Mechanisms of Action (MoA) Prediction:258位/4373チーム(6%)

 来年は「Masterを目指してほしい」と言われましたが、、、
 「なれ」と言われて、どうにかなるものでもないと思わなくもない、、、🙄

どんな年だったか?

2019年に比べてアウトプットを頑張った年だったと思います。
ただ、2019年までGithubのアウトプット皆無だったツケもあり、
過去のソースを焼き直したものが多く、質より量になってしまっていたと思います。

アウトプットしたもの

LT

LTや発表は7本ですね。
ディープラーニングガジェット品評会で出したスマートミラーは面白い題材だと思うので、
イカー系イベントに向けてブラッシュアップしたい思いです。

今年の出だしが「市販のプレゼンソフトに満足できなくなったお話」なので、お察しですが、、、
今年やった発表のスライドは何かしらの飛び道具を使用しています。
感覚ですが、質問タイムで一番多い質問は「そのプレゼンどうやって実現しているんですか?」だった気がします🦔

kazuhito00.hatenablog.com

kazuhito00.hatenablog.com

kazuhito00.hatenablog.com

kazuhito00.hatenablog.com

kazuhito00.hatenablog.com

kazuhito00.hatenablog.com

kazuhito00.hatenablog.com

Github

公開リポジトリは2020年で70個作成しています。
少々、粗製乱造な感が否めないです。
さすがに70個それぞれ取り上げるのは多すぎるので、
特徴的なやつを2つだけ。

① Deep写輪眼
2019年に、MobileNet v2 SSD-Liteで作った時は、どうしても検出精度が出ない印(未とか申とか)があり、
公開にいたらなかったのですが、EfficientDet-D0で作り直して、ボチボチ検出出来るようになったので公開できました。
github.com Twitterで公開した動作イメージ↓

からあげさんの書籍にも取り上げていただきました。感謝。


②Tensorflow2 Object Detection APIのColabハンズオン
当初、社内向けに作っていたのですが、コロナ云々で結局年内は使わなかったり、
他社の新人研修やチーム内教育で使用いただいていたり、
からあげさんの書籍に取り上げていただいたりして、
上長の耳に入ったらブッ飛ばされそうなリポジトリです🦔 github.com

上記2リポジトリは「albumentations-examples」と合わせて、
「人気ブロガーからあげ先生のとにかく楽しいAI自作教室」で紹介いただいています。重ねて感謝です🦔

Qiita

Qiita投稿は9つでした。
基本メモ書きが主ですが、OpenCVアドベントカレンダー用に書いた以下の投稿は、
はじめて100LGTM越えた投稿です。
12/31時点で442LGTM🦔 qiita.com

個人的にはPython版のMediaPipeパッケージの投稿もお気に入り。 qiita.com

Zenn

Zennには2つほど投稿しました。
こちらは特筆するような内容は無かったかしら、、、たぶん。
記事の書きやすさはQiitaよりZennが自分にはあっていて、
ストレス無く書けたので、来年はZennの投稿が増えるかも。です。

今年始めた活動

DM等で相談受付

「Tensorflow2 Object Detection API Colabハンズオン」関連の活動なのですが、
TwitterのDMで質問や相談を受け付けるようにしました。
熱心な5名くらいの方と質疑応答しましたが、自分が深追いしていなかったところの議論が深まったりで
かなり勉強になったと感じます。

オフラインでの相談受付

コロナ時勢もあり、頻繁には実施していないのですが、
勉強会で知り合った方の相談を受け付けたりもしました。
詳細は書けないのですが、リアルな技術課題のお話が出来て良かったです。

カジュアル面談

今までは、メールやDMだけでお断りしていたのですが、
最近は残業も控えめになってきたので、
数社ほどカジュアル面談を受けさせていただきました。
誰かが「ひとまず、受けて視野を広げるのも良い」みたいなことをツイートしていたのを、
思い出して面談を受けたのですが、熱い思いを聞けたり、伝えることが出来て楽しかったです。

2021年は

2020年が春夏秋冬通してコロナの年だったので、2021年もどうなるか不安ではありますが、、、
出来たらオフラインの勉強会の参加と、開催をしたいですね。

しかし、今よく情報交換をする人たちは、2019年に参加したオフラインの勉強会の知り合いの方々か、
その方々に仲介いただいた知り合いなので、コロナが続くなら、新しいやり方もチャレンジしなきゃ。とは思います。

あと、アウトプットは継続していきますが、2021年は質を高めていきたいです。
1つのリポジトリを継続開発して伸ばしていくということをやってみたいです。
長く取り組める題材を探すところからですが🦔
そして、お世話になった方のリポジトリ貢献もしたいです。

LTや発表はタイミングがあえば2021年も積極的にやっていく予定です。
今のところはNGK2021Sの予定のみです。 ngk2021s.connpass.com

あ、PyCon mini Shizuokaもやるなら応募したい。

おわりに

2020年ありがとうございました。
2021年もよろしくお願いいたします。

「Kindleの蔵書リストをGoogle Colaboratoryでデータ分析してみた」+ Amazon Product Advertising API(商品情報API)

からあげさんの「Kindleの蔵書リストをGoogle Colaboratoryでデータ分析してみた」です。


前回は7月22日にやっていますね。

 今回は年末でキリが良いのと、追加で「Amazon Product Advertising API(商品情報API)」を利用してみました。

スクレイピングも検討していたのですが、Amazonの規約的にアウトぽいので、正攻法のAPIで行きます(Amazon出品者かアソシエイト登録者か開発者登録者じゃないと使えませんが)

 

「ログインしなければスクレイピングAmazonの規約的に問題無い」とか、「大量アクセスしなければスクレイピングもOK」みたいな説明をしているブログも目にしたのですが、個人的にはNGな気がするので、作りかけていたスクレイピングのコードは非公開です。

 

Amazon Product Advertising API(商品情報API)追加版ノートブック

からあげさんの公開ノートブックをベースに、いくつか処理を追加しています。

 

Amazonの商品情報APIを使用する際には、以下を設定してください。

KEY    = "<ACCESS KEY>"
SECRET = "<SECRET ACCESS KEY>"
TAG    = "<TAG>"

 

蔵書数

6414になりました。

7月22日から473冊増加です。

 年毎の購入数

 2015年に及ばないものの2020年もボチボチ購入していますね。

f:id:Kazuhito00:20201229214658p:plain

月毎の購入数

今までの積み上げだと、2012年からのデータのため、ちょっと分かりにくいですね。

2020年の単年で確認すれば良いかしら🙄

f:id:Kazuhito00:20201229214820p:plain

と言うわけで2020年単年での購入実績↓

f:id:Kazuhito00:20201230182915p:plain

10月めっちゃ買ってますね、、、

内容確認してみたら、バキシリーズ買いあさってました🙄

日毎の購入数

 相変わらず23日の購入数が飛び抜けています。謎。

f:id:Kazuhito00:20201229214933p:plain

ちなみに、2020年単年での購入実績↓

f:id:Kazuhito00:20201230183046p:plain

2020年で見ても23日めっちゃ多いですね、、、(22日と4日も何故か多い)

謎。

まったく思い当たるふしが無いです。

23日って何かありましたっけ、、、?

曜日毎の購入数(0が月曜日、6が日曜日) 

前回と同じく金曜日が若干多いですね🙄

f:id:Kazuhito00:20201229215054p:plain

こちらも、2020年単年での購入実績を見てみます↓

f:id:Kazuhito00:20201230183242p:plain

金曜が多くて月曜が少ないですね。

月曜はジャンプ読んでる気がするので、なんとなく納得。

金曜は、、、なんでしょうね、、、

次の日休みだと買ってしまうとか、、、?

タイトル文字数の分析

f:id:Kazuhito00:20201229215155p:plain

平均:16.818210
標準偏差:12.240585
最小:1
最大:90

文字数1のタイトル

前回から変わらず「累」です。

文字数90のタイトル

こちらも前回から変わらず
「売る!アイデアの作り方のすべて――たった6パターン39通りの考え方で、成功するビジネスモデルが見えてくる!: HIT商品のアイデアの全てを、整理・パターン化して完全網羅!【保存版】」です。

ただ、もうkindleで売っていない模様。発売停止?

筆者の分析

 バキとNARUTOを改めて買い揃えたので、一気に2位3位に浮上しています。

 Amazon Product Advertising API(商品情報API)で情報取得

Kindleの蔵書リストにASIN(Amazon Standard Identification Number)があったので、ASINを元に価格とジャンルを取得しました。

API呼び出し毎にASINが10個まで指定できるので、10個ずつAPIをforでぶん回しています。

Amazon側には負荷をかけないようにAPI呼び出し毎に、1秒スリープをしているので、ボチボチ時間かかります。

自分の環境では6414件で12分20秒かかりました。

 

追記:

10件のうち1件でも何らかのエラー(AmazonDB内にデータ無いとか)が起きると残りの9件も道連れでデータが取れないため、総件数が少ない場合は1件ずつが良いかもしれません。

あと、当たり前と言えば、当たり前ですが、短時間にやりすぎるとエラー返されます。

取得できないデータ

何故かAPIで情報取得できないデータが結構な数ありました。

 

何個かピックアップして眺めてみると、、、

「アクタージュ act-age」、etc

 →あー、、、発売停止、、、

「ザ・シェフ」、etc

 →kindle unlimitedに登録し直しされて、ASINが変わった?

「日産 GT-R NISMO[GT-R NISMO] Kindleカタログ」、etc

 →公開終了? 

 

おそらく上記の3パターンくらい🙄

多分unlimited化とかでASINが変わってるのが多数ですかね。

 価格

 ひとまず、価格をdescribe()で要約統計量眺めてみます。

データ取得できなかったやつは、ひとまず除外。

  • 平均:597.883366
  • 標準偏差:457.549120
  • 最小値:0.000000
  • 25%:440.000000
  • 50%:564.000000
  • 75%:660.000000
  • 最大値:10890.000000

最大値10890?!

なんじゃそりゃ、と思いつつデータ見てみたら、

「【全15巻合本版】角川インターネット講座」と言う合本版でした。合本ならしょうがない。

価格Top10

高額商品が気になったので、Top10を眺めてみます。

1位:【全15巻合本版】角川インターネット講座 10890円

15巻合本しているからお得。みたいな感じに買ったのだと思われます。

2016年購入のため、もはや記憶のかなた。

 
2位:Code Complete 第2版 下 完全なプログラミングを目指して 6375円

安定のCode Completeですね。皆が認める良書。

なんで上巻が入ってないのか。と思っていたら、

今期間限定で50%Offのようです。

最近はちょいちょい50%Offしているの見かける気もしますが。


3位:アジャイルソフトウェア要求 5148円

これも結構読んだことある人多いと思いますが、、、

こんなに高かったっけ?


4位:万能鑑定士Q:全事件簿 4574円

万能鑑定士Qの合本版ですね。


5位:GOSICK 全9冊合本版 4455円

こちらも合本版。

一時期、合本版の小説を沢山読んでいた時期がありました。たしか。


6位:Pythonによる医療データ分析入門 pandas+擬似レセプト編 4159円

医療データ分析をやりそうになったことがあって買った本。

結局、医療データ分析はやらなかったのですが、この本自体は普段触れない知識が色々あって良かった覚えがあります。


7位:TensorFlow機械学習クックブック Pythonベースの活用レシピ60+ impres... 4158円

TensorFlowを良く触る人なら、とりあえず買っているんじゃないかと思っている本。


8位:ゲームメカニクス大全 ボードゲームに学ぶ「おもしろさ」の仕掛け 3940円

裏でインディーゲーム制作のお手伝いもしているので、そっち方面のお勉強系書籍。

ゲーム制作しなくても面白い本です。


9位:Python機械学習ライブラリ scikit-learn活用レシピ80+ impress t... 3861円

この手のやつ、買っただけで満足しているシリーズな気がします、、、

買うと安心する。

でも、実用するときは困りごとはググる。みたいな🙄


10位:美味しいマイナー魚介図鑑 3856円

唐突に魚介図鑑。

マイナー珍魚度、味の良さ、値段で評価されています🐟

 価格合計 ※正確には現在価格の合計(発売停止等のデータ取得できないもの以外)

3,367,877円

見出しにある通り、現在の価格であるのと、データ取得できていないものは加算されていないので、これよりお金使っているとは思います。

まあ、ぼちぼち使ってますね、、、🙄

ちなみに、2020年は、544,532円でした。

僕の雑魚年収を考えると、かなりの割合使ってますね、、、🙄

 価格ヒストグラム

10000円越えがいるからダメかと思っていましたが、、、

正直全然わからないですね、、、

f:id:Kazuhito00:20201230185732p:plain

範囲を0~2000円に絞ってみます↓

f:id:Kazuhito00:20201230185910p:plain

マンガが主なので、こんな感じですかねー。特に違和感無し。

ジャンル

ひとまず、value_counts()で数えてみます。

 

少年マンガ:1531
青年マンガ:1172
マンガ:791
取得失敗(発売中止等):781
タレント写真集:433
...
金融・ファイナンス:1
文芸・総合:1
マスメディア:1
文学・評論:1
ノンフィクション・伝記:1
Name: genre, Length: 87, dtype: int64

 

めっちゃ取得失敗したやつおる、、、🙄

僕はジャンル絞らず読むことをモットーにしているのですが、87もジャンル名あるとイマイチ分析しにくそうですね、、、

とりあえず、グラフにしてみます↓

f:id:Kazuhito00:20201230190333p:plain

文字ちっちゃ、、、

少年マンガ」と「マンガ」と「Manga」が別々にあったり、「Kindle本」と言うのがあったりして、イマイチ綺麗なデータじゃないですねー。。。

本格的に分析しようと思ったら、もうちょっとちゃんとした前処理要る🙄

要改善。

ジャンルTop10

取得失敗した件数が781件(約12%)あるのが痛いですね、、、

Unlimited化したやつとかは書籍名とかで紐付け直さないとノイズが多い気がします。

f:id:Kazuhito00:20201230190759p:plain

マンガが多いのは想定通り。

写真集って何だったかしら、、、

多分やりかけて挫折した女優分類的なやつの学習データかしら🙄

10円くらいで写真集がセールしているの見て買い漁ったは良いが、途中で飽きたやつ、、、

 プログラミング系の書籍が結構な数「工学」に分類されているため上位に来ていますね。

ファンタジーとかミステリーは中身覗いてみましたが、ほぼマンガでしたね🙄

 


 

やはり価格とかジャンルがあると更に面白いことが出来そうですね。

ただ、少々ノイジーな感じがするので、もう少しクレンジングとか前処理を考えたいところです🦔 

 

2020年に色々やったこと動画まとめ。

2020年に色々やったことを動画にまとめました。

 

突然の朗報:「人気ブロガーからあげ先生のとにかく楽しいAI自作教室」電子書籍版発売開始🦔!!

 ※Amazonリンクです。少々画像引き延ばしすぎたかしら、、、

 

「人気ブロガーからあげ先生のとにかく楽しいAI自作教室」は、

書籍版/Kindle版ともに2021年1月8日(金)の発売予定でしたが、、、

何と電子書籍版が先行発売されました🦔!

購入しました。読みました🦔!! 

 

 どうやら、冬休みの課題図書として読書感想文を書きたい方が大勢いたようで、

異例の対応で電子版の先行発売に踏み切ったようです!

 

僕は、普段なら書籍の感想はTwitterで一言二言つぶやく程度ですが、

今回は、はてブのほうに書いていこうと思います。

珍しく感想を書いたからと言って、ステルスマーケティングとかではありません。

仮に1億部売れたとしても、からあげさんが億万長者になるだけですので、

安心して以下にお進みください。

 

サポートサイト

サポートサイトはGithubリポジトリで運用されています。

書籍内で使用されるソースコード、FAQ、正誤表だけではなく、

各章で紹介された情報へのリンクや、登場した方々のアカウントのリンクが載っています。

こーいうリンクの一覧があると大変良いですね🦔

 そして、僕は書籍発売される前にStarを押すと言うフライングをしてしまっていました。からあげさん優しいからきっと許してくれる。

表紙

見た瞬間「やられた」と思いましたね。ズルい!

こんなの書店で平積みされていたらニヤニヤしてしまうでしょう🦔!

ちなみ以下らしいです。驚き。

タイトル

見た瞬間「やられた」と思いましたね。ズルい!

 こんなの書店で平積みされていたらニヤニヤしてしまうでしょう🦔!

たしか、出版社さん側で決めている系のタイトルだったと思うのですが、ツイートを見失ってしまいました。

まえがき

楽しく学ぶ。実践しながら学ぶ。

続けていく上で非常に大事な考えだと思います。

僕も上記の考えは実践できていると思っていますが、やはり継続するには楽しみがいりますよね🦔

1章 AIで遊ぼう

からあげさんの書籍に込めた思いと、AIを取り巻く環境について概要と学習のアプローチがつづられています。

そして、コラムには待望の「ディープラーニングおじさんインタビュー」🦔!

2章 AIで画像認識

画像分類(Classification) の、学習データ準備、モデル作成、訓練、推論が学べます。

また、Grad-CAMや転移学習、データ拡張を紹介されており、画像分類を試すうえで、一通り覚えておきたいことが学べます。

僕もMNISTの後で一回挫折した組ですので、当時こーいう本があったら良かったな。と思います。

あと、本章内で以下のリポジトリを、ご紹介いただいています。

大変ありがとうございます🦔

3章 AIでテキスト分析・生成

WordCloud/Word2Vecでの可視化や、文章生成(マルコフ連鎖、LSTM)を学べます。

あとBERTでの単語当て、可視化にも触れられています。

NLP(自然言語処理)は知っていなければお話にならない前提知識がちょいちょいありますが、そのあたりをサッと説明しつつ、手軽にお試しできる例が用意されているのは流石ですね🦔

4章 AIで画像を生成・変換

GANです。

個人的なイメージとしてGANが一番初心者泣かせだと思っていますが、

この章ではシンプルなGANでの実演と、StyleGANを使った高品質な画像生成が楽しめます。

章の後ろのほうにGANを利用した創作プロジェクトが紹介されているのですが、

「Chimera Painter」が紹介されていて、情報の取り込みの速さにビックリです。

「Chimera Painter」って確か11月中旬くらいに公開されたんじゃなかったでしたっけ。

12月末発売の本に書かれているのはビックリです。

5章 AIで人の姿勢を推定

「tf-pose-estimation」を利用した姿勢推定が学べます。

からあげさんのVTuberの絵面ズルいでしょ、、、w

そして、この界隈最強と名高いThreeDPoseTrackerが紹介されています。

6章 エッジコンピューティング

ラズパイでTensorflow-Liteを用いて推論する方法について学べます。

そして、ルンバハック🦔!

そして、M5StickV🦔!!

そして、最速の漢 PINTOさん🦔!!!

TFLite関係でググるGoogle情報より上に出てくることもある「PINTO_model_zoo」のPINTOさんです。

7章 まとめと今後の学習方法

俺たちの戦いは始まったばかりだ!

深堀するのも幅を広げるのも良いですね。

からあげさんオススメの学習方法についてまとめられています。

アウトプット大事。インプットとアウトプットの両輪大事🦔!

 

 

 

と言う感じで、

幅広いジャンルで、ジャブ~一歩踏み込んだ手法を学べる1冊です。

前書きにもあるとおり、基本は初~中級者向けだとは思いますが、色々な作例が紹介されており、上級者の方も楽しめる書籍だと思います🦔 ※私は自称中級者ですが。

 

追記:

書籍内で紹介されている方でTwitterアカウントがある方は、以下にまとめられています👻

https://github.com/karaage0703/karaage-ai-book/blob/master/REFERENCES.md

 

 追記2:

からあげ先生から、ご恵贈いただきました👾