Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Node-REDとAutomatorでプライバシーマスク作成を自動化する

Kawazu
September 02, 2021
120

 Node-REDとAutomatorでプライバシーマスク作成を自動化する

Kawazu

September 02, 2021
Tweet

Transcript

  1. Node-REDとAutomatorで
    プライバシーマスク作成を
    自動化する
    河津正和

    View Slide

  2. 河津正和
    ● セーフィー株式会社所属
    ● バックエンドエンジニア/テクニカルディレクター
    ● 本業の他に個人でも仕事を受けてます
    ○ サービス立ち上げ系
    ○ 開発運用系
    ● LT主催のコミュニティをいくつか運営してます
    ○ Technical Director Meetup
    ○ CivicTechLT
    Twitter:@kawazu255_
    Qiita:kawazu255
    note:kawazu255

    View Slide

  3. こんなことありませんか??
    一般参加者の人を募って
    オンラインイベントを行う
    アーカイブをYouTubeに
    残したい!
    参加者の顔が映ってる・・
    ぼかしを入れたい!

    View Slide

  4. View Slide

  5. 動画内の人の顔に
    自動でぼかしを入れられる
    システム欲しい
    モチベーション

    View Slide

  6. 画像から人の顔を判別し
    ぼかしを入れる処理を
    ノーコードで作れるか試行錯誤した話
    今日お話しすること

    View Slide

  7. View Slide

  8. Macのため使用できず・・・
    (すみません)

    View Slide

  9. Automator

    View Slide

  10. Automatorとは?
    様々なワークフローを自動化して簡単に作業を効率化できる、Macの標準アプリケー
    ション

    View Slide

  11. Automatorレシピ例
    ● お気に入りのWebサイトから画像を探して自動的に特定のフォルダに保存
    ● Finderで特定フォルダの中にある大量のファイルの名前を一瞬で変更
    ● Wordファイルを瞬時にPDFファイルにする

    View Slide

  12. 特定のディレクトリに画像を格納
    画像にぼかしがかかる
    処理を作ってみる!

    View Slide

  13. フォルダアクション
    特定のフォルダに項目が追加されることで、処理が実行される

    View Slide

  14. 特定のフォルダに
    項目が追加されたら発火
    別のフォルダに
    ファイルコピー
    ブラー(ぼかし)処理を入れる

    View Slide

  15. Demo

    View Slide

  16. 人の顔は判別できない
    顔にのみぼかしを入れたい

    View Slide

  17. View Slide

  18. 処理フロー
    1. 特定のディレクトリに画像ファイルを置く
    2. Node-REDにて顔画像判定
    3. 顔座標をJSONファイル形式で特定のディレクトリに保存
    4. AutomatorがJSON設置を検知
    5. 顔部分のみにぼかし処理を入れて保存

    View Slide

  19. 処理フロー
    1. 特定のディレクトリに画像ファイルを置く
    2. Node-REDにて顔画像判定
    3. 顔座標をJSONファイル形式で特定のディレクトリに保存
    4. AutomatorがJSON設置を検知
    5. 顔部分のみにぼかし処理を入れて保存

    View Slide

  20. ※enebular editorを使いましょう

    View Slide

  21. ※enebular editorを使いましょう
    Watchノード
    特定のディレクトリに
    ファイルの追加があるか監視する

    View Slide

  22. ※enebular editorを使いましょう
    file inノード
    ファイルの読み込みを行う
    Watchノードと連携すれば、
    特定ディレクトリに追加された
    ファイルをそのまま読み込める

    View Slide

  23. ※enebular editorを使いましょう
    posenetノード
    顔のパーツの位置や骨格の位置(ボー
    ン)を取得できる
    node-red-contrib-tensorflow
    モジュールが必要
    参考
    :https://qiita.com/kazuhitoyokoi/ite
    ms/e4da2dc1c39c0a11569e

    View Slide

  24. ※enebular editorを使いましょう
    fileノード
    特定のディレクトリにファイル出力がで
    きるノード
    ここでは、posenetノードで解析された
    結果をJSON形式で保存する

    View Slide

  25. 処理フロー
    1. 特定のディレクトリに画像ファイルを置く
    2. Node-REDにて顔画像判定
    3. 顔座標をJSONファイル形式で特定のディレクトリに保存
    4. AutomatorがJSON設置を検知
    5. 顔部分のみにぼかし処理を入れて保存

    View Slide

  26. 特定のフォルダに
    JSONファイルが
    追加されたら発火
    JSONから
    ぼかし領域を割り出し
    ぼかし処理を入れる
    ※ここで全ノーコード方針を断念(くやしい)

    View Slide

  27. Demo

    View Slide

  28. ちなみに・・・
    ● node-red-contrib-image-toolsというノードで、Node-RED上で画像処理を行うこと
    ができる。
    ● 中身はJimpというライブラリを使用していて、ぼかし(blur)処理もある
    ● ただ、ノード追加時にエラーになってしまって未確認
    ○ ノードの追加が1件しかできない(OSX Big Sur)
    ● 上手くいけば、Node-REDで完結して、かつノーコードで顔認識&ぼかし処理までい
    けるかも

    View Slide

  29. やってみた感想
    ● 自動化したい処理に対してノーコードを組むには、いろんな調査や試行錯誤が必要
    ○ ノーコードを諦めざるを得なくなる場合も
    ● どのツールでど何ができて何ができないのかというのは、触ってみることでわかっ
    てくる
    ● 100%欲しかったものができなかったとしても、プロトタイプという位置付けにはなる
    ○ コードを書かなければいけない箇所がはっきりする
    ○ 業務でテスト導入して、そもそも使われる機能かを判断する

    View Slide