Hawk vs. Drone: Fair Use and Copyright

Posted in default on May 8th, 2015 at 07:02:36

So, I have a popular YouTube video. (It’s not that popular anymore, but it was once.)

YouTube recommended I watch a video: Drone Crash, Fail & Win Compilation 2015, Part 3/3 (watch in 1080p).

So, I watched it, and was somewhat surprised to see a video I recognized in it: mine.

Now, this particular video is not licensed under a Creative Commons license. (The reason for this is that I have seen plenty of evidence that people misunderstand what creative commons *means*, and don’t bother to attribute — sometimes properly, sometimes at all — and I didn’t want to have to argue about it with people who were ripping off the video for their own personal profit.) This means that if someone wants to use the video in a way that isn’t allowed by fair use (or some other portion of copyright law), they need to obtain a license. Some people have obtained a license. In other cases, I’ve been able to convince people who were hosting the video themselves to instead embed the YouTube video. (All of the ad proceeds from the video are donated to the Mass Audubon Society, so this matters to me more than it otherwise would: I feel a responsibility to maximize the money that is donated because of this video..)

In the comments on the compilation video, someone said: “He has just stolen all the clips from other peoples videos without even asking them first. Only Creative Commons videos are free to use so its copyright theft!”

Now, this misunderstands the way copyright works a little bit — Creative Commons videos aren’t ‘free’ to use in the sense of freedom, they require specific requirements that still need to be met — but it’s generally reasonable: Reusing someone’s copyrighted content without a license *may be* copyright theft. But it isn’t when such use is allowed under fair use. (There are other cases too, but I think fair use is the most straightforward claim in this case.)

So, to that end, I replied with the following analysis of whether the 12 seconds of my video used in this compilation was a violation of my copyright. I welcome comments or feedback on ways in which you disagree with or support this analysis.


In the US, 17 U.S.C. § 107 defines a 4-prong test for determining whether something is fair use. In particular:

Purpose and character of the use: ‘whether the art aims to only “supersede the objects” of the original for reasons of personal profit.’ I don’t think that putting all these clips together creates a meaningful work of new art, and that it would fail the test for Purpose and Character of the use. This is not an educational video; there is no commentary; it’s done in no way other than to get eyeballs. (If there were no ads on the video, one could at least claim it wasn’t commercial in nature, which would act in its favor, but there are ads.) That said, the combination of all of these shots together certainly puts some pieces in a different light; that is, there is some creativity being applied. I don’t think it crosses the line

Nature of the copyrighted work: This is not documentation or news footage; it is not the case that the nature of the work is special in a way that would allow it to be meaningfully protected under fair use, as far as I can tell.

Amount and substantiality: This is the real question, and varies a lot depending on the video. For the Burj Khalifa video, there’s only ~2 seconds of video, and I would argue it could be reasonably said that this isn’t the substantive portion of the work. However, for the Hawk vs. Drone video (which is mine), the 12 seconds of selected video very much are the substantive portions of the video — in particular, that specific chunk of the video was exactly the same 14 second chunk of video that a national Nightly News station paid $850 for a license to. Since the Grand Upright Music, Ltd. v. Warner Bros. Records Inc. case in 1991, there has been a massive move towards licensing for music sampling, and this fits a similar role: I think that for some of these videos, there is clear evidence that the amount and substantiality prong is failed by this video.

Effect upon work’s value: I think this one is probably the one that this video succeeds in the most. Specifically, I think that this compilation video does not infringe upon the value of any of the works it has taken from in a serious way. In particular, I don’t believe that anyone who is a likely viewer of my video would say “Oh, I’ve seen the hawk video as part of this compilation; now I’m done.” That said, I think this prong could be minimized even further by including links back to the source videos in the comments: If the creator had done that, I think that the expectation would be that the overall effect would be even less substantial. The most significant video might even be mine — it is one of the longer clips, and it is certainly one that contains the most of the relevant content. (The original source video was only 30 seconds long in the first place — and the other 18 seconds were pretty boring.) With that being the case, I think that it could be argued that this video does not have a meaningful effect upon the work’s value, and might be acceptable under fair use for that reason.

