無料公開! コンピュータビジョンの基礎 2024年版
引用元:https://news.ycombinator.com/item?id=44281506
本からの引用だね。”On Research, Writing and Speaking”っていう本。「もはや賢さだけじゃなく、努力が大切。大学院では努力家が差をつける」って部分がすごく響いたよ。
同意!賢いだけじゃ通用しなくなる段階って誰にでもあるんだね。大学は範囲が決まってるけど、PhDは青天井で自分でやるべきことがたくさんある。ソフトスキルや人脈、自己管理もすごく重要なんだ。期待値も曖昧だし、頑張ってもリジェクトされることもある。PhDは本当に大変な時期だよ。
大学の3年生の時、めちゃくちゃ頑張ってるのに授業についていけない感じだったな。工学部で、入学平均点も高かったのに、難しすぎて2年生までに75%も辞めちゃったんだ。
PhDに必要な能力って、普通の大学工学部とは全然違うんだよね。大学は頭の良さと頑張りで乗り切れることが多いけど、大学院(PhD)はそれだけじゃなくて、研究コミュニティの空気を読むとか、人脈とか、そういう曖昧なスキルがすごく大事なんだ。
こういうPhDに関する話、大学院生の時に誰か教えてくれたら良かったのにって心から思うよ。成功する大学院生になる方法を学ぶのに、すごく時間がかかったんだ。正直、卒業してからやっと分かった感じだよ。
これからPhDを始める人(良い理由も悪い理由もあるけどね)には、これがすごく時間短縮になるはずだよ。
https://maxwellforbes.com/posts/your-paper-is-an-ad/
この分野の他のいい本だと、E.R. Daviesの「Computer Vision, Fifth Edition」もすごくいいよ。Academic Pressから出てる、ISBN-13は978-0128092842のやつね。
他の主要な本はSzeliskiの「Computer Vision 2nd Ed」で2022年のやつかな。
https://szeliski.org/Book/
Forsyth & Ponceもいいけど、ちょっと古くなってきたね。3Dなら今でもHartley & Zissermanの「Multiple View Geometry」が定番だよ。
この本が無料で手に入るなんて信じられない!著者さんや出版社さん、その他関わったみんなに感謝だよ!
機械学習とかコンピュータビジョン、ロボティクス分野って、教科書とか教材をオンラインで無料公開してくれるのが素晴らしいよね。他の分野だと高い本を買わなきゃいけないのと大違い。世界中の貧しい国の人たちも最高の教材にアクセスできるのは本当にすごいことだよ。
マジそれな、感謝!
ところでさ、これPDFでダウンロードできる方法見つけた?
やっぱ教材読むときはメモとか参考文献とか書き込めるのが超重要だと思うんだけど。
「この本を書くにあたって」のセクション、LLMが原稿の2/3に使われたって偶然にも匂わせてるよね。
たぶんLLMのおかげで書くことが増えたって言いたいんだろうけど、誤解のないように明確にした方がいいと思うな。
俺はそうは読まないな。
実際、ChatGPTは執筆を支援できた最初のものだし、この本の1/3以下しかChatGPTリリース後に書かれてないでしょ。
俺には、単にML/AI分野の重要な出来事をグラフにマークしただけに見えるけどね。
現場で働いてる誰か、このコンテンってまだ relevance(関連性)あるかコメントくれる?
ML、特にCVは(少なくとも外から見てると)この2年の発展で完全に disruption されたみたいに見えるんだけど。
超 relevant だよ。
最近の technique に本当に革命的なものはない。
全部これらの同じ foundation(基礎)に基づいてるんだ。
もっと古い本読むのだって良いと思う。
Hough transforms、canny edges、sift、Harris cornersとか、classic methodsに基づいた real で profitable なコンピュータ vision の application は山ほどある。
fundamental な理解なしに buzzwords を並べたり api を繋ぎ合わせたりするだけの hype boy vibe な coder じゃない、serious な professional に見られたいなら、これらには精通しとくべきだね。
今でも super relevant だよ。
academia 以外のコンピュータ vision のほとんどは、まだ古いものか、classical な computer vision algorithms に基づいてる。
最新の models と technique を使う機会ってそんなにないんだ。
だって、ほとんどの場合、そんなに relevant じゃなかったり、超 specific な case のためだけだったり、そもそもそんなに complex なもの必要なかったりするからね。
「classical」なコンピュータ vision を使って解決すべき問題はまだまだたくさんあるんだ。
特にGPU acceleration が簡単に使えない systems とかね。
俺は compute-restricted な platform で Simultaneous localization and mapping をやってる practitioner だから、Structure from Motion の章は絶対読むよ。
これ post してくれてありがとう!
この本を base にした Computer Vision の course ってある?
何か videos とか?
thx!
誰か Machine Vision の良い本おすすめしてくれる?
effective な machine vision、さらに computer vision の foundation は、適切な camera、optics、lighting の選択にあると思うんだ。
High-quality な images は essential だ。
だって poor input は poor output に繋がるからね。
hi、camera、optics、lighting が real に difference を生んだ use-case を1つか2つ挙げてもらえる?
Machine Visionって主に工場みたいな、かなり管理された狭い産業用途で使われるんだ。組み立てラインとか、鋼材の検査、材料のヒビ監視、モノの形やサイズ分類とかね。作業内容はすごくはっきり決まってて、ほぼ同じ条件で繰り返し高信頼性が求められるんだよ。
でも、”モバイルアプリのためにGPT4o vision API適当につなげてVCに売り込む”みたいな空間の外にも、いろいろあるんだ。
例えば、飛行機の検査や整備(Airbusには社内ツールを作るvisionエンジニアがいるけど、そんなの10億枚もデータセットないし)。あとは、ネズミみたいな動物や、ハエみたいな昆虫の3D motion captureとかね。これにはすごく正確なキャリブレーションと適切な光学系が必要。それか、多視点画像と体重測定を組み合わせて、農場で豚や牛の食肉量を推定するとかね。医療関係でも、細胞数カウント、美容整形のための顔の3D reconstruction、歯医者さんの応用とか、ChatGPTと画像でチャットしたり、猫か犬か分類したり、スマホ動画で人のBounding Box描いたりする以外のことが100万個もあるんだよ。
心のこもったコメントありがとう!マジで完全に同意だよ。
LLMとかDeep Learningみたいな流行りのトピックを追いかけるだけじゃなくて、キャリブレーションとか光学系、ライティングみたいな基礎をマスターすることの重要性を誰かが強調してくれるのは、すごく嬉しいな。あなたの例は、Machine Visionの奥深さといろんな分野があることを改めて思い出させてくれるよ。
あなたの皮肉っぽいコメントは、感情的知性が低くてコミュニケーション能力がイマイチなのを露呈してるね。皮肉は普段のおしゃべりならいいけど、プロの議論の場では不安感とか敬意の欠如を示すだけ。意味のある対話には全然貢献しないよ。
LLMを軽蔑してるのも同じくらい謎だよ。grammarとか話し方を良くするためにツールを使うなって本気で言ってるの? あなたのエンジニア視点に合わないから?皮肉なことに、Coding支援とかDebuggingとか他のタスクで、あなた自身の仕事もLLMベースのツールに助けられてる可能性高いのに。たとえ認めたくないとしてもね。
ちなみに、この返信もLLMで書いたけど? 使わない人なんているの?
”ほとんどの人が怒る”って、あなたは彼らの代理なの? それともただのあなたの個人的な想像? 変だと思うのは、私がMachine Visionについてあなたの考えに賛成して感謝したのに、なんで敵対的に返信してきたのかってこと。これって現実の生活でもこういう話し方なの?
LLMを使って文章コミュニケーションを改善することに”ほとんどの人が”腹を立てるなら、もしかしたら彼らはなんでそんな古い考えを持ってるのか、自分自身で反省するべきかもね。あるいは、返信してる人が英語のネイティブじゃない可能性を考えるとか。Hacker Newsみたいなプラットフォームって、英語ネイティブの人だけのためのものなの?
注意:上の文章はLLMによって書かれたものです。なのでビックリしないでくださいね—事前に知らせておきます。
俺はCodingで毎日LLMを使ってる。超便利だよ。でも、ここでリンクされてる本を読むとか、image formationとかlensesとかを理解することの代わりにはならない。多くの人は、こういうのが全部もう古くて、標準的なAPIをいくつか繋いで、LLMにjsonを繋ぎ合わせるように頼めば、それが今のコンピュータビジョンエンジニアの全てだと思ってるみたいなんだ。プロですら、自虐的にそう言うかもしれないけど、ちょっと話せば、vision language modelsにpromptする以上のたくさんの背景知識を持ってるのは明らかになるだろうね。
だから軽蔑してるわけじゃないんだ。単に、OpenAIの発表とかテックニュースとかFOMOなSNSインフルエンサーからしかコンピュータビジョンを知らない人たちの視野を広げようとしてるだけだよ。
適切なカメラ、光学系、ライティングが超重要な例を2つ挙げるね。
半導体ウェハ検査:キズとかエッジ欠けみたいなすごく小さな欠陥を見つけるには、高解像度カメラ、精密な光学系、特定のライティング(例えばdarkfield)が必要。これらで反射面にある欠陥を強調するんだ。選択を間違えると、重大な欠陥を簡単に見落としちゃう。
食品パッケージの品質管理:ラベルとか封とかパッケージにエラーがないか確認するには、適切なカメラとライティングにかかってる。例えば、偏光ライティングは光沢のある表面の反射を減らして、見落としがちな問題を見つけやすくしてくれるんだ。
マジメな生産現場の検査なら何でもそうだね。