DJI Inspire 2 Insider Case Study – DCMI & Halo Vue

 

Heliguy is always looking for feedback from customers on the performance of DJI’s product range. With their increasing movement towards the Enterprise market, DJI’s kit is now being held to a higher standard as it has become an integral part of some people’s business models.

With this in mind, we’ve been provided with an in-depth case study on the Inspire 2 from Darren Miller of DCMI Film, TV and Aerial Imaging who has previously worked on projects ranging from Happy Valley and Sherlock to the upcoming feature film Kingsman: The Golden Circle as a UAV camera operator.

Read on to find out what he makes of DJI’s Inspire 2 quadcopter, how it performs on a job and what you can expect from the camera and subsequent workflow.


DJI Inspire 2 Case Study: Darren Miller

I recently teamed up with professional drone pilot Phil Fearnley of Halo Vue, who had acquired 2x Inspire 2’s supplied by Heliguy which we utilised on an engagement for Costa Coffee’s Roastery in Basildon. The job included both outdoor and indoor flying with some challenging environments which would put the aircraft through their paces.


Sense and Avoid

The Inspire 2 was the aircraft of choice for the indoor filming due to the nature of the visuals, being in and around a production plant under a steel structure. We anticipated using the I2’s sense and avoid system to its full potential, to achieve safe close proximity flying to the machinery and close to the roof to get some epic wide shots that indicate the scale of the plant. Very soon it became clear that the sensors were inhibiting the design of shots I wanted to achieve so Phil had to disengage them and fly in Atti mode.

 

 

This put quite a lot of pressure on the pilot as there was little room for error when executing low tracking or crane shots in and amongst pipework, gantries and huge plant machinery. However, working as a two-man team meant that Phil could concentrate entirely on the flying whilst receiving and reacting to my verbal direction whilst I’m operating the camera.


Visuals

Phil did a sterling job at manoeuvring the aircraft in some particularly tricky and potentially dangerous locations and was able to execute difficult moves both professionally and gracefully. We found sometimes shooting at the slower flight speed in ‘Tripod Mode’ rendered some really smooth shots that looked as good as any Steadicam or dolly on tracks. Being a professional cameraman by trade, I am always looking for new and interesting ways to put the audience in unusual places whilst telling a visual story at the same time.

 

 

To do this requires a dedicated synergy between the pilot and camera operator, much like having a grip work the dolly and jib on a drama production, I apply the same discipline. I doubt any other machine could have rendered the same result in these particular circumstances. With any larger aircraft, the job would have been impossible. Phil is also a professional photographer so having two sets of creative eyes on the screen to determine exposure and composition etc. really was a bonus.


Workflow

We shot at 4K in D-Log, 25fps, 1/50th, various degrees K, between 100 & 400 ISO at H.264 mostly on an Olympus 12mm lens, the client having a 1080p delivery. The 4K res gives the editor freedom to zoom into images in post-production by at least 1x focal length thus supplying more cuts from your data. Having read up on the X5S and its dynamic range, I exposed slightly to the right (ETTR) by about 1 F stop by using the Inspire 2‘s histogram. This yielded better detail in the interior blacks and seemed to preserve all the detail in the highlights when shooting towards large windows from inside the building.

I did a simple grade of some selected rushes that we backed up in Adobe Premiere Pro on my desktop iMac. I applied the Arri Alexa standard LOGC – Rec 709 LUT to the D-Log rushes which gave an overall underexposed and over saturated, contrasty look. I corrected these attributes to yield a flatter desaturated palette which more represented the colours I remembered from the day’s shoot. I couldn’t find a dedicated DJI D-Log/709 LUT in Adobe Premier, however, there are many LUTs in Adobe’s software and I’m sure lots of different pleasing results could be achieved by experiment. Overall, the rushes were good to work with although the 4K ingest took hours. I suggest using the digital encoder program to down res 4K footage to 1080p.


Lightbridge 2

The Inspire 2’s video signal from the upgraded DJI Lightbridge technology was faultless, even under a massive steel structure, pipework, gantries and working machinery. I cannot express enough just how imperative it is for the camera operator to have a sturdy and latency free image to work from. There is nothing more annoying and frustrating to lose the signal or experience noisy breakup which always seems to happen during the most tricky of manoeuvres.

 

Inspire 2 Close Up

 

It’s important to remember that the aircraft is the dolly in the sky, it’s the images that it captures that are most important. Outdoors, the image was the same, zero break up at 500M and I was able to save data by switching the camera on and off even at these distances. Some larger lifters using Connex and Terradek technology cannot always do this at 500M so the editor sometimes sits through endless minutes of taking off and landing that are of no use and fill up the hard drives. My personal preference is to fly up to and frame up the shot, ‘turnover’ and then announce ‘camera set’ to the first AD, It’s much more professional and disciplined. Thank you, DJI, for Lightbridge on the Inspire 2.


