Quantcast
Channel: karaage. [からあげ]
Viewing all 1322 articles
Browse latest View live

横浜中華街の「慶華飯店」の牛バラ海老ワンタンが美味しくてコスパ最高でした

$
0
0

f:id:karaage:20171208175650j:plain:w640

横浜中華街でご飯難民

 横浜で出張の帰り、せっかくなので中華街に寄って見ました。お目当は、お気に入りの「海員閣」さん(以下記事参照)なのですが。

 なんと2017年の12月現在、休業しているじゃありませんか!

f:id:karaage:20171208174244j:plain:w640
 ショック…

 どうしようと途方にくれて、オンオンと泣きながら悲しみをツイートしたところ神(いわゆるGod)が現れました。

 これは行くしかないでしょ!というわけで「慶華飯店」に行ってきました。

慶華飯店

 念のために食べログで評価見てみると、かなりの高評価!みんな海老ワンタンをオススメしています。これは期待もてると早速お店に急ぎました。

f:id:karaage:20171208174752j:plain:w640
 お店の外観

 最初気づかず2回くらい通りすぎるくらい地味控えめな入り口です。

 メニューは迷ったのですが「海員閣」の牛バラそばが頭から離れなかったのと、食べログの「牛バラ海老ワンタンが一番美味しい!」というレビューを見て、情弱の私は「牛バラ海老ワンタン」を注文しました。

f:id:karaage:20171208175650j:plain:w640
 絶対美味しいやつ!

 もう見た瞬間に美味しさを確信しました。エビはプリップリですし、スープもとても美味しいです(見た目ほど濃厚でなく、どちらかというと上品な味です)。牛バラは「海員閣」さんのような衝撃はないのですが、確実にスープに溶け込んで旨味を出しています。量的にこれだけで私は十分でした。お値段は810円、大満足です。

妻へのおみやげは「紅棉」の「あんまん」で決まり

 できる男は愛する妻へのお土産も忘れません。妻の「あんまんが食べたい」というリクエストに応えるため「紅棉」さんの「あんまん」を購入しました。

f:id:karaage:20171208182341j:plain:w640
 「紅棉」さん

f:id:karaage:20171208182349j:plain:w640
 冷凍のあんまんはお土産に最適です

f:id:karaage:20171219173445p:plain:w640
 後日、お家でいただきました

f:id:karaage:20171219173528p:plain:w640
 餡子の黒さにツヤがある!

 中華街というと、肉まんというイメージがあったのですが、あんまんもめちゃ美味しいですね。当たり前ですが、コンビニのあんまんとは全然違います。しっとりとした上品な味が口の中に広がりますよ!ご家族やご友人が甘党の場合、たまにはお土産に「あんまん」を選ぶというのも良い選択肢かもしれませんね。

感想

 「慶華飯店」の牛バラ海老ワンタン美味しかったです。そしてお土産の「あんまん」も思わぬ(?)伏兵的な美味しさでした。「慶華飯店」さんは、五目海老ワンタンも激ウマというまことしやかな噂があるので、次はそちらも食べて見たいですね。

 あとは、「海員閣」さんの営業再開も待たれます。

関連記事


ロボットがコーヒーを淹れてくれる「変なカフェ」に行ってきた

$
0
0

f:id:karaage:20180207110140j:plain:w640

変なカフェ

 少し前にロボットがコーヒーを淹れてくれるカフェが渋谷にできたというニュースが話題になりました。

ロボットがコーヒーを入れる「変なカフェ」 渋谷にオープン - ITmedia NEWS

 私はロボットが好きなので「ロボット好きとしてすぐに行かねば!」と思い立ち、たまたま渋谷に出張の機会があったことにかこつけて早速訪問してきました。

 ちなみに「変なカフェ」を手がけているのは、ロボットが接客をすることで有名な「変なホテル」を全国展開しているHISさんです。写真も撮影OKだったので、いつものように写真をペタペタ貼っていきたいと思います。

「変なカフェ」の写真

「変なカフェ」の外観

f:id:karaage:20180207105933j:plain:w640
 変なカフェは地下のHISさんのオフィスにあります。地下に降りていくと…

f:id:karaage:20180207105954j:plain:w640
 変なカフェの看板

「変なカフェ」の店内

 お店の中です。

f:id:karaage:20180207110129j:plain:w640
 変なカフェあったー!

f:id:karaage:20180207110140j:plain:w640
 ロボットいたー!

f:id:karaage:20180207110151j:plain:w640
 券売機は普通です。対応も現金のみ

 ちなみにロボットのコーヒーを入れる姿を間近で見たい場合は「ドリップコーヒー」を頼む必要があるとのことです。もちろん、私は「ドリップコーヒー」を注文します。

ロボットがコーヒーを淹れるまで

 いよいよロボットがコーヒーを淹れてくれます。

f:id:karaage:20180207110301j:plain:w640
 コップをとって   f:id:karaage:20180207110258j:plain:w640
 所定の場所に置いて

f:id:karaage:20180207110312j:plain:w640
 QRコードをかざすと


 ロボットが動き出してコーヒーを入れてくれます!

f:id:karaage:20180207110521j:plain:w640
 コーヒーが抽出されている様子

f:id:karaage:20180207110903j:plain:w640
 出来上がり。コーヒーは普通に美味しかったです!

f:id:karaage:20180207110938j:plain:w640 ちゃんと洗ってくれます

f:id:karaage:20180207110622j:plain:w640
 ロボットの足元には、大きなパソコンが

隣のVRコーナー

 お店の隣には、VR体験コーナーが併設されていました。運営しているのは、「変なカフェ」同様HISさんです。

f:id:karaage:20180207113053j:plain:w640 6つのコンテンツが楽しめます。

f:id:karaage:20180207112831j:plain:w640
 VRコーナーの様子

 2つのコンテンツを1200円で体験できるコースがあったので、「変なカフェ」でコーヒー飲んだ後、少し体験してみました。これも楽しかったです!

変なカフェのロボットについて

 その日、たまたま「変なカフェ」を企画したという人がお店にいらっしゃったので、色々詳しくお話しを伺うことができました。以下箇条書きします。

  • ロボットはRethink Robotics社の「Sawyer」を使用(ちなみにRethink Robotics社の創設者は、あのルンバで有名なiRobot社の創設者であるロドニー・ブルックス氏です)
  • コーヒーの豆は拘って、小川珈琲(コーヒー)と同じ豆を使っている(確かにコーヒー美味しかった!)
  • ロボットは1時間に20杯のコーヒーを提供可能。1日100杯以上なら黒字にできるらしい
  • 従業員はメンテナンスする1人のみでOK
  • ロボット自身はほとんどセンサ無くて、基本的に決まった動作のみを繰り返す
  • ロボットの動きはダイレクトティーチング(作業者がロボットを直接手で持って動かすことでロボットに動きを教える方法)で教示
  • コーヒーを数杯分抽出できる機械は、西海岸のベンチャーから調達

 ロボットの価格ははっきりとした回答は聞けませんでしたが、このクラスだと500万〜1000万円程度じゃないかなと思います。2人分の人件費とロボットがコーヒーを淹れるという話題性の宣伝効果で、1,2年で元は取れそうですね。

 あと、ロボットに繋がっているPCは、特に使ってないそうです。Linuxが入っているらしいので、新型のaiboとかと同じでROS(Robot Operating System)で動かすこともできるのかもしれませんね。

将来の人間とロボットの関係について思うこと

 渋谷の「変なカフェ」でロボットが淹れてくれたコーヒーを味わってきました。ロボットって、最近の人工知能ブームの過熱もあって、何でも出来て人の仕事を奪っていくような印象を持っている人もいるかもしれませんが、囲碁で世界チャンプを破るほどのAIも、碁盤の枠から飛びした瞬間に幼稚園児以下のことしかできないアホアホマンになってしまうのが実態なのです。

 実際、去年までAmazonがロボットに人間の作業を代替させるコンペティション(Amazon Robotics Challenge)を行い、世界中の最先端の研究者が1台数百万円から数千万円するロボットを使ってAmazonの倉庫で行われる人の作業(ピックング)にチャレンジしたのですが、いずれのロボットも人の作業スピードに遥かに及びませんでした。それが最先端のロボットの実態なのです。ハードウェアとして見ると、1時間1000円とかで働いてくれる人間って実はめちゃくちゃ格安なのです。

 ましてや、普通のお店で買える様なロボットをなんとか使おうとするなら、アホでも動ける様に人間がお膳立てしてあげて、何かあったら助けてあげるようにしないとまともに使えないのです。そういう意味で、「変なホテル」「変なカフェ」を始めとして様々なロボットをビジネスで実際に運用しているHISさんは、ビジネスの設計も含めてめちゃくちゃロボットの使い方うまいなと思いました。

 近い将来に、もしロボットがもっと人の生活に入り込んできたら、仕事を奪われる人より「しかたないなー」と思いながらアホなロボットに付き合わされるお客さんや、アホなロボットのお世話する人の方が増えてくるんじゃないかなと個人的には思っています。でも、劇的に少子高齢化が進む日本で、ロボットをそれだけ活用できる未来は、どちらかというとかなり理想的な未来のはずです。もしそれすらできないなら、もっと悲惨な未来が私たちを待ってことでしょう。

 なので、私自身は1人のロボット好きとして、少しでもロボットが私たちの生活に入って来てくれることを切に願っています。 

関連記事

 「変なカフェ」を運営しているHISさんが以前から手がけている「変なホテル」に行ったときの記事

 実は「変なカフェ」で使われているロボットと会社の創設者が同じ「ルンバ」をハックした記事

家庭の情報資産化・情報共有に家庭内ブログのススメ

$
0
0

f:id:karaage:20180205234426j:plain:w640

家庭内ブログが便利です

 最初に妻の喜びの声からお聞き下さい。

 というわけで、家庭内ブログのススメです。以下のようなご家庭にオススメです。

  • 家族で共有したい情報・ノウハウがある
  • 家族で議論したいことがあるけどなかなか話す時間とれない
  • 家族の誰かが使い方分からなくて困る家電がある
  • 家族全員がITに詳しい訳では無い

家庭内ブログの準備方法

 簡単です、家族で以下の「はてなブログ」のトップページにアクセスして、各自1つずつアカウントを取得しましょう。ご家庭によっては、ここが一番ハードル高いかもしれませんね。「Welcome to the Underground」(耳元で囁く)。

 あとは、家族の誰か一人がブログを作成して、公開範囲を設定しましょう。ここらへんの設定は以下のブログ記事が分かりやすいので、もし良く分からなければ参考にすると良いと思います。もちろんここで公開する範囲に設定するのは、ご家族のはてなIDです。

 ただ、このままだとブログを作成した人以外は、記事にコメントはできるのですが、記事を投稿することはできません。もちろんコメントだけでも便利なのですが、更に便利にしたい場合は、ブログ作る人が有料のProアカウントを取得しましょう。これでブログを家族全員で編集する設定が可能になります。我が家は私がProアカウントを取得して運営しています。私がはてなブログのProアカウント取得しているのはこのためと言っても過言ではありません(嘘です、すみません)。

 複数人でのブログの編集・管理に関しては以下はてなブログ公式ヘルプを参照下さい。

 準備はこれだけです。

家庭内ブログの活用方法

 続いては、こうやって作った家庭内ブログを我が家ではどのように活用しているかご紹介しようと思います。

家庭の情報・ノウハウメモ

 例えば以下のようなものをメモしています。

  • 家の間取り
  • 確定申告したときのまとめ
  • 地域の情報(ゴミ・資源の分別のルール等)
  • 家電の使い方

 家の間取り等の主要な情報をメモしておくと、偶然素敵な家具を見つけたとき、すぐに自宅に合うかチェックすることができたりします。

 家電の使い方なども、独自の注意事項あるものは簡単なマニュアル書いておくと便利ですね。最近だと、Amazon Echoの使い方などをメモしてあります。

f:id:karaage:20180205234426j:plain:w640

 ちなみに、我が家のAmazon Echoの使い方は以下のような形です。

 他には、Raspberry Piで作った自作の子供用の見守りカメラなんかも、簡単な説明書きを書いてあります。

f:id:karaage:20180213232120p:plain:w480

 Raspberry Piだと、シャットダウンボタンを押してから電源切ってほしいとか、色々制約があるのでこういうマニュアルを作ると、ちょっと破壊のリスクが減ります(それでも時にはいきなり切られたり、関係なく壊れたりするのですが)。

 参考までに、見守りカメラの詳細や作り方は以下です。興味ある方は、どうぞ。

取り扱い説明書のスキャン・リンク

 家電を買うたびに増えていくのが取り扱い説明書ですね。キングジムのでかいバインダに挟んで保管していたのですが、流石に2つめに突入すると「このままで良いのか」という疑問が湧いてきました。

 よく考えれば、大体の説明書は今家電メーカに取り扱い説明書があるので、リンクを貼っておけば済みます。もしそういうものが無い、小さいメーカの商品の場合は、写真を撮って写真データとしてブログに貼り付けておけばOKです。

 プライベートな写真は、はてなフォトライフで公開範囲を設定してやるのが良いです。公開範囲は結構細かく指定できて、はてなのIDやSNSの関係でも設定できたりします。

 ただ、気をつけないといけないのが、はてなフォトライフの公開範囲指定って、あくまで写真のフォルダのトップページが公開されないというだけで、写真自体はアドレスが分かれば誰にでも見えてしまうのですよね(最初勘違いしてました)。なので、当たり前の話ですが見られると本当にまずい写真は基本的にアップロードしないようにしましょう。他のフォトサービス使うのも選択肢の一つですね。

家族で議論したいこと

 家関係の悩み事を相談する場にも使えます。例えば部屋のL字机をどれにするかなど。コメントで議論したりしました。

f:id:karaage:20180205234848j:plain:w640

こうやって記録残しておくと、あのときなんでこれ選んだんだっけ?とか思ったりしないので、意外に記録に残しておくと良かったりします。

まとめ

 めちゃめちゃ便利!というわけではないですが、ちょっとした家庭の記録を残していると、ジワジワと後で便利さが染み出してくるのが良い感じです。

 家族全員のITスキルが高くて、コミュニケーション中心に活用するなら、Slackとか使うのもよいかもしれませんし、他のツールも選択肢に上がってくると思います。ただ、我が家は家族全員がそこまでITに詳しくないのと、ストック情報としてはブログの方が良いかなという個人的な思いでブログを選択しています。今回ご紹介したのはあくまで1例ですので、ご家庭に合った選択をなさる(もしくは何も選択しない)のが良いかなと思います。

関連記事

 我が家では、今回紹介した家庭内ブログ以外でも、Google カレンダや、Wunderlistといったツールを使って、タスクやスケジュールを共有しています。今回の記事に興味持たれた方は、以下の記事も参考にしてみて下さい。

2017年にAmazonで買った素敵な作品を紹介します(書籍・音楽編)

$
0
0

今年買った素敵な作品

 先週、2017年にAmazonで買った家電・生活用品を紹介しました。

 普通に使っているものを紹介しただけなのに、何故か結構なアクセスを集めてしまいました。今回は上記記事で紹介しきれなかった、書籍・音楽関係で購入したものを紹介します。完全に私の趣味なので、前回の様に不用意にアクセスを集めることはないと思いますので安心(主に私が)してください。念のためタイトルは少しマイルドにしておきました。

書籍関係

 今年購入したのは、電子書籍が9割以上です。紙の書籍は場所をとるので、ほとんど買わなくなってしまいました。個人的には、村上春樹先生の「騎士団長殺し」が、結構読みたかったのですが、紙の本をわざわざ買うほどではないかな…と思って買わずしまいになってしまいました。

自分の名前が載った書籍

f:id:karaage:20170804221856j:plain:w640

f:id:karaage:20170603233319j:plain:w640

 早速、手前味噌で恐縮なのですが、今年は2つの書籍に自分の名前を載せてもらいました。両方ともちょっと紹介してもらったり、クレジットしてもらっているというだけではあるのですが、本屋に並んでいる本に自分の名前が載るというのは初めてなので、なかなか新鮮な体験でした。

 中身も、興味がある人なら損はない内容と思いますので、もし惹かれるものがあれば読んでみてください。ちなみに私には印税は1銭も入らないので、無理して買わなくても大丈夫です。いつか私が単著を出す時のためにお金を貯めておいて下さい(笑)

