Hacker News new | ask | show | jobs
by encypruon 2600 days ago
This article got me thinking. Would it make sense to train a GAN to generate camouflage? With the generator generating textures for the objects you want to hide and the discriminator trying to spot them in scenes rendered with a differentiable renderer like "neural renderer" [1]? The 2D-to-3D style transfer examples almost look like camouflage already.

[1] http://hiroharu-kato.com/projects_en/neural_renderer.html

3 comments

You can buy civilian camouflage that takes actual photographs from the area you will be hunting in, replaces a range of greens in it with hunter's orange, and prints it on field-appropriate clothing. As long as you launder it correctly (no UV whiteners), it is near-perfect camouflage versus dichromat prey animals, while still standing out to the trichromat animals [with the guns].

If you skip the green-to-orange replacement step, it's already great military camouflage for the exact spot shown in the source photograph. So if you trained a GAN on many photographs from the same area, I imagine it could make camouflage that functions like a printable ghillie suit.

Then you could also take the output images, wrap them around a human model, pose the model randomly in front of a real terrain background, and penalize any camouflage image that cannot prevent an object classifier from detecting the camouflaged human model, in any pose, in front of any background image in the terrain corpus.

Though I'd expect that the more variety you have in the terrain image corpus, the less effective the camouflage is against the object classifier.

That is super interesting! Could you share the app/website for such a service?
I saw a flyer at an outdoor-activities retail store. I didn't take one, but they had samples set up in a little diorama-type display.

So I guess you could go to a Bass Pro Shop or Cabela's or Gander Mtn. (if yours is still open), and look near the hunting gear? I'm not sure that it made a viable business, but it sure looked cool when I saw it.

How good would this be for a 'general' solution to the problem?

Specifically, a good uniform must function across a wide variety of environments; see the USMC uniforms for a good example.

If we had 'active' camouflage that was updated on the fly, this might make some sense?

You do get what are effectively very large inkjet printers that can print patterns on materials - might be easier to "print" custom camouflage for a particular environment?
Repaint / reprint when deployment orders are received? How durable is the print, though? The current paint used on most vehicles is incredible stuff. You can't even mar it with a super-high pressure water cannon.

As for uniforms; I'm not sure any military regular with clout would be willing to do something as practical as custom uniforms based on deployment environment. Too much change, too much innovation.

Well, I wasn't being entirely serious - but did visit a place where they were printing cloth for use in furniture so it looked pretty heavyweight material.
That's way too custom to work for the current army supply and would require a different uniform for a single soldier as they get assigned and moved to different missions. The whole point of the new camo was to be relatively generic so a soldier could be issued one and keep it and also to issue everyone the same pattern.
Asked the other way around: Why should it result in less 'general' solutions compared to other methods?

Now that I thought about it some more, building a generator might be problematic because unless you want to hide toroids, there wont be a continuous mapping with reasonable amounts of distortion from the surface of the object in question to the 2D plane. That would mean that CNNs can't really be used.

I guess that should work. You could generate universal camo that way if you run the discriminator multiple times each round on the camouflage rendered on soldiers in different environments and either average the discriminator results (to get camo that's good on average) or pick the one from the environment where the discriminator performed best (to get camo that's never terrible). It might be interesting to see which of those two choices performs better.

Edit: on second thought, the maximum version is continious but not differentiable, so you would want the version taking averages.