Skip to content

TSDF.valid_points test fails on ARM64 #2818

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
4 tasks
asmorkalov opened this issue Jan 14, 2021 · 1 comment · Fixed by #2839
Closed
4 tasks

TSDF.valid_points test fails on ARM64 #2818

asmorkalov opened this issue Jan 14, 2021 · 1 comment · Fixed by #2839

Comments

@asmorkalov
Copy link
Contributor

System information (version)
  • OpenCV => 4.5.1-pre ( contrib master: 768ad92 )
  • Operating System / Platform => Ubuntu 20.04, arm64-v8a
  • Compiler => GCC 9.3

Hardware:

--   CPU/HW features:
--     Baseline:                    NEON FP16
Detailed description
[ RUN      ] TSDF.valid_points
/home/opencv-cn/slave/workspace/experimental/contrib-ubuntu-20.04-arm64@2/opencv_contrib/modules/rgbd/test/test_tsdf.cpp:470: Failure
Expected: (0.5 - percentValidity) < (0.3), actual: nan vs 0.3
[  FAILED  ] TSDF.valid_points (33 ms)
Steps to reproduce
Issue submission checklist
  • I report the issue, it's not a question
  • I checked the problem with documentation, FAQ, open issues,
    answers.opencv.org, Stack Overflow, etc and have not found solution
  • I updated to latest OpenCV version and the issue is still there
  • There is reproducer code and related data files: videos, images, onnx, etc
@tomoaki0705
Copy link
Contributor

Hi. I hit this issue.
I can confirm that if we disable the universal intrinsic, this test passes.
This mean that the cause of this failure exists somewhere in here

The nan comes from here

anfas = counterOfValid(points);

where points are totally 0, so anfas results as 0.
The points is filled with +infinity which are totally replaced to 0 in patchNaNs above

For quick fix, we can disable the universal intrinsic by modifying this line to

#if USE_INTRINSICS && 0

#if USE_INTRINSICS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants