週末記録

自分メモのため散らかりまくり

Liquid Warping て実際どうなのか

2枚の静止画と背景画像、それから元となる動画から動作をまねて例えばダンスを踊ったりできるということなのでまずはやってみました。

 

結果、動きは滑らかなのですが、背景から浮いた感じがして、これだけで三次元モデルの代わりになるところまではまだ到達していない感じでした。イメージだけ貼り付けておきます(mp4の動画貼り付けられなかった)。

 

 

今後より改良されて動画として見るに堪える状態になったらまた使ってみようと思います。

 

以上です。

 

 

 

 

 

Thin Plate Spline Motion Model やってみた

ブログで紹介されていた方がいらっしゃったので、実際どうなのよ、ということでThin Plate Spline Motion Model をためしてみました。

 

動画と同様の表情をまねるように静止画が動くらしいとのことですが、試してみた結果、もとの動画に近い動きをしてくれました。静止画を無理やり動かしているので、背景がぼやけてしまう点はある程度しかたないけれど、眺める側としては特に違和感はなかったです。

 

顔の傾きや目の開き口の動きなど、静止画から生成されたとは思えない自然かつ参照元に近い動きでした。目を閉じる瞬間などもきちんと再現されるんですよね。(参照元の画像、動画は念のため削除してるのでこれだけで伝わるか微妙ですが)

以上、簡単ですがメモまで。

 

追記:

静止画は DAZ Studio からのものを使用している為、ライセンスについて確認(2次元画像てどこまで使用してよいのか)してみたところ、二次元画像の三次元オブジェクトの動作シミュレーションが許されているのでThin Plate Spline Motion Model も自由に使えそうなことがわかりました。以下は関連個所の抜粋です。

  • (i) access, use, copy and modify the Content in the creation and presentation of two-dimensional animations and renderings
    • 作成した二次元アニメやレンダリングへのアクセス、使用、コピー、変更
  • (ii) incorporate two-dimensional images (including two-dimensional images that simulate motion of three-dimensional objects) derived by User from the Content in User's other works
    • ユーザーの他の仕事のコンテンツへの二次元画像の組み込み(二次元画像の三次元オブジェクトの動きのシミュレーションを含む)
  • (iii) publish, market, distribute, transfer, sell or sublicense User's two-dimensional animations, renderings and other works
    • 二次元アニメやレンダリング他の公開、広告、配布、移動、販売、サブライセンス

EULAのこのあたり

詳細はこちら

www.daz3d.com

 

以上です。

 

 

DAZを使ってみたので感想メモ

Virtual Human 的な話がどこかの記事だったかTwitter で流れていた関連でいろいろ追っていく中で3Dモデリングソフト(正確ではないかも)のDAZが紹介されていました。記事を読んで雰囲気はわかったが、実際どのようなものなのかも確認してみたので以下に内容記載します。

 

■DAZとは

まず、DAZとは、以下のサイトからフリーでダウンロードできる3D Models and 3D Software とのことで、3D モデリングレンダリングができるようです。(ソフトのダウンロードはフリーですが、有料で便利なモデルがたくさんありますので、結局そちらでお金を使うことになりました)


www.daz3d.com

 

■使い方

使い方としては以下の流れになります。

  1. ひな形となるモデルをOpen。Genesis 2とか 3 とか 8といった世代があり、数字が高いほうが最近のモデルでより作りこまれている。
  2. Openしたモデルを必要に応じて調整。目の色や髪の毛、体のサイズ等を調整。髪の毛は付与しないと何もないので、この辺の作業はほぼ必須
  3. 背景を設定
  4. ライティングを設定
  5. レンダリングを設定をしてレンダリング

■特徴、良かった点、気になった点

特徴としては、モデルがいくつも用意されていて、一からモデルを自分で作るというより、欲しいモデルを選択して組み合わせてあとは微調整しながらシーンを作りあげていくところです。おそらく3Dモデリング作業をしっかりやりたい人とそうでない人でここで好みが分かれるかと思います。私はモデリング作業はできればあまりやりたくなくて、パーツを組み合わせてシーンを作り上げたかったので非常に楽に作業が進んだので良かったです。手始めに作成してみたサンプルがこちらです。

一方、気になった点としては、どのモデルにどのような部品(髪とか目等)が含まれているのかをきちんと把握せずに作業すると、髪がどこにもないとか、そもそもボディがないとかそういった状況におちいることもありそうな点です。Storeで購入する際に Genesis 8 Female と Genesis 8 Female Outfit だと全然ものが違いますし、Genesis 8 Female でも髪が含まれているものやそうでないものもあるので単純に料金が安いからでモデルを購入してしまうと後悔するかもしれません。モデルを購入必要な点もお金がかかる為、すべて無料でやりくりしようと思う人にとっては若干つらいと思います。

 

