vilion

3年後の目標や野望


自動運転の開発者になりたいです

近い将来、実用化されるであろうこの分野の将来性に着目いたしました。Udacity というオンラインスクールで自動運転のコースを修了。画像処理、AI、Sensor fusion などを Python と C++ で実装する技術を覚えました。今後、この技術を活かして自動運転ソフトウェアの開発に携わりたいです。

年収評価シート

2017年/1ヶ月以内

交通信号機判定および ROS による自動運転車制御機能の開発

【プロジェクトの目的】 自動運転車を ROS を用いて制御する機能の開発を行いました。また、自動運転車の前方に取り付けられたカメラから取り込まれた画像から、交通信号機の検出を行い、進行と停止のそれぞれの信号に従って自動車を動かすこともできるようになっています。 データとして「辿る地点(waypoints)」が与えられ、その途上に信号機があり、waypoints を辿りながら信号機に従って自動車の進行、停止を行います。 言語は Python が主で、一部が C++ になっています。 リポジトリです。 https://github.com/vilion/CarND-Capstone 自動運転車を実際に動かした動画です。 https://youtu.be/tU8lzPHHYy8 こちらはシミュレーター上で動かした物です。 https://www.youtube.com/watch?v=aon8s0keVyk 赤で止まり、青で進むという動きになっております。 【モジュール構成について】 モジュールは大きく3つに分けることができます。それぞれに ROS の Node が属しており、topic によってデータをやりとりしています。 ・信号機の判定機能 車載カメラの映像から信号機の有無、停止を判定する機能 ・Waypoint に速度を付加したデータを作成する機能 すべての Waypoint のデータと「信号が停止している」Waypoint を受け取り、信号を加味してそれぞれの Waypoint に速度を付加したデータを作成して発信する機能 ・車を制御(ステアリング、スロットル、ブレーキ)する機能 速度を付加された Waypoints と現在の位置から、今の速度と次の速度が算出される。 これらを受け取りスロットル、ブレーキと車の向きを算出する機能 これらが非同期にデータをやり取りをし、自動車を制御します。 【信号機判定 AI について】 モデルは tensorflow example の mobilenet を使用しています。軽量でありながら精度も十分に出ます。 こちらから graph をロードし、用意した画像データを学習させたモデルを使用します。 ただ、シミュレータに対しては Neuralnet は使用されておりません。シミュレータ自体の動作が重く、判定が間に合わないためです。深層学習ではなく、画素の色の数により判定しています。 【チームでの共同作業について】 5人で一つのチームとなって取り組む、という方式で進めました。 私の担当は車を制御する機能でした。 インド1名、カナダ1名、イギリス1名、アメリカ(アトランタ)1名、私というチームでした。 連絡は slack を用いて行いました。全員が時間帯もバラバラであり、このようにプロジェクトを進めるのは初めての経験でしたが、全員が話し合い、意見を交換し、無理無く進められるように気を配っていたこともあり、また AI チーム(リーダーのインドの方とアメリカの方)の尽力もあり、無事、Carla を走らせることができました。 【背景】 Udacity というオンラインラーニングスクールでの学習の一環で取り組んだ物です。 オンラインスクール「Udacity」のサイトです。 https://www.udacity.com/course/self-driving-car-engineer-nanodegree--nd013 なお、全てのコンテンツは英語での閲覧は可能ですが、日本語訳は提供されていません。 取得した全コースの修了証は以下です。 https://gyazo.com/10d20784acaa996da56da9df0c71c648

2017年/1ヶ月以内

画像内の自動車検出機能の開発

