• 締切済み

機械学習に詳しい人質問です。【初心者です】

機械学習に詳しい人質問です。【初心者です】 一般物体認識で冷蔵庫の中身を管理する機器を作りたいと思っております。 そこで、この食材はホウレンソウだ。これはネギだ。みたいに、認識するためには、それぞれの食材の特徴を一個ずつ認識させないといけないのですか?めちゃくちゃ大変ですよね。 どうすればいいのでしょうか。

みんなの回答

  • ques9900
  • ベストアンサー率34% (47/136)
回答No.5

私も全然門外漢ですが、 c/c++なら http://qiita.com/HirofumiYashima/items/6a5ef1d4b592c51eedba こちらっすかね。 めちゃくちゃ大変に思った詳細をお聞かせ頂けるともう少しよいかもしれません。 特徴データを自分で作成するのではなく、Deeplearningに学習させるのなら そこまで大変ではないと思っています。 なにぶん門外漢なので本当にそうなのかは解りません。 また、Deeplearningへの学習のさせ方の具体的方法もまだ調査していません。 https://github.com/yusugomori/DeepLearning のcppは少し読みましたが trainとコメントされている部分が学習させているところで testとコメントされている部分が識別したいデータと思っています。 画像データをどうインプットするのか具体的なところはまだ掴めていませんが 何か解ったらカキコして頂けるとすごく嬉しいです(笑) ではではご健闘を

全文を見る
すると、全ての回答が全文表示されます。
回答No.4

袋に入っていて、名称が書いてあれば、その文字を読めばよいと思います。 機械学習では難しいでしょう。

全文を見る
すると、全ての回答が全文表示されます。
  • yama1718
  • ベストアンサー率41% (670/1618)
回答No.3

大学や大企業などが何年も研究開発している事を簡単にはマネできないわね。 http://www.icr.co.jp/newsletter/news/2012/n201203.html http://mm.cs.uec.ac.jp/pub/conf11/120306maruyama_5.pdf http://www.i.ci.ritsumei.ac.jp/publication/2009/20090311_matsumoto_IPSJ2009_4T_6.pdf 現在の画像認識は結構進歩しているそうなのですが、それでもかなり大規模なシステムが必要みたいです。 なので、画像撮影や表示等の端末はスマホ等を利用して、ネット経由でサーバー機側で画像認識して判断させる方法が多いみたいです。 もし、そういう画像認識サービスが一般化して提供されれば、それを使えば誰でもそいう機器を開発できるようになるかもしれません。 そういう最新情報を知る為には、ITや家電関連の展示会や見本市などに足を運ばれる事を勧めます。

全文を見る
すると、全ての回答が全文表示されます。
  • Wap58
  • ベストアンサー率33% (29/87)
回答No.2

オブジェクト指向で面白い課題ですね 冷蔵庫の中身を管理するにもどうするか OSで無理矢理振る舞うか、ハードで手助けするか 認識装置や冷蔵庫の容量や吹き出し口の細かい方向など それぞれのクラスの負担をどうするかなど、また それぞれの素材を認識させて何がしたいのかで 目指すオブジェクトも変わります ハードがスーパークラスになると思いますが ソフトをスーパークラスにするとなると 相当、困難になります

全文を見る
すると、全ての回答が全文表示されます。
  • teppou
  • ベストアンサー率46% (356/766)
