#author("2023-11-15T00:29:46+00:00","default:ubi","ubi") #author("2023-11-21T04:50:36+00:00","default:ubi","ubi") *進捗状況 [#j11fb5a5] ***Google Drive [#la1dbbde] ---https://drive.google.com/dri。e/folders/1hGPAZAk3yGlNUbKROr-m6DDPHLHdeP2M?hl=ja **11月20日~11月24日 [#v7b17929] --追加学習用データセットの作成 --追加の学習を行う --学習が足りない場合、追加でデータセットを作成する ***11月20日 [#y60a1318] ---データセットの作成 ---完成した一部のデータセット(60個)を既存のCOCOデータセットに組み込み学習を行った ---学習後、openposeを用いて逆立ちの画像の姿勢推定を行った。 ---その結果学習前と推定結果が変わらなかった ---このことから60個のデータセットでは学習が不十分であるということがわかった **11月13日~11月17日 [#w83adba6] --追加学習用のデータセットを作の --作成したデータセットを用いて学習を行う ***11月17日 [#o19d2079] ---病院 ---データセットの作成 ***11月16日 [#i925d93e] ---病院 ---データセットの作成 ***11月15日 [#vf80cc35] ---データセットの作成 ***11月14日 [#d299b17e] ---データセットの作成 ---完成した一部のデータセットを用いて学習を行った。 ---データセットに学習データのリスト作成用の情報がなかったためリスト作成時のエラーが発生した。 ***11月13日 [#y4cf668c] ---データセット作成 **11月6日~11月10日 [#df5332a1] --中間発表用ポスターの作成 --追加学習用のデータセットを作成 ***11月10日 [#se3fe577] ---収集した画像から学習に必要なデータを作成する ---numOtherPeople...メインの人物以外の人物の数 objpos...人物の中心の座標。首の座標 joint_self...人体のキーポイント img_paths...データの作成に用いた画像のパス ***11月9日 [#be0821a1] ---データセット作成ように画像を収集する ---主に上下反転した画像や画面に対して背筋が垂直に近いものなどの特殊な姿勢を主に収集。 ***11月8日 [#y51ad3b1] ---中間発表 **9月25日~9月29日 [#ca27104e] --openposeで正しく検出されていないフレームを時系列的にそのフレームの前後のフレームの検出結果を基に検出結果を推測し画像に描画できるようにする。 --回転させた動画を再度回転させ元の画像の角度に戻す。 ***9月29日 [#x43818ff] ---描画した関節の検出点を繋ぐ線を画像に描画するプログラムヲ作成した ***9月28日 [#g61c01d6] ---高島君に協力してもらいopenposeで正しく検出が行われなかったフレームにおいて時系列的にそのフレームの前後のフレームの検出結果を基に検出点を算出するプログラムを作成した。 ***9月27日 [#g507391d] ---正しくopenposeで検出できないフレームを検出できるようにするにはどうすればいいかを考えた。 ---前後のフレームで検出できた値を足して2で割れば正解に近い値が算出できるのではないかと考えた。 ---ほかにも何かアイデアがないか研究室メンバーに聞いてみた。 ***9月25日 [#ya44573a] ---元の動画の角度に回転させるための角度を算出するプログラムを作成した。 **9月18日~9月22日 [#j4bcd99c] --動画を画像化し回転させるプログラムを完成させる ***9月22日 [#g65503c0] --画像を回転させながらopenposeで検出するプログラムを完成させた。 ***9月21日 [#t8de53f2] ---完成したプログラムにおいて後半のフレームになるにつれて想定した角度とズレが生じる問題について修正を行った。 ---上記の問題とは別に一部回転させる値が想定と違う値になる部分が確認できたのでコードの修正を行った ***9月20日 [#ed98f05a] --フォルダ内の画像をopenposeで検出し、検出結果の値を基に画像を回転させる角度を計算し、次の画像を計算した値文回転させ保存し、これをフォルダ内の画像の数だけ行うプログラムを作成した。 --ただ、番号が後ろになるにつれて想定した角度とズレが生じたため、修正していく ***9月18日 [#m272385d] --プログラムを作成 ***9月11日~9月15日 [#ea5782f5] --openposeで検出した値を用いて画像を回転させるプログラムを完成させる。 ***9月11日 [#nb6eedb5] --作成したプログラムを実行したところ、途中まで(88行目まで)内容しか実行されなかった。 --実行したプログラムのコードをGoogleDriveに保存してある --msi click bios 自動で開いてwindowsが開けない時がある --時間を置いてPCを起動すれば **9月4日~9月8日 [#j2941564] --openposeの検出結果の値を基に葉増を回転させる角度を計算し、画像を回転させ保存させる --これを動画を分割した画像すべてに行った後、動画にする ***9月8日 [#g1e05deb] --openposeで検出した値をJsonファイルからcsvファイルに変換するプロブラムと検出結果から角度を計算し、画像を回転させるプログラムを基にフォルダ内の画像をopenposeで検出し、検出した値を基に画像を回転させるプログラムを作成する。 ***9月7日 [#b5840b01] --openposeで検出した値をJsonファイルからcsvファイルに変換するプロブラムと検出結果から角度を計算し、画像を回転させるプログラムについて詳しく理解できるようにする ***9月6日 [#mdacb3d6] --検出結果から角度を計算し、画像を回転させるプログラムについて詳しく理解できるようにする ***9月5日 [#a8e12cd5] --画像をopenposeで検出し、検出結果の値を基に検出した画像の次の画像(001.jpgを検出したとしたら002.jpgのこと)を回転させるプログラムを作成中 ***9月4日 [#u3257b83] --画像のopenposeの検出結果を基に画像の回転・保存ができた --保存した画像では切れてしまっている部分があるので、今後は保存する画像のサイズも考えていきたい **8月28日~9月1日 [#h5d5643b] --元動画とそれをを回転させた動画をopenposeを用いて検出し、正しく検出できたフレームを選出し動画にする。 ***8月30日 [#rfbcd678] --openposeで検出したjsonファイルをcsvファイルに変換させ、その結果を腰と首の検出結果の値を基に画像を回転させた --首のx座標と腰のx座標が同じ値になり、首の検出点が腰の検出点より上の位置になるように回転させようとしたが、うまく回転させることができなかった。 ***8月29日 [#i281f83b] --openposeで検出しながら、検出された結果を基に検出対象の動画を回転させようと考えたが、openposeでは検出対象の動画は検出が終わるまで編集ができないということがわかった。 --そこで動画ではなく動画を分割した画像1つ一つにそれぞれ検出を行い、一つの画像の検出結果を計算し、検出前の画像を回転させ、検出を行うのはどうかと考えた。 **8月14日~8月18日 [#o739cc8e] --コマンドプロンプトを用いてopenposeを稼働させていたが、それをspider上で稼働できるようにする。 --openposeを用いて動画の各フレームの検出後、角度計算をしその角度分次の検出フレームを回転させて検出できないか試す。 --帰省中(次回登校予定日8/28) ***8月16日 [#z804a203] --openposeをspider上で稼働させることができた。 --openposeを稼働中に検出した座標の値を用いて計算を行うプログラムの作成中 **8月7日~8月11日 [#k38d960b] --首と腰の検出点のy座標の関係によって動画を回転させるのはどうかと考えた。 --前フレームの首と腰を結んだ線を垂直になるように回転させればopenposeで検出ができるのではないかと考えた。 ***8月8日 [#q949583f] --腰と首の検出点のx座標を同じにすることで上半身が画像に対して垂直な体勢の画像にできるのではないかと考えた。 **7月31日~8月4日 [#wf80cd93] --openposeを使用できるようにする ***8月1日 [#xacfe99e] --NVIDIAドライバかNVIDIA cuDNNを再度インストールを行ったところopenposeが正常に動作した。 --上下反転させた動画にopenposeを使用したところ正常に動作しなかった。 --動画を90度回転させた動画にopenposeを使用したところ、正常に動作した。 --動画を焼く135度傾け、頭が下になるように斜めに傾けた動画にopenposeを使用したところ上半身に対してはほとんど正常に動作したが下半身に対しては正しく動作しなかった。 --レポート作成 ***7月31日 [#n1f01abe] --レポート作成 --openposeを実行したところ動画が表示されなかった。 --NVIDIAドライバかNVIDIA cuDNNが正しくインストールされていない状態であることがわかった **7月17日~7月21日 [#d7e956b4] --映像を録画し3d姿勢推定を行う。 ***7月21日 [#l69a9e2c] --取得したデータからDLTパラメータを作成した。 --課題消化 ***7月20日 [#v43e2097] --課題消化 ***7月19日 [#b80597ef] --録画した動画から内部パラメータおよび外部パラメータ、特徴点を取得した --課題消化 ***7月18日 [#ndfbe149] --2台のカメラによって録画を行った。 --課題消化 ***7月17日 [#dfc48eb5] --課題消化 **7月10日~7月14日 [#naf3171a] --プログラムを用いて2台のカメラでのキャリブレーションの自動化を行う。 ***7月13日 [#v64f5256] --画像座標系のみでの3d姿勢推定について調べた。 ***7月12日 [#d0dc3347] --撮影時に自動でチェッカーボードの中心の二次元座標の値を取得しようと考えたが、撮影時に映像のかくつきが酷くなってしまった。 --フレームレートや解像度を下げて撮影したが結果は変わらなかった。 --カメラをビデオカメラから小型カメラに変更したところ高い解像度では結果が変わらなかったが、低い解像度であればビデオカメラと比べてかくつきは少なかった。 --二次元座標は取得できた ***7月11日 [#o33d77c9] --パソコンを介して撮影した映像を画像化して二次元座標の値をプログラムを用いて取得した。 --取得した値が手動で取得した時の値と同様になったのでプログラムでも問題なく測定できているということがわかった ***7月10日 [#x0afb7d7] --プログラムを用いて2台のビデオカメラで同時に撮影できるようなった。 **7月3日~7月7日 [#k9ebd9bc] --参考サイトを読み、内容を実行する。 --参考サイトの処理とnttのプログラムの処理を比べ、nttのプログラムどこで参考サイトのような処理を行っているか、またはどの部分では使われていないか調べる。 --https://qiita.com/dokaben/items/a559e985a523cf45fa50 --https://www.qoosky.io/techs/7723868242 --https://sportict.jp/3dlt-1/ ***7月7日 [#kfa033d4] --リアルタイムでカメラに映るチェッカーボードの2d座標を自動で取得できるようになった。 ***7月6日 [#ob257165] --参考サイトを基にDLTパラメータを作成した。 --z軸、つまり高さで大きな誤差が発生した。原因としてはキャリブレーションポールの長さやキャリブレーションポイントの感覚がわからなかったのでその部分を推測してDLTパラメータを作成したためだと考えた。 ***7月5日 [#e37575bb] --参考サイトになくnttのプログラムにあるものを探し出し、どのようなものでどのように取得しているか調べた。 ***7月4日 [#i5bee638] --課題消化 --献血に参加した ***7月3日 [#y0a53344] --参考サイトを読んだ。 --参考サイトのDLT法では24本のキャリブレーションポールを使用し、nttでは9本のキャリブレーションポールを使用していた。 --グループディスカッション実践対策講座に参加した。 **6月26日~6月30日 [#a32c4672] --nttさんのプログラム以外から3D画像の描画を行う。 --チェッカーボードを用いて外部パラメータや2d3d変換パラメータを作成する ***6月29日 [#i20d4e7e] --チェッカーボードを読み取れる画像からチェッカーボードの2d座標を取得。 ***6月28日 [#j4295d9d] --全体mtg用飼資料の作成 --課題の消化 ***6月27日 [#d5f8189b] --プログラムを用いて画像内のチェッカーボードの中央の二次元座標の取得を行った。 --カメラ1では44枚、カメラ2では40枚の画像で二次元座標の取得ができなかった。 --プログラムを用いて画像内のチェッカーボードの四つ角の二次元座標の取得を行った。 --前回と同じくカメラ1では44枚、カメラ2では40枚の画像で二次元座標の取得ができなかった。 --中央の二次元座標を取得した際と、四つ角の二次元座標を取得した際で二次元座標を取得できなかった画像は同じものであった。 --このことから二次元座標を取得できなかった画像ではチェッカーボードを認識できなかったためだと考えた。 ***6月26日 [#u4dbd371] --画像内のチェッカーボードの交点の2d座標の取得を行った。 --正しく2d座標が取得できなかった。(想定した数の2d座標が取得できず、1カメと2カメで取得した2d座標の数にズレが生じていた) --チェッカーボードが大きく傾いていた場合正しく交点を認識できなかったためだと考えた。 **6月19日~6月23日 [#y6bd0db9] --撮影した映像を基に三次元画像を描画する。 **6月22日 [#o9527c1b] --人体の13点の二次元座標と作成した2d3d変換パラメータを使用し、三次元座標を取得し描画した。 --openposeの使用のためのセットアップを行った。 **6月21日 [#rd929425] --取得した内部パラメータや外部パラメータ、原点座標を基に2d3d変換パラメータを作成した。 --openposeなどの姿勢推定ソフトから画像や映像の二次元座標を取得できれば、現在手動で行っている画像の二次元座標を取得する作業の時間が大幅に削減できるのではないかと考えた。 **6月20日 [#ve5baeb7] --選出した画像から二次元座標を取得し、外部パラメータを取得した。 **6月19日 [#c5c7588d] --映像を画像化し、外部パラメータの取得に使用する画像を各カメラ300枚ずつ選出した。 **6月12日~6月16日 [#r1711ae7] --2d3d変換パラメータ取得のための動画の撮影 --2d3d変換パラメータ取得のためのデータ処理 ***6月15日 [#a7265529] --外部パラメータ取得用に撮影した動画を画像化し、そのうち300枚をデータ取得用に切り出した。 ***6月14日 [#c4bda720] --写真から外部パラメータを取得する方法がなかなか見つからない --ntt産の2d3d変換パラメータの作成方法を利用して2d3d変換パラメータの作成を行っていこうと思う ***6月13日 [#s5a2d135] --外部パラメータを取得を試してみたところ、取得ができなかった --外部パラメータの取得方法を引き続き調べる。 ***6月12日 [#j8b7a9ab] --撮影した動画より内部パラメータの取得を行った。 **5月29~6月2日 [#e320b6f2] --研究用動画の撮影(チェッカーボード、人の動き) --撮影した映像を用いて姿勢推定を行う ***6月1日 [#o83a4383] --再度内部パラメータを取得しようとしたがうまくいかなかった。 --nttからのキャリブレーションボードの映像で試したところこちらでは内部パラメータを取得することができた。 --よって原因は映像のほうにあると考えた。 ***5月31日 [#a3e69fa5] --撮影したチェッカーボードの動画をフレーム毎に画像化し、カメラの内部パラメータの取得を行った。 --カメラの内部パラメータの取得はできなかった。以下のエラーが検出された。 --cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\calib3d\src\calibration.cpp:3749: error: (-215:Assertion failed) nimages > 0 in function 'cv::calibrateCameraRO' ***5月30日 [#pea360ca] --人間の動作を2台のカメラを用いて撮影した ***5月29日 [#j1c94a37] --チェッカーボードを印刷し、カメラの内部パラメータを取得するための動画を撮影した。 **5月22日~5月26日 [#n8336335] --内部パラメータを取得し3d画像を描画する。 --修士論文目標設定を完成させる。 ***5月25日 [#y185157c] --昨日に続き、各フレームでの5点の2次元座標の取得を行った。 ***5月24日 [#j5ff67d2] --2d3d変換パラメータを取得するため各フレームでの5点(棒についている5点)の2次元座標の取得を行った。 ***5月23日 [#q4f855f5] --修士論文目標設定を書き換えた。 ***5月22日 [#yd85660e] --内部パラメータを取得し、それと人体の13か所の2次元座標を用いて3D画像描画した。 **5月15日~5月19日 [#e5169586] --3次元画像を描画する --修士論文目標設定を書く ***5月17日 [#g3e5ef21] ---首の2次元座標を取得する際を脊髄して座標をマークしたところ見本と似たような3次元座標が描画できた。 ***5月16日 [#p9216793] ---修士論文目標と説明用のイラストを作成した。 ***5月15日 [#l84c5a47] ---2次元座標を取得するとき、身体の内部で意識しやすい関節部分を意識しながらマークし、頭や足首の座標はより視覚的に確認しやすい鼻やつま先をマークし座標を取得した。 **5月8日~5月12日 [#za839e3f] --見本のデータを用いて人体の3D情報を行う。 --取得に成功したらそこから少しずつ自分で処理したデータに置き換えていき、前回はどこのデータが原因で画像化できなかったのか確認する ***5月11日 [#k3c7274a] ---再度試したところ、先日と同じ結果となった。 ---数値を確認したとこと3次元的な画像にならなかったものは数値の絶対値が1以上のものであった。 ***5月10日 [#q98d04c2] ---より取得する2次元座標に指定する13か所を細かく意識して再度データの取得を行った。 ---描画した10枚の画像のうち3次元的に描画した画像を取得できた ***5月9日 [#db34a930] ---人体の13か所の2次元座標を取得し、それを基に3次元座標を出力し描画した。 ---https://drive.google.com/drive/folders/1hGPAZAk3yGlNUbKROr-m6DDPHLHdeP2M?hl=ja ***5月8日 [#mffba52b] ---これまでのデータをバックアップし、いただいた測定用データを再度インストールした。 ---zip保存されていた見本の計測データを基に3次元情報の描画を行ったところうまく出力できた。 ---https://drive.google.com/drive/folders/1hGPAZAk3yGlNUbKROr-m6DDPHLHdeP2M?hl=ja **4月24~4月28日 [#zc52ee08] -目標 --人体の各節の3D情報の取得を行う ***4月27日 [#w0476a1f] ---映像の画像化 ---ランダムに選んだ30枚を基に内部パラメータの取得 ***4月26日 [#d799a785] ---内部パラメータ取得のための動画の切り出し ---全体mtg用のスライド作成 ***4月25日 [#g1563c6c] ---取得した2次元情報を基に3次元構築を行い、3次元座標を描画した。 ---描画した3次元座標は見本と比べ、まったく別のものになってしまった。 ---カメラの内部パラメータの取得がうまくいっていないのではないかと考えた。 https://drive.google.com/drive/folders/1hGPAZAk3yGlNUbKROr-m6DDPHLHdeP2M?hl=ja ***4月24日 [#a01469e9] --人体の節々の3次元情報のために頭頂、喉、左肩、左肘、左手首、右肩、右肘、右手首、腰、左膝、左足首、右膝、右足首の13点の2次元情報の取得を行った。 -4月21日 --Spyderを用いてプログラムを実行したところ、画像の取得ができた --2d3d変換パラメータに利用できるような画像が取得できなかった --パッチ処理しない状態で再度処理を行い、それでも2d3d変換パラメータに利用できるような画像が取得できなかった場合、内部パラメータの取得から見直していきたい -4月20日 --取得した基準点のcsvファイルを描画した。 --これまでで取得した2次元座標を基に、3次元座標のデータを取得した。 --取得したデータを描画しようとしたところ、No.262描画の後、以下のエラーが発生した。 Fail to allocate bitmap --調べたところ、原因は描画中の処理落ちであるらしい -4月19日 --2d3d変換パラメータの選出における基準点の作成及び画像化 -4月18日 --2d3dパラメータの作成 --対象の原点の取得 -4月17日 --画像化した動画から2次元座標の取得 -4月14日 --pipとpoencvのアップデートがされてなかったため、pythonを用いた作業ができないということがわかったのでアップデートを行った。 --アップデート後は問題なくpythonwo用いて作業ができるようになった。 -4月13日 --手順通りにpythonを用いて処理を行ったところプログラムが実行されなかった --そこでプログラムを確認したところプログラムを開くことができなかった --現在原因を確認中 -4月11日 --ffmpegを使用し動画の切り取りを行った --手順書通りに内部パラメータの取得が可能か確認した -4月10日 --python3.8.0のダウンロード --手順書の読み込み