この独創的なアイデアに基づいて、あなたの多くはおそらく以前に見たことがあるでしょう:http: //rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/
別のアプローチを試してみたかったのです。
ターゲット画像があります。一度に1つの三角形を追加できるとしましょう。画像の類似性(適応度関数)を最大化するいくつかの三角形(または同点の場合は三角形)が存在します。考えられるすべての形や色を総当たり攻撃できれば、それを見つけることができます。しかし、それは法外に高価です。すべての三角形の検索は10次元空間です:x1, y1, x2, y2, x3, y3, r, g, b, a
。
シミュレーテッドアニーリングを使用したところ、かなり良い結果が得られました。しかし、私はこれをさらに改善できるかどうか疑問に思っています。一つの考えは、実際にターゲット画像と現在の画像の画像の違いを分析し、新しい三角形を配置するのに適した場所である可能性のある「ホットスポット」を探すことでした。
画像の類似性を最大化する最適な三角形(または他の形状)を見つけるために、どのアルゴリズムを使用しますか?
粗い詳細と細かい詳細を異なる方法で処理するために、アルゴリズムを変更する必要がありますか?より細かい画像の詳細を調整し始めるのに十分な時間実行させていません。実行時間が長くなるほど、新しい形状を追加することに「恥ずかしがり屋」になるようです...低いアルファ値(非常に透明な形状)を使用します。
ターゲット画像と再現画像(28個の三角形):
編集!私は新しい考えを持っていました。形状座標とアルファ値が指定されている場合、現在の画像とターゲット画像のピクセルを分析することにより、形状に最適なRGBカラーを計算できます。これにより、検索スペースから3次元が排除され、使用している色が常に最適であることがわかります。これを実装し、三角形の代わりに円を使用して別の実行を試みました。
300個の円と300個の三角形: