AI_ML_DL’s diary

人工知能、機械学習、ディープラーニングの日記

Deepfake Detection Challenge - 6

Deepfake Detection Challenge - 6

Identify videos with facial or voice manipulations

 

*今日は、400の動画から、各10枚の静止画像を抽出し、fakeファイルとtrueファイルに名前を付けて投げ込む。

・それがうまくいけば、次に、この2種類の画像をCNNで分類できるかどうか、試してみる。

・ここまでが第一ステップとなる。

 

*trueの1つの動画から、trueの画像を30枚ごとに、10枚取り出す。

*fakeの1つの動画から、fakeの画像を30枚ごとに、10枚取り出す。

・note.nkmk.meの、「Python, OpenCVで動画ファイルからフレームを切り出して保存」を参考に、作業中である。

・サンプルコードはこんな感じである。(コピペ)

・難しいところは殆どなく、自分の目的に合わせやすそうである。

def save_frame_range(video_path, start_frame, stop_frame, step_frame,
                     dir_path, basename, ext='jpg'):
    cap = cv2.VideoCapture(video_path)

    if not cap.isOpened():
        return

    os.makedirs(dir_path, exist_ok=True)
    base_path = os.path.join(dir_path, basename)

    digit = len(str(int(cap.get(cv2.CAP_PROP_FRAME_COUNT))))

    for n in range(start_frame, stop_frame, step_frame):
        cap.set(cv2.CAP_PROP_POS_FRAMES, n)
        ret, frame = cap.read()
        if ret:
            cv2.imwrite('{}_{}.{}'.format(base_path, str(n).zfill(digit), ext), frame)
        else:
            return

save_frame_range('data/temp/sample_video.mp4',
                 200, 300, 10,
                 'data/temp/result_range', 'sample_video_img')

 

 

<雑談>

・基礎を勉強するために、画像処理に関する本を発注した。

・Hands-On Computer Vision with TensorFlow2: Leverage deep learning to create powerful image processing with TensorFlow 2.0 and Keras, P. Benjamin and A. Eliot

・内容はこんな感じで、じっくりコーディングに取り組んで、基礎固めをしたいと思っている。著者紹介によれば、著者らは実戦的で、実務経験豊富でかつ先端技術開発者でもあるということで、レベルが高そうで不安だが、楽しみでもある。

・Create your own neural networks from scratch

・Classify images with modern architectures including Inception and ResNet

・Detect and segment objects in images with YOLO, Mask R-CNN, and U-Net

・Tackle problems in developing self-driving cars and facial emotion recognition systems

・Boost your application's performance with transfer learning, GANs, and domain adaptation

・Use recurrent neural networks for video analysis

・Optimize and deploy your networks on mobile devices and in the browser

 

<雑談>

ググることは、簡単に知らなかったことを知ることができて非常にありがたい。

・しかし、検索キーワードが適切でなかったり、内容が込み入っていたりして、適切なサイトが見つからず、行き詰ることも多々ある。

OpenCVは、自分にわかりやすいものを見つけられず困っていたが、少しわかりやすいものがあった。

・note.nkmk.meというサイトである。誰が運営しているのか不明であり、正確性等に関しても責任を負うものではないと明記されている。

・良いところは、デフォルトでの印刷サイズが適切で、印刷画面内での宣伝が、比較的少ないことである。

・サンプルコードは、GitHubで公開されている。

 

つづく

 

f:id:AI_ML_DL:20200219073839p:plain

style=109 iteration=1

f:id:AI_ML_DL:20200219073933p:plain

style=109 iteration=20

f:id:AI_ML_DL:20200219074020p:plain

style=109 iteration=500