sannさんの得意な言語がわかりませんが、例に挙げられている言語からWEB系エンジニアのようだ、と勝手に解釈しました。
プログラム側で画像や動画を認識して条件分岐させるのに最適なプログラム言語
どこまでプログラム側で裁かせたいか、によりますが、
最適の定義が、
自分の得意な言語でやりたい、仕事で使っている環境に合わせたい、
であれば、よほど特殊な言語でない限りなんでも良いと思います。
- mike2mike4さんが書いておられますように、WEBサービスを使う、であればHTTP(S)の通信ができれば何でもいけるかもしれませんし、自前でさばきたいのであれば、画像認識の移植版を使えばいいと思います。Tensorflowの移植の話は時々聞きます。
- Javascript版Tensorflow(Googleの深層学習フレームワーク)
- Java版Tensorflow(Googleの深層学習フレームワーク)
※これらは本流から外れたやり方なので、十分な数の事例や十分な量のテキストがない可能性が高いです。うまく動かない可能性やアップデートが止まっている可能性すらあります。ご注意ください。
最適の定義が、
(マシン語ではない)現実的な言語で(実現可能な中で)現実的に(キビキビ)最速で動いてくれる、
であれば(私には読み書きできませんが)C++と思います。最有力候補はDarknetでしょうか。YOLOをPythonで動かす事例が多いですが、(私にはわかりませんが)実際はPythonの裏でC++が頑張っている、と聞いております。
最適の定義が、
事前知識がなくてもとっつきやすい下地がすでにあって、先行事例も多くて、技術のアップデートがすぐにされている、
であれば、Pythonと思います。
- 要約すると、Pythonには”とっつきやすい(勝ち馬に乗れ!)”以外のメリットは少ないです。詳細が気になるようでしたら、以下を参照ください。
- 「調べた結果Pythonしか画像や動画の内容を認識できない」と思わせるに至った経緯は、次のような要素が揃っているから、と思います。Pyhtonには統計的・行列計算がほかの言語より楽にできて、GPU等が扱いやすくて、書き方の制約のために誰がどう書いても大体似たような書き方になるので読みやすいし覚える内容も少なくて済む、その結果としてプログラムのことに時間を割きたくない科学者らが集まっている(結果として技術の進展についていける言語)という特徴があります。そのためにPythonが注目されています。
- 動作速度に関してはC++など言語と比べてPythonは10-100倍くらい(文字通り比べ物にならないくらい)遅いと聞いております。早くするトリックもありますが、それでもC++等には到底及びません。
- 確かにPythonはC++等より遅いですが、恐らく深層学習を使った認識部分の速度はGPUを使うのであれば、(ボトルネックは言語ではなくGPUでの行列計算のはずなので)どの言語も大差はないものと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/09 16:09 編集
退会済みユーザー
2021/02/09 21:49 編集