【プロジェクトの目的】 公道を走行中の一般自家用車の前方に取り付けられたカメラから取り込まれた映像を解析し、映像に映った車を検出する機能の開発を行いました。 言語は Python です。 リポジトリです。 https://github.com/vilion/CarND-Vehichle-Detection/blob/master/vehichle-tracking.ipynb 自動車を検出した動画です。 開始して8秒ほど経つと他の自動車が画面内に入ってきて、自動車を囲む青い矩形が表示されます。 https://www.youtube.com/watch?v=D90bRhODFMg&feature=youtu.be 【自動車検出のパイプライン】 自動車を検出するまでの流れは以下のようになっています。 ・大量の自動車の画像に対して HOG の特徴量を抽出しラベルづけをしたデータによって Support Vector Machine 分類器に学習させます。この際、RGB から YCrCb に変換したり、色相ごとの histgram にするなどの前処理も実施します。 その後、学習効率を上げるため、normalize を施します。 ・車載カメラの映像に対して window をずらしながら画面を走査し、得られた画像を分類器にかけて、自動車かどうかを検出します。 ・各セルが自動車と判定された回数を保存し、ホットスポットを特定することで自動車の矩形検出の精度を高めます。 上記を動画の各フレームごとに適用し、矩形を描画し上記の動画を得ました。 【背景】 Udacity というオンラインラーニングスクールでの学習の一環で取り組んだ物です。 プロジェクトのレビューを受け、評価基準をクリアの認定を受けています。以下、そのレビューです。 https://review.udacity.com/#!/reviews/461148/shared オンラインスクール「Udacity」のサイトです。 https://www.udacity.com/course/self-driving-car-engineer-nanodegree--nd013 なお、全てのコンテンツは英語での閲覧は可能ですが、日本語訳は提供されていません。 取得した全コースの修了証は以下です。 https://gyazo.com/10d20784acaa996da56da9df0c71c648

2017年/1ヶ月以内

車載カメラによる映像とステアリングを特徴量とした深層学習モデルによる自動運転機能の開発

【プロジェクトの目的】 ある決められた区間を自動で走る機能を、深層学習モデルを用いて開発いたしました。 言語は Python です。Neural net は Keras を用いて実装しました。 リポジトリです。 https://github.com/vilion/CarND-Behavioral-Cloning-P3 シミュレータ上で自動運転する車の動画です。 https://youtu.be/LPvfvYaQ0Xg ※ 車酔いにご注意ください 道路からはみ出ないように、走行しているのが見て取れるかと思います。決められた場所でのみですが、自動で走ることができます。 【データの説明】 コース上を車を手動で走らせて、前方車載カメラから各フレームごとの画像を取得、同時にステアリングとスロットルを記録します。 これにより画像に対してステアリングとスロットルをラベルとしたデータを大量に得ることができます。 コースを時計回りに一周したデータに加え、その画像とステアリングを反転させた拡張データ、コースを反時計回りに一周したデータ、道を横切り道の真ん中まで戻って再び道に沿って動いた際に取得したデータなど様々なデータを取得いたしました。 これらを normalize し、学習用のデータとしてモデルに入れました。 【モデルの説明】 Convolutional Neural Network の一種である NVIDIA model に似たモデル構成になっています。 数層の Convolutional layer と RELU および過学習防止のための dropout と Fully connect によって構成されています。 以下、モデルのパラメータ、loss function などを掲載します。 batch size ... 32 epoch ... 10 loss function ... mean squared error optimizer ... adam optimizer こちらのモデルを AWS 上の GPU で学習させ、シミュレータ上でモデルをロードして動かした物が上記の動画になります。 【背景】 Udacity というオンラインラーニングスクールでの学習の一環で取り組んだ物です。 プロジェクトのレビューを受け、評価基準をクリアの認定を受けています。以下、そのレビューです。 https://review.udacity.com/#!/reviews/427204/shared オンラインスクール「Udacity」のサイトです。 https://www.udacity.com/course/self-driving-car-engineer-nanodegree--nd013 なお、全てのコンテンツは英語での閲覧は可能ですが、日本語訳は提供されていません。 取得した全コースの修了証は以下です。 https://gyazo.com/10d20784acaa996da56da9df0c71c648

2017年/1ヶ月以内

センサーデータを用いた高精度リアルタイム位置推定機能開発

