
「ああ、それはアート版の Shazam みたいなものなの?」と、私が最新のプロジェクトについて 2 分ほど説明した後、友人が尋ねました。
それは、芸術愛好家がどのアーティストが絵画を描いたかを識別するのに役立つプラットフォームであり、彼女はそれを「芸術版の Shazam のようなもの」という 5 つの単語で説明しました。
この記事では、私がこのプロジェクトを開始した理由と、最初のバージョンをどのように構築したかについて説明します。
私は生涯ずっと芸術を愛してきました。
私は何年も芸術運動を研究し、自分の作品を制作して展示し、アーティストやギャラリーの周りを歩き回ってきました。時間が経つにつれて、特にアフリカのアーティストであれば、どのアーティストが絵画を描いたかを(高い精度で)推測する能力が身につきました。
2022 年の AI ルネッサンスに触発され、コンピューターをトレーニングして同じことを達成できるかどうか試してみるのは楽しいだろうと思い、小さな個人プロジェクトを始めました。
作業を進めるうちに、もっと大きな問題があることにすぐに気づきました。アフリカ美術の知識の記録、認識、共有に関する問題です。たとえば、アフリカの巨匠の絵画をオンラインで見つけるのは困難です。それらを見つけるには、古い美術の教科書や個人のコレクションを調べる必要があります。世界が完全にデジタル化されるにつれて、これらの作品の多くが歴史の中に埋もれてしまうのではないかと心配になりました。
この課題を経験したことで、私はこのプロジェクトを公開し、アフリカの芸術と芸術家に関する知識をデジタルで保存し共有することにまで拡大することを決意しました。
アフリカの芸術に焦点を当てたのは、他に誰もやらないだろうとわかっていたからです。でも、やらなければならないことだったので、私から始めなければなりませんでした。
プラットフォームの使い方は簡単です。
絵画の写真をアップロードするか、利用可能なサンプル画像のいずれかを選択します。
プラットフォームは画像を処理し、アップロードされたアートワークと最も類似したアートスタイルを持つアーティストを識別し、アップロードされた写真がアーティストのアートスタイルにどの程度類似しているかに基づいて各アーティストの信頼スコアを作成し、信頼スコアが最も高いアーティストを選択します。
アーティストに関する情報が以下の形式で表示されます。
信頼スコアは、その予測に至った経緯を示し、提供された結果をどのように使用するかを決定できるようにするために公開されます。
フィードバック セクション (賛成または反対) もあるので、プロジェクトに貢献してモデルの改善に協力できます。
これはプラットフォームの仕組みを簡略化した説明です。以下は、プラットフォームの構築方法に関する詳細情報です (専門用語はできるだけ使用しません)。
これは私にとって初めての ML プロジェクトではなかったので、トレーニング データに価値があることはわかっていました。良い結果を得るためには、モデルに十分な高品質のデータを見つけて準備する必要がありました。これは思ったよりも困難であることがわかりました。
私はトレーニング データの収集と分類を始めましたが、すぐに時間がかかることに気づいたので、妹と 2 人のインターンに数か月間一緒に取り組んでもらいました。(彼らには仕事の対価として報酬が支払われました)
次のステップは、データのクリーニングと標準化でした。
大変な作業でしたが、これを正しく行うことでモデルのパフォーマンスが向上します。
データ準備プロセスが完了したら、使いやすくし、精度を確認するために、データをトレーニング データとテスト データ (コントロール) に分割しました。
モデルを考えるとき、2つの選択肢がありました。
オープンソースの基盤モデルに基づいて構築するか、GCP の AutoML などのクラウドベースの独自モデルに依存します。
私は両方のアプローチを試しましたが、当初このプロジェクトは概念実証を目的としていたため、コスト管理が私にとって考慮すべき最大の要素でした。
最終的に、オープンソースの基盤モデルであるEfficientNet を使用することにしました。これは無料で使用でき、データ内の特徴を識別するのに優れており、実行に多くのコンピューティングを必要とせず、展開の柔軟性を提供し、過去に使用したことがあります。
私は EfficientNet の Tensorflow 実装を見つけ、それをモデルのバックボーンとして使用しました。Keras をサポートしていたため、複雑さの管理にも役立ちました。
非常に効率的だったので、16GB の RAM を搭載した Macbook M1 Pro でテスト バージョンをトレーニングすることができました (ただし、ラップトップが時々フリーズするという問題がありました)。
内部的には、モデルは写真を処理して筆使い、配色、構成などの主要な特徴を識別し、重要な部分を残すために情報を凝縮します。この情報を使用して、新たに提供された絵画の写真とトレーニング データ間の類似点を識別します。
さまざまなエポック値と早期停止を試して、何が最も効果的かを調べ、最終的に興味深いメトリックにたどり着きました。
発売に十分な精度を得るために、さらに多くのアーティストを追加し、さまざまな値を試し続けました。
最終的な実装には 2 つのモデルが含まれました。1 つは絵画スタイルの認識用、もう 1 つは絵画の媒体の認識用です。
モデルをさらに改良し、最終的に API ラッパーを使用してデプロイするための支援を受けました。
モデルが分類されると、プラットフォームの残りの部分は簡単に構築できました。最終的な実装は次のようになりました。
プラットフォーム バックエンド/API : ロジックを処理し、実際のモデルへのリクエストを効率的にルーティングするために、Laravel を使用してバックエンド/API を構築しました。このレイヤーは、すべての画像処理、保存、検証、アーティスト情報、リクエストのトリアージ、つまりモデルに送信されるリクエストの制御を処理します。
フロントエンド: フロントエンドは React で構築されました。私はフロントエンドのコードを書くのがあまり好きではないので、この部分の構築は手伝ってもらいました。基本的には、バックエンドに送信される情報とユーザー リクエストの表示を制御します。
サーバー/ホスティング:アプリケーション全体を Heroku でホストしました (モデルを含む)。Heroku を選んだのは、管理可能なコストで多くの既成のサービスとサポートを利用できるからです。データの収集、モデルのトレーニング、コア プラットフォームの構築に数か月を費やした後、これ以上の作業はしたくありませんでした。ただ、すぐに公開したかったのです。
私は公開されているデータのみを使用してモデルをトレーニングしました。
プロジェクトを進めていく中で、さまざまなアーティストにプロジェクトに関して問題がないか確認しましたが、反対意見はありませんでした。ただし、プロジェクトに参加させたアーティストのうち、参加を希望しないアーティストがいたら、お知らせください。すぐに対応します。
教育、芸術の発見、観光、商取引など、この技術の活用事例は数多くあると思います。また、アーティスト ディレクトリ、Web ベースのアート ゲーム、アーティストの推薦など、私が考えている機能もいくつかあります。
私の計画は、プロジェクトを継続的に改善し、アーティスト、業界関係者、アート愛好家が次に何を望んでいるかを学ぶことです。
このプロジェクトを始められて本当によかったと思っています。一方では、私が情熱を注いでいる 2 つのこと (アート + テクノロジー) を組み合わせるユニークな機会が与えられ、他方では、さまざまな問題について創造的に考えるよう促され、挑戦することができました。また、アフリカのアートの発展と保存に積極的に貢献しているように感じ、とてもうれしく思っています。
プロジェクトリンク(ベータ版) : https://beta.whomadethisartwork.com/
注: ベータ版は 100 人のアフリカ人アーティストに限定されていますが、近々さらにアーティストを追加する予定です。
デモ:
この記事を楽しく読んでいただけたなら、それは私が「滑りやすい坂道」というライティングテクニックを使って、楽しく読めるようにしたからです。これは、多くの優れた作家やコピーライターが使っているテクニックです。このテクニックとその他多くのテクニックは、 CopyThatというコースで教えられており、あなたが必要とする唯一のライティングコースです。一番良い点は、完了するのにたった 10 日間しかかからないことです。10 日間で本当に優れたライターになれます。今すぐCopyThat にアクセスして、優れたライターになるための旅を始めましょう。