パソコンで楽しむ自分で動かす人工知能

パソコンで楽しむ自分で動かす人工知能

ラズパイマガジン 2017年4月号(日経BPパソコンベストムック)

ラズパイマガジン 2017年4月号(日経BPパソコンベストムック)

 私の名前が書籍に載った経緯や、本の内容に関しては以下記事参照下さい。

森博嗣先生の本

f:id:karaage:20170709130938j:plain:w640
 ※この写真は今年でなく、過去に買ったものです

 定期的に、森博嗣先生の本は読んでしまいます。いつ見ても定期的に新刊が出てるし、読むと面白いので凄さを改めて実感します。

 「小説家という職業」は、改めて森博嗣先生の才能の恐ろしさを感じさせますし、過去作品をまた読み返したくなる内容でした(多分そう思うのも、森先生の想定通りなのでしょう)。

小説家という職業 (集英社新書)

小説家という職業 (集英社新書)

 「作家の収支」は、去年読んだのですが「小説家という職業」と合わせて読むと、より森先生の凄さが分かります。はっきり言って凄すぎるので一般人にはほとんど参考にならないのですが、それが分かっただけでも読む価値はあるかな(ほんとか?)と思います。

作家の収支 (幻冬舎新書)

作家の収支 (幻冬舎新書)

 あとは、読んだこと無かった女王シリーズを漫画で読んでみました。サクッと読めちゃうし、面白さは間違いないのでオススメです。森先生の解説も中々グッときます。

女王の百年密室 (幻冬舎コミックス漫画文庫)

女王の百年密室 (幻冬舎コミックス漫画文庫)

迷宮百年の睡魔 (幻冬舎コミックス漫画文庫)

迷宮百年の睡魔 (幻冬舎コミックス漫画文庫)

 他にも森先生の本は、4,5冊くらい読んだ気がするのですが、紹介するのはこのくらいにしておきます。とりあえず読んだこと無い人は、今だとブログを読んでみて、興味を持ったら面白そうなものを適当に読んでいくと良いのじゃないかなと思います。順番はどれでもOKです(と森先生がおしゃってました)。

「トークメーカー」関係の本

 「トークメーカー」というサイト発の本を結構読みました。「トークメーカー」はキャラ同士の会話形式の文章を投稿できる投稿サイトで、クリエータ同士の座談会なども行われる、なんというか、結構説明が難しいサイトです。興味がある方は以下をみてください(私自身、サイト自体はほとんど見ていないです)。

 読んだのは、具体的には以下のような本です。

小説家になるな!: 職業作家のリアル、それでもなりたい人へ (トークメーカー新書)

小説家になるな!: 職業作家のリアル、それでもなりたい人へ (トークメーカー新書)

小説家になるな!: クリエイターのサバイバル論 (トークメーカー新書)

小説家になるな!: クリエイターのサバイバル論 (トークメーカー新書)

 この本を読もうと思った理由は、私が筆者に名を連ねている「架神恭介」(@cagamiincage)さんのファンだからです。ファンになったきっかけは、架神さんが毎週ジャンプの感想をネットで公開していたからですね(今は辞められてしまいました)。架神さんは結構ネットで面白い活動をしていてずっと気になっていました。そんな架神さんが、収入や生活をかなり赤裸々に語っているのが面白かったです。

 衝撃だったのは、架神さんクラスでも何とか食べていけるというレベルということ。クリエイタとして生きていくには、相当な才能だったり、戦略がいるのだなと思いました。

 森博嗣先生の「小説家という職業」「作家の収支」と合わせて読むと、なんというかトップオブトップの理想の姿と現実の厳しさのギャップが見られて面白いです。文章で食べていきたい人、クリエイタとして生きていきたいという人は一度読んでみると色々自分の進む道を考えさせられるかもしれません。

諸星大二郎先生の本

 個人的に、今年一番の衝撃を受けた漫画家です。古い漫画も読まないとダメですね。

妖怪ハンター 1 地の巻 (ヤングジャンプコミックスDIGITAL)

妖怪ハンター 1 地の巻 (ヤングジャンプコミックスDIGITAL)

孔子暗黒伝 (ヤングジャンプコミックスDIGITAL)

孔子暗黒伝 (ヤングジャンプコミックスDIGITAL)

 諸星大二郎先生に関して、詳しくは以下記事参照下さい。

バッタを倒しにアフリカへ

 バッタを研究している研究者「前野ウルド浩太郎」さんの本です。

バッタを倒しにアフリカへ (光文社新書)

バッタを倒しにアフリカへ (光文社新書)

 名前からして、ふざけているように思えてしまいますが、本を読むと本人の熱さや、研究への真摯さが伝わります。「京都大学の白眉プロジェクトの面接で、眉毛を白く塗って面接に臨んだ」というエピソードがものすごい好きです。

 なんと、はてなブログ(正確には、はてなダイアリー)でブログもされています。
砂漠のリアルムシキング

 公式ブログにも取り上げられていますね。
ウガンダ、エジプト、エチオピア、ガボン、カメルーン、ケニア、ジンバブエ、スーダン、セネガル、タンザニア、ナミビア、ボツワナ、モザンビーク、モロッコ、モーリタニア! 「こんなところにはてなブロガー!」 〜アフリカ編〜 - 週刊はてなブログ

 気になった方は、下記のネットで読める無料記事を読むと、「前野ウルド浩太郎」さんがどんな方でどんな活動しているのか分かるかと思います。
【研究室】研究室に行ってみた。モーリタニア国立サバクトビバッタ研究所 サバクトビバッタ 前野ウルド浩太郎 | ナショナルジオグラフィック日本版サイト

バッタ博士の「今週のひと工夫」 | プレジデントオンライン | PRESIDENT Online

投資関係の本

 投資(ビットコイン・FX)の話を聞くことが増えたので、久しぶりに読んだ投資漫画がインベスターZでした。

インベスターZ(1)

インベスターZ(1)

 これをきっかけに、家にあった投資漫画も色々読み返してみた自分の結論は「当面は、投資には手を出さない」となりました。ここらへんの判断は生き方のスタンスによっても変わってくるので、大切なのは結論そのものじゃなくて、自分で考えて決断することなんじゃないかなと個人的には思います。

 私が読んだ漫画は以下記事参照下さい。

音楽関係

H△G

「声 ~VOCALOID Cover Album~」

 サブカメラマンとしてお手伝いした、「名古屋が本気で推してみた」というイベントでステージを見て以来、ずっと応援しているクリエイタ集団「H△G」のアルバムです。メジャーデビューして、遠くへ行ってしまった感はありますが、自分は変わらず応援しています。

 2019年2月14日にメジャーのファーストアルバムが出るらしいので楽しみにしています。

 今までお奨めしたH△Gの曲の記事は以下等参照下さい。

TM NETWORK

GET WILD SONG MAFIA

GET WILD SONG MAFIA

「GET WILD SONG MAFIA」

 買って、Get Wildの回数を数え続けてしまいました。

まとめ

 今年Amazonで買った、良かった書籍や音楽を紹介しました。今年は自分にしては結構本を読んだ方かなと思っていたのですが、改めて振り返ると大して読んでないですね。音楽もたまにはじっくりとリラックスして聴くような機会を意識して作りたいものです。

関連記事

三重県のディープな屋台ラーメン屋「長崎屋」のチャーシューメンが最高でした

$
0
0

f:id:karaage:20171127211013j:plain:w640

三重のディープな屋台ラーメン屋さんを発見

 今、出張で三重に来ています(この記事が公開されることから見たら、2,3週間前のことになりますが)。出張すると、まず探してしまうのは美味しそうなラーメン屋です。検索すると、なんともの凄い評価が高いディープそうなラーメン屋さんが見つかったので行ってみることにしました。

「長崎屋」さん

 近づくほど、周りに建物がなくなってくので、道を間違えているのじゃないと不安になりました。

 ぼんやりと揺らめく、赤い提灯を見つけたので吸い寄せられるように近づいてみると…

f:id:karaage:20171127205605j:plain:w640
 あった!

 ちょっと雰囲気ありすぎて、中に入るのをためらってしまいましたが、ここまできたら後には引けません。

f:id:karaage:20171127205555j:plain:w640
 おいしいラーメンって書いてあるしね

f:id:karaage:20171127211841j:plain:w640
 外にあるのはよく見ると、屋台

 中に入ると、気のいいおじいちゃんが優しく声をかけてくれたので、ホッとしました。

f:id:karaage:20171127205859j:plain:w640
 ゆで卵はサービスみたいです

f:id:karaage:20171127210008j:plain:w640
 芸術的なレイアウト

f:id:karaage:20171127210143j:plain:w640
 メニュー

 チャーシュー麺を頼みます。

f:id:karaage:20171127211013j:plain:w640
 きた!

 このラーメン、自分の中ではかなり衝撃的でした。まずチャーシューがめちゃめちゃ美味しい!そして、スープもベースは普通のサッポロ一番的な屋台ラーメンなのですが、少し独特の甘目の味付けがしてあり癖になる美味しさです。麺はちょっと柔らかすぎかなとも思うのですが、全体のバランスが絶妙で、お店の雰囲気と相まって唯一無二の味を作り出しています。

 何より店主の方がとても優しく気さくに声をかけてくれるのが素敵でした。久しぶりに何度も行きたくなるお店に出会えました。

学生・メイカー無料の高機能3D CAD「Fusion360」のセットアップ方法と初心者向け情報

$
0
0

f:id:karaage:20171126004116p:plain:w640

3Dプリンタを使い出したので3D CADが欲しくなった

 最近3Dプリンタを入手して、色々プリントして遊んでいます。

 ある程度プリントできてくると、オリジナルの3Dモデルを自作したくなってきますね(というか元々それが目的で購入しました)。

 以前は、Autodeskの123Designという初心者向けのCADを使って簡単な3Dモデルを作成していました。

 しかし、123Designはいつの間にか開発停止になっていました。困ったなと思い、色々調べたら「Fusion360」というのが評判良いので使ってみることにしました。とても高機能ですが、学生やメイカーは登録すれば無料で使えます。メイカーということは、個人でモノ作りをする人は無料で使えるということです。素晴らしいですね。

 もちろん会社で製品設計などに使用する人は、ちゃんと規定のライセンス料を支払うようにしましょうね。

Fusion360を使ってみる

Fusion360インストール

 何は無くとも、まずはインストールです。以下公式サイトから無料ダウンロードでダウンロードしましょう。

 あとは、アカウント登録をすればOKです。日本語サイトだと、個人だと無料で良いのかよく分からず不安になるのですが、FAQ(英語サイトに飛ばされる)を見ると「Startup」という区分で「趣味とか10万ドル以下のスタートアップなら無料でOKだぜ!(意訳)」的なことが書いてあります。Autodeskさん太っ腹!

For Hobbyists and Startups making less than $100K per year

Autodesk Fusion 360 Changes to Benefits - November 2016 | Fusion 360 | Autodesk Knowledge Network

Fusion360使い方

 肝心の使い方ですが、色々なサイトをみても全然うまく自分の作りたい形状が作れず、かなり絶望していたのですが、id:temceeさんが以下のような素晴らしい記事を公開されていました。

 ショートカットキーの使い方も含めて、めちゃめちゃ分かりやすくて役に立ちます。流石プロのメカ設計者さんですね。

 他にも、Raspberry Piの3Dデータなどを公開されているので、id:temceeさんのFusion360タグの記事はウォッチ必須です!

まとめ

 高機能3D CAD「Fusion360」のセットアップと参考になりそうな初心者向けの情報をまとめてみました。ネットって、ソフトウェア関係の情報はいくらでも出てくるのですが、ハードウェア(電子回路・CAD)の情報になると、とたんに情報量が1/1000以下になるので、こういった情報を発信してくださっている方は、非常に貴重でありがたいですね。

 ちなみに今は、Raspberry Piのケースとか作りたいなとか思っているのですが、絶望的にセンスが無いので、棺桶みたいになってしまっています…誰か助けてー!

f:id:karaage:20171126004419p:plain:w640
 バンパイアとか入っていそう…

Fusion360の参考になりそうなサイト

 他にみつけた、参考になりそうなサイトです。makers loveさんのサイトでは、無料登録をするとFusion360の初心者向けのマニュアルが入手できます。

Fusion360 | Un-industrial (非産業化)

3Dプリンターに最適!無料3DソフトのFusion360入門を配布 | 3Dプリンターなら「Makers Love(メイカーズラブ)」

3D CAD Fusion360の使い方が学習できるサイト | Fusion360 BASE

関連記事

 3Dプリンタを持っていない方でも、ネットの3Dプリントサービスや、ファブスペースを活用すれば3Dプリントすることができます。興味ある方は、以下記事など参照ください。

ディープラーニングを使ってドット絵を画像に変換してみた

$
0
0

f:id:karaage:20171218114142p:plain:w640

2018/01/08 pix2pixHDに関して追記

ディープラーニングで新しい画像変換

 数ヶ月前ですがディープラーニングの分野で「pix2pix」という技術が話題になりました。これは簡単に言うと画像フィルタを入力画像と出力画像のペア(教師データ)だけから自動で生成してくれる技術です。詳細は、以下の記事や元の論文を参照下さい。

pix2pixの紹介 | 株式会社クロスコンパス・インテリジェンス's Blog

GAN(と強化学習との関係)

 「pix2pix」を使うと、従来の画像処理では難しかった、白黒画像をカラーにしたり、手書きの絵を写真にしたりといった、ぶっ飛んだ画像フィルタを教師データを用意するだけで生成できてしまいます。具体的な応用例に関しては、以下の記事などが参考になります。

できそうなことはだいたいできる画像生成AI、pix2pixの汎用性に驚く - WirelessWire News(ワイヤレスワイヤーニュース)

 自分も何か面白い画像変換フィルタ作って見たいなと考えた結果、昔のファミコンのゲームにあるような荒いドット絵を鮮明な画像にできたら面白いのじゃ無いかと思いつきました。画像からドット絵変換に関しては、以前Processingでつくったこともあるので、教師データも簡単に用意できるかなと思ったこともあります(詳しくは以下)。

 というわけで、ドット絵から画像変換を試してみることにしました。これ以降は、しばらく興味ない人にとっては宇宙語がつづきますので、手っ取り早く結果が見たいと言う人は、ドット絵の変換結果ということろまで飛ばして下さいね!

pix2pixを使ったドット絵変換

環境構築

 「pix2pix」は、ディープラーニングのフレームワークとして、もともとPyTorchを使っているようですが、TensorFlowやChainerでの実装もあるようです。今回はTensorFlow実装の以下リポジトリを使用しましたので。その前提で環境構築していきます。

GitHub - affinelayer/pix2pix-tensorflow: Tensorflow port of Image-to-Image Translation with Conditional Adversarial Nets https://phillipi.github.io/pix2pix/

 ただし、上記のプログラムにはもちろんドット絵の変換画像を生成するようなツールがないので、私がforkして今回の目的に合わせてツールを追加した以下のリポジトリを用意しました。

GitHub - karaage0703/pix2pix-tensorflow: Tensorflow port of Image-to-Image Translation with Conditional Adversarial Nets https://phillipi.github.io/pix2pix/

 また、今回私はiMacでテストしましたが、Linuxでも基本的に同じ操作でうまくいくと思います(細かいところで違いあったら是非教えて下さい)。Windowsの方はごめんなさい。

 Python環境に関しては、基本的には、以下の通りに環境を構築すれば大丈夫です。

 バージョンで注意する点としては、Python3(Anaconda3)を使ったことと、TensorFlowのバージョンは1.4.0にしたというくらいでしょうか。TensorFlowはバージョン違うと動かない可能性があるので、具体的には以下のようにバージョン指定でインストールすれば良いと思います。

$ pip install tensorflow==1.4.0

 次に、以下のコマンドで私が用意したリポジトリをクローン(コピー)し、pix2pix-tensorflowディレクトリに移動します。

$ git clone https://github.com/karaage0703/pix2pix-tensorflow
$ cd pix2pix-tensorflow

 これで準備は完了です。

 えっ?GitHubとかリポジトリとか何?という人は、まずは以下記事を参照してみてください。

学習データ準備

 学習データは自分で手持ちの画像があればそちらを使ってもよいのですが、今回は手軽な方法としてスクリプトを使用して、Caltech101という有名なデータセットをダウンロードして使います。

 上記環境準備が終わりpix2pix-tensorflowディレクトリに入った状況で以下コマンドでダウンロードと解答ができます。

$ cd tools
$ ./getCaltech101.sh

 同じディレクトリに101_ObjectCategoriesという大量の画像が入ったディレクトリができたらOKです。ここからは急に泥臭くなるのですが、適当なディレクトリ(imagesという名前としたとして以下説明します)を作って、その直下に学習したい画像を101_ObjectCategoriesのデータセットから適当に画像をコピーしていって下さい。

 単純にコピーすると、同じ名前のファイル名を上書きしてしまうので、コピーしては以下のコマンドで一括リネームを繰り返すと良いと思います。

$ for F in image*; domv$F${F/image/panda};done

 ちょっと説明わかりにくいかもしれませんが、要はimagesディレクトリ以下に、以下のような大量の写真が入っていればOKです。ここは気合いです。

f:id:karaage:20171212014632p:plain:w640

 拡張子は jpg, png, bmpを想定しています。サイズは適当でもOKです(正方形の256x256pixが理想です)。今回は合計140枚の画像を使いました。

 次に、この画像をドット絵に変換した後「pix2pix」で学習できるように、pix2pixのフォーマットに変換する必要があります。pix2pixのフォーマットに関しては、以下が参考になりました。

OpenCVを使って動画からpix2pixの学習モデルを作ってみる | mediba Creator × Engineer Blog

 モノクロ画像とかの変換だったら、元々の「pix2pix」に変換ツールが付属しているのですが、ドット絵変換のものは当然ながら無いので自作しましたpixelart.pyというファイル名のものがそうで、ドット絵変換からpix2pixフォーマット変換までを一気にやってくれます。

 使い方は、以下のように変換したい画像を入れたディレクトリを引数にしてコマンド実行するだけです。

$ python pixelart.py images

 実行すると、pixelartというディレクトリに以下のようなpix2pix形式の画像が大量に生成されます。 f:id:karaage:20171209224847p:plain:w512

 次にこの画像を学習データ(train)とテストデータ(val)に振り分ける必要があります(理由は割愛します)。ここは「pix2pix」に付属しているツールを使います。具体的には以下コマンド実行するだけです。

$ python split.py --dir pixelart

 これで、データがtrainディレクトリとvalディレクトリに分かれるので、以下コマンドで学習します。

$ cd ..
$ python pix2pix.py --mode train --output_dir pixelart_train --max_epochs200--input_dir tools/pixelart/train --which_direction BtoA

 今回は、112枚の画像を使って学習しました。GPUを使いませんでしたが、一晩放置しておけば200世代完了しました。200世代完了時のlossは以下くらい。こんなもんなのかな?ちなみに学習データは682MBになりました。でかい…

progress  epoch 200  step 112  image/sec 0.7  remaining 0m
discrim_loss 0.917141
gen_loss_GAN 1.54649
gen_loss_L1 0.12775
saving model

 学習したら、以下コマンドでテストをします。

$ python pix2pix.py --mode test --output_dir pixelart_test --input_dir tools/pixelart/val --checkpoint pixelart_train

 テストが完了するとpixelart_test/imagesにドット絵から学習モデルを使って生成した画像が出力されています。

f:id:karaage:20171212002825p:plain:w256
 ドット絵

f:id:karaage:20171212002835p:plain:w256
 変換した画像

f:id:karaage:20171212002844p:plain:w256
 正解画像

 うん…なんとなくできているようないないような

f:id:karaage:20171212003001p:plain:w256
 ドット絵

f:id:karaage:20171212003013p:plain:w256
 学習モデルで変換した画像

f:id:karaage:20171212003025p:plain:w256
 正解画像

 お、これはそれっぽいですね。というわけで、若干不安はありますが、なんとなくできているような気もするのでテストはこれで完了として、いよいよ本番の未知のドット絵から画像を生成させてみましょう。

ドット絵の変換結果

フリー素材のドット絵

 フリー素材のドット絵に関しては、素材提供→「Rド」さんでお送りいたします。本当感謝です。懐かしのgeocitiesのサイトに思わず目頭が熱くなりました。掲示板での交流は活発で、まだまだドット絵に根強い人気があることを感じさせます。

 今回ダウンロードした画像を、まずはpix2pix-tensorflow/tools/pixelart_testにおきます。次に、この画像をpix2pixフォーマットに変換します。このツールmake_testpixelart.pyも自作しました(もっとスマートな方法あるかも)。こちらも使い方は引数にディレクトリを指定するのみです。具体的には、以下コマンドです。

$ cd tools
$ python make_testpixelart.py pixelart_test

 test_pixelartというディレクトリに以下のようなpix2pixフォーマットの画像が生成されます。 f:id:karaage:20171212015728p:plain:w512

 次に、先ほど生成した学習モデルを使って変換を行います。

$ cd ..
$ python pix2pix.py --modetest--output_dir pixelart_test --input_dir tools/test_pixelart --checkpoint pixelart_train

 pixelart_test/images以下に画像が生成されます。

f:id:karaage:20171212011349p:plain:w256
 スライムっぽいキャラが

f:id:karaage:20171212011357p:plain:w256
 より滑らかでヌルヌル感アップ

f:id:karaage:20171212011416p:plain:w256
 天使っぽいキャラが

f:id:karaage:20171212011423p:plain:w256
 リアルになってちょっとダークサイドな感じに

f:id:karaage:20171212011551p:plain:w256
 かわいらしいブタさんモンスターが

f:id:karaage:20171212011556p:plain:w256
 グッと凶悪な感じに

 若干、DeepDreamのような人工知能生成画像独特の不気味さがありますが、思った以上にそれっぽく変換できているのではないでしょうか?もっと破綻するかと思っていたので、正直びっくりしました。

いつものフリー素材

 恒例のフリー素材。もはやこのサイトのLenna)と言っても過言ではない、ロンスタ(id:lonestartx) さんの画像です。いつも提供ありがとうございます!(勝手に使っているだけ

 今回は、ロンスタさんのフリー素材を一旦ドット絵変換して、復元できるかという実験をやってみました。要領は学習のとき実施していることと同じです。

 ロンスタさんのフリー素材を例えばlonestarというディレクトリにぶち込んで、先ほどのドット絵生成ツールを使います。具体的には以下コマンドね。

$ cd tools
$ python pixelart.py lonestar

 pixelartディレクトリに以下のようなpix2pix形式の画像が生成されます。 f:id:karaage:20171214102907p:plain:w512

 あとは以下コマンドで変換しましょう。

$ cd ..
$ python pix2pix.py --modetest--output_dir lonestar_test --input_dir tools/pixelart --checkpoint pixelart_train

f:id:karaage:20171214080707p:plain:w256
 もともとこんなお茶目なロンスタさんが

f:id:karaage:20171214080700p:plain:w256 ドット絵変換されて…

f:id:karaage:20171214080704p:plain:w256
 うわっ…私のロンスタ、グロすぎ…?

ファミ◯ンのドット絵

 ここからは、大人の事情で元の絵を貼り付けるのは控えます。元データは海外サイトで公開されているファンアートのものを使いました。生成された画像を見て「あれ?これって?」と色々想像力を働かせていただけると助かります。似ているのはたまたまです。

 変換の手順は、最初のフリー素材のドット絵画像からの変換と同じですので省略します。

f:id:karaage:20171212005758p:plain:w256
 ぴ、ピ◯キオなのか!?

f:id:karaage:20171212010310p:plain:w256
 す、凄くリアルです

f:id:karaage:20171212010335p:plain:w256
 世界一有名な兄弟が気持ちリアルに

f:id:karaage:20171212010548p:plain:w256
 まあ美味しそうなキノコに、綺麗なお花

モザイク除去

 その他、すぐ思いつきそう(?)な応用例としては、男子の永遠の憧れ、大人のビデオのモザイク除去ですね。本当は、それ用の教師データを用意するべきなのですが、ひょっとしてこのドット絵変換でもそれっぽくできるんじゃないのか?と思い、清く正しい性少年として迷いはあったのですが、苦渋の決断でテストいたしました。

 結果は…「私はディープラーニングで驚くべき結果を発見したが、ここに記すには余白が狭すぎる」とフェルマーの言葉で濁しておきます。再現方法はここに全て書いてあるので、興味ある方は是非エロのパワーで勉強して試してみて下さい(笑)

 ちなみに作ってから、気づいたのですが似たようなこと(人工知能でモザイク復元)をしている人はたくさんいるようです、やはり考えることはみな同じですね。

更なる高画質化「pix2pix HD」

 pix2pix HDなる、さらに高画質化した画像を生成する技術もあるそうです。こちらも試してみたいですね。

High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs

まとめ

 ディープラーニングを使ったドット絵の画像変換をしてみました。無茶だろと思っていたのですが、思っていたよりはそれっぽい結果がでて面白かったです。ドット絵変換は、大した役には立たないのですがうまく考えれば色々な応用が考えられそうですね。

 人工知能で、画像処理をしてくれるAdobe Senseiも、画像生成とか変換のところは、恐らく今回使用した技術と同じようなことをしているのじゃないかなと想像しています。

 こういった技術も、代表的なものは時間がたったり、お金を出したりすれば誰でも使えるようになっていくと思うのですが、自分で少しプログラムを書けるようになると、今すぐにグッとできる幅が広がって、自分だけのニーズに応えられたり、無料で活用することができるので、興味ある方はこの後関連記事で紹介する記事など参考にすると良いかもしれません。

 個人的には、驚異のエロパワーでディープラーニングマスターした人が、物凄い高品質な人工知能モザイク除去機を開発してくれることを待っております。あ、一応言っておきますけど冗談ですからね(笑)

参考リンク

PillowのModeFilterを使って写真を絵画調にする - Qiita

pillow - Qiita

Image-to-Image Translation in Tensorflow - Affine Layer

関連記事

横浜中華街の「慶華飯店」の牛バラ海老ワンタンが美味しくてコスパ最高でした

$
0
0

f:id:karaage:20171208175650j:plain:w640

横浜中華街でご飯難民

 横浜で出張の帰り、せっかくなので中華街に寄って見ました。お目当は、お気に入りの「海員閣」さん(以下記事参照)なのですが。

 なんと2017年の12月現在、休業しているじゃありませんか!

f:id:karaage:20171208174244j:plain:w640
 ショック…

 どうしようと途方にくれて、オンオンと泣きながら悲しみをツイートしたところ神(いわゆるGod)が現れました。

 これは行くしかないでしょ!というわけで「慶華飯店」に行ってきました。

慶華飯店

 念のために食べログで評価見てみると、かなりの高評価!みんな海老ワンタンをオススメしています。これは期待もてると早速お店に急ぎました。

f:id:karaage:20171208174752j:plain:w640
 お店の外観

 最初気づかず2回くらい通りすぎるくらい地味控えめな入り口です。

 メニューは迷ったのですが「海員閣」の牛バラそばが頭から離れなかったのと、食べログの「牛バラ海老ワンタンが一番美味しい!」というレビューを見て、情弱の私は「牛バラ海老ワンタン」を注文しました。

f:id:karaage:20171208175650j:plain:w640
 絶対美味しいやつ!

 もう見た瞬間に美味しさを確信しました。エビはプリップリですし、スープもとても美味しいです(見た目ほど濃厚でなく、どちらかというと上品な味です)。牛バラは「海員閣」さんのような衝撃はないのですが、確実にスープに溶け込んで旨味を出しています。量的にこれだけで私は十分でした。お値段は810円、大満足です。

妻へのおみやげは「紅棉」の「あんまん」で決まり

 できる男は愛する妻へのお土産も忘れません。妻の「あんまんが食べたい」というリクエストに応えるため「紅棉」さんの「あんまん」を購入しました。

f:id:karaage:20171208182341j:plain:w640
 「紅棉」さん

f:id:karaage:20171208182349j:plain:w640
 冷凍のあんまんはお土産に最適です

f:id:karaage:20171219173445p:plain:w640
 後日、お家でいただきました

f:id:karaage:20171219173528p:plain:w640
 餡子の黒さにツヤがある!

 中華街というと、肉まんというイメージがあったのですが、あんまんもめちゃ美味しいですね。当たり前ですが、コンビニのあんまんとは全然違います。しっとりとした上品な味が口の中に広がりますよ!ご家族やご友人が甘党の場合、たまにはお土産に「あんまん」を選ぶというのも良い選択肢かもしれませんね。

感想

 「慶華飯店」の牛バラ海老ワンタン美味しかったです。そしてお土産の「あんまん」も思わぬ(?)伏兵的な美味しさでした。「慶華飯店」さんは、五目海老ワンタンも激ウマというまことしやかな噂があるので、次はそちらも食べて見たいですね。

 あとは、「海員閣」さんの営業再開も待たれます。

関連記事


横浜中華街でiPhoneアプリ「HUJI Cam」でフィルムっぽい日付入り写真を撮ってみた

$
0
0

f:id:karaage:20171208173238j:plain:w640

フィルムライクな写真が撮れる「HUJI Cam」

 「HUJI Cam」というアプリ、いい感じにフィルムっぽい写真が撮れるので気に入っています。アプリに関しては「変デジ研究所」の以下記事が詳しいです。

 この前横浜中華街行った時に、写真を撮ってきたのでちょっとだけ載せて見ます。

横浜中華街での「HUJI Cam」写真

 こういう暗い時の写真って、iPhoneで撮ると結構綺麗になり過ぎちゃってイマイチだったりするのですが「HUJI Cam」で撮ると、グッとそれっぽい雰囲気になるから良いですね。

f:id:karaage:20171208173238j:plain:w640

f:id:karaage:20171208173718j:plain:w640

f:id:karaage:20171208173838j:plain:w640

f:id:karaage:20171208173853j:plain:w640

f:id:karaage:20171208175703j:plain:w640

f:id:karaage:20171208181032j:plain:w640

感想

 この手のソフトは色々使って食傷気味だったのですが、これはかなりフィルムっぽい写真になるので気に入っています。変デジ研究所の記事読むと、ライトリーク機能とかあることが分かります。使ってみれば良かったです(ランダムで発生する機能と勘違いしてました)。

 写真の仕上がりは、最初「AGFAのVISTAっぽいかな?」と思っていましたがやっぱり名前の通りFUJIのフィルムの方が雰囲気近いような気もしてきました。もうちょっと撮ってみないとよく分からないですね。そもそもこんな夜じゃフィルムじゃまともに映らないですし。

 ちなみに、本物のフィルムとFujifilmのカメラ(NATURA CLASSICA)で撮った写真は、以下サイトにあります。フィルムごとにタグ付けしてあるので、気になった方は比較して見て下さい(笑)

 他のフィルムライクなカメラアプリに興味がある方は、「変デジ研究所」の以下記事なども参考になるのじゃないかなと思います。

関連記事

Raspberry Piに最適な小型ディスプレイ「Quimat 3.5インチタッチスクリーンディスプレイ」を素のRaspbianからセットアップする方法

$
0
0

f:id:karaage:20171221001636j:plain:w640

Quimat 3.5インチタッチスクリーンディスプレイ

 ツイッターで見かけて気になっていた、Raspberry Pi用の小型ディスプレイ、Amazonセールで安くなっていたので衝動買いしてしまいました。

 実は、Raspberry Piの小型ディスプレイは、上記のもの以下のもの以外にも、以下のディスプレイを購入しています。

 ただ、このディスプレイ色々不満点があって、あまり使わなくなってしまっていたのですよね。具体的には以下です。

  • 2.8inchがちょっと小さい
  • ディスプレイがSPI接続のため、表示するためだけに色々設定が必要(ブートローダの書き換えも必要、自分はハマってめちゃ大変だった)
  • GPIOポートが塞がれて使いづらい

 一方、今回のディスプレイは上記の不満点が全て解消されている上に、色々プラスアルファもあり最高です。具体的には以下です。

  • 3.5inchの大きめ画面
  • HDMI接続なので、特に設定しなくても画面の表示可能(タッチパネルは設定必要)
  • GPIOポートのコネクタを塞がず、横から出している
  • ケース付属

 自分が「こうならよいのに」と夢想した(むしろそれ以上)のものが、まさにここにあるといった感覚でした。しかも3000円ちょいとリーズナブルなお値段。ほんとこれ作った人最高です。

 セットアップも付属のDVDのイメージ使えば、設定しなくて良い様なのですが、私は素の最新のRaspbianを使いたかったので、自分で設定しました。そのときちょっとハマったので、知見としてレビューと合わせて、ここにメモしておきます。

「Quimat 3.5インチタッチスクリーンディスプレイ」セットアップ方法

内容物確認

 開封レビュー的なやつです(笑)

f:id:karaage:20171221001908j:plain:w640
 シンプル(安っぽい)包装

f:id:karaage:20171221001922j:plain:w640
 内容物。ちなみに私はDVDは使いませんでした

f:id:karaage:20171221001939j:plain:w640
 基板。GPIOのピンヘッダが嬉しい

f:id:karaage:20171221001954j:plain:w640
 ディスプレイ

ディスプレイ動作確認

 まずはディスプレイが映るか確認してみます。Raspberry Piとディスプレイをピンヘッダで接続した後、HDMI中継基板でRaspberry Piとディスプレイを接続します。

f:id:karaage:20171221002008j:plain:w640
 このHDMI中継基板作った人天才だと思う 

f:id:karaage:20171221002050j:plain:w640
 素のRaspbianでもちゃんと表示してくれます

f:id:karaage:20171221002037j:plain:w640
 IchigoJam with Raspberry PiでもOK。この組み合わせは良いかも!

ケース組み立て

 ケース組み立ては特に迷うことはないと思います。私も勘で組み立てました。参考までに組み立てながら撮った写真を載っけておきます。

f:id:karaage:20171221003100j:plain:w640

f:id:karaage:20171221003116j:plain:w640

f:id:karaage:20171221003131j:plain:w640

f:id:karaage:20171221003229j:plain:w640

f:id:karaage:20171221003146j:plain:w640

f:id:karaage:20171221003159j:plain:w640

f:id:karaage:20171221003215j:plain:w640

タッチパネルの設定

 基本的には、以下記事を参考にしてセットアップしましたが、少しだけハマりましたので、私のセットアップ方法をメモしておきます。

 前提として、Raspbianを以下の記事を参考にセットアップします。

 今回は、Raspbianのバージョン、現時点での最新である2017-11-29の日付のRaspbian Stretchを使いました。

 あとは、紹介した記事の通りに設定したのですが、私の場合何故かタッチパネルの上下が逆さでした。2.5インチのとき苦労した経験を生かして/etc/X11/xorg.conf.d/99-calibration.confの設定に、以下の様にOption "InvertY""1"を追加することで想定通り動くようになりました。何故上下逆になってしまうのかは謎です。Raspbianのバージョンによる違いがあるのかもしれません。

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "ADS7846 Touchscreen"
        Option  "Calibration"   "3936 227 268 3880"
        Option  "SwapAxes"      "1"
        Option  "InvertY"      "1"
EndSection

 上記の設定、結構手間なのでスクリプトにして以下リポジトリにアップしました。

 具体的には、RaspbianのSDを作成して起動した後、以下の3行のコマンドを走らせれば、ディスプレイの設定が完了して、タッチパネルが動く様になります。ちなみにディスプレイを使いたいだけだったら、HDMIのコネクタをつなげて起動すれば、普通に表示されます。最高かよ!

$ git clone https://github.com/karaage0703/raspberry-pi-setup
$ cd raspberry-pi-setup
$ ./setup-quimat_3_5_display.sh

 実際にタッチパネル動かしている様子は以下です。

f:id:karaage:20171221002855g:plain:w640

 タッチパネル、人体じゃなくても反応するので、抵抗膜式ですね

まとめ

 「Quimat 3.5インチタッチスクリーンディスプレイ」をべた褒めした上で、セットアップの方法紹介しました。ちょっと興奮気味に紹介してしまいましたが、ほんとこれ最高です。いずれ書こうと思うのですが、実はこのディスプレイのおかげで、既にめちゃくちゃ助けられています。

 Raspberry Pi用の小型ディスプレイ探している方にはほんとオススメです。私は、もう1個買おうかなと本気で考えています。

追記

 DPZのライタなどで活躍中のnomolk (id:slideglide)さんが、この記事をきっかけにディスプレイ購入し記事を書いていらっしゃいます。私の記事より断然丁寧なので、まだ迷っている人は、こちらも見てみると良いかもしれません!

関連記事

機械学習手法を用いてブログの文章を分析・可視化(テキストマイニング)

$
0
0

f:id:karaage:20180208010949p:plain:w640

自分のブログのテキストを分析・可視化してみたい

 以前自分のブログの分析を「内部リンク」や「はてブ情報」の観点で行ってみました。

 ただ、目的無く分析してしまったので、結局イマイチどう活用してよいかよく分からない結果しか得られませんでした。

 そんな前回の反省を全く活かすことなく、また何の目的もなくブログを分析してみることにしました。今回は以前から興味のあった機械学習を用いたブログの文章の分析・可視化(テキストマイニングと呼ばれるらしいです)にチャレンジしてみることにしました。どちらかというとテキストマイニングが主で、使用する素材(学習データ)に困ったので仕方なく自分のブログを使ってみたというのが正直なところです。

 ネットでコピペすりゃ簡単にできるだろと思っていたのですが、自分のやりたいことするのはそれなりに大変だったので、知見としてやり方とどんなことが分かるのかを残しておきます。

ブログのテキストマイニング結果

 今回も、結果だけが知りたいというせっかちな人のために、最初にどんな分析ができたのか結果から載せていこうと思います。

WordCloud可視化

 WordCloudというテキストマイニング手法を使った方法です。割と有名で、色々なWebサービスもあるので、よく見る絵かもしれませんね。

f:id:karaage:20180212002534p:plain:w640

 写真とかRaspberry Piとか、それっぽい単語が並んでいますね。たしかに自分のサイトっぽい感じがします。

word2vec

 続いて、word2vecという仕組みでブログで使われる単語をベクトルとして表現して可視化してみました。word2vecに関して、詳しく知りたい方は、以下のサイトを参照してみて下さい。

f:id:karaage:20180208011015g:plain:w640 こんな感じにブログで使われている無数の単語の相関関係を3次元上(2次元でも可)に可視化することができます

 以下は、例えば「カメラ」というキーワードを中心に、近い単語を表示させた例です。

f:id:karaage:20180212003743p:plain:w640

 「フィルム」「FUJIFILM」「デジタル」といった近い関係にありそうな単語がならんでいます。

他の人のブログの文章も分析してみる

 私のブログばかり見てもよく分からないのと面白くないので、他の人のブログも見てみましょう。

ロンスタさんの場合

 まずは、3度の飯よりブログを書くことが好きなブログ狂。ロンスタ(id:lonestartx)さんがはてなブログで運営しているブログHHSを分析してみたいと思います。

 まずは、WordCloudで可視化してみます。

f:id:karaage:20180211121128p:plain:w640

 「文房具」「ノート」「多肉植物」といったロンスタさんらしいキーワードが出ていますね。なんとなくですが自分と似たキーワードが多い様な気もして親近感を感じますね。

 私と同じ「カメラ」で検索してみると以下の様な結果になっています。

f:id:karaage:20180211123046p:plain:w640

 「フィルム」という同じ単語が出ていますが、私には無い「インスタント」とか「チェキ」といったキーワードが挙がっていることがわかります。 

フミコフミオ先生の場合

 ちょっと趣向を変えて、はてなブログの超人気ブログ「Everything you've ever Dreamed」の作者、フミコフミオ (id:Delete_All) 先生のブログを可視化してみましょう。これを見ればフミコ先生の文章の秘密が丸分かりになるかも!

 まずは、WordCloudでの可視化からです。

f:id:karaage:20180211121224p:plain:w640

 文字の雰囲気が「会社」「仕事」「部長」と私のブログとはガラリと変わっています。小さく「オッパイ」「キャバクラ」という単語が出てくるのも見過ごせませんね。

 では、まず「部長」で検索してみましょう。

f:id:karaage:20180211123200p:plain:w640

 「糞」「念仏」「ゴルフ」といった、ブログを読まない人でも不穏なイメージが湧く単語が並びます。

 続いて、会社で検索します。

f:id:karaage:20180211123214p:plain:w640

 「怨根」「怨念」というフミコ先生の会社に対する熱いパッションが感じられる結果となりました

テキストマイニングの方法

 以降今回行ったテキストマイニングの方法を説明いたします。今回も、多くの先人の知恵に助けられました。参考にさせていただいたサイトは全て本記事の最後の参考リンクに載せてあります。どれも有益な情報を提供している素晴らしいサイトです。

 私が実行した環境はMacですが、Linux/Windowsの方でも、ある程度知識ある方なら少しの修正で動かすことができると思います。以降は、最低限のコマンドラインの操作ができる人向けの説明となっておりますので、ご了承ください。

事前準備

 Python環境の設定は、以下記事参照してanaconda3(Python3)をインストール下さい。慣れている方、自分好みの環境ある方は無視してOKです。

 次に、必要なライブラリをインストールします。

 文章をブログからスクレイピングして分かち書きしたテキストに変換するのに必要なライブラリを以下コマンドでインストールします

$ pip install readability-lxml
$ pip install html2text
$ pip install janome

 文章を分析・可視化するのに必要なライブラリを以下コマンドでインストールします

$ pip install wordcloud
$ pip install gensim

 ブログの文章を分析するソフトウェアをGitでclone(ダウンロード)します。

$ git clone https://github.com/karaage0703/taikutsu_blog_works
$ cd taikutsu_blog_works

 Gitって何?って人は以下記事参照下さい。

 以下コマンド実行して、ブログの記事のアドレスのリストを取得します。ブログのアドレスと保存したいフォルダは、自分の好きなブログとフォルダ名に変更して下さいね。アドレスは、最後のスラッシュ(/)が不要な点に注意下さい

$ python all_in_one.py -u http://karaage.hatenadiary.jp -d karaage

 続いて以下コマンドでJupyter Notebookを開きます

$ jupyter notebook

 あとは、blog_to_word.ipynbword_analysis.ipynbというJupyter Notebookファイルを順に実行していくと、ブログから分かち書きしたテキストファイルの出力と、テキストファイルのWordCloudによる可視化とword2vecの学習が行われます。

 word2vecの可視化に関しては、word_analysis.ipynbで生成されるvector.tsvmetadata.tsvという2つのファイルを以下のWebサービスでロードすることで可能です。

 詳しくは、以下のサイトを参照下さい。

まとめ

 機械学習を使ったブログのテキストマイニングに挑戦してみました。もともと機械学習をテキストに適用することには興味と可能性を感じていたのですが、実際調べてやってみると、かなり奥深い分野ということが分かってきました。特に日本語というのは、また特有の難しさがありそうです。そして、また目的もなく分析してしまったので、ブログに関する有意義なフィードバックは何も得られませんでしたw

 この先、ディープラーニングとか使って、文章生成とかもしてみたいなと思っているのですが、まともな文章生成するには、技術的にも計算資源的にもハードルが高そうです。特に、文章生成に関しては、過去に2週間で自動生成した記事を1000記事投稿してはてなさんに怒られた苦い経験があるので、慎重にいきたいところです。

 目標としては、私が死ぬまでにどこかのタイミングで自分が作った人工知能とブログ更新を入れ替わりたいと思っています。そうすることで、人工知能が永遠にブログを更新し続け、読者も私が死んだことに気づかず、読者の中で私が永遠に生き続けることになります。つまり読者にとって、私は不老不死の存在となるわけです。

なかなかワクワクする話ですね。さて、この記事を書いているのは本当に人間でしょうか?

参考リンク

スクレイピング

<Python, readability, html2text, urllib> HTMLから本文抽出。 - ねこゆきのメモ

WordCloud

【Pythonでテキストマイニング】TwitterデータをWordCloudで可視化してみる - これで無理なら諦めて!世界一やさしいデータ分析教室

テキストマイニング 無料ツール by ユーザーローカル

Word2Vec

pixiv小説で機械学習したらどうなるのっと【学習済みモデルデータ配布あり】 - pixiv inside

Word2Vecで京都観光に関するブログ記事の単語をベクトル化する - け日記

「OK word2vec ! "マジ卍"の意味を教えて」 Twitterデータからword2vec実践してみた - これで無理なら諦めて!世界一やさしいデータ分析教室

進撃の巨人を読んだことない人がデータだけでキャラを推測してみる - あんちべ!

【転職会議】クチコミをword2vecで自然言語処理して会社を分類してみる - Qiita

【word2vec】会社のクチコミを自然言語処理した結果を可視化してみる - Qiita

Wikipediaでword2vecの学習してEmbedding Projectorで可視化してみる - 今日も窓辺でプログラム

関連記事

京都駅ビル10階にある「拉麺小路(ラーメンこうじ)」の全店制覇にチャレンジ中

$
0
0

f:id:karaage:20180213001222j:plain:w640

「拉麺小路(ラーメンこうじ)」

 最近仕事の関係で、出張で京都に行くことが多くなりました。出張のときのご飯といえばラーメンですね(私だけ?)。京都駅近くのラーメン屋さんといえば、「新福菜館本店」と「第一旭」さんが有名で私自身も大好きです(この2店舗に関しては下記記事参照下さい)。

 ただ、駅から多少距離があるのと食事時は行列必至のため、なかなか気軽に行けないのも事実です。そんな哀しきラーメンビジネス戦士達の強い味方が、京都駅ビル10階にある「拉麺小路(ラーメンこうじ)」です。

拉麺小路(ラーメンこうじ)

 中身は、よくある人気ラーメン店を全国から集めたラーメンテーマパークなのですが、特筆すべきは京都駅からのアクセスです。しかも、少し場所が分かりにくいせいか、そこまで混んでいないのも、忙しいビジネスマンには嬉しいです。

 実は今、私はこの「拉麺小路」に通いつめて全店を制覇しようと密かに狙っています。なので、今まで通ったお店の記録を残すとともに、今後訪問したお店が増えるたびに、追記していき全店制覇までの軌跡を残しておこうと思います。

「拉麺小路」のお店達

「拉麺小路」へのアクセス

 結構アクセスは分かりにくいです。エレベータもあるのですが、オススメは京都駅の大階段のエスカレータを登って行くコースです。

f:id:karaage:20170823190905j:plain:w640
 夜はライトアップもされておしゃれです

 「10階だと結構時間がかかるのでは?」と思うかもしれませんが、意外にあっという間です。エスカレータの速度が速いのか、ラーメンが食べたいあまりに頭がおかしくなっているのかもしれません。

ますたに(京都)

f:id:karaage:20170718131748j:plain:w640

f:id:karaage:20170718132320j:plain:w640

 地元京都の有名ラーメン店のますたにさんです。個人的には、かなり好きな味なのですが、ますたにさんは全国にお店があるので、あえてここでは食べないという選択肢も賢明です。ラーメンには戦略が重要です。

ラーメン東大(徳島)

f:id:karaage:20170823193545j:plain:w640

f:id:karaage:20170823192303j:plain:w640
 机の上に無造作に並ぶ卵(無料です)

f:id:karaage:20170823192739j:plain:w640
 そりゃ卵かけちゃうよね

 東大さんは、机の上に生卵があって、無料で追加できるという面白いシステムのラーメン屋です。ラーメンの味も独特で、すき焼き風の味付けが特徴です。すき焼き風なので、当たり前ですが生卵とめちゃめちゃ合うのです!是非生卵と一緒に食して欲しい1品です。

 サイドメニューのチャーハンも美味しいので、沢山食べたい気分のときに特にオススメです。

f:id:karaage:20170823192417j:plain:w640
 チャーハンも美味しいラーメンは正義

東横(新潟)

f:id:karaage:20180129174240j:plain:w640

f:id:karaage:20180129174432j:plain:w480

f:id:karaage:20180129175008j:plain:w640

 東横さんという、どこかのホテルみたいな名前のラーメン店も、また非常にユニークなシステムをとっているラーメン屋さんです。非常に濃厚な味噌ラーメンなのですが、机の上に備え付けの割りスープを足すことで、好きに味を調整することができます。

f:id:karaage:20180129175113j:plain:w640
 割りスープ

f:id:karaage:20180129175939j:plain:w640
 これを好きなタイミングで投入して味を調節

 この割スープが魚介系のあっさり味なのですが、単なる薄めるためのスープではなくてこのスープを入れることで、濃厚な味噌ラーメンに魚介系の味わいが加わり、より味に深みが増すのがもの凄いアイディアです。濃厚味噌味も普通に美味しいのですが、この割りスープを足すこと含めて味が計算されているのが素晴らしいと思いました。

 ここ最近で、久しぶりに衝撃をうけたラーメンでした。もしちょっと冒険したい気分なら是非オススメしたいお店です。

まとめ

 まだ半分も行けてないのですが、数少ない出張の楽しみとして今年中に全店制覇してみたいなと思っています。もし京都でオススメのラーメン屋があれば「拉麺小路」に限らず、優先して訪問しようと思いますので、是非教えて下さいね!

関連記事

「この世に買い取りできぬものは無し」キンブル買い取り最強伝説に挑戦してみた

$
0
0

f:id:karaage:20180212230017j:plain:w640

キンブルさんで断捨離祭り

 今年も断捨離祭りの季節がやってまいりました。断捨離祭りとは、我が家で約2年という蝉の脱皮みたいな周期で行われる断捨離のことです。過去の断捨離祭りに関しては、本記事最後の関連記事を参照下さい。

 要は、家にある不要なものを愛知県で有名なリサイクルショップの「キンブル」さんに持って行って、いくらで買い取ってもらえるかを公開するというだけの内容ですので、興味ある人のみついて来て下さい。

キンブルさんで買取してもらう

 今回のコンセプトは、「キンブル」さんは一体どこまで買取してくれるのか。いつも「これはどう考えてもゴミだろ」とか「これ買い取ったら頭おかしいでしょ」というものまで、躊躇なく買い取ってくれることに衝撃を覚えていたので、今回はその買取のボーダ(境界線)を探ることを目的に、かなり攻めの内容にしてみました。

f:id:karaage:20180212230003j:plain:w640
 今回のターゲットのイカれた奴らを紹介するぜ!

 というわけで、買取してもらうもの(の一部)を紹介したいと思います。

コードレス掃除機

 コードレス掃除機を新しいものに買い換えたので、古い方をキンブルさんに持って行きました。もちろん古い方も、ちゃんと動くのですがかなりバッテリはヘタっています。リチウムイオン電池が使われているので、廃却方法調べたらかなり面倒な上、処分費かかりそうなので無料引き取ってもらえるだけで嬉しい一品です。詳しくは以下。

電気ヒーター

 3種類もあったヒーター。流石に多いので、一番使用頻度の低い古い型のものをキンブルさんへ。これは普通に使えるものなので高価買取が期待されます。

時間の狂った電波時計

 電波時計。何度修理しても、何故か時間がランダムにずれるという摩訶不思議な一品のためキンブルさんへ。電波時計として使わなければ普通に使えます。

出張用に買ったダサいカバン

 出張用に買ったダサいカバン。普通に使えるのですが、ダサくて結局2年間この出張以外で使わなかったのでキンブルさんへGO!

キンブルさんで買取してもらう

 以上のようなイカれたヤツらを携えていざキンブルへ!

f:id:karaage:20180212230017j:plain:w640
 「何でも買います」という挑戦的なキャッチフレーズ。その言葉、忘れるなよ!

f:id:karaage:20180212230041j:plain:w640
 いざ戦いの舞台(買取コーナー)へ…!

 査定に出すと、いつもの通り尋常ではないスピード(1品10秒とかそんなもん)で査定がされていきます。

 一体どれだけのものが買い取ってもらえるのでしょうか、ドキドキ

キンブルさんの買取結果

 いよいよ結果発表です。

 結果は、なんと…

 全部買取してもらいました!!

f:id:karaage:20180213003238j:plain:w640
 これが買取の記録(一部個人情報加工しました)

 最初、我が目を疑いました。キンブルさんおそるべしです。ちなみに買取の内訳は以下の様な形でした。

  • コードレス掃除機 50円
  • ヒーター 400円
  • 電波時計 多分50円?
  • ダサいカバン 210円

 他にも色々売却して、合計 2250円!処分のお金がかかるどころか、お金もらえちゃいました。キンブルさん最高です!

「キンブル」さんで売っている激安品

 ついでにキンブルさんの中で色々激安品をチェックしてきました。こんな素敵な品々が沢山あります。家具から衣服、食料まで全て激安価格で揃っているので2万円もあれば、生きて行くのに必要なものは大体キンブルさんで全部揃う気がします。   f:id:karaage:20180212230126j:plain:w640
 iPhoneケースがなんと10円。うまい棒ですか?どういう収支計算してるの?

f:id:karaage:20180212230158j:plain:w640
 54円のiPhoneケースがちょっと高級に見えてくる不思議。でもこれどういうデザインセンス?寧ろ無地の方がよいのでは

f:id:karaage:20180212230214j:plain:w640
 サングラスも21円で売っています。端数の1円の根拠は何なのだろうか

f:id:karaage:20180212230227j:plain:w640
 32円の加湿器は思わず買おうと思ってしまいました

f:id:karaage:20180212230239j:plain:w640
 864円とか、もの凄い高級品に思えて来ますね

f:id:karaage:20180212230255j:plain:w640
 漫画も21円。やはり端数の1円には深い意味があるのだろうか…

f:id:karaage:20180212230308j:plain:w640
 百科事典は216円。21という並びに意味があるのか?

f:id:karaage:20180212230334j:plain:w640
 Machintoshまで売ってる!そう、キンブルならね!ていうかこの商品の並び狂ってるでしょw

f:id:karaage:20180212230346j:plain:w640
 ドラミちゃんの冷蔵庫は娘がめちゃ欲しがったけど、絶対邪魔なので諦めました

f:id:karaage:20180212230404j:plain:w640
 カブト

f:id:karaage:20180212230416j:plain:w640
 帆船

f:id:karaage:20180212230432j:plain:w640
 もちつくやつ

f:id:karaage:20180212230446j:plain:w640
 カーオーディオ。これ盗品とか会社の試作品とかじゃないよね…?

f:id:karaage:20180212230458j:plain:w640
 ポラロイドもありました

まとめ

 キンブルさんでどこまで買い取ってもらえるのか挑戦してみました。結果は、まさかの全部買取ということで完敗でした。凄いぜキンブルさん。ここまできたら、そこらへんで拾った珍しい石でも買い取ってくれそうな気配さえしてきます(気のせいです)。

 実際、最近の家電ってリチウムイオン電池が入っていたりして、ちゃんと処分しようとすると大変だったりするので、キンブルさんで買い取ってもらえると大変ありがたいですし、捨てるより必要な人に使ってもらった方がエコで良いですね。

 もし、愛知県付近にお住まいで、不用品の処分に困っている方がいたら「キンブル」断捨離を検討してみてはいかがでしょうか?

 ちなみに、一応書いておきますけどもちろん「キンブル」さんでも買取できないものはありますのでその点はご注意を、基準は私には分かりませんが。

関連記事

単眼カメラでKinectのように骨格検出する技術「Realtime Multi-Person Pose Estimation」を試してみた

$
0
0

f:id:karaage:20180219153113p:plain:w640

Kinect使わずに単眼カメラで骨格検出ができる

 人の骨格を検出する技術というものがあって、ひと昔前まではKinectを代表とするデプスカメラ(3次元情報をリアルタイムに取得できるカメラ)を用いたものが一般的でした。たまに、アミューズメントパークなどである、人の動きに合わせて色々な音楽や映像を出すようなインスタレーションを見かけますが、ああいうものには、大抵Kinectセンサが使われています(よく探すと、大体プロジェクタの近くとかに隠されています)。

 個人でもここらへんの技術は比較的簡単に扱うことができて、例えばMacでもProcessingというプログラミング環境を用いることで、色々遊ぶことができます。詳しくは以下参照下さい。

 ところが、最近は骨格検出をディープラーニングを始めとする高度な画像処理を用いて、なんとデプスカメラでなく普通の単眼カメラで実現する技術が出て来ました。3次元センサ用いず骨格検出するなんて想像もしたことなかったので、自分のような凡人には結構衝撃大きかったです。

 そして、論文が発表されたら、すぐ実装してオープンソースとして公開されるという世の中の流れ、頭がクラクラしてくるようなスピード感ですね。一般にはOpenPoseが有名なのですが、ちょっと動かすのが大変そうだったので色々探したら、DeNAのエンジニアさんがChainerというディープラーニングのフレームワークを用いて実装した「Realtime Multi-Person Pose Estimation」というのが、セットアップ簡単で、本当に自宅のPCで骨格検出が実現できたので、使い方とテスト結果を紹介してみたいと思います。

Realtime Multi-Person Pose Estimation の使い方

 技術的な説明などは、DeNAのエンジニアのleetenkiさんが公開している以下記事を参照下さい。

 コードはGitHubで公開されていて以下となります(日本語のREADMEへのリンクもあります)。

 注意点としてはライセンスです。ソフトウェアの利用は学術的用途や非商業用途に限られるということです。なので、勝手にこのソフトを組み込んだシステムを商業施設で使用したり、ソフトとして販売したらNGですので気を付けましょう。

 動かし方は基本的には、上記のREADMEの通りにやればOKなのですが、自分の環境だと何故かエラーが出てしまったので、何時ものように勘で直して動くようにしました。といってもcamera_pose_demo.pyを以下の通り1行変えただけですが…(誰か原因わかる人は、しょぼい私にそっと教えて下さい。Macの内蔵カメラ使っているからかな?)。

-        person_pose_array, _ = pose_detector(img, fast_mode=True)
+        person_pose_array, _ = pose_detector(img)

 基本的には元のGitHubの通りで動くと思うのですが、詳しく分からない人や私のようにエラーが出るという人のために少しだけセットアップ方法をメモしておきます。

セットアップ方法

 自分の環境はiMac (Retina 4K, 21.5-inch, 2017) macOS Sierra 10.12.6で試しています。他の環境(Linux、Windows)では、テストしていないので恐らくそのままでは動かないと思いますが、何かの参考くらいにはなると思います。

 Pythonの環境に関しては、以下記事参考にセットアップ下さい。

 Anaconda3.0を入れれば、あとは必要なライブラリはOpenCVとChainerくらいと思います。Chainerのバージョンは2.0以上で必須のようです。私は3.3.0で試しましたが、問題なく動きました。Chainerはバージョンによって動かない可能性あるので、以下のようにバージョン固定しておくと良いと思います。

$ pip install chainer==3.3.0

 あとは、ターミナルで以下の通りコマンドを実行して、ソフトをCloneして、必要なモデルファイルをダウンロードして変換をするだけです。

$ git clone https://github.com/karaage0703/Chainer_Realtime_Multi-Person_Pose_Estimation
$ cd Chainer_Realtime_Multi-Person_Pose_Estimation/models
$ wget http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/coco/pose_iter_440000.caffemodel
$ python convert_model.py posenet pose_iter_440000.caffemodel coco_posenet.npz
$ cd ..

 これで準備完了です。上記は、エラー対応のために私がforkしたリポジトリを使っていますので注意ください。元のソフトを使いたい人は1行目を以下に変えて下さいね。

$ git clone https://github.com/DeNA/Chainer_Realtime_Multi-Person_Pose_Estimation

「Realtime Multi-Person Pose Estimation」テスト結果

 以下コマンドを実行するとソフトが動きます。iMacの場合は内蔵のカメラが勝手に起動しましたが、カメラが無いPCの場合は、Webカメラなどを適当に接続しましょう。

$ python camera_pose_demo.py

 動作結果は、以下のような感じです。

f:id:karaage:20180219153140g:plain:w640

 恥ずかしいので顔を紙袋で隠しているので、顔は検出できていない点、ご容赦ください。ちなみにリアルタイムっぽく見えますが、iMacの環境だと骨格検出には5,6秒程度かかります。リアルタイムに実現するには、今のPCスペックだとGPUが必須ですね。

まとめ

 単眼カメラで骨格検出できる「Realtime Multi-Person Pose Estimation」を試してみました。CPUだけでリアルタイムに処理できれば、昔作ったヒューマンシーケンサ(下記記事参照)の単眼カメラバージョンを作ろうかと思っていたのですが、GPUが無いと流石に厳しそうですね。

 しかし、これだけのことが単眼カメラだけで出来てしまうのは驚きですね。Kinectが出たときは、これからカメラがもっと高性能になっていくのかと思っていたのですが、最近の研究の流れを見ていると、今後は普通のカメラと高度な画像処理を組み合わせて、様々な機能を実現するという方向に世の中は向かっていくのかもしれないないですね。Kinectは生産中止になってしまいましたし…個人的には、高精度なデプスカメラまだまだ需要あると思うのですが、今だとそこそこ安価で使えそうなデプスカメラはIntel Realsenseシリーズくらいでしょうか。

 デジカメの分野だと、日本のメーカはセンサやレンズの性能でまだ大きく優位性がありますが、今のうちに手を打たないと他の分野のようにソフトで負けちゃわないかな、とか少しだけ日本のカメラファンとして杞憂しています。ディープラーニング等の技術を使えば、豆粒センサとレンズでもフルサイズセンサのようなボケとか、超望遠レンズのような画角って実は実現できてしまったりします。

 今はクオリティはそれほど高くはないのですが、ソフトウェアの進化のスピードを考えると数年後はどうなるのでしょうね。nvidiaのチップが載ったデジカメが出てくるのもそう遠い未来ではないかもしれません。

参考リンク

深層学習を用いたコンピュータビジョン技術とスマートショップの実現

夏のトップカンファレンス論文読み会 / Realtime Multi-Person 2D Pose Estimation using Pa…

OpenPoseのPAFモデル - mabonki0725の日記

Open posedoc

関連記事

福井県の「あわら温泉 政竜閣」に高校の同級生と1泊2日でゲーム合宿に行って来ました

$
0
0

f:id:karaage:20180217150745j:plain:w640

福井県まで高校の同級生とゲーム合宿に行って来ました

 久しぶりに高校の同級生6人の友人と旅行という名のゲーム合宿(友人の1人曰く「e-Sports 強化合宿 in 福井」)に行ってきました。

 私は最近でこそ、ほとんどゲームをしなくなってしまったのですが、実は高校生のころはそこそこゲーマーだったのです。それこそ指紋がなくなるまでスト2をやっていました。他の友人達は、今でも現役(?)で、みんなアーケード、FPS、リズムゲーム、ネットワークRPG、スマホゲーとあらゆるゲームをストイックにやり続けています。半分以上は家庭持ちなのに凄い。

e-Sports強化合宿 in 福井の写真

 今回は、そんな合宿の様子を写真と共に振り返りたいと思います。ちなみにここからの文章と写真は読んでも全く得るものはないと思いますので、ここで念のため忠告しておきます。

 ブログって、役に立つことが書いてあるものって心のどこかで思っていませんでした?そんな下らない固定概念は、パンツと一緒にドブに捨てて全裸になって下さい。

旅館にインする様子

f:id:karaage:20180217140920j:plain:w640
 福井は豪雪のあった次の週に行ったので、一面雪でした。幸運にも天気は良好

f:id:karaage:20180217144647j:plain:w640
 あわら温泉 政竜閣さん外観

f:id:karaage:20180220000003j:plain:w640
 2台のディスプレイを持ち込み旅館にチェックインする男

f:id:karaage:20180217145839j:plain:w640
 お部屋は落ち着いていて良い感じでした 

ゲーム機のセットアップ

 部屋に入ったら、いよいよセットアップです。次々にゲーム機が出てきます

f:id:karaage:20180217145152j:plain:w640
 旅館のテレビと合わせてモニタは3台体制

f:id:karaage:20180217151524j:plain:w640
 スーパーファミコンミニ

f:id:karaage:20180220000143j:plain:w640 Wii UとWii リモコン

f:id:karaage:20180217150745j:plain:w640
 PS42台をセッティングしてチェック

f:id:karaage:20180220000019j:plain:w640 機材セッティング完了の祝杯

合宿開始

f:id:karaage:20180217151919j:plain:w640
 インスタ映えする「魂斗羅」(コントラ)

f:id:karaage:20180220000239j:plain:w640
 話題の「モンハン ワールド」に興じる人達

モンスターハンター:ワールド - PS4

モンスターハンター:ワールド - PS4

f:id:karaage:20180218083022j:plain:w640 別のチームは、スマホの無料のFPSゲーム「荒野行動」に興じる

f:id:karaage:20180220000117j:plain:w640
 厳しい合宿の練習風景

 ちなみに上記写真の左隅に小さく写っているモバイルバッテリ、友人のものなのですが、私と同じモバイルバッテリでした。

 詳しくは以下

 そして同じく写真にうつっている友人の持っていた、以下のケーブルがめちゃめちゃ便利そうでした!これは絶対買う!

f:id:karaage:20180220000212j:plain:w640 Nintendo Switchもあったので、貸してもらって私は夢にまでみたゼルダをプレイ。めちゃめちゃ楽しくて、私は合宿中ずっとゼルダやってました。

ゼルダの伝説 ブレス オブ ザ ワイルド  - Switch

ゼルダの伝説 ブレス オブ ザ ワイルド - Switch

f:id:karaage:20180220000252j:plain:w640
 昔のゼルダもプレイ

 途中、何故か未開封の「スーパーマリオ3Dワールド」の開封レビューが始まる f:id:karaage:20180220000214j:plain:w640

f:id:karaage:20180220000226j:plain:w640

 ゲーム内容は、なんというか普通でした。コントラの方が面白いかな(笑)

 途中で旅館にゲームコーナがあるとのことで偵察に

f:id:karaage:20180220000033j:plain:w640
 懐かしのストZero3の筐体

 さっそくプレイし始めるアーケードガチ勢の友人

f:id:karaage:20180220001338g:plain:w640
 久しぶりと言いながら、きっちりスクリューパイルドライバをキメる。流石。

旅館の料理

 「あわら温泉 政竜閣」さん、料金安かったのにめちゃめちゃご飯豪華で大満足でした!

f:id:karaage:20180217174329j:plain:w640
 晩御飯

f:id:karaage:20180217174759j:plain:w640
 机に収まりきらないボリューム!

f:id:karaage:20180218082441j:plain:w640
 朝ごはん

f:id:karaage:20180218083744j:plain:w640
 朝ごはんは魚の代わりにカレーを選べるオプションもありました(大人気らしい)。もちろん私はカレーをチョイス!おいしかったです

 「政竜閣」さん、お風呂も露天もあるし、岩風呂の巨石も大迫力で凄い良かったです。本当良い宿でした。ゲームばっかりしててゴメンなさい!  

次の日はnew 3DS探してゲームショップ巡り

 次の日は軽く東尋坊に寄った後、友人が Nintendo new 3DSを買いたいとのことで、ゲームショップ巡り。生産終了で新品はなかなか手に入らないらしいです。

 7件めぐって最後の1件でようやく発見!良かったね!

f:id:karaage:20180222125836j:plain:w640
 勝利の証

 Amazonでも売っているけど、プレミア価格らしい。確かに変動しているような気がするけどあんまり価格変わらないような…き、気のせいかなきっと!

New ニンテンドー3DS ホワイト【メーカー生産終了】

New ニンテンドー3DS ホワイト【メーカー生産終了】

まとめ

 福井県の「あわら温泉 政竜閣」でe-Sports強化合宿 in 福井に興じてきました。久しぶりにゲームやりましたけど、やっぱり楽しいですね。今は私は、ほとんどゲームやらなくなっちゃいましたけど、決して否定的な理由ではなくて、たまたま今の自分が他にもっとやりたいことが沢山あるというだけです。

 ゲームって、プレイしながらも色々考えさせられること多いですし、ハードウェア・ソフトウェアという観点でも、最先端の技術が使われていることが多いので、今でも学ぶことは多いと思っています。特にソフトウェアの開発手法という観点で、自分はかなり考え方を参考にしています。「岩田社長のMOTHER開発の伝説的エピソード」は言わずもがなですね。

 何より、高校時代ゲームで一緒に遊んだ友人と、こうして何年も繋がりを持てているというのが、かけがえのない価値だと思っています。やり過ぎが良くないのは何事も同じですね。まあ友人達はやり過ぎな感じはありますが、e-Sportsとして考えば仕方のないことですね。スポーツって身体を犠牲にして結果(勝利・栄誉)を勝ち取るものだと思いますので。

 そして、ほんとNintendo Switchとゼルダは面白かったので、いつか絶対買ってクリアするまでプレイします!

ゼルダの伝説 ブレス オブ ザ ワイルド  - Switch

ゼルダの伝説 ブレス オブ ザ ワイルド - Switch

 あと宿泊先の「政竜閣」さんは、ご飯もお風呂も大満足の上結構お安いとコスパ最高のお宿でした。友人のナイスチョイスでしたね。福井でコスパのよい宿探すときにはオススメです!  

関連記事


3Dプリンタ「UP Plus2」に買い換えたら簡単に3Dプリントできるようになりました

$
0
0

f:id:karaage:20180228011552j:plain:w640

3Dプリンタに悪戦苦闘する日々に疲れて新しい3Dプリンタを買ってしまいました

 ここのところ、下記記事のように3Dプリンタと格闘する日々を送っていました。

 一応3Dプリントうまく行くときもあるのですが、なかなかプリント開始できなかったり、プリントの途中で止まってしまうことが多々ありました。色々試行錯誤するのも楽しくはあるし、色々得るものもあるのですが、ちょっと本来の目的を見失っている感がありよろしくないなと思い始めました。そう、私は3Dプリント技術に興味があるわけではなくて、ただ3Dプリントしたいだけなのです。

 折しも、今をときめくYoutuberであるところのヒカキンさんも「その時自分が買える1番良いものを買え」と言ったとか言わないとかという話を小耳に挟み。「1番いいものを頼む!」という心境に至りました。

 というわけで、今自分が買える1番良い3Dプリンタを考えたところ、UP Plus2に決定しました。理由は以下です。

  • 3Dプリンタを買おうと思っていたとき、詳しい人の多くに勧められた
  • 会社で使っていて、かなりヘビーに1年近く使っているけど、ほとんどメンテナンスレスで安定して3Dプリントできている
  • デザイナー脂肪のいまがわ (id:i_magawa) さんがUP Plus2を使いこなしている記事みて辛抱ならなくなった

 UP Plus2に関して以前書いた記事は以下

 いまがわさんの記事は、以下あたり

 その他、私が読者登録してるブログは、わりとみんな3Dプリンタを持っていて、プリントしたものをブログやInstagramで公開してるので、見ていて悔しくなったということもあります(これが一番大きいかも)。

 ちなみに、UP Plus2はAmazonでも買えますが、かなり高いです。

 なので、以下の日本代理店から買うのが良いです(私もそうしました)。今だと年度末決算セールで3/31までかなりお安く買えます。ただ、いつもセールやっている気もするので、特に焦らなくても大丈夫かもしれません。

 もし買う場合は、Amazonと日本代理店のサイト両方はチェックした上で購入した方が良いかなと思います。

「UP Plus2」で3Dプリント

 というわけで早速3Dプリントするまでの手順をメモしておきます。

本体初期セットアップ

 何はなくともまずは開封しましょう!

f:id:karaage:20180219111652j:plain:w640
 箱の上部に本体のセットアップ方法が書いてあります。親切!

f:id:karaage:20180219112410j:plain:w640
 付属品(写真にはありませんが、他にキャリブレーション用の治具とACアダプタもありました)

f:id:karaage:20180219112809j:plain:w640
 箱から出して置いた状態

 ここからは、付属の日本語マニュアルに沿って作業します。日本語しっかりしていますし、丁寧で分かりやすいです。

f:id:karaage:20180219112923j:plain:w640
 横のネジをゆるめて(レンチも付属しています)

f:id:karaage:20180219113534j:plain:w640
 スプールホルダ(フィラメントを置く台)類を取り付け

f:id:karaage:20180219113435j:plain:w640
 裏返して「Remove me」と書いてあるストッパを外します

f:id:karaage:20180219113807j:plain:w640
 エクストルーダと本体に挟まっている緩衝材も取り除きます

f:id:karaage:20180219114236j:plain:w640 セルボードを取り付けます。セルボードは2種類あって、これはUP Flexという造形用のシートが貼り付いているものです。シートを剥がすと普通のセルボードになります

f:id:karaage:20180225221557j:plain:w640
 セルボードの取り付けは、上図のようにピンセットを使うのが良いです(ピンセットは付属品にはありません)

f:id:karaage:20180219121536j:plain:w640
 フィラメントをスプールホルダに設置して、フィラメントをチューブに通して、3Dプリンタのエクストルーダに挿入しましょう

 ここまで完了したら、ソフトウェアをインストールしましょう。Macの場合はAPP Storeで 「UP Studio」で検索してインストールするだけです。

f:id:karaage:20180219234826p:plain:w640
 このアプリね

 Windowsの方は、以下サイトからダウンロードするのが良いでしょう

 PCと「UP Plus」をUSBで接続した後、「UP Studio」を立ち上げて、ACアダプタ接続して、後ろの電源ボタンを入れて、手前左のスイッチを長押しするとイニシャライズできます。

f:id:karaage:20180219122221j:plain:w640
 左のスイッチがイニシャライズボタン

 セルボードとエクストルーダが動いた後、「ピッ」と音が鳴り「UP Studio」の上部にも「Printer Ready」と表示されたら本体のセットアップは完了です。

キャリブレーション

 続いて重要なキャリブレーションです。「BS01」では何度も苦労したキャリブレーションですが「UP Plus2」では、なんと水平方向も垂直方向も自動でキャリブレーションしてくれます。最高かよ。「UP Plus2」が初心者にオススメできる最大の利点の1つですね。

 水平方向のキャリブレションは、まずキャリブレーション用の治具(センサ)を下図のように取り付けます

f:id:karaage:20180219122614j:plain:w640 こんな感じ

 続いて「UP Studio」で下図の画面を開き「Auto Level」をクリックします。

f:id:karaage:20180219234245p:plain:w640

 すると自動的に9点でキャリブレーションが始まります。

 水平方向のキャリブレーションが完了したら、次は垂直方向のキャリブレーションです。ここで先ほどの治具を必ず取り外しましょう(キャリブレーションの治具を取り付けたまま垂直方向のキャリブレーションをしようとすると、3Dプリンタが破損してしまいます)。治具はマグネットになっているので、本体に適当に貼り付けて置けば無くさなくて良いです。

 次に、ケーブルを以下のようにつなぎ替えます。

f:id:karaage:20180219122846j:plain:w640
 こんな感じね

 後は、先ほどの画面で「Nozzle Detect」をクリックすると垂直方向のキャリブレーションが実行されます。

 キャリブレーションは、基本的に毎回やるのがベターです。

エクストルーダのテスト

 続いて、エクストルーダのテストです。以下画面を開いて左上の「Extrude」をクリックします。

f:id:karaage:20180219234317p:plain:w640

 温度が上がったら、「ピッ」と音がするのでフィラメントを挿入します。ダラーと糸を引くようにフィラメントが出てきたらOKです。

 あとは、ファンの送風向きですが、大きめのものを造形するときは下図のように横向きにしておくのが良いようです。小さめだったら縦にするのが良いそうです(まだ試してないです)。

f:id:karaage:20180224161622j:plain:w640
 横向きの図

3Dプリント設定

 3Dプリントの設定です。

 まずは、データを読み込んで、適当に回転させて好きな方向に配置しましょう

f:id:karaage:20180219234445p:plain:w640
 最適な配置は、試行錯誤するしかないです

 続いて、上の「>>」ボタンをクリックして下図のように詳細メニューを開きましょう。

f:id:karaage:20180226001559p:plain

 ここで重要なのが「Preheat」(余熱)の項目です。デフォルトではここはチェックされていないのですが、必ずチェックしておきましょう(特にABSフィラメントの場合)。ここをチェックするとセルボードを温めてからプリント開始するので、フィラメントがセルボードに安定して定着します。これをしないと、うまくフィラメントがセルボードに定着しなかったり、反ったりします。

 最初私はこれに気づかず、盛大に反ってしまいました。

f:id:karaage:20180225230758j:plain:w640
 盛大に反った図

 でも、実はこれ「Preheat」無しに加えて、サポート材も無しの設定でやっているんですよね。反ってはいるものの、サポート材とPreheat無しでちゃんと造形できちゃうのは流石です。

 後は「Preview」をクリックしましょう。プリントにかかる時間と必要なフィラメントの量が表示されます f:id:karaage:20180219234458p:plain:w640
 時間とフィラメントの量は、下の方に表示されています。

 あんまり時間がかかるようだったら、プリント品質や配置を見直しましょう。

 問題なければ右下の「Exit preview」でプレビュー画面を抜けた後、「Print」をクリックして3Dプリントを開始しましょう。

3Dプリントの様子

 3Dプリント開始したら、実にスムーズにフィラメントが積層されていきます。

f:id:karaage:20180219131049j:plain:w640
 見よこの安定感

f:id:karaage:20180219151111j:plain:w640
 徐々に積層されていきます

f:id:karaage:20180219165045j:plain:w640
 できた!

f:id:karaage:20180219223422j:plain:w640
 セルボードを取り外して、スクレイパ(お好み焼きのへらみたいなやつ)でひっぺがします

f:id:karaage:20180219223624j:plain:w640
 セルボードからめちゃ綺麗に剥がれました

f:id:karaage:20180219223634j:plain:w640
 UP Plus2のサポート材(プリントしたものを支える材料)は、特殊な形状で剥がれやすいのが特徴です

f:id:karaage:20180219225130j:plain:w640
 ただ、天板のサポータを剥がすのは至難の技…

 次のプリントは、以前の悪戦苦闘した経験を生かして、サポート材無しでチャレンジしてみる。

f:id:karaage:20180225215227j:plain:w640
 サポート材無しでもいけた!

f:id:karaage:20180225220148j:plain:w640
 BS01(左)とUP Plus2(右)の比較

サポート材剥がしの様子

 サポート材の剥がしやすさで定評のある UP Plus2。実際にどんなもんなのか、わざとサポート材が多めになる方向にプリントして試して見ました。

f:id:karaage:20180302015304j:plain:w640
 ワシャワシャついているサポート材を剥がしていく

f:id:karaage:20180302015315j:plain:w640
 手で簡単に剥がれます(ピンセットも併用するのも良いです)

f:id:karaage:20180302015327j:plain:w640
 一部は残りましたが、この形状でこれだけ手で取れるのは凄い!

まとめ

 3Dプリンタ「UP Plus2」を購入して3Dプリントテストしてみました。デフォルト設定で安定して3Dプリントすることができて大満足です。実際に家で使ってみて改めて良いなと思った点は、以下です。

  • デフォルト設定で安定して造形できる
  • 比較的匂いが少ない
  • 動作音が静か
  • サポート材が剥がしやすい

 他の3Dプリンタを使用することで、UP Plus2の素晴らしさが改めて分かりました。特に、上記のような性能を実現するために、水平・垂直のオートキャリブレーション、ベッドの形状(穴ぼこ)、エクストルーダのファン、サポート材の形状など色々なノウハウが詰め込まれていることに気づかされました。設定もデフォルトが非常に安定しているので、3Dプリンタ初心者でも、安心して勧められる製品です。逆に、色々いじりたい人にとっては物足りないかもしれません(笑)

 UP Plus2はAmazonと日本代理店の公式サイトの値段やセール情報を見比べて買うのがオススメです。

ボンサイラボ製 3Dプリンタ「BS01」譲ります

 悪戦苦闘していたボンサイラボ製 3Dプリンタ「BS01」ですが、今後の使用予定はなさそうなので、処分しようかなと考えていますが、もし欲しい人がいましたらお譲りします。

f:id:karaage:20170623104526j:plain:w640
 こんな感じです

 ちなみに私が使いこなせなかっただけで、「BS01」自体は決してダメな3Dプリンタというわけではないと思います。ネット探すと、実際使いこなして見事な3Dプリントしている人の情報が結構出てきます。ただ、如何せん古い機種にはなりますし、マニュアルで調整する箇所も多く、上級者向きかなと感じています。

 なので、ある程度分かっている上級者の方を推奨します。初心者の方でも、3Dプリンタ自体に興味があって、調整とか含めてやってみたいというチャレンジングな方には良いかと思いますが、あんまりオススメはしないです。

 条件は以下になります。

  • 現状引き渡し(ノークレーム・ノーリターン)
  • 送料は負担下さい
  • 無事動いたら、Amazon欲しいものリストから何か送って貰えると泣いて喜びます

 現状に関しては、関連記事あたりを見てもらえると分かりますが、注意点は以下です。

  • フィラメントは付属しません
  • ベッドの反りが激しいです
  • エクストルーダの排出が調子悪いです

 小さいものなら、現状のままでも調整でだましだまし造形できると思いますが、本格的に使用する場合はベッドやエクストルーダの部品の交換が必要かなと感じています。

 期間は3/31くらいまでで考えています。欲しい方、興味ある方は twitter問い合わせフォームから気軽に連絡下さい。先着順です。

関連記事

Amazon EchoをRaspberry Piのワイヤレス音声認識マイク&スピーカとしてミクさんの声で喋らせたり家電制御(リモコン制御)する方法

$
0
0

f:id:karaage:20180221013326j:plain:w640

Amazon EchoをRaspberry Piのワイヤレス音声認識マイク・スピーカとして使いたい

 我が家では、Amazon Echoを壁掛け設置して色々便利に活用しています。

 ただ、そんな中。妻から色々不満の声が上がってきました。具体的には以下です。

  • リマインダでいちいち2回言うのが気にくわない。1回で良い
  • 音声認識で家電(テレビ・リモコン・ルンバ)の制御がしたい
  • からあげDashボタンの音声認識率が悪くてつかえない

 ここまできたら、Amazon Echo単体では、如何ともしがたいですね。そんなときの強い味方が我らがRaspberry Piです。要はAmazon EchoをRaspberry Piのワイヤレス音声認識マイク&スピーカと使うことができれば何でもできます(ラズパイ脳なのでRaspberry Piなら何でもできると信じている)。

 というわけで、今回は色々ネット情報調べて試行錯誤して、自分なりのAmazon EchoとRaspberry Piを連携させるベストプラクティスを見つけたので、その方法に関してご紹介したいと思います。助けられた先人の知恵は、本記事の最後に参考リンクとしてまとめていますので、この記事で分かり辛いという人はそちらも参考にしてみて下さい。

システム概要

 今回構築したシステムは以下のようなイメージとなります。

f:id:karaage:20180221015258j:plain:w640

 Amazon EchoとRaspberry Piを入力・出力両方向で連携させるところが肝で、これによりAmazon EchoをあたかもRaspberry Piの音声認識マイク&スピーカとして使うことが可能になります。このシステムでは、Raspberry PiからAmazon EchoへはBluetoothで、Amazon EchoからRaspberry PiへはNode-REDを用いて接続しています。Node-REDのところは、実際には「Node-RED Alexa Home Skill Bridge」でブリッジしたりと間に色々あるようなのですが(あんまり分かってない)、使うときはユーザはそこらへんは特に意識しないで、Amazon EchoとRaspberry Piがローカルネットワークで繋がっているかのように動作してくれるのが大変ありがたいです。

 Amazon EchoからRapberry Piへの接続は、他にも「IFTTT + Slack + Hubot」 の組み合わせや、「Alexa Skills Kit + AWS lambda + AWS IoT」の組み合わせなど色々な手段があるようですが、IFTTTの日本語認識率が致命的に悪いとか、多くのサービスを使用して煩雑とか、スキル作成は初心者にはハードルがあるなどそれぞれ色々難点があるので、今のところNode-RED使うのが一番シンプルで応用も効きそうで良いかなと思っています(個人の感想です)。

事前準備

 まずは、Amazon EchoとRaspberry Piを用意しましょう。

Amazon Echo Dot (Newモデル)、ブラック

Amazon Echo Dot (Newモデル)、ブラック

 Raspberry Piに関しては、以下の記事を参考にRaspberry Piの基礎的なセットアップをします

 リモコン制御に関しては、以下の記事の irMagicianかVIR-USB赤外線学習リモコンセットのところを参考にして、コマンドでリモコンを操作できるようにしておきましょう。今回は、Siriは使わないので、homebridge関係のセットアップは不要です。

 VIR-USB赤外線学習リモコンをRaspberry Piに繋いでセットアップした図 f:id:karaage:20180221013312j:plain:w640

Amazon EchoをBluetoothスピーカとして使ってミクさんの声で喋らせる

 これは以前Bluetoothのスピーカと繋いだことあるので簡単でした。以下記事の「スマートフォン・Raspberry Piとスピーカーの接続性」という項目を参照下さい(私が以前に、はてなニュースさんに寄稿した記事です)。

 上記では、Pringlesとなっていますが、Amazon Echoの場合は以下のように表示されます。

f:id:karaage:20180214004144p:plain:w480

f:id:karaage:20180214004150p:plain:w480

 あとは、Raspberry Piに喋らせるだけです。Raspberry Piにミクさんの声で喋らせる方法は以下記事を参照下さい。

 うまくいけば、以下のような感じにAmazon Echoにミクさんの声で好きなことをしゃべらせることが可能です

 Bluetoothは、Raspberry PiとAmazon Echoの接続性を気にしていたのですが、Raspberry Piを1日放置しても接続したままでしたし。Raspberry Piを一旦電源切って再起動しても、自動的に接続してくれるので、そこまで悪くは無さそうです。

 後は、cronとか使えばRaspberry Piを使って、Amazon Echoにミクさんの声で好きなタイミングで好きな言葉をしゃべらせることができます。リマインダのように2回繰り返すこともないですね。

 天気予報やグーグルカレンダーの予定読み上げなども、以下記事参考にすれば簡単に実現できると思います。といっても、これらの機能はAmazon Echo単体でもある機能なので、利点はミクさんの声にできることくらいですが。

家電制御(リモコン操作)

 Amazon EchoからRaspberry Piへの通信を実現するには、以下の3つの設定をする必要があります。といっても、上2つは決まり切ったことをするだけで、肝となるのはNode-REDですね。

  • Node-RED Alexa Home Skill Bridge(Webサービス)
  • スキル追加(Amazon Echo)
  • Node-RED(Raspberry Pi)

 順に設定していきます。

Node-RED Alexa Home Skill Bridge の設定

 Amazon EchoとRaspberry Piを繋げる(ブリッジする)ためのサービスです。以下サイトにアクセスします。

Node-RED Alexa Home Skill Bridge

 以下の画面から左上のRegisterをクリックします f:id:karaage:20180214010514p:plain:w640

 以下画面のAdd Deviceをクリック f:id:karaage:20180214010517p:plain:w640

 好きな名前のデバイスを作成します。とりあえず今回はkechoとしました。karaage echoね。 f:id:karaage:20180214010518p:plain:w640

Amazon Echoのスキル設定

 続いてAmazon Echoのスキル設定をしましょう。まずはスマートフォンのAmazon Alexaアプリを起動します。以下はiPhoneでの設定例ですが、他のスマホでも基本は同じだと思います。

 まずはスキルで、「Node-RED」で検索しましょう。「node」とかでもOKです。「Node-RED」というスキルが出てくるはずなので、クリックしましょう。 f:id:karaage:20180221002738p:plain:w480

 有効にしようとすると以下のような画面が出てきますので、「Node-RED Alexa Home Skill Bridge」で設定したユーザ名とパスワードを入力しましょう f:id:karaage:20180221002731p:plain:w480

 成功すれば、以下のようにスマートホームのメニューに以下のように先ほど登録したデバイス「kecho」が出てきます f:id:karaage:20180221002724p:plain:w480

 「kecho」を選択すると以下のような画面が出てきます。 f:id:karaage:20180221004043p:plain:w480

 まだ「kecho」の中身を作っていないので当然オン、オフをタップしても何も起こりません。また、このままだと「kecho」がAmazon Echoの音声認識のトリガとなってしまうため、呼びやすい名前に変えておきましょう。

 そのために、右上の編集をタップして以下のような画面に遷移します。

f:id:karaage:20180221004049p:plain:w480

 名前を編集という項目をタップすると「kecho」を好きな名前に変えることができます。今回は照明を制御したいので、「ライト」という名前にしてみました。

f:id:karaage:20180221003754p:plain:w480
 デバイスの名前がライトになりました

 複数のデバイスを登録したい場合は、「Node-RED Alexa Home Skill Bridge」でデバイス追加した後、上記スマートホーム画面の「デバイスを追加」をタップしてしばらく待つだけでOKです。

 これでAmazon Echoから音声認識で自分で作ったNode-REDの仮想デバイスを呼び出す準備ができました。次は、いよいよNode-REDの中身を作っていきましょう。

Raspberry Pi側のNode-REDセットアップ

 最初にターミナルから、以下コマンドを実行してアップデートしましょう

$ update-nodejs-and-nodered

 最初アップデートしないで設定しようとしたら、以下のように肝心のノードを追加する項目(パレットの管理)が設定に出てこなくて焦りました。必ずアップデートしましょう。 f:id:karaage:20180219234634p:plain:w640

 アップデート完了したら、以下コマンドでNode-REDを起動します。

$ node-red-start

 また、以下コマンド実行しておくと、次回からはRaspberry Piが起動すると自動的にNode-REDが立ち上がるようになります(上記のコマンドの入力が不要になります)。

$ sudo systemctl enable nodered.service

 これでRaspberry Pi上にNode-REDサーバが立ち上がるようになりました。Node-REDはブラウザからサーバにアクセスして、開発していく流れになります。Raspberry Piでブラウザを立ち上げてアクセスしてもよいのですが、GUIでの開発にRaspberry Piだと少し非力なので、Raspberry Piと同じネットワーク上にあるPC(Mac)のブラウザからアクセスして開発していくことにします。

 ブラウザのアドレス欄に、Raspberry PiのIPアドレスを入力しましょう(分からなければRaspberry Pi上でifconfigというコマンド打つとそれっぽい数字が出て来ます)。もしくは、ホスト名経由でもアクセスできます(Macの場合は設定不要です。WindowsはiTunesをインストールすればOKのはず)。今回Raspberry Piは kechoという名前にしたので、kecho.localでアクセスします。

f:id:karaage:20180215003741p:plain:w640

 上記のような起動画面が表示されたら、右上のメニューボタンから、パレットの管理をクリックします f:id:karaage:20180215004313p:plain:w640

 パレット->ノードを追加で「node-red-contrib-alexa-home-skill」を検索。ノードを追加しましょう。 f:id:karaage:20180215004327p:plain:w640

 左下にalexaのノードが追加されます f:id:karaage:20180215004430p:plain:w640

 ここからは、Node-REDのプログラミングになります。レゴのブロックみたいにGUIでノードをつないでいって機能を実現するのが作法のようです。とりあえず参考サイトなどをみながら勘で作ってみます。

 alexa homeをドラッグアンドドロップして、画面に置いて選択。Accountの鉛筆マークをクリックします。 f:id:karaage:20180215004410p:plain:w640

 ユーザ名とパスワードは、もちろん「Node-RED Alexa Home Skill Bridge 」で設定したものを入力します f:id:karaage:20180215004456p:plain:w640

 kechoが選択できます。 f:id:karaage:20180215004512p:plain:w640

 あとは、「機能」の「switch」と「その他」の「exec」を使って、以下のようにAmazon Echoで音声認識したON/OFFを元にライトをオン・オフするという流れを作ってやります。なんとなく動きはこの絵をみると想像できますね。 f:id:karaage:20180221010517p:plain:w640

 「switch」の設定は以下のようにしています。オンとオフで行き先を切り替えているだけですね f:id:karaage:20180215004544p:plain:w640

 「exec」の設定は以下の通りです。ここで、Raspberry Piに実行させたい好きなコマンドを入力しましょう。今回は照明のリモコンONにするコマンドを使用しています。引数のmsg.payloadのチェックは外しておきましょう。 f:id:karaage:20180221010844p:plain:w640

 設定終わったら、最後に必ず右上の「デプロイ」をクリックしましょう。デプロイの意味わからない人は、ファイルの保存くらいにとらえておいてください。私も正直あんまり分かってないです。

 これで設定はOKです。

動作テスト

 続いては動作テストしてみましょう。まずはAmazon Alexaアプリのスマートホームから「ライト」を選択して、「オン」「オフ」をタップしてみましょう。 f:id:karaage:20180221003702p:plain:w480

 問題無ければ、Raspberry Piが設定したコマンドを実行して、今回は照明をオン・オフします。うまくいかないときは、ブラウザでNode-REDサーバにアクセスしておくと、エラーの箇所が表示されますので、確認しましょう。

 ここまでうまくいったら、後はAmazon Echoに「アレクサ ライト オフ」「アレクサ ライト オン」と話しかけましょう。以下のように照明を制御してくれます。

 やったね!

 Amazon Echo、IFTTTを使うと、現状は異常に認識率悪いのですが、Node-RED経由の認識率は悪くなさそうな印象です。今後、他の単語も試してみようと思います。

まとめ

 Amazon EchoをNode-RED経由でRaspberry Piのワイヤレス音声認識マイク&スピーカとして使う方法を紹介しました。思ったよりシンプルな構成でAmazon EchoとRaspberry Piを連携させることができました。心配していた、Bluetoothとの接続性と音声認識の精度も、実用的なレベルにありそうな感触です。Raspberry Piで音声認識や音声出力を試してみたいという人は、マイクとスピーカ買う代わりにAmazon Echoを買うというのも良い選択肢かなと思いました。

 今回は家電制御として照明制御を試しましたが、今回構築したシステムならAmazon Echoの音声認識をトリガにRaspberry Piのあらゆるコマンドを実行できるので非常に応用範囲が広いと思います。例えば、、Raspberry Piを使って照明制御の他にリモコンで操作できるテレビ・エアコン・ルンバを制御したり、カメラを撮影したり、Slack、Twitter、はてなブログのようなWebサービスと連携させても面白そうですね。色々なことを試して実際に運用してみたいなと思っています。

Amazon Echo Dot (Newモデル)、ブラック

Amazon Echo Dot (Newモデル)、ブラック

参考リンク

Amazon Echo Dot(Alexa)とNode-REDで家電をスマートホームに対応させる - rochefort's blog

Echosim.ioを使うと日本でもAlexaでSmart Homeを実現できるので、安価なBlack Beanで照明やエアコンを制御してみた - 知的好奇心 for IoT

Amazon Echoとラズパイで、音声で照明をon/offする - Qiita

Amazon Echoで「○○をつけて」と言って家電を操作する - Qiita

【IoT】4.Node-REDの設定をしてみる - そこらへんのパパの独り言

カラスのノート: amazon alexa と raspberry pi を使って簡単にスマートホームを作る

素人でもスマートスピーカーから家電を操作できた - Qiita

関連記事

はてなブロガーさん達が良質なLightroomのプリセット次々公開するので片端から試して見た

$
0
0

f:id:karaage:20171029020033j:plain:w640

良質なLightroomのプリセットが次々と公開される1週間

 私は写真のRAW現像するとき、Adobe Lightroomというソフトウェアを使用しているのですが、Lightroomの最大の利点として、多くのプリセット(RAW現像のパラメータのセット)が公開されていることがあります。世の中には、フィルム写真を高度に再現(シミュレート)できる有料のプリセットなどもあったりします(以下記事参照下さい)。

 パラメータの数字の羅列にお金を払うって、ちょっと変な感じですが、よく考えたらソフトウェアってそういうものですものね。情報が価値を生み出すのです。

 そんなLightroomのプリセット、なんとフォローしているブロガーさん(偶然にも全員はてなブロガー)が1週間のうちに次々と公開するという(自分の中では)大事件がありました。以下日付順に紹介します。

 みんな神ですか?

 というわけで、片端からプリセットをダウンロードしたので、簡単に比較してみたいと思います。プリセットのLightroomでの使い方に関しては、id:sfTKLさんの記事(3番目の記事)に詳しく書かれていますので参照下さい。

 Macでターミナルに慣れている方なら、デフォルト設定であれば以下コマンドで一発でプリセットのフォルダが開けるので便利です。

$ cd ~/Library/Application\ Support/Adobe/Lightroom/Develop\ Presets/ && open .

 フォルダ開いたら、あとはプリセット(.lrtemplateの拡張子のファイル)をコピーするだけです。簡単ですね。

Lightroom プリセット比較

 いよいよ比較していきます。比べるのは以下5つです。

  1. 補正なし
  2. VSCO Film 00 Kodak Gold 100
  3. 豪クラシッククローム(id:fridaynightさん作)
  4. mae0301_1 (id:hibi-maeさん作)
  5. Generic Breach Bypass 1 (id:sfTKLさん作)
  6. Fake HDR(id:karaage作)

 最後のは、私が雑誌の情報を参考に作ったやつです。おまけみたいなもんです。プリセットの詳細は以下記事参照下さい。

 本来は、どのプリセットも適用してから、カメラや対象に合わせて自分で設定を追い込むことを前提にしているのですが、今回はプリセット適用したらそのまま書き出しという神をも恐れぬ行為を繰り返しました!

プリセット比較 ハワイの昼間

 ハワイでピーカンの昼間に撮った写真です。

f:id:karaage:20171029021128j:plain:w640
 補正なし

f:id:karaage:20171029021132j:plain:w640
 VSCO Film 00 Kodak Gold 100

f:id:karaage:20171029021130j:plain:w640
 豪クラシッククローム

f:id:karaage:20171029021129j:plain:w640
 mae0301_1

f:id:karaage:20171029021131j:plain:w640
 Generic Breach Bypass 1

f:id:karaage:20171029021133j:plain:w640
 Fake HDR

 おお!どれも個性的!いい、どれも良いですよ!やっぱりVSCOはもちろん良いのですが、豪クラシッククロームもかなり良い雰囲気を出しています。Generic Breach Bypass 1も渋くてかっこいい!mae0301_1のプリセットは、この写真だとちょっと派手すぎですが、私はこれくらいが好きだったりします(笑)

 そして、Fake HDRは完全にやりすぎですねw

プリセット比較 ハワイの朝焼け

 続いて、逆光のハワイの朝焼け写真で試して見ました

f:id:karaage:20171029020032j:plain:w640
 補正無し

f:id:karaage:20171029020036j:plain:w640
 VSCO Film 00 Kodak Gold 100

f:id:karaage:20171029020034j:plain:w640
 豪クラシッククローム

f:id:karaage:20171029020033j:plain:w640
 mae0301_1

f:id:karaage:20171029020035j:plain:w640
 Generic Breach Bypass 1

f:id:karaage:20171029020037j:plain:w640
 FakeHDR

 この写真だと、mae0301_1のプリセットが一番好きかもしれません。適用した瞬間ドキッとしました!このプリセットかなり好きかも。

 他のプリセットもどれも個性あって、甲乙つけがたしですね。Fake HDRに関してはノーコメントでw

工場夜景ガチンコ対決

 id:sfTKLさんのGeneric Breach Bypassは工場夜景に合うということだったので、追加で私が以前作った工場夜景専用のプリセットと比べてみました(プリセットの詳細は以下記事参照下さい)。

f:id:karaage:20160606203453j:plain:w640
 補正無し

f:id:karaage:20160606203451j:plain:w640
 Generic Breach Bypass 1  

f:id:karaage:20160606203452j:plain:w640
 工場夜景専用プリセット

 Generic Breach Bypassいい!私の工場夜景専用プリセットより良いのじゃないの?というか、専用プリセット、工場のライトの赤が不気味…

まとめ

 はてなブロガーさんが公開しているLightroomのプリセットを試して見ました。ほんと、こんな素晴らしいプリセットを公開してくれているの感謝しかないです。カメラや撮影対象によっても、プリセットの効果は全然違ってくるはずのですので、今回の比較で気になったプリセットがあれば、ダウンロードしてみることをオススメします。というか全部ダウンロードしたほうがよいです。特に、mae0301_1のプリセットは9日13:15までの公開らしいのでお早めに!

 最近の私のRAW現像、VSCOのプリセットを1クリックして終わりという舐めたスタイルの写真ばかりだったのですが、パラメータもっと慎重に追い込まないといけないなと反省しました(本当か?)。そして、私もプリセットとか作ってみたくなりました。でも、センスが無いので良い感じに作れる気がしません。ディープラーニングとか使っちゃダメ?

関連記事

福井県の名勝「東尋坊」の絶景を堪能してきた

$
0
0

f:id:karaage:20180218103430j:plain:w640

「東尋坊」に行ってきました

 福井県の「あわら温泉 政竜閣」に高校の同級生と1泊2日のゲーム合宿に行って来ました(詳細は下記記事参照)。

 2日目は、ホテルから近いという理由で東尋坊に寄ってきました。滞在時間は1時間程度。合宿中の唯一の観光です。折角なので少し写真も撮ってきました。寒かったのでちょっとだけですが(根性無し)。いつものようにペタペタ写真を貼っていきますので、興味ある方のみどうぞ。

東尋坊タワー

f:id:karaage:20180218102114j:plain:w640
 東尋坊タワーというレトロな建物

f:id:karaage:20180218105122j:plain:w640
 色々なタワーと比較ありますが、東尋坊タワーが圧倒的に低い。なぜ比較した…

東尋坊付近のお店

f:id:karaage:20180218104624j:plain:w640
 何故か駐車場にはドラえもん

f:id:karaage:20180218102204j:plain:w640
 東尋坊というお坊さん。この人のまつわる逸話が東尋坊にあるらしい

f:id:karaage:20180218104142j:plain:w640 東尋坊までは色々お店が立ち並ぶ

f:id:karaage:20180218102255j:plain:w640
 食べ歩きは危険らしい

f:id:karaage:20180218104009j:plain:w640
 一瞬「おみやげ、やめました」に見えた

f:id:karaage:20180218102453j:plain:w640
 何故かソフトクリーム屋さんが多い

f:id:karaage:20180218102620j:plain:w640
 もうすぐ東尋坊

東尋坊の絶景

 めちゃめちゃ寒かったです。

f:id:karaage:20180218102721j:plain:w640

f:id:karaage:20180218102926j:plain:w640

f:id:karaage:20180218103017j:plain:w640

f:id:karaage:20180218103236j:plain:w640

f:id:karaage:20180218103257j:plain:w640

f:id:karaage:20180218103430j:plain:w640

f:id:karaage:20180218103757j:plain:w640


 東尋坊ラプス

ソースカツ丼

 お昼は、福井の地元グルメであるところのソースカツ丼を食してきました。有名らしいヨーロッパ軒さんです。

f:id:karaage:20180222234428j:plain:w640

f:id:karaage:20180222234359j:plain:w640
 ソースかつどーん!

f:id:karaage:20180222234415j:plain:w640
 こうやってカツをとなりによけておいた方が、ご飯の蒸気でべちゃべちゃにならず美味しく食べられるそうです

 実はソースカツ丼って、ご飯とソースの組み合わせに疑問があって苦手だったのですが、ヨーロッパ軒さんのところは美味しく食べれました。ソースが違うのかな?

 今まで食べたソースカツ丼の中で一番美味しかったと思います!といっても、食べたの3回目くらいですけどね。HAHAHA!ご馳走様でした!

まとめ

 東尋坊に行ってきました。今回使用した機材は主に以下です(ソースカツ丼はiPhone)。東尋坊には広角レンズが良い感じですね!

関連記事

Open3D+ROS+Pythonで3次元画像処理を楽々プロトタイピング

$
0
0

f:id:karaage:20170817152149j:plain:w640

3次元画像処理ライブラリ「Open3D」の紹介

 いつも読んでいる、「空飛ぶロボットのつくりかた」というブログで、Open3DというIntel製の3次元画像処理のライブラリが紹介されていました。

 「Open3D」の公式サイトは以下です。 Open3D

 個人的に、3次元画像処理には興味あって、以前Point Cloud Library(以下PCL)を使った、簡単な3次元画像処理を紹介したことがあります(以下記事参照)。

 ただ、PCLには以下のような不満がありました。

  • C++しか使えない(C++苦手…)
  • ちょっとした修正にもいちいちビルドしないといけない
  • たくさん行数書く必要がある

 Open3Dがつくられたのも、上記のような不満を解消するのが目標だったようで、Open3Dを紹介する論文によると、Open3DのPCLに比べた利点は以下とのことです。

  • Pythonが使える
  • 少ない行数でかける(PCLの1/5とのこと)
  • Jupyter Notebookでデバッグできる

 そしてPCLはかなりディスられてました。よっぽど嫌な思いをしたのでしょう(PCLに親を殺されたとか)。

Open3DはROSと連携させると良さそう

 Open3D、ちょっと触ってみて。確かにPythonでサクサク書けるのは便利で、プロトタイピング(試行錯誤)には使いやすそうだなと感じました。

 ただ、3次元画像処理って自分としては3次元センサと組み合わせてリアルタイムで処理したいのですよね。PCLの場合は、ROS(Robot Operation System)と組み合わせることで、ROSに対応した多種多様な3次元センサと、ROSの強力な可視化機能(Rviz)やログ機能(rosbag)が使えたのが非常に便利でした。

 Open3Dは、自分が調べた感じROSには対応していなさそうでした。「対応していないのだったら、自分でROSに対応させちゃえ!」ということで、「open3d_ros」というOpen3DとROSを連携させるちょっとしたツールを作ってみました。

 この記事では、「open3d_ros」の使い方と、どんなことができるかを簡単に紹介いたします。

「open3d_ros」によるOpen3DとROS連携のセットアップ方法

 Open3DとROSを連携させるためのセットアップ手順を説明していきます。ここからの想定は、ネイティブのLinux(Ubuntu 16.04)がインストールされたPC、もしくは仮想環境上でのLinux環境を想定しています。

 Macの仮想環境(Parallels Desktop Lite)に関しては以下記事参照下さい。WindowsでもVirtual Boxなどの環境で同様にできると思います(未確認)。

 仮想環境上で、Open3Dのビルドに失敗する場合は、仮想環境のメモリ設定を最大限確保し、何度かビルドをしてみて下さい。

ROSと3次元センサのセットアップ

 ROSと3次元センサのセットアップに関しては、以下記事参照下さい。

 3次元センサはKinectを想定していますが、もし3Dセンサを持っていなくても、ログデータ(rosbag)で試すことできますので、Kinectのセットアップをスキップして次に進んで下さい。

Open3Dインストール

 Open3Dのインストールは、公式サイトのドキュメントこちらの記事に従いました。具体的にはLinux(Ubuntu)のターミナル上で以下コマンドを実行します。

$ git clone https://github.com/IntelVCL/Open3D
$ cd Open3D
$ ./scripts/install-deps-ubuntu.sh
$ mkdir build && cd build
$ cmake -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python ../src
$ make -j

 参考までに、以下コマンド実行すれば、ネイティブのMacにインストールすることもできました。ネイティブのMacにROSを入れるのは至難の技ですが…

$ git clone https://github.com/IntelVCL/Open3D
$ cd Open3D
$ ./scripts/install-deps-osx.sh
$ mkdir build && cd build
$ cmake ../src
$ make -j

 これで py3d が Open3d/build/lib/以下に生成されるのですが、このままだと py3d をimport するのに Open3d/build/lib/に移動したり、パスを指定しないといけないので不便です。

 以下で Pythonのパスが通っているディレクトリが分かるので、 py3dをコピーしてやり、簡単にインポートできるようにしましょう。

$ python
>> import sys
>> sys.path

 Ubuntuの場合は、/usr/lib/python2.7/dist-packages/だったので以下のようにコピーしました。

$ sudo cp lib/py3d.so /usr/lib/python2.7/dist-packages/

 ネイティブのMacの場合は、pyenvを使っていたので/Users/denso/.pyenv/versions/anaconda3-4.4.0/envs/ml/lib/となり、以下のようにコピーしました。

$ sudo cp lib/py3d.cpython-36m-darwin.so /Users/denso/.pyenv/versions/anaconda3-4.4.0/envs/ml/lib/

 ここらへんは、ご自分の流儀に合わせて適宜変更下さい。pipで一発で入ってくると嬉しいのですけどね。

 これ以降の内容は、上記の通りpy3dがパスの通ったディレクトリにコピーしてある前提で説明いたします。

 続いて、以下コマンド実行してテストします。

$ cd lib/Tutorial/Basic
$ python rgbd_redwood.py

 以下のような画像が表示されればOKです。 f:id:karaage:20180227181440p:plain:w480

Open3D+ROS連携

 ここからいよいよ「open3d_ros」を使っていきます。ここからは以下のリポジトリを使用します。

 あらかじめ、好きな場所に以下のコマンドで「open3d_ros」をcloneしておいて下さい。

$ git clone https://github.com/karaage0703/open3d_ros

 次に、ターミナルのウィンドウを4つ立ち上げて、それぞれのターミナルでopen3d_rosディレクトリ内で以下コマンドを実行します。

 1つ目でroscore立ち上げ

$ roscore

 2つ目で、ログデータ(rosbag)再生

$ rosbag play -l rosbag_data/kinect_room.bag

 3つ目でOpen3D使用

$ python down_sampling.py input:=/camera/depth_registered/points

 4つ目でRviz立ち上げて3次元情報を可視化

$ rosrun rviz rviz -d kinect.rviz

   以下のようにRviz上にダウンサンプリングされた点群が表示されます。 f:id:karaage:20180308003053g:plain:w640

 ダウンサンプリング前 f:id:karaage:20180308004256p:plain:w640

 ちなみに、down_sampling.pyは、以下のような30行にも満たないスクリプトです。面倒臭いROSとの連携部分はutil.pyというファイルに詰め込んでインポートしています(興味ある方はutil.pyの方も見てみて下さい)。

#! /usr/bin/env pythonimport rospy
from sensor_msgs.msg import PointCloud2

import util
import py3d

defdown_sampling(pcl_data):
    downpcd = py3d.voxel_down_sample(pcl_data, voxel_size = 0.05)

    return downpcd


defcallback(data):
    pcl_data = util.convert_pcl(data)

    result_pcl = down_sampling(pcl_data)

    util.publish_pointcloud(result_pcl, data)

if __name__ == "__main__":
    rospy.init_node('listener', anonymous=True)
    rospy.Subscriber('input',
                     PointCloud2, callback)

    rospy.spin()

 上記コードのdown_samplingという関数を書き換えると、好きなように3次元処理ができます。これみると、なんとなく簡単に3次元画像処理ができそうな気がしてきますね(してきますよね?)。

 今回はあらかじめ用意したログデータでテストしましたが、3次元センサを使っても、簡単に同様の画像処理ができます。具体的には、以下記事参考にKinectをセットアップして。

 上記のログの再生のコマンドの代わりに以下コマンドを実行するだけです。

$ roslaunch freenect_launch freenect.launch

 もちろん、Kinect以外も、ROSに対応している3次元カメラであれば、同じ要領で3次元画像処理が可能です。今だとRealsenseあたりがお手頃でしょうか。これもOpen3Dと同じくIntel製ですね。

まとめ

 Open3D+ROS+Pythonで3次元画像処理のプロトタイピングができる「open3d_ros」というツールを自作して紹介しました。「Open3D」Python使えるのは、ビルドしなくてよいし、簡単にかけて良いですね(C++難しい…)。

 Pythonで書くときは、Numpyが使えるのも魅力的です。3次元画像処理って、2次元画像処理と基本的な部分は共通するところが多いので、2次元画像と同じ要領で直接画素を弄って好きなフィルタを作ったりできるはずです。2次元画像の例ですが、Numpyで画像処理フィルタを作る方法は下記記事参照ください。

 あとは、Pythonなので3次元のディープラーニングというのも中々面白いかもしれませんね。3次元でディープラーニングやっている例って、2次元に比べるとまだまだかなり少ない印象です。私が知っているのは、Appleの自動運転の研究くらいでしょうか(End-to-Endで物体検出しています)。

[1711.06396] VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection

 Open3Dによって、3次元のディープラーニングの研究も進んで行く可能性あるかもしれませんね。

 そして何より、Open3DとROSの強力な可視化ソフトやツール群との組み合わせというのは、なかなかパワフルじゃないかなと思います。これ使って、色々試してみたいなと思います。それこそロボット作ってみたいですね。

参考リンク

Open3Dのお勉強(一回目) - 空飛ぶロボットのつくりかた

ROSのPointCloud2で独自のフィールドを定義 - Yura YuLife

関連記事

Viewing all 1322 articles
Browse latest View live




Latest Images