またまた、Forumねたです。
なぜYoloがこの大会で許可されているのか、誰か説明してくれませんか?
現在はAIソリューションを利用するのが普通になっていますよね。
AIカメラとかAIライブラリとか・・・
で、RoboCupJuniorの競技として、何は使用して良い、何は使用してはダメ・・・という線引きが非常に難しいように思います。
今回の話題も、AIソリューションの一つである YOLO を使用して良いか? という質問です。
2025/5/14 jeremy.desmond
The “training” that is required is no different than a HuskyLens… but I dont think the HuskyLens is allowed. Using pretrained CNN models is not allowed 5
With yolo there is no need to further elaborate on anything for development because Yolo is built on pretrained CNN models. Everything the huskylens and yolo does requires the use of their very own pre-trained models.
So why is yolo allowed if other pre-trained models like HuskeyLens are not?
「必要とされている“トレーニング”はHuskyLensと何ら変わりません……でも、HuskyLensは許可されていないと思います。“事前学習済みのCNNモデルの使用は禁止”とされています。
Yoloは事前学習済みのCNNモデルの上に構築されているため、開発にあたって特に説明を加える必要もありません。HuskyLensもYoloも、どちらもそれぞれ独自の事前学習済みモデルを使用しています。
それなら、なぜHuskyLensのような他の事前学習済みモデルは許可されていないのに、Yoloは許されているのでしょうか?
なぜ (RoboCupJuniorでの)YOLOの使用は許可されているのですか? という質問です。
自分たちで学習させたものではなく、他人が学習させたものは使用禁止なのに、なぜ YOLO は使用していいの? ということ。
で、この質問の中にあるリンクがこちら
YOLOによる物体検出は使用可能ですか?
この中で、当時の Rescue Committee が回答しているのが・・・
2023/6/12 Matej
Both Tesseract and EasyOCR are created with a purpose of letter recognitions and require bare minimum from the students (just importing the library) in order to detect visual victims. YOLO is just a specific improvement (in terms of comp. time) of conventional CNNs which are not only allowed, but also welcomed, as long as students can prove that the algorithm is their own work (meaning they are able to provide a dataset of testing and validation images they collected and used, and understanding of their NN architecture, especially if they use an existing one). In short, we DO NOT allow usage of CNNs pretrained for text/letter detection. However, we strongly encourage students to attempt these solution on their own.
TesseractやEasyOCRは文字認識を目的として作られており、視覚的な被災者(victims)を検出するために学生が行う作業は、ライブラリをインポートする程度の最小限のものです。一方、YOLOは従来のCNNに比べて計算時間の面で特化した改良であり、単なるCNNの一種です。CNN自体は、チームが自分で作成したアルゴリズムであることを証明できれば(つまり、自分で収集・使用したテストおよび検証用の画像データセットを提示し、ニューラルネットワークの構造を理解していることを示せれば)、使用が許可されているだけでなく、歓迎されています。
要するに、文字・テキスト認識に事前学習されたCNNの使用は許可していません。
ただし、チームが自分自身でこういった手法に挑戦することは、強く奨励しています。
いろいろな解釈があるかもしれませんが・・・
最後の方に書かれている、で事前学習されたAIソリューションは使用できない。(≒他人が学習させたものは使用できない。自分たちが学習されたものは使用可能)
ということでした。
「~でした」と書いたのは、昨今の Committee の回答は、過去の回答と同じかどうかわからないからです。
で・・・元の記事に戻って、今回の回答は
2025/5/20 Csaba
You’re right that YOLO is commonly used as a pre-trained model, and in that form, it’s indeed quite similar to something like the HuskyLens. You get a model that was trained beforehand, and you just feed it your own data to fine-tune it. That is against the rules, since the competition prohibits the use of pre-trained AI models.
However, YOLO can also be used as a framework. If you’re not using any pre-trained weights and instead build your own custom model from scratch and then train it with your dataset, then its use is compliant with the rules.
おっしゃる通り、YOLOは一般的に事前学習済みモデルとして使われることが多く、その形で使う場合は、たしかにHuskyLensのようなものと非常に似ています。あらかじめ学習されたモデルを使い、自分のデータを入力してファインチューニングする、というものです。これは規則に反します。というのも、このコンペティションでは事前学習済みのAIモデルの使用が禁止されているからです。
しかし、YOLOはフレームワークとしても利用可能です。もし、事前学習された重み(weights)を一切使用せず、自分でモデルを一から作成し、自分のデータセットで学習させるのであれば、その使用はルールに準拠していると見なされます。
この回答からわかるのは
・事前学習(他人が学習したもの)を使用するのはダメ
(たとえ、そのうえで自分たちが多少のチューニングをしたとしても)
・YOLOを単なるフレームワークとして使用して、(事前学習されたものを使用せず)自分たちでモデルを一から作成して、自分達で学習させるのであれば、使用可能
ということです。
うん、書かれていることは、ごくまとも、だと思います。
で、なんでこうな質問が出たのかと考えると・・・別の記事で、同じ Committee が、こう回答しています。
物体認識用の事前学習済みAIモデル
2025/4/2 Csaba
I would like to clarify my previous response. Fine-tuning a pre-trained model does not qualify as development, and therefore does not comply with the rules. However, if the team applies significant modifications to the pre-trained model before fine-tuning (chaning the model architecture, layers, loss function), it is considered compliant with the rules, since besides fine-tuning, you make developments on the model.
先ほどの回答について補足させてください。
事前学習済みモデルをファインチューニングするだけでは、それは「開発」とは見なされず、したがってルールには適合しません。
しかし、ファインチューニングを行う前に、モデルのアーキテクチャやレイヤー、損失関数(loss function)などに大幅な変更を加える場合は、ルールに適合していると見なされます。
なぜなら、その場合はファインチューニングに加えて、モデル自体にも開発的な取り組みを行っていると評価されるためです。
元の質問が「YOLOを使用して良いか?」なので、回答もYOLOの利用の可否についてです。
ここでも、事前学習済モデル(他人が学習させたもの)の使用はダメと言っています。(この主張は、一貫しているように思います。)
ただ・・・ここから・・・
事前学習済モデル(他人が学習させたもの)であっても、自分たちがファインチューニングする前に・・・モデルのアーキテクチャやレイヤー、損失関数などを「大幅に変更した場合」は、使用OK! と読めます。
この「大幅に変更した場合は使用OK」
逆に言うと「大幅でない変更の場合は使用不可」
この2つの違いの境界線がはっきりしませんよね・・・(笑)
結局、この「AIソリューションは使用して良いの、ダメなの問題」は、もやもやしたままなのでしょうか?