自動車の車載センサーから得られたリアルタイムデータから自動車自身の位置を推定する機能の開発を行いました。 言語は C++ です。 リポジトリです。 https://github.com/vilion/CarND-Kidnapped-Vehicle-Project シミュレータ上で自動車の位置を検出した様子を動画にとりました。 https://youtu.be/i4URy_RFmG8 動いている自動車を追随するように青い円が動いていますが、センサーデータから自動車の位置を推定した箇所に青い円を描画することで、位置推定を可視化しております。 【位置検出手法】 GPS による位置推定には数メートルの誤差があり、自動運転機能に必要な水準を満たしていません。 またセンサーのデータは各精度ごとの分散を持つガウス分布になっております。 このセンサーのデータから自己位置を推定いたします。今回は Particle filter を用いました。 位置推定の流れは以下のようになります。 1、GPS によって得られたおおよその位置から大量の位置候補をランダムに設定します。 2、それぞれの位置候補から測った、複数の Land mark への距離データと、センサーから得られた Land mark への距離データを用いて、センサーの分布に従った確率を得ます。すべての距離の確率を乗じて同時確率を得ます。 位置候補からの Land mark への距離とセンサーで得られた Land mark への距離の値が近いほどその位置候補に対応する確率が高くなります。 それらを normalize して、各位置の重みとします。 3、その重みごとに位置を採用するかどうか算出していきます。そうして、重みの小さい位置候補が取り除かれていきます。 この一連の過程を繰り返すと、最終定期に重みの大きい=より確率の高い位置が残ります。 このようにして、もっとも確からしい位置を算出します。 以上が Particle filter を用いた位置推定の実装になります。 【背景】 Udacity というオンラインラーニングスクールでの学習の一環で取り組んだ物です。 プロジェクトのレビューを受け、評価基準をクリアの認定を受けています。以下、そのレビューです。 https://review.udacity.com/#!/reviews/668550/shared オンラインスクール「Udacity」のサイトです。 https://www.udacity.com/course/self-driving-car-engineer-nanodegree--nd013 なお、全てのコンテンツは英語での閲覧は可能ですが、日本語訳は提供されていません。 取得した全コースの修了証は以下です。 https://gyazo.com/10d20784acaa996da56da9df0c71c648

2017年/1ヶ月以内

車線検出機能の開発

公道を走行中の一般自家用車の前方に取り付けられたカメラから取り込まれた映像を解析し、車線を検出する機能の開発を行いました。 言語は Python です。 リポジトリです。 https://github.com/vilion/CarND-Advanced-Lane-Lines/blob/master/CarND-Advanced-Lane-Lines.ipynb 車線を検出した動画です。 https://youtu.be/FgI0uKtzTv4 【車線検出のパイプライン】 車線を検出するまでの流れは以下のようになっています。 ・カメラによる映像の歪みを調整するため、あらかじめ撮影したチェスボードを用いて歪みを検出し Matrix と係数を取得しておく ・車線を縦に並行に並べることでより車線の検出をしやすくするため、鳥瞰視点からの画像を得られる行列を取得する。 ・彩度の抽出、sobel オペレータの適用などにより変換した画像などを OR 演算し、車線を検出する ・検出された画像を2値化し、下から走査して車線を検出する。一度、検出されたあとは、二次多項式の係数を算出し、曲線の近傍を走査することで演算負荷を軽減する。曲率の変化が大きい場合は再度、走査する。 上記を動画の各フレームごとに適用し、車線内に色をつけて、上記の動画を得ました。 【背景】 Udacity というオンラインラーニングスクールでの学習の一環で取り組んだ物です。 プロジェクトのレビューを受け、評価基準をクリアの認定を受けています。以下、そのレビューです。 https://review.udacity.com/#!/reviews/444502/shared オンラインスクール「Udacity」のサイトです。 https://www.udacity.com/course/self-driving-car-engineer-nanodegree--nd013 なお、全てのコンテンツは英語での閲覧は可能ですが、日本語訳は提供されていません。 取得した全コースの修了証は以下です。 https://gyazo.com/10d20784acaa996da56da9df0c71c648

2016年/半年以内

Udacity 自動運転技術者養成講座 Self Driving Car Nano Degree(他に挙げた以外のポートフォリオ)

