Closed ulzee closed 6 years ago
Hi @ul1994 , thanks for trying our work.
I have watched your sample videos, and found that actually some of the joints are plotted correctly while some are not. So I expect your script for plotting the joints is correct but there may be some error in the predicted results. Did you use the model we provided and run the testing script with it? Is the accuracy the same as the one reported in our paper? If yes, I expect the visual result will be better than the ones you provided.
If possible, you can send the predicted '.mat' file and your script for visualization to my email lawy623@gmail.com, and I can check if there is any possible error in it.
So an update: I fixed my code and the videos look great !! Sorry to send you on a loop... I hope I got back to you in time.
I'm using python to access the matlab files and there was some complication there. Here are what the videos look like now:
https://drive.google.com/open?id=1lRlkkV7mn17rsUIdaeSTzgGNNnQfAGIG
I've put the code here if anyone would find it useful: https://github.com/ul1994/lstm_mat2vid
It looks good now!
I will also update my code for visualization today. Thanks for sharing your code~
Hi All,
Thank you for sharing the code and it is a great paper. I seem to running into the similar issues. I downloaded pre-train the PENN model and running test against it, however, I cant reproduce the results. The videos are attached below. I'm running the stock benchmark.m code.
Please advise
https://www.dropbox.com/sh/dfdvwwqzkfrrepj/AAB0BQ_POzO7HXY54HYNlhGea?dl=0
Hi @nanma56 . I'm curious -- which versions of matlab and caffe are you running?
Thank you for the response. I'm using the matlab 2017b. My caffe is from BLVC installed on Windows 10 with cuda 9.1 and cudnn 7
@nanma56 I also run basically the same setup (2017b with cuda 8 on linux). The project seems to use matlab < 2015 and its matching caffe version; I think it's possible there was a backwards compatibility breaking change between the versions, likely with caffe. But I'm not knowledgable enough of matlab/caffe to diagnose it unfortunately...
@ul1994 Thank you for the feedback. I think you could be right. When I tried to retrain the model, Matlab crashes and generated a coredump because of the matcaffe only with windows. Let me see if I could use the original caffe instead of the one from UCB
Hi all, thanks for your suggestions. I am not sure whether these problems are due to the inconsistency of the platforms. If possible, please try on my suggested version. I will try it on MATLAB 2017 and newest cuda to see whether the results are erroneous. Thanks for your trying and feedbacks :).
I tried on 2017B with Cuda 9 on Ubuntu 16.04. the Matlab crashed on both training and testing
Sent from BlueMailhttp://www.bluemail.me/r?b=11998 On Feb 5, 2018, at 9:22 PM, lawy623 notifications@github.com<mailto:notifications@github.com> wrote:
Hi all, thanks for your suggestions. I am not sure whether these problems are due to the inconsistency of the platforms. If possible, please try on my suggested version. I will try it on MATLAB 2017 and newest cuda to see whether the results are erroneous. Thanks for your trying and feedbacks :).
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/lawy623/LSTM_Pose_Machines/issues/1#issuecomment-363289051, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ASWkSNlP0Az9yfYLx5BpskQyNK4Ut-f4ks5tR7dygaJpZM4RcrQC.
@ul1994 @nanma56 Hi guys, I have tried on MATLAB R2017b on Ubuntu 14.04 with cuda 8, and I found that I experienced the same problem. After looking into the code, I found that it is not the matter of cuda and caffe, but due to some weird things in MATLAB operation.
In MATLAB 2017b, the 'imresize' using gpuArray in line112 of testing/src/run_benchmark_GPU_PENN.m
produces erroneous results, while in MATLAB 2015b, it does not happen. I suggest you to change the line 109 of testing/src/run_benchmark_GPU_PENN.m
from 'heat_gpu = gpuArray(heat_);'
to 'heat_gpu = (heat_);'
, and see whether the testing scripts produces correct result now in MATLAB 2017b.
For the problem of MATLAB crash, I did not meet it. I am not sure whether it is due to the insufficient GPU memory. Please give more detailed description on the crash if possible. To reproduce our work, I still suggest you to work it on MATLAB 2015a.
If you find that my suggestion works for MATLAB 2017b, please acknowledge me. If problems are still there, please first try to plot the heatmap produced by the networks directly(i.e. heatmap), and check its resized version(i.e. heatmap_large) and re-positioned version(i.e. heatmap_full), and tell me which of them looks weird. It may help me to further debug the system. Thanks for your help.
If you have any question, please contact me.
Thank you @lawy623 , I will try it as soon as I can and get back to you. @nanma56 When matlab crashes are there any helpful error messages? Maybe there is something we can decipher from it.
The output looks good! +1 on the change fixing the issue.
Hi Guys, thanks for your help. I can reproduce similar results without code change on R2016b. For the matlab crash, please see the stack below:
Configuration: Crash Decoding : Disabled - No sandbox or build area path Crash Mode : continue (default) Current Graphics Driver: NVIDIA Corporation TITAN Xp/PCIe/SSE2 Version 4.6.0 NVIDIA 388.19 Default Encoding : windows-1252 Deployed : false Graphics card 1 : NVIDIA ( 0x10de ) NVIDIA TITAN Xp Version 23.21.13.8819 (2017-11-2) Host Name : Bos12-B159281 MATLAB Architecture : win64 MATLAB Entitlement ID: 4172689 MATLAB Root : C:\Program Files\MATLAB\R2017b MATLAB Version : 9.3.0.713579 (R2017b) OpenGL : hardware Operating System : Microsoft Windows 10 Enterprise Processor ID : x86 Family 6 Model 79 Stepping 1, GenuineIntel Virtual Machine : Java 1.8.0_121-b13 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode Window System : Version 10.0 (Build 15063)
Fault Count: 1
Abnormal termination: abort()
Register State (captured): RAX = 0000000004bb3338 RBX = 0000000000000000 RCX = 00000000043f42a0 RDX = 0000000000000000 RSP = 00000000043f4220 RBP = 00000000043f5090 RSI = 0000000004bb3338 RDI = 0000000004bb3338
R8 = 00007b467ebcd59f R9 = 00007ffb510e0000 R10 = 0000000004aeb0a8 R11 = 0000000004ba32d7 R12 = 00000000043f48e0 R13 = 0000000004ba3268 R14 = 0000000004bb32b8 R15 = 0000000000000000
RIP = 00000000049abbaa EFL = 00000202
CS = 0033 FS = 0053 GS = 002b
Stack Trace (captured):
[ 0] 0x00000000049a5e83 bin\win64\libmwfl.dll+00155267 foundation::core::diag::thread_context::unspecified_bool+00000051
[ 1] 0x00000000049a4478 bin\win64\libmwfl.dll+00148600 foundation::core::diag::stacktrace_base::capture+00000024
[ 2] 0x00000000049a79ce bin\win64\libmwfl.dll+00162254 foundation::core::diag::symbols::getSymbolAddress+00006494
[ 3] 0x00000000049aa807 bin\win64\libmwfl.dll+00174087 foundation::core::diag::disable_terminatedialog+00000887
[ 4] 0x0000000007f2f615 bin\win64\mcr.dll+00652821 mnShutdownMCR+00023605
[ 5] 0x0000000007f2f2a1 bin\win64\mcr.dll+00651937 mnShutdownMCR+00022721
[ 6] 0x0000000007f2f378 bin\win64\mcr.dll+00652152 mnShutdownMCR+00022936
[ 7] 0x0000000007f2c5e9 bin\win64\mcr.dll+00640489 mnShutdownMCR+00011273
[ 8] 0x0000000007f2dc59 bin\win64\mcr.dll+00646233 mnShutdownMCR+00017017
[ 9] 0x00007ffb614827f7 C:\WINDOWS\System32\ucrtbase.dll+00468983 raise+00000487
[ 10] 0x00007ffb614834f1 C:\WINDOWS\System32\ucrtbase.dll+00472305 abort+00000049
[ 11] 0x00007ffb440c469a C:\caffe\matlab+caffe\private\glog.dll+00018074 google::Demangle+00008410
[ 12] 0x00007ffb440c9de2 C:\caffe\matlab+caffe\private\glog.dll+00040418 google::LogMessage::SendToLog+00000738
[ 13] 0x00007ffb440c7a25 C:\caffe\matlab+caffe\private\glog.dll+00031269 google::LogMessage::Flush+00000213
[ 14] 0x00007ffb440c61e2 C:\caffe\matlab+caffe\private\glog.dll+00025058 google::LogMessageFatal::~LogMessageFatal+00000018
[ 15] 0x00007ffb1a79f2bc C:\caffe\matlab+caffe\private\caffe.mexw64+00127676 mexFunction+00054332
[ 16] 0x00007ffb1a79f83a C:\caffe\matlab+caffe\private\caffe.mexw64+00129082 mexFunction+00055738
[ 17] 0x00007ffb1a79e436 C:\caffe\matlab+caffe\private\caffe.mexw64+00123958 mexFunction+00050614
[ 18] 0x00007ffb1a792beb C:\caffe\matlab+caffe\private\caffe.mexw64+00076779 mexFunction+00003435
[ 19] 0x00007ffb1a792411 C:\caffe\matlab+caffe\private\caffe.mexw64+00074769 mexFunction+00001425
[ 20] 0x00007ffb1a79d3e2 C:\caffe\matlab+caffe\private\caffe.mexw64+00119778 mexFunction+00046434
[ 21] 0x00007ffb1a78f630 C:\caffe\matlab+caffe\private\caffe.mexw64+00063024
[ 22] 0x00007ffb1a7920da C:\caffe\matlab+caffe\private\caffe_.mexw64+00073946 mexFunction+00000602
[ 23] 0x00000000fc60234a bin\win64\libmex.dll+00140106 mexRunMexFile+00000314
[ 24] 0x00000000fc600d22 bin\win64\libmex.dll+00134434 mexFeature_mexver+00002146
[ 25] 0x00000000fc5ffab7 bin\win64\libmex.dll+00129719 mexUnlock+00028455
[ 26] 0x0000000007ffca93 bin\win64\pgo\m_dispatcher.dll+00117395 Mfh_file::dispatch_fh_impl+00000835
[ 27] 0x0000000007ffc73e bin\win64\pgo\m_dispatcher.dll+00116542 Mfh_file::dispatch_fh+00000062
[ 28] 0x0000000007fea8d8 bin\win64\pgo\m_dispatcher.dll+00043224 Mfunction_handle::dispatch+00001032
[ 29] 0x0000000008cf9899 bin\win64\pgo\m_lxe.dll+00235673
[ 30] 0x0000000008cfb3a6 bin\win64\pgo\m_lxe.dll+00242598
[ 31] 0x0000000008cfbfb3 bin\win64\pgo\m_lxe.dll+00245683
[ 32] 0x0000000008cfdff5 bin\win64\pgo\m_lxe.dll+00253941
[ 33] 0x0000000008cfd44f bin\win64\pgo\m_lxe.dll+00250959
[ 34] 0x0000000008cfd822 bin\win64\pgo\m_lxe.dll+00251938
[ 35] 0x0000000008dc331b bin\win64\pgo\m_lxe.dll+01061659 boost::serialization::singleton<boost::archive::detail::pointer_oserializer<boost::archive::binaryTerm_oarchive,MathWorks::lxe::MatlabIrTree> >::get_instance+00604503
[ 36] 0x0000000008dcad46 bin\win64\pgo\m_lxe.dll+01092934 boost::serialization::singleton<boost::archive::detail::pointer_oserializer<boost::archive::binaryTerm_oarchive,MathWorks::lxe::MatlabIrTree> >::get_instance+00635778
[ 37] 0x0000000008dca570 bin\win64\pgo\m_lxe.dll+01090928 boost::serialization::singleton<boost::archive::detail::pointer_oserializer<boost::archive::binaryTerm_oarchive,MathWorks::lxe::MatlabIrTree> >::get_instance+00633772
[ 38] 0x0000000008cefec8 bin\win64\pgo\m_lxe.dll+00196296
[ 39] 0x0000000008cef8ff bin\win64\pgo\m_lxe.dll+00194815
[ 40] 0x0000000008cef925 bin\win64\pgo\m_lxe.dll+00194853
[ 41] 0x0000000007ffca93 bin\win64\pgo\m_dispatcher.dll+00117395 Mfh_file::dispatch_fh_impl+00000835
[ 42] 0x0000000007ffc73e bin\win64\pgo\m_dispatcher.dll+00116542 Mfh_file::dispatch_fh+00000062
[ 43] 0x0000000007fea8d8 bin\win64\pgo\m_dispatcher.dll+00043224 Mfunction_handle::dispatch+00001032
[ 44] 0x000000000e18171a bin\win64\pgo\mcos_impl.dll+00595738
[ 45] 0x000000000e180257 bin\win64\pgo\mcos_impl.dll+00590423
[ 46] 0x000000000e1803fd bin\win64\pgo\mcos_impl.dll+00590845
[ 47] 0x000000000e177d35 bin\win64\pgo\mcos_impl.dll+00556341
[ 48] 0x000000000e177a29 bin\win64\pgo\mcos_impl.dll+00555561
[ 49] 0x000000000e176a6f bin\win64\pgo\mcos_impl.dll+00551535
[ 50] 0x000000000e14524d bin\win64\pgo\mcos_impl.dll+00348749
[ 51] 0x000000000e155d02 bin\win64\pgo\mcos_impl.dll+00417026
[ 52] 0x000000000e155c1c bin\win64\pgo\mcos_impl.dll+00416796
[ 53] 0x000000000e155b50 bin\win64\pgo\mcos_impl.dll+00416592
[ 54] 0x000000000e148621 bin\win64\pgo\mcos_impl.dll+00362017
[ 55] 0x000000000e1485a7 bin\win64\pgo\mcos_impl.dll+00361895
[ 56] 0x000000000e14818f bin\win64\pgo\mcos_impl.dll+00360847
[ 57] 0x0000000007fe8f74 bin\win64\pgo\m_dispatcher.dll+00036724 Mfh_MATLAB_fn::dispatch_fh+00000660
[ 58] 0x000000000e143ab0 bin\win64\pgo\mcos_impl.dll+00342704
[ 59] 0x0000000007fea8d8 bin\win64\pgo\m_dispatcher.dll+00043224 Mfunction_handle::dispatch+00001032
[ 60] 0x0000000008ee7593 bin\win64\pgo\m_lxe.dll+02258323 boost::serialization::singleton<boost::serialization::extended_type_info_typeid
Also, so far the LSTM pose machine is capable detect one person. In the improved the version of CPM, it can detect multiple person as well by introducing a side network to learn the physical binding of the joints in different people
Would you be interested in working together to explore this area? Also, the occlusion happens all the time. so far I have some idea to post processing it using a tree graphical model and GAN, but since if CMU guys can learn the physical binding of different people, do you think it is possible to introduce a third network in the graph above to processing the occluded points?
Have you started looking into this? It's called Part Affinity field. Its basically just another heatmap.
Thanks, I haven't. I was looking at how to combine openpose with pose lib to extract 3D poses
Sent from BlueMailhttp://www.bluemail.me/r?b=12687 On Apr 6, 2018, at 2:58 PM, Raaj notifications@github.com<mailto:notifications@github.com> wrote:
Have you started looking into this? It's called Part Affinity field
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/lawy623/LSTM_Pose_Machines/issues/1#issuecomment-379344870, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ASWkSKk1gZdX_yjFSKdD38-TSE9AXkX_ks5tl7l9gaJpZM4RcrQC.
Hello - first of all the paper and the code looks awesome. Thanks for your contribution.
I've been trying to overlay the predicted joints to the original videos to visually confirm the results.
I'm taking the
predLabel
field of each prediction output, then iterating over the ~13 or so joints and plotting their x,y coordinates in each frame in the video. I've produced videos for the first five examples the testing script attempts.https://drive.google.com/open?id=1rbu_oHh5XQH9ACH5e3zovMdl3hspRVGg
If you're familiar with these specific examples I'd appreciate it if someone can confirm whether or not the joints appear to be working correctly or if I've missed something in my visualization.
p.s. the joints were produced by the PENN model