2019年6月30日日曜日

煮詰まってます。

元々ソフトウェアはどれ1つ習得していた訳では無く、概略だけで来たのでIoT、AIの深い所でつまずいています。
一気に参考書を読んだ所で習得出来るのでは無いですが、もう少し基礎的な部分に時間を割かないとだんだん難しくなって来ました。
講習では話しの内容は理解出来てついていけています。コードを読む癖をつけないとダメです。分かったつもりが一番いけない。

仕事中に読書が出来ないので何か方法を考えないと行けません。
もちろん自宅や移動中にと読むのですが、頭の切り替えが出来ません。電話や懸案事項を抱えると出来ない性格なので本当に難しいです。

何に一番時間を割きたいかと言うとC言語(C++やC#含む)はパソコンと参考書があれば出来ます。これが一番プログラムの原点でその他の言語にも応用が効きます。
配列やポインタの扱い方を一からやり直し。
結局は平行して色々する事になるのですが、読んで実行して理解するといった感じ。
読書するだけなら学生の時するべきだったのでしょうが…
年のせいか読んでも頭に入らない…

すでにPython、ruby、Linux、JavaScript、Matlab、Unity、Vim等使う言語が増えて基板の回路を調べたり設計の為にEagleやKicadも3Dソフトも慣れないといけないし
 

OpenCV,OpenMV, YoloやTensor Flowの機械学習のフレームワークやライブラリー、偏微分、線形代数(行列)、ベクトル、ベイズ理論と統計学、カルマンフィルター、クオータ二オン(四元数=位置推定の為の角度センサー、角速度の扱い)…


昨年9月から駆け足で斜め読みと必要な部分の実践をして来ましたが、もう少し深く理解しないといけないと感じています。今実践で失敗している部分は中途半端な理解のせいの様に思います。

流石に小野さんも疲れて来ています。7月、8月はスピードを今までの3分の一以下にします。それ以上出来ないといった方がわかりやすい状態です。
なかなか効率良くは行きません。

2019年6月26日水曜日

GitHub講習

ジットハブと言っていましたが、ギットハブなんですね。
プログラムを管理するクラウドサービス。オンプレ(自社サーバー内)でも管理する事の出来るサービス。
マイクロソフトが買収したサービスですが、トップ企業の半分は使っているサービスなのでセキュリティ的には問題はありません。

私自身アカウントを持ってはいますが、他の人の閲覧をするだけで使い方が分からなかったので講習に参加しています。

大体のイメージは運用中のプログラムを効率よく多数の開発者と一緒に開発修正するサービスかな?

具体的にはメインブランチ運用中のサービスをそれぞれの開発チームがコピーする(ブランチを作る=枝分かれのコピーを作る。)それに例えば新しい機能を追加する変更を加える。そしてそれに他の人にその変更に問題が無いかチェックして貰って再度変更といった具合に修正を繰り返します。その後元のメインブランチにマージする(結合する。)
といった事をシステマチックに進めるサービスです。
やはり効率的な印象です。
その中には自動的にコードをチェックしてバグがある若しくはコンパイルが通らない部分をバックでチェックしてくれる便利な機能付き。
変更を加えた所のコードも色分けしてくれるので見易く、エラーのある状態でマージ出来ない様に機能がついてします。
問題のあるプログラムがリリースされない仕組みになっています。

チームの中でコメントのやり取りもメールで自動的にリクエストする様になっています。

その後マイクロソフトでDevOps(=develop+operation)のお話。
今は開発と運用を分けるのではなく同時進行が主流。開発して運用してまた開発し直して改善するサイクル事が当たり前になっています。
アマゾンのAWSに対してマイクロソフトはAzureといったクラウドサービスの話し。
色々なサービスがあるのでどっちがどうかは分からないです…

説明はちんぷんかんぷん…まぁAWSのサービスと追っかけている感じ…
マイクロソフトも以前よりクラウドにシフトして持ち直している感じです。

マイクロソフトはwindowsに依存しなくなっている感じです。ただ過去の資産があるので今優秀な人材をどんどん入れているのでちょっと混乱している感じ。
サービスにはWindows,MacやLinuxでもサービスが使える様になって来ました。
もうGoogleのサービスとシームレスにできる様になっているので良くなっています。
マイクロソフトではある必要も無いですけど…
説明している担当者がMacを使っているのが象徴的でした。

もう過去の遺産に頼れないので新しい技術と共存する様になっている様です。どんどんオープンソース化してます。特許で独占して何かをする時代はIT業界では終わっています。
一部の会社が特許で儲けようとしてもそれに変わる技術が出てきてそもそもの技術が使われなくなります。ワード、エクセル、パワーポイントで食べていける訳でもなくWindowsはハードとソフトのバランスが悪いモデルが混在して使えないPCが多く今回殆どのエンジニアがMacBookを使っていました。



2019年6月25日火曜日

やはり出てきた。

赤外線機器を開発していると安く、小さく、扱いやすくなる様な形になって来ます。
現在使用しているブレイクアウトボード
一番ポピュラーな部品でこれで5000円で割高ですが、これを使っています。
このソケットにLEPTON3.5をセットしてケースを付けるとどうしても全面は5cm角は必要になってしまいます。
でこれが出てきました。
これを使うと約三分の一の大きさになり配線も楽になり、このソケットの裏にはARMコアが付いているのでUSBを直接機器に差し込んで画像の出力が出来ます。
ずっと開発を続けていると開発者の意図も見えて来ます。
つまりFLIR自体がナイトビジョンをLEPTONを使って作る可能性が可なり高いと思います。既に出来ている可能性があります。

無線接続はノイズで繋がらない可能性が排除出来ないのでこれを使って有線での接続も考えています。
ただ、その場合はFLIR自体も含めて競争が厳しくなるのは必至です。
当然色々なGPUに直接繋ぐアプリケーションはどこでも開発が出来るので...

あとサーモグラフィーを保護する窓も必要になるので調べていますが、日本では12.5MMで1ミリ厚が5万円…他を探しています。

因みに中国製





やっぱり旭化成の0.5mm…


2019年6月15日土曜日

続く試行錯誤とターゲット

色々探して飛行時間が少ない問題があるが、技適をクリア出来るドローンが生産中止の模様。Simtoo fairy droneもGPSの問題が致命的で使えない。
どうも200g以下のドローンで技適を取得するブラシレスドローンは出ない感じ。
電波法は重要な事は理解するが、世界標準の機器が日本では煩雑で費用の掛かるシステムの為(規制)日本国内では使えない。ゲームを含めたIT機器の業界では”おま国”と言われています。日本の悪習?
決まりは決まりで文句言ってても始まらないのでターゲットを見直し。
メーカーのZerotechは保守用部品のサポートのみで、早晩それも終了?

画像を安定させる為に必須なのは安定したホバリング機能とジンバル。
この改造も未完成のまま。いつかは完成させるつもりですが…
試行錯誤で色々な知見を得たので無駄では無かったと思います。
適当なドローンが販売されれば別ですが200g以下のドローンのソリューションは中止します。ある程度こんな事になるような予感はありなかなか進まなかった。

ベタですが、次はこれにジンバルを併用する。
風の影響は少ないので元々方法としては悪くないですが…
*金属の棒なので電柱や電線に注意して使う必要がある。

もう1つは200g以上になりますが。DJI Mavic Air(430g)に
サーボモータを使うとノイズで誤動作する問題が解決出来ない。

なのでブラシレスモーターで再挑戦!
途中経過…
これを減量して組み合わせる方法を考える。
あとは小野さんが作ったJetson Nanoを使ったAIシステムを応用して初心完徹出来るか?

最近のキーワードは、
”兎に角やってみる”と”無駄な事をする”。

2019年6月14日金曜日

第10回例会「AIビジネス実装事例セミナー2019」

改めて他社でもAI開発に関しては同じ様な悩みや問題がある事が分かった。
先ず第一に社内にAIとは何かを理解してもらう事が難しい。
日常の仕事と直接結びつけるにはまずAIで何が出来て何が役に立つかを理解する事が出来ない。何をするにもその目的を明確にして(目的変数)その為にどのデータが使えるか必要か(説明変数)を洗い出してそれからひたすらデータを集めてその目的を導き出せるかが問題。

例えば駅に近い人通りが多いお店の売り上げを予測する事は出来ますが、店員が何人帽子を被って清潔な服装していれば売り上げがどの位かは予測する事は出来ません。
一見分かりやすい例ですが、例えば服装が清潔で無く、厨房で帽子を被らないとお客は来ない事から売り上げが上がらない事は想像出来ますね。

目的変数が売り上げ、説明変数が駅からの距離、人通りが多い=○
目的変数が売り上げ、説明変数が清潔な服装かどうか=X
目的変数がお客の減少、説明変数が清潔な服装かどうか=○
目的変数が客数、説明変数は売上=X(これらの関係は単に相関関係で変数では無い)

これら目的変数、説明変数は客観では無く主観で想定してその関係が合理的に結びつくかは実際に導き出して数値化して統計学的に証明する=AIが役に立つ。

仮に目的変数と説明変数の想定が正しくても、データの取り方を間違えると結果が想定外になります。その時想定が悪いのかデータの選び方が悪いのかは経験が無いと分かりません。実際はもっと複雑な説明変数になるからです。

今回のセミナーではそれだけでは無くその次のステージの問題提起をされました。

ショップで検索される商品から売れ筋を導き出す事は既に出来ているのですが、いつだれがどこでといった要素を足す事でもっと複雑な売れ筋商品になっていきます。それは最初のステップから次のステップ、その商品をいつだれが買う事でその人は次にどの商品を買うかを予想して提案するその精度をどのように上げていくかはそれまでのステップで優良なデータを集めれば精度の高い結果が得られてそれらのデータはまた次のステップと循環して他社と差別化出来ます。
それを実践しているのがアマゾンです。それらの統計学的なデータから需要と供給を的確にする事で顧客を集めてサービスをどんどん向上します。その為にAIや数学者やプログラマを雇って更に他社と差別化します。

つまり正しい目的変数をもって正しい説明変数を探し出しその結果集まった優良なデータからさらに詳細な目的変数や説明変数を循環させるとそれは他社が容易に真似の出来ない差別化が出来ます。
グーグル、アマゾン、フェイスブックがそれを実践しているのでイメージは出来ると思います。
個々の生産現場、サービスのAIもこの優良のデータを集める循環が出来ると最強の会社(グーグルやアマゾンの様になれるという事を説明していました。)流石研究員。

ただ単に駅から近く人通りで売り上げ予測で終わってしまうようなAIは直ぐに終わってしまい商品にならない。その試行錯誤から上記の循環に持って行くことで初めて商品になりそれがAIの成否の鍵になります。

何となく理解出来て実践できるかはわからなかったのですが、研究員曰く先ずはデータを集めてこのサイクルを実践する事が重要。
どれが正しいかは最初からは分からない。これがAIの現状です。
一見それすらAIで導き出せばと思うかもしれませんが、それはもっと先です。

結論は何かを始める。千里の道も一歩からといった事です。AIと故事は相性が良いようです。急がば回れです。

具体的な話で業務を改善する例で、責任者の決裁の判子を押す事が問題で判子を押すロボットを作ってしまうと本末転倒。
老人ホームで洗髪の補助にロボットも、介護者が洗髪をしながら要介護者とコミュニケーション出来なくなると本末転倒といった話がありました。
まさに目的と手段を正しく理解する事は一見簡単な様で実際にやってみないと分かりません。

2019年6月11日火曜日

ジンバルとサーモグラフィー画像の安定化(その2)

*ジンバルとわ機械式ジャイロの剛性。
ブラシレスモーターはやはり重い…
バッテリ無しですでに140g!

 
このモーターが2つでバッテリもリチウムバッテリは2sタイプ(7.4vなのでなおのこと重くなります。)





参考までにサーボモータータイプ
サーボタイプは70gでブラシレスモータータイプの半分以下

ブラシレスモーターは動きは滑らかで理想的な画像になります。
カメラの位置も調整可能(右のポテンションメータ)可変抵抗で上下の調整分かります?

2つジンバルの比較
どちらもオープンソースを使っていろんな人の知恵がいっぱい詰まっています。もちろんここまで動かすだけでも一苦労、これを設計して作った人には頭が下がります。

2019年6月7日金曜日

ジンバルとサーモグラフィー画像の安定化

現在使用中のLEPTONというサーモグラフィーセンサーは最大データ転送が8.9FPS(フレームレート)つまり1秒間に8枚程度(通常普通の動画カメラは30-60FPS)。
サーモグラフィーセンサーの位置を急に動かすと俗に言う”手振れ”がおきます。
なので昨年からジンバルという画像を安定させる機構を試行錯誤中。
3軸センサー(英語: inertial measurement unit、略称:IMU)を使ってアクチュエーター(モーター等)を動かします。
3軸とはx軸(ロール)y軸(ピッチ)とz軸(ヨー)です。
今回軽量化の為ヨーは使いません。
もう少し分かりやすくカメラで説明するとカメラを左右の傾きがロール、カメラの上下の傾きがピッチ、因みに今回使わないのはカメラ左右の回転(ヨー)。
前回説明したセンサーの動きはAI、3次元データとロボティクスを見てください。
昨年夏より小型のドローンに搭載可能な様にサーボモーターを使ったジンバルは完成したのですが、ドローンのモーターの出力が上がるとその磁界で誤動作を止める事が出来なかったので。原因は恐らくサーボモーター内部のPWMドライバーのノイズ?対策は半年続けましたが改善せず。
今回はブラシレスモーターを使ったジンバルに挑戦中。
重量がどうしても重くなります。現状バッテリーを含まず100g。
オープンソース(ボランティアで作った)ソフトで細かな設定や改造も可能な反面、設定が大変また数週間の時間が掛かりそう…

3Dプリンターとモーターを極力軽いモデルに変更しようと思います。
動けばこんな感じ。

2019年6月2日日曜日

音声認識もAI

ディープラーニングはCNN(畳み込みニューラルネットワーク)。
音声はRNN(recurrent neural netoworks=再帰型ニューラルネットワーク)といったシステムで基本システムはGoogleかアマゾンで殆ど完成されているのであとはここのシステムと紐付けしたサービスを開発するくらい。

グーグルは独自のサービス(主に検索する)くらい。

アマゾンはスキルといった自社のシステムの一部を公開してアレクサのシステムを使う事が出来ます。
例えばJRが運行状況を音声で案内するスキル。
FMラジオ局が音声で起動できるスキル(ラジコ)。
外国語通訳をするスキル、クイズやなぞなぞをするスキル等色々なサービスをサービスを提供する会社と一緒に開発しています。日本国内で2000スキル以上。
詳細はガイドブックが必要なくらい。
もちろんアマゾンの買い物もアレクサで可能、アマゾンプライム会員であればそれぞれのジャンルの一部の曲も無料で再生します。人気の曲は追加料金が必要(アップルのiTunesや他の音楽サービスの中では割安です。)
当然曲を聴き続けるうちに好みの曲をAIがおすすめするサービスつき。
本も読み上げてくれます。
添付のスキルのジャンルを参考に色々探してみるのも良いと思います。



私も簡単なスキルを作ってエネセーバの入り切りを音声でテストしました。
公開するには色々と条件がありますが公開しなければ開発はいろいろと可能。

日本では独り言の様に機械に話しかける事が疎まれますが、会話レベルで対応できるまでには開発は進んでいます。車を運転中に受信したメールを読み上げたりメールを送信したり。いろいろな操作が運転中に出来ます。料理中、作業中といろいろな事を同時に進める事が出来ます。

S社の様に一部のサービスだけではガラパゴス化かも。もちろんアレクサで同じ事やそれ以上の事が出来ます。

アマゾンやGoogleのサービスは世界中のサービスに繋がります。

地方の放送局は災害時に24時間災害情報を読み上げて放送を続けるサービスが普及しています。少ないスタッフで放送内容を校正してアマゾンに放送内容を送るだけ。

開発者として登録しているので最新の情報をみる限りまだまだ普及すると思います。
サービスやアプリもどんどん改良されています。