■課題

他の方のレンダリング結果を見るとかなり綺麗に出力されているようでした。私はそこまでできておらず、おそらく何かが足りなかったのかと思われます。レンダリング後にphotoshop等で加工するのが良いのかもしれません。今後さらに使うようであればレンダリングの質も気にしてみたいと考えています。

 

以上です

 

 

 

 

自動学習周りの備忘録

自動ツイートが楽しそうだったので実装(@catmoonsurf)してみたメモ

 

構造としては以下のとおりで、他の人も実装していてうまくいってそうなやり方をまねてます。

環境設定時の実施メモ

  • mecab のインストール
    • sudo apt install mecab
    • sudo apt install libmecab-dev
    • sudo apt install mecab-ipadic-utf8
  • mecab の python3ラッパーインストール
    • pip install mecab-python3
  • sudo apt install swig(Cで書かれたプログラムへの接続用だったような)
  • demoji のインストール
    • pip install demoji
      • 絵文字の削除用に使用した
  • python 用の twitter ライブラリ twieepy のインストール
    • pip install tweepy

エラーが起きた個所

  • m = MeCab.Tagger ("-Ochasen") する箇所
    • 以下のいずれかは必要と思われる 
    • /usr/local/etc/mecabrc が無いといわれ他の場所からコピー
    • それでもエラーとなり、dictの記載を追加
    • それでもエラーとなり、Mecab.Tagger する際に -d でディレクトリを指定
  • Twitter API でツイートしようとした際に権限が無いらしいエラー
    • アプリの permission に Read  and Write を付与必要
  • ツイートを post する際に 403 エラー
    • Twitter API回数制限がありそうなので、頻度を抑えればOK

要調整箇所

  • 形態素解析周りはチューニングすることでより納得感のある文言生成はできると思われる
    • 現状は特殊文字や絵文字、URL、ハッシュタグ等を取り除いてるのみ
    • 前人のツイートを参考にできそう(@shuumaiさん等)
    • 感情分析も実装すればどういった感情のツイートをするかも制御できそう
  • フォローする対象は個人でツイート多めの方がよさそう  
    • 公式や有名人だと製品名や固有名詞やキャンペーン内容に偏りがち

以上

 

 

openpyxlの使い方

f:id:k111log:20220723090947j:image

お仕事でエクセル自動化することになりopenpyxlを久しぶりに使ったのでメモ。

xlsxの簡単な読み書きはこれまでも実施したことはあったのだが、がっつりエクセル処理を自動化することになり、あたらめてopenpyxlで何ができるのか試してみました。

まずはインストール、

pip install openpyxl

でOK。なはずが、実際には使用している環境にpipすらインストールされておらず、pipもインストールすることになった。linux環境で管理者権限持ってないのですが、問題なくインストールできるのか若干不安だったのですが、基本的にはhome配下の.local下にインストールされていくのでパーミッション問題は何もおきなかった。

pipのインストールは

curl -kL https://bootstrap.pypa.io/get-pip.py | python (python3系)

curl -kL https://bootstrap.pypa.io/pip/2.7/get-pip.py | python  (python2.7系)

です。私の環境はpython2.7系だったので下のpip/2.7のを用いて問題なくインストール完了。

 

openpyxlもインストールし、どういった作業ができるのか試してみたところ、以下のようなエクセル処理は問題なくできるようでした

  • 読み書きなど
    • wb = xl.load_workbook(filename=ファイル名) 
    • ws = wb.worksheets[0] (ワークシート読み込み)
    • ws = wb.create_sheet(title='新規作成シート名')
    • wb.save(ファイル名) (保存)
  • 罫線(top, bottom, right, leftそれぞれに設定可能)
    • import openpyxl (これは基本的に必要だと思う。以降記載は省略)
    • from openpyxl.styles.borders import Border, Side
    • side = Side(style='thin', color='000000')
    • border = Border(top=side, bottom=side, left=side, right=side)
    • ws.cell(行番号, 列番号).border = border
  • 太文字
    • from openpyxl.styles import Font
    • font = Font(bold=True)
    • ws(行番号, 列番号).font = font
  • セルの色変更
    • from openpyxl.styles import PatternFill 
    • fill = openpyxl.styles.PatternFill(patternType='solid', fgColor='FF0000', bgColor='FFCC00')
    • ws.cell(行番号,列番号).fill = fill
      • シート全体の塗りつぶしなどは for 文まわして塗りつぶすらしい(検索したらそのように出てきた。もしかしたら楽なやり方があるnおかもしれない)
  • フォント変更
    • from openpyxl.styles import Font
    • font = Font(name='メイリオ')
    • ws.cell(行番号, 列番号).font = font
  • 条件付き書式設定(DataBar)
    • from openpyxl.formatting.rule import DataBar, FormatObject
    • from openpyxl.formatting.rule import Rule
    • first = FormatObject(type='min')
    • second = FormatObject(type='max')
    • data_bar = DataBar(cfvo=[first, second], color="FFCCAA", showValue=None, minLength=None, maxLength=None)
    • rule = Rule(type='dataBar', dataBar=data_bar)
    • ws.conditional_formatting.add("A1:A20", rule)
      • A1:A20:データバーを設定した範囲指定
  • 表示形式(小数点3桁まで表示)
    • ws.cell(行番号,列番号).number_format = '0.000' (小数点3桁まで表示)
    • ws.cell(行番号,列番号).number_format = 'yyyy-mm-dd' (日付表示)
    • ws.cell(行番号,列番号).number_format = '0.0%' (%表示)
    • ws.cell(行番号,列番号).number_format = '#,##0' (3桁毎にカンマ区切り) 
      • cell指定しているがおそらく列指定などもできるかも?(未確認)
  • 中央揃え
    • from openpyxl.styles import Alignment
    • ws.cell(行番号,列番号).alignment = Alignment(horizotal="centerContinuous")
      • centerContinuous:中央揃え
      • general:左揃え
      • distributed:折り返し中央揃え
      • justify:折り返し左揃え
    • horizontal だけではなく、vertical も設定できるはず(未確認)
    • 角度rotationなどもできるらしい(未確認)
      • Alignment(textRotation=180)

他いろいろできる模様。公式ドキュメントは↓(読んではいない)

openpyxl.readthedocs.io

 

以上

 

 

 

 

github 上に home page 設置

github の user-name.github.io を使って home page を簡単に立ち上げられます。
※ user-name の箇所は自分が使用している user-name でもよいし、プロジェクト名でもOK。ここでは便宜上 user-name と記しています。

 

<準備するもの>

github アカウント取得
・ローカルのgit環境

 

1) github に user-name.github.io レポジトリを作成する。

 

 

2) github にローカル環境からのアクセスを開通させる。
SSH公開鍵を作成

f:id:k111log:20160214191628p:plain

id_rsa.pub というファイルができるので中身をコピーして github 側に登録する。

Personal settings の SSH keys から登録できます。

f:id:k111log:20160214190004j:plain

 

3) index.htmlを設置

ローカル環境にて、

$ mkdir user-name.github.io
$ cd user-name.github.io
$ git init
$ echo "hello" > index.html
$ git remote add origin https://github.com/user-name/user-name.github.io.git
$ git push -u origin master

で完了。


実際に https://user-name.github.io にアクセスしてみると hello の文字が表示されることが確認できます。

f:id:k111log:20160214191432j:plain

所要時間約 20分ほどだったかと思います。慣れてる場合はほんとに2, 3分の作業かと思います。 

 

以上

 

 

Windows7 の VMware Workstation 12 Player に ubuntu をインストールする

以前に VMware Workstation 12 Player はすでにインストールしており、CentOS を入れているが、気分転換に ubuntu 環境にしてみる。

 

2016年 2月時点では 12.0が最新版、VMware Workstation 12 Player のインストールはこちらから

https://my.vmware.com/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/12_0|PLAYER-1210|product_downloads

 

ubuntu をこちらからダウンロード(日本語 Remix イメージのダウンロード)

https://www.ubuntulinux.jp/download

f:id:k111log:20160214172538j:plain

Ubuntu 12.04.1 というのが i386.iso イメージで最新版のようだったのでそちらを選択してダウンロード。

VMware Workstation 12 Player にて新しい仮想マシンウィザードでインストーラディスクイメージファイルを選択して次へ

 

f:id:k111log:20160214173835j:plain

 

ユーザー名等入力↓

f:id:k111log:20160214174140j:plain

 

 確認して次へ↓

f:id:k111log:20160214174208j:plain

 

仮想ディスクを複数のファイルに分割で↓

 

f:id:k111log:20160214174308j:plain

 

 

f:id:k111log:20160214174332j:plain

 

インストールがはじまり

 

f:id:k111log:20160214174503j:plain

 

完了するとログインできるようになる。

 

 

 

f:id:k111log:20160214180028j:plain

 

ログインしてみたところ、Ubuntu 14.04.3 LTS Upgrade Available とのこと。
 upgrade することも可能(時間かかりそうだったので現時点では upgrade なし)

 

 

f:id:k111log:20160214180418j:plain

 

 

以上