色々なガジェットを改造してAI、IoT、ディープラーニングで遊んでみよう in KOF 2019

1

Hacking ａｎｄ play AI・IoT, deeplearning Some Mobile
device in KOF 2019１、 自己紹介 Self introduction
２、Recently my activities
３、AI、IoTとは４、IoTの定義、AIの定義
５、AI、IoTとガジェット
６、最近の実験事項
詳しい話はSlideshareで公開中@kapper1224

KOF2019 2019年11月9日 15:00〜
Place: 大阪南港 ATC ITM棟（10F）
10F：サロン

My devices andYOLO3This Presentation:
Slideshare & PDF files
publication of my HP
http://kapper1224.sakura.ne.jp

Gadget Hacking
User Group
Speaker：Kapper

2

自己紹介Self Introduction●My name: Kapper●

Twitter account：＠kapper1224●

HP：http://kapper1224.sakura.ne.jp●

Slideshare: http://www.slideshare.net/kapper1224●ニコナレ: http://niconare.nicovideo.jp/users/59379263●

Facebook：https://www.facebook.com/kapper1224/●

My Hobby：Linux、*BSD、and Mobile Devices●

My favorite words：The records are the more important than the experiment.

●●

Test Model：Netwalker(PC-Z1,T1)、Nokia N900、DynabookAZ、RaspberryPi
Nexus7(2012、2013)、Nexus5、OpenPandora、Chromebook、Fx0（FirefoxOS）、台湾Android電子辞書 無敵CD-920、CD-928
GPD-WIN、GPD-Pocket、Windows Tablet、SailfishOS、UBPorts
Recent my Activity：
Hacking Linux on Windows10 Tablet (Intel Atom) and Android Smartphone.
Hacking NetBSD and OpenBSD on UEFI and Windows Tablet.
I have been exhibiting in NT Nagoya, NT Kanazawa, Oogaki Mini MakerFaire.
I have over 160 Windows Tablet and 80 ARM Android, and test it now.
後、最近小説家になろうで異世界で製造業と産業革命の小説書いていますなう。

Recently my activities

Sailfish X on Xperia X

UBPorts on Nexus5
Nexus7 2013

postmarketOS onReports Linux on
Nexus5, Nexus7 2012 Windows Tablet in Amazon

NetBSD、OpenBSD、FreeBSD
Some Linux on Windows Tablet

Activities on NT, MakerFaire,Taiwan

3

異世界転生小説を書いています。
中世〜近世で製造業で産業革命するネタ。
●マニアックな技術論が得意な技術開発型ストーリー●
資料として買った本は十数万円相当・・・？
●

45

今回はガジェット改造とAI・IoT、ディープラーニングがテーマです
KapperはAI、IoTはまだ初心者なのでご容赦下さい●
今日はあくまでガジェットの話。改造したガジェットをどう使うか？
●
UNIX系OSをどう扱うか。特にMakerの皆様へ♥●
言語は何でも良いですが、ライブラリと情報が多いので一応Python●
組み合わせて楽しく安く遊ぼう●どんなOSが載せられるの？

6

Distributions

iphone５〜

Android

Windows
Tablet

NoPAE
NotePCRaspPiWindows
Phone

Kobo

Linux
Zaurus

Nokia
N900

Nintendo
SwitchCom
ments

Windows10ARM

ArchLinux

××△△△ー◎◎◎

×○◎
○△◎◎◎

△×××××△×××○△×△◎△△△△△

ARMDebian×××CentOS

××××ー×××××××××△×××ー×◎◎
◎
△△◎
◎
△△△△△
◎◎
◎
△○×ー
◎
×◎

△
◎
◎
◎
△△×ー××ー×ー
◎

○◎◎
◎
ー◎
◎
△
◎◎
◎
◎
×
◎

××××ー
×△××××△×××××△ー×△×××××××××○◎
ー××××××××
◎

×××
◎
ー×△
◎◎
◎
×
◎
×
◎

×△××ー
×△××××××？

Desktop

UbuntuFreeBSD
OpenBSDNetBSD
Android-x86ChromeOS
LineageOS
SailfishOS
PlasmaMobile

Maemo
ArmbianpostmarketOS

UBPorts
MainlineKernel