Self-Driving Car Engineer Nanodegree の受講過程で作成したポートフォリオを以下に掲載します。 【Semantic Segmentation による歩道の識別機能の開発】 https://github.com/vilion/CarND-Semantic-Segmentation/blob/master/runs/1511457599.9119644/um_000002.png https://github.com/vilion/CarND-Advanced-Lane-Lines/blob/master/CarND-Advanced-Lane-Lines.ipynb Neural network モデルの FCNNに道路が映った画像を学習させ、道路の範囲を識別する機能です。 【高速道路上での Path Planning に基づくレーン選択】 https://youtu.be/tslSMck71Z4 https://github.com/vilion/CarND-Path-Planning-Project 周囲の交通状況に対応したレーン選択をしながら高速道路を走行させる機能です。 【道路標識識別機能の開発】 https://github.com/vilion/Traffic-Sign-Classifier/blob/master/Traffic_Sign_Classifier.ipynb neural network に大量の道路標識の画像を学習させ、そのモデルを用いて、画像に映った道路標識が何であるかを識別させる機能です。 【PID 補正による車の安定したコントロール機能】 https://github.com/vilion/CarND-PID-Control-Project https://youtu.be/YqJxcb2hOpQ 車線を車に辿らせる際に、安定した、搭乗者に優しい挙動をさせるため、PID により補正した軌道を辿らせる機能です。

2013年/2年以内

オンライン大学の成績管理システム

オンライン大学の学生の成績を管理するための Web システムの開発プロジェクトでした。フロントエンドフレームワークを用いた SPA システムです。 開発規模は主な開発者が5名。全員がフロントエンドとバックエンド共に分け隔てなく開発しておりました。 言語は Python、Javascript、SQL です。Javascript はフレームワークとして、Backbone、Marionette、モジュール管理に RequireJS、Bower を使っていました。 こちらのシステムは Single Page Application として作成されておりました。 旧来の Web システムと異なり、UX 向上のため、ページの更新を行う際にはページ全体を止めて更新を行ったりはせず、非同期通信を行い、一部のみを書き換えるなど随所に工夫がなされたものとなっておりました。 また、そう言った複雑な UI の実装するため、データと view を分けることにより、保守性の高いソースになるよう、MVC フレームワークの Backbone とその発展系の Marionette を使用しておりました。これにより、仕様の変更への対応や、把握しやすいソースにより不具合の少ない実装を行うことができました。 また、Javascript を大量に使用しておりますので、ライブラリのインポート、管理などのため、grunt によるビルドタスクの管理、bower、requirejs によるパッケージ化などを行い、管理を容易にするよう努めました。 他にも、私の担当としては英語力を活かしてシステムの多言語対応を行いました。 Django の機能を用いて、データベース以外の部分は日英両方に対応させることができました。 また Selenium の導入なども実施いたしました。 このプロジェクトに参画するまで、私は主には Java によるバックエンドの開発を行っておりました。こちらのプロジェクトで初めて Python とフロントエンドの開発を経験しました。また Vim も初めて使いました。 Javascript の癖、他の言語にはないモジュール管理の仕組みなどに最初は戸惑いましたが、業務を続けつつ独学し、開発を行うことができました。 また、Git やテストコードが導入されておりました。これらも初めて経験いたしました。これらを用いることで、チームで共同して開発する中で、個々の開発の影響範囲をコントロールする仕組みを身につけることができました。

2015年/2年以上

Zabbix 風のシステム管理データ登録管理システム

