動画AIの空に謎の物体が出たら|まず元の絵を拡大する・静止画で隠さず「飛び去った後のコマ」で消す方法

動画AIの空に謎の物体が出たら|まず元の絵を拡大する・静止画で隠さず「飛び去った後のコマ」で消す方法

結論:動画AIの映像に、頼んでいない物が映ったら、まず元の絵(静止画)を拡大します。うちの場合は、元の絵に最初から小さく描かれていました。消すときは静止画で被せず、同じ動画の「物が通り過ぎた後のコマ」から背景を作って被せます。

うちでは、画像AI(Midjourney)で描いた絵を、動画AI(Kling)で少しだけ動かして、作業用の動画を作っています。ある日、できた動画を見た社長から「左上に謎の物体が飛来してたので、静止画で隠してください」と頼まれました。

この記事では、犯人の見つけ方と、静止画で隠さなかった理由、実際に使った消し方を置いておきます。

目次

何が起きたか:空の左上を、何かが横切った

動画の空の左上を、飛行船のような小さな物体がゆっくり横切っていました。動画AIに頼んだのは、景色を少しだけ動かすことです。

動画AIで動かした空の再現。左上を小さな物体が横切る
動画AIで動かした空の再現。左上を小さな物体が横切る

最初は、動画AIが勝手に何かを足したのだと思いました。

犯人の見つけ方:元の絵を拡大する

念のため、動画の元にした静止画を、同じ場所で拡大しました。すると、同じ形の物体が、最初から小さく描いてありました。動画AIは、絵にある物を動かしただけでした。

元の絵(静止画)を拡大すると、同じ場所に小さな物体が最初から描いてあった。再現図
元の絵(静止画)を拡大すると、同じ場所に小さな物体が最初から描いてあった。再現図

画像AIの絵は、全体で見ると気づかない小さな物を描き込んでいることがあります。止まっている間は風景の一部に見えますが、動画AIが「空にある物」として動かすと、急に目立ちます。動画で何かが増えたように見えたら、まず元の絵を疑うのが近道でした。

静止画で隠さなかった理由:止まった物体が残る

社長の案は、その部分に静止画を被せて隠すことでした。ところが、元の絵にも物体が描いてあるので、元の絵から切り抜いて被せると、今度は止まった物体が空に残ります。動いていた物が止まるだけで、消えません。

左=静止画で被せると止まった物体が残る。右=飛び去った後の空を被せる。再現図
左=静止画で被せると止まった物体が残る。右=飛び去った後の空を被せる。再現図

消し方:同じ動画の「飛び去った後のコマ」から空を作る

物体は横切っていたので、動画の後半には、物体のいない空が映っていました。そこで、物体が画面から消えた後のコマを何枚も集め、物体が通る四角の部分だけ、画素ごとの中央値で「何もない空」を作りました。それを全部のコマの同じ場所に被せます。

同じ動画の、物体が通り過ぎた後のコマを使うので、別の画像から背景を持ってくるより、位置や色合いを合わせやすくなります。ただし、雲や光の変化まで一致するわけではありません。

下のコードは、カメラが固定されていて、指定した四角の範囲に雲などの動く物がなく、物体が完全に通り過ぎた後のコマを使える場合の例です。コマの範囲(60〜118)や四角の位置は、実際の動画に合わせて決めます。

# 物体が通る四角だけ、「飛び去った後のコマ」の中央値で塗り替える(考え方の抜粋)
import numpy as np
# frames: 動画を1コマずつ読み込んだ配列のリスト(高さ×幅×3)
x0, y0, x1, y1 = 150, 90, 560, 160      # 物体が通る空の四角(動画を見て決める)
after = frames[60:118]                   # 物体が画面から消えた後のコマ
sky = np.median(np.stack([f[y0:y1, x0:x1] for f in after]), axis=0).astype(frames[0].dtype)
for f in frames:
    f[y0:y1, x0:x1] = sky                # 全部のコマの同じ場所に被せる

実際の動画では、この四角の中の変化量が179から12まで減り、物体は見えなくなりました。サムネイルに使う元の絵からも、同じ物体を消しました。

注意点は1つです。被せた四角の中は、ずっと止まった空になります。雲や鳥など、動いていてほしい物が通る場所には四角をかけないこと。四角は、物体が通る所だけに小さく取ります。

同じ夜に気づいたこと:雲の「数」を書くと崩れることがある

同じ夜、別の動画の指示文に「四つの小さな雲」と書いていました。ところが、選んだ絵には雲が7つありました。数を書くと、元の絵と指示文が食い違うことがあります。動画AIが数に合わせようとして雲を崩すのを避けたかったので、数の指定を外し、「小さな白い雲が、形を保ったままゆっくり流れる」と、動き方を中心に書き直しました。

ここでも、先に元の絵をよく見ることが効きました。指示文は、絵に描いてある物と合っているかを確かめてから渡します。

チェックリスト

  • 動画に頼んでいない物が出たら、元の絵の同じ場所を拡大して見る
  • 元の絵に描いてあるなら、静止画で被せても止まった物が残る
  • 物が通り過ぎるなら、通り過ぎた後のコマから背景を作って被せる
  • 被せる四角は、動いてほしい物が通らない所に小さく取る
  • 元の絵と食い違う数の指定は避け、動き方を具体的に書く

まとめ

  • 動画AIの「謎の物体」は、元の絵に最初から描いてあることがある
  • 静止画で隠すと、物体は止まって残る
  • 直す材料は、同じ動画の別の時刻のコマにあった
  • 動画AIは、絵にある物を動かしただけ。疑う順番は、元の絵が先

画像AIの絵が「正しいのに伝わらない」話は、画像AIのお菓子が「何か分からない」ときの直し方で書いています。今回の件は、うちのYouTubeでもShortsにしています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

AIを「部下」として毎日の実務に使っている運営者です。ブログ・note・YouTubeの制作から、音楽や動画の制作、データの集計まで、ほとんどの作業をAIと分担しています。
AIに任せてうまくいったこと、間違えたことを、実際の画面と数字つきで記録しています。
運営者情報はこちら

目次