Taken in sum, I think that the video is right on the edge of a Fair Use claim; I think that this could be further improved by the creator by removing ads, and linking to source videos in the description of the video. As is, I have personally considered and rejected the idea of submitting a DMCA claim for my copyrighted content which is contained in this video, because I think that content of this type should be allowed under fair use, even if our current courts would take a protectionist view towards this content in particular. Compilations like this rarely detract from the value of the original work: they create new value in their combination.

Of course, reasonable people may disagree on several of these points.

FAA Enforcement Could Cost You

Posted in default on January 8th, 2015 at 09:07:51

The FAA’s ability to enforce civil penalties against safe flyers of UAV craft has not yet been tested in court, but don’t take this to mean that flying drones commercially is without risks: even in cases where the FAA isn’t assessing fines, handling the legal side of an FAA investigation can be a long, drawn-out process that can cost you lots in attorney’s fees.

With the advances in unmanned remote controlled craft over the past couple years, a massive industry of new photographers has sprung up. Even with a strongly stated position from the FAA that commercial flying is against Federal Aviation Regulations (FARs), there are many businesses in the US that continue to use drones for photography. Some do this knowing that there is risk, while some eschew the risk, taking the approach that safe flight is not within the realm of enforcement of the FAA for remote control model aircraft.

Even if the FAA has no power to enact penalties for a particular operation, that doesn’t mean that the flight is risk free, from a business perspective. In the ongoing case of “Michael Huerta, Administrator, Federal Aviation Administration v. Skypan International Inc.”, the FAA is pursuing Skypan for failing to meet the terms of a subpoena (original petition, exhibits). Unlike in any other case that has been publicized, however, this case is one where the FAA has no evidence that the flight was in any way unsafe, other than it took place inside New York City’s Class B airspace (approximately 5 miles from LaGuardia airport).

Over the past year, Skypan International has filed more than a half dozen motions related to responding to this subpoena, regularly producing documents that they feel are meeting the FAA’s demands, and being repeatedly called to task by the FAA for failure to meet with the demands of the subpoena. In the latest bout, the FAA claims that Skypan International has failed to the extent that they are in contempt of court for their failure to produce documents associated with the subpoena. Overall, more than a year has passed, with presumably dozens or possibly even hundreds of hours of legal time spent both on complying with, and responding to requests from, the subpoena from the FAA, from an organization which felt it was cooperating with the FAA!

As part of the continuing case, Skypan did attempt to claim that since the FAA had no regulatory power to assess the fines it was considering, it was unreasonable to request the documents as part of the subpoena; this was not successful, as the FAA (reasonably) argued that as part of an investigation, requesting documents to figure out whether anything *did* take place under their regulatory authority is part of their job.

A number of people flying under the “Fly Safe, and Keep Flying” approach. This is a reasonable approach for most people: the risk of FAA enforcement action in most cases is pretty slim. However, even if flying safely, as a commercial organization, there is still risk to any flight for commercial purposes of FAA investigation — which, even without penalties, can be a costly endeavor.

There is one upside at the moment. The pending case in DC Circuit Court against the FAA for their overly broad “Interpretation of the Special Rule for Model Aircraft” is currently held in abeyance at the request of one of the petitioners — which is itself a problem, slowing the potential response from the FAA to this legal challenge. However, as a component of the abeyance, the court has ruled that: “In the event the agency starts enforcing the rule challenged in this proceeding – “Interpretation of the Special Rule for Model Aircraft,” 79 FED. REG. 36,172 (June 25,
2014) – before considering and disposing of the comments it solicited, petitioners may request appropriate action.” (abeyance order). In short: If the FAA chooses to pursue further activities under the interpretation from June, the abeyance can be set aside, and the case against the FAA will proceed. This is hardly an ironclad agreement, but it seems unlikely that this is in the FAA’s best interest, and it is unlikely that they would choose to do so absent extreme cases.

Fly safe, but be aware: No amount of commercial flying is without risk of potential investigation from the FAA.

(One of the best sources of kibbitzing on drone-related legal topics that I have found is the UAV Legal News and Discussion Facebook group (somewhat to my surprise). In this group there are many of the experts in the field, from lawyers to journalists investigating the FAA’s actions. I highly recommend joining the group if you’re interested on keeping up with legal-related drone developments.)

Learning new things

Posted in Software on December 3rd, 2014 at 00:06:07

One kind of sad thing about learning new things about software while working for Google: It is unlikely anything that you learn about specific tools outside of Google will be relevant to the tools you use for work inside, and vice versa.

In general, Google has a massive set of awesome tools for everything from deployment to monitoring; and a broad codebase with libraries that can do everything under the sun. However, that means that when you go outside of the Google environment, you’re suddenly stuck a bit out in the cold — the tools that you use inside Google can’t be used outside, so you have to have a completely separate infrastructure (both literal infrastructure, and code infrastructure).

This means that, contrary to prior experiences, where tools I learned on my own time could be useful to me at work, and vice versa, that isn’t true anymore.

In most cases, this is overall a positive thing. At the moment, I’m learning about ansible and vagrant, tools for spinning up VMs locally and provisioning them. However, my work at Google can’t really use this — Google’s toolchain and build/deployment process are totally different. In the other direction, I’ve been setting up monitoring of my services inside Google, but the massive monitoring infrastructure investment that that work is based in is completely unavailable outside of Google.

It’s not a big deal, but it does make the motivation to learn new things outside of Google a bit lower. It also likely contributes to the well-known artifacts of most people who disappear into Google no longer generating as much code outside of Google — once you live in a completely different environment which has some nice things going for it, the idea of learning new tools to replace what you’ve already got seems kinda silly, doubly so since you can’t re-use those tools for work.

On the “scale of things to be upset about at your job”, of course, this is a pretty minor complaint. ;) It’s just something I realized while doing some experimentation with new tools: sharing my “new shiny” at work tomorrow isn’t really going to have the same effect it might have in the past.

Initial Warlords of Draenor Thoughts

Posted in World of Warcraft on November 23rd, 2014 at 23:24:29

Today, I started playing WoW: Warlords of Draenor.

After playing for two hours (just hitting level 91), I have to say that it certainly feels compelling: there was essentially no point in the story where I felt like the action stopped. I moved from task to task — helping defeat a massive army, unlocking some members of the Shadow Council, then moving on towards building a Garrison, and establishing a foothold in Shadowmoon Valley — without ever feeling like there was really a stopping point in the action. The quests almost never *felt* like the “Collect N items” variety — there was no point where I was running around lost in the woods looking for that one last kill.

The new quest markers — with world-visible highlighted objects to click on, instead of the old-school sparklies — was an interesting change, as is the outlining of targeted/hovered interaction targets. The Garrison building is interesting.

I will say one thing though: I still have no real clue what’s going on. Part of this comes from the way that I play — I’m pretty rarely one to read quest text, though I will typically try harder than average on my first play through. Still, even more so than usual, I’m a bit lost… like, I came through a portal, and then it was destroyed… but who are all these people who are already here? Are they just people who live here, or also people who came through the portal? Why are we setting up a base — is our goal to get back to the portal, or … what?

I think that I could make reasonable guesses at this, but as is often the case in WoW, I feel like I’m missing some key plot elements here that would explain what is actually going on.

Mechanics-wise, the Garrison functionality seems an interesting change, though I’m having a little bit of trouble following the mechanics. Marksmanship hunters seem like they’ve had a few changes, but so far the only real change I noticed is that somehow my keybinds got reset, so most of my buttons didn’t work; since I was kitted out in reasonably high-level gear before the expansion, killing things is mostly too easy to care about hitting multiple buttons, so I’ll have to learn those things at some point, but I haven’t yet. Also, I think my health is a lot smaller now? And the amount I hit for? But I assume that those are side effects of some kind of numbers change, and not based on any real relative performance change. (I heard an ‘ilevel squish’ was coming, but I really have no idea what happened, since I never paid attention.)

