レビューメディア「ジグソー」

敷居の高すぎる開発キットをどう調理するか。。!

今回レビューするのは

前評判で敷居が高すぎるとされていた

「インテル(R) Joule(TM) 570x 開発キット」 です。

インテルさんが出している小型の組み込み向け開発ボードなのですが

過去にも

GalileoやEdison等が出ています。

実は私はraspberry pi 3ぐらいは持ってはいるものの

この手のものは全く触ったことがありません。

 全くの素人の私にどこまで扱えるのか。。

きっとそういう枠として頑張れということだと思いますので

色々と頑張っていきたいと思います!

 

細かいハードの仕様等はもっと詳しい方がやってらっしゃると思いますので

私なりの超初心者、素人視点から

色々と試行錯誤、レビューをしていきたいと思います!

 

-----

やはりみなさん画像処理が多いようですね。

Real Sense等あれば手軽だったのですが、

試しに色々やってみようと思ったところちょっと無理がありました。。

私は音声認識の方をアプローチしてみたいと思います!

 

更新: 2016/11/19

レビュー環境

今回レビューにあたり開発・セットアップ用の母艦は

未だに現役(中身はだいぶ変わっていますが笑)の

G-Tuneを使わせていただきました。

 

その他には

Logicoolさんの

Logicool HD Webcam C525(カメラ)

エレコムさんの

U3H-A408SBK(USB3.0ハブ)

JBLさんの

JBL PEBBLES(USB DAC スピーカー)

 

を使って色々試しております。

 

上記アイテムに関しましては今後レビュー、追記出来ればと思います。。

 

更新: 2016/11/14

全体的に敷居が高すぎるので苦戦しました

まず、あまりにもコアすぎるのか?

情報がほぼ皆無でした。

最初はUWPで開発できるということで

何の考えも無しにWindows 10 IoT Coreを導入したのですが

私の技術、知識では何も出来なさすぎる。。

そもそもWindows 10 IoT Coreが想像していたのと違いすぎました。

そして、音声周りで日本語が全く使えないみたいで

音声認識も使い物になりませんでした。。

これは完全に想定外でした。

更新: 2016/11/14

それならやはりLinux?

上記の通りWindows 10 IoT Coreでは話にならないという結論に至るまで

5日ほどかかりました。。

そこでやはりLinuxでいった方がいいかもしれないと思い

またLinuxを入れなおすことに。。

何やら色々あるみたいですが、

とりあえず公式で推奨?している

OstroOS?が良さそうですね。

更新: 2016/11/14

Ostro導入の際のメモ

技術的な部分を書くと量もすごいし面白くないので

基本的には書かないつもりなのですが、

ここはメモとして書いておきます。

まず、使うOSはOstroというやつみたいです。

Creating a bootable device (manual process)

ここに辿り着くのが難しいという。。

流れとしては

ostro-xt-image-swupd-intel-corei7-64.dsk.xz

これをダウンロード

Win32DiskImager-0.9.5-install.exe

をインストール

後はUSBに展開すればOKです。

MicroSDでやったところ何度やってもうまくいかなかったのですが

USBにしたら一発でブートしました。

後はWi-Fiを有効化して接続

ーーーーーーーーーーー

connmanctl

enable wifi
scan wifi
services
agent on
connect WIFI_ACCESSPOINT
ーーーーーーーーーーー

WIFI_ACCESSPOINTに関しては
上のservicesで出てきた一覧の
自分がアクセスするポイントの
wifi_xxxxxxx_managed_psk
ってやつを打てば大丈夫です。
更新: 2016/11/19

Ostroも全然機能が無い...?

無事Ostroも入れられて起動確認できたのですが

なんとこちらもほとんど何も出来ない。。

apt-getやyum等パッケージを簡単に入れられる環境が無かったです。

素人の私にはこれはきつい。。

ということで更に断念。

フォーラムの方を見ていると一つの光が。。!

更新: 2016/11/19

どうやらUbuntuが動くようです。。!

フォーラムを見ていると、

UbuntuをJouleで動かすことが出来たという報告があがっていました。

非公式とはいえ、これだけ色々な環境を動かせるというのは便利で助かりますね!

まずLiveUSBを使って試用版を起動したうえで

eMMCのパーティションを全て削除して

新規インストールする感じでした。

細かい手順を確認しながら導入して。。

 

(直撮りで申し訳ありません)

無事起動しました!

若干操作にもたつく時もありますが

基本的には問題なく動いています!

Ubuntu Core等ではなくフルバージョンのUbuntu16.04です。

これが動くのは結構驚きですね。。