Framing and Composition

I would like to have the option of a frame line generator for framing the image from the Inspire 2. With all the telemetry surrounding the image on the iPad or a smaller monitor, I sometimes forgot that the image edges were equal to the full shape of the monitor.

 

var data_gallery_14 = [];
var event_stack_gallery_14 = [];
data_gallery_14[“0”]=[];data_gallery_14[“0”][“id”]=”0″;data_gallery_14[“0”][“image_url”]=”https://www.heliguy.com/blog/wp-content/uploads/2017/05/costa4.jpg”;data_gallery_14[“0”][“description”]=””;data_gallery_14[“0”][“alt”]=””;data_gallery_14[“1”]=[];data_gallery_14[“1”][“id”]=”1″;data_gallery_14[“1”][“image_url”]=”https://www.heliguy.com/blog/wp-content/uploads/2017/05/costa3.jpg”;data_gallery_14[“1”][“description”]=””;data_gallery_14[“1”][“alt”]=””;data_gallery_14[“2”]=[];data_gallery_14[“2”][“id”]=”2″;data_gallery_14[“2”][“image_url”]=”https://www.heliguy.com/blog/wp-content/uploads/2017/05/costa2.jpg”;data_gallery_14[“2”][“description”]=””;data_gallery_14[“2”][“alt”]=””;data_gallery_14[“3”]=[];data_gallery_14[“3”][“id”]=”3″;data_gallery_14[“3”][“image_url”]=”https://www.heliguy.com/blog/wp-content/uploads/2017/05/costa1.jpg”;data_gallery_14[“3”][“description”]=””;data_gallery_14[“3”][“alt”]=””; var huge_it_trans_in_progress_gallery_14 = false;
var huge_it_transition_duration_gallery_14 = 1000;
var huge_it_playInterval_gallery_14;
// Stop autoplay.
window.clearInterval(huge_it_playInterval_gallery_14);
// alert(‘huge_it_current_key_gallery_14’);
var huge_it_current_key_gallery_14 = ”;
function huge_it_move_dots_gallery_14() {
var image_left = jQuery(“.huge_it_slideshow_dots_active_gallery_14”).position().left;
var image_right = jQuery(“.huge_it_slideshow_dots_active_gallery_14”).position().left + jQuery(“.huge_it_slideshow_dots_active_gallery_14″).outerWidth(true);
}
function huge_it_testBrowser_cssTransitions_gallery_14() {
return huge_it_testDom_gallery_14(‘Transition’);
}
function huge_it_testBrowser_cssTransforms3d_gallery_14() {
return huge_it_testDom_gallery_14(‘Perspective’);
}
function huge_it_testDom_gallery_14(prop) {
// Browser vendor CSS prefixes.
var browserVendors = [”, ‘-webkit-‘, ‘-moz-‘, ‘-ms-‘, ‘-o-‘, ‘-khtml-‘];
// Browser vendor DOM prefixes.
var domPrefixes = [”, ‘Webkit’, ‘Moz’, ‘ms’, ‘O’, ‘Khtml’];
var i = domPrefixes.length;
while (i–) {
if (typeof document.body.style[domPrefixes[i] + prop] !== ‘undefined’) {
return true;
}
}
return false;
}
function huge_it_cube_gallery_14(tz, ntx, nty, nrx, nry, wrx, wry, current_image_class, next_image_class, direction) {
/* If browser does not support 3d transforms/CSS transitions.*/
if (!huge_it_testBrowser_cssTransitions_gallery_14()) {
jQuery(“.huge_it_slideshow_dots_gallery_14”).removeClass(“huge_it_slideshow_dots_active_gallery_14”).addClass(“huge_it_slideshow_dots_deactive_gallery_14”);
jQuery(“#huge_it_dots_” + huge_it_current_key_gallery_14 + “_gallery_14”).removeClass(“huge_it_slideshow_dots_deactive_gallery_14”).addClass(“huge_it_slideshow_dots_active_gallery_14”);
return huge_it_fallback_gallery_14(current_image_class, next_image_class, direction);
}
if (!huge_it_testBrowser_cssTransforms3d_gallery_14()) {
return huge_it_fallback3d_gallery_14(current_image_class, next_image_class, direction);
}
huge_it_trans_in_progress_gallery_14 = true;
/* Set active thumbnail.*/
jQuery(“.huge_it_slideshow_dots_gallery_14”).removeClass(“huge_it_slideshow_dots_active_gallery_14”).addClass(“huge_it_slideshow_dots_deactive_gallery_14”);
jQuery(“#huge_it_dots_” + huge_it_current_key_gallery_14 + “_gallery_14”).removeClass(“huge_it_slideshow_dots_deactive_gallery_14”).addClass(“huge_it_slideshow_dots_active_gallery_14”);
jQuery(“.huge_it_slide_bg_gallery_14”).css(‘perspective’, 1000);
jQuery(current_image_class).css({
transform : ‘translateZ(‘ + tz + ‘px)’,
backfaceVisibility : ‘hidden’
});
jQuery(“.huge_it_slideshow_image_wrap_gallery_14,.huge_it_slide_bg_gallery_14,.huge_it_slideshow_image_item_gallery_14,.huge_it_slideshow_image_second_item_gallery_14 “).css(‘overflow’, ‘visible’);
jQuery(next_image_class).css({
opacity : 1,
filter: ‘Alpha(opacity=100)’,
backfaceVisibility : ‘hidden’,
transform : ‘translateY(‘ + nty + ‘px) translateX(‘ + ntx + ‘px) rotateY(‘+ nry +’deg) rotateX(‘+ nrx +’deg)’
});
jQuery(“.huge_it_slider_gallery_14”).css({
transform: ‘translateZ(-‘ + tz + ‘px)’,
transformStyle: ‘preserve-3d’
});
/* Execution steps.*/
setTimeout(function () {
jQuery(“.huge_it_slider_gallery_14”).css({
transition: ‘all ‘ + huge_it_transition_duration_gallery_14 + ‘ms ease-in-out’,
transform: ‘translateZ(-‘ + tz + ‘px) rotateX(‘+ wrx +’deg) rotateY(‘+ wry +’deg)’
});
}, 20);
/* After transition.*/
jQuery(“.huge_it_slider_gallery_14”).one(‘webkitTransitionEnd transitionend otransitionend oTransitionEnd mstransitionend’, jQuery.proxy(huge_it_after_trans));
function huge_it_after_trans() {
jQuery(“.huge_it_slide_bg_gallery_14,.huge_it_slideshow_image_item_gallery_14,.huge_it_slideshow_image_second_item_gallery_14 “).css(‘overflow’, ‘hidden’);
jQuery(“.huge_it_slide_bg_gallery_14”).removeAttr(‘style’);
jQuery(current_image_class).removeAttr(‘style’);
jQuery(next_image_class).removeAttr(‘style’);
jQuery(“.huge_it_slider_gallery_14”).removeAttr(‘style’);
jQuery(current_image_class).css({‘opacity’ : 0, filter: ‘Alpha(opacity=0)’, ‘z-index’: 1});
jQuery(next_image_class).css({‘opacity’ : 1, filter: ‘Alpha(opacity=100)’, ‘z-index’ : 2});
// huge_it_change_watermark_container_gallery_14();
huge_it_trans_in_progress_gallery_14 = false;
if (typeof event_stack_gallery_14 !== ‘undefined’ && event_stack_gallery_14.length > 0) {
key = event_stack_gallery_14[0].split(“-“);
event_stack_gallery_14.shift();
huge_it_change_image_gallery_14(key[0], key[1], data_gallery_14, true,false);
}
}
}
function huge_it_cubeH_gallery_14(current_image_class, next_image_class, direction) {
/* Set to half of image width.*/
var dimension = jQuery(current_image_class).width() / 2;
if (direction == ‘right’) {
huge_it_cube_gallery_14(dimension, dimension, 0, 0, 90, 0, -90, current_image_class, next_image_class, direction);
}
else if (direction == ‘left’) {
huge_it_cube_gallery_14(dimension, -dimension, 0, 0, -90, 0, 90, current_image_class, next_image_class, direction);
}
}
function huge_it_cubeV_gallery_14(current_image_class, next_image_class, direction) {
/* Set to half of image height.*/
var dimension = jQuery(current_image_class).height() / 2;
/* If next slide.*/
if (direction == ‘right’) {
huge_it_cube_gallery_14(dimension, 0, -dimension, 90, 0, -90, 0, current_image_class, next_image_class, direction);
}
else if (direction == ‘left’) {
huge_it_cube_gallery_14(dimension, 0, dimension, -90, 0, 90, 0, current_image_class, next_image_class, direction);
}
}
/* For browsers that does not support transitions.*/
function huge_it_fallback_gallery_14(current_image_class, next_image_class, direction) {
huge_it_fade_gallery_14(current_image_class, next_image_class, direction);
}
/* For browsers that support transitions, but not 3d transforms (only used if primary transition makes use of 3d-transforms).*/
function huge_it_fallback3d_gallery_14(current_image_class, next_image_class, direction) {
huge_it_sliceV_gallery_14(current_image_class, next_image_class, direction);
}
function huge_it_none_gallery_14(current_image_class, next_image_class, direction) {
jQuery(current_image_class).css({‘opacity’ : 0, ‘z-index’: 1});
jQuery(next_image_class).css({‘opacity’ : 1, ‘z-index’ : 2});
/* Set active thumbnail.*/
jQuery(“.huge_it_slideshow_dots_gallery_14”).removeClass(“huge_it_slideshow_dots_active_gallery_14”).addClass(“huge_it_slideshow_dots_deactive_gallery_14”);
jQuery(“#huge_it_dots_” + huge_it_current_key_gallery_14 + “_gallery_14”).removeClass(“huge_it_slideshow_dots_deactive_gallery_14”).addClass(“huge_it_slideshow_dots_active_gallery_14”);
}
function huge_it_fade_gallery_14(current_image_class, next_image_class, direction) {
if (huge_it_testBrowser_cssTransitions_gallery_14()) {
jQuery(next_image_class).css(‘transition’, ‘opacity ‘ + huge_it_transition_duration_gallery_14 + ‘ms linear’);
jQuery(current_image_class).css(‘transition’, ‘opacity ‘ + huge_it_transition_duration_gallery_14 + ‘ms linear’);
jQuery(current_image_class).css({‘opacity’ : 0, ‘z-index’: 1});
jQuery(next_image_class).css({‘opacity’ : 1, ‘z-index’ : 2});
}
else {
jQuery(current_image_class).animate({‘opacity’ : 0, ‘z-index’ : 1}, huge_it_transition_duration_gallery_14);
jQuery(next_image_class).animate({
‘opacity’ : 1,
‘z-index’: 2
}, {
duration: huge_it_transition_duration_gallery_14,
complete: function () {return false;}
});
// For IE.
jQuery(current_image_class).fadeTo(huge_it_transition_duration_gallery_14, 0);
jQuery(next_image_class).fadeTo(huge_it_transition_duration_gallery_14, 1);
}
jQuery(“.huge_it_slideshow_dots_gallery_14”).removeClass(“huge_it_slideshow_dots_active_gallery_14”).addClass(“huge_it_slideshow_dots_deactive_gallery_14”);
jQuery(“#huge_it_dots_” + huge_it_current_key_gallery_14 + “_gallery_14”).removeClass(“huge_it_slideshow_dots_deactive_gallery_14”).addClass(“huge_it_slideshow_dots_active_gallery_14”);
}
function huge_it_grid_gallery_14(cols, rows, ro, tx, ty, sc, op, current_image_class, next_image_class, direction) {
/* If browser does not support CSS transitions.*/
if (!huge_it_testBrowser_cssTransitions_gallery_14()) {
jQuery(“.huge_it_slideshow_dots_gallery_14”).removeClass(“huge_it_slideshow_dots_active_gallery_14”).addClass(“huge_it_slideshow_dots_deactive_gallery_14”);
jQuery(“#huge_it_dots_” + huge_it_current_key_gallery_14 + “_gallery_14”).removeClass(“huge_it_slideshow_dots_deactive_gallery_14”).addClass(“huge_it_slideshow_dots_active_gallery_14”);
return huge_it_fallback_gallery_14(current_image_class, next_image_class, direction);
}
huge_it_trans_in_progress_gallery_14 = true;
/* Set active thumbnail.*/
jQuery(“.huge_it_slideshow_dots_gallery_14”).removeClass(“huge_it_slideshow_dots_active_gallery_14”).addClass(“huge_it_slideshow_dots_deactive_gallery_14”);
jQuery(“#huge_it_dots_” + huge_it_current_key_gallery_14 + “_gallery_14”).removeClass(“huge_it_slideshow_dots_deactive_gallery_14”).addClass(“huge_it_slideshow_dots_active_gallery_14”);
/* The time (in ms) added to/subtracted from the delay total for each new gridlet.*/
var count = (huge_it_transition_duration_gallery_14) / (cols + rows);
/* Gridlet creator (divisions of the image grid, positioned with background-images to replicate the look of an entire slide image when assembled)*/
function huge_it_gridlet(width, height, top, img_top, left, img_left, src, imgWidth, imgHeight, c, r) {
var delay = (c + r) * count;
/* Return a gridlet elem with styles for specific transition.*/
return jQuery(‘