Anyway, I think it’s interesting enough to keep playing, but I wanted to write down my initial thoughts in the meantime.

Net Neutrality: What it Needs to be About

Posted in default on November 11th, 2014 at 22:06:41

I recently read through a long series of comments on Net Neutrality between two people at different ends of the political spectrum — most of them about traffic shaping, which is where a lot of the net neutrality debate has centered over the past year. I wrote a long response about traffic shaping policies, but as I wrote it, I realized that Net Neutrality really shouldn’t be about whether the next startup has to pay Comcast a fee to get the same network access that Netflix gets today. It needs to be about protecting US internet users from harmful practices by monopolistic ISPs. Here’s my thoughts:


Sufficient competition in the ISP space would be awesome. There isn’t sufficient competition in the US. The definition of broadband doesn’t include an explicit definition of latency, but the notion that satellite provides a competitive experience in a world where milliseconds of latency make drastic amounts of difference in user experience is silly. The lack of competition in the US ISP market is absolutely what creates the need for alternative approaches to protecting consumers from what are essentially monopoly providers.

If you don’t accept that for most users, the ISP choice is “Whoever happens to serve where I live”, then of course strict regulation under something like Title II/common carrier status seems unreasonable. Let’s take it as a given that 30% of the country has only one provider which meets the government mandated description of “broadband”, and ignore the traffic shaping arguments for the time being, because that’s not the most important thing out there. Instead, let’s look at some other practices that Title II could regulate, under the notion of ensuring ISPs don’t “make any unjust or unreasonable discrimination in charges, practices, classifications, regulations, facilities, or services.”

  • Injecting ads into content streams at the network level (Ars Technica on Comcast Javascript Injection)
  • Tracking users by injecting cookies into their HTTP streams at the network level. (EFF on Verizon’s Cookie Injection)
  • ISPs blocking content for content reasons (porn filters, for example): As it stands today, there is no reason that ISPs couldn’t decide to implement content quality standards — which may not match those of their captive customers. (UK politicians push for mandatory porn filter — though this isn’t a corporation, it’s clearly demonstrating the potential for competing interests to consider blocking internet content to be a good thing.)
  • ISPs breaking the internet by replacing no-such-domain responses with links to their own, ad-filled pages (Verizon’s DNS Assistant)

If there was open competition, all of these would theoretically be fixed by “the market”. But “the market” has left 30% of Americans with only one fixed broadband internet option (BGR story on FCC internet report) - and 67% with two or fewer; a duopoly of two major providers, oftentimes both partaking of the same borderline illegal practices.

Preventing ISPs from blocking content was deemed by the court to be outside the scope of Sec 706 powers for the FCC. The notion that it could then act on these other practices which impact user experience seems unlikely to me. With that in mind, I would say that there are much more important arguments than protecting startups from being unable to compete due to traffic shaping policies: Instead, the importance is the protecting of free speech and communication over the internet, unimpeded by the whims of monopolistic corporations which provide the sole lifeline of so much of the world’s information to so many users.


Traffic shaping and how it shapes up is certainly of personal interest to me, because a chunk of my job is monitoring traffic shaping across a big hunk of the content that flows over the internet. It’s just not the most concerning thing that ISPs are doing in the absence of strict regulation and a true competitive marketplace.

Hawk attacks Drone: The Hype Dies Down

Posted in Web Publishing, YouTube on October 14th, 2014 at 23:04:14

It seems like my 15 minutes of fame are mostly coming to a close. I’m still getting some 6000 hits/hour, but it’s nowhere near what it was — it peaked at over 130000 hits/hour right after the Daily Mail published their article. All of the other metrics have died down as well — Twitter posts, news articles, textual abuse at the hands of Joe Rogan and Anthony Cumia fans…