システム保守を請け負う会社で使用している、保守に必要なさまざまなデータ(保守対象のマシン、アラートの間隔、アラート検出時の連絡先、CPU 稼働率グラフデータなど)を登録、管理する WEB システムの開発プロジェクトです。 フロントエンドフレームワークを用いた SPA システムです。 開発者が2〜3名、設計が1〜2名程度の規模のプロジェクトです。 使用技術は Java、Javascriptです。Java では Jersey を用いて Rest API を実装しておりました。 Single Page Application の Web システムです。 Javascript を大量に用いることで、画面の更新の際にページ全体の更新を行うことなく、一部のみを非同期通信を行って書き換えるといった UX への配慮がなされたシステムです。 また、そういった複雑な UI を実装するため MVC フレームワークの Backbone、Marionette を用いてビューとデータ、ロジックを切り離し、保守性の高いソースになるようにしておりました。 また、大量の Javascript のソース、ライブラリの管理のため Node、NPM、browseiry によるパッケージ化、grunt によるビルドタスクの管理などを行い、モジュールの依存などの管理が容易になるように努めました。 私が参画した当初は Git やテストコードもなく、誤った Backbone の使い方(モデルとビューの適切な使用がされていなかったり、モデルを使った不適切なデータのダウンロード処理)がされていたりしておりました。 少しずつ周りを説得し、まずはテストコードを導入して安全に修正を加えられるようにしてから、リファクタリング、レガシーコードの改善を行いながら、開発を続けました。 そうした経緯もあって、ライブラリの導入や GitLab の導入などを任されるようになりました。 今は丁度リリース前ですが、この時期になっていくつかの仕様変更を迫られましたが、あらかじめテストコードを用意してあったおかげで事なきを得られています。 アジャイル手法が功を奏した好例となりました。

マネージメント能力

アピール項目


アウトプット

GitHub アカウント
あり
Qiita アカウント
未入力です
Zenn アカウント
未入力です
Speaker Deck アカウント
未入力です
SlideShare アカウント
未入力です
特にアピールしたいアウトプット
あり

今後、身につけなければいけないと思っている技術は何ですか?

自動運転技術です。 自動運転で必要になる、画像処理、幾何、データサイエンス、機械学習、統計なども身につけていきたいです。

あなたが一番パフォーマンスを出せるのはどんな環境ですか?

業務に関わる人員が、生産性を上げることに関心を持っていることが重要です。効率を上げることを考えないと、無駄なことをしたりすることになります。

キャラクター

直近で一番やりたいこと
技術を極めたい
好きなスタイル
好きな規模
水とプログラミングどっちが大事?
自信を持って人より秀でていると言える点
学習能力 / 分析力
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
好きなプロダクトがある
やりたくない分野
SI / アダルト
その他の特徴
使用言語にはこだわらない / レガシーな環境を改善できる / 新しい技術はとりあえず試す
その他のやりたいこと・やりたくないこと

今は Web 系の開発職ですが、自動運転技術者になりたく思い、去年一年間、Udacity というオンラインスクールで Self-Driving car Engineer のコースで学習し、修了いたしました。こちらの分野に進みたいです。

【やりたく無いことについて】
軍事には関わりたくなく思っております。
軍事技術や兵器の開発をしているか、もしくは軍需産業、あるいは自衛隊含む軍関連との取引がある場合、お断りさせていただくことになります。

やりたい事

手を動かして設計してコードを書きたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
価値あるプロダクトを作り成長させたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
学び続けて技術力でプロダクトに貢献したい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
意義があることや社会に貢献できる仕事がしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
人や計画の調整・マネジメントをしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
レガシーなシステムの保守・運用・改善をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
企画や仕様を考えるところから関わりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
業務効率を改善して一緒に働く人のためになりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
全社横断的な共通基盤作りや強化をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
組織や文化を作る・成長させる仕事をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい

基本プロフィール

年齢
今年で40代中盤
好きな Text Editor
vim
希望勤務地
埼玉県 / 千葉県 / 東京都 / 神奈川県 / その他地域 / リモート勤務
家庭の事情や体調など、都合に合わせてリモート出来れば問題ない
希望年収
550万円
転職ドラフトに参加して
企業から指名を受け取ろう!
会員登録をして転職ドラフトに参加すると、参加企業から年収付きの指名を受け取ることができるようになります。
会員登録する
ご意見箱

要望、不具合報告、使いづらい点や感想など、お気軽にお寄せください。
いただいたご意見は、今後のサービス向上に活用させていただきます。

なお、このフォームは受付専用のため、返信を行っておりません。
返信を希望する場合はお問い合わせよりご連絡ください。

  • {{error}}
SIGN UPSIGN IN


転職ドラフトを友人や同僚に薦める可能性はどのくらいありますか?