Official supported◎、Official reported○、User reported△、No reported ×

Desktop
Desktop
Desktop

Desktop
Desktop
Desktopｘ86
x86,ARM
ARM,x８６ARM
ARM,x86
ARM,x86
ARM
ARM,x86
ARM
Linux
*BSD

中古、ｼﾞｬﾝｸ ｶﾞｼﾞｪｯﾄ価格推定2019
低ｽﾍﾟｯｸCPU

ﾛｰｴﾝﾄﾞ中古 現行機種

要改造(ﾊｯｷﾝｸﾞ)

上級者・廃人ｿﾞｰﾝ~1000円 ~2000円 ~4000円 ~6000円 ~10千円 ~15千円 ~20千円
1 boardWindows
TabletAndroid
SmartPhone
TabletThinClientNAS

Nexus7 2012 Nexus5,5X
NexusPlayer Nexus7 2013
ME176C
ZenPhone2
Galaxy Tab Xperia Z1~Z5 Nexus10Galaxy S2 TF101,TF201

KPD-701
7ｲﾝﾁ中華Linux Zaurus
Windows Phone

W-Zero3
iPhone~4
ThinClient
AtomGame
ConsoleOpenWRT
Router

OnePlus3,3T
XperiaX

XperiaXA2
GooglePixel

Netwalker
WindowsRT
Nokia N900

DM200

Kindle Fire HD

Kobo
Kindle PapperWhite Kindle PapperWhite
Touch,Glo
2012〜20142015〜2017
DreamCast
PS2,XBOX,GC
TW06W

FCmini
PSClassic

GooglePixel3XL

Nexus9Nexus6

NSB-3NR1T1MLV
Kobo Aura

E-book

30千円～

JetsonNano
RaspiZero
JetsonTK1
Thinkerboard
Raspi2,3,4
Atomboard
NanoPi
JetsonTX1
W500P
Miix2 8
T100TA,HA
LegacyPC
CoreM Surface2ProKVI-40B
Venue8Pro
Photon2
ジャンクWinﾀﾌﾞ
Surface3
Win-70b8,10ｲﾝﾁWinﾀﾌﾞ2in1 Winﾀﾌﾞ
タブレット
GPD-WIN GPD-Pocket
スティックPC

KindleFireHDX2013

ARM PDA
SmartPhone

7PS3
XBOX360

Nintendo
SwitchGeminiPDA

8

AIとIoTとは

AIとIoTの位置づけ
AI：機械学習、画像解析、強化学習●
IoT：センサー取り込み、Webサーバ、グラフ化●
M2M：設備と設備がデータの直接やり取り⇒電子データが非常に重要である概念●

9まず先にペーパーレスが非常に重要
AIやIoTを最大限に扱うには、電子データが重要である●
データを紙で管理していると活用出来ない●入力作業とか押印とか保管など無駄な作業が大量に●最初にはペーパーレスを徹底して行って紙を無くす事で最大限に効果を発揮させる事ができる。
⇒IoTが重要。ペーパーレスの度合いは企業の力？
●

10

11

IoTの定義センサー、PC⇒ネットワーク⇒Webアプリケーション●
それぞれの概念を通じて情報を共有●
インターネットを通じて情報を見える化。クラウドで分析設備と設備がリンクしてやりとり●

センサー、設備、PC

Input: 電子ﾀｸﾞ、ｶﾒﾗ、ｾﾝｻｰ
設備、計測器、画像
音声、文字認識
Output: ｲﾝﾀｰﾛｯｸ
ﾌﾟﾛｸﾞﾗﾑｺﾝﾄﾛｰﾗ
電磁弁、ﾀﾞﾝﾊﾟｰ
RaspberryPi、PC

ネットワーク環境

各種システムWebアプリケーション

ｲﾝﾀｰﾈｯﾄ
有線、無線LAN
SIMｶｰﾄﾞﾙｰﾀｰ、PLC

各種ｼｽﾃﾑ
設備連絡ｼｽﾃﾑ
警報ｼｽﾃﾑﾌﾞﾗｳｻﾞ・ｽﾏﾎ
ｸﾗｳﾄﾞ、ﾚﾝﾀﾙｻｰﾊﾞ
AI、RPAよくあるIoTシステム？
自動発注、発注点管理