これも今回ハイパワー路線にしたJouleならではかと思います。

 

 

これならOpenCVで画像認識できるかも!と思って

一生懸命構築始めたのですが、

ストレージが16GBしか無かったので途中で尽きました。。笑

流石に無理があったようです。

 

更新: 2016/11/19

Juliusで音声認識、家電制御!

OpenCVは無理でも音声認識ぐらいならいけるか。。?ということで

Juliusというソフトウェアを用いて音声認識を試してみたいと思います。

 

Juliusとは

 


Juliusはフリーの高性能音声認識ソフトウェアです.

数万語の語彙を対象とした文章発声の認識を行う能力を持ちます.

Juliusは高速な音声認識を一般的なスペックのPC上で実現します.

認識率は,20,000語彙の読み上げ音声で90%以上です.


とのことです。

Linux、Windows、Macのすべての環境でサポートされています。

 

上記の容量不足の関係でMicroSDを追加してそっちでmakeしようとしたら

パーミッション云々等の問題で

全然makeがうまくいかなくて時間がかかってしまいました。。

結局makeはメインのドライブでやらなければだめなのですね。。

 

この辺の細かい手順は今後また追記していければと思います!(需要があれば

 

今回Juliusとさらに

OpenJTalkというソフトウェアも使わせていただきました。

 

OpenJTalkとは


Open JTalk は、修正BSDライセンスの元で配布されている

日本語テキスト音声合成システムです。

Open JTalk は、オープンソースの形態素解析エンジンの

MeCab(和布蕪、めかぶ)、奈良先端大学を中心にして開発された

形態素解析用辞書の naist-jdic、隠れマルコフモデル(HMM)に基づく

音声合成エンジン hts_engine を用いています。


なんだか難しいですね。。

あらゆるすごい技術を組み合わせて

入力されたテキストに対して語彙解析等を行い

音声合成を行ってしゃべってくれるすごいものです!

簡単に合成音声が扱えます。

 

これはJuliusで入力された音声を解析しているところです。

この入力された言葉に対して

アクションを起こすようにしてあります。

現在は「はいじゅるちゃん」でJouleを起こして

続いて一定時間以内にコマンドを言うとそれを実行するように実装しています。

画面を見るとわかるのですが、

うちの娘のことを「ぼんちゃん」と呼んでいて

それが「じゅるちゃん」と誤認識して動いてしまうのですよね。。

キーワードを変えないと厳しいかもです笑

先日リリースされたVisual Studio 2017RCを早速使って

こんな感じに書いています。

OpenJTalkがなかなか可愛い声でしゃべってくれるので

よぉおおとかにすると愛嬌があって良いですw

 

実際に電気やテレビを

IRKITを経由して操作できるところまで開発してあります。

これは完全に動画で撮らないと伝わらないのですが

お部屋のお片付け等色々準備しないと厳しいですね。。

後日追記していきたいと思います!

 

 

 

更新: 2016/11/21

やっぱりOpenCVは使いたいっ!

ソースからコンパイルすると容量が足りないので

apt-getで直接インストールして何とか出来ないかと調べたところ、

python-opencvなるものがあるのを発見!

これを使えばいけそう?


apt-get install libopencv-dev

apt-get install python-numpy

apt-get install python-opencv

これで準備は完了らしい。。

実際に後ほどカメラ映像を表示してみたいと思います!

更新: 2016/11/21

python-openCVでカメラ映像を表示

簡単なサンプルプログラムを書いてみました。

#!/usr/bin/python

 

import cv2.cv as cv
import time

 

cv.NamedWindow("JouleCamera", 1)

 

capture = cv.CaptureFromCAM(0)

 

# 画像サイズの指定
cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_WIDTH,640)
cv.SetCaptureProperty(capture,cv.CV_CAP_PROP_FRAME_HEIGHT,480)

 

while True:
    img = cv.QueryFrame(capture)
    cv.ShowImage("JouleCamera", img)
    if cv.WaitKey(10) > 0:
        break
cv.DestroyAllWindows()

 

これでとりあえず画面にカメラ映像が出力されました!

表示だけなら簡単でしたね。。

更新: 2016/11/21

cv2.SIFTが使えない。。

どうやらpython-opencv 2.4では使えないっぽいですね。。

調べるとopencv3をオプション付けてビルドしろとか。。

残り5.3GBしかないので絶対容量足りないんですよね。

 

何かいい方法は無いのだろうか。。

更新: 2016/11/22

Anacondaを使ってOpenCV3をインストール

Anacondaを使えばcontrib入りのOpenCV3がインストールできそうです。