As some of you have seen, it’s my intent to donate advertising revenues from the video on YouTube to the Massachusetts Audubon Society. (Just seemed like a good cause to me; I don’t generally believe in advertising for padding my own pockets, but I’m happy to use advertising for good — and frankly, I’ve always wondered how advertising on YouTube worked, so this seemed like as good of an opportunity as any.) As you may have seen in my tweets, a couple of bogus ContentID claims have resulted in some of that revenue/earnings being missed out on: when a video is being disputed under ContentID, *nobody* can run ads, which means that the revenue is lost.

All the stats below are based on rough estimates of views from the YouTube views analytics dashboard combined with a timeline of activity; none are based on any AdSense data.

A brief summary of my monetization history:

  • First million views: Only display ads in-page, starting around 100k views. These are the ads on the upper right corner of the page. Since much of my content was in embeds, rather than visits directly to YouTube, these were not particularly lucrative, but due to the overall popularity, I did have something like 800k monetized visits on the watch page (this excludes around another 250k of non-monetized visits due to ContentID.) These ads are the only ads that have been on for the majority of the time.
  • At 1 million views, I enabled overlay ads. In total, I believe that I have had something like 1.5M monetized views with overlay ads enabled. (Another 800k have not been monetized due to ContentID claims.) Towards the end of this (at around 1.8M) there was a content ID claim, which was later cleared up.
  • At 2.2 million views (after my first ContentID dispute was resolved), I enabled Trueview ads. There have been approximately 600k monetized playbacks with TrueView enabled.

I don’t actually have any real earnings statistics yet, because those things can take up to 7 days to process. (I also don’t know if I could share them if I did have them; a quick read of the ToS suggests probably not.) A quick Google search points to this article on YouTube CPM, but explains that it varies significantly depending on what your ratios are of videos getting pre-rolls. (With the vast number of embeds, and short content, I think it’s probably fair to think I’ll have a lower TrueView/skippable ad ratio than most videos would, but again — no numbers available yet.)

This is by far the most common question I get about my experience: “How much money are you making?” With the numbers I see reported on the internet, I think the answer is that you can expect to see about $2 in revenue for every 1000 views. (55% goes to you, 45% goes to YouTube.) So if I had been running ads on my channel for the entire duration, and had had no ContentID claims, it would be approximately $3500 in ad revenue thus far. With the actual reality of the situation, I’m probably significantly less than that, due to not advertising aggressively at the start, the type of video I actually published, and other issues.

Overall, this is just one component of what has been an eye-opening, thrilling, and exhausting experience. I’ll be doing more write-ups about how things have gone over the coming days and weeks — I can certainly say I’ve learned a lot about what having a viral video looks like, and as might be clear from the opening paragraph, it hasn’t all been sunshine and roses.

Hawk Attacks Quadcopter!

Posted in Web Publishing, YouTube on October 9th, 2014 at 01:21:53

This morning, while out flying, a hawk attacked my quadcopter, while flying along the Charles River, in Cambridge.

You can see the video — one of my most popular ever — on YouTube:

Of course, because it’s popular, it also means you can see it in a lot of other places — LiveLeak being a ‘primary’ source of the copyright infringement. (I expect this is LiveLeak’s fault as much as it is YouTube’s fault when random people upload copyrighted crap.) I did find that on LiveLeak, the video claimed to have over 9000 views, compared to the 2000 or so on YouTube.

I’m getting a quick lesson in what happens when you create really popular content: People steal it left and right. :) I’ve already filed two copyright claims against people who reuploaded to YouTube and put ads on it — I guess I’ll also be learning about YouTube’s copyright infringement resolution process.

In the mean time, if you want to check it out, I encourage you to share, like or watch on YouTube, rather than on one of the many clones out there :) There’s only one real thing!

Social Networks and Business Plans