壊れる前に予防保全

自動運搬のセンサー制御
データ見える化、自動解析

自動検査のセンサー制御

12

IoTのデバイス？

13

安価で小さく低消費電力でネットワーク機能というと、1ボードPC(RaspberryPi)かArduinoが主流●
周辺機種を付けるとやたら高くなるという弱点
また長期信頼性をどう評価するか？
●
最終的にはLinuxか*BSDを使えるか使えないか？
電子工作系の人はやけにLinuxを恐怖の対象で嫌がるw（Windowsしか使えない？）●
よしガジェットを改造して使おうw●

高いRaspberryPiの周辺機種●

14

Zeroシリーズは安いけどその他が非常に高い
リスク承知の中華無保証品を除くと、産業用にはどうよ？
純正モニタ11,000円
純正ケース4,000円

Pi-Top 30,000円

ﾒｰｶｰ製UPS 6,000円

中華SSD拡張ﾓｼﾞｭｰﾙ 4,500円

3G LTEﾓｼﾞｭｰﾙ 7,000円

GPS拡張ﾓｼﾞｭｰﾙ 6,000円

その電子データ、本当に必要ですか？
データを集めるのは良いが、そのデータは本当に必要ですか？ データを集める事が目的になってはいけない●「やめる」「減らす」「変える」で増えるデータを整理●
データを集めると、決める前に解析して判断が必要
相関係数を元に、いるデータといらないデータを選別。
●
統計学的手法でいらないデータを判断して捨てる（QC７つ道具など）
●

15

16

AIの定義
機械学習の数値解析、画像解析、強化学習など●
言語は何でも良いがライブラリの関係でPython●
Anaconda3（conda)が使えると便利。
Windows10でも出来るけど、細かい所が不便
●

数値解析

画像解析

強化学習

こんなAI？
●●●●

人より優れた新しい価値のAI⇒データを元に人間の主観とは違う新しい価値観
人では出来ない膨大なデータ処理能力、予測難しい作業を毎回再現出来る強化学習
人と同じ事が出来るAI⇒ごく部分的だが、人間と同じ事が出来る
汎化能力は無いが、人間の経験値を学習
ロス改善AI⇒計算など自動化
音声認識、Botなどで自動化
画像認識で自動化
統計的予測で調整し自動化
IoT、VBA、ロボット、RPAなどと一緒に使う
課題としては①100％の精度が得られない②出てきた結果が理屈で説明出来ないブラックボックス③学習モデルの作成に非常に時間がかかる

17

