Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.06.02;
Скачать: [xml.tar.bz2];

Вниз

Кто сталкивался с нейронными сетями, помогите с алгоритмом   Найти похожие ветки 

 
Signal   (2012-11-01 17:19) [0]

Задача такая, распознать цифры с картинки (не капчта)
конкретнее, определить какой используется шрифт
скажем есть картинка, 7 на 11 пикселей с цифрой 5

есть список шрифтов,
1 вопрос сразу (как мне на канву битмапа отформатировать вывод текста по текущему шрифту, чтоб вписать его в эти 7 на 11 пикселей?) TextRect все равно на разных шрифтах выводится по разному, никак не въеду

смысл такой,
в нейронку (компонент NeuralNetHopf) заносятся по одному символу из каждого шрифта, далее по опорному нахожу максимальный вес, это и будет мой шрифт

поправьте, если это не так
уже башку всю сломал
(вариант просто распознать по пикселам мне не подходит)


 
Signal   (2012-11-01 21:23) [1]

Определяется гут, все работает, но как наученным данным присвоить какой-то идентиикатор? Хрен пойму, в output определяет нормально, только хрен пойму как присвоить значение этому оутпут

т.е. может не так выражаюсь

есть Нейрон возвращает, что это 2 (в пикселах рисую на выходе)
как в этом кампаненте при учении записать что это цифра 2?

Компанент NeuralNetHopf


 
Signal   (2012-11-01 22:03) [2]

что-то я вообще запутался блин.
Чем больше добавляю данных, тем тупее происходит распознавание


 
QAZ5   (2012-11-01 22:10) [3]

Удалено модератором


 
Signal   (2012-11-01 22:45) [4]

что за народ?

>>QAZ5  
тебе своего времени не жалко?


 
Rouse_ ©   (2012-11-01 23:01) [5]


> Signal   (01.11.12 22:45) [4]

Жаль не могу помочь, но ты даже не представляешь какую ты идею мне подкинул своей веткой :)
За это спасибо.
А на QAZ-а не обращай внимания, мы его контролируем (периодически ;)


 
Signal   (2012-11-01 23:32) [6]

тоже приятно, что не зря написал сюда)))


 
Signal   (2012-11-02 01:31) [7]

народ одзавитесь, кто юзал NeuralNetHopf
пример, что идет с ним нихера мне не помагает!
там демо нужно к демо


 
Германн ©   (2012-11-02 02:17) [8]


> Signal   (02.11.12 01:31) [7]
>
> народ одзавитесь, кто юзал NeuralNetHopf
> пример, что идет с ним нихера мне не помагает!

Ты не кричи. Ты лучше скажи, что у тебя не получается с этим самым NeuralNetHopf. Может кто-то и поможет.


 
Signal   (2012-11-02 02:48) [9]

или ума или входящий данных не дохват или то или то
не пойму как там
делаю так

NeuralNetHopf1.ResetPatterns;

Заполняю по шрифтам
bitmap канвас любой цифрой, допустим 5

потом


заполняется GridFont (TgridString для вида)

SetLength(xVector, 0);
for h:=0 to heR-1 do begin
for w:=0 to wiC-1 do begin
SetLength(xVector, length(xVector)+1);
  IntData:=StrToInt(GridFont.cells[w, h]);
  if IntData=1 then IntData:=1 else IntData:=-1;
  xVector[length(xVector)-1]:=IntData;
end;
end;
NeuralNetHopf1.AddPattern(xVector);
end;//===заполнерния фонтов 1 цифры
NeuralNetHopf1.InitWeights;

//=====
Далее идет распознавание
----Заполнение картинкой которую нужно определить
 NumVector:=0;
   for h := 0 to heR - 1 do begin
   for w := 0 to wiC - 1 do begin

      IntData:=StrToIntDef(GridOpor.cells[w, h], 0);
      //GridOpor.cells[w, h]:="5";

     // ViewMessage(IntData);
     NeuralNetHopf1.Layers[0].Neurons[NumVector].Output:=IntData;
      NumVector:=NumVector+1;
      end;
 end;

 NeuralNetHopf1.Calc;

NumVector:=0;

//=======Вывод получаецо то шо ввел, а не то, что должен распознавать
   for h := 0 to heR - 1 do begin
   for w := 0 to wiC - 1 do begin
      if NeuralNetHopf1.Layers[0].Neurons[NumVector].Output = 1 then
      GridOK.cells[w, h]:="1" else GridOK.cells[w, h]:="-1";
      NumVector:=NumVector+1;
 end;
 end;
end; NumVector:=0;

// NeuralNetHopf1.Layers[1].Neurons[NumVector].Weights[1]
// ViewMessage(NeuralNetHopf1.Layers[1].Neurons[NumVector].Weights[7]);

 ListBox1.Items.Clear;
//NeuralNetHopf1.Layers[1].Neurons[NumVector].ComputeOut();
   for h := 0 to heR - 1 do begin
   for w := 0 to wiC - 1 do begin
     //ViewMessage(NeuralNetHopf1.Layers[1].Neurons[w*h].Output);
      if NeuralNetHopf1.Layers[0].Neurons[NumVector].Output = 1 then
      GridOK.cells[w, h]:="1" else GridOK.cells[w, h]:="-1";
      //NeuralNetHopf1.Layers[1].Neurons[NumVector]. //StrToIntDef(GridFont.cells[w, h], 0);
//       NeuralNetHopf1.Layers[1].Neurons[NumVector].Output := IntData;
//       ListBox1.Items.Add(IntToSTr(NeuralNetHopf1.Layers[1].Neurons[NumVector].Weights[ NumVector]));
      NumVector:=NumVector+1;
 end;
 end;

//ps если кто может или заинтересован хотябы помочь, могу скинуть исходники



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2013.06.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.003 c
2-1351775945
Signal
2012-11-01 17:19
2013.06.02
Кто сталкивался с нейронными сетями, помогите с алгоритмом


15-1358837720
ПЛОВ
2013-01-22 10:55
2013.06.02
Как правильно работать с таким потоком?


2-1351748364
braza
2012-11-01 09:39
2013.06.02
потоки->логи


15-1358177509
ES
2013-01-14 19:31
2013.06.02
Работа с внешним консольным приложением


15-1359391746
Медвежонок Пятачок
2013-01-28 20:49
2013.06.02
Формат пакета TClientDataSet D7 и XE2





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский