2017年12月13日水曜日

OpenPose

# OpenPose

研究の方がたしかヤバくなっているB17のLuuvaです。
研究で使っている(使っていないかもしれない)OpenPoseを折角なので紹介します。

## OpenPoseの導入
Githubはこちら、[CMU-Perceptual-Computing-Lab](https://github.com/CMU-Perceptual-Computing-Lab/openpose)

ビルドするにはちょっとCaffeとかPython2系列とか入れる必要があったので、
既にバイナリで公開しているWindowsのDEMO版を使います。
http://posefs1.perception.cs.cmu.edu/OpenPose/OpenPose_demo_1.0.1.zip

その前にOpenPoseを動作させるには最低GTX10XXのグラボが必要です。

## OpenPose DEMOの動作
解凍したらまずはモデルデータを落としてきます。
models/getModels.bat or sh を実行すれば落ちてきます。

あとは端末等で
bin\OpenPoseDemo.exe --video examples\media\video.avi
とかで実行すれば動きます。

マニュアルならGithubに転がっているので参照してください。

## そもそもOpenPoseって
「DeepLearningを使った、単眼カメラでのスケルトン検出アルゴリズム」らしいです。
Webカメラを使ってリアルタイム(激重)で骨格データをjsonとかに吐き出してくれます。
現在取得できるデータは身体・手・顔の特徴点です。

## 研究の方
OpenPoseをそのまま動かすと激重なので、事前処理として動く物体を検知して、そのエリアだけ適応させる感じになっています。
結果としては毎フレーム0.03秒ぐらいですが早くなっています。
この勢いで学習データ無しで個人特定を行いたいとは思っています。

# VoiceroidAPI (再掲)
2017年度の三年生の方々に恐らく知られていない為、水増し的に再掲させていただきます。
VoiceroidをAPIサーバーとして外部に音声を出力する機構を作ってあります。
ライセンスの都合で外部公開はできないのですが、研究室のネットワークから使えるサーバーが動いていると思います。

![VOICEROID+ 結月ゆかり EX](https://lh3.googleusercontent.com/-8Pj3DV-7SgE/WVnFyNK_NvI/AAAAAAAAABM/IABZq2IZeoA_Ah5XJ9i0a6f0GfMfBbsIACEwYBhgL/w140-h51-p/mainimage.jpg "結月ゆかりさん")

## APIサーバーの使い方
以下のサイトにAPIドキュメントがあります。
[VoiceroidAPI(Network_KenA)](http://192.168.133.40:60334/)

動いていなかったらSlackの方(個人宛)へお願いします。
また、場合によってはアドレスが変更になる可能性があるので、ご了承ください。
# 実装
実体はWindows10で動いているPythonのサーバーです、
PythonのフレームワークはFalconを使いました。
Windows側ではVoiceroidのウィンドウを自動操作するプログラムが動いています。
流れとしては

1. リクエストされた文字列orファイルの内容を取得
2. 取得した文字列をVoiceroidのウィンドウにセット
3. 音声出力をしてファイル内容をBase64にしてjsonで返す

といった流れです。
出力された音声はWindows上で保存されます、
もしリクエストされた同じ文字列が以前に存在場合は上の手順の1,2番を飛ばしてすぐにjsonを返してくれます。

## SlackBot
namazu510くんがSlackで@ken-a のメンションでメッセージを投げると、研究室内のスピーカーからメッセージが流れます。
こちらの管理は私が行っている訳ではないのでノーサポートです、ご了承ください。
また、極稀にルイズコピペで無差別爆撃する方が居るらしいですが、やる際は時間と場合を考えて実行してください。

基本的に音声データは保存され、二回目以降はそれを送信する形となっているので、初回は少し遅延してメッセージが出力されます。

## 今後
時間とお金と需要があれば別のVoiceroidを導入したり、研究室内で手軽に音声データを出力できるサービスでも作ろうかなって。
また、ライセンス的にアレだけれどもRaccoon経由でAPIにアクセスできるように出来たらいいなって思っています。

## スペシャルサンクス
Voiceroid操作部分はsky先輩のソースコードを流用しています。
このAPIサーバーを作る際に参考にしたソースコードの作者が偶然にも先輩でした。
ありがとうございました。

# 終わりに
道理で知名度が低いと思ったらWikiの方のページが停電の際に消滅していました。
VoiceroidAPI、是非使ってみてください。
必要に応じて動作サンプル(Python限定)、サーバー部分、Voiceroid操作部分のプログラムを公開します。
また、私が大学にいる間は恐らく何かしらのサポートはできるはずです。


明日はyoshi2002さんの記事です、よろしくお願いします。









15 件のコメント:

  1. Fantastic job. I really enjoyed
    what you had to say, and more than that, how you presented it.
    Too cool!
    경마
    메이저사이트

    返信削除
  2. I’m satisfied that you simply shared this useful info with us. Please keep us informed like this. 바카라사이트

    返信削除
  3. Thanks for posting this educative writeup. I do appreciate your efforts. 바카라사이트

    返信削除
  4. Thanks for such a great post and the review, I am totally impressed! Keep stuff like this coming. 바둑이게임

    返信削除
  5. This website is really a walk-through for every one of the details you wanted concerning this and also didn't know who to ask. Glimpse right here, and also you'll absolutely uncover it.

    카지노
    메이저토토사이트
    스포츠토토
    토토사이트링크
    토토사이트
    우리카지노탑

    返信削除
  6. For entering to play our slot game website is very easy. Play slot games and easily break. betflix

    返信削除
  7. Interested in online sports betting? here's my site: okbet sports app

    返信削除