https://www.continuum.io/downloads

ここから64bit用のAnacondaをダウンロード

chmodしてから

./Anaconda3-4.2.0-Linux-x86_64.sh

 

途中聞かれるのは全部Yesで大丈夫だと思います。

(インストール先のパスはデフォで)

その後パスを通す必要があるので

echo 'export PATH=/root/anaconda3/bin:$PATH' >> ~/.bashrc

source ~/.bashrc

これでcondaが使えます。

そしたら

conda install --channel https://conda.anaconda.org/menpo opencv3

これでインストール完了!

使えるようになると思います。

しかしOpenCV2から3で色々と変わっているようで

コードが別の場所で動かなくなってしまった。。

うーむ、色々と難しいです。。

更新: 2016/11/23

Python+OpenCV3で画像認識

本当に2.4から3でかなり中身変わったようですね。。

とりあえず一通り書き終わってテスト出来ました!

顔を認識するだけなら簡単なのですが、

今回は画像を一枚指定(自分の顔)して

カメラにそれが映ったら処理するようにしてみました。

 

SURFでやっているのですが、

中々いい感じです。

ただ、動作は流石に重いですね。。

ORBにすると処理は早いのですが

うまく認識してくれない上に映像の色がおかしい。。

更新: 2016/12/06

音声認識で家電を操作!

色々とやってきましたが、

これでひとまず完成とさせていただきます。

 

上の方でやったJuliusとOpenJTalk、そしてIRKITを組み合わせた

音声での家電操作です。

照明とテレビを操作しました。

 

これはなんか未来感ありますっ!

このぐらいなら簡単に構築できますね。

実際は認識間違いの少ないように

どの言葉をトリガーにするかでめちゃくちゃ悩みましたが。。

 

 

更新: 2016/12/06

[まとめ]まだまだ課題は色々ありますが、非常に楽しい製品でした!

基本的に組み込み向けなので用途が限定され

一般ユーザーが使うものではないので情報がほとんど無かったり

まだソフトウェア面が全然整っていなかったり

課題がかなり多い製品でしたが、

ハードウェアのスペックの高さにより

工夫次第でかなりのことが出来そうな感じでした!

 

実際、画像認識や音声認識をさせることが出来たので

本当にすごいポテンシャルを秘めていると思います。

 

今後もちょこちょこ思いついたことがあったら試していきたいと思います!

28人がこのレビューをCOOLしました!

コメント (8)

  • yosyos888さん

    2016/11/19

    お疲れ様です。
    音声とは良いところに目をつけられましたね。
    でも顔認識も音声認識も音声合成も、RealSenseで全部できると思ったのに...
    音の入出力はどんな感じで実現しているのですか?
    入力はカメラ、出力はUSB DACなのでしょうか?
    でもOstroだとALSAも入ってないし、道は遠いのかもしれませんね。
  • 臥栩さん

    2016/11/19

    >yosyos888さん
    お疲れ様です。
    早速コメントありがとうございます!
    消去法で音声しか出来なかったのですが、
    結果的に被らなくて良かったです。。

    本文でも触れていますがOstroもWindows IoT Coreも
    想像していたのに比べて何も出来なすぎですよね。。
    そうなのです、本当は私も画像認識やりたかったのでカメラ調達したのですが
    現状ではただのマイクになってしまっております。。w
    カメラのマイクから入力して
    Juliusで解析、コマンド実行
    実行結果をOpenJTalkで音声合成してUSB DACから出力しています。

    ALSAが扱えないの厄介ですよね。。
    ラズパイとかと同様oss?で認識させる必要があるのでしょうか。。
    (この辺あまり詳しくなくて今回も悩みました。。w)

    推奨環境ではないのでリスクはありますが、
    個人的にはUbuntuに移っちゃうのがおすすめです!
    ストレージの容量が少ないのを除けば想像以上に動いてくれるのでびっくりしました。
  • yosyos888さん

    2016/11/19

    さっきIntelのページ見たらbetaですが、ubuntuがあったんですよ。
    日程感が嫌がらせのようですがw
他5件のコメントを表示

ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。

YouTube の動画を挿入

YouTube の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ニコニコ動画の動画を挿入

ニコニコ動画の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ZIGSOWリンク挿入

検索対象とキーワードを入力してください

    外部リンクを挿入

    リンク先の URL とタイトルを入力してください

    URL を正しく入力してください。

    画像を挿入(最大サイズ6MB)

    画像を選択してください

    ファイルサイズが6MBを超えています

    別の画像を追加

    ZIGSOW にログイン

    ZIGSOW会員登録(無料)はこちらから