回答No.1

 はい、めちゃめちゃ大変です。  現在画像認識で、野菜の種類の判別などは十分できるレベルにあると思いますが、初心者に手が出せる物ではないでしょう。  参考になるかもしれないサイトの URL を貼付しておきます。  http://gihyo.jp/dev/feature/01/opencv/0001

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 冷蔵庫の残り物で作るゴハンってなにがあるの?

    料理自慢の人や節約上手な方がよく言う「冷蔵庫の残り物でごはんを作る」というのには、どんな料理があるのでしょうか? わたしは、ただの料理好きな人ですが、食材はいつもあまりなく買うので、「冷蔵庫に食材の残り物がある」という状況になかなかならないのです。 冷蔵庫にあるのは、味噌やしょうゆなどの調味料だし、冷凍庫にはアイスとか刻んだネギとか・・。 思いつくのは具ナシのチャーハンやスパゲティなど、ビンボウ臭さ漂うモノばかり・・。 それともみなさんは、冷蔵庫内にもしもの時のために常備している肉や野菜やらがあるものなのでしょうか? 冷蔵庫のサイズや家族構成にもよるものなのかな? 教えてください~~☆

  • 冷蔵庫が廃棄物製造所になってる

    たまに冷蔵庫の中身をチェックすると、食べられそうにないものが多数発見されます。 腐っているもの、カビが生えているもの、賞味期限がかなり前に切れているもの、スーパーで買った揚げ物が1週間以上入っていたり… 冷凍室は新しいものを入れられないほど常にギチギチで、ほぼ化石のようなものも発掘されます。 冷蔵庫の中以外でも、 「要冷蔵」でも常温で棚にしまい込む。 「直射日光を避け」でも日差しの通る薄いカーテン1枚の前に放置。 「(食材)と混ぜるだけで簡単に」といった○○の素を大量に買い込んで使わず賞味期限切れ。 買い物をしてくるのは妻です。 傷んだ食材の話をすると、不機嫌となり口もきかなくなってしまいます。 食材や冷蔵庫の中身などの管理一人で取り仕切らなければ納得出来ないようです。 「ダメだと思ったものは出しといて。捨てるから」と言われたことがあります。 自分は無理と思ったものを冷蔵庫内で避けてまとめていましたが、全部捨てずに残存したものもありました。 彼女の廃棄基準が判断できません。捨てると不機嫌になるので困ってしまいます。 そもそも、私が汚物となった食材を廃棄することでは解決になってません。 食材を無駄にしないためにはどうすればいいのか、ということも大事ですが… 彼女の食材に対する考え方を改善するにはどうしたら良いか、という点を質問としたいと思います。

  • 一般物体認識におけるC言語プログラミングについて質問です。

    一般物体認識におけるC言語プログラミングについて質問です。 現在、一般物体認識について勉強中です。Rob Hess氏がC言語で実装したライブラリを試しています。 論文などを読んで、SIFT特徴の検出と記述の大まかな流れはわかったので、プログラムを動かしてみようと思っています。 そこで質問なのですが、SIFT特徴の検出・記述の流れもプログラムから確認しようと思い、 例えば ・最初に検出する全キーポイント候補点を検出した段階の結果画像 ・局所領域の128次元の特徴ベクトルのキーポイントが持つオリエンテーション(128個の矢印)つき画像 などというように途中結果を視覚的に確認するためビルド結果として出力してみたいのですが、 Rob Hess氏のプログラムが私には複雑すぎて困っています。 どなたか助言を頂けると非常に助かります!よろしくお願いします。

  • iphoneのアプリで食材の管理

    iphoneのアプリで食材の管理 iphoneのアプリで食材の管理が出来るアプリを探しています。有料、無料、どちらでも構いません。冷蔵庫にある食材を記録して、その食材の残り(たとえばキャベツが半分残ってるなど)が一覧できるような機能があるアプリはありませんか? ストアで検索をかけても、いいのが出てこなかったので誰か知っている人教えてほしいです。

  • 冷凍庫の冷やし方

    いつもお世話になります。 冷凍庫の中身の詰め方についてお教えください。 一般の冷蔵庫に冷凍室があると思いますが(当方400ℓクラスの一般冷蔵庫です)我が家の冷凍室は、 扉を開けると中の物が倒れてきそうなくらいギッシリ中身が詰まっております。 何度も「詰めすぎると冷えないし、消費電力も増す」と女房に伝え、整理するように言うのですが、一向に改善されません。 先日も同様なことを言うと、女房が「冷凍庫はつめている方が冷える」「何かの本で読んだ」と言い張りだしました。 そこで、教えていただきたいのですが、一般の家庭用冷蔵庫に付属する冷凍庫で、中のものをギッシリ詰め込む方が冷えるのか、余裕を持たせて収納する方が冷えるのかご意見をお聞かせください。 なお、我が家の詰め方は、食材を都度冷凍用パック(ビニール)に詰めなおし、内壁からギッシリ詰まっております。 よろしくお願いします。

  • 学習リモコンでシーリングライトの点灯・消灯をタイマー管理できる?

    学習リモコンでシーリングライトの点灯・消灯をタイマー管理できる? 現在使用しているシーリングライト(パナソニック製 HHFZ5260)の リモコンにもタイマー機能がついてはいるのですが、 留守番機能用のタイマーとなっているため、設定した時刻 よりも数分間ずれた時刻に点灯・消灯されてしまいます。 また、タイマーをONにするためには、留守番機能を常時ONに しなければならないのですが、そうすると、点灯時に照度が 意図しない照度に変えられてしまいます。 今のところ、現在使用しているリモコンを学習リモコンに 取り替えることで、シーリングライトの点灯・消灯の タイマー管理ができないかと考えています。 実際のところ、シーリングライトの点灯・消灯のタイマー管理を 学習リモコンで行うことが可能かどうかが知りたいです。 学習リコモコンは主に複数のAV機器のリモコンを 1つにまとめるために使用するのが一般的と伺っていますが、 シーリングライトのようなAV機器以外の家電製品にも対応している 学習リモコンもあるのでしょうか? きちっと調べたわけではないのですが、もしかするとソニーのRM-AV3000U で実現可能なのではと思っているところです。 よろしくお願い致します。

  • レイプされやすい人

    レイプに関して質問があります。 レイプされる人に、何か特徴ってあるのでしょうか。 性格的なもの、服装とか、そういうのって 多分、統計学的に、何か出ていると思うのですが レイプというのは、どういう女性が遭いやすいのでしょうか。 世間一般的には、 露出の高い服を着ているとレイプされやすい、とか 夜道を歩いていると、レイプされやすい、という認識が あるみたいですが、 それが真実なのかどうか、が疑問です。 もし、何かそういったものがあるのなら 犯罪防止に繋がるかもしれない、と思います。

  • 機械メカニズムについて教えて頂きたい

    早速ですが 問題1 マシニングのツールチェンジの制御方法 一般的なマシニングのATC装置、例えば、50本工具収納の場合 50個のポット(マガジン)に近接か何かのセンサーが付いてるんですか? もし付いてるならそれを機械は どうやって、番号認識してるんでしょうか? 例えば、T1M6入力→ATCモータ起動→49番目のセンサー感知 →モーター減速→1番目のマガジンセンサ感知→停止後交換アーム作動 この原理だと思うのですが、T1と1番目のセンサーの制御仕組み をもう少し具体的に教えて頂きたい 制御に詳しい人、わかり易く解説よろしくお願いします

  • 初心者です:HDD落下

    PC及びHDD初心者です。 今夜5歳の息子がテーブルから外付けのHDDを落とし、衝撃でケースが開き、中身が飛び出るという事件がありました。慌ててケースに入れ直して起動してみたところ、フォーマットされていませんとの表示が出ました。これはもう壊れてしまったということでしょうか?1,5TのHDDですが、容量1,35となっていました。携帯で調べたところ、業者さんにお願いすると、とてつもなく高額な費用がかかるようで、我が家にはとてもじゃないけど無理な話です…。 HDDは3ヶ月程前に購入したばかり(バッファロー)で、中身は子供達の写真が結構な量入っていました。写真なだけに、とても大事にしていた為、精神的に物凄くショックを受けています。HDDに移す前はずっとPCで管理していましたが、移動してしまったわけですから、PCから取り出すなんてのももう無理ですよね…? もうどうすればよいか途方に暮れており、ショックで寝付けません…。 HDDには一回起動してみただけで、それ以来怖くて触っておりません。 どうかこのような機械関係にお詳しい方、何か良い方法はないでしょうか?教えてください。

  • 【python】機械学習(教師あり)画像認識にて

    調べてもどうしてもわからない部分が有り すいませんが質問させていただきます。 【目的】 薬品容器を認識して容器の数を数えたい。 ※機械学習(教師あり)にて容器の認識をしたいと考えております。 モデル学習する前にデータセットとして 薬品容器のアノテーション作業をLabelMEというツールで 容器のアノテーションを行い、ラベル付けしてjsonファイルにて保存しました。 (デスクトップの機械学習というフォルダにjsonファイル入れています。) 【質問】 このデータセットというのは アノテーションした後のjsonファイルのみあれば モデルの学習はできるのでしょうか? モデル学習のコードを組んでみたのですが エラーが出てしまい具体的には、アノテーションデータに 'image_path' が存在しないとの事でした。 ・画像データが欲しいってことですか?  この場合jsonファイルと元画像jpegがあればモデルの学習が  出来るのですか? 実行時 Loaded dataset from 133 JSON files. Total samples in the dataset: 0 と出るので、データセットの中身が0と出ているような気がします。 コード一応貼ります。 import os import json import cv2 import numpy as np from sklearn.model_selection import train_test_split from tensorflow import keras from tensorflow.keras import layers from tensorflow.keras.applications import VGG16 from tensorflow.keras.preprocessing.image import ImageDataGenerator # データセットのパス json_folder_path = r'C:\Users\Desktop\機械学習' # データセットの読み込み def load_dataset(folder_path): dataset = [] for filename in os.listdir(folder_path): if filename.endswith(".json"): file_path = os.path.join(folder_path, filename) with open(file_path, 'r') as file: data = json.load(file) dataset.append(data) # appendを使用してリストに追加 # アノテーションデータを表示 print(f"Loaded dataset from {len(dataset)} JSON files.") return dataset # データセットの整形 def preprocess_dataset(dataset): images = [] boxes = [] for data in dataset: # 'image_path'が存在する場合のみ処理を行うように修正 if 'image_path' in data: image_path = data['image_path'] label = data.get('label', None) # 'label'が存在しない場合はNoneを返す box = data.get('box', None) # 'box'が存在しない場合はNoneを返す if label and box: image = cv2.imread(image_path) # OpenCVを使用して画像を読み込む images.append(image) boxes.append(box) return np.array(images), np.array(boxes) # データ拡張の設定 datagen = ImageDataGenerator( rotation_range=20, width_shift_range=0.2, height_shift_range=0.2, shear_range=0.2, zoom_range=0.2, horizontal_flip=True, fill_mode='nearest' ) # メインの実行部分 if __name__ == "__main__": # データセットの読み込み dataset = load_dataset(json_folder_path) # データセットの整形 images, boxes = preprocess_dataset(dataset) # データセットのサイズを確認 print(f"Total samples in the dataset: {len(images)}") # 訓練データとテストデータに分割 X_train, X_test, y_train, y_test = train_test_split(images, boxes, test_size=0.2, random_state=42) # データ拡張を適用 for i in range(len(X_train)): img = X_train[i] box = y_train[i] img = np.expand_dims(img, axis=0) box = np.expand_dims(box, axis=0) for j, (img_aug, box_aug) in enumerate(zip(datagen.flow(img, box), datagen.flow(box, box))): if j == 1: # 1回目のデータ拡張だけを適用 X_train = np.vstack((X_train, img_aug)) y_train = np.vstack((y_train, box_aug)) break # モデルの構築(VGG16を利用した転移学習) base_model = VGG16(weights='imagenet', include_top=False, input_shape=(224, 224, 3)) base_model.trainable = False model = keras.Sequential([ base_model, layers.Flatten(), layers.Dense(256, activation='relu'), layers.Dense(4) # 出力層のノード数は物体の座標情報による ]) # モデルのコンパイル model.compile(optimizer='adam', loss='mean_squared_error') # モデルのトレーニング model.fit(X_train, y_train, epochs=10, validation_data=(X_test, y_test)) # テストデータでの評価 test_loss = model.evaluate(X_test, y_test) print(f"Test Loss: {test_loss}")