私はニューラルネットワークを使って少しプロジェクトをやっています。私は数字認識について、MNISTのデータセットを読んで、同じデータセットを作ることができるかどうかを考えましたが、毎日見ている通常のオブジェクトを考えました。 ここにアルゴリズムがあります(もしそうなら): すべてはpythonのopencvライブラリで行われます 1)イメージから等高線を取得してください。これは文字通り輪郭ではなく、そういうものです。画像にあるものを確認する
def findContour(self):
gray = cv2.cvtColor(self.image, cv2.COLOR_BGR2GRAY)
gray = cv2.bilateralFilter(gray, 11, 17, 17)
self.image = cv2.Canny(gray, 30, 200)
2)トレーニングセットを作成するには、次の必要性: は、私はこのコードでこれをやりました。 このメッセージをコピーして編集します。回転を変えて反転する - 回転した輪郭からなる約40枚の画像が完成しました。 3)今私はこのイメージをCSVファイルにダンプするつもりです。 これらの画像は3D配列として表されているので、numpyから.flatten関数を使用して画像を平坦化します。次に、このフラット化されたベクトルは、最後の文字としてラベル付きでCSVファイルに書き込まれます
これは私がやったことです。 次に、最後の要素を入力xベクトルとして、最後の要素をyベクトルとしてすべて使いたいと思います。 (hereのように)
認識は同じ方法で行われます:画像の輪郭を取得し、それをニューラルネットワークに送り、出力はラベルになります。
試してみることもできますか?
_それは機能しますか?_いいえ、本当にあなたは時間を無駄にしています。代わりにオブジェクト認識とそのテーマに関する最新の論文を読む。輪郭を抽出するだけではなく、もっと難しい(興味深い)ことを学びます... – Miki
私は同意しません。現在の論文を読まないでください、他の方法よりはるかに混乱します。 Googleの "オブジェクト認識ニューラルネットワークチュートリアル"、またはそれらの行に沿って何かを見ることができますあなたが見ることができる多くのチュートリアルを見つけるでしょう! –
@Christopherおそらく、私は簡単に始めてみましょう。オンラインチュートリアルを見てから、おもちゃの問題よりも意味のあることをしたいときは、新しい論文や最先端のアプローチを見てください。 ; D – Miki