robotology / human-sensing

This repository contains software related to human sensing
GNU General Public License v2.0
13 stars 18 forks source link

CLMGaze and CLMH crash #3

Open apaikan opened 8 years ago

apaikan commented 8 years ago

The CLMYARP module works correctly and detect the faces.

But the CLMGaze and CLMH crash on "DetectLandmarksInVideo" throwing the following exception (for CLMGaze):

Object initiated!
yarp: Port /clmgaze/image/in active at tcp://10.0.0.21:10623
yarp: Port /clmgaze/image/out active at tcp://10.0.0.21:10624
yarp: Port /clmgaze/pose/out active at tcp://10.0.0.21:10650
yarp: Port /clmgaze/3dpose/out active at tcp://10.0.0.21:10651
Reading the CLM landmark detector/tracker from: model/main_ccnf_general.txt
Reading the CLM module from: model/clm_ccnf_general.txt
Reading the PDM module from: model/pdms/In-the-wild_aligned_PDM_68.txt....Done
Reading the Triangulations module from: model/tris_68.txt....Done
Reading the intensity CCNF patch experts from: model/patch_experts/ccnf_patches_0.25_general.txt....Done
Reading the intensity CCNF patch experts from: model/patch_experts/ccnf_patches_0.35_general.txt....Done
Reading the intensity CCNF patch experts from: model/patch_experts/ccnf_patches_0.5_general.txt....Done
Reading the landmark validation module....Done
yarp: Receiving input from /icub/camcalib/left/out to /clmgaze/image/in using tcp
Starting tracking
yarp: Port /client/gaze/xd:o active at tcp://10.0.0.21:10627
yarp: Port /client/gaze/angles:o active at tcp://10.0.0.21:10628
yarp: Port /client/gaze/mono:o active at tcp://10.0.0.21:10629
yarp: Port /client/gaze/stereo:o active at tcp://10.0.0.21:10630
yarp: Port /client/gaze/x:i active at tcp://10.0.0.21:10631
yarp: Port /client/gaze/angles:i active at tcp://10.0.0.21:10632
yarp: Port /client/gaze/q:i active at tcp://10.0.0.21:10633
yarp: Port /client/gaze/events:i active at tcp://10.0.0.21:10634
yarp: Port /client/gaze/rpc active at tcp://10.0.0.21:10635
yarp: Sending output from /client/gaze/rpc to /iKinGazeCtrl/rpc using tcp
yarp: Sending output from /client/gaze/xd:o to /iKinGazeCtrl/xd:i using udp
yarp: Sending output from /client/gaze/angles:o to /iKinGazeCtrl/angles:i using udp
yarp: Sending output from /client/gaze/mono:o to /iKinGazeCtrl/mono:i using udp
yarp: Sending output from /client/gaze/stereo:o to /iKinGazeCtrl/stereo:i using udp
yarp: Receiving input from /iKinGazeCtrl/x:o to /client/gaze/x:i using udp
yarp: Receiving input from /iKinGazeCtrl/angles:o to /client/gaze/angles:i using udp
yarp: Receiving input from /iKinGazeCtrl/q:o to /client/gaze/q:i using udp
yarp: Receiving input from /iKinGazeCtrl/events:o to /client/gaze/events:i using udp
[INFO]created wrapper <gazecontrollerclient>. See C++ class ClientGazeController for documentation.
OpenCV Error: Assertion failed (!empty()) in detectMultiScale, file /usr/local/src/robot/opencv/opencv-3.0.0/modules/objdetect/src/cascadedetect.cpp, line 1634
terminate called after throwing an instance of 'cv::Exception'
  what():  /usr/local/src/robot/opencv/opencv-3.0.0/modules/objdetect/src/cascadedetect.cpp:1634: error: (-215) !empty() in function detectMultiScale

Aborted (core dumped)

The camera image size is 640x480!

rezaahmadzadeh commented 8 years ago

@apaikan thank you for installing and configuring the whole system. I see that you are facing some problem getting CLMH to work. As you can see in the repo the most recently updated code is CLMH. And that is because we did some experiments with @hagenlehmann and we were constantly updating the code (I prefer using simpleCLM and CLMYARP just to confirm that the system is working properly).

If the same error of CLMGAZE happens when using CLMH, I can guess that either of the followings is probable:

Could you check the following points?

You should change the camera parameters for a 640x480 resolution. I suggest even try with the 320x240 first, to make sure everything is working correctly. Some of the camera parameters in the code are from different iCubs.

the module can use two different face detectors, you can check if the error persists with the other one as well (Line 261). Make sure that the face detector is loaded. There is a big issue regarding this with OpenCV 3.0.0