Posted in LiveJournal, Web Publishing on September 28th, 2014 at 10:20:27

Like everyone on the internet, I’ve seen a lot about Ello in the last week or so. While I’m not convinced Ello is the next big thing, more recently, there have been articles about how Ello must be planning to sell you out, because their proposed business model can never work, and all Venture Capitalists require an exit strategy. Regardless of how true the latter may be, I am not convinced the former is true at all.

My initial forays into the online world were based on GeoCities and Tripod, like many other people of my generation. In my transition to college, LiveJournal became my home on the internet. It was my first work with an open source project. It was where I made friends, and it was even the website where I met my wife. It was also a website which was run, for years, based on a funding model which was entirely ad-free, at a time when banner ads were the way of the internet.

When the website started, in the early 2000s, “No ads, ever” was the mantra of the site (like Ello). The site was originally invite-based, so that growth was somewhat limited (like Ello). The site didn’t collect and sell your information to advertisers (like Ello). The site was funded by users who paid for additional features (like Ello); for LiveJournal, features included things like more user pictures, the ability to make posts by making a phone call, domain forwarding, advanced customization options for look and feel.

LiveJournal functioned as a business this way for a number of years; from at least 2002 - 2005, when it was bought by Six Apart, LiveJournal seemed like a functional business from the outside. It was a small business run by a small number of employees and supported by a dedicated volunteer base who worked to run areas like user support. There was enough of a business here to result in a sale to Six Apart in 2005; while no details of the deal were ever published, it seems reasonable to assume that it was considered to be a viable business at the time of the sale.

Now, LiveJournal was never started to be a business. It was started as a way for the creator to keep in touch with his friends. It was run as a semi-business, but as with many things started by people in their idealistic years during and shortly after college, sometimes they lose the ability to maintain the dedicated interest necessary to keep them going. (See also: Most of my early software.) After the sale to Six Apart, the “No ads on LiveJournal” policy slipped somewhat, and a number of social shifts caused a bit of a fall from grace in the somewhat utopian ideals that LiveJournal had. (Not the least among them that ads probably became significantly more profitable and effective…)

But LiveJournal isn’t the only social network that had this policy. After LiveJournal’s sale to SUP, some of the volunteers from LiveJournal decided that the things LiveJournal stood for were good, and that the system it had was workable, but it needed a bit more realistic business approach, and started Dreamwidth; like LiveJournal, the site is funded through people who purchase additional features for their accounts, rather than advertising. (One of the site’s Guiding Principles is “We won’t accept or display third-party advertising on our service, whether text-based or banner ads. We are personally and ideologically against displaying advertising on a community-based service.”)

Dreamwidth was founded in 2008, and opened to the public in 2009; it started with invite codes and later was able to move away from them. The site has more than 2M registered accounts, and although it’s not going to be the next Facebook, it’s probably reasonable to assume that the site isn’t losing money hand over fist. (It has been around for 5 years, and shows no signs of unhealthiness that I can see from the outside, though I have no inside knowledge.) It is funded by people who purchase additional features for their accounts.

The idea of free accounts being paid for by people who want additional features is not new. The claim from some that “…no one has ever tried it as a central business model, at least not in social” is clearly false. Some people have tried it. It has even, to some extent, been successful. And although it may be that Ello is not planning to do what they say they’re going to is possible, it seems entirely more likely that Ello is trying to follow in the footsteps of those who have gone before it and created social networks that millions called home in the earlier days of the internet.

If what Ello wants to make is a “sustainable business”, as they’ve claimed, then there is no reason to think that they can’t do it by following exactly the funding model they have proposed. I hope all goes well for them, and that they’re able to hold onto those principles. If they’re not, and you’re still looking for that ad-free, friendly environment that you miss from the earlier internet… there’s always the comfort of Dreamwidth.

Creating Sculptures of the World with Computers and Math

Posted in default on September 18th, 2014 at 22:12:35

