楽しいコンピュータビジョンの受託仕事
2021/10/09 takmin
自己紹介
自己紹介
3
http://visitlab.jp
株式会社ビジョン&ITラボ 代表取締役
皆川 卓也(みながわ たくや)
博士(工学)
• 「コンピュータビジョン勉強会@関東」主催
• 株式会社フューチャースタンダード 技術顧問
会社紹介
5
株式会社ビジョン&ITラボ
はコンピュータビジョンとAI
によって御社の「こまった」
を助ける会社です
ビジョン
技術の町医者
AIビジネスについて、気軽に相談できる
事業内容
1. R&Dコンサルティング
2. 受託研究/開発
3. 開発マネジメント
4. 開発コンサルティング
5. ビジネス化コンサルティング
7
本題
フリーランスを支える技術(テクニック)
9
 昔こんなブログを書きましたが、いまいちアクセス伸びず
 https://takmin.hatenablog.com/entry/2018/12/07/000100
フリーランスを支える技術(テクニック)
10
 昔こんなブログを書きましたが、いまいちアクセス伸びず
 https://takmin.hatenablog.com/entry/2018/12/07/000100
本発表の目的
11
 特にコンピュータビジョンに関する仕事を請け負う場合
の注意点や面白い点などを掘り下げて話します。
受託仕事の面白い点
12
 お客様と直接話すことで、コンピュータビ
ジョンにどんなニーズがあるのか知るこ
とが出来る。
 お客様の自分の仕事に対する直接の反
応を見ることができる。
 様々な分野を見ることが出来、時に想定
もしていなかったような仕事に挑戦する
ことが出来る。
弊社が仕事を請け負うプロセス
お客さんが「本当にやりたいこと」をヒアリング
 コンサルティングは絶対に必要なフェーズ
弊社が仕事を請け負うプロセス
お客さんが「本当にやりたいこと」をヒアリング
お客様の目的を達成する手段を検討する
 実現方法全体を考える
 全体のシステム構成
 CV技術は目的達成の1ピースに過ぎない
 ハードウェア、通信環境、モジュール間連携、UI、etc
 技術の制約をどのように回避するか
弊社が仕事を請け負うプロセス
お客さんが「本当にやりたいこと」をヒアリング
お客様の目的を達成する手段を検討する
開発仕様と範囲を決定する
 自分が開発する範囲(CV周り)を決める
 場合によっては開発全体のマネジメントも行う
弊社が仕事を請け負うプロセス
お客さんが「本当にやりたいこと」をヒアリング
お客様の目的を達成する手段を検討する
開発仕様と範囲を決定する
実装/試験
弊社が仕事を請け負うプロセス
お客さんが「本当にやりたいこと」をヒアリング
お客様の目的を達成する手段を検討する
開発仕様と範囲を決定する
実装/試験
お客さんが「本当にやりたいこと」
18
顧客の目的をしっかり押さえる
19
典型的な事例
顧客
顧客の目的をしっかり押さえる
20
典型的な事例
これディープ
ラーニング
いらないよ
な。。。
「Aを実現したいので、Bを作ってほしい」
21
 「それならCの技術の方が向いてますよ。」
 「それなら開発するより、他社から購入した方がコス
トも安い上に保守もききますよ。」
 「Bを使う環境が御社に整っていないので、まずはC
の技術から始めるのが良いと思います。」
 「Aを実現する手法はB以外にもいろいろあるので、
まずはサーベイしませんか?」
 「Bが本当にAに効果があるかわからないので、まず
は簡単なモデルで検証してみませんか?」
回答例:
22
お客様の背景と目的を理解し、
専門知識を用いて最適な提案
を行うことで、下請けからビジネ
スパートナーに昇格。
弊社が仕事を請け負うプロセス
お客さんが「本当にやりたいこと」をヒアリング
お客様の目的を達成する手段を検討する
開発仕様と範囲を決定する
実装/試験
見積もり提案書を作る
24
何をして、何をやらないかを明確にし、顧客と合意をとる
• 背景
• 目的
• 作業概要
• 作業範囲
• 前提/制約条件
• 納品予定物
• スケジュール(納品予定日)
• 見積金額
見積もり提案書を作る
25
何をして、何をやらないかを明確にし、顧客と合意をとる
• 背景
• 目的
• 作業概要
• 作業範囲
• 前提/制約条件
• 納品予定物
• スケジュール(納品予定日)
• 見積金額
お客様の目的
見積もり提案書を作る
26
何をして、何をやらないかを明確にし、顧客と合意をとる
• 背景
• 目的
• 作業概要
• 作業範囲
• 前提/制約条件
• 納品予定物
• スケジュール(納品予定日)
• 見積金額
この作業の目的
見積もり提案書を作る
27
何をして、何をやらないかを明確にし、顧客と合意をとる
• 背景
• 目的
• 作業概要
• 作業範囲
• 前提/制約条件
• 納品予定物
• スケジュール(納品予定日)
• 見積金額
この作業の全体像
見積もり提案書を作る
28
何をして、何をやらないかを明確にし、顧客と合意をとる
• 背景
• 目的
• 作業概要
• 作業範囲
• 前提/制約条件
• 納品予定物
• スケジュール(納品予定日)
• 見積金額
「何をやるか、やら
ないか」の詳細
(一番大事)
見積もり提案書を作る
29
何をして、何をやらないかを明確にし、顧客と合意をとる
• 背景
• 目的
• 作業概要
• 作業範囲
• 前提/制約条件
• 納品予定物
• スケジュール(納品予定日)
• 見積金額
リスクを洗い出して、それを
避けるための条件付け
(ex.瑕疵責任、精度保証、
権利、etc)
見積もり提案書を作る
30
何をして、何をやらないかを明確にし、顧客と合意をとる
• 背景
• 目的
• 作業概要
• 作業範囲
• 前提/制約条件
• 納品予定物
• スケジュール(納品予定日)
• 見積金額
ソースコード、ドキュメント等、
最終的に提出するもの
見積もり提案書を作る
31
何をして、何をやらないかを明確にし、顧客と合意をとる
• 背景
• 目的
• 作業概要
• 作業範囲
• 前提/制約条件
• 納品予定物
• スケジュール(納品予定日)
• 見積金額
いつどこまで作る?
いつ中間報告する?
見積もり提案書を作る
32
何をして、何をやらないかを明確にし、顧客と合意をとる
• 背景
• 目的
• 作業概要
• 作業範囲
• 前提/制約条件
• 納品予定物
• スケジュール(納品予定日)
• 見積金額
こちらから金額提示
見積もり提案書を作る
33
何をして、何をやらないかを明確にし、顧客と合意をとる
• 背景
• 目的
• 作業概要
• 作業範囲
• 前提/制約条件
• 納品予定物
• スケジュール(納品予定日)
• 見積金額
研究開発の受託に限らず、コンサルティ
ングやプロジェクトマネジメントの請負でも、
「範囲」を明確にすることは後のトラブル
を避ける上でとても重要!
見積もり提案書作成のメリット
34
 作業範囲について、言った/言わないのトラブルを避ける
 顧客の指示通り作業するのではなく、顧客の目的や状
況を踏まえて進め方や実現方法、金額などをこちらから
提案することで、顧客と対等な立場になる。
 一方で顧客が仕様を決めその指示通り作業を行うような仕事
は金額のたたき合いになる可能性がある。
 値引き要求や仕様変更に対して、この提案書が議論の
ベースになる。
 例えば値引き要求に対してはどの作業を削るかを提案すれ
ばよいし、作業開始後の仕様変更に対しては金額アップやス
ケジュール変更を要求しやすい。
コンピュータビジョンの受託開発
作ってみないとどれくらい精度が出る
かわからない
コンピュータビジョンの受託開発は難
しい!
品質についてどのように事前に合意
するか
コンピュータビジョンの受託開発
36
 品質についての合意の仕方で、3パターンの受注方法
成功報酬
型
受託開発
型
アジャイ
ル型
成功報酬型
37
手付金で開発を請け負い、事前に定義し
た精度/速度等の条件をクリアしたら、高
めの金額をいただく
 失敗のリスクを引き受ける
 対象となるデータセットをあらかじめ準備
し、評価方法と目標品質を事前に合意
受託開発型
38
実装するアルゴリズムが明確なとき
品質リスクが少ないとき、または顧客がリスク
を理解し、回避策を準備してくれている場合
 仕様通りのアルゴリズムを開発し、納品する
という、通常の受託開発プロセス
 瑕疵条件に、精度や速度の改善は含めない
アジャイル型
39
開発対象の不確定性が高いときに
 フェーズを短く区切り、目標設定、開発、検証作業を繰り
返す。
• 開発/検証内容
評価
結果が不十分
だった際の仮説
設定
開発/検証作業
開発/検証内容の
合意
Plan Do
Che
ck
Acti
on
弊社が仕事を請け負うプロセス
お客さんが「本当にやりたいこと」をヒアリング
お客様の目的を達成する手段を検討する
開発仕様と範囲を決定する
実装/試験
外注を使ったスキルアップ術
41
「コンピュータビジョン」といっても範囲が幅広い
顔認識
人/物体検出
&追跡
姿勢推定
3D点群処理
三次元復元
Visual SLAM
コンピュテーショナル
フォトグラフィ
一般物体認識
特定物体認識
42
スキルアップの課題
43
 特に深層学習ブームが来る前は、それ
こそ画像処理にかかわる仕事はなんで
も来た。
 依頼した仕事をこなしているだけでも、新
しいことを勉強しなければならず、勝手
にスキルがついていく。
 それでも一人ですべての分野をカバー
するのは不可能。
 ボッチなので誰にも相談できない。
44
お金を払って詳しい人
(=大学の先生)に
コンサルティングしてもらう
解決策
コンサルティングの依頼
45
 打合せ1時間ごとの金額という形で依頼
 副業禁止の人や近しい人の場合は、焼き肉や寿
司をおごるついでに聞くことも(もちろん経費)
 あらかじめお客様への見積もりにコンサル費
を含めておくことで懐は痛まない
 自分で一から調べるよりも、大まかな指針をも
らえるだけで学習効率や作業効率が向上
 顧客への提出物への最終チェックを依頼する
ことで、品質保証にもなる。
学生の皆さんへメッセージ
46
我々は大学の先生
に相談乗ってもらう
のにお金払ってるん
だよ!
もちろんCV以外にも使える
47
 システム開発で、苦手なところを外注
 外注先と相談しながら、開発仕様を決定
 手順書等のドキュメントを作ってもらい、
次からは自分でも同じ作業ができるよう
にしてもらう
 自分に対するレクチャーの時間も見積も
りに含めてもらう
まとめ
48
 顧客の目的を理解することで、ビジ
ネスパートナーになる。
 見積もり提案書を書くことで、何をし
て、何をしないかを明確にし、コミュ
ニケーションリスクを減らす。
 外注を上手に使ってスキルアップに
つなげる。

楽しいコンピュータビジョンの受託仕事