AIを学ぶにあたって最初は分かりやすい数値解析を先に覚える●
段階的にWekaからPythonへ仕組みを学習●
古典的な重回帰分析でもそれなりに使えてしまう●
より精度を求めるなら勾配(こうばい）ブースティングを●そして画像解析や強化学習へ・・・●

Excel、LibreOfficeで単回帰分析、相関係数

Weka、JMPで重回帰分析、SVC、ランダムフォレスト

Python、RでKaggle(カグル)で流行ってるXGBoost、LightGBM

18

19

数値解析、重回帰分析●●●

数式で可視化出来るから意外と使える古典的な多変量解析、重回帰分析と決定木
適当に遊ぶならハイパーパラメータを使わないランダムフォレスト
複雑な学習方法は中身がブラックボックス化して計算過程が良く分からない。科学技術で使用するにはご注意を。

セトサ

バージニカ
バージクル

画像解析、ディープラーニング

20

AIが近年再び注目され始めたのは画像解析がニューラ
ルネットワークの手法で解析出来る様になったため●
最近はPythonでTensorflow+Keras、Chainerやpytorchなどがよく使われている気がする●
派生技術として物体認識、GANで画像生成、動画解析、自然言語解析、姿勢推定などなど●

畳み込みニューラルネットワーク（CNN）

再帰型ニューラルネットワーク（RNN）

個人的に推奨書籍？
●●

どちらかと言うと初心者向け？
「今すぐ試したい! 機械学習・深層学習画像認識プログラミング
レシピ 」
どちらかと言うと中級者向け？
「つくりながら学ぶ! PyTorchによる発展ディープラーニング」

21

実はやりたい画像解析

22

検査や運搬などは価値を産まない事が多い●
外観検査やアナログ表示を画像解析して自動化したい●
出来そうなんだけど・・・やってみたい●

外観検査などアナログゲージの数値化など

Analog Gauge Reader

https://github.com/intel-iot-devkit/python-cv-samples/tree/
master/examples/analog-gauge-reader

RaspberryPi+ Tensorflow Lite
Tensorflowは64bit専用だが32bit OS用Tensorflow
Liteが開発された。
●
AndroidやRaspberryPiなど比較的低スペックなPCでもTensorflowで画像解析が出来る様になった。
●

23

強化学習、深層強化学習
けん玉や囲碁などを切っ掛けに強化学習が人気●
本来のQ学習からDQN、DDQN。ディープラーニングを使用して画像を解析など。
●
ロボットに学習させる事で高度な仕事が出来るかも？
●24

Linux VS Windows10●

TensorflowもChainerも本来Linuxで開発●

WindowsでもTensorflow他が移植されて使える様になった

●

●

25

ソースコードで配布されているライブラリを使う時にVisualstudioが必要だったり、プロクシ設定などWindows独自の仕様が非常に使いにくい＊BSDはTensorflowがFreeBSDでも動くがAnaconda3の公式サポートから外れていて良く分からない。

Anaconda3問題
PythonディストリのAnacondaが公式対応しているのは、LinuxとMacとWindowsで主にIntel●
Anacondaが無いとcondaや人気パッケージがダウンロード出来ない苦しさ●
当然ARMや＊BSDはアレが無いという困り事発生
●

26

27

Python機械学習コマンドが約1年で入れ替わる？
●

●

●
●

●

Anaconda3はローリングリリースでパッケージが入れ替わる
インストールしたPC毎に環境が違うリスク？
最新版の命令に都度ソースコードを直すリスク？
Pythonのライブラリの命令コマンドが約1年前後でコロコロ入れ替わり
雑誌やWebの記事やプログラムが約1年で使えなくなる問題
様々なPCで動かす為のPythonアプリとしての配布が難しい⇒いつか使えなくなる？
こんなに入れ替わりの激しい言語でアプリどうすんの？
他の言語で作る？バイナリで配布する？

学習処理時間が凄くかかる問題
画像やデータを学習させる為には非常に時間がかかる●
現在はクラウドやGPUスティックがあるので、無理にCPU演算や高価なハイエンドPCが無くても良い●学習させたデータを使うだけなら高速なPCが無くても良い⇒Tensorflow Liteなど●
誰かそのうちC言語で書いてくれる事を期待して・・・●

28

RaspberryPiでディープラーニング？

29

TensorflowLiteでRaspberryPiでもディープラーニング
学習はパワーのあるPCで行い、学習モデルを使用●
安価なWindowsタブレットやAndroidでもTensorflowでディープラーニングが出来る●
クラウド環境を利用すればGPUもそちらで活用●
IntelやARM社のGPUがまだ非力。将来はどうなるか？
●
今はもはやRaspberryPiに高価なハードを沢山付けて無理やり動かす意味は無いのでは？
●そもそもプログラムすら必要ない時代
沢山のプログラムフリーなWebサービス●
中学生でも高校生でも簡単ディープラーニング●
年々機械学習の敷居が下がって誰でも出来る●
長期的に見ると、クラウドは課金に注意●

30

サービスロボットとAI
ロボットには2つの定義があり、産業用ロボット：古来からある自動化ロボット。
最近は画像認識と強化学習を実装中
サービスロボット：サービス業用途に使われる
最近は音声、画像認識、チャットボットなど利用●
サービスロボットは結構AIとIoTの複合体が多くガジェット関係と親和性が高い気が結構RaspberryPiも使われているかも
●

31

32

ここまででAIとIoTの概要説明
で、ガジェットは？

AIとIoTで要求レベルが大きく異なる
ロースペックで問題ないIoT。とにかく安さ重視●
ハイスペック必須だが、クラウドでなんとかなるAI●

周辺機種とネットワークと消費電力で意外とトータルコストに大きな差が付く。ちゃんと計算する事●
RaspberryPi Zeroはやっぱり格安。
USBーGPIOは2,500円前後とやや高め。
●
セキュリティ問題には要注意●

33

IoTの場合、液晶と電源を持つガジェット
モニタだけならKOBOやスマホをVNCかブラウザ●
ブラウザ経由で表示するならなんでもいけそう？
●
スマホ、タブレット、OldPCならWifiもカメラもGPSもセンサーも付いている機種もある●
古い機種から新しい機種まで●

34

あえてArduinoでIoT！？
●

●

●

●

35

認めたくないが、中華Arduino互換機はUS＄2.7〜3.6と爆安。十分IoT出来てしまう。
格安タブレットと組み合わせると2,000円前後でも使える、がモニタやバッテリが不要ならRaspberryPi Zeroの方が安い
Linuxで中華Arduino互換機を使う時はドライバ注意。
まずチップを調べて動く事を確認してから買うこと。
postmarketOS上でもArduinoが動けば、超格安ガジェットがリサイクル出来るので、最狂である。

OpenWrtデバイスでArduino、IoTも36OpenWrtを用いて超格安ルーターでArduinoを繋ぎIoTとして活用する方法はかなり昔からやられている(2007年あたりから?)●非常にスキルが必要であるが、先人の知識を学びたい。
●

IoTのUPS代替えとして●

37

UPS代替えとして電池モドキから本格的な物まで多数
バッテリ駆動で一定以上に電池が減った際に自動シャットダウン●

電源が急に落ちた際に、安全に対処してくれれば●

Arch wikiにAPC UPSデーモンでも自動シャットダウン

IoTのネットワーク課題
無数のIoT機器をどうネットワークに接続するか？
●
Wifi網を構築すれば問題ないのだが、ルーター設置費用やコストが意外と無視できない●
ルーターからのWifi電波の届きにくい所は有線など●
コンセントPLCを用いても良いが、配電盤の減衰課題
あり結構数必要になるかも●
格安SIMは安いが月額費用が上昇するから、要相談●

38

AIを動かすPCのCPUとGPU？

39

AIを学習させるためのPCは高速GPUを乗せたPCで行われる事が多い。デスクトップPCが主体？
⇒処理速度と時間の関係●
CPUだけで学習させるとかなりの時間がかかる●IntelとARM社製のGPUが機械学習を目的としていない⇒将来的には性能強化して対応してくるはず？
●
ノートPCやモバイルPC、1ボードPCなどでは学習したモデルを使用する事が前提に近くなっている⇒NvidiaのGPUを積んだJetsonなどを除く●
どうしても学習する時間を短縮したい場合はクラウド？
⇒クラウドを前提とするとガジェットは？
●AIを単体で使うのではなくIoTとして？
●学習させる事を目的とする為ではなく、学習データを収集するためのIoT機器としてガジェットを使用する●学習したデータをWebなどで表示したりする役割●

リモートデスクトップなどで複数の端末を操作●

サービスロボットの端末としても。音声やBotなど●

将来的には64bitのデバイスが増加しAndroidやガジェットで手軽にディープラーニング出来るようになる。

40

既に学習済みのモデルを転用？

41

既に学習されているモデルを使用してタブレットなどで●学習済みモデルをCPUだけで演算しても結構遅い●
一番有名なのはYOLO3とか白黒画像をカラー化とか●カメラと併用して画像認識するとかなり楽しいかも●Android上では？
Android上でもTensorflow Liteが使える●
アプリを開発するにはPython＋Java?
●chroot環境でUbuntuやDebian動かすのも●モバイル機器で機械学習という時代はもうすぐ来るのだろうか？
⇒スマホやタブレットでAIを活用する必要性？
●
ペーパーレスの関係でPCが使えない環境でもタブレットで自動入力する必要性がある。
●

42

43

ここ最近の更新情報
The newer my topics

CentOS8.0 and kernel4.19 Supported
Windows Tablet.
やっとリリースされたCentOS8.0。Kernel4.19になって一通りのWindowsタブレットで動作する様になった。
●
MultiArch対応しているのでUEFI32bit,64bit対応●

44Debian Buster and kernel4.19 Supported
Windows Tablet.

45

やっとリリースされたDebian Buster。Kernel4.19になって一通りのWindowsタブレットで動作する様になった。
●
MultiArch対応しているのでUEFI32bit,64bit対応●

＊BSD and Linux in LinuxZaurus

46

つついさんがNetBSD8.1をLinuxZaurusに移植●
Kernel5.0.0イメージでArchLinuxをLinuxZaurus移植
基本的にARMｖ５Tに対応していれば、どのディストリでも使えるはず。しかしSDカードが激重。
●
OpenBSD6.0FinalをLinuxZaurusにインストール
HDD上に展開するのでZaurusOSが消えるが非常に快適で凄い●

NetBSD8.1

OpenBSD6.0

ArchLinux

47

LinuxZaurusの移植状況
C１000

C3x00

Com
ments

△△×

C750,
C760
C8x0△△×△△△△△△

EoL

××××△×
◎
△×△×
◎
△×△△
◎△×△

○
◎
△×△

EoL

×△△△

△

△

EoL
(Debian)×××?

△△

△

EoL

×××

NetBSDNetBSDNetBSDLinuxNetBSD
LinuxLinux
*BSD

A300

B500

Debian××

ArchLinux
OpenBSDDistributions

UbuntuNetBSD
Android

ChromeOS
OpenZaurus
Angstron
PocketWorkstation
PdaXrom
PdaXii13

MainlineKernel

C700××××

SL55006000×△××××××××××××

ARMv5TARMv5T

Support now
EoL

EoL

他にも昔懐かしiPaQなどもまだ生きている48

1,000円初代eeePCとNon PAE Linux
●

●
●

●

49

ジャンクで1,000円で買ったLegacyノートPC
Non PAEデバイスにLinuxをインストール
実はgrubで「--forcepae」オプションを付けると・・・
PuppyLinux8.0が軽量、400MB相当でHDD使用量少ない
おーぷんここんも便利だが、Steamを遊ぶには800x480の解像度では少し足りない。仕方がなく仮想デスクトップのFVWMを使うかも。Steamゲームは軽さより解像度である（涙魔法の言葉：VNCのオプション：scallingを付けると・・・
PocketChipで昔よくやった。フレームレートも微調整すると快適

UBPortsでXperiaXとOneplus3サポート●

UBPortsがXperiaX、Oneplus one、Oneplus3,3Tをサポート。64bit機種にも対応（ソフトは32bit）

50

最近追加されたpostmarketOS
MainlineKernel

51postmarketOSのサポート160機種●

ついに160機種突破。どんどん増えるLinux

52

postmarketOSのWMは12種類
ただしまともに動くとは思っていけない53LineageOS17.0とunofficial LineageOS16.0

54

地味に進化し続けるPlasma-Mobile
Ubuntu、DebianベースのKDE純正のスマホWM●
地味にリリースされており、アプリも増えている。
●
Debian上でも動くのでWindowsタブレットやRaspberryPiでも使える●55

FS-UAEによるAmiga(MC68060)NetBSD8.1
エミュレーション

56

AmigaのMC680x0は今でもNetBSDやLinux(m68k)でDebianがサポートされている。メガデモ美しい。
●
エミュレータで動かしたい。WinUAEでは実績多数。
●
CD-ROMブートが出来ないだけなので、ファイルを取り出してHDDイメージとして読ませればNetBSD起動●

Hack inexpensive Nexus5 US$30●

Nexus5は各種OSの改造リファレンスマシン
Nexus5 is operated some Linux distributions.

●

SailfishOSやUBPorts、PostmarketOSなど動きます

SailfishOS, UBPorts, PostmarketOS and the others can play Nexus5.
●

MainlineKernelで現在進行形でサポートされている数少ないスマホ。
Linux Mainline Kernel has been supported Nexus5, like postmarketOS.

ECOMOでポイント引いて3,238円

57例えばこんな機種が安い・・・
The recently inexpensive devices●●

世界的に販売されたGalacyやXperiaは改造ネタが比較的多く、普及台数が多く安い為に面白いアイテムである。
アンダーグラウンドなROMを含めてのスマートフォンOS。
しかし改造出来るのはごく一部の機種のみ。
Galacy S2、S3

Xperia Z

Galacy Tab 10.1

58