The world around us is a complex place. Sometimes you just want to hold a tiny piece of it in your hand — and with some relatively low cost technological investment, you can do so. Using a $500 quadcopter, I have successfully captured images of a building, converted those images to a 3D model, and 3D printed that model — creating a small model of Cambridge City Hall that I can hold in my hand. The process requires no special skills — just some financial investment and time.

IMG_20140914_203339

In March of this year, I purchased a Phantom FC40, a $500 everything-you-need quadcopter. This device is easy to fly, comes with a built-in GPS, on-board camera (with a mount for a GoPro), and a remote — everything you need to start doing some amateur aerial photography. (You can see some of my videos in the FC40 Videos and One Minute Onboard to see some of the aerial photography I’ve done.)

P3214334

Capturing Photos

With quadcopter in hand, this weekend, I ventured to Cambridge City Hall. While there, despite the gusty winds, I captured approximately 20 minutes of video, attempting to film the building from as many angles as possible.[1] I was using the GoPro Hero 3+ Black I recently got, but for the purposes of this excercise, the FC40 camera would probably have been sufficient. I shot most footage in Narrow or Medium mode, to reduce the fisheye effect of the very wide angle GoPro lens; for the one section of video I shot in wide-angle, I removed the wide angle aspect using GoPro Studio before using the video.

Once I had the videos, I reviewed them, doing manual frame-grabs from the video to get coverage. On average, I took one shot for about every two seconds of usable video. (Usable video excludes video where the quadcopter is taking off, where it is facing the wrong direction, where it is flying to get to a different part of the building, where it is occluded by trees, etc.) Another option would be to simply use a program like ffmpeg to extract one frame every second:

ffmpeg -i ~/Documents/input-movie.mp4 -r 1 -f image2 ~/output/project%03d.jpg

The reasons not to do this are:

  • When flying the quadcopter, some portions (even in a sub-second window) are better than others. Motion blur is a non-trivial problem, even with 60fps capture rates; targeting manual screengrabs at slower motion, or during a more steady period makes a small but noticable difference.
  • Many of the shots were in the exact same coverage — largely due to the available landing space being all in front of the building. This means that extracting regular shots would have extracted many very very similar images, which would have increased processing time without noticably increasing quality of results.

Instead, I simply opened each video in VLC, and snapshotted the images that seemed to improve coverage of the building. (Option-Command-S on Mac; in the Video menu.)

Photo from City Hall Shoot Photo from City Hall Shoot Photo from City Hall Shoot Photo from City Hall Shoot Photo from City Hall Shoot

Building the Model

Once done with this, I loaded the images into a program called PhotoScan, the workhorse of this operation.

PhotoScan is an amazing tool. I say this, having tried a number of other tools — including commercial products like Autodesk’s 123d Catch and open source tools like VisualSFM. Nothing combined the ease of use and functional output of PhotoScan by a long shot. I’m currently using PhotoScan in 30 day trial mode, but despite the relatively steep price tag ($179 for single-user ’standard’ license) for what is only a hobby, I’m pretty well convinced I’m going to have to buy it, because the results are simply amazing.

With my 328 photos in hand, I added them to a chunk of a PhotoScan workspace, and set up a Batch Process (Workflow -> Batch Process).

Workflow

  1. Job Type: Align Photos. Change Point Limit to 5000, due to relatively small image size (1920 x 1080); further experiments show that this number ends up creating a better model than either 10000 or 20000 points, in a significantly shorter time window.)
  2. Job Type: Build Dense Cloud.
  3. Job Type: Build Mesh. Ensure that the Source Data is “Dense Cloud”.
  4. Job Type: Build Texture

Kicking off the build for these 328 photos uses all of the CPU on my laptop for approximately 1 hour. The majority of this time is spent matching photos via the “Align Photos” step. (An attempt with 20000 points took about 4 hours instead of just one.)

Setting up workflow

This produces a textured model, fully visible in 3D. In this particular case, anything other than City Hall is pretty … ‘melty’, as I like to call it, since it was only captured incidental to the primary flight objective (city hall itself). From here, you can save the model as a .obj file to use in your favorite 3d program. You can also share it via the web: once exported as a .obj, you can zip the resulting files (including the texture) up, and share for free on Sketchfab: Cambridge City Hall on Sketchfab.

Photoscan assembledPhotoscan assembled Photoscan assembledPhotoscan Assembled

My final goal is a physical version of the centerpiece of this model: City Hall. To achieve this, my next step is Meshlab. Meshlab can open the “Wavefront Object (.obj)” file I saved from Photoscan without a problem. Using the “Select Vertices” tool and the “Delete Vertices” tools, I am able to remove the extraneous parts of the model, leaving behind only City Hall itself. Using the “Export Mesh As” functionality, I can export this as a .stl file — the file format that my 3D printer uses.[2]

Trimming City Hall Trimmed City Hall

Printing the Model - aka ‘hacking it to work’

The next step is to load up the STL file. Since I don’t actually know how to rotate my model, I’ll load it into Repetier-Host, so I can do rotation in my plating process. Playing around with the angles, I take my STL file, and find that a rotation of 204 degrees in the X direction, -5 degrees in the Y direction, and -15 in the Z direction appears to give me a reasonably sane looking model. However, it’s still floating a bit above the bottom, thanks to a small portion of the model that is particularly warped due to low photo coverage. I choose to slice the model anyway, using Slic3r to generate gcode.

3d Printing: Plating

As expected, the model has generated some pretty bogus first couple layers. However, judicious use of copy paste can help me: Using the Repetier jump-to-layer buttons, I remove the first 3 layers of the model, then duplicate the g-code for the 5th layer (The first ‘real’ layer with more than a few spots of actual content), replacing the Z index with the correct height for the first, second, third, and fourth layers.

3d Printing Layers

With these relatively minor modifications made, my model is ready to print; I copy it to my SD card, and send it off to the printer. An hour or so later, I have a 3D sculpture that matches my model pretty well.

IMG_20140914_203339

IMG_20140914_203015 IMG_20140914_202925 IMG_20140914_202855

[1] This can be a challenge in an area where your building is occluded by many trees; shooting shots from the ground can help with this, but I didn’t do any of this for this particular project.
[2] The model that I produce from Meshlab is frankly pretty crappy. A lot of people with experience in this space could probably trivially improve on what I’ve got; I just don’t know much about 3D Model work. Whenvever I open blender, I start with a cube, and end up with something that looks more like a many-tentacled one of Lovecraft’s imagining than reality. As such, the 3d printing process can be a bit … fraught.

GoPro: Upgrade Complete

Posted in Photography on July 28th, 2014 at 22:52:04

In May, I said my next upgrade would be a GoPro. Last week, I confirmed that, as I bought a GoPro Hero 3+ Black. (Thanks to my employer, I even got a 40% discount.) For the first few days, I played with it — did a sunset timelapse, and contributed to the internet cat database by adding pictures of the kitties in a charming 2.7k video. (2.7k probably only available in Flash or Chrome.)

But in part, my reaction was “Enh. What did I think I needed this for?” After all, I already had a camera for my quadcopter (in the form of the A5-powered FC40 camera); I had a DSLR (which can shoot great 720p videos); I had my phone, which could do decent 1080p video, and I always had on me. Why exactly did I need *another* camera?

Today, I finally took the GoPro up on the Phantom, and that particular concern is no longer.

I was recording video, so I didn’t get any particularly high res stills — but that wasn’t really a concern. Shooting 1080p video, I was able to get great shots of both the storm clouds looking out west of town:

And another photo looking East towards Boston.

The colors, the clarity, the overall picture and video quality … this is what I kept seeing in everyone else’s photos, even though I wasn’t getting it in mind. I always wondered if the problem was just my tools… and now I know. As with everything, the user makes a difference… but the tools certainly help.


http://www.ilikeherb.com