study and research 研究用のスクリプトを保存しておく場所. Kinect及びdepthデータを扱う関係のスクリプトがC++の中に それ以外のものは,pythonscriptの中に pythonスクリプトは,基本的には扱うものとかで場合分けしている. 基本的にはタイトルのまんまのスクリプトであることが多い.
作業フローに変更や追加があったらREADMEを更新すること
予め以下のディレクトリを作っておくこと
(初期状態はcolorDirとdepthDirとposは中身がある状態.その後正田方式を撮るか平野方式を取るかで出力されるファイルが異なる.)
basepath/
┠ color
┠ color2
┠ depth
┠ depth_mirror
┠ json
┠ pos
┠ regi
┠ regi2
┠ regi_mirror
┠ regi_mirror_fixed
┗ render
python関係のスクリプトで,ROSシステムが入っているせいで, opencvのライブラリ使用時に追加で記述している部分が有る. showOpenPoseResult.pyなどは,ROS有りの環境で使用する際には,showOpenPoseResult_Hirano.pyなど若干名称を変更したものを使用すること.引数や出力などは変わらない.なので,こちらは本人の許可がない限り変更しないこと.
shoda_exe.sh Hirano_exe.sh 両者でレジストレーション画像の生成方法に違いが有る. Hirano_exe.sh内での処理や作業フローについては,Hirano_exe使い方.mdを参照
- レジストレーション画像生成
DepthMapper.cpp
コード内入力 colorDir depthDir 入力 basepath
出力 regiDir
- ミラー画像生成
regimirror.cpp 入力 basepath 出力 regiMirrorDir
- レジストレーション画像アフィン変換(option)
fixregi.py
入力 basepath dx 出力 regiMirrorFixDir
- OPENPOSE解析(render生成)
例
./build/examples/openpose/openpose.bin --image_dir /home/shoda/Documents/mitsu/regi_mirror -write_images /home/shoda/Documents/mitsu/render --write_json /home/shoda/Documents/mitsu/json
- OPENPOSE結果確認(複数人表示)(option)
showOpenPoseResult.py
入力 basepath
- jsonfileを読み込んで一人の人の時系列データ行列に変換するためのコード
csvposer.py
入力 basepath peopleID startframe endframe
出力 output.csv probability.csv test.csv
- OPENPOSE結果確認(指定した1人表示)(option)
showCSVResult.py
入力 regi_mirrorDir output.csv
例
python pythonscript/OpenPose/showCSVResult.py /home/shoda/Documents/mitsu/regi_mirror /home/shoda/Documents/mitsu/output.csv
-
両肩座標を使用したDepthとRGBの位置誤差の確認(option)
joint_diff.py
入力 basepath
出力 diff.png -
三次元姿勢推定
3DposeMaker.cpp
入力 basepath
出力 save.csv
- save.csvに3次元関節名をヘッダに記載する
Column.py
入力 save.csv
出力 3dbone.csv
- 線形補完して各関節の時系列データを出力(カメラ座標系)(option)
3DInterrupt.py
入力 3dbone.csv
出力 3DInterrupt.csv
- regi画像においてピクセルを指定して平面の2D点群を取得する
BoundMaker.py
コード内入力 basepath 対象のregi画像
出力 2DGround.csv Z平面左上→Z平面右下→X平面左上→X平面右下→原点→その他5点
- 平面上のすべての3D点群を取得する
3DChair.cpp
コード内入力 basepath 対象のdepth画像
出力 Xplane.csv Zplane.csv edge.csv
edge.csvの一行目が原点を表す
- 軸、回転行列R、製品座標系の姿勢データを生成する
CalProductaxis.py
入力 basepath
出力 axisData.csv 3dboneRotated.csv
(その他)動画,若しくは画像にモザイク処理を行う もし,顔にモザイク,もしくは黒塗りにした状態にして顔が見えないようにした動画を作成したい場合 高齢者行動ライブラリで公開されていない自分で発掘した,若しくは別途自分で顔を消した動画を作成する必要が有る場合, 対象の元画像に対してopenposeを使用し,Face_jsonというファイルにjsonファイルを格納し, python3 /pythonscript/Face_Mosaic.py を実行すると顔に黒塗りした画像が生成できる.まだ,開発段階であるため稀に止まることがあるため鋭意開発を進めたい.