オンライン/オンサイトのハイブリッド会場で開催されたPyCon JP 2021に、Hirosaji(エンジニア名義)とひろさじ(絵師名義)のハイブリッド名義で登壇してきました。
PyCon JP 2019 で登壇して以来、PyConには二回目の登壇です。これまでの登壇史上、最高の登壇体験でした。
今回は、登壇内容のまとめや印象に残ったセッションを、雑感を含めてまとめました。
イベント概要
- 概要:日本最大級のPythonユーザカンファレンス
- 日時:2021年10月15日(土)~ 2021年10月16日(日)
- 会場:オンライン(ZOOM + Discord)/オンサイト(ベルサール神田)
- 公式 HP:https://2021.pycon.jp/
登壇内容
絵を読む技術 Pythonによるイラスト解析(Hirosaji / ひろさじ, 30min)
一言で言うと、「イラストで絵師が伝えたいことを、イラストの技法書を横断して体系化して、気づいたらPythonで検出・分析できるようになったよ!」という構成の内容です。
もう少し詳しめの構成は、次の前編/後編のまとめスライドの通りです。


また、紹介したPythonスクリプトの趣旨と要素技術は次の通りです。
- 顕著性マップ with OpenCV で焦点「他と違う領域」を検出
- Class Activation Map with tf-keras-vis で焦点「見慣れたモノ」を検出
- k-means with Pillow でシェイプを抽出
- OpenPose でラインを抽出
- Google Books APIs でシェイプを半自動生成
他にも、いくつかのデモをGoogle Colabにて共有しています。
詳しくは、スライド資料か動画アーカイブをご覧ください。
Ask The Speakerでの質問と回答
発表中は想像以上にDiscordでのコメントが多く、発表直後30分間のAsk the Speakerでも10人以上の方々が残ってくださって、さまざまな観点で議論や意見交換ができました。
その際にあがった質問と私の回答を、次にまとめました。一部、実際に話した内容に追記があります。
今後の取り組み、どこまでやっていく想定?
まずは自分の絵師としての価値を高めたい。そしてPythonで実装できそうなスキームを見つけ次第、実装していく。どこまでやるかは未定。イラストを描くときのこだわりは?
可愛い女の子を描くこと。並行して、イラストの目的に対して客観的な印象を与えられるよう、常にイラストの上に載せる情報設計を大事にしたい。絵師として、抽象的な描写からイラストや絵画を起こすようなAI(Autodrawなど)はどう活用していけると思う?
絵は、文化や時代によって、流行り廃りがある。そして常に創造性を持っているのは絵師、クリエーター側であると思っている。絵師はアーリーアダプターの立場で、AIに学習させるイラストを創造して、AIに一般化・量産化を任せる形が理想的だと思う。イラスト支援や分析の研究活動しているコミュニティーってある?
まさにこれと言えるコミュニティーは無さそう。Vtuberやキャラクター3Dモデルの研究をしている機関(GREE VR Studio Labなど)が近いかも。個人的に好きなのは、コイ◯ツのDiscordコミュニティー。イラストの初仕事はどう受けた?
友人からの直接の依頼。一般的にはSkebやSKIMA、ココナラなどで自分から営業するスタイルが多いが、私の初仕事は知り合いのツテだった。里親に貰われやすい動物の写真を推定(生成?)するコンペがあって、可愛さを推定したい。どうすればいい?
感情の推定は、機械的には難しそう。地道に官能評価実験をして、アノテーションを作るのが確実。っという月並みな回答しかできず申し訳ない...。絵の上での視線の動きは、OpenPoseのデモで抽出していたラインを辿る動きになる?
概ね視線はラインを辿る動きになるが、別の強力な焦点があると、そちらに視線が引き寄せられる。特にイラストでは、複数の焦点を作って視線を回遊させる戦略が取られることが多いため、ラインの効果は薄いかも。
ただ、今回の例で言えば、デモで紹介したイラストはパースが、ガラテアの勝利は周りの人物のラインがいわゆる集中線を作り出していた。そのため、焦点となっていた人物の顔に釘付けになる、という効果が期待できた。プレゼン資料作成時に意識していることは?参考資料はある?
意識しているのは視聴者の気持ち。資料を作る際は、初めから詳細な構成を決めず、簡単な目次だけ作って、半ば無計画に資料を作るようにしている。定期的に視聴者の気持ちになって、次に聞きたいと思われそうな内容を追加していくスタイル。
参考資料は無いが、強いていうならTEDや中田敦彦のYouTube大学などを参考にしている。
発表後の反響
発表後しばらくして、発表資料が(多分)初めてホットエントリに載りました。

SNSでの反響もありました。同好の士も多かったようで、彼らと繋がれたことは、今回の最も大きな収穫です。
また、公開したコードを使って「自分のイラストの分析をしてみた」という声もいくつか上がっています。
自分のイラストの客観的評価を知りたい、という需要は意外と多いようで、そういった趣旨のサービスも求められているのかもしれません。
解説しきれなかった内容
発表時間の関係で、カメラやライディング、キャラクターの表情やポーズによる演出をカバーできなかったのが、少し悔やまれます。

どれもイラストを楽しむための強力な知識なので、何かの機会で解説したいですね。
印象に残ったセッション
続いて、視聴した中で印象に残ったセッションについて、感想をまとめました。
基調講演: 谷合 廣紀氏
スライド資料: Dropbox - taniai_PyConJP2021_v2_share.pptx - Simplify your life
棋士の谷合さんによる基調講演。講演中に「無かったから作ってみた」を連発する生粋のエンジニア精神を持った方でした。総称すると、ML系スーパー棋士エンジニア。
棋士と将棋AIの関係について、いまやAIは棋士の良きパートナーだ、という向き合い方を体現されているのが印象的でした。棋士としてもエンジニアとしても高みを目指す姿勢には、畏敬の念を抱かずにいられなかったです。
エンジニアが異業種とコラボすることはよくありますが、異業種の人がエンジニアの第一線に参入するパターン、これから増えていくんですかね。...負けられんですね。
他人が書いたコードのリファレンスをSphinxで作る方法(Takeshi Sugiyama)
登場人物のSさん(仮名)が気の毒すぎて、視聴者の誰もがSさんを応援する気持ちになった、一体感に包まれたセッションでした。
私自身も、仕事で似た境遇に少し前からいるので、すごく勇気をもらいました。構成のわかりやすさも相まって、視聴中は没入感が凄かったです。ただ、私の場合はPythonの無いインフラ周りの環境なので、今回のセッションを少し抽象化して参考にしたいと思います。本当に、このセッションに出会えて良かった...。
Python x DDD!! - Python で学ぶ実践的なドメイン駆動設計とレイヤード・アーキテクチャ(iktakahiro)
DDD本に挫折した身として、このタイトルが放つ魅力に抗えなかったです。
設計思想は概念だけを学んでも、実務に落とし込まないとなかなか理解が深まりません。そんな初学者の悩みを解決する最初の一歩となる資料に、やっと出会えた感がありました。動画アーカイブを見ながら、最後の「これから学ぶかたへ」で紹介された本を片手に、再入門したい所存です。
あと、登壇者のiktakahiroさんがフットワークが軽い、かつ気さくな方で、Discordを盛り上げるムードメーカー的存在になってました。案の定、Ask the Speakerも大人気でした。
位置データもPythonで!!!(Hideyuki Ogawa)
普段JSで地理空間情報を扱っている身として、Pythonでも分析できるようになりたいと思って視聴しました。
セッションは、初学者が混乱しがちな座標系の計算をカバーした親切構成。実装事例も国勢調査に加えて、個人の行動・気象・衛星データといった実務と流行をおさえた題材で、すぐにでも趣味や仕事に応用できそうな内容でした。Githubでコードも公開されているので、これを参考にまずはGeoPandasを使いこなせるようになりたいな。
動画アーカイブ待ちのセッション
裏セッションや仕事の都合で、リアタイで観たかったけど観られなかったセッションがいくつかありました。
- Loggingモジュールではじめるログ出力入門(Toshifumi Tsutsumi)
- Pythonで始めるドキュメント・インテリジェンス入門(yag_ays)
- Visualize 3D scientific data in a Pythonic way like matplotlib(Tetsuo Koyama)
資料やDiscordの盛り上がりを見る限り、良セッションの予感しかしないので、動画アーカイブで早く観たい...。
あと、自分の発表準備で2日目のKeynoteをまだ観れていないので、これから観るのが楽しみです。
全体を通しての感想
オンライン参加のカンファレンスは移動が無いので、長時間いろんなセッションを見て回っても疲れないのが良いですね。
おかげで常にベストコンディションを保つことができて、気になっていたセッションの多くを休憩無しで視聴することができました。
また、登壇者の立場としても、発表中にリアルタイムで具体的なコメントが貰える喜びは、やはりリアル登壇にはない体験です。
「カンファレンスはやっぱりオンサイトで」という意見も多いですが、すみません、私はオンライン推しです!
とはいえ、オンライン環境の体制が実現できているのも、スタッフの皆さんの尽力があってこそです。感謝の念に堪えません。そして、可能であれば来年のPyCon JPもオンライン形式は続けて欲しいです。 Discordで気兼ねなくワイワイできたあの感じは、これまで参加したどのカンファレンスにもない楽しさでした...。
終わりに
まずは、ハイブリット開催という新たな挑戦を実現して準備・運用してくださったスタッフの皆さん、ありがとうございました。絶ッ対に大変だったと思いますが、間違いなく、今までにない新しい楽しさが今回のPyConにはありました。
また、PyConを支えてくださったスポンサーの皆さんも、ありがとうございました。資金面だけでなくスポンサーブースやLTも。参加者が色んな選択肢を自由に選んで楽しめたのも、スポンサーの方々の支えがあってこそでした。
そして、発表を観てくださった皆さんも、ありがとうございました。絵師という別のドメインの発表内容も温かく受け入れて下さり、DiscordやSNSで盛り上げていただいて、Ask the Speakerでも多くの方と時間いっぱい交流できて、最高の登壇体験になりました。

最後に、PyConを盛り上げてくださった皆さんにも感謝です。
皆さんとともにPyCon JP 2021に参加できてよかった。来年もまた、一緒にPyConを盛り上げましょう!
追記
PyCon JP 2022にて、続編を発表しました!