デジタル・デザイン・ラボラトリーな日々

アラフィフプログラマーが数学と物理を基礎からやり直す

Shizuoka.py #6 and shizudevの資料公開

はじめに

2017/02/18(土)に「Shizuoka.py #6 and shizudev」が開催され、静岡県島田市の会場に11名集まりました。Shizuoka.pyは名前の通りPython向けの勉強会で、shizudev(静岡Developers勉強会)は開発全般の勉強会で今回共同開催となりました。昨年は人工知能ブームで「TensorFlow」が話題になり、静岡Developers勉強会では2016年は4月に「人工知能ハンズオン」を開催しました。その流れでPythonが繋がった次第です。参照:Shizuoka.pyを2/18にやります

TensorFlowの件でPythonの勉強会をやるなら、昨年に「TensorFlowでキュウリの選別・仕分け」で話題になったキュウリ農家の小池さんが静岡県人だったので、なんとか勉強会に呼んでセッションをしてもらいたいと思っており、今回実現することが出来ました。

共同開催

shizudev(静岡Developers勉強会)とShizuoka.pyが共同開催にした理由は下記の3つです。本当は昨年の11月頃に今回の「Shizuoka.py #6 and shizudev」の話があって年2回になるはずだったんですが、発表者の予定があわず2017年に持ち越しとなった次第です。

  • 勉強会の実績として年数回の1つにしたかった
  • 会費がまだ残っていて使い切る必要がある
  • 会場の会議室を過去に使用したことがある

宣伝効果

今回の勉強会用に「数学史」のセッションを作成していたのですが、資料をまとめるのが大変で飽きてしまい、その合間に以前から疑問に思っていたPythonについてのブログを書きはじめたのですが、これも年表を作成し始めたら大変になってしまった(^-^;
このブログ内に勉強会の宣伝を入れておいたところ、神奈川から1人参加して頂きました(キュウリが目的です)

qiita.com

勉強会内容

資料はこちら→Shizuoka.py #6 and shizudev - 資料一覧 - connpass

セッション 発表者
Bottle RESTサービスをWebTestでテストしてみる & Pythonメタプログラミングでテストの自動生成 @oec014
clickでお手軽コマンド作成 @fmkz___
数学の歴史 @yaju
TensorFlowを使ったキュウリの仕分けあれこれ @ike_jpn
TensorFlowでFizzBuzz @yaju
AWS Lambda Pythonについて @aoshiman
LT 確定申告をpythonで乗り切る @hrs_sano645

気になったこと

全部は書けないので2つのみ。

TensorFlowを使ったキュウリの仕分けあれこれ

キュウリの仕分け機は試作3号機を制作していて、カラー画像を活かしてキュウリの表面の傷なども認識したいとのことです。
資料の22ページにある「教師データの錬金術」の話が興味深かったです。本来キュウリにしても不良品を作らないように頑張っているわけですが、教師データには不良品が大量に必要になるわけです。どうしたら良いのかと見つけたのが下記の論文(PDFダウンロード)です。
[1612.03019] Automatic Model Based Dataset Generation for Fast and Accurate Crop and Weeds Detection

下図は野菜と雑草を見分けるのに、Unityを使って仮想上にデータを作成しているわけです。
「そもそも集まらない場合は、仮想世界で瞬時に大量生産したデー タで学習して、現実世界に適用すればよい。 最近のゲームを見ても分かる通り、高品質なテクスチャだけでなく、光効果、物理現象す らもリアルに再現するよ。 」ってことで、まさに錬金術ってことです。
f:id:Yaju3D:20170301005602p:plain

この話を聞いて帰宅後に思い出したのが、Googleが自動運転カーで仮想空間を走行させているって記事でした。Googleだから自動走行のシミュレーションをたくさんやれると思われ、日本企業で同じことをやるにはサーバー代のコストが問題となりそう。どんどん差がついて、敵わなくなりそうだ。 gigazine.net

AWS Lambda Pythonについて

AWS Lambdaとは、AWSの新サービスで、従来は複雑な仕組みを必要としたイベントドリブンなアプリケーションを簡単に開発できるプラットフォームとのことです。例えばメールを受け取ったら、別のサービスを起動させるみたいな。

以前、違う方法にしていたのをAWS Lambdaに切り替えたとの話です。

  • 子供の習い事の送迎バスは到着10分前にメールをくれる
  • しかしメールに気づかない場合が多い
  • 音声などで知らせてくれる仕組みが必要

AWS Lambdaを使ってメール通知を受け取ったらクラウド電話APIサービス「Twilio」を呼び出す、自宅の固定電話(ナンバーディスプレイ付き)を鳴らす、ナンバーディスプレイの音声読み上げ機能を使って「バスが来ます」と知らせてくれる。
システム構成図:個人ユースにおけるAWS Lambda Python事例

ナンバーディスプレイは自宅でも使用していますが、携帯電話では一般的な機能なのに400円と高いです。NTTさんどうにかして下さい。
Twilioも使い方次第で便利そう、価格的にも悪くない。

最後に

キュウリの仕分けってソフトウェア側だけでなくハードウェア側があるから凄いんですよね。やはりハードウェアってやってみたくなりました。今なら「Raspberry Pi」や「Arduino」を使ってモーターを動かしたり、3D CAD/CAM ソフトウェア「Fusion 360」で歯車や部品とか作って3Dプリンタに出力できるんですよね。あとはやる気と勉強次第です。

身近な人を楽にさせてあげようと作ったものが、次第に周りに広まって大きくなっていく。

有名な発明や開発のきっかけとかってこんな感じですよね。

懇親会はとても楽しかったです。とある理由で不覚にもホテルに泊まることになってしまったけどね。