Mar 5, 2013

Logitech c920 and c910 fields of view for RGBDtoolkit

I'm considering these webcams to use them with the RGBDtoolkit. I wanted to know their field of view, and if they would match the Kinect wide angle lens.
In the technical specifications of the c910 and the c920, Logitech provides only the diagonal FOV, but does not say if that data refers to a 16:9 or to a 4:3 aspect ratio. Most common sensors are 4:3, and judging by the capture frame sizes, so are these too.
I asked Logitech's customer service to which aspect ratio does refer the Diagonal FOV data they provide about their webcams, to be able to calculate the horizontal field of view and the vertical field of view in case I wanted to use them with the RGBDtoolkit. First their "technicians" were confused: they told me the DFOV was the same for both aspect ratios, wich would mean the sensor aspect ratio was quite odd, not 4:3 nor 16:9. I made this schematic to explain them the matter:
Finally someone who really understood the question told me the DFOV numbers they provided are for 16:9 aspect ratio, 83° in case of the c910 and 78° for the c920.
That means with a 16:9 aspect the calculations are the following:
For the c910: DFOV=83º, HFOV=75.27º and VFOV=46.89º
Edit 1:
c910 sensor seems to be 4:3, so the number would be:
for 4:3 resolutions DFOV=83º, HFOV=70.58º and VFOV=55.92º
Edit 3:
for 16:9 resolutions c910's sensor VFOV would be: 0.75*55.92º = 41.94º

For the c920, with 16:9 sensor: 
for 16:9 resolutions: DFOV=78º, HFOV=70.42º and VFOV=43.30º

As the 16:9 aspect ratio is wider than the Kinect's 4:3, what we have to look at is the VFOV. The Kinect VFOV is 43º, so, theoretically, both webcams shoud do the job. But in the field tests, I observed the c920 cropped the image a little bit, probably because of the vertical displacement between the Kinect and the webcam when mounted together. The c910 will do better but may have some more barrel distortion.
Edit 1:
as the c920 is 16:9, it has smaller VFOV (43.30º) than the c910 (55.92º). So the c910 is a better candidate to be used with RGBDtoolkit.
Edit 3: the highest 4:3 resolution that can be captured at 30fps is 960x720. So even if at 4:3 c910 matches better the kinect's FOVs (which is also 4:3), it happens that capturing at an acceptable 30fps in 1920x1080 (16:9), the VFOV if slightly bigger for the c920 (43.30º), so in the end seems to record for RGBDtoolkit, at 1920x1080@30fps, the c920 is the best choice. (Sorry for the many corrections and edits).

Edit 2:
IMPORTANT NOTE: The field of view changes with the framerate selection: a lower framerate gives a wider angle, that is more FOV. This only happens with the C910 and certain drivers, I'v tested this in two different computers running the same Ubuntu 12.04 and capturing with GUVCVIEW, and the results are different. It also changes sometimes when selecting different format (YUYV, MJPG,...). It may have to do with the digital zooming capability of these cameras.

Compare the two first frames:

Frame captured from C910 at 1920x1080 @ 24 fps:

Frame captured from C910 at 1920x1080 @ 30 fps:

Frame captured from C920 at 1920x1080 @ 24 fps:

Frame captured from C920 at 1920x1080 @ 30 fps:

Some useful links:

http://www.tawbaware.com/maxlyons/calc.htm
http://www.bobatkins.com/photography/tutorials/crop_sensor_cameras_and_lenses.html
 

12 comments:

  1. This a great useful information.
    Sorry for my English, but I don't understand a bit thing that it is the most important in your articule.
    In the C910 (in 4:3 aspect ratio):
    DFOV=83º
    HFOV=70,58º
    VFOV=55,92º

    I understood that a person had understood the question. And he told the calculate but I don't know if the 4:3 aspect ratio the DFOV is 83º

    Thank you!

    ReplyDelete
    Replies
    1. Sorry if I did not explain myself clearly. Logitech finally answered my question like this: "the DFOV data provided is for 16:9 aspect ratio"

      I made the schematic and all the calculations to get the HFOV and VFOV.

      I guess the CCD is 4:3 (given that you can choose higher 4:3 resolutions than 16:9 resolutions), so the HFOV is probably the same for 16:9 as for 4:3, and probably the VFOV is greater in 4:3 than in 16:9.

      By your funny alias, I can tell you speak Spanish. If it helps, as I'm from Spain, I can answer you in Spanish too.

      Delete
  2. Gracias por contestar.
    Creí que me iba a llegar un correo cuando alguien me contestara.

    Pues es que estoy haciendo una aplicación de realidad aumentada y estoy trabajando con la C910 y me surgió la misma duda del FOV. El viernes pasado llamé a Logitech para preguntarlo y me dijo el hombre que la especificación es para 16:9 pero que no sabía cuánto era la de 4:3. Y este lunes vi tu blog y justo lo que estaba buscando.

    El contenido está claro lo que pasa que no vi una afirmación de "DFOV(16:9) es la misma que DFOV(4:3)" y eso es lo que no me quedó confirmado...

    Te comento viendo la resolución máxima de 16:9 que es 1920x1080 y la resolución máxima (real) de 4:3 es de 2560x1920. Creo que la horizontal sería lo mismo pero he estado trasteando con OpenCV y mira qué ha pasado cuando he puesto las resoluciones 640x480 y 854x480.

    http://imageshack.us/photo/my-images/197/854x480.png/
    http://imageshack.us/photo/my-images/836/640x480h.png/

    Es un poco desconcertante creo que el DFOV es el mismo en las dos relaciones de aspecto. Igualmente el servicio técnico me llamará... ya te comentaré.


    ==================================================================

    Thank you for replying.
    I thought that Google notificated that my message was resplayed.

    I'm developing a Augmented reality program. I'm working with C910 and I need to know what DFOV the camera has. Last Friday, I called to logitecth service to ask this question. The customer service replyed me that the DFOV 83º is 16:9 aspect ratio. This Monday, I found your blog.

    Your explaination is clear. But I didn't find a afirmation about DFOV (16:9) and DFOV (4:3)

    Today, I'm playing with OpenCV. I have find this.

    http://imageshack.us/photo/my-images/197/854x480.png/
    http://imageshack.us/photo/my-images/836/640x480h.png/

    I think that there are some probability that DFOV (16:9) and DFOV (4:3) would be same. If the customer service replys, I will tell all.

    ReplyDelete
    Replies
    1. No creo que DFOV sea el mismo para 4:3 que para 16:9. Si te fijas en el esquema de los posibles tamaños de CCD, que el DFOV fuera el mismo (o sea d1=d2) solo sería posible si el CCD tuviese unas proporciones extrañas.

      Lo lógico es que el CCD sea 4:3, y por eso la resolución es mayor a 4:3. Y por lo tanto lo que si es igual es HFOV.

      Si el problema que tienes es la distorsión de la imágen de 854x480, te sale estirada porque la estas dibujando en pantalla a 4:3 y tendrías que dibujarla a 16:9.

      ===============================================================

      I don't think DFOV is the same for 16:9 and for 4:3. If you see in the possible CCD sizes schematic, DFOV could only be the same (that is d1=d2) if the CCD would have weird proportions.

      It sounds logical that the CCD is 4:3, and therefor the 4:3 resolution is higher. So what would be the same is HFOV.

      If the problem you have is the distortion in the 854x480 image, it shows stretched because you are drawing it in the screen at 4:3 and you should be drawing it at 16:9.

      Delete
    2. Se me olvidaba: te puedes suscribir a los comentarios en el link que hay más abajo :)

      Delete
    3. Hmmmm...

      it seems the c910 CCD is 4:3, but the c920 is 16:9, so it could happen that the DFOV data they provide correspond to different aspect ratios in each camera

      C910 = 3648x2736 > 4:3
      C920 = 5168x2907 > 16:9

      http://logitech-en-amr.custhelp.com/app/answers/detail/a_id/17516/~/c910-technical-specifications
      http://logitech-en-amr.custhelp.com/app/answers/detail/a_id/28927/~/c920-technical-specifications

      Delete
    4. ¿Dónde has encontrado las resoluciones máximas de ambas cámaras?
      Te cuento ahora he estado trasteando con openframeworks que proporciona algunas funciones básicas para la captura de vídeo o imagen y he encontrado esto. Que son todas las resoluciones admitidas por el disposivo.
      Te lo comento porque en el C910 has puesto una resolución de 3648x2736 pero leyendo en algún lado esa resolución la consigue sus driver mediante software ya que la real máxima es de 5MP y no de 10Mp.
      Adjunto las resoluciones, los "formatos" y una cosa que no se que es...

      http://sharetext.org/AhEZ

      =================================================================

      Where did you find the maximal camera's resolution?
      I have played with openframeworks. This framework has a basic capture methods. These are the admited resolution.

      I have read that the maximal real resolution is 5MP in c910 and its driver get 10Mp throught software.
      In the following data, there are the admited resolution, format and number that I don't know what it is.

      http://sharetext.org/AhEZ


      Delete
    5. I calculated the resolution based in the 10Mp of the specs sheet. But you are right, that is only with Logitech's software interpolation. The native resolution of the CMOS sensor (to correct where I said CCD) in the c910 appears to be 2592 x 1944, that is 5Mp.

      According to this thread both cameras probably use the same sensor, but the c920 crops the aspect to 16:9 :
      http://forums.logitech.com/t5/Webcams/what-s-the-difference-between-the-C920-and-the-C910/td-p/799631

      Delete
  3. I've added another important info:

    The field of view changes with the framerate selection: a lower framerate gives a wider angle, that is more FOV.

    See the pictures in the post.

    ReplyDelete
  4. Wow! Incredible post! Thanks for sharing!

    ReplyDelete
  5. Hello, I am doing some paper un a stereo vision system using a couple c920s.
    Is it ok if I quote you and maybe use some of your images on my paper?

    Thanks in advance!

    ReplyDelete