Skip to content
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

[doc] Add insta360 air camera doc #2544

Merged
merged 9 commits into from
Nov 22, 2020

Conversation

knorth55
Copy link
Member

add insta360 air camera

insta360_air_sample

cc. @708yamaguchi

Copy link
Member

@708yamaguchi 708yamaguchi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you.

Why do you think we need jsk_perception/launch/libuvc_camera.launch?
I think sample_insta360_air.launch is enough.

Other than that, I think this PR is fine.

@708yamaguchi
Copy link
Member

708yamaguchi commented Nov 12, 2020

We may need libuvc_camera to run_depend of package.xml.

@knorth55 knorth55 force-pushed the add-insta360-camera-doc branch from 29117ad to c03d60b Compare November 12, 2020 12:03
@knorth55
Copy link
Member Author

libuvc_camera launch is also used in #2545 , that is why i added it.
libuvc_camera is needed to run,
but it is just sample so i didn't add it.
i dont know how hard the release is, but i think we should not add a lot of run dependencies for sample programs

Copy link
Member

@708yamaguchi 708yamaguchi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, thank you for your explanation.

@knorth55
Copy link
Member Author

@k-okada Travis passed, can you please merge this PR?

@708yamaguchi
Copy link
Member

708yamaguchi commented Nov 16, 2020

FYI:
The mjpeg format of libuvc_camera is not available in indigo and fetch15 cannot use this launch file.
The following comment is helpful.
ros-drivers/libuvc_ros#37 (comment)

Instead, I was able to view the insta360 mjpeg images by using usb_cam.
http://wiki.ros.org/usb_cam

@708yamaguchi
Copy link
Member

@knorth55 @YoheiKakiuchi how can I get panorama view image from 360 fisheye camera?

@knorth55
Copy link
Member Author

@708yamaguchi what do you mean by panorama view image?
if you mean the rectified image, you need to calibrate the camera.

@708yamaguchi
Copy link
Member

I mean panorama view image like below.
http://rraj.rsj-web.org/atcl/749

If calibration is needed, do you know a good method to calibrate the camera?

@knorth55
Copy link
Member Author

knorth55 commented Nov 17, 2020

I think it is better to calibrate the camera as normal camera, split into several images and recognize objects and human separately.

FYI:
paper: http://www.ee.oulu.fi/~jkannala/publications/tpami2006.pdf
fisheye camera model name: ros/common_msgs#109
fisheye calibration: ros-perception/image_pipeline#440
fisheye camera model: ros-perception/vision_opencv#358
fisheye image_proc: ros-perception/image_pipeline#441

@YoheiKakiuchi
Copy link
Member

Is there a recognition technique that uses original fisheye image ?
Opencv calibration is not so easy with a checkerboard, which is usually done with a normal lens, because the distortion is so large.

The opencv calibration just transform from a fisheye model to a pinhole model.
So you'll need to use narrow angle of view, or more than two images.

I think the panorama view is using N images which are connected in a nice way,
but I can't find a paper or an implementation.

@knorth55
Copy link
Member Author

knorth55 commented Nov 17, 2020

Is there a recognition technique that uses original fisheye image ?
Opencv calibration is not so easy with a checkerboard, which is usually done with a normal lens, because the distortion is so large.

Which version of opencv have you done with?
From opencv3, fisheye camera model and calibration is introduce, so I think it is not so hard as it was (I hope).
image_pipeline camera calibration now supports fisheye calibration, so we can try it.
(however, we still don't have the image_proc for fisheye camera model)

https://stackoverflow.com/questions/50857278/raspicam-fisheye-calibration-with-opencv
https://docs.opencv.org/3.0.0/db/d58/group__calib3d__fisheye.html

I think the panorama view is using N images which are connected in a nice way,
but I can't find a paper or an implementation.

If you want to make panorama view with no calibration, we need to spin the camera in z-axis, capture images and concatenate them, in my understanding.
If there is any technique to make a panorama from no calibrated fisheye camera, I really want to know it.

@knorth55
Copy link
Member Author

@708yamaguchi BTW, can you also add launch file for usb_cam and add args use_usb_cam in sample_insta360.launch?

@708yamaguchi
Copy link
Member

708yamaguchi commented Nov 18, 2020

@YoheiKakiuchi @knorth55
Thank you very much for your information.
I understand that I need to find good method by myself if I want to create panorama view or to do fisheye rectification on ROS...

@knorth55
Thank you for merging my PR to you.

@knorth55
Copy link
Member Author

@k-okada Travis passed! Can you merge this PR?

@k-okada k-okada merged commit d77f1b0 into jsk-ros-pkg:master Nov 22, 2020
@knorth55 knorth55 deleted the add-insta360-camera-doc